Closed fireblizzard closed 5 years ago
May be related to #8 which was initially thought to happen because of bad map design, but doesn't seem crazy now to think that is the same problem as this or that the problem's root is the same.
Noticed that there are some .ini files created for maps where the bug was abused. They were created and modified at the time that the bug was abused, while I was viewing the server console and as spectator ingame. The .ini contains a default start position for that map. So clearing your start position would set it to the map's default start position, which in the case of the bug-abused-maps I checked that it's exactly next to the end button, so it's quite easy to abuse it. You could say that deleting the .ini files or setting the default map position to another place near the start would do the trick to solve this, but... how the fuck were these .ini files created if they're only created when an admin writes kz_setstart
(users without privileges can't use it)? Right now I can't see how's that possible, I would consider that someone got access to the server somehow and placed those .ini files there, but seems unlikely as the first abuse time was just 1 second after the creation date, looks like it was created by the plugin as consequence of commands sent ingame.
Something that catches my attention is that the first abuse by bkmz was done at the same time I opened the server console from a terminal. Doesn't seem to be related, but who knows. I didn't type anything weird in the console, just status
and stats
to see how's the server doing.
I will probably fix this after I wake up tomorrow by reseting the timer when teleported to a default checkpoint, but I'm really worried about something being really wrong within the plugin, AMXX or the server. It shouldn't be possible for a user to skip/hijack admin flags and get access to an admin command, it's crazy.
Also I checked the logs at the time of bug-abuse and didn't see anything weird, no plugin errors, just chat messages.
There seems to be some combination of commands (
/start
,/respawn
,spectate
) that lead to being able to save the start position at the end button, so starting the timer and saying/start
teleports to the end button.