goauth

Fabric plugin for enhanced whitelists
git clone git://git.bain.cz/goauth.git
Log | Files | Refs | README | LICENSE

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.