TA3D NetServer
Posted: Sun Mar 15, 2009 1:48 am
What is it ?
TA3D NetServer is the new server that will handle global chat (with separate channels, etc...), update notifications, user accounts, mod services, stats, ...
Ok nice, but how does it work ?
I began writing a Lua NetServer (yes it's written in Lua, no it doesn't require all the server CPU resources ...) based on luasocket and luasql.mysql . Currently there is only the netserver and a small command line client in Lua I wrote to test the protocol.
For now it doesn't support much of the planned features, only basic ones:
* you can register a new account
* you can log in/out (disconnecting log out too)
* admins can kick/ban/unban/kill (but not self kill), beware that kill is definitive (account erased)
* you can get the list of all connected clients
* you can send/receive messages to/from other clients
* server can send general purpose messages (update notifications, kick/ban/kill messages) as well as error messages
* server sends an update notification if needed when connect and send your client version
So basically, the core is working. You can test it using the command line client (in the subversion repository netserver/netclient.lua) and connecting to my server:
PS: beware passwords are not encrypted yet !! (they will be as soon as there is a client supporting encryption :p, but for now it's easier this way when testing)
TA3D NetServer is the new server that will handle global chat (with separate channels, etc...), update notifications, user accounts, mod services, stats, ...
Ok nice, but how does it work ?
I began writing a Lua NetServer (yes it's written in Lua, no it doesn't require all the server CPU resources ...) based on luasocket and luasql.mysql . Currently there is only the netserver and a small command line client in Lua I wrote to test the protocol.
For now it doesn't support much of the planned features, only basic ones:
* you can register a new account
* you can log in/out (disconnecting log out too)
* admins can kick/ban/unban/kill (but not self kill), beware that kill is definitive (account erased)
* you can get the list of all connected clients
* you can send/receive messages to/from other clients
* server can send general purpose messages (update notifications, kick/ban/kill messages) as well as error messages
* server sends an update notification if needed when connect and send your client version
So basically, the core is working. You can test it using the command line client (in the subversion repository netserver/netclient.lua) and connecting to my server:
Code: Select all
./netclient.lua netserver.ta3d.org
> CLIENT my_client_version
> REGISTER login password
or
> LOGIN login password
available commands are:
> GET CLIENT LIST (you'll have to hit enter to read server messages)
> SEND user message