LEAP
 This topic has been pinned, so it's probably important
Laura  [developer] Aug 23, 2022 @ 1:17pm
Official Unofficial LEAP Linux Server Set Up
Hello Mercenaries, here's a look at how you can set up your own Linux server for LEAP! Big thanks goes out to Quant for creating this guide. :) You can find the original guide here: https://aroad.eu/server/gameservers/leap-server-setup-l/

STEP 1


Create User
First thing first, you need to be logged in to your server.
Either directly or via ssh. Remember to login as a root privilege user.
Then we are going to be adding a user to use for the game server.
I’m going to be using the user named steam for this.

1. Run this command to create a user:
sudo useradd -m steam
2. Set the password for user steam:
sudo passwd steam
3. Give steam root access:
sudo usermod -aG sudo steam
4. Change to the new user:
sudo -u steam -s

STEP 2


SteamCMD
Now we need to download SteamCMD.
This will later download the LEAP server for us.

1. First we are going to change the location to Steam user directory:
cd /home/steam
2. Then we are going to create a directory for steamcmd(run both to make servers and steamcmd directory):
mkdir servers
mkdir servers/steamcmd
3. Now we are going to add necessary repository’s for steamcmd (run all commands under):
sudo add-apt-repository multiverse
sudo apt install software-properties-common
sudo dpkg –add-architecture i386
sudo apt update
sudo apt install lib32gcc-s1
4. Next we need to change to the steamcmd directory:
cd servers/steamcmd/
5. Then we download steamcmd:

STEP 3


LEAP server download
We will use SteamCMD now to download the leap server files.
But we will also create a directory for the server.

1. Crate the directory for the leap server files (make sure you are at location /home/steam/servers):
mkdir leap
2. Now we need to find the SteamCMD start script:
cd steamcmd
3. We will make the SteamCMD script executable:
sudo chmod +x steamcmd.sh
4. And then run the SteamCMD script (this will download the latest steamcmd files):
./steamcmd.sh
5. When done with download SteamCMD files lets set where the leap server should download too:
force_install_dir /home/steam/servers/leap
6. Then we need to login to steam (we will use anonymous):
login anonymous
7. Download the server files (steamID for leap server is 906940):
app_update 906940 +quit
8. Exit SteamCMD:
exit

STEP 4


Copy SteamAPI
We also need to copy the SteamAPI files from the leap directory to the directory the server will be looking for it.
We also need to create the directory that it needs.

1. Create the directory:
mkdir /home/steam/.steam/sdk64
2. We need to copy the file from one directory to the other:
cp /home/steam/servers/leap/linux64/steamclient.so /home/steam/.steam/sdk64

STEP 5


Generate config files
To generate the game config files we need to run the server one time.
After this we will shut it down to edit the files.

1. Locate the server start script:
cd /home/steam/servers/leap
2. Let’s start the server (there will be a lot of text, so don’t worry):
./LEAPServer.sh -log
3. To stop the server press “CTRL+C”

STEP 6


LEAP server config
After the config files have been generated we need to go and edit them.
Or we just need to edit the Game.ini file.
You can do it all manually or download a premade file and edit the settings.
Game.ini keeps the setting for the server name, region, password, mods, maps….

Manual:
1. We are going to locate the Game.ini file now:
cd LEAP/Saved/Config/

2. Open the Game.ini file (i like using nano for editing files):
nano Game.ini

3. Under you will find all the different types of config lines you can use in this file.
Choose the one you want to add and post/write them in your file.
You need to add server name or it will show up as DefaultName

Game Session
[/script/projectx.projectxgamesession] ServerName=Aroad Test Server //If you don’t fill this out, your server will show up as ‘DefaultName’ in the server browser ServerRegion=europe //Telegraph what region your server is from, other options are uswest, asia, russia, europe, australia, brazil ServerPassword= //Use this to prevent unwanted visitors. They will be required to enter this password in order to join your server from the browser
Game Mode
[/script/projectx.projectxgamemode] MaxPlayersOverride= //Number of players allowed in the server, if unused will use the gamemode default MaxTeamImbalance=2 //How many more players can be on one team vs the other, default 2 MatchLengthOverride= //Overrides the length of the match with the specified value. If not specified, will use the game mode’s default MaxPlayerDeployablesOverride=1 //Overrides the number of deployables a player is allowed to have at once. Default is 1
Game State
[/script/projectx.projectxgamestate] RespawnDelayOverride= //Override respawn times RedeployRespawnDelayOverride= //Override redeploy times UltimateDamageMultiplier=1.0 //Multiplies the damage of ultimates ExplosiveDamageMultiplier=1.0 //Multiplies the damage of explosives HeadshotDamageMultiplier=1.0 //Multiplies the damage of headshots WeaponDamageMultiplier=1.0 //Multiplies the damage of ultimates AbilityCooldownMultiplier=1.0 //Multiplies the cooldown of abilities HookshotDistanceMultiplier=1.0 //Multiplies the distance of the hookshot HookshotSpeedMultipler=1.0 //Multiplies the speed of the hookshot UltimateChargeRateMultiplier=1.0 //Multiplies the speed of ultimate charge GrenadeCountModifier=0.0 //Modifies the number of grenades a player can carry DashChargeModifier=0 //Modifies the number of dash charges GravityMultiplier=1.0 //Multiplier for the amount of gravity affecting players GroundSpeedMultiplier=1.0 //Multiplier for ground speed bIsAmmoLimited=false //Overrides the unlimited ammo flag on weapons, rendering their ammo limited
Player Controller
[/script/projectx.projectxplayercontroller] IdleTimeoutTime= //How long before an idle player is kicked?
Remote Console
[/script/projectx.remoteconsole] WebServerPort=8000 //Port to listen on for the remote console WebServerPass=password //Remote console password WebServerUsername=admin //Remote control username
Game Instance
[/script/projectx.projectxgameinstance] bEnableAntiCheatForServer=true //Setting this to false will disable anti-cheat protection on your server. This means players that are not running anti-cheat will be free to join your server without being kicked. ModIds= //List the ids of mods contained in your server’s mods folder (downloaded from mod.io) to be loaded. These mods will be downloaded by clients when they attempt to join your server MutatorList= //An array of mutators that can be referenced either from the game or mod packages WhitelistedAdmins= //List steamIds here to grant yourself and others access to admin commands from the game chat. Type “/serverhelp” once in-game MapListConfig= //List maps for them to load when the server starts. You can add multiple maps in the order you want them to rotate.
Template:
1. First we need to open the directory we want to download it too:
cd LEAP/Saved/Config/
2. Then we download the template:
3. Open the Game.ini file (i like using nano for editing files):
nano Game.in
4. Edit the lines you want and delete the lines you don’t want to make sure they don’t impact the server and then save the file.

STEP 7


LEAP Server Maps & Mods
  1. Now we are going to add the maps and mods we want to have on the server.
    The maps are loaded with the spesial gamemode types.
  2. To add a map we are going to be editing the game.ini again.
    We need to find the maps we want to use first.
  3. In the list under choose what maps/gamemode you want to use.
PvP Base Control Large
MapListConfig=/Game/Maps/LevelInfo/LI_Canyon_BaseControl_Large.LI_Canyon_BaseControl_Large_C MapListConfig=/Game/Maps/LevelInfo/LI_Furong_BaseControl_Large.LI_Furong_BaseControl_Large_C MapListConfig=/Game/Maps/LevelInfo/LI_Valley_BaseControl_Large.LI_Valley_BaseControl_Large_C MapListConfig=/Game/Maps/LevelInfo/LI_AlpineBasin_BaseControl_Large.LI_AlpineBasin_BaseControl_Large_C MapListConfig=/Game/Maps/LevelInfo/LI_Magma_BaseControl_Large.LI_Magma_BaseControl_Large_C MapListConfig=/Game/Maps/LevelInfo/LI_JaggedPeaks_BaseControl_Large.LI_JaggedPeaks_BaseControl_Large_C
PvP Base Control Medium
MapListConfig=/Game/Maps/LevelInfo/LI_Canyon_BaseControl_Medium.LI_Canyon_BaseControl_Medium_C MapListConfig=/Game/Maps/LevelInfo/LI_Furong_BaseControl_Medium.LI_Furong_BaseControl_Medium_C MapListConfig=/Game/Maps/LevelInfo/LI_Valley_BaseControl_Medium.LI_Valley_BaseControl_Medium_C MapListConfig=/Game/Maps/LevelInfo/LI_AlpineBasin_BaseControl_Medium.LI_AlpineBasin_BaseControl_Medium_C MapListConfig=/Game/Maps/LevelInfo/LI_Magma_BaseControl_Medium.LI_Magma_BaseControl_Medium_C MapListConfig=/Game/Maps/LevelInfo/LI_JaggedPeaks_BaseControl_Medium.LI_JaggedPeaks_BaseControl_Medium_C
PvP Base Control Small
MapListConfig=/Game/Maps/LevelInfo/LI_Canyon_BaseControl_Small.LI_Canyon_BaseControl_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_Furong_BaseControl_Small.LI_Furong_BaseControl_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_Valley_BaseControl_Small.LI_Valley_BaseControl_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_AlpineBasin_BaseControl_Small.LI_AlpineBasin_BaseControl_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_Magma_BaseControl_Small.LI_Magma_BaseControl_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_JaggedPeaks_BaseControl_Small.LI_JaggedPeaks_BaseControl_Small_C
PvP TDM Small
MapListConfig=/Game/Maps/LevelInfo/LI_Canyon_TeamDeathmatch_Small.LI_Canyon_TeamDeathmatch_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_Furong_TeamDeathmatch_Small.LI_Furong_TeamDeathmatch_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_Valley_TeamDeathmatch_Small.LI_Valley_TeamDeathmatch_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_AlpineBasin_TeamDeathmatch_Small.LI_AlpineBasin_TeamDeathmatch_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_Magma_TeamDeathmatch_Small.LI_Magma_TeamDeathmatch_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_JaggedPeaks_TeamDeathmatch_Small.LI_JaggedPeaks_TeamDeathmatch_Small_C
PvP CTF Small
MapListConfig=/Game/Maps/LevelInfo/LI_Canyon_CTF_Small.LI_Canyon_CTF_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_Furong_CTF_Small.LI_Furong_CTF_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_Valley_CTF_Small.LI_Valley_CTF_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_AlpineBasin_CTF_Small.LI_AlpineBasin_CTF_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_Magma_CTF_Small.LI_Magma_CTF_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_JaggedPeaks_CTF_Small.LI_JaggedPeaks_CTF_Small_C
PvP KOTH Medium
MapListConfig=/Game/Maps/LevelInfo/LI_Canyon_KOTH_Medium.LI_Canyon_KOTH_Medium_C MapListConfig=/Game/Maps/LevelInfo/LI_Furong_KOTH_Medium.LI_Furong_KOTH_Medium_C MapListConfig=/Game/Maps/LevelInfo/LI_Valley_KOTH_Medium.LI_Valley_KOTH_Medium_C MapListConfig=/Game/Maps/LevelInfo/LI_AlpineBasin_KOTH_Medium.LI_AlpineBasin_KOTH_Medium_C MapListConfig=/Game/Maps/LevelInfo/LI_Magma_KOTH_Medium.LI_Magma_KOTH_Medium_C MapListConfig=/Game/Maps/LevelInfo/LI_JaggedPeaks_KOTH_Medium.LI_JaggedPeaks_KOTH_Medium_C
PvP KOTH Small
MapListConfig=/Game/Maps/LevelInfo/LI_Canyon_KOTH_Small.LI_Canyon_KOTH_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_Furong_KOTH_Small.LI_Furong_KOTH_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_Valley_KOTH_Small.LI_Valley_KOTH_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_AlpineBasin_KOTH_Small.LI_AlpineBasin_KOTH_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_Magma_KOTH_Small.LI_Magma_KOTH_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_JaggedPeaks_KOTH_Small.LI_JaggedPeaks_KOTH_Small_C
PvP VIP Medium
MapListConfig=/Game/Maps/LevelInfo/LI_Canyon_VIP_Medium.LI_Canyon_VIP_Medium_C MapListConfig=/Game/Maps/LevelInfo/LI_Furong_VIP_Medium.LI_Furong_VIP_Medium_C MapListConfig=/Game/Maps/LevelInfo/LI_Valley_VIP_Medium.LI_Valley_VIP_Medium_C MapListConfig=/Game/Maps/LevelInfo/LI_AlpineBasin_VIP_Medium.LI_AlpineBasin_VIP_Medium_C MapListConfig=/Game/Maps/LevelInfo/LI_Magma_VIP_Medium.LI_Magma_VIP_Medium_C MapListConfig=/Game/Maps/LevelInfo/LI_JaggedPeaks_VIP_Medium.LI_JaggedPeaks_VIP_Medium_C
PvP VIP Small
MapListConfig=/Game/Maps/LevelInfo/LI_Canyon_VIP_Small.LI_Canyon_VIP_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_Furong_VIP_Small.LI_Furong_VIP_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_Valley_VIP_Small.LI_Valley_VIP_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_AlpineBasin_VIP_Small.LI_AlpineBasin_VIP_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_Magma_VIP_Small.LI_Magma_VIP_Small_C MapListConfig=/Game/Maps/LevelInfo/LI_JaggedPeaks_VIP_Small.LI_JaggedPeaks_VIP_Small_C
PvE Horde
MapListConfig=/Game/Maps/LevelInfo/LI_Canyon_Horde.LI_Canyon_Horde_C MapListConfig=/Game/Maps/LevelInfo/LI_AlpineBasin_Horde.LI_AlpineBasin_Horde_C MapListConfig=/Game/Maps/LevelInfo/LI_Furong_Horde.LI_Furong_Horde_C MapListConfig=/Game/Maps/LevelInfo/LI_JaggedPeaks_Horde.LI_JaggedPeaks_Horde_C MapListConfig=/Game/Maps/LevelInfo/LI_Magma_Horde.LI_Magma_Horde_C MapListConfig=/Game/Maps/LevelInfo/LI_Valley_Horde.LI_Valley_Horde_C
4. When you have chosen the maps/gamemode you want you copy them all and paste them in the game.ini file.
Paste them all the way at the bottom of the file under [/script/projectx.projectxgameinstance]
MapListConfig=/Game/Maps/LevelInfo/LI_Canyon_BaseControl_Large.LI_Canyon_BaseControl_Large_C MapListConfig=/Game/Maps/LevelInfo/LI_Furong_BaseControl_Large.LI_Furong_BaseControl_Large_C
5. For mods you will use the website Mod.io to find the mods you want.
6. When you have found the mod you want you add the mods id and the Mutator that is listed in the description.
7. You add them like this right under the [/script/projectx.projectxgameinstance] over all the maps.
ModIds= 000000000000 MutatorList=/Mod/mod_Mutator.mod_Mutator_C
8. Save the file.

STEP 8


Port Forwarding
  1. Open your router config website.
    On the most router it is either 192.168.10.1 or x.x.1.1
    You can check this by running command “ip route show”
    Enter your default gateway ip in your web browser.
    If you have an ISP that controls your router you will have to log in through their portal and do this.
  2. When you have logged in your router find your port forward setting.
    These may be under advanced.
  3. Here you are going to be adding two ports.
    Add port 7777 and 27025 for UDP traffic.
  4. You will also need to add your IP ip address to the PC/Server you are going to be running the server on.
    You can get this from running command “ip a”
  5. Remember to save the settings.
Last edited by Laura; Aug 23, 2022 @ 1:17pm
< >
Showing 1-1 of 1 comments
Laura  [developer] Aug 23, 2022 @ 1:17pm 
STEP 9


Firewall
Your server runs a firewall as long as it is not disabled.
You can check this by running “sudo ufw status”.
If this shows Status: inactive you can skip this step.
But if it is active follow this to add server ports.

1. Add the ports that you are going to be using for the server (Standard ports are 7777 and 27015)
sudo ufw allow 7777
sudo ufw allow 27015

STEP 10


Start Script
To make our life easier we are going to make a start script so we don’t need to write the full start command every time with the ports and settings.

1. Go to the leap server directories.
cd /home/steam/servers/leap
2. Let’s create the file for the script
nano
3. Write this in the empty file
#!/bin/bash ./LEAPServer.sh PORT=7777 QUERYPORT=27015 -log
4.Save the file as startserver.sh

STEP 11


Start LEAP Server
1. Go back to your server directory and locate your startserver.sh
cd /home/steam/servers/leap
2. Start the script.
./startserver.sh
3. Wait for the server to start up.
4. When you see it stops loading and you can see a lot of
Verbose: STEAM: Pushing Server KVData
It is registering the right data and sending it.
5. Here you can also see the status for the server name, password, mods…
6. Start LEAP and go to servers and search for your server name.


Once again, a bit thank you goes out to Quant! If you want the see their original document please follow this link here[aroad.eu].
< >
Showing 1-1 of 1 comments
Per page: 1530 50