README (1166B)
1 GOAuth 2 3 GOAuth is a fabric plugin which adds an authentication limbo 4 for players that are not registered or connecting from a new 5 IP address. 6 7 The authentication limbo is a stripped down connection that 8 lets the user join, sends him a fake empty world and a message 9 saying he should authenticate. It then proceeds to ignore the 10 user to limit the resource usage. 11 12 A socket is open on a port specified in goauth.properties 13 (default 8001). The socket communicates with this protocol: 14 client> send 4 bytes (int) indicating the payload size 15 server> 0x00 if size is small enough, 0x01 if not 16 client> sends 12 byte nonce for ChaCha20-Poly1305 encryption 17 client> sends $size bytes of encrypted payload with pre-set key 18 ex. 1: [{"type": "update", "username": "bain"}] 19 ex. 2: [{"type": "remove", "username": "bain"}] 20 server> 0x01 if the payload is invalid, 0x00 if the transaction 21 was successful 22 23 The socket allows a remote server to authorize a player's IP. 24 This plugin can work as a whitelist since the remote server 25 can allow only certain people to register. The plugin itself 26 is not capable of authenticating users.