####################################### # PSForever Server configuration file # ####################################### ################################################################################################### # EXAMPLE CONFIG # # Variable (type) # Description: Brief description what the variable is doing. # Important: Annotation for important things about this variable. # Example: "Example, i.e. if the value is a string" # Range: [0, 10] - (Disabled, Enabled) # Default: 10 - (Enabled|Comment|Variable name in case of grouped config options) # 0 - (Disabled|Comment|Variable name in case of grouped config options) # # Note to developers: # - Copy this example to keep the formatting. # - Line breaks should be at column 100. ################################################################################################### ################################################################################################### # DATABASE SETTINGS ################################################################################################### [database] # Hostname (string) # Description: The hostname of the PostgreSQL server. # Important: Make sure your database isn't accessible outside of localhost without a # strong username and password! # Default: "localhost" Hostname = "localhost" # Port (int) # Description: The TCP port to connect to the database with. # Range: [1, 65535] - (TCP port 1, TCP port 65535) # Default: 5432 - (Connect to TCP port 5432 -- the default for PostgreSQL) Port = 5432 # SSL (enum) # Description: The SSL configuration of the database connection. # Values: Disable - (Do not use SSL -- not recommended for public servers) # Prefer - (Try SSL first, but fallback to unencrypted) # Require - (Use SSL and fail if it is not enabled or configured correctly # Verify - (Use SSL and verify that the certificate is authentic) # Default: Prefer SSL = Prefer # Database (string) # Description: The database name to use on the SQL server. # Important: Make sure your username has been GRANTed ALL PRIVILEGES to the database. # See the setup documentation for instructions on achieving this. # Default: "psforever" Database = "psforever" # Username (string) # Description: The username to connect to the SQL server with. # Default: "psforever" Username = "psforever" # Password (string) # Description: The password to connect to the SQL server with. # Important: CHANGE THIS PASSWORD BEFORE RUNNING A PUBLIC SERVER. # Default: "psforever" Password = "psforever" ################################################################################################### # WORLDSERVER SETTINGS ################################################################################################### [worldserver] # ListeningPort (int) # Description: The UDP listening port for the worldserver. # Important: Must be different from the loginserver.ListeningPort. Ports below 1024 are # privileged on Linux and may require root. # Range: [1, 65535] - (UDP port 1, UDP port 65535) # Default: 51001 - (Listen on UDP port 51001) ListeningPort = 51001 # Hostname (string) # Description: The server's public hostname or IP address. Required when the server is # behind a proxy or running in a container/virtual machine. # Important: If left as the default, the hostname will be the same as the primary # internet interface. # Default: "" Hostname = "" # ServerName (string) # Description: The name of the server as displayed in the server browser. # Range: Length = [1, 31] # Default: "PSForever" ServerName = "PSForever" # ServerType (enum) # Description: How the server is displayed in the server browser. # Values: Released, Beta, Development # Default: Released ServerType = Released ################################################################################################### # LOGINSERVER SETTINGS ################################################################################################### [loginserver] # ListeningPort (int) # Description: The UDP listening port for the loginserver. # Important: Must be different from the worldserver.ListeningPort. Ports below 1024 are # privileged on Linux and may require root. # Range: [1, 65535] - (UDP port 1, UDP port 65535) # Default: 51000 - (Listen on UDP port 5100) ListeningPort = 51000 # CreateMissingAccounts (boolean) # Description: Account usernames that don't exist yet will be automatically created in the # database. Useful for test servers and development testing. # Important: Not recommended for production servers as typos are easy to make on # first registration. Use PSFPortal (https://github.com/psforever/PSFPortal) # instead. # Default: yes - (Enabled) # no - (Disabled) CreateMissingAccounts = yes ################################################################################################### # NETWORK SETTINGS ################################################################################################### [network] # Session.InboundGraceTime (time) # Description: The maximum amount of time since the last inbound packet from a UDP session # before it is dropped. # Important: Lower values will cause legitimate clients to be dropped during loading # screens, but higher values will make the server be more susceptible to # denial of service attacks and running out of memory. # Range: [10 seconds, 10 minutes] - (10 second grace, 10 minute grace) # Default: 1 minute - (Clients sending a packet at least # once a minute stay alive) Session.InboundGraceTime = 1 minute # Session.OutboundGraceTime (time) # Description: The maximum amount of time since the last outbound packet for a UDP session # before it is dropped. Can be used as a watchdog for hung server sessions. # Important: Lower values will cause legitimate clients to be dropped during server # lag spikes or Zone transitions. # Range: [10 seconds, 10 minutes] - (10 second grace, 10 minute grace) # Default: 1 minute - (Clients receiving a packet at least # once a minute stay alive) Session.OutboundGraceTime = 1 minute ################################################################################################### # DEVELOPER SETTINGS # - NETWORK SIMULATOR ################################################################################################### [developer] ################################################################################################### # NETWORK SIMULATOR # # NetSim.Active (boolean) # Description: Enable artificial packet unreliability. Used for development testing. # Active equally on upstream and downstream packets. # Important: DO NOT enable on servers with a high packet rate as buffering increases # the memory load of the server and it will (by design) affect performance. # Default: no - (Disabled) # yes - (Enabled) NetSim.Active = no # NetSim.Loss (float) # Description: The percentage of outgoing and incoming packets that are dropped. # Range: [0.0, 1.0] - (0% loss, 100% packet loss) # Default: 0.02 - (2% packet loss) NetSim.Loss = 0.02 # NetSim.Delay (time) # Description: The time a packet is buffered before being delivered to simulate delay. # The artificial delay is in addition to any real network latency. # Important: Longer delays will lead to larger packet buffering, which may cause # out-of-memory errors depending on packet rate. # Range: [0, 2 seconds] - (No delay, 2 seconds delay) # Default: 150 milliseconds - (Packets lag for 150 milliseconds) NetSim.Delay = 150 milliseconds # NetSim.ReorderChance (float) # Description: The percentage chance that a packet will be ordered randomly in the delay # buffer. If the NetSim.Delay is too small then packets won't be reordered. # Range: [0.0, 1.0] - (No packet reordering, reorder every packet) # Default: 0.005 - (0.5% chance of a packet being reordered) NetSim.ReorderChance = 0.005 # NetSim.ReorderTime (time) # Description: If a packet is reordered, the maximum time in the future or the past where # it will randomly appear. # Range: [0, 2 seconds] - (No packet reordering, randomly shift +/- 2 seconds) # Default: 150 milliseconds - (+/- 150 milliseconds) NetSim.ReorderTime = 150 milliseconds # ###################################################################################################