Difference between revisions of "Worms 2 Game Server"

From Worms Knowledge Base

Jump to: navigation, search
(Updated to 1.1.1)
m (jobsOS rename)
 
(2 intermediate revisions by the same user not shown)
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, macOS
 
| license = MIT
 
| license = MIT
 
| download = [https://gitlab.com/Syroot/Worms Source code]
 
| download = [https://gitlab.com/Syroot/Worms Source code]
Line 20: Line 20:
 
* Rejects attempts to host games with NAT IPs and informs the user about [[fkNetcode]].
 
* 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.
+
It can be compiled for most modern Windows, Linux, and macOS platforms as it targets .NET 8. The source code also comes with a proxy debug class to allow sniffing Worms 2 network traffic.
  
 
== Changelog ==
 
== Changelog ==

Latest revision as of 19:12, 17 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 macOS platforms as it targets .NET 8. 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