{"id":56,"date":"2023-04-29T11:17:11","date_gmt":"2023-04-29T16:17:11","guid":{"rendered":"https:\/\/cwcreations.net\/blog\/?p=56"},"modified":"2023-04-29T11:17:11","modified_gmt":"2023-04-29T16:17:11","slug":"how-to-install-an-undead-legacy-ul-dedicated-server-on-ubuntu","status":"publish","type":"post","link":"https:\/\/cwcreations.net\/blog\/2023\/04\/29\/how-to-install-an-undead-legacy-ul-dedicated-server-on-ubuntu\/","title":{"rendered":"How to install an Undead Legacy (UL) dedicated server on Ubuntu"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">7 days to die has multiple mods created by fans that change the mechanics of the game.  This post will document the install steps to host this mod on Ubuntu via Steam.  I have performed these steps on Ubuntu 22.04.2 LTS.  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This mod uses a tremendous amount of memory.  I will mention later in this tutorial the type of settings to use to reduce the amount of memory if needed.  Hosting a very large map 13000 generation size yielded a runtime of nearly 19GB of RAM.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Requirements<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Undead legacy uses SDL.  Install this if you have not already.<\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>sudo apt install libsdl2-2.0-0<\/code><\/pre>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">1) It&#8217;d be a good idea to add a new ubuntu user to run the UL server.  My strategy is to have a user for each overhaul mod.  <\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>sudo adduser undeadlegacy<\/code><\/pre>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">2) This method uses steamcmd to host the game.  You must install this with the root user<\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>sudo apt update &amp;&amp; sudo apt install steamcmd<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Read the disclaimer if you choose, otherwise click the right arrow button and click enter to acknowledge.  The following page will require you to agree to the terms.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">3) Switch to your newly created user<\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>su undeadlegacy<\/code><\/pre>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">4) Configure SteamCmd<\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>steamcmd<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Once open, SteamCmd will likely do an update.  Now you may login anonymously to steam and install the 7DaysToDie dedicated server.<\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>login anonymous\napp_update 294420<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The &#8220;app_update 294420&#8221; command if not obvious is a command you must run to update the dedicated server in the event that an update has been pushed by the 7days developers<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Running this command the first time will create a folder in your Ubuntu user account folder.  Once the install of the server is completed, press CTRL+C or type exit to leave the Steam Cmd window.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">5) Install the Undead Legacy mod<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SteamCmd has created a directory.  Use the following command to navigate to that directory<\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>cd ~\/Steam\/steamapps\/common\/7\\ Days\\ to\\ Die\\ Dedicated\\ Server<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You may go to Subquake&#8217;s website to fetch the stable build.  On that page there is also an option to donate to Subquake via PayPal or Patreon. <a href=\"https:\/\/ul.subquake.com\/download\" data-type=\"URL\" data-id=\"https:\/\/ul.subquake.com\/download\">https:\/\/ul.subquake.com\/download<\/a>  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, the client files are included in this download too.  Unfortunately, there is not a server-only download<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Otherwise you may use this command line to download the archive.<\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>wget https:\/\/ul.subquake.com\/dl?v=stable<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This downloads the archive, however this download command will save the file as &#8216;dl?v=stable&#8217; within the 7 days to die directory.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unzip the file.<\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>unzip dl?v=stable<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Move contents of UndeadLegacyStable-main into current directory<\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>mv .\/UndeadLegacyStable-main\/* .\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Remove the UndeadLegacyStable-main directory<\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>rm -r UndeadLegacyStable-main<\/code><\/pre>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">6) Configure desired undead legacy world<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Subquake has documentation on configuration.  That is found at <a href=\"https:\/\/ul.subquake.com\/dedicated-servers\">https:\/\/ul.subquake.com\/dedicated-servers<\/a>.   <br>Native 7days to die configuration is used with the mod. These configurations attributes are outlined at Valve.  <a href=\"https:\/\/developer.valvesoftware.com\/wiki\/7_Days_to_Die_Dedicated_Server\" data-type=\"URL\" data-id=\"https:\/\/developer.valvesoftware.com\/wiki\/7_Days_to_Die_Dedicated_Server\">https:\/\/developer.valvesoftware.com\/wiki\/7_Days_to_Die_Dedicated_Server<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The UL mod introduces attributes,  two of which above all are worth considering the configuration for.<br><br>For this tutorial, I&#8217;m providing my configuration for my last play-through.<br>If you would like to use it.  Perform the following commands<\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>rm serverconfig.xml\nwget https:\/\/cwcreations.net\/blog\/downloads\/serverconfig.xml<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For clarity, the serverconfig.xml should be placed in the 7 Days to Die Dedicated Server directory.  If you were following the guide, performing the wget command above resulted with serverconfig.xml in the correct location. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Remember to set the server name and password if wanted.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline\">The two attributes to consider that were added with UL<\/span>, as mentioned above, is Death Penalty and Recipe Filter.  We chose Death Penalty 3, which includes the death debuff of health\/stamina with loss of random action skills.  Death Penalty set to 1 would emulate a vanilla experience, according to Subquake.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recipe filter, according to ul.subquake.com <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8220;<em> 0 &#8211; Shows all recipes<br>  1 &#8211; Shows unknown recipes, search limited by workstation<br>  2 &#8211; Shows only known and workstation relevant recipes<\/em>  &#8220;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We went with 0 for the recipe filter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline\">Some original 7 days to die attributes<\/span> were changed from defaults in the server config provided above.  GameDifficulty: 3, XPMultiplier: 125, DayNightLength: 120, DayLightLength: 20, MaxSpawnedZombies: 40, MaxSpawnedAnimals: 40, LootAbundance: 150, LootRespawnDays 1000 (helps establish realism)<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">7) World map configuration<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The serverconfig file provided is set to use the Navezgane so no need to change any attributes unless wanted.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I enjoyed the experience of randomly generating a map.  The mystery element made it fun.  Maybe I got lucky.  Randomly generating a map with a size of 12288 took approximately 30 minutes to generate.  If not already known, a generating of a map will occur on first load.  As mentioned above, running the game with this sized map and other configuration options considered, 19GB of RAM was used. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To randomly generate a map, just set the attribute GameWorld to &#8220;RWG&#8221; without quotes.  Subsequently modify the WorldGenSize to the size you want.  The value must be a multiple of 2048 with a max constraint of 16384.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">8) World configuration that impacts performance<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Map size impacts performance as mentioned in &#8220;World Map Configuration&#8221;.  Other important attributes are ServerMaxAllowedViewDistance, MaxSpawnedZombies, MaxSpawnedAnimals.  I recommend view distance of 9, 40 zombies and animals.  Find the configuration that works for you.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The more players you have online on the server also affects performance.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">9) Firewall<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If needed, remember to port forward or open up the required ports. Open or forward the 26900 TCP and UDP, UDP 26901,26902,26903.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">10) Setting admin permissions for player<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To modify rights of a user.  You must use the serveradmin.xml file located within directory <\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>~\/.local\/share\/7DaysToDie\/Saves<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The file will not exist until you run the server for the first time.  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To add an admin to the file, you must know the steam user id of the player.  The easiest way I have found to do this is to have them connect to the server.  In the server logs, there are mentions of a user that connected or disconnected.  You will find the steam user id there. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Find within the file <code>&lt;admins&gt;<\/code> .  Add an entry within &lt;admins&gt;&lt;\/admins&gt; tags as such:<\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>&lt;user platform=\"Steam\" userid=\"numericsteamuserid\" name=\"Username\" permission_level=\"0\"\/&gt;<\/code><\/pre>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">11) Launching the server<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To launch the server enter the following commands in the Ubuntu terminal<\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>cd ~\/Steam\/steamapps\/common\/7\\ Days\\ to\\ Die\\ Dedicated\\ Server\/\n.\/run_bepinex_server.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><span style=\"text-decoration: underline\">You may not have sufficient rights<\/span> to execute the run_bepinex_server.sh.  Modify the file permissions:<\/p>\n\n\n\n<pre class=\"wp-block-code has-vivid-green-cyan-color has-text-color\"><code>chmod 700 .\/run_bepinex_server.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Remember, you can use the key combination CTRL + C to close the server execution within the terminal. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>7 days to die has multiple mods created by fans that change the mechanics of the game. This post will document the install steps to host this mod on Ubuntu via Steam. I have performed these steps on Ubuntu 22.04.2 LTS. This mod uses a tremendous amount of memory. I will mention later in this [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[1],"tags":[3,5,4],"class_list":["post-56","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-7-days-to-die","tag-dedicated-server","tag-undead-legacy"],"_links":{"self":[{"href":"https:\/\/cwcreations.net\/blog\/wp-json\/wp\/v2\/posts\/56","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cwcreations.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cwcreations.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cwcreations.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cwcreations.net\/blog\/wp-json\/wp\/v2\/comments?post=56"}],"version-history":[{"count":22,"href":"https:\/\/cwcreations.net\/blog\/wp-json\/wp\/v2\/posts\/56\/revisions"}],"predecessor-version":[{"id":78,"href":"https:\/\/cwcreations.net\/blog\/wp-json\/wp\/v2\/posts\/56\/revisions\/78"}],"wp:attachment":[{"href":"https:\/\/cwcreations.net\/blog\/wp-json\/wp\/v2\/media?parent=56"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cwcreations.net\/blog\/wp-json\/wp\/v2\/categories?post=56"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cwcreations.net\/blog\/wp-json\/wp\/v2\/tags?post=56"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}