m (Reverted edits by 82.222.115.114 (talk) to last revision by Rosarch28968) Tag: Rollback |
Mjölnir Husky (talk | contribs) m (→Adding Admins in Admins.cfg: add how to whitelist/reserve) Tag: Visual edit |
||
Line 276: | Line 276: | ||
Group=Admin:changemap,balance,chat,kick,ban,cameraman,pause |
Group=Admin:changemap,balance,chat,kick,ban,cameraman,pause |
||
Group=Moderator:changemap,chat,kick,ban |
Group=Moderator:changemap,chat,kick,ban |
||
+ | Group=whitelist:reserve |
||
Admin=76561115695178:Moderator //Player 5 |
Admin=76561115695178:Moderator //Player 5 |
||
Admin=8915618948911:Moderator //Player 4 |
Admin=8915618948911:Moderator //Player 4 |
||
Line 282: | Line 283: | ||
Admin=917236241624:SuperAdmin //Player 1 |
Admin=917236241624:SuperAdmin //Player 1 |
||
Admin=45365435431:Admin //Player 8792 |
Admin=45365435431:Admin //Player 8792 |
||
+ | Admin=7984591565611:whitelist // Player 123 |
||
</pre>A list of group permission are as follows: |
</pre>A list of group permission are as follows: |
||
//// Valid access levels are as follows |
//// Valid access levels are as follows |
Revision as of 13:21, 6 March 2020
Requirements
Windows
Visual C++ Redistributable for Visual Studio 2013 vc_redist.x64.exe
Visual C++ Redistributable for Visual Studio 2015 vc_redist.x64.exe
DirectX End-User Runtimes (June 2010)
Linux
GLIBC 2.17 or higher
Installation
Windows
1. Download SteamCmd and extract to your preferred directory.
2. Open SteamCmd or create a file called "update server.bat" with the following contents.
SET STEAMCMD="C:\steamcmd\steamcmd.exe" %STEAMCMD% +login anonymous +force_install_dir "C:\servers\squad_server" +app_update 403240 validate
3. Run the .bat file to install the server files. When the installation is complete, you can close the window.
4. Go to the server folder ("C:\servers\squad_server"), and create a new file called "start.bat" with the following contents. This is the file you will use to start the server.
start SquadGameServer.exe Port=7787 QueryPort=27165 FIXEDMAXPLAYERS=80 RANDOM=ALWAYS -log
Your server is now installed, however you must still configure your network to allow players to connect to your server from the internet. You can find Squad's connection ports in the "Ports to Open" section below. Directions for port forwarding will be dependent on your model router / network setup.
Further info on server setup and configuration can be found in their respective sections on this page.
Linux
First of all this guide assumes you've got a Linux Distribution installed with 64 bit architecture. Most hosting companies will run 64bit so not to worry.
Other than that, this guide needs no Linux experience whatsoever and will be in completely "for dummies" mode.
Anything in this guide that comes after the symbol $ is a command that you're supposed to run in the Linux terminal.
PROTIP: The Linux terminal autocompletes with TAB. So if you have a file or folder called "testfolder" you can write "test" and press tab and it will autofill to testfolder!
A suggested software to use to connect to your Linux server terminal is PUTTY. https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe
Any questions? Contact [M] Nordic Socialist on Discord, you can find me in the Squad Hosting discord or www.mumblerines.com/discord
All right, let's get started:
INSTALLING SERVER:
1. Log in as root and install the software screen and a library needed for SteamCMD
Debian/Ubuntu: $ apt-get install screen lib32gcc1 CentOS: $ yum -y install screen glibc libstdc++ glibc.i686 libstdc++.i686
2. Create a user you want to use for the squadgameservers.
$ adduser username
Enter a password for the user of your own choosing. You may have to change the password with "sudo passwd username" When prompted for full name, room number, work phone, home phone, and other just press enter. When asked if information is correct write Y and press enter
3. Log on to the new user account: ssh username@localhost and then the password you selected.
4. Make a directory named SquadGameServer
$ mkdir SquadGameServer
5. Enter the folder
$ cd SquadGameServer
6. Download and extract SteamCMD using one of these commands
$ wget -q -O - https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar xzv $ curl -so - https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar xzv
NOTE: Some have complained about getting an untrusted/license error of some sort. If that is the case, try this:
$ wget -q -O - http://media.steampowered.com/installer/steamcmd_linux.tar.gz | tar xzv $ curl -so - http://media.steampowered.com/installer/steamcmd_linux.tar.gz | tar xzv
7. Create a script for installing (And later updating) the first server instance
$ echo "./steamcmd.sh +login anonymous +force_install_dir server1 +app_update 403240 validate" > updateserver1.sh
8. Make the script executable
$ chmod +x updateserver1.sh
9. Install the server instance (this same command is used later to update the server when a new version is released.)
$ ./updateserver1.sh
10. When it's finished it will say "Success! App '403240' fully installed." Quit SteamCMD by writing
$ exit
and hitting enter.
11. Create a script for starting the server instance
$ echo "cd server1; ./SquadGameServer.sh Port=7787 QueryPort=27165 FIXEDMAXPLAYERS=80 RANDOM=NONE" > startserver1.sh
12. Make the script executable
$ chmod +x startserver1.sh
13. Open a screen window to run the server in then enter that screen
$ screen -dmS server1 $ screen -r server1
14. Start your server
$ ./startserver1.sh
Screen allows the server to run even if you've shut down your SSH session (putty).
EDITING CONFIG FILES:
1. Log on as your the user account running the server and go into the Serverconfig folder located in SquadGameServer/server1/SquadGame/ServerConfig in our example.
$ cd SquadGameServer/server1/SquadGame/ServerConfig
2. Open the file you wish to edit with a text editor (in this case nano).
$ $EDITOR Server.cfg
Edit file. When you're done, save the file. If you are using nano save the file with ctrl+o and then enter. Exit nano with ctrl+x.
STOPPING SERVER:
1. SSH to your linux server as the user running the squadgameserver. (Not root) Once in the terminal, open up the screen for said server instance, in above example called server1
$ screen -r server1
2. You will now see the SquadGameServer log window, press CTRL+C and it will shut the server down. After that you can start it again with your startcommand.
Docker
If your server is running Docker, you can skip the above steps and simply use:
docker run -d --net=host --name=squad-dedicated cm2network/squad
The container will automatically update the game on startup, so if there is a game update just restart the container.
The config is located here: /home/steam/squad-dedicated/SquadGame/ServerConfig/
- Docker Volumes
When a Docker container is destroyed, it’s entire file system is destroyed too. Instead of editing files on the container, its a good idea to use Docker Volumes, the benefit of this is that the data is persistent, if you remove the container and create a new one from the image you wont need to amend any config files.
docker run -d --net=host --volume=/<Your local directory>:/home/steam/squad-dedicated --name=squad-dedicated cm2network/squad
- Multiple Instances
If you want to launch another instance you can increment the environment variables, using -e (--env):
docker run -d --net=host -e PORT=7788 -e QUERYPORT=27166 -e RCONPORT=21115 --name=squad-dedicated2 cm2network/squad
Make sure you dont forget to update Rcon.cfg with the new port (the config defaults to 21114).
You can find the associated Docker Hub page here: https://hub.docker.com/r/cm2network/squad/
MULTI INSTANCE
Linux
The important things to create different instance inside your server are these:
- Duplicate the directory and rename it.
- After that, edits the config files and set on the Rcon.cfg a port 10 numbers later the one of the previous instance.
EXAMPLE:
Server1 Rcon Port: 21114
Server2 Rcon Port: 21124
- Keep on your mind to change the port of connection in the start.sh script to avoid other problems.
BETA PARAMETERS
Linux
./steamcmd.sh +login anonymous +force_install_dir server1 +app_update 403240 -beta NAMEOFTHEBETA -betapassword PASSWORD validate +quit
Windows
SET STEAMCMD="C:\steamcmd\steamcmd.exe" %STEAMCMD% +login anonymous +force_install_dir "C:\servers\squad_server" +app_update 403240 -beta NAMEOFTHEBETA -betapassword PASSWORD validate +quit
Tips
Make sure Steam Client is closed. If its open Squad Server will not run. For support issues related to server hosting please visit our Discord Server http://discord.me/squadhosting
(Windows) Allowing the SquadGameServer.exe files through the firewall will save you headaches.
When hosting a Squad server and playing Squad on the same PC, the server must be started before logging on to Steam and launching Squad. Otherwise it won't work.
AppID - 403240
Ports to Open
Need to be open on Windows firewall and router.
Port = Game port = UDP (Default 7787, 7788 UDP)
QueryPort = Steam query port = UDP (Default 27165 UDP)
QueryPort+1 = Second Steam query port = UDP and TCP (Default 27165, 27166 UDP and TCP)
RCON Port = UDP and TCP (Default 21114) must be open.
Command Line
All of the following parameters can be added to your starting command line for additional configuration. Be careful to avoid typos when adding these!
MULTIHOME = The IP Address you want to bind the server to. (Use only if you have multiple IPs on your server) (Optional)
Port = Game port
QueryPort = Steam query port
RANDOM = Randomize map rotation (ALWAYS, FIRST, NONE) (Optional)
FIXEDMAXPLAYERS = Player count cannot go higher than this (Optional)
FIXEDMAXTICKRATE = MAX server tickrate (Optional)
PREFERPREPROCESSOR = CPU Affinity (Optional) UNTESTED
-log = Display a log window on the server (Optional)
-fullcrashdump = Save a full dump file on crash (can become quite large sometimes) (Optional)
The following line implements additional start parameters as an example.
start SquadGameServer.exe MULTIHOME=1.2.3.4 Port=7787 QueryPort=27165 FIXEDMAXPLAYERS=80 FIXEDMAXTICKRATE=50 RANDOM=ALWAYS -log
Set processor Affinity
Windows
You can use the start-command allows you to set the core thread affinity for each server (if you run several servers on one machine):
start /AFFINITY C /WAIT SquadGameServer.exe Port=7787 QueryPort=27165 FIXEDMAXPLAYERS=80 RANDOM=ALWAYS -log
Calculating AFFINITY
Open your Windows calculator.
Step 1 - Click menu icon
Step 2 - Enable "programmer" mode
Step 3 - Toggle bit keypad
Step 4 - Click until you see BYTE which corresponds to 4 core 8 threads CPU (You can select other values to correspond your CPU).
Step 5 - Click on HEX
Core thread count starts from 0, you can see which number is responsible for which core thread on the third image. 1 means core thread is selected, 0 means core thread is ignored.
Result you need is shown in "HEX", if you have all core thread selected 0-7 you will see "FF" as your result. For our /AFFINITY parameter we need then "FF" to set the core affinity to all core threads. If you want to select only core threads 4-7 (0000 1111) your result should be "F".
Linux
Linux users can also set their core affinity by using the "taskset" command in their start line. Keep in mind that core threads are zero-indexed. This means if you have 8 processor threads, you can assign cores 0-7.
cd server1; taskset -c 0-3 ./SquadGameServer.sh Port=7787 QueryPort=27165 FIXEDMAXPLAYERS=80 RANDOM=NONE
Files (Instanced hosts start here)
Configuration files are located in C:\servers\squad_server\SquadGame\ServerConfig\
Configuration files located in this directory are
Admins.cfg Bans.cfg License.cfg MapRotation.cfg Motd.cfg (optional) Rcon.cfg RemoteAdminListHosts.cfg RemoteBanListHosts.cfg Server.cfg ServerMessages.cfg
Adding Admins in Admins.cfg
Admins are now created by groups and groups are assigned to admins. You can create as many groups as you want with any types of permissions. All the permissions will be in the config file commented out. These files will not be over writeable so when we add new permissions you will need to check here or the wiki for updates. The below are just examples. Please note that it needs to be SteamId64. You can convert your ID at steamid.io/lookup/
Group=SuperAdmin:changemap,cheat,private,balance,chat,kick,ban,config,cameraman,debug,pause Group=Admin:changemap,balance,chat,kick,ban,cameraman,pause Group=Moderator:changemap,chat,kick,ban Group=whitelist:reserve Admin=76561115695178:Moderator //Player 5 Admin=8915618948911:Moderator //Player 4 Admin=7894591951519:Admin //Player 3 Admin=7984591565611:SuperAdmin //Player 2 Admin=917236241624:SuperAdmin //Player 1 Admin=45365435431:Admin //Player 8792 Admin=7984591565611:whitelist // Player 123
A list of group permission are as follows:
//// Valid access levels are as follows //// startvote - not used //// changemap //// pause - Pause server gameplay //// cheat - Use server cheat commands //// private - Password protect server //// balance - Group Ignores server team balance //// chat - Admin chat and Server broadcast //// kick //// ban //// config - Change server config //// cameraman - Admin spectate mode //// immunity - Cannot be kicked / banned //// manageserver - Shutdown server //// featuretest - Any features added for testing by dev team //// reserve - Reserve slot //// demos - Record Demos (not working) //// debug - show admin stats command and other debugging info //// teamchange - No timer limits on team change //// forceteamchange - Can issue the ForceTeamChange command //// canseeadminchat - This group can see the admin chat and teamkill/admin-join notifications
Bans in Bans.cfg
This is where your bans will go. They need to be in the format of
steamid:unix timestamp of unban //comment
So an example file will look like this
76561198039509812:0 //Permanent ban for cheating 7862895148978485:1454455855 //team killing
Make sure if you manually add / remove a ban that the file ends with a new line character. Each ban goes on its own line.
Map Rotation in MapRotation.cfg
This is where you add map rotation for the server, the list below details all the current layers, you can adjust accordingly till you get a rotation that works for you.
Al Basrah AAS v1 Al Basrah Insurgency v1 Al Basrah Invasion v1 Al Basrah Invasion v2 Al Basrah RAAS v1 Al Basrah Skirmish v1 Al Basrah Skirmish v2 Al Basrah TC v1 Al Basrah TC v2 Belaya AAS v1 Belaya Invasion v1 Belaya Invasion v2 Belaya Invasion v3 Belaya RAAS v1 Belaya RAAS v2 Belaya RAAS v3 Belaya Skirmish v1 Belaya TC v1 Chora AAS v1 Chora AAS v2 Chora Insurgency v1 Chora Invasion v1 Chora Invasion v2 Chora RAAS v1 Chora RAAS v2 Chora Skirmish v1 Chora TC v1 Fool's Road AAS v1 Fool's Road AAS v3 Fool's Road RAAS v1 Fool's Road RAAS v2 Fool's Road RAAS v3 Fool's Road Invasion v1 Fool's Road Destruction v1 Fool's Road Skirmish v1 Fool's Road Skirmish v2 Fool's Road TC v1 Gorodok AAS v1 Gorodok AAS v2 Gorodok Destruction v1 Gorodok Insurgency v1 Gorodok Invasion v1 Gorodok Invasion v2 Gorodok RAAS v1 Gorodok RAAS v2 Gorodok RAAS v3 Gorodok RAAS v4 Gorodok RAAS v5 Gorodok Skirmish v1 Gorodok TC v1 CAF_Gorodok_Invasion_v1 CAF_Gorodok_RAAS_v1 CAF_Gorodok_RAAS_v2 CAF_Gorodok_TC_v1 Jensen's Range v1 # BA vs Mil Jensen's Range v2 # US vs RU Jensen's Range v3 # US vs Ins Jensens_Range_v4 # CA vs Ins Kamdesh AAS v1 Kamdesh Insurgency v1 Kamdesh Insurgency v2 Kamdesh Invasion v1 Kamdesh Invasion v2 Kamdesh Invasion v3 Kamdesh RAAS v1 Kamdesh RAAS v2 Kamdesh RAAS v3 Kamdesh RAAS v4 Kamdesh Skirmish v1 Kamdesh TC v1 Kamdesh TC v2 CAF_Kamdesh_Invasion_v1 CAF_Kamdesh_RAAS_v1 CAF_Kamdesh_TC_v1 Kohat AAS v1 Kohat Insurgency v1 Kohat Invasion v1 Kohat Invasion v2 Kohat RAAS v1 Kohat RAAS v2 Kohat RAAS v3 Kohat RAAS v4 Kohat Skirmish v1 Kohat TC v1 CAF_Kohat_Invasion_v1 Kokan Valley AAS v1 Kokan Insurgency v1 Kokan Invasion v1 Kokan RAAS v1 Kokan RAAS v2 Kokan Skirmish v1 Kokan TC v1 Logar Valley AAS v1 Logar Valley AAS v2 Logar Valley Insurgency v1 Logar Valley RAAS v1 Logar Valley Skirmish v1 Logar Valley TC v1 CAF_Manic_Invasion_v1 CAF_Manic_Invasion_v2 CAF_Manic_RAAS_v1 CAF_Manic_RAAS_v2 CAF_Manic_RAAS_v3 CAF_Manic_RAAS_v4 CAF_Manic_Skirmish_v1 CAF_Manic_Skirmish_v2 CAF_Manic_TC_v1 Mestia AAS v1 Mestia Invasion v1 Mestia Invasion v2 Mestia RAAS v1 Mestia Skirmish v1 Mestia TC v1 Mutaha AAS v1 Mutaha Invasion v1 Mutaha RAAS v1 Mutaha Skirmish v1 Mutaha TC v1 Mutaha TC v2 CAF_Nanisivik_Invasion_v1 CAF_Nanisivik_Invasion_v2 CAF_Nanisivik_RAAS_v1 CAF_Nanisivik_RAAS_v2 Narva AAS v1 Narva AAS v2 Narva AAS v3 Narva Destruction v1 Narva Invasion v1 Narva Invasion v2 Narva RAAS v1 Narva Skirmish v1 Narva TC v1 Narva TC v2 Skorpo AAS v1 Skorpo RAAS v1 Skorpo RAAS v2 Skorpo RAAS v3 Skorpo RAAS v4 Skorpo Invasion v1 Skorpo Invasion v2 Skorpo Skirmish v1 Skorpo TC v1 Skorpo TC v2 Skorpo TC v3 Sumari AAS v1 Sumari Insurgency v1 Sumari Invasion v1 Sumari RAAS v1 Sumari RAAS v2 Sumari Skirmish v1 Sumari TC v1 Tallil Outskirts AAS v1 Tallil Outskirts Invasion v1 Tallil Outskirts Invasion v2 Tallil Outskirts Invasion v3 Tallil Outskirts RAAS v1 Tallil Outskirts RAAS v2 Tallil Outskirts RAAS v3 Tallil Outskirts RAAS v4 Tallil Outskirts Skirmish v1 Tallil Outskirts Skirmish v2 Tallil Outskirts Skirmish v3 Tallil Outskirts Tanks v1 Tallil Outskirts Tanks v2 Tallil Outskirts TC v1 Yehorivka AAS v1 Yehorivka AAS v2 Yehorivka Destruction v1 Yehorivka Invasion v1 Yehorivka Invasion v2 Yehorivka RAAS v1 Yehorivka RAAS v2 Yehorivka RAAS v3 Yehorivka RAAS v4 Yehorivka RAAS v5 Yehorivka Skirmish v1 Yehorivka Skirmish v2 Yehorivka Skirmish v3 Yehorivka TC v1 Yehorivka TC v2 CAF_Yehorivka_Invasion_v1 CAF_Yehorivka_RAAS_v1 CAF_Yehorivka_TC_V1
Map Rotation: Add Steam-Workshop Maps
See this article: How to add one or more Steam Workshop Maps to the Squad Server
Message of the day in Motd.cfg
Motd.cfg is an optional file that can be created the ServerConfig folder that will display a small text box to each player on entering the server. This is ideal for displaying server information, simple rules, or other messages. Be mindful though that text entered into this file will not wrap in game, and will overflow out of view.
Remote Admin Lists in RemoteAdminListHosts.cfg
Each line should contain a URL to the admin file. The admin file will follow the exact same format as above. This should be used if you run multiple servers and would like to have a single admin file for all of them. If a player is listed in multiple files, their permissions will be combined.
Remote Ban Lists in RemoteBanListHosts.cfg
Each line should contain a URL to the ban file. The ban file will follow the exact same format as above. This should be used if you run multiple servers and would like to have a single admin file for all of them.
Server Configuration Settings in Server.cfg
This is the general server config file. Each variable should be on its own line. New additions will be added to this wiki. Since we do not overwrite config files you will need to manually add them to your existing server config if you wish to alter the default value.
- Special characters in ServerName: If special characters in the server name show up as "????" in the Server browser, a possible solution is to use a word processor like Microsoft Word, open a new document and insert the character you want to use, then select and copy the character into the ServerName line in your Server.cfg file, e.g
ServerName="Test Server Λ"
.
ServerName="Squad Dedicated Server" IsLANMatch=false ShouldAdvertise=true MaxPlayers=40 NumReservedSlots=0 NumPlayersDiffForTeamChanges=3 AllowTeamChanges=true PreventTeamChangeIfUnbalanced=true EnforceTeamBalance=true RejoinSquadDelayAfterKick=180 ServerMessageInterval=300 ServerPassword=Password AutoTkBanTime=1209600 TKAutoKickEnabled=true //set to false to disable autokick system, required true for licensed servers. RecordDemos=false VehicleClaimingDisabled=false VehicleKitRequirementDisabled=false AllowQA=false // Forced on for Licensed servers (Only OWI staff & qa are admins) AllowCommunityAdminAccess=false // Forced on for Licensed servers (Only OWI devs) AllowDevProfiling=false
Server Messages in ServerMessages.cfg
This will rotate server messages every x seconds (based on Server.cfg setting). Each message should have its own line. This should be used to display server rules and contact information.
Rcon control in Rcon.cfg
If you do not want to use RCON, leave the password= empty. NOTE: Leaving the RCONIP=0.0.0.0 will bind it to the public default IP. If your server has multiple IP's please specify the address here.
// Edit this IP to bind the RCON socket to an alternate IP address. // Alternatively, set this from the command line with the argument: // RCONIP=0.0.0.0 IP=0.0.0.0 // Edit this IP to bind the RCON socket to an alternate port. // Alternatively, set this from the command line with the argument: // RCONPORT=21114 Port=21114 // Set this to enable the usage of RCON with the given password for login. // Leaving this empty will keep RCON turned off. // Alternatively, set this from the command line with the argument: // RCONPASSWORD=MyPassword Password= // Set this to set the maximum number of allowable concurrent RCON // connections to the server. // Alternatively, set this from the command line with the argument: // RCONMAXCONNECTIONS=5 MaxConnections=5 // Edit this to customize the number of seconds without contact from a connected // console before the server checks with that computer to see if the session is // still active, or if it got disconnected. Supports values between 30 and 3600. // Alternatively, set this from the command line with the argument: // RCONSECONDSBEFORETIMEOUTCHECK=120 SecondsBeforeTimeoutCheck=120
Tournament Mode
1. To enable tournament mode, you must run the server instance at least once to generate the necessary file.
2. Go to your server folder, and locate the Game.ini file under \Saved\Config\WindowsServer, (or Saved\Config\LinuxServer), and add the below contents as needed.
3. A server restart is necessary to apply any changes to the tournament mode configuration.
For more information, see this forum post. This mode was added with Alpha 5.2.
V15 compatible version:
[/Script/Squad.SQGameMode] bTournamentMode=true [/Script/Squad.SQTournamentModeRuleset] Restrictions=(Setting="r.ShadowQuality", Min=1, Max=5) Restrictions=(Setting="r.ViewDistanceQuality", Min=3, Max=4) Restrictions=(Setting="r.ViewDistanceScale", Min=1, Max=4) Restrictions=(Setting="grass.MaxUpdateFrequency", Min=10, Max=40)
Old version:
[/Script/Squad.SQGameMode] bTournamentMode=true [/Script/Squad.SQTournamentModeRuleset] Restrictions=(Setting="r.LightFunctionQuality", Min=1, Max=1) Restrictions=(Setting="r.ShadowQuality", Min=3, Max=5) Restrictions=(Setting="r.Shadow.CSM.MaxCascades", Min=1, Max=10) Restrictions=(Setting="r.Shadow.MaxResolution", Min=1024, Max=4096) Restrictions=(Setting="r.Shadow.RadiusThreshold", Min=0.03, Max=0.05) Restrictions=(Setting="r.Shadow.DistanceScale", Min=0.5, Max=1.0) Restrictions=(Setting="r.Shadow.CSM.TransitionScale", Min=0.4, Max=1.0) Restrictions=(Setting="r.DistanceFieldShadowing", Min=0, Max=1) Restrictions=(Setting="r.DistanceFieldAO", Min=0, Max=1) Restrictions=(Setting="r.AllowLandscapeShadows", Min=0, Max=1) Restrictions=(Setting="r.MotionBlurQuality", Min=0, Max=4) Restrictions=(Setting="r.AmbientOcclusionMipLevelFactor", Min=0.4, Max=1.0) Restrictions=(Setting="r.AmbientOcclusionMaxQuality", Min=0, Max=100) Restrictions=(Setting="r.DepthOfFieldQuality", Min=0, Max=4) Restrictions=(Setting="r.RenderTargetPoolMin", Min=300, Max=1000) Restrictions=(Setting="r.LensFlareQuality", Min=0, Max=3) Restrictions=(Setting="r.SceneColorFringeQuality", Min=0, Max=1) Restrictions=(Setting="r.EyeAdaptationQuality", Min=0, Max=2) Restrictions=(Setting="r.FastBlurThreshold", Min=0, Max=100) Restrictions=(Setting="r.Upscale.Quality", Min=1, Max=3) Restrictions=(Setting="r.Tonemapper.GrainQuantization", Min=0, Max=1) Restrictions=(Setting="r.LightShaftQuality", Min=0, Max=1) Restrictions=(Setting="r.Filter.SizeScale", Min=0.6, Max=1) Restrictions=(Setting="r.Tonemapper.Quality", Min=0, Max=5) Restrictions=(Setting="r.SkeletalMeshLODBias", Min=-1, Max=0) Restrictions=(Setting="r.ViewDistanceScale", Min=1.0, Max=10.0) Restrictions=(Setting="r.MipMapLODBias", Min=-1, Max=0) Restrictions=(Setting="r.Streaming.MipBias", Min=0, Max=1.5) Restrictions=(Setting="r.MaxAnisotropy", Min=0, Max=16) Restrictions=(Setting="r.TranslucencyLightingVolumeDim", Min=24, Max=64) Restrictions=(Setting="r.RefractionQuality", Min=0, Max=2) Restrictions=(Setting="r.SSR.Quality", Min=0, Max=4) Restrictions=(Setting="r.SceneColorFormat", Min=3, Max=4) Restrictions=(Setting="r.DetailMode", Min=0, Max=2) Restrictions=(Setting="r.TranslucencyVolumeBlur", Min=0, Max=1) Restrictions=(Setting="r.MaterialQualityLevel", Min=0, Max=2) Restrictions=(Setting="r.SSS.Scale", Min=0, Max=1) Restrictions=(Setting="r.SSS.SampleSet", Min=0, Max=2) Restrictions=(Setting="r.EmitterSpawnRateScale", Min=0.125, Max=1.0) Restrictions=(Setting="r.ParticleMinTimeBetweenTicks", Min=8, Max=33) Restrictions=(Setting="foliage.DensityScale", Min=0, Max=1.0) Restrictions=(Setting="grass.DensityScale", Min=0, Max=1.0) Restrictions=(Setting="grass.MaxUpdateFrequency", Min=10, Max=30) Restrictions=(Setting="r.PostProcessAAQuality", Min=0, Max=6) Restrictions=(Setting="r.Shadow.MaxCSMResolution", Min=512, Max=4096) Restrictions=(Setting="r.VolumetricFog", Min=0, Max=1) Restrictions=(Setting="r.Streaming.LimitPoolSizeToVRAM", Min=0, Max=1) Restrictions=(Setting="r.Streaming.MaxEffectiveScreenSize", Min=0, Max=0) Restrictions=(Setting="r.SSS.HalfRes", Min=0, Max=1) Restrictions=(Setting="r.ParticleLightQuality", Min=0, Max=2)