==== Summary ==== * Install Ubuntu * sudo su - ; rmmod floppy * apt update ; apt upgrade * echo "blacklist floppy" > /etc/modprobe.d/blacklist-floppy.conf * dpkg-reconfigure initramfs-tools * reboot * apt install unzip * dpkg --add-architecture i386 * apt update ; apt install libc6:i386 libstdc++6:i386 * Create logins (rk4n3, chivalry uid=4102,gid=4102) * Log in a chivalry login * Get steamcmd * mkdir ~/arc ; cd ~/arc ; wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz * mkdir ~/Steam ; cd ~/Steam ; tar xzf ~/arc/steamcmd_linux.tar.gz * Run steamcmd.sh * cd ~/Steam ; ./steamcmd.sh * login anonymous * app_update 220070 * Resolve footprint anomolies * cd ~/Steam * ln -s ./steamapps/common/chivalry_ded_server chivalry * cp ./linux64/steamclient.so ./chivalry/Binaries/Linux/lib/ * echo 219640 > ./chivalry/Binaries/Linux/steam_appid.txt * Configuration * Change AdminPassword in ~/UDKGame/Config/UDKGame.ini * Connect by typing in game console: open 192.168.0.162:7000 ------ ==== Official Instructions ==== [[https://forums.tornbanner.com/topic/21416/native-linux-server-available]] ==== Installation Session Transcript ==== chivalry@darkstar:~$ mkdir steam chivalry@darkstar:~$ cd steam chivalry@darkstar:~/steam$ wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz --2017-10-02 03:13:03-- http://media.steampowered.com/installer/steamcmd_linux.tar.gz Resolving media.steampowered.com (media.steampowered.com)... 23.48.208.99, 23.48.208.89 Connecting to media.steampowered.com (media.steampowered.com)|23.48.208.99|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3170982 (3.0M) [application/octet-stream] Saving to: ‘steamcmd_linux.tar.gz’ steamcmd_linux.tar. 100%[===================>] 3.02M 6.97MB/s in 0.4s 2017-10-02 03:13:04 (6.97 MB/s) - ‘steamcmd_linux.tar.gz’ saved [3170982/3170982] chivalry@darkstar:~/steam$ tar xzf steamcmd_linux.tar.gz chivalry@darkstar:~/steam$ ls linux32 steamcmd_linux.tar.gz steamcmd.sh steam.sh chivalry@darkstar:~/steam$ ./steamcmd.sh Redirecting stderr to '/home/chivalry/Steam/logs/stderr.txt' ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt". [ 0%] Checking for available update... [ 0%] Downloading update (0 of 18,787 KB)... [ 0%] Downloading update (491 of 18,787 KB)... [ 2%] Downloading update (1,936 of 18,787 KB)... [ 10%] Downloading update (3,502 of 18,787 KB)... [ 18%] Downloading update (5,020 of 18,787 KB)... [ 26%] Downloading update (6,127 of 18,787 KB)... [ 32%] Downloading update (7,183 of 18,787 KB)... [ 38%] Downloading update (8,297 of 18,787 KB)... [ 44%] Downloading update (9,361 of 18,787 KB)... [ 49%] Downloading update (10,419 of 18,787 KB)... [ 55%] Downloading update (11,476 of 18,787 KB)... [ 61%] Downloading update (12,522 of 18,787 KB)... [ 66%] Downloading update (13,732 of 18,787 KB)... [ 73%] Downloading update (14,800 of 18,787 KB)... [ 78%] Downloading update (15,868 of 18,787 KB)... [ 84%] Downloading update (17,010 of 18,787 KB)... [ 90%] Downloading update (18,058 of 18,787 KB)... [ 96%] Downloading update (18,787 of 18,787 KB)... [100%] Download Complete. [----] Applying update... [----] Extracting package... [----] Extracting package... [----] Extracting package... [----] Installing update... [----] Installing update... [----] Installing update... [----] Installing update... [----] Cleaning up... [----] Update complete, launching... Redirecting stderr to '/home/chivalry/Steam/logs/stderr.txt' [ 0%] Checking for available updates... [----] Downloading update (0 of 12,673 KB)... [ 0%] Downloading update (682 of 12,673 KB)... [ 5%] Downloading update (1,799 of 12,673 KB)... [ 14%] Downloading update (2,987 of 12,673 KB)... [ 23%] Downloading update (3,804 of 12,673 KB)... [ 30%] Downloading update (4,440 of 12,673 KB)... [ 35%] Downloading update (5,077 of 12,673 KB)... [ 40%] Downloading update (5,705 of 12,673 KB)... [ 45%] Downloading update (6,328 of 12,673 KB)... [ 49%] Downloading update (7,062 of 12,673 KB)... [ 55%] Downloading update (7,698 of 12,673 KB)... [ 60%] Downloading update (8,335 of 12,673 KB)... [ 65%] Downloading update (8,960 of 12,673 KB)... [ 70%] Downloading update (9,575 of 12,673 KB)... [ 75%] Downloading update (10,321 of 12,673 KB)... [ 81%] Downloading update (10,949 of 12,673 KB)... [ 86%] Downloading update (11,586 of 12,673 KB)... [ 91%] Downloading update (12,211 of 12,673 KB)... [ 96%] Downloading update (12,673 of 12,673 KB)... [100%] Download complete. [----] Installing update... [----] Extracting package... [----] Extracting package... [----] Extracting package... [----] Installing update... [----] Installing update... [----] Installing update... [----] Installing update... [----] Cleaning up... [----] Update complete, launching Steamcmd... Redirecting stderr to '/home/chivalry/Steam/logs/stderr.txt' [ 0%] Checking for available updates... [----] Verifying installation... Steam Console Client (c) Valve Corporation -- type 'quit' to exit -- Loading Steam API...OK. Steam>login anonymous Connecting anonymously to Steam Public...Logged in OK Waiting for user info...OK Steam>app_update 220070 Update state (0x3) reconfiguring, progress: 0.00 (0 / 0) Update state (0x11) preallocating, progress: 72.11 (906668907 / 1257289120) Update state (0x61) downloading, progress: 2.46 (30957577 / 1257289120) Update state (0x61) downloading, progress: 5.80 (72911975 / 1257289120) Update state (0x61) downloading, progress: 10.64 (133729383 / 1257289120) Update state (0x61) downloading, progress: 14.64 (184061031 / 1257289120) Update state (0x61) downloading, progress: 20.16 (253452300 / 1257289120) Update state (0x61) downloading, progress: 25.46 (320155778 / 1257289120) Update state (0x61) downloading, progress: 27.19 (341915974 / 1257289120) Update state (0x61) downloading, progress: 30.64 (385288824 / 1257289120) Update state (0x61) downloading, progress: 35.28 (443549976 / 1257289120) Update state (0x61) downloading, progress: 40.52 (509470769 / 1257289120) Update state (0x61) downloading, progress: 45.76 (575363006 / 1257289120) Update state (0x61) downloading, progress: 50.81 (638770318 / 1257289120) Update state (0x61) downloading, progress: 57.67 (725111678 / 1257289120) Update state (0x61) downloading, progress: 64.29 (808349291 / 1257289120) Update state (0x61) downloading, progress: 70.59 (887464199 / 1257289120) Update state (0x61) downloading, progress: 77.55 (975023767 / 1257289120) Update state (0x61) downloading, progress: 84.56 (1063225679 / 1257289120) Update state (0x61) downloading, progress: 91.52 (1150686085 / 1257289120) Update state (0x61) downloading, progress: 98.35 (1236518007 / 1257289120) Update state (0x101) committing, progress: 25.47 (320222973 / 1257289120) Success! App '220070' fully installed. Steam>exit chivalry@darkstar:~/steam$ chivalry@darkstar:~/steam$ chivalry@darkstar:~/steam$ chivalry@darkstar:~/steam$ chivalry@darkstar:~/steam$ ls appcache depotcache linux64 public steamcmd_linux.tar.gz steam.sh config linux32 package steamapps steamcmd.sh userdata chivalry@darkstar:~/steam$ ls steam/linux32/steamclient.so ls: cannot access 'steam/linux32/steamclient.so': No such file or directory chivalry@darkstar:~/steam$ ls steam/linux64/steamclient.so ls: cannot access 'steam/linux64/steamclient.so': No such file or directory chivalry@darkstar:~/steam$ find . -type f | grep steamclient.so ./steamapps/common/chivalry_ded_server/steamclient.so ./steamapps/common/chivalry_ded_server/linux64/steamclient.so ./linux32/steamclient.so ./linux64/steamclient.so chivalry@darkstar:~/steam$ cp linux32/steamclient.so steamapps/common/chivalry_ded_server/Binaries/linux^C chivalry@darkstar:~/steam$ ls steamapps/common/chivalry_ded_server/Binaries Linux chivalry@darkstar:~/steam$ ls steamapps/common/chivalry_ded_server/Binaries/Linux/ lib UDKGameServer-Linux chivalry@darkstar:~/steam$ ls steamapps/common/chivalry_ded_server/Binaries/Linux/lib libogg.so.0 libPhysXLoader.so.1 libtcmalloc.so.0 libPhysXCooking.so libSDL2-2.0.so.0 libvorbisfile.so.3 libPhysXCore.so libSDL2_mixer-2.0.so.0 libvorbis.so.0 libPhysXExtensions.so.1 libsteam_api.so chivalry@darkstar:~/steam$ cp linux32/steamclient.so steamapps/common/chivalry_ded_server/Binaries/Linux/lib/ chivalry@darkstar:~/steam$ cat steamapps/common/chivalry_ded_server/Binaries/Linux/steam_appid.txt cat: steamapps/common/chivalry_ded_server/Binaries/Linux/steam_appid.txt: No such file or directory chivalry@darkstar:~/steam$ echo 219640 > steamapps/common/chivalry_ded_server/Binaries/Linux/steam_appid.txt chivalry@darkstar:~/steam$ cat steamapps/common/chivalry_ded_server/Binaries/Linux/steam_appid.txt 219640 chivalry@darkstar:~/steam$ chivalry@darkstar:~/steam$ chivalry@darkstar:~/steam$ chivalry@darkstar:~/steam$ pwd /home/chivalry/steam chivalry@darkstar:~/steam$ ls appcache depotcache linux64 public steamcmd_linux.tar.gz steam.sh config linux32 package steamapps steamcmd.sh userdata chivalry@darkstar:~/steam$ find . -type f | grep UDKGameServer ./steamapps/common/chivalry_ded_server/Binaries/Linux/UDKGameServer-Linux chivalry@darkstar:~/steam$ cd steamapps/common/chivalry_ded_server/Binaries/Linux chivalry@darkstar:~/steam/steamapps/common/chivalry_ded_server/Binaries/Linux$ ls lib steam_appid.txt UDKGameServer-Linux chivalry@darkstar:~/steam/steamapps/common/chivalry_ded_server/Binaries/Linux$ ./UDKGameServer-Linux aocffa-moor_p\?steamsockets\?adminpassword=dor0tea\?port=7000\?queryport=7010 -seekfreeloadingserver [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed. Setting breakpad minidump AppID = 219640 Loading library: libPhysXCooking.so Result of loading library libPhysXCooking.so: 0x9e7b780 Loading library: PhysXUpdateLoader.so ERROR: PhysXUpdateLoader.so: cannot open shared object file: No such file or directory Result of loading library PhysXUpdateLoader.so: 0x0 Loading library: libPhysXCore.so Result of loading library libPhysXCore.so: 0x9e7b500 ------ ==== Other Info ==== From [[https://steamcommunity.com/app/219640/discussions/0/828923952091422197/]] ... Available Map Names : Objective Mode: AOCTO-Battlegrounds_v3_P recommended 16-24 AOCTO-Darkforest_P recommended 16-24 AOCTO-Hillside_P recommended 18-32 AOCTO-Stoneshill_P recommended 16-24 Team Deathmatch: AOCTD-Moor_p recommended 8-16 AOCTD-Ruins_P recommended 16-24 AOCTD-StoneshillVillage_P recommended 8-16 AOCTD-ThroneRoom_P recommended 6-12 AOCTD-Darkforest_XL_p recommended 24-32+ AOCTD-Hillside_P recommended 8-16 AOCTD-HillsidePyre_P recommended 8-16 Last Team Standing: AOCLTS-Arena3_p recommended 8-16 AOCLTS-Moor_P recommended 16-24 AOCLTS-Ruins_P recommended 16-24 AOCLTS-Ruins_Large_P recommended 24-32+ AOCLTS-ThroneRoom_p recommended 6-12 AOCLTS-StoneshillVillage_P recommended 16-24 AOCLTS-Battlegrounds_Farm_p recommended 24-32 AOCLTS-Battlegrounds_p recommended 28-32+ AOCLTS-Darkforest_XL_p recommended 24-32+ AOCLTS-Hillside_P recommended 16-24 AOCLTS-HillsidePyre_P recommended 16-24 King of the Hill: AOCKOTH-Arena3_P recommended 8-16 AOCKOTH-Hillside_P recommended 8-16 AOCKOTH-Moor_P recommended 8-16 Free For All: AOCFFA-Arena3_P recommended 8-16 AOCFFA-Moor_P recommended 8-16 AOCFFA-Ruins_P recommended 8-16 AOCFFA-ThroneRoomXL_P recommended 6-12 AOCFFA-StoneshillVillage_P recommended 8-16 AOCFFA-Hillside_P recommended 8-16 AOCFFA-HillsidePyre_P recommended 8-16 Available Settings (UDKGame\Config): DefaultGame.ini or PCServer-UDKGame.ini Under the [AOC.AOCGame] section we have the following configurable settings: • MapList – List of map names that the server will cycle through • Perspective Lock – Lock players into one perspective o PLOCK_None – Players free to use first-person or third-person o PLOCK_1P – Forced to use 1st person o PLOCK_3P – Forced to use 3rd person • fServerTeamDamagePercent – Amount of damage players will do to their teammates. • bEnableVoteKick – Allow users to vote kick • bEnableVoteChangeMap – Allow users to vote change map • bEnableVoteResetMap – Allow users to vote to reset the map • bOnlyAdminsCanInitiateVotes – Votes can only be started by admins • bOnlyTeammatesCanVoteKick - If true, only teammates can start a vote kick. • bOnlyTeammatesAbstainsCountAgainstMinimum - When counting the number of people who voted vs. those who abstained, do we only count abstains from teammates of the player in question? (Like a soft version of bOnlyTeammatesCanVoteKick; enabling both simultaneously is pointless) • fVoteMinAmountNonAbstainers - The minimum proportion of people who must have voted for the vote to be successful (0.0f to 1.0f) • fVoteSuccessThreshold- The minimum proportion of people who must have voted Yes out of the total number who voted for a vote to be successful (0.0f to 1.0f) • fVoteDurationSeconds - The length of time that a vote is held for before it's tallied and decided • fVoteTallyUpdates - Number of updates to show in chat before the vote is completed. If there's 2, they happen at 1/3 and 2/3 through the vote. • fVoteEnactDelaySeconds - Time to delay before enacting what was voted on (only for map changes/reset) • fVoteTimeBetweenVoteKicksAgainstSamePlayer - The minimum time between successvie kick votes against the same player • fVoteTimeBetweenVotesFromOnePlayer - The minimum time between successive votes initiated by the same player • fVoteKickBanDurationSeconds - Duration for which a kick vote's temporary ban lasts • bForceTeamVOIP – Whether or not VOIP is forced to be limited to only talk to teammates • bRankedServer – Ranked server or not (experience + weapon unlock points not counted on un-ranked servers) • bAutoBalance – Whether to use the auto-balance provided by the game or not • fAutoBalanceInterval- How often the autobalance fires. Under [Engine.AccessControl] (you can add this section if it doesn’t exist) • GamePassword – password request to join the server • AdminPassword – password to get admin access PCServer-UDKEngine.ini Under • Port – Port the server uses. Should be unique for each server. (can also be modified via the –port ### in the command line) • PeerPort – Port. Should be unique for each server. Under [IpDrv.TcpNetDriver] • MaxInternetClientRate – maximum rate at which the server will send data to a player (in bytes/sec) Under [OnlineSubsystemSteamworks.OnlineSubsystemSteamworks] • bUseVAC – Whether to use VAC or not • QueryPort – Port to use for Steam. Should be unique for each server. Command Line Game Options There are options you can add after “UDK.exe MAP_NAME?steamsockets”. So for example: “UDK.exe MAP_NAME?steamsockets?option=24” • ?MaxPlayers=## -- Max players for the server. o Example: UDK.exe MAP_NAME?steamsockets?MaxPlayers=24 Other Important Command Line Arguments There are options you can add after: “UDK.exe MAP_NAME?steamsockets?Gameoptions -seekfreeloadingserver”. • -multihome=IP_ADDRESS -- Allows you to bind to a different IP address. • -Port=#### -- Changes the port the server uses. • -QueryPort=#### -- Changes the query port Steam uses for this server. • -log=FOLDER_NAME\LOG_NAME.log -- Allow you to change the folder into which all the server log files are saved. • -configsubdir=FOLDER_NAME – Allows you to change the folder from which config files are loaded from. Important Console Commands • Voting o votekick o votechangemap o voteresetmap • Admin o Adminlogin - followed by the server's admin password, allows you to log into a server as an admin. o Adminlogout - Logs out as admin o Admin - Followed by any command executes that command on the server. o Adminkick - Kicks a user. Requires you to type their whole name right now, which kind of sucks. It's a built-in command. o Adminkickban -Kicks a user and permanently bans them (i.e. puts their IP/NetID in the config file). Also a built-in command. o Adminchangemap -Changes to a different map. Be sure the map actually exists (see the map list), otherwise you may crash your server. o AdminRestartMap - Restarts the map. o AdminChangeTeam -Swaps a selected player to the opposite team. o AdminChangeTeamDamageAmount - Change team damage amount on-the-fly; from 0.0 (no damage) to 1.0 (full damage)[http//%E2%80%A2+Port+%E2%80%93+Port+the+server+uses.+Should+be+unique+for+each+server.+%28can+also+be+modified+via+the+%E2%80%93port+]