The server crashes without warning when certain data is
sent to it, eg. via telnet.
For example, a user logging in incorrectly via telnet
might issue a command to the server:
LGN:::\n
The command parser attempts to interpit this command,
but due to its non-standard nature, the data causes the
command parser to try to read data from a null memory
address (as far as I can determine). This is a really
problematic bug, because at present the game client(s)
and server monitor, as well as telnet cannot be relied
on to always send correct commands. As well as this,
any user who wishes to purposefully take the server
down really should have no difficulty at all in doing so.
The function player::parse_commands (found in
player.cpp) needs to be either fully re-written or
altered, in order to fix this bug.
Logged In: NO
Your doing a few things exactly how i did it before.... i find it
better to have a format like this command1stvar 2ndvar
ETC ETC .. All commands have a funny character,this
gives you up to 255 commands using a single character
each... or some commands could ofcourse require multiple
ones... always have a end of packet then u can strcspn
searching for that,make sure its not over ur max packet
length,then sscanf and checking the return value to make
sure its correct,also u can easily change to a \0 for easy
use with standard library functions... remember to always
check for funny characters within strings that should not
contain them .ive already printed em all out so here they
are in char->int format a-z 97-122 A-Z 65-90 1-9 48-57.
Anyways hope some of my babble is atleast remotely
useful,your project looks intresting i was considering joining
but mine is to my likeing and its designed alot
diffrently ,and i prefer allegro over sdl as well :)
I wish you luck though