Difference between revisions of "Worms 2 Game Server"
From Worms Knowledge Base
m (I accidentally the word) |
(Updated to 1.1.0) |
||
Line 4: | Line 4: | ||
| name = Worms 2 Game Server | | name = Worms 2 Game Server | ||
| developer = [[User:Pac-Man|Pac-Man]] | | developer = [[User:Pac-Man|Pac-Man]] | ||
− | | version = 1. | + | | version = 1.1.0 / 14 July 2020 |
| games = [[Worms 2|W2]] | | games = [[Worms 2|W2]] | ||
| language = C# (.NET Core 3) | | language = C# (.NET Core 3) | ||
Line 18: | Line 18: | ||
* Request validation is slightly stronger, like checking for duplicate user names on login or missing packet fields. | * 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. | * 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 [[ | + | * 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 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 == | ||
+ | |||
+ | {| class="wikitable sortable" | ||
+ | ! 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]]. | ||
+ | |} | ||
{{OSS}} | {{OSS}} |
Revision as of 19:07, 14 July 2020
(Up to Software)
Worms 2 Game Server | |
---|---|
Developer: | Pac-Man |
Latest version: | 1.1.0 / 14 July 2020 |
Supported games: | W2 |
Language: | C# (.NET Core 3) |
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 |
|
1.1.0 | 14 July 2020 |
|