This content may be freely modified and/or maintained by anyone.


Krew, MS sysop, gay robot, horns
You should probably read this.

Utilities for dedicated servers. Stop syncfails, display information to players, improve stability, script random or scheduled events, allow command voting, check for custom button bindings, more visible admin messages...a bunch of stuff.

All features are off by default. You control what the script does.

Documentation moved to since everything about this forum bothers me. Check there for full features and configuration.

(SPB Attack is no longer included in HOSTMOD. It's being rewritten at the moment, but a legacy standalone download is provided for those interested. Relevant cvars are "spbatk", "spb_timeout", "spb_waitmsg", and "spb_plugmsg".)

Supporters / Co-Authors:


  • mb_please_take_my_image.png
    254.2 KB · Views: 1,905
  • KL_SPBAttack_Legacy.pk3
    1.2 MB · Views: 1,538
  • KL_HOSTMOD_V14-2.pk3
    66.6 KB · Views: 934
Last edited by a moderator:
Although I have not been able to fully test this myself, I feel confident in letting this into releases after seeing your server at work. My only question; is this Kart only? I put it in Kart releases for now, but if it is compatable with Vanilla SRB2, I'd like to put it int hat section instead. It seems only Encore Mode options are Kart specific?
I marked it as Kart because I can't guarantee it wouldn't blow up in vanilla SRB2, but as long as p.cmd.latency is exposed and exit conditions work the same, it could potentially work there as well? Encore mode stuff shouldn't even visibly error, since it just attempts to set the cvar as server. Might test at a later date, though it's not a priority for me right now. If anyone else feels like giving it a run, report back?

Update: IntermissionThinkers make most of these scripts vanilla-incompatible, and p.cmd.latency isn't exposed in vanilla SRB2. Unlucky.
Last edited:
V2 is out, adds some configuration options for the joinbug handler. GANBARE, RACE DX
V4 is out, includes a few minor fixes. The nature of Joinguard makes it impossible to preemptively prevent all abuse, but this should significantly mitigate it, so normal play can continue without the host intervening.

(I really should have seen this coming.)
V5 is out, includes two features intended for Race+Battle servers and some SPB Attack changes:

- You can now cancel SPB Attack and return to freeplay by holding Brake during the countdown.
- Distance tracking now takes the SPB's physical extent into account.
- Various HUD alignment fixes.
- Closest Call "blue star" threshold made more lenient—it was previously impossible on a large number of courses.
- Peril "blue star" and "red star" thresholds made significantly more lenient—they were previously impossible almost everywhere and unnecessarily annoying, respectively.
Hello, i am currently mad at this mod, because the cancel method isn't working anymore, In fact, the message for how to do it dosen't show up anymore, either.
Hello, i am currently mad at this mod, because the cancel method isn't working anymore, In fact, the message for how to do it dosen't show up anymore, either.
Cannot reproduce. Check which version you're running?
V6 released. Includes MOTD Banner, Alternate Powerup Warnings and Restat. Also includes SPB Attack bug fixes and Expert Mode nerfs on high lapcounts.

Restat is probably the weirdest addition here—inspired by Lucario's Engine Swap, but designed according to my personal neuroses, it's a bit of a stretch to call it "QoL for dedicated servers". However, I see this hosted enough on highly modded servers (most of which use HOSTMOD) that I figured my own implementation could give them back a file slot—Lucario's implementation is marked as non-reusable and forbidden in repacks, plus repacks suck anyway. I also just really like the concept and wanted to try my own take.

There's enough of a difference between the two that neither replaces the other; Engine Swap has extremely in-depth help text, a different stat input format, and allows hosts to unlock the stat range to set "impossible" stats. Restat doesn't have any of these things—it's very lean, so if you're already comfortable with Engine Swap you can leave it off and let Engine Swap do its thing. Its primary gains are full replay support and slightly better conveyance for stat changes, since by default the server is notified when you switch stats—this isn't a perfect solution, but should marginally reduce the number of times you get power-bombed by a 9/9 Tails.

This is a bunch of new stuff, and while it's been tested a lot, it's only been tested inhouse. Let me know if you run into issues, and thanks for reading.
Last edited:
When loading HOSTMOD from either the main menu (through the console) or through the addons menu, the game will throw a warning that the file has errors. After checking console it shows a warning saying:
WARNING: ./DOWNLOAD/KL_HOSTMOD_V6.pk3|lua/neomotd.lua:74: attempt to index global 'server' (a nil value)
Starting a server after this error occurs seems to run HOSTMOD like normal but the MOTD will not display (even after turning on hostmod_motddebug and changing map)

Here the window on the left is the server, while the window on the right is connected though localhost. The MOTD does not display on the server but is displayed on the client.

In this image, i have loaded HOSTMOD while inside the server instead of on the main menu, the MOTD displays like normal.
Thanks for this, didn't test under those conditions because I'm always hosting dedicated. Uploaded a quick hotfix.

E: "KL_HOSTMOD_V6-dumbidiotfix.pk3" contained an extremely unfinished feature that wasn't intended to be in release—this is what happens when you update right before bed. My apologies to Super and anyone else who had it misfire on them—that will be coming back later, when I've actually finished programming more than a quarter of it. "KL_HOSTMOD_V6-superiscoolactually.pk3" is the fixed version, linked above.
Last edited:
HOSTMOD seems to conflict with elimination. When either is loaded after the other the game crashes with this error:


  • Elim+HOSTMOD.png
    7 KB · Views: 9,748
This is a base game bug. It could be temporarily patched over if either variable were renamed, but it's not an actual fix, and I'm sort of conceptually against playing wack-a-mole with this type of thing—another conflict will eventually show up regardless, and it puts me on the hook for resolving every conflict of this nature with every mod that is ever created.

I think there's a workaround I can employ without breaking configs, but man is it ugly. I'll decide what to do about this by next release.
Last edited:
Last edited:

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)