Difference between revisions of "Worms 2 Game Server"
From Worms Knowledge Base
m ("simulates [...] as close as possible" -> "simulates [...] as closely as possible") |
m (jobsOS rename) |
||
(6 intermediate revisions by the same user not shown) | |||
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.1 / 16 May 2024 |
| games = [[Worms 2|W2]] | | games = [[Worms 2|W2]] | ||
− | | language = C# | + | | language = C# (.NET 8) |
− | | platform = Win32, Linux, | + | | platform = Win32, Linux, macOS |
− | | license = | + | | license = MIT |
− | | | + | | download = [https://gitlab.com/Syroot/Worms 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. | [[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 [[Network_protocol_(Worms_2)|Worms 2 network protocol]] in reaction to the original | + | The software was built shortly after reversing the [[Network_protocol_(Worms_2)|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. | * 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 | + | 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 == | ||
+ | |||
+ | {| 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]]. | ||
+ | |- | ||
+ | | 1.1.1 || 16 May 2024 || | ||
+ | * Fixes display issues with chat messages (due to missing but partially required data 0-termination). | ||
+ | |} | ||
{{OSS}} | {{OSS}} |
Latest revision as of 19:12, 17 May 2024
(Up to Software)
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 |
|
1.1.0 | 14 July 2020 |
|
1.1.1 | 16 May 2024 |
|