> 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.

