Interface administrators, moderator
2,591
edits
No edit summary |
|||
(35 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:Server Configuration}} | {{DISPLAYTITLE:Server Configuration}} | ||
== Summary == | == Summary == | ||
The server configuration file is named <code>server.xml</code>, and is located in the same folder as the file named <code>Server.exe</code> on Windows or <code>Server</code> on Linux.<br> | The server configuration file is named <code>server.xml</code> by default, and is located in the same folder as the file named <code>Server.exe</code> on Windows or <code>Server</code> on Linux.<br> | ||
You can use a custom server configuration file with the <code>-config</code> option. Example: <code>Server.exe -config my-config.xml</code>. See the [[ | You can use a custom filename for the server configuration file with the <code>-config</code> option. Example: <code>Server.exe -config my-config.xml</code>. See the [[ServerCommandLine|server command line]] page for more info on accepted command arguments.<br> | ||
The file uses the XML syntax, with a root node named <code>server</code>. | The file uses the XML syntax, with a root node named <code>server</code>. [https://www.w3.org/TR/xml/ Official XML Specification] | ||
[https://www.w3.org/TR/xml/ Official XML Specification] | |||
== Settings == | == Settings == | ||
It's best practice to specify all or most of these properties in your server config XML. The corresponding default value will be used if the property is not specified.<br> | |||
{| class="wikitable" | {| class="wikitable" | ||
!Server Property Name | !Server Property Name | ||
Line 12: | Line 13: | ||
!Description | !Description | ||
|- | |- | ||
| | |anticheat | ||
| | |(empty node) | ||
| | |Anti cheat. See [[Anticheat|Anticheat]] for more information. | ||
|- | |||
|bindip | |||
|(empty string) | |||
|Forces the server to use a specific IP. Only for hosts that have multiple IP addresses. | |||
|- | |||
|cvar | |||
|(individual default values) | |||
|Sets a server's cvar value. See [[CVars|CVars]] for more information. | |||
|- | |- | ||
|duplicatenames | |duplicatenames | ||
Line 21: | Line 30: | ||
|- | |- | ||
|game | |game | ||
|gta:iii | |gta:iii | ||
|The identifier of the game that the server should run for. See [[GameIdentifiers|game identifiers]] for more information. | |The identifier of the game that the server should run for. See [[GameIdentifiers|game identifiers]] for more information. | ||
|- | |- | ||
|gamemode | |gamemode | ||
|n/a ('''required''') | |n/a ('''required''') | ||
| | |Custom text to identify the game mode. Appears in the server browser. '''This is not IV gamemode ID'''. | ||
|- | |- | ||
|httpport | |httpport | ||
Line 34: | Line 43: | ||
|httpserver | |httpserver | ||
|true | |true | ||
|Whether or not to run the HTTP server. | |Whether or not to run the [[HTTPServer|HTTP server]]. | ||
|- | |||
|httpurl | |||
|(empty string) | |||
|A URL (like a CDN) containing the server's client resource files and scripts. Clients will download them from that URL instead of the server. | |||
|- | |||
|iv_episode | |||
| -1 | |||
|Sets the DLC to use for IV. See [[Resources/GTAIV/Episodes|IV Episodes]] for more information. | |||
|- | |||
|iv_gamemode | |||
|8 | |||
|Sets the built-in gamemode for IV. See [[Resources/GTAIV/GameModes|IV Gamemodes]] for more information. | |||
|- | |||
|iv_nativemultiplayer | |||
|true | |||
|If enabled, server uses native sync (from Rockstar/GFWL), otherwise server uses GTAC's custom sync. | |||
|- | |- | ||
|logpath | |logpath | ||
| | |(empty string) | ||
|The path to store the server logs. Leave blank to not use server logs. | |The path to store the server logs. Leave blank to not use server logs. | ||
|- | |- | ||
|logtimestamp | |logtimestamp | ||
| | |%d/%m/%Y - %X | ||
|The timestamp format to use in the log files. Based on the [http://cplusplus.com/reference/clibrary/ctime/strftime/ strftime] format from C++. Some examples: | |The timestamp format to use in the log files. Based on the [http://cplusplus.com/reference/clibrary/ctime/strftime/ strftime] format from C++. Some examples: | ||
<code>[%H:%M:%S]</code> This displays only the time<br> | <code>[%H:%M:%S]</code> This displays only the time.<br> | ||
<code>[%d/%m/%Y %H:%M:%S]</code> This would display the date in dd/mm/yyyy format followed by the time in hour:minute:second format. | <code>[%d/%m/%Y %H:%M:%S]</code> This would display the date in dd/mm/yyyy format followed by the time in hour:minute:second format. | ||
|- | |- | ||
|maxplayers | |maxplayers | ||
|32 | |32 | ||
|The maximum amount of players that can connect to the server, between 0 and | |The maximum amount of players that can connect to the server, between 0 and 127. | ||
|- | |- | ||
|minclientversion | |minclientversion | ||
|1.0.0 | |1.0.0.0 | ||
|The minimum version that clients can connect with. | |The minimum version that clients can connect with. Between 1 and 4 dot-delimited tokens. [https://gtaconnected.com/downloads/client/version See latest client version here]. | ||
|- | |||
|minuteduration | |||
|2.0 for IV, otherwise 1.0 | |||
|The amount of seconds for an in-game minute. | |||
|- | |- | ||
|modules | |modules | ||
Line 58: | Line 87: | ||
|The modules to load. Use the <code><module></code> tag inside the <code><modules></code> tag, for each module to load, including the <code>src</code> attribute for the directory path. | |The modules to load. Use the <code><module></code> tag inside the <code><modules></code> tag, for each module to load, including the <code>src</code> attribute for the directory path. | ||
|- | |- | ||
| | |multithreaded | ||
| | |false | ||
| | |Enables/disables using multiple threads for managing network peers. Useful on multi-core systems. | ||
|- | |- | ||
|password | |password | ||
| | |(empty string) | ||
|The password to connect to the server. | |The password to connect to the server. | ||
|- | |- | ||
Line 72: | Line 101: | ||
|pickupstreamoutdistance | |pickupstreamoutdistance | ||
|100.0 | |100.0 | ||
|The distance that a pickup is removed from the client, recommended to be about 100.0. | |The distance that a pickup is removed from the client, recommended to be about 100.0. '''Must be higher than pickupstreamindistance'''. | ||
|- | |- | ||
|port | |port | ||
|22000 | |22000 | ||
|The port for the server to listen on, between 0 and 65,535. Players only need to know the port if using the /connect command in-game, not when using the server browser. | |The port for the server to listen on, between 0 and 65,535. Players only need to know the port if using the /connect command in-game, not when using the server browser. | ||
|- | |- | ||
|rcon | |rcon | ||
|false | |false | ||
|The status of whether the server will host the remote console service | |'''[Inoperable]''' The status of whether the server will host the remote console service. | ||
|- | |- | ||
|rconpassword | |rconpassword | ||
| | |(empty string) | ||
|The password to connect to the remote console service. | |The password to connect to the remote console service. | ||
|- | |||
|rconport | |||
|23000 | |||
|The port to host the remote console service on. | |||
|- | |- | ||
|resources | |resources | ||
|(empty node) | |(empty node) | ||
|The resources to load. Use the <code><resource></code> tag inside the <code><resources></code> tag, for each resource to load, including the <code>src</code> attribute for the directory path. | |The [[Resources|resources]] to load. Use the <code><resource></code> tag inside the <code><resources></code> tag, for each resource to load, including the <code>src</code> attribute for the directory path. | ||
|- | |||
|rule | |||
|(empty string) | |||
|Adds a server rule. See [[ServerRules|server rules]] for more info. | |||
|- | |- | ||
|serverbrowser | |serverbrowser | ||
Line 101: | Line 134: | ||
|n/a ('''required''') | |n/a ('''required''') | ||
|The name of the server, which appears in the server browser. | |The name of the server, which appears in the server browser. | ||
|- | |||
|serverquery | |||
|true | |||
|The enabled status of UDP server queries. | |||
|- | |- | ||
|streamindistance | |streamindistance | ||
|100.0 | |100.0 | ||
|The distance that an entity is sent to | |The distance that an entity is sent to a client, recommended to be about 100.0 mainly because of game limits. | ||
|- | |- | ||
|streamoutdistance | |streamoutdistance | ||
|200.0 | |200.0 | ||
|The distance that an entity is removed from | |The distance that an entity is removed from a client, recommended to be about 200.0. '''Must be higher than streamindistance'''. | ||
|- | |- | ||
|syncinterval | |syncinterval | ||
|30 | |30 | ||
|The interval, in milliseconds, of each sync occurrence for the regularly sync'd data, between 0 and 65,535. | |The interval, in milliseconds, of each sync occurrence for the regularly sync'd data, between 0 and 65,535. | ||
|- | |||
|synclocalentities | |||
|false | |||
|Whether to sync local entities to other players (objects and entities created by a client and sent to server) | |||
|- | |- | ||
|syncmethod | |syncmethod | ||
|interval | |interval | ||
|The sync type for regularly sync'd data. Use none, interval, replay | |The sync type for regularly sync'd data. Use none, interval, or replay. (See sync methods section below.) | ||
|- | |- | ||
| | |syncpacketpriority | ||
| | |low | ||
| | |The priority of sync packets. Use low, medium, high, or immediate. | ||
|- | |||
|syncpacketreliable | |||
|false | |||
|Flags to bitwise-OR with for reliable packets. | |||
|- | |- | ||
| | |syncpacketunsequenced | ||
| | |false | ||
| | |Flags to bitwise-OR with for unsequenced packets. | ||
|- | |- | ||
| | |timesync | ||
|true | |true | ||
|Enables/disables | |Enables/disables syncing the time set by server to all clients. | ||
|- | |- | ||
| | |weathersync | ||
|true | |true | ||
| | |Enables/disables syncing the weather set by server to all clients. | ||
|- | |- | ||
| | |streaminterval | ||
| | |1000 | ||
| | |The interval, in milliseconds, between checking if elements should be streamed in/out for players, between 500-5000. | ||
|- | |- | ||
|} | |} | ||
== CVars == | == CVars == | ||
See the [[CVars|CVars]] page for info. | |||
== Sync Methods == | == Sync Methods == | ||
There are a few different config options for server sync. Here is the list of them and a brief description of each. | There are a few different config options for server sync. Here is the list of them and a brief description of each. | ||
{ | {{ServerSyncMethods}} | ||
== Optional Settings == | |||
Most of the XML server config settings are optional, and have a default value used if not specified.<br> | |||
The "Default Value" column in the settings list shows "required" if the setting is required.<br> | |||
To explicitly not specify a server config XML setting, either remove that setting's XML element, or comment it out with an XML comment.<br> | |||
Do not leave a setting's XML element present with a blank value. | |||
== IV Settings == | |||
Server config settings <code>iv_episode</code>, <code>iv_gamemode</code>, and <code>iv_nativemultiplayer</code>, are all optional to be specified in the server config XML file. Check the list above for default values.<br> | |||
'''When <code>iv_nativemultiplayer</code> is <code>false</code>:''' | |||
<code>iv_episode</code> and <code>iv_gamemode</code> are ignored, whether they are specified or not. | |||
'''When <code>iv_nativemultiplayer</code> is <code>true</code>:''' | |||
<code>iv_episode</code> and <code>iv_gamemode</code> are acknowledged and used if specified, or their default values are used if not specified.<br><br> | |||
<code>iv_gamemode -1</code><br> | |||
This means that an internal IV gamemode is not used, and that a sandboxed scripting environment is preferred.<br> | |||
A script will need to be present to fade the camera in and spawn the player, via scripting functions [[fadeCamera|fadeCamera]] and [[spawnPlayer|spawnPlayer]].<br><br> | |||
<code>iv_gamemode 30</code><br> | |||
This is an outdated value for <code>iv_gamemode</code>, and should not be used. Please use <code>-1</code> instead.<br> | |||
Using <code>iv_gamemode</code> with a value of <code>30</code>, is different than using <code>iv_gamemode</code> with a value of <code>-1</code>.<br> | |||
This setting value is currently left in for backward compatibility, however may become obsolete in the future. | |||
== Example == | |||
<source> | |||
<server> | |||
<!-- General Information --> | |||
<servername>Default Server</servername> | |||
<game>gta:iii</game> | |||
<gamemode>Free Roam</gamemode> | |||
<serverbrowser>true</serverbrowser> | |||
<maxplayers>32</maxplayers> | |||
<password></password> | |||
<minclientversion>1.5.0</minclientversion> | |||
<duplicatenames>false</duplicatenames> | |||
<!-- Networking --> | |||
<port>22000</port> | |||
<httpport>22000</httpport> | |||
<httpserver>true</httpserver> | |||
<streaminterval>1000</streaminterval> | |||
<syncinterval>30</syncinterval> | |||
<syncmethod>interval</syncmethod> | |||
<synclocalentities>true</synclocalentities> | |||
<!-- Element Streaming --> | |||
<streamindistance>200</streamindistance> | |||
<streamoutdistance>250</streamoutdistance> | |||
<pickupstreamindistance>30</pickupstreamindistance> | |||
<pickupstreamoutdistance>50</pickupstreamoutdistance> | |||
<!-- Logging --> | |||
<logpath>logs</logpath> | |||
<logtimestamp>[%d/%m/%Y - %X]</logtimestamp> | |||
<!-- GTA IV --> | |||
<!-- https://wiki.gtaconnected.com/Resources/GTAIV/GameModes --> | |||
<!-- https://wiki.gtaconnected.com/Resources/GTAIV/Episodes --> | |||
<iv_gamemode>8</iv_gamemode> | |||
<iv_episode>-1</iv_episode> | |||
<!-- Modules --> | |||
<!-- https://wiki.gtaconnected.com/Modules --> | |||
<modules> | |||
</modules> | |||
<!-- Global CVars --> | |||
<!-- https://wiki.gtaconnected.com/CVars --> | |||
<cvar name="nametags" value="1" /> | |||
<cvar name="gunshops" value="1" /> | |||
<cvar name="uniquestuntjumps" value="1" /> | |||
<cvar name="stuntjumps" value="1" /> | |||
<cvar name="stauntontoiletcamera" value="1" /> | |||
<cvar name="gates" value="1" /> | |||
<cvar name="trains" value="1" /> | |||
<cvar name="planes" value="1" /> | |||
<cvar name="maximumwantedlevel" value="6" /> | |||
<cvar name="defaultparkedcars" value="1" /> | |||
<cvar name="ambulances" value="1" /> | |||
<cvar name="traffic" value="1" /> | |||
<cvar name="civilians" value="1" /> | |||
<cvar name="defaultpickups" value="1" /> | |||
<cvar name="singleplayer" value="1" /> | |||
<cvar name="bigmap" value="1" /> | |||
<cvar name="iv_playerwalking" value="0" /> | |||
<cvar name="iv_scenariopeds" value="1" /> | |||
<cvar name="iv_randomcops" value="1" /> | |||
<!-- Rules --> | |||
<!-- https://wiki.gtaconnected.com/ServerRules --> | |||
<rule name="Owner" value="Nobody" /> | |||
<rule name="Website" value="https://gtaconnected.com" /> | |||
<!-- Resources --> | |||
<!-- https://wiki.gtaconnected.com/Resources --> | |||
<resources> | |||
! | <resource src="freeroam" /> | ||
! | </resources> | ||
</server> | |||
</source> | |||