ARK: Survival Evolved

ARK: Survival Evolved

View Stats:
KriegTiger Jun 8, 2015 @ 3:10pm
Updated May 2022: Linux Dedicated Server: SUCCESS & DETAILS - Server ports to open/fwd
Update: Quarantine day something-or-other..

May 2022 update: added video URL to Mods section, step 5, for clarification of symlink.

This doc STILL works, as of June 2020 and v311.209. My main reason for this udpate is actually due to having had to try and funnel incoming game connections from the outside world through a VPN connection (long story, but IT WORKS), and in doing so I fiddled with the range of ports I open/forward/mangle just a little and wanted them to be documented. I used my own doc to re-build it all and everything is just as expected.

So without further ado, read-on and happy gaming!

----------------------------------------------------------
Jeeze.. it's been 4 years? Happy to say this STILL works in Feb 2019, v291, behind a Google Wifi router rather than my linux iptables one.
----------------------------------------------------------

HOW TO:
Original success on 171.74, still works on 190+. (311.209 - June 2020)
Confirmed for both Windows 7 and Windows 10
iptables command section should work regardless of distro, so long as your IP's and devices are correct.

STEP 1: How to get ARK dedicated server files on your linux box
Linux Dedicated Server System Requirements
Since this is not going to be pushing graphics, you don't need much - but it's still a beefy game so it's not like you can run it on a Raspberry Pi.

I have been running my dedicated Linux ARK server for years now on a HP Compaq 6200 Pro SFF with an Intel Core i3-2120 4-core processor. Yeah.. it's THAT old. You can get a refurbished one online for under $100. Have no fear, this system can run a modern 64bit Linux distribution with zero issues whatsoever.

I upgraded it to 16gb memory (the max on this chassis) because while the dedicated server only uses about 6g, but I wanted the extra overhead to allow me to never have to worry about paging out to swap (which will make it crawl).

I also changed out the spinning disk for a 2.5" SSD. Nothing fancy, 256G SSD's are cheap these days, and again you don't need it to be obnoxiously powerful but the old 5400/7200 RPM drive was craaaaaap in comparison to even a modestly average SSD.

With this configuration I have run ARK for years, months between any sort of server downtime, and had as many as 5 people all with their own massive bases and pet collections and zero lag/performance issues. (EDIT: I lied.. I had performance issues when one of my players was harvesting berries with a bronto and the harvest values were dialed way up - the server counting tens of thousands of berries on each swing of the tail would cause the system to chug for a moment)

NOTE: I'm going to assume you have linux up and running already, that part of this guide is on you, sorry ;) I run a Debian 9 machine on mine though.

1 - you need 'steamcmd' - go here for instructions.

2 - After you've setup steamcmd, you will want to grab the dedicated server files. In the 'steam' user home directory, I have a file called 'update-ark.sh' that is as follows:
#!/bin/sh ./steamcmd.sh +login anonymous +app_update "376030 validate" +quit
All you need to do is run ' ./ark-update.sh ' after switching to the steam user and it'll do the rest - the download is pretty slim (yes, 20G is slim when you consider a PC desktop install is what.. almost 200G?). That being said, I highly recommend setting aside dedicated disk space for 'gaming' so that if ARK fills up your HD it doesn't impact the whole system.

3 - Run the game once to make it unpack itself and generate ini files, etc. A quick and dirty startup script is below (CTRL-C out of it when the game is visible to join). Be aware that when you run the game like this if you close the terminal window the game process will be terminated. I recommend using 'screen' or nohup to prevent this from happening.

ALSO note, that this will generate the first/clean versions of Game.ini and GameUserSettings.ini (we'll edit these later), and I recommend putting in join password and admin password there rather than in the startup command where it's visible to anyone on the system. The following shell script needs to go in the same directory as 'ShooterGameServer' - default is Steam/steamapps/common/ARK Survival Evolved Dedicated Server/ShooterGame/Binaries/Linux/.

#!/bin/sh ./ShooterGameServer "TheIsland?SessionName=SomeName?listen?QueryPort=27015?RCONPort=27020?Port=7777"

You can also have your script setup to include different maps, so that you can just stop the game, comment out the one you were running, uncomment another, and start it back up in no time as shown below. Feel free to customize the heck out of each startup command line as you see fit.

#!/bin/sh ./ShooterGameServer TheIsland?listen?MaxPlayers=10 -log #./ShooterGameServer Ragnarok?listen?MaxPlayers=10 -log #./ShooterGameServer Aberration_P?listen?MaxPlayers=10 -log

STEP 2 - Internet connection & Firewall/Port Forwarding
This will vary depending on your equipment.

My game server is a simple standalone linux box with no firewall rules of its own, but to reach it to play from the internet it goes through a hosted linux box that acts as firewall as well. So the general connection path is:
Player <-> VPN System <-> Game Server

So this is a disclaimer that the information here on ports is still entirely relevant if the exact instructions to make your setup work differ in some way. ANYWAY..

You'll notice that these port allowances are wider than the minimum/recommended. This is because I run a cluster of servers (3 instances currently on one computer), and these are cover all necessary ports for people to play on and travel between all three instances freely.

These rules are to allow incoming connections on these ports from the outside world.
# Steam Ports, used for ARK -A INPUT -i eth0 -p udp -m udp --dport 4242 -j ACCEPT -A INPUT -i eth0 -p udp -m udp --dport 4380 -j ACCEPT -A INPUT -i eth0 -p udp -m udp --dport 7777:7790 -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --dport 25147 -j ACCEPT -A INPUT -i eth0 -p udp -m udp --dport 25147 -j ACCEPT -A INPUT -i eth0 -p udp -m udp --dport 27000:27040 -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --dport 27000:27040 -j ACCEPT -A INPUT -i eth0 -p udp -m udp --dport 27215 -j ACCEPT -A INPUT -i eth0 -p udp -m udp --dport 27217 -j ACCEPT

If your game server is the same system as your internet gateway/firewall, you can stop here because your game server should be listening on all interfaces by default. If you have a separate gateway (such as me with the VPN system, or just a dedicated firewall appliance/server, you will need to setup these ports to both be accepted AND forwarded, here are the rules that get the traffic from my hosted VPN system down to the game server/VPN client:

-A FORWARD -i eth0 -p udp --destination-port 4242 -d 10.89.0.200 -j ACCEPT -A FORWARD -i eth0 -p udp --destination-port 4380 -d 10.89.0.200 -j ACCEPT -A FORWARD -i eth0 -p udp --destination-port 7777 -d 10.89.0.200 -j ACCEPT -A FORWARD -i eth0 -p udp --destination-port 7778 -d 10.89.0.200 -j ACCEPT -A FORWARD -i eth0 -p udp --destination-port 7779 -d 10.89.0.200 -j ACCEPT -A FORWARD -i eth0 -p udp --destination-port 7780 -d 10.89.0.200 -j ACCEPT -A FORWARD -i eth0 -p udp --destination-port 7781 -d 10.89.0.200 -j ACCEPT -A FORWARD -i eth0 -p udp --destination-port 7782 -d 10.89.0.200 -j ACCEPT -A FORWARD -i eth0 -p udp --destination-port 27000:27040 -d 10.89.0.200 -j ACCEPT -A FORWARD -i eth0 -p tcp --destination-port 27000:27040 -d 10.89.0.200 -j ACCEPT -A FORWARD -i eth0 -p udp --destination-port 27215 -d 10.89.0.200 -j ACCEPT -A FORWARD -i eth0 -p udp --destination-port 27217 -d 10.89.0.200 -j ACCEPT -A FORWARD -i eth0 -p udp --destination-port 27219 -d 10.89.0.200 -j ACCEPT -A FORWARD -i tun0 -j ACCEPT -A FORWARD -s 10.89.0.0/24 -i tun0 -o eth0 -j ACCEPT -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

NOTE: I had to split up the 77XX port forwards for some reason, can't explain why but things didn't work until I did so. The 10.89.0.0/24 line is to accept traffic from the game server back out to the world through the firewall, and the 'RELATED,ESTABLISHED' line just says that the firewall can blanket accept packets from a connection that is successfully initiated.

And then finally the NAT rules, because forwarding packets is great and all but is only part of the battle. So these rules take incoming traffic that has been allowed and forwarded and changes source/destination addresses to make sense so that they flow in and out properly.

#NAT rules for ARK -A PREROUTING -p udp -d YOUR-PUBLIC-IP-HERE --dport 4242 -j DNAT --to-destination 10.89.0.200 -A PREROUTING -p udp -d YOUR-PUBLIC-IP-HERE --dport 4380 -j DNAT --to-destination 10.89.0.200 -A PREROUTING -p udp -d YOUR-PUBLIC-IP-HERE --dport 7777:7790 -j DNAT --to-destination 10.89.0.200 -A PREROUTING -p udp -d YOUR-PUBLIC-IP-HERE --dport 27000:27040 -j DNAT --to-destination 10.89.0.200 -A PREROUTING -p tcp -d YOUR-PUBLIC-IP-HERE --dport 27000:27040 -j DNAT --to-destination 10.89.0.200 -A PREROUTING -p udp -d YOUR-PUBLIC-IP-HERE --dport 27215 -j DNAT --to-destination 10.89.0.200 -A PREROUTING -p udp -d YOUR-PUBLIC-IP-HERE --dport 27217 -j DNAT --to-destination 10.89.0.200 -A PREROUTING -p udp -d YOUR-PUBLIC-IP-HERE --dport 27219 -j DNAT --to-destination 10.89.0.200 -A POSTROUTING -d 10.89.0.200 -j SNAT --to-source 10.89.0.1 -A POSTROUTING -s 10.89.0.0/24 -o eth0 -j MASQUERADE

NOTE: The SNAT line says that traffic from the world to the game server is changed to say it came from 10.89.0.1, and the MASQUERADE line says traffic from the game server out to the world has the address changed to say it came from the VPN server.


STEP 3 - Game Server Configuration: ini files
Now that the game has run once, tweak the GameUserSettings.ini and Game.ini files as you see fit. We'll touch on this again in the MODS section below. Launch the game, login and check things work like you want, quit, tweak... wash rinse repeat.

FINALLY you can launch the game and start getting people into it.

STEP 4 - Connecting to your server
For yourself and LAN folk, you should be able to just start the game client and choose 'Join ARK' and then find the little drop down in the lower left (official, unofficial, etc) and choose 'LAN'. Bingo, you're in. For internet it's a bit more fussy because the public server lists are horrid to search through. Give a link like this to your friends:

steam://connect/aa.bb.cc.dd:27015
(This can be used with LAN IP as well if you want tp skip the search portion for local/LAN clients - just pass them the link and they'll connect directly before game launch)

This will target them directly to your system. If they are using normal settings (not low memory) they can login and play immediately. If using one of the alternate bootstrap options is needed - have them login via the URL and create a throw-away character (just hit 'create' for the default caveman), then once they're in the game quit out completely and start through the steam interface and pick the necessary low mem/alt option.

When they want to get back to your system, pick 'My Survivors' rather than 'LAN' from the drop down and their session should be found - once they login just have them get eaten by a dino and they can create a new character on the spot.

STEP 5 - MODS!!
So, I finally got this part figured out. It was mostly clarified by using the LinuxGSM game manager to fill in a few particular holes in knowledge, but it is something that will work perfectly well for a standalone non-tool-supported linux dedicated server.

1 - find the mods you want to install on your server and note their ID number.

2 - In your GameUserSettings.ini you will have a line entry in the [ServerSettings] section that has
ActiveMods={mod1number},{mod2number},{mod3number},etc

3 - In your Game.ini you will have a new section labeled ModInstaller and in that section you will have an entry PER MOD that is as follows:
[ModInstaller] ModIDS={mod1number} ModIDS={mod2number} ModIDS={mod3number} (repeat as necessray)

4 - in your startup command line for the game server you will need to add the
-automanagedmods
option to what is already there.

5 - ARK uses steamcmd to download mods and unpack them, but it's not really functional by default (it'll work for windows, but they forgot this part for linux). To get this to work, you're going to need to have a steamcmd.sh file (if not already present) under
Steam/steamapps/common/ARK Survival Evolved Dedicated Server/Engine/Binaries/ThirdParty/SteamCMD/Linux
as well as a symbolic link to the base
steamapps
directory of your Steam installation.

See this YT video for further clarification:
https://www.youtube.com/watch?v=cIWm56SojCY

6 - With these above pieces in place, when you start up your server with the script and you should see something like the following:

4.5.1-0+UE4 7038 3077 404 10 [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed. Setting breakpad minidump AppID = 346110 Redirecting stderr to '/game/arkserver/.local/share/Steam/logs/stderr.txt' [ 0%] Checking for available updates... [----] Verifying installation... Steam Console Client (c) Valve Corporation -- type 'quit' to exit -- Loading Steam API...Warning: failed to init SDL thread priority manager: SDL not found OK. Connecting anonymously to Steam Public...Logged in OK Waiting for user info...OK Downloading item 797686039 ... Success. Downloaded item 797686039 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/797686039" (45416109 bytes) Downloading item 2082530026 ... Success. Downloaded item 2082530026 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/2082530026" (15530656 bytes) Downloading item 1609138312 ... Success. Downloaded item 1609138312 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/1609138312" (42362216 bytes) Downloading item 1967741708 ... Success. Downloaded item 1967741708 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/1967741708" (682798 bytes) Downloading item 697357957 ... Success. Downloaded item 697357957 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/697357957" (332654 bytes) Downloading item 761535755 ... Success. Downloaded item 761535755 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/761535755" (1063942 bytes) Downloading item 1281094173 ... Success. Downloaded item 1281094173 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/1281094173" (28459797 bytes) Downloading item 1591643730 ... Success. Downloaded item 1591643730 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/1591643730" (2350612 bytes) Downloading item 731604991 ... Success. Downloaded item 731604991 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/731604991" (64844766 bytes) Downloading item 821530042 ... Success. Downloaded item 821530042 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/821530042" (245780544 bytes) Downloading item 609380111 ... Success. Downloaded item 609380111 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/609380111" (200103202 bytes) Downloading item 722649005 ... Success. Downloaded item 722649005 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/722649005" (18771144 bytes) Downloading item 801082391 ... Success. Downloaded item 801082391 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/801082391" (655367 bytes) Downloading item 1891446920 ... Success. Downloaded item 1891446920 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/1891446920" (690989 bytes) Downloading item 2112166911 ... Success. Downloaded item 2112166911 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/2112166911" (1901737 bytes) Downloading item 679529026 ... Success. Downloaded item 679529026 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/679529026" (1348594848 bytes) Downloading item 1631378184 ... Success. Downloaded item 1631378184 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/1631378184" (8930033 bytes) Downloading item 1787443195 ... Success. Downloaded item 1787443195 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/1787443195" (107033886 bytes) Downloading item 736236773 ... Success. Downloaded item 736236773 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/736236773" (11692549 bytes) Downloading item 884033872 ... Success. Downloaded item 884033872 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/884033872" (2896642 bytes) Downloading item 1135465954 ... Success. Downloaded item 1135465954 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/1135465954" (86432841 bytes) Downloading item 751991809 ... Success. Downloaded item 751991809 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/751991809" (1258853 bytes) Downloading item 640022028 ... Success. Downloaded item 640022028 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/640022028" (56585131 bytes) Downloading item 1847004749 ... Success. Downloaded item 1847004749 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/1847004749" (369986 bytes) Downloading item 1264988068 ... Success. Downloaded item 1264988068 to "/game/arkserver/.local/share/Steam/steamapps/workshop/content/346110/1264988068" (215898 bytes)

7 - Verify the mods were successfully unpacked and processed into the
ShooterGame/Content/Mods
directory.

8 - assuming all of the above looks good. You can now launch the game and test connecting to it with your client system, if you did it right when you click 'join server' you should get a 'Loading Mod(s) x/y' counter before it leaves the 'Session List' screen and hits the actual game loading screen.

When the inevitable happens (ARK update, mod update) you just need to stop the game server and run the 'ark-update' script from way early on in this guide, then start the server again and it will grab any updated modes during the server start process.

You've done it! Congratulations and have fun on the ARK!


----------------------------
These instructions work perfectly well for a vanilla (no tools/management platform) install of ARK's Linux Dedicated Server, but as noted in STEP 5 I have started using LinuxGSM for running my ARK cluster. It has been helpful for handling the fact that I now run 3 maps in a cluster instead of just one.

I hope this helps a bunch of folk, because it's had me banging my head on the desk for nearly a week and cussing the devs out for not providing documentation. I am a sysadmin for a living so I wasn't going to let this crap defeat skills I've been honing for the past 15 years - :]

DEVS:
If you're reading this - I STILL WANT PROPER DOCUMENTATION but hopefully this will prove useful for getting other people up and running.
Last edited by KriegTiger; May 12, 2022 @ 1:13pm
< >
Showing 1-15 of 51 comments
BlackyeloowBR Jun 8, 2015 @ 5:31pm 
nice
Inigo Montoya Jun 19, 2015 @ 8:36pm 
Thanks,

I've been trying to figure out how to run two servers on two different computers with one external ip address. Haven't been able to get it to work yet because I don't know if I'm able to use any other ports other than 7777-7778 on the external side. I would need to use 7779-7780 for the other server. Anyone have any idea?
KriegTiger Jun 19, 2015 @ 8:58pm 
Originally posted by Inigo Montoya:
Thanks,

I've been trying to figure out how to run two servers on two different computers with one external ip address. Haven't been able to get it to work yet because I don't know if I'm able to use any other ports other than 7777-7778 on the external side. I would need to use 7779-7780 for the other server. Anyone have any idea?

I'm not sure this will be doable, but you could definitely try. The problem lies in the port-knock pattern, which I think is pre-set and initiated by the client. The network sniffing indicated it must complete the sequence (forwarded to the one server) before the server response and you get into a situation where the 'ip_conntrack' module can kick in and help you out with routing packets to similar ports to different destinations.

You could TRY changing step 1 for your second server to have different port arguments and then add rules in the iptables section relevant to the second server's IP/port combination. Perhaps the initial query gets some sort of packet response with the port knock pattern that the connection tracking module could figure out the rest?

To do so - modify the original 'step 1' command line to include this (modify QueryPort, and add Port). I've tested and verified that these two arguments work on the most recent server to do what you want. The tricky bit is the knock pattern destination, as mentioned.

-stuff goes here-?QueryPort=28015?Port=7779?-rest of the command goes here-
Inigo Montoya Jun 19, 2015 @ 9:51pm 
Originally posted by KriegTiger:
Originally posted by Inigo Montoya:
Thanks,

I've been trying to figure out how to run two servers on two different computers with one external ip address. Haven't been able to get it to work yet because I don't know if I'm able to use any other ports other than 7777-7778 on the external side. I would need to use 7779-7780 for the other server. Anyone have any idea?

I'm not sure this will be doable, but you could definitely try. The problem lies in the port-knock pattern, which I think is pre-set and initiated by the client. The network sniffing indicated it must complete the sequence (forwarded to the one server) before the server response and you get into a situation where the 'ip_conntrack' module can kick in and help you out with routing packets to similar ports to different destinations.

You could TRY changing step 1 for your second server to have different port arguments and then add rules in the iptables section relevant to the second server's IP/port combination. Perhaps the initial query gets some sort of packet response with the port knock pattern that the connection tracking module could figure out the rest?

To do so - modify the original 'step 1' command line to include this (modify QueryPort, and add Port). I've tested and verified that these two arguments work on the most recent server to do what you want. The tricky bit is the knock pattern destination, as mentioned.

-stuff goes here-?QueryPort=28015?Port=7779?-rest of the command goes here-

Thanks for the response!

So, I got it to work but I have no idea why it works.

http://arkservers.net/1/search/?term=inflicted.org

Both of those servers are using the same external port 7777 but on the internal side they are on different machines/different internal ip addresses. I'll post what I did in case someone else wants to host two servers on two different machines using one external address.

This is what I have setup on my external firewall:

External firewall port: 7777 -> PVE Windows Machine (192.168.137.190:7777)
External firewall port: 27060 -> PVE Windows Machine (192.168.137.190:27060)

External firewall Port: 7778 -> PVP Linux Machine (192.168.137.195:7778)
External firewall Port: 27080 -> PVP Linux Machine (192.168.137.195:27080)
External firewall Port: 27215 -> PVP Linux Machine (192.168.137.195:27215)
External firewall Port: 4242 -> PVP Linux Machine (192.168.137.195:4242)
External firewall Port: 26900-26905 -> PVP Linux Machine (192.168.137.195:26900-26905)


Edit: I added ?Port=7778 to the command line for the linux server and it did change the external port. It was working with 7777 just fine but I'm going this route since it makes more sense to use different ports.

Thanks for your help KriegTiger

Last edited by Inigo Montoya; Jun 19, 2015 @ 10:38pm
KriegTiger Jun 20, 2015 @ 8:16am 
Originally posted by Inigo Montoya:
Originally posted by KriegTiger:

I'm not sure this will be doable, but you could definitely try. The problem lies in the port-knock pattern, which I think is pre-set and initiated by the client. The network sniffing indicated it must complete the sequence (forwarded to the one server) before the server response and you get into a situation where the 'ip_conntrack' module can kick in and help you out with routing packets to similar ports to different destinations.

You could TRY changing step 1 for your second server to have different port arguments and then add rules in the iptables section relevant to the second server's IP/port combination. Perhaps the initial query gets some sort of packet response with the port knock pattern that the connection tracking module could figure out the rest?

To do so - modify the original 'step 1' command line to include this (modify QueryPort, and add Port). I've tested and verified that these two arguments work on the most recent server to do what you want. The tricky bit is the knock pattern destination, as mentioned.

-stuff goes here-?QueryPort=28015?Port=7779?-rest of the command goes here-

Thanks for the response!

So, I got it to work but I have no idea why it works.

http://arkservers.net/1/search/?term=inflicted.org

Both of those servers are using the same external port 7777 but on the internal side they are on different machines/different internal ip addresses. I'll post what I did in case someone else wants to host two servers on two different machines using one external address.

This is what I have setup on my external firewall:

External firewall port: 7777 -> PVE Windows Machine (192.168.137.190:7777)
External firewall port: 27060 -> PVE Windows Machine (192.168.137.190:27060)

External firewall Port: 7778 -> PVP Linux Machine (192.168.137.195:7778)
External firewall Port: 27080 -> PVP Linux Machine (192.168.137.195:27080)
External firewall Port: 27215 -> PVP Linux Machine (192.168.137.195:27215)
External firewall Port: 4242 -> PVP Linux Machine (192.168.137.195:4242)
External firewall Port: 26900-26905 -> PVP Linux Machine (192.168.137.195:26900-26905)


Edit: I added ?Port=7778 to the command line for the linux server and it did change the external port. It was working with 7777 just fine but I'm going this route since it makes more sense to use different ports.

Thanks for your help KriegTiger

Awesome! Happy to help :] Yeah the various workings are a bit of a mystery, but glad it worked.

I should try trimming out some of my firewall rules and experimenting. If ALL the ports were absolutely necessary, I would imagine that the PvE server you have wouldn't work (unless there's some magic going on with connection tracking that I didn't see with packet sniffer), although if that were true the explicit FORWARD and DNAT rules would (should?) have overridden it.

I may have found something... do you have a uPnP service running anywhere? (enabled on whatever your internet gateway device, or running on your firewall/router system if it's a linux box)?
Odenson94 Mar 10, 2016 @ 7:47am 
This has been very helpful to me while setting up a server for Ark (first time ever doing a server) and for getting into the server myself afterwords. Thanks!
Justice Mar 16, 2016 @ 5:49am 
Originally posted by Raime:
This has been very helpful to me while setting up a server for Ark (first time ever doing a server) and for getting into the server myself afterwords. Thanks!

Sadly not the case for me. I can run every other title whether pseudo dedicate client (no graphics etc) or steamcmd dedicated, and there's no issue.

However with ARK it refuses to show itself to the outside world. At best I can get it to show on my local LAN advertised from the ip address of the machine it's being run on - which is good. I can connect to it over my LAN, which is also good.

Seems like a standard port issue and yet no amount of Windows Firewall, port forwarding and NAT reflection makes a difference.
Commander_Black Mar 18, 2016 @ 11:27am 
-nosteamclient
server will load the game without going through steam so you can launch it again with steam to play (otherwise the server would load using steam and steam would not allow you to launch it again to play)

-game
i dont know

-server
start the server without gui to reduce lag (otherwise it would open the game instead of opening console)

-log
create a log file in your game folder to log all commands/death/chat/login/logout for the server owner to keep track of whats happening when hes not online
Stormagan Jun 23, 2016 @ 6:23pm 
Hey, i see you have your queryport to 27015, but what is the other port that i need? Because in the batchfile i need a port, and a query port. Any help?
KriegTiger Jul 3, 2016 @ 8:18am 
Originally posted by Reznikov:
Hey, i see you have your queryport to 27015, but what is the other port that i need? Because in the batchfile i need a port, and a query port. Any help?

I don't actually specify any ports in my batch file these days, I use all defaults.

root@lurker:/game/ark# cat ark.sh #! /bin/bash ./ShooterGameServer TheIsland?listen?SessionName=NP-ARK?MaxPlayers=10?ServerPassword=notrealpasswd?ServerAdminPassword=notrealpasswd -nosteamclient -server -log

That said, from looking at the netstat output on my linux system, it appears the game port (not query port) is 27020 and all of my other details above (iptables ports and such) have gone unchanged and the server still works great :]
Last edited by KriegTiger; Jul 3, 2016 @ 8:19am
OtakianStorm Oct 31, 2016 @ 6:13pm 
Followed your directions to the letter. Still not working. I was wondering if you may be able to assist me in this format. If possible a steam message may be better accessible. Just updated to a new router last week and been unable to get my server back up and running when it ran just fine on the last equipment.
KriegTiger Nov 23, 2016 @ 4:23pm 
Originally posted by smsscd1990:
Followed your directions to the letter. Still not working. I was wondering if you may be able to assist me in this format. If possible a steam message may be better accessible. Just updated to a new router last week and been unable to get my server back up and running when it ran just fine on the last equipment.

I'd be willing to give it a shot. For starters, you got a new router - what mode is it in? Bridge (aka you get a raw internet IP on your linux box) or standard client (your linux system's 'external' interface is now a 10. or 192. style address and you're doing stuff behind that)?
Xibo Jan 7, 2017 @ 2:57pm 
Originally posted by Justice:
Originally posted by Raime:
This has been very helpful to me while setting up a server for Ark (first time ever doing a server) and for getting into the server myself afterwords. Thanks!

Sadly not the case for me. I can run every other title whether pseudo dedicate client (no graphics etc) or steamcmd dedicated, and there's no issue.

However with ARK it refuses to show itself to the outside world. At best I can get it to show on my local LAN advertised from the ip address of the machine it's being run on - which is good. I can connect to it over my LAN, which is also good.

Seems like a standard port issue and yet no amount of Windows Firewall, port forwarding and NAT reflection makes a difference.

I'm running into a very similar issue, will only appear as a LAN game even thought I've checked with multiple tutorials and tried forwarding every port mentioned. Find any fixes?
Xibo Jan 7, 2017 @ 3:02pm 
Very thorough explanation, thank you. I found this guide while trying to fix problems I ran into after following a different turtorial, and tried to integrate some of what you said into what i had already done. I forwarded every port you mentioned by logging into my router from my web browser, I then went into Windows firewall and opened the port, finally I disable the smart firewall on my antivirus, Norton. It's still showing up as a LAN only server though, am I doing something wrong? Any help would be appreciated, this is my first time trying to make a server and I've been at it for about six hours so im a bit tired of it all... I'm really hoping something simple just went over my head. Thanks!
KriegTiger Jan 7, 2017 @ 3:46pm 
@Xibo - the only other thing I could recommend is to make sure that the 'UPNP' service is running on your router - also known as linux-igd if running on linux like I am.

One thing I've found is that having it be a browseable server from the internet was hit or miss but I am not sure whether that was a problem with the setup or just the delay of sorting through the thousands of internet servers, which is why I would share the steam:// link to my server and have friends click on that rather than them having to depend on it showing up in the server list.
Last edited by KriegTiger; Jan 7, 2017 @ 3:47pm
< >
Showing 1-15 of 51 comments
Per page: 1530 50

Date Posted: Jun 8, 2015 @ 3:10pm
Posts: 51