You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since the TF2-SDK/64-bit update, NT;RE has Steam Networking support, meaning hosting an online server is
144
145
as easy as doing: `"Create Server" -> "Start"`. Just make sure "Use Steam networking" is set to "Enabled" and
145
146
alter the relevant configurations.
146
147
147
-
### Server Ops
148
-
#### Dedicated Server on Linux
149
-
These instructions have been written with a Debian 12 machine in mind, but they should work for other systems as well.
150
-
1. Install SteamCMD following these instructions: [LINK](https://developer.valvesoftware.com/wiki/SteamCMD#Linux)
151
-
2. Decide on a location you'd like to install the server to, for example, `/home/<username>/neoserver`, and create it.
152
-
3. Run SteamCMD: `steamcmd`
148
+
### Dedicated server hosting
149
+
150
+
These instructions have been written for and tested on Debian 12 and Arch for Linux, and Windows Server 2016 and Windows 11 for Windows, but should work with a fairly up to date Linux and Windows systems as well.
151
+
152
+
#### Downloading server files - SteamCMD
153
+
154
+
> [!TIP]
155
+
> Server operators should always use the SteamCMD setup, otherwise if doing quick tests or developing and have Steam installed, you can just install "Source SDK Base 2013 Dedicated Server" (appid 244310) from Steam and assuming you've already have NT;RE client setup can skip the SteamCMD steps. Any instructions referring to `<YOUR_LOCATION>/ntrebuild` will instead use: `<PATH_TO_STEAM>/common/Source SDK Base 2013 Dedicated Server`.
156
+
157
+
> [!WARNING]
158
+
> As of the TF2-SDK update, if trying to use the dedicated server downloaded from Steam but not through the detailed SteamCMD instructions, Linux will fail to find the files necessary to startup a working server. Just follow the SteamCMD server setup instructions for now.
159
+
160
+
1. Install SteamCMD following these instructions: [LINK](https://developer.valvesoftware.com/wiki/SteamCMD#Downloading_SteamCMD)
161
+
2. Choose a location you'd like to install the server to, for example on Linux: `/home/<username>/neoserver` or on Windows: `C:\NeotokyoServer\`, and create it. **This will be referred as `<YOUR_LOCATION>` in the later steps, and the forward-slash directory separation replaced with back-slash for Windows.** (Also in this case SteamCMD is also installed in this location)
162
+
3. Run SteamCMD: `steamcmd`/`steamcmd.exe`
153
163
4. Enter the following commands in SteamCMD (Note that you need to use an absolute path for the install dir):
154
164
```
155
165
force_install_dir <YOUR_LOCATION>/ognt/
@@ -166,16 +176,23 @@ These instructions have been written with a Debian 12 machine in mind, but they
166
176
(wait for it to install)
167
177
quit
168
178
```
169
-
6. The distribution of the dedicated servers currently misplaced some few files, here's the following files missing on Linux:
170
-
```
171
-
srcds_linux64
172
-
srcds_run_64
173
-
bin/linux64/libsteam_api.so
174
-
```
175
-
You may either fetch them from the Linux Source SDK 2013 Multiplayer client (appid 243750) or TF2's Dedicated Server (appid 232250).
179
+
6. The distribution of the dedicated servers currently misplaced a few files:
180
+
* Linux:
181
+
```
182
+
srcds_linux64
183
+
srcds_run_64 # NOTE - Only TF2's dedicated server have this script
184
+
bin/linux64/libsteam_api.so
185
+
```
186
+
* Windows:
187
+
```
188
+
srcds_win64.exe
189
+
```
190
+
191
+
You may either fetch them from the Source SDK 2013 Multiplayer client (appid 243750) or TF2's Dedicated Server (appid 232250).
176
192
Once they're fetched, place them in the `<YOUR_LOCATION>/ntrebuild` directory.
177
193
178
-
7. Make a symlink for original NEOTOKYO so that NT;RE can find it's assets:
194
+
#### Linux-only additional instructions
195
+
7. **Linux only:** Make a symlink for original NEOTOKYO so that NT;RE can find it's assets:
179
196
180
197
Run the following command as root:
181
198
```
@@ -184,19 +201,13 @@ These instructions have been written with a Debian 12 machine in mind, but they
184
201
It should now be possible to access `/usr/share/neotokyo/NeotokyoSource`.
185
202
186
203
This is the only command that needs root, so you can logout from root.
187
-
8. Make a symlink so that Src2013 dedicated server can see SteamCMD's binaries:
204
+
8. **Linux only:** Make a symlink so that Src2013 dedicated server can see SteamCMD's binaries:
188
205
189
206
(NOTE: I'm NOT sure if this is how it is on other systems other than Debian 12, so please, check first if you have `~/.steam/sdk64` before running these! If you have Desktop Steam installed, then you should have this directory, but it doesn't seem to be the case with SteamCMD, which is why we need to do this.)
* 27015 TCP+UDP (you can keep the TCP port closed if you don't need RCON support)
195
-
* 27020 UDP
196
-
* 27005 UDP
197
-
* 26900 UDP
198
-
10. `cd` into `<YOUR_LOCATION>/ntrebuild/bin/linux64`.
199
-
11. Run these commands to make symlinks for needed files:
210
+
10. **Linux only:** Change directory into `<YOUR_LOCATION>/ntrebuild/bin/linux64` then run these commands to make symlinks for needed files:
200
211
```
201
212
ln -s datacache_srv.so datacache.so;
202
213
ln -s dedicated_srv.so dedicated.so;
@@ -212,109 +223,59 @@ These instructions have been written with a Debian 12 machine in mind, but they
212
223
ln -s vphysics_srv.so vphysics.so;
213
224
ln -s vscript_srv.so vscript.so;
214
225
```
215
-
12. `cd` up directories twice, so that you will be in `<YOUR_LOCATION>/ntrebuild`.
216
-
13. Extract the latest release of NT;RE into `<YOUR_LOCATION>/ntrebuild`, so you will have a directory `<YOUR_LOCATION>/ntrebuild/neo` with a `gameinfo.txt` inside.
226
+
11. `cd` up directories twice, so that you will be in `<YOUR_LOCATION>/ntrebuild`.
217
227
218
-
Now you have a dedicated server setup for NT;RE. To run it, you will need to be in the `<YOUR_LOCATION>/ntrebuild` directory and run `srcds_run` with whatever arguments. You can adapt the following command to your own liking:
These instructions were tested on Windows Server 2016 and Windows 11 machines, they will probably work in all Windows versions.
224
-
1. Install SteamCMD following these instructions: [LINK](https://developer.valvesoftware.com/wiki/SteamCMD#Windows)
225
-
2. Choose a location for your server to be installed into, for example, `C:\NeotokyoServer\`, and create it. (In this case SteamCMD is also installed in this location)
226
-
3. Run SteamCMD: `steamcmd.exe`
227
-
4. Enter the following commands in SteamCMD:
228
-
```
229
-
force_install_dir .\ognt\
230
-
login anonymous
231
-
app_update 313600 validate
232
-
(wait for it to install)
233
-
quit
234
-
```
235
-
5. Run SteamCMD again, and enter these commands:
236
-
```
237
-
force_install_dir .\ntrebuild\
238
-
(this will be the main directory of your server)
239
-
login anonymous
240
-
app_update 244310 validate
241
-
(wait for it to install)
242
-
quit
243
-
```
244
-
6. The distribution of the dedicated servers currently misplaced some few files, here's the following files missing on Windows:
245
-
```
246
-
srcds_win64.exe
247
-
```
248
-
You may either fetch them from the Windows Source SDK 2013 Multiplayer client (appid 243750) or TF2's Dedicated Server (appid 232250).
249
-
Once they're fetched, place them in the `<YOUR_LOCATION>\ntrebuild` directory.
228
+
#### Extracting NT;RE
229
+
Extract the latest release of NT;RE into `<YOUR_LOCATION>/ntrebuild`, so you will have a directory `<YOUR_LOCATION>/ntrebuild/neo` with a `gameinfo.txt` inside.
250
230
251
-
7. Extract the latest release of NT;RE into `<YOUR_LOCATION>\ntrebuild`, so you will have a directory `<YOUR_LOCATION>\ntrebuild\neo` with a `gameinfo.txt` inside.
252
-
8. Allow all Inbound and Outbound TCP and UDP requests for the following ports via Windows Firewall. [See how](https://learn.microsoft.com/en-us/windows/security/operating-system-security/network-security/windows-firewall/configure#create-an-inbound-port-rule)
253
-
* 27015 TCP+UDP (you can keep the TCP port closed if you don't need RCON support)
254
-
* 27020 UDP
255
-
* 27005 UDP
256
-
* 26900 UDP
257
-
9. Your server should be ready to go, launch it inside your main directory (`(...)\ntrebuild\`) with the following command: (You can alter any argument to your liking, except `-game` and `-neopath`)
> As of the TF2-SDK update, Linux will fail to find the files necessary to startup a working server. Just follow the normal dedicated server instruction for now.
237
+
Or just use the directory directly when passing to the srcds command line arguments: `-game <path_to_source>/game/neo`.
238
+
239
+
#### Exposing the server to the wider internet
240
+
241
+
There are two ways on exposing your dedicated server to the wider internet: Port forwarding and Steam Networking.
266
242
267
-
1. To run a server, install "Source SDK Base 2013 Dedicated Server" (appid 244310).
268
-
2. For firewall, open the following ports:
243
+
##### Firewall - Port forwarding
244
+
* Open the following ports:
269
245
* 27015 TCP+UDP (you can keep the TCP port closed if you don't need RCON support)
270
246
* 27020 UDP
271
247
* 27005 UDP
272
248
* 26900 UDP
273
-
3. The distribution of the dedicated servers currently misplaced some few files:
274
-
* Linux:
275
-
```
276
-
srcds_linux64
277
-
srcds_run_64
278
-
bin/linux64/libsteam_api.so
279
-
```
280
-
* Windows:
281
-
```
282
-
srcds_win64.exe
283
-
```
284
-
You may either fetch them from the Source SDK 2013 Multiplayer client (appid 243750) or TF2's Dedicated Server (appid 232250).
285
-
Once they're fetched, place them in the `<PATH_TO_STEAM>/common/Source SDK Base 2013 Dedicated Server` directory.
286
-
4. After it installed, go to the install directory in CMD, should see:
287
-
* Windows: `srcds_win64.exe`
288
-
* Linux: `srcds_linux64`
289
-
5. Optional: Link or copy over neo, otherwise `-game <path_to_source>/game/neo` can be used also:
6. Linux-only: Symlink the names in `<PATH_TO_STEAM>/common/Source SDK Base 2013 Dedicated Server/bin/linux64` directory:
249
+
* **Windows-only:** Allow all Inbound and Outbound TCP and UDP requests for the given ports via Windows Firewall. [See how](https://learn.microsoft.com/en-us/windows/security/operating-system-security/network-security/windows-firewall/configure#create-an-inbound-port-rule)
250
+
251
+
##### Steam Networking
252
+
253
+
Since the TF2-SDK update, NT;RE gained the ability to use "Steam Networking" which can be useful in situations where:
254
+
255
+
* You cannot setup port forwarding or/and altering firewall settings
256
+
* You don't want to expose the server's IP address and device directly
257
+
258
+
Just add `+sv_use_steam_networking 1` to the `srcds` command line arguments to use Steam Networking for your dedicated server.
259
+
260
+
#### Running the server
261
+
You will need to be in the `<YOUR_LOCATION>/ntrebuild` directory and run `srcds_win64`/`srcds_run_64`/`srcds_linux64` with whatever arguments. You can adapt the following command to your own liking:
* Double check on the log that VAC is disabled before continuing
317
-
7. In-game on Windows it'll showup in the server list, on Linux it probably won't and you'll have to use `connect` command directly (EX: `connect 192.168.1.###` for LAN server)
271
+
* Linux with `srcds_linux64` directly:
272
+
1. Before running `srcds_linux64`, some few environment variables need to setup:
273
+
* `SteamEnv=1`
274
+
* `LD_LIBRARY_PATH="<YOUR_LOCATION>/ntrebuild/bin/linux64"` - So it can find the server libraries
* In-game it probably won't showup in the server list and you'll have to use `connect` command directly (EX: `connect 192.168.1.###` for LAN server)
277
+
278
+
If using `-insecure` and intend to playtest without VAC for debugging purposes, double check on the log that VAC is disabled before continuing.
318
279
319
280
### SourceMod server modification plugins
320
281
[SourceMod](https://www.sourcemod.net/) plugins should generally work with NT;RE, however they have to be added to the `ShowMenu` whitelist to make the menu display properly. To do this:
0 commit comments