https://github.com/sungaila/newdarkglobalserver
A global server providing a game server list for Thief 2 Multiplayer.
https://github.com/sungaila/newdarkglobalserver
csharp darkengine dotnet dotnet-core dotnet6 game game-server ipv4 multiplayer newdark server server-list socket tcp thief2
Last synced: about 1 year ago
JSON representation
A global server providing a game server list for Thief 2 Multiplayer.
- Host: GitHub
- URL: https://github.com/sungaila/newdarkglobalserver
- Owner: sungaila
- License: mit
- Created: 2022-02-04T20:19:46.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-04-25T15:49:12.000Z (about 1 year ago)
- Last Synced: 2025-04-25T16:48:43.988Z (about 1 year ago)
- Topics: csharp, darkengine, dotnet, dotnet-core, dotnet6, game, game-server, ipv4, multiplayer, newdark, server, server-list, socket, tcp, thief2
- Language: C#
- Homepage:
- Size: 443 KB
- Stars: 9
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#  NewDarkGlobalServer
[](https://github.com/sungaila/NewDarkGlobalServer/actions/workflows/dotnet.yml)
[](https://github.com/sungaila/NewDarkGlobalServer/blob/master/LICENSE)
[](https://hub.docker.com/r/sungaila/newdarkglobalserver)
[](https://www.sungaila.de/NewDarkGlobalServer/)
A global server providing a game server list for [Thief 2](https://en.wikipedia.org/wiki/Thief_II) Multiplayer.
Also a web client to check for running game servers without opening the game: https://www.sungaila.de/NewDarkGlobalServer/
## How to setup Thief 2 Multiplayer
1. Get yourself a copy of the game (e.g. on [GOG.com](https://www.gog.com/de/game/thief_2_the_metal_age) or [Steam](https://store.steampowered.com/app/211740/Thief_II_The_Metal_Age/)).
> [!WARNING]
> A few fan missions will not work after installing the multiplayer patch. So consider to create a copy of the Thief 2 game folder for singleplayer purposes.
2. Download the latest version of [T2Fix: An Unofficial Comprehensive Patch for Thief 2](https://github.com/Xanfre/T2Fix/releases).
3. Install T2Fix and make sure to select the component `Thief 2 Multiplayer`.
4. Enjoy! Start the game with `Thief2MP.exe`. Windows might prompt you to install [DirectPlay](https://en.wikipedia.org/wiki/DirectPlay) on first launch.
- Select `Multiplayer` in the main menu.
- Host your own game with `Host a Game` (uses UDP port `5198`).
- Join a game lobby with `Join a Game`. You will need to enter the IP address of the host (must be IPv4 like `127.0.0.1`). You cannot join game sessions that have already started.
### Optional: Activate the in-game server list
> [!CAUTION]
> By activating the global server, you will automatically be connected to the global server whenever you host a game. Others can see your IP address in the in-game server list (which is required to join your game).
>
> Be aware of the consequences of revealing your IP address to the public!
>
> When in doubt, you should skip activating the global server and share your IP privately with other players.
1. Open the file `dark_net.cfg` in your game folder with a text editor.
2. Replace the last two lines with the following:
```ini
global_server_name thief2.sungaila.de
global_server_port 5199
```
3. You can now select `View Server List` in the Multiplayer menu. It will show all servers that are connected to the global server.
> [!NOTE]
> If you are hosting a game and it says `Connected to global server`, but others do not see you in the server list, then there is a network connection issue between you and your clients.
>
> Others join your game via the UDP port `5198` and this could be blocked by a firewall, NAT problems or something else. Also note that only IPv4 is supported (IPv6 is not).

> [!TIP]
> You can use this website to see if others can join your game (check for the status `Denied` next to your game): https://www.sungaila.de/NewDarkGlobalServer/
## How to setup your own NewDarkGlobalServer
1. Download [the latest release](https://github.com/sungaila/NewDarkGlobalServer/releases).
2. Launch `NewDarkGlobalServer.exe`.
- Default TCP port is `5199`
- You can change that port with the command line argument `--port=YOURNUMBER`
3. Make sure all your clients have updated their `dark_net.cfg` file with your name and port.
## Command-line options
Use the `--help` argument to show all available options.
```
Usage: NewDarkGlobalServer [options]
Starts a server providing a game server list for Thief 2 Multiplayer.
Options:
-p, --port=VALUE Sets the port for this global server. Default is
5199.
-s, --timeoutserver=VALUE Sets timeout for game servers in seconds. Default
is 180 seconds (00:03:00).
-c, --timeoutclient=VALUE Sets timeout for game clients in seconds. Default
is 3600 seconds (01:00:00).
-u, --timeoutunidentified=VALUE
Sets timeout for connections to indentify as
client or server in seconds. Default is 10
seconds (00:00:10).
-b, --showheartbeatminimal Shows HeartbeatMinimal messages in the log. Each
connected game server sends one every 10 seconds
so the log may become cluttered.
-f, --hidefailedconn Hides failed connections attempts (due to invalid
or unknown messages) from the log.
-t, --printtimestamps Adds timestamps to the log output.
-w, --websocket Activates the optional WebSocket for non-game
clients. Deactivated by default.
-n, --websockethostname=VALUE
Sets the hostname for the WebSocket. Default is
localhost.
-m, --websocketport=VALUE Sets the port for the WebSocket. Default is 5200.
-e, --websocketssl Activates SSL for the WebSocket. Deactivated by
default.
-v, --verbose Shows more verbose messages in the log.
-h, --help Prints this helpful option list and exits.
```