Hi all, I'd like to announce a project that I've been working on lately. Currently a lot of the online multiplayer aspect of W:A depends on WormNET, and especially after the last service outage from about a week ago, it seemed clear that we as the game's community need more control over WormNET.
For this purpose, I've been working on a new WormNET server. The software is based on MyWormNET2, but is fully "decked out" with all the functionality currently running as bots on Team17's WormNET:
-
HostingBuddy: Fully integrated. Though it's not in the user list, `!host` and `/hb host` work as usual (though only you see `!host` commands, instead of everyone on the channel). Hosted games appear as hosted by "WormNET" instead of "HostingBuddy".
-
WebSnoop: Fully integrated. Sent messages appear as being sent directly by the entered nickname instead of the "WebSnoop: YourNickname>" surrogate as on Team17 WormNET.
-
ChanServ/SheriffBot: Integrated - instead of kicking people, flood is just blocked automatically.
Most importantly, having control over the WormNET server would allow us to reap benefits that were inaccessible before:
-
Stability: We currently depend too much on Team17 to keep things working, who sometimes have very limited resources in how they can aid us. The current setup is very fragile due to a lot of accumulated legacy, which is why there are still occasional days when HostingBuddy etc. aren't available. This is solved by running our own entire WormNET server, instead of trying to integrate with Team17's legacy systems.
-
Capacity: The new server software does not suffer from the artificial limits inherent to Team17's WormNET, which caused everything to fall over / explode violently during activity spikes (such as whenever a popular streamer visits our humble abode).
-
Channel list: We can customize the list of channels as needed, e.g. creating special / temporary channels for events or leagues.
-
News box: This can finally be used to communicate important news directly to everyone who plays W:A online.
-
Better moderation: We have had occasional trouble dealing with stalkers / griefers on WormNET due to the limited moderation controls we've been provided.
Additionally, ideas such as the following are now possible and can be added in the future:
-
Better Web Snooper: We will be able to add more features and make it more like a full-featured snooper, e.g. gain the ability to send and receive PMs.
-
Better bridges: Bridging between platforms such as IRC or Discord, with e.g. bridged messages appearing as sent from the respective nickname directly, instead of from a bot
-
Integrated WormNAT: Having the server provide and advertise a hosting proxy would mean that we could just add a "Host via WormNET server" checkbox in the game.
-
Logins: Authentication and registration with proper reserved nicknames
-
Ranks!? Though there's a lot more to competitive play, this will at least allow us to start thinking about this more seriously, whether it's something that we want to build from scratch or integrate with existing systems such as TUS.
So, what's the way forward?
-
Testing: A test deployment of the server software has already been added to the community server list, as "Community Staging Server". I invite you to try it out, test its limits, and break it if you can (please report bugs or anything unpleasant to #bug-reports).
-
Further development: See the list above. Other ideas welcome; I know that other people have built and run their own WormNET server software, so it would be interesting to learn of their ideas and experience in doing so.
-
Migration: Once we're happy with the new server, and in agreement that it's at least not worse than the Team17 one, we should probably make an effort of migrating the community over to the new one. At some point after the live community server goes online, services running on Team17's WormNET will begin warning that they will soon stop working, and advise users to switch to the community server; and, at a later point, the services will only be available as part of the community server.
Also announced on Discord here:
https://discordapp.com/channels/416225356706480128/416225356706480130/748944539493859389