Author Topic: Spawnkill Protection System  (Read 4482 times)

mRokita

  • Autococker
  • Posts: 598
Spawnkill Protection System
« on: December 29, 2014, 03:29:50 PM »
Hey!
I've just written a new server mod using my smart Python library, pypb2lib (https://github.com/hTmlDP/pypb2lib/).
It should prevent spawnkilling on the speed servers
How it works?
It detects spawnkills, and counts them.
If some guy spawnkills more than SPAWNKILL_LIMIT times, he is kicked from the server. Spawnkill count is cleared 30 seconds after the last spawnkill.
Spawnkill = kill in SPAWNKILL_TIME / SPAWNKILL_TIMES after a respawn[map]
To install it and learn the commands, read the readme file: https://github.com/hTmlDP/SPS/blob/master/README.md
You dont have to type any password to log in as admin - authentication is based on the global login system.
To get a complete list of the available commands, type !help in chat
CPU usage is 0 % on my VPS- it opens the log file then reads the incoming lines without opening and reading the whole log file again
« Last Edit: December 30, 2014, 06:39:21 AM by hTml »

prozajik

  • Autococker
  • Posts: 761
Re: Spawnkill Protection System
« Reply #1 on: December 29, 2014, 08:31:15 PM »
While that's nice and all, this won't most likely get implemented to speed servers. Like 90% of speed server population is basically newbies who want to spawnkill everyone all the time. People would just stop coming to the speed server and go to some other, which doesn't have this (by people i mean speedstars obviously). Mainly because getting kicked is an inconvenience, which can be avoided by switching other server.

What i think would make more sense, would be just ending the round as soon as you detect signs of spawnkilling. I am not sure if this could be implemented using the same method you used (or if it could be implemented at all), but this way you stop spawnkilling from happening and remove the easy way how to get 'good' score.

I think that what i suggested is the only 'non-violent' way to work around spawnkilling. By violent i mean kicking someone, which people would never appreciate. Spawnkilling isn't in sense wrong, yea its annoying, but its how the game works, you can't just kick someone for using the game mechanics to their advantage. Another possible solution might be to just kill the person who gets detected as 'spawnkiller'.

PS:One major flaw i see right now, is how do you deal with multiple spawnkillers. The way speed server works is that if one guy spawnkills, others will follow. They can get easily to the spawn, because one guy is spawnkilling some people. Server would just fill chat with warning messages, making them casual and not worthy reading. Especially for newbies on speed, who don't even know how to use chat for anything else except for "OMG LAG", "TEAMS" or "prozajik hacker".
I had troubles reading messages for just one guy you posted above (mostly message STOP SPAWNKILLING), doubt anyone will be able to follow messages like that for 4 guys.
Fix:Write only 1-2 messages for everyone.

pvtjimmy

  • Committee Member
  • Autococker
  • Posts: 2098
Re: Spawnkill Protection System
« Reply #2 on: December 30, 2014, 05:34:48 AM »
I agree kicking will be too harsh in most cases. In stead of ending a round, you might also consider just killing the spawnkiller. This way he has to start in his own base and the sides are even. I imagine this might need a gameside fix though.

xrichardx

  • 68 Carbine
  • Posts: 295
Re: Spawnkill Protection System
« Reply #3 on: December 30, 2014, 06:07:47 AM »
Instead of punishing spawn killiers, why not try to make spawn killing less possible by re-arrangnig the spawn points all around the base? Most of the time, before spawning, you will know whether people are in your base and where they are because you will see that when you are dead. You already have a small advantage over them. The only way they can compensate for that is lining through the spawnpoints or throwing nades at them. If they can't line through them because they are not aligned / at one spot, players who play this game a little longer will spawn, realize where they have to look and easily kill them.

So, IMO, this is the way to go: http://dplogin.com/forums/index.php?topic=26849.0

ic3y

  • Committee Member
  • Autococker
  • Posts: 1398
Re: Spawnkill Protection System
« Reply #4 on: December 30, 2014, 06:23:37 AM »
Nice job, but with sv_login 0, your admin system wont work.

mRokita

  • Autococker
  • Posts: 598
Re: Spawnkill Protection System
« Reply #5 on: December 30, 2014, 06:35:08 AM »
Nice job, but with sv_login 0, your admin system wont work.
Thanks :)
I can make it ip-based since pypb2lib already has a function for getting IPsbut some people dont have a static ip. Does anybody host a server with sv_login 0!?
@xrichardx: well, it works well on maps like darkages where its hard to line the spawnkills (with !maptime 3 ofc)
@pvtjimmy: ive asked jitspoe for making some command like a version of the viewgib comnand for the server console.

omni

  • 68 Carbine
  • Posts: 319
Re: Spawnkill Protection System
« Reply #6 on: December 30, 2014, 05:56:15 PM »
Wow I should actually read the topic.

Richard is right those .ents worked well.

ic3y

  • Committee Member
  • Autococker
  • Posts: 1398
Re: Spawnkill Protection System
« Reply #7 on: December 31, 2014, 04:10:47 AM »
Thanks :)
I can make it ip-based since pypb2lib already has a function for getting IPsbut some people dont have a static ip. Does anybody host a server with sv_login 0!?
Prozak Servers run with sv login 0.
Just deactivate your script, if the server runs with sv login 0. 1 should be standard.


mRokita

  • Autococker
  • Posts: 598
Re: Spawnkill Protection System
« Reply #8 on: December 31, 2014, 06:26:55 AM »
Prozak Servers run with sv login 0.
Just deactivate your script, if the server runs with sv login 0. 1 should be standard.


It works with sv login 0, it just doesnt support administration then ;).