>   So since it can't save the file, it doesn't change the data, and thus,
> when you log back in again, it loads your old file, hence, you get back
> your old equipment, while the other guy keeps what he has.  Is that
> right?

Right.. or else you forget to check the file pointer after fopen and the game 
crashes... which also allows people to duplicate eq.
Checking for multiple connections from the same IP is a good start, but 
doesn't save you from DDOS.  So basically, the only valid options if you want 
to be safe are separating your socket and system file descriptors by thread 
(relatively difficult) or keeping a null file descriptor open (relatively 
simple).

Actually, i"ve got file_open and file_close functions that handle the null 
pointer, write the files to tmp location then copy it to the correct 
location.  Doing this helps always remember to use the null file descriptor, 
and using a tmp file helps prevent file corruption if you crash while saving 
something.
It's fairly simple, but maybe I can post some code if anyone's interested..

--Mike.

Reply via email to