Difference between revisions of "Worms 2 Game Server"

From Worms Knowledge Base

Jump to: navigation, search
(Updated to 1.1.1)
m (Updated to .NET 8)
Line 6: Line 6:
 
| version = 1.1.1 / 16 May 2024
 
| version = 1.1.1 / 16 May 2024
 
| games = [[Worms 2|W2]]
 
| games = [[Worms 2|W2]]
| language = C# (.NET Core 3)
+
| language = C# (.NET 8)
 
| platform = Win32, Linux, Mac OS X
 
| platform = Win32, Linux, Mac OS X
 
| license = MIT
 
| license = MIT

Revision as of 19:37, 16 May 2024

(Up to Software)
icon Worms 2 Game Server
Developer: Pac-Man
Latest version: 1.1.1 / 16 May 2024
Supported games: W2
Language: C# (.NET 8)
License: MIT
Download: Source code

Worms 2 Game Server is a small server application connecting Worms 2 players by allowing them to create rooms, chat, and list their games online, just like the original Team17 servers. It can be added to the "Address book" of Worms 2 to allow players to connect to it instead.

The software was built shortly after reversing the Worms 2 network protocol in reaction to the original Team17 server no longer accepting new connections in July 2020. It simulates the original server as closely as possible with the following changes:

  • Request validation is slightly stronger, like checking for duplicate user names on login or missing packet fields.
  • Immediate notification of left users, closed rooms, or closed games, instead of waiting for a timeout to prevent ghosted / duplicate users and rooms.
  • Rejects attempts to host games with NAT IPs and informs the user about fkNetcode.

It can be compiled for most modern Windows, Linux, and Mac OS X platforms as it targets .NET Core 3. The source code also comes with a proxy debug class to allow sniffing Worms 2 network traffic.

Changelog

Version Release Date Notes
1.0.0 11 July 2020
  • Initial release.
1.1.0 14 July 2020
  • Netcode was rewritten to be completely asynchronous (using System.IO.Pipelines).
  • Connections now time out after 3 seconds if not logged in, or 10 minutes if logged in.
  • Packet validation is now stronger and kills connections with invalid / unknown packet codes, invalid field sets, or Packet.Data larger than 0x1000 bytes.
  • A parameter can now be passed to the server to specify the local endpoint to listen under (either as a port only or adapter IP with port).
  • Logging now prints the time stamp for every message.
  • Logging is now colored on Linux and Mac OS X aswell, and no longer only on Windows 10.
  • Create Game failure message now recommends fkNetcode rather than the Worms 2 Memory Changer.
1.1.1 16 May 2024
  • Fixes display issues with chat messages (due to missing but partially required data 0-termination).
Personal tools