aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/SUMMARY.md1
-rw-r--r--docs/hosting-a-server-with-northstar/dedicated-server/README.md161
-rw-r--r--docs/hosting-a-server-with-northstar/dedicated-server/useful-commands.md88
3 files changed, 158 insertions, 92 deletions
diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md
index f242f23..de1edf0 100644
--- a/docs/SUMMARY.md
+++ b/docs/SUMMARY.md
@@ -26,7 +26,6 @@
* [Prerequisites](hosting-a-server-with-northstar/prerequisites.md)
* [Hosting a Basic Listen Server](hosting-a-server-with-northstar/basic-listen-server.md)
* [Hosting a Dedicated Server](hosting-a-server-with-northstar/dedicated-server/README.md)
- * [Useful commands](hosting-a-server-with-northstar/dedicated-server/useful-commands.md)
* [Hosting on Linux](hosting-a-server-with-northstar/dedicated-server/hosting-on-linux.md)
## Modding
diff --git a/docs/hosting-a-server-with-northstar/dedicated-server/README.md b/docs/hosting-a-server-with-northstar/dedicated-server/README.md
index c3d5ca9..045b288 100644
--- a/docs/hosting-a-server-with-northstar/dedicated-server/README.md
+++ b/docs/hosting-a-server-with-northstar/dedicated-server/README.md
@@ -8,11 +8,11 @@ When using a dedicated server, arguments are read from `ns_startup_args_dedi.txt
### Useful configuration files
* `ns_startup_args_dedi.txt`\
- contains the startup arguments
+ contains the [startup arguments](#Startup_args)
* `R2Northstar\mods\Northstar.CustomServers\mod.json`\
- contains ConVars and their default values
+ contains [ConVars](#Convars) default values
* `R2Northstar\mods\Northstar.CustomServers\mod\cfg\autoexec_ns_server.cfg`\
- contains the server name, port, and description
+ contains [ConVars](#Convars) and overrides `R2Northstar\mods\Northstar.CustomServers\mod.json`
## Dedicated Server Caveats
@@ -20,3 +20,158 @@ At the moment, dedicated servers still require DirectX 11 to work, which typical
While this is absolutely not ideal, it's the best solution for truely headless dedicated servers at the moment, and surprisingly hardly uses any CPU time, though it can use roughly up to 1GB of RAM.\
Regarding RAM usage, dedicated servers also use significant amounts of RAM at the moment, often requiring 1.5-2GB, though I expect this to lower as development continues.
+# <a name="Startup_args">Startup Arguments</a>
+Startup arguments can be added in the `ns_startup_args_dedi.txt` file.
+
+| Arguments | Accepted Values | Description |
+|---------------------------------------------------------------|---------------------------------------------|----------------------------------------------------|
+| `+setplaylist` | `private_match` | Currently needed to make servers work |
+|<a name="Startup_args-plstovrd">`+setplaylistvaroverrides`</a> | see [PlaylistOverrides](#PlaylistOverrides) | Edits the behaviour of the server |
+| `-port` | int beteween `1-65535` | Determines which UDP port the server will listen to|
+| <a name="Startup_args-mpgamemode">`+mpgamemode`</a> | see [Gamemodes](#Gamemodes) | Forces the gamemode of the server |
+
+
+| Flags | Description |
+|---------------------------------------------------------------|-----------------------------------------------------------------------------|
+| <a name="Startup_flags-maxplrplst">`-maxplayersplaylist`</a> | Allows [PlaylistOverrides](#PlaylistOverrides) to override max player count |
+
+## <a name="PlaylistOverrides">Playlist overrides</a>
+Playlist overrides determines the behaviour of the server. PlaylistOverrides can be added using the `+setplaylistvaroverrides` argument in the `ns_startup_args_dedi.txt` file.
+
+The list of playlist overrides needs to be quoted and separated by spaces (example : `+setplaylistvaroverrides "run_epilogue 0 featured_mode_amped_tacticals 1"`)
+
+| PlaylistOverrides | Accepted Values | Default Value | Description |
+|----------------------------------------------|----------------------|-----------------|------------------------------------------------------------------------------------------|
+| `max_players` | `int` | | Needs to be in combination with the [`-maxplayersplaylist`](#Startup_flags-maxplrplst) flag |
+| `custom_air_accel_pilot` | | | |
+| `pilot_health_multiplier` | | | |
+| `run_epilogue` | `0-1` | `1` | Enables escape dropship |
+| `respawn_delay` | | | |
+| `boosts_enabled` | `0-1` | `1` | Enable boosts. Doesn't disables Titanmeter. |
+| `earn_meter_pilot_overdrive` | `0-1` | | |
+| `earn_meter_pilot_multiplier` | | | |
+| `earn_meter_titan_multiplier` | | | |
+| `aegis_upgrades` | `0-1` | `0` | |
+| `infinite_doomed_state` | `0-1` | | |
+| `titan_shield_regen` | `0-1` | `0` | |
+| `scorelimit` | | | |
+| `roundscorelimit` | | | |
+| `timelimit` | | | |
+| `oob_timer_enabled` | `0-1` | | |
+| `roundtimelimit` | | | |
+| `classic_rodeo` | `0-1` | | |
+| `classic_mp` | `0-1` | `1` | Enables intro dropship |
+| `fp_embark_enabled` | | | |
+| `promode_enable` | `0-1` | `0` | |
+| `riff_floorislava` | `0-1` | `0` | Covers the whole map with deadly electric smoke |
+| `featured_mode_all_holopilot` | `0-1` | `0` | |
+| `featured_mode_all_grapple` | `0-1` | `0` | |
+| `featured_mode_all_phase` | `0-1` | `0` | |
+| `featured_mode_all_ticks` | `0-1` | `0` | |
+| `featured_mode_tactikill` | `0-1` | `0` | |
+| `featured_mode_amped_tacticals` | `0-1` | `0` | |
+| `featured_mode_rocket_arena` | `0-1` | `0` | |
+| `featured_mode_shotguns_snipers` | `0-1` | `0` | |
+| `iron_rules` | `0-1` | `0` | Disables ejection and disembark |
+| `riff_player_bleedout` | | | |
+| `player_bleedout_forceHolster` | | | |
+| `player_bleedout_forceDeathOnTeamBleedout` | | | |
+| `player_bleedout_bleedoutTime` | | | |
+| `player_bleedout_firstAidTime` | | | |
+| `player_bleedout_firstAidTimeSelf` | | | |
+| `player_bleedout_firstAidHealPercent` | | | |
+| `player_bleedout_aiBleedingPlayerMissChance` | | | |
+
+# <a name="Convars">Convars</a>
+Convars are located inside the `R2Northstar\mods\Northstar.CustomServers\mod\cfg\autoexec_ns_server.cfg` file.
+
+They allow the server admin to set server's properties like the name, TCP port, and description.
+
+| Name | Description | Default Value | Accepted Values |
+| ---- | ----------- | ------------- | -------------------- |
+| `ns_server_name` | Your server's name on the server browser | `"Unnamed Northstar Server"` | `string` |
+| `ns_server_desc` | Your server's description on the server browser | `"Default server description"` | `string` |
+| `ns_server_password` | The password required to join your server, can be bypassed if clients directly connect and you are using insecure auth | `""` | `string` |
+| `ns_report_server_to_masterserver` | Whether your server should report itself to the masterserver, for use in auth and the serverbrowser | `1` | `0-1` |
+| `ns_report_sp_server_to_masterserver` | Whether your server should report itself to the masterserver if started on a singleplayer map, for use in auth and the serverbrowser | `0` | `0-1` |
+| `ns_auth_allow_insecure` | Allows clients to join your server without authenticating with the masterserver, currently required to allow clients to connect directly to your IP, rather than through the server browser | `0` | `0-1` |
+| `ns_erase_auth_info` | Whether your server should erase authentication information after it is used, this is useful for development but should normally be kept at 1 | `1` | `0-1` |
+| `ns_player_auth_port` | The port used for the server's local authentication server, this is the TCP port we forwarded earlier | `8081` | `1-65535`|
+| `everything_unlocked` | Whether all items, weapons, etc should be unlocked on the server | `1` | `0-1` |
+| <a name="Convars-returntolobby">`ns_should_return_to_lobby`</a> | Whether the server should return to private match lobby after completing a game, if 0, this will go to the next map/mode in the playlist | `1` | `0-1` |
+| `ns_private_match_only_host_can_change_settings` | If 0 Players can change all match settings. If 1 Players can only change map and gamemode. If 2 Players can change nothing | `0` | `0-2` |
+| `ns_private_match_countdown_length` | Length is seconds before the match is started after the start button in the lobby | `15` | `int` |
+| <a name="Convars-lastmode">`ns_private_match_last_mode`</a> | Forces the lobby to a specifig Gamemode | `tdm` | Any [Gamemode](#Gamemodes) |
+| <a name="Convars-lastmap">`ns_private_match_last_map`</a> | Forces the lobby to a specifig map | `mp_forwardbase_kodai` | Any [Map](#Maps) |
+| `ns_disallowed_weapons` | Blacklists weapons | | List of [Weapons](#Weapons) separated by a comma |
+| `ns_disallowed_weapon_primary_replacement` | Replaces blacklisted weapons by one weapon | | a [Weapon](#Weapons) |
+| `ns_should_log_unknown_clientcommands` | Whether unknown clientcommands should be printed in the console, worth disabling if they get on your nerves | `1` | `0-1` |
+| `net_chan_limit_mode` | If 0, don't limit the netchannel processing time individual clients are allowed. If 1, kick clients that go over the limit. If 2, log clients that go over the limit in console | `2` | `0-2` |
+| `net_chan_limit_msec_per_sec` | The number of milliseconds of server netchan processing time clients can use per second before triggering the response set in net_chan_limit_mode | `30` | `int` |
+| `base_tickinterval_mp` | The delay between each tick ran on the server, your tickrate will be 1 divided by this value | `0.016666667` | `float` |
+| `sv_updaterate_mp` | The maximum number of times per second your server will send information to connected players, if a player's cl_updaterate_mp value is lower than this, their rate will be limited to it | `20` | `int` |
+| `sv_max_snapshots_multiplayer` | The number of snapshots stored locally for use in replays, this should be set to sv_updaterate_mp * 15 | `300` | `int` |
+| `host_skip_client_dll_crc` | Whether the server should allow clients with modified client.dll files to connect, these are used for visor colour edit mods | `1` | `0-1` |
+
+
+# <a name="Gamemodes">Gamemodes</a>
+Gamemodes can be forced by the server using the [`+mpgamemode`](#Startup_args-mpgamemode) startup arg
+
+If ran on a server with the [`ns_should_return_to_lobby 0`](#Convars-returntolobby) convar, one should also set gamemodes in [`ns_private_match_last_mode`](#Convars-lastmode) convar
+
+| Value | Description |
+|-----------------|------------------------------|
+| `private_match` | Private Match |
+| `ps` | Pilots vs Pilots |
+| `gg` | Gungame |
+| `tt` | Titan Tag |
+| `inf` | Infected |
+| `fastball` | Fastball |
+| `ctf_comp` | Competitive Capture the Flag |
+| `hs` | Hide and Seek |
+| `cp` | Hardpoint |
+| `lts` | Last Titan Standing |
+| `ctf` | Capture the Flag |
+| `ttdm` | Titan Brawl |
+| `turbo_ttdm` | Turbo Titan Brawl |
+| `attdm` | Aegis Titan Brawl |
+| `ffa` | Free for all |
+| `fra` | Free Agents |
+| `coliseum` | Coliseum |
+| `lf` | Live Fire |
+| `rocket_lf` | Rocket Arena |
+| `mfd` | Marked for Death |
+
+# <a name="Maps">Maps</a>
+Maps can be set on autorotation using [`ns_should_return_to_lobby 0`](#Convars-returntolobby)
+
+First map of autorotation can be set using [`ns_private_match_last_map`](Convars-lastmap)
+
+A way to blacklist maps with autorotation do not exists.
+
+| Value | Description |
+|------------------------|------------------------------|
+| `mp_angel_city` | Angel City |
+| `mp_black_water_canal` | Black Water Canal |
+| `mp_grave` | Boomtown |
+| `mp_colony02` | Colony |
+| `mp_complex3` | Complex |
+| `mp_crashsite3` | Crashsite |
+| `mp_drydock` | DryDock |
+| `mp_eden` | Eden |
+| `mp_thaw` | Exoplanet |
+| `mp_forwardbase_kodai` | Forward Base Kodai |
+| `mp_glitch` | Glitch |
+| `mp_homestead` | Homestead |
+| `mp_relic02` | Relic |
+| `mp_rise` | Rise |
+| `mp_wargames` | Wargames |
+| `mp_lobby` | Lobby |
+| `mp_lf_deck` | Deck |
+| `mp_lf_meadow` | Meadow |
+| `mp_lf_stacks` | Stacks |
+| `mp_lf_township` | Township |
+| `mp_lf_traffic` | Traffic |
+| `mp_lf_uma` | UMA |
+| `mp_coliseum` | The Coliseum |
+| `mp_coliseum_column` | Pillars |
diff --git a/docs/hosting-a-server-with-northstar/dedicated-server/useful-commands.md b/docs/hosting-a-server-with-northstar/dedicated-server/useful-commands.md
deleted file mode 100644
index 84a8111..0000000
--- a/docs/hosting-a-server-with-northstar/dedicated-server/useful-commands.md
+++ /dev/null
@@ -1,88 +0,0 @@
-# Useful Launch arguments
-
-{% hint style="info" %}
-TODO: Extend and improve
-{% endhint %}
-
-* +setplaylist `private_match`: Still needed?
-
-* For setting gamemode: `+mp_gamemode`
-
-| Value | Description |
-|-----------------|------------------------------|
-| `private_match` | Private Match |
-| `ps` | Pilots vs Pilots |
-| `gg` | Gungame |
-| `tt` | Titan Tag |
-| `inf` | Infected |
-| `fastball` | Fastball |
-| `ctf_comp` | Competitive Capture the Flag |
-| `hs` | Hide and Seek |
-| `cp` | Hardpoint |
-| `lts` | Last Titan Standing |
-| `ctf` | Capture the Flag |
-| `ttdm` | Titan Brawl |
-| `turbo_ttdm` | Turbo Titan Brawl |
-| `attdm` | Aegis Titan Brawl |
-| `ffa` | Free for all |
-| `fra` | Free Agents |
-| `coliseum` | Coliseum |
-| `lf` | Live Fire |
-| `rocket_lf` | Rocket Arena |
-| `mfd` | Marked for Death |
-
-
-* For setting map: `+map`
-
-
-* `+setplaylistvaroverrides`
-
-* `ns_private_match_only_host_can_change_settings`
-
-| Value | Description |
-|-------|------------------------------------------|
-| `0` | Players can change all match settings |
-| `1` | Players can only change map and gamemode |
-| `2` | Players can change nothing |
-
-
-| Variable | Default value | Description |
-|----------------------------------------------|---------------|-------------|
-| `custom_air_accel_pilot` | | |
-| `pilot_health_multiplier` | | |
-| `run_epilogue` | | |
-| `respawn_delay` | | |
-| `boosts_enabled` | | |
-| `earn_meter_pilot_overdrive` | | |
-| `earn_meter_pilot_multiplier` | | |
-| `earn_meter_titan_multiplier` | | |
-| `aegis_upgrades` | | |
-| `infinite_doomed_state` | | |
-| `titan_shield_regen` | | |
-| `scorelimit` | | |
-| `roundscorelimit` | | |
-| `timelimit` | | |
-| `oob_timer_enabled` | | |
-| `roundtimelimit` | | |
-| `classic_rodeo` | | |
-| `classic_mp` | | |
-| `fp_embark_enabled` | | |
-| `promode_enable` | | |
-| `riff_floorislava` | | |
-| `featured_mode_all_holopilot` | | |
-| `featured_mode_all_grapple` | | |
-| `featured_mode_all_phase` | | |
-| `featured_mode_all_ticks` | | |
-| `featured_mode_tactikill` | | |
-| `featured_mode_amped_tacticals` | | |
-| `featured_mode_rocket_arena` | | |
-| `featured_mode_shotguns_snipers` | | |
-| `iron_rules` | | |
-| `riff_player_bleedout` | | |
-| `player_bleedout_forceHolster` | | |
-| `player_bleedout_forceDeathOnTeamBleedout` | | |
-| `player_bleedout_bleedoutTime` | | |
-| `player_bleedout_firstAidTime` | | |
-| `player_bleedout_firstAidTimeSelf` | | |
-| `player_bleedout_firstAidHealPercent` | | |
-| `player_bleedout_aiBleedingPlayerMissChance` | | |