ARK: Survival Evolved

ARK: Survival Evolved

View Stats:
MrWaffles Jun 24, 2015 @ 5:09pm
Working with SteamCMD for Ark
Hey guys, I don't know if this will provide any utility, but I had some moderate frustration in working with SteamCMD, as it was my first time hosting a server through that prompt. All the deets I found were specific to certain games, and I didn't really know what applied to what, and what I found myself wanting was a quick and dirty how-to about precisely what to type, where it goes, and what to do. There is a fantastic guide on the main discussion page that talks about how to join a server you host on your own machine, so I wanted to kinda do one from the perspective of a person who had a separate hosting machine on the same network

I mainly wanted to post what I had discovered to help any other novices out there that are trying to SteamCMD it up, and eventually automate the process of updating and maintaining their unofficial servers. It is going to be pretty basic for a lot of people, and really only for Windows for now, so sorry in advance.

So, first of all:
Installing SteamCMD
This was one thing I surprisingly did not have too much difficulty with. The guide at the Developer Wiki for SteamCMD was good enough, and provided the link to the zip (here).

You just extract it and install it like anything else. The wiki gives the example of installing it to a root, like C:/SteamCMD. I personally did it to my desktop, so my path was C:\Users\zombiecomp\Desktop\SteamCMD. I run my machine on a headless box in my basement, so I kinda just wanted to keep everything on the desktop for when I remote in to it.

Running SteamCMD
Okay, so here is where I ran in to my first quirky thing. Since I was accustomed to being able to just run whatever through the command line, I made the rookie mistake of just linking to the SteamCMD exe. By default (without any other parameters) it will just pop open and closed for you if you do this. Instead, I just created a shortcut to the actual application and placed it on my desktop.

Running the application will give you something like this:
C:\wherever you installed steamCMD to\SteamCMD Redirecting stderr to 'C:\wherever you installed steamCMD to\SteamCMD\logs\stderr.txt' { 0%} Checking for availible updates... {----) Verifying installation... Steam Console Client (c) Valve Corporation -- type 'quit' to exit -- Loading Steam API ...OK. Steam>
Congratulations, SteamCMD is installed and you can start setting up your server.

Installing the Server Client
From this point, going back to the wiki was still okay for me, but I encountered some hangups. You start by launching SteamCMD as covered in the previous step, and at the
Steam>
prompt, you will want to start with logging in to your steam account (If you have one, that is. I am fairly sure you can install anonymously, but that is pretty well covered in the googles, so if that is you then stop your guide quest here). To login, simply type
login *your Steam username* *your pass*
After hitting Enter, you should get a couple of OKs.

Next, you will want to set the install directory:
force_install_dir *whatever path you want*
This got me a little canoodled, since I wanted to install to my Program Files directory, but I learned too late that the SteamCMD prompt doesn't like spaces. So instead of setting my working directory to "C:\Program Files (x86)\ArkServ", I ended up with it creating the folder Program in the root of C:\. So, methinks if you want to install to a directory with spaces, you'd better put the entire string in quotes after
force_install
Personally, I ended up just putting the install directory as "C:\ArkServer" and never looked back.

Anyway, after setting the install directory, you can go right to installing the server client by typing the following at the steam prompt:
app_update 376030 validate
This will start pulling the files for the server to that install directory you gave. The validate simply does the same file checking that you are assuredly used to doing through the GUI on Steam.

This process can take a while, but the prompts give a pretty good play-by-play of what is going on. Once it is finished and you have the Steam> prompt back, just type
quit
to let SteamCMD close gracefully. After it finishes, go to your install directory and verify that you've at least got some modicum of folders in there now. If not, run the commands again and pray to your various or nonexistant gods. Once you have the files, navigate to this path: C:\ArkServer\ShooterGame\Binaries\Win64. In there, you will want to create a batch file. There are plenty of resources on what that is so I will not cover that here. The basic thing you need to know is that it is a txt file that you save as .bat, so there you go. In that file, you will want to paste this:
start ShooterGameServer.exe TheIsland?QueryPort=27015?SessionName=YOURSERVERNAME?MaxPlayers=5?listen?ServerPassword=PASS?ServerAdminPassword=ADMINPASS! -nosteamclient -game -server -log
If you have questions on that, it is covered pretty well at http://arkservers.net/help-host. Save it as StartServer for simplicity. Once you have that batch file in there, you are like 90% donezo. When you double-click that, you will see a couple command windows jump out at you. One will stick, and that guy will stay open for a while. Let it hang out for a few minutes before trying to log in. Check the developer's post in the Ark discussion page for the workarounds on not seeing the server.

Automating the Process
Okay, so by now you should have a cool private server. Here's your next roadblock: if you want to keep it updated, you will need to keep logging in to SteamCMD, running the app_update line from above, and restarting your server. It doesn't sound like a hassle, but after typing in that app id three days in a row, I was sick of it. The Steam guide provided some insight as to how to automate, but let me break it down for you in Arkspeak. Create a text file in your SteamCMD directory (or wherever, I'm an article, not a cop) and paste in the following:
//update Ark server login *steam login* *pass* force_install_dir C:\ArkServer app_update 376030 validate quit

Obviously you want to put in your actual Steam credentials, then your actual install directory from earlier. Go ahead and save that as something like ArkScript or whatever makes sense to you. What this is a special kind of script format that SteamCMD can consume. Meaning, you could run the SteamCMD prompt, type ArkScript, and it would run this stuff as if you were typing in each line. The commands are the exact same as we discussed earlier. Now, IMPORTANT NOTE. You should try to run this now. Like I said, you can run it from the SteamCMD, or you can launch the SteamCMD from Windows cmd if you are more comfortable with that. I recommend doing it from Windows so you can copy paste stuff if you want. In that case, you will have to change directories to where you just saved that ArkScript. In the cmd prompt, type
cd C:\Users\zombiecomp\Desktop\SteamCMD

Okay, so the reason why I chose to save the ArkScript in the SteamCMD directory is because the SteamCMD executable is here, too. Now that we are in the directory with both, we can run the following:
steamcmd +runscript ArkScript.txt

This will start SteamCMD with the parameter of runscript and allow the consumption of that lame script thing we made. If it worked, you'll see the usual cmd window showing you the update progress. If you are like me and glorked it up, you'll get an error running script. What probably happened is that you left ".txt" at the end of that text file. You know, like a normal person. Well, Windows recognizes that it is a text file and automatically adds that, so what cmd thought you were passing was ArkScript.txt.txt so SteamCMD was all "hey that's not there" but fails out instead of just saying that. So, simply clip off that bit from the file itself (leave it in the command) and try to re-run it. If that's all good, move on!

By now, you are a pro at batch files, so let's make another one. Again, I like to do it on my desktop (awww yeah), so create another txt file and place in the following:
cd C:\Users\zombiecomp\Desktop\SteamCMD steamcmd +runscript ArkScript.txt
Blah blah change the path blah blah you get it. Does that look familiar? It should, because those are the same commands we just entered by hand. Saving it to a batch file will allow you to just skip that extra process of having to tell SteamCMD that you want to run your ArkScript. If you really want to get fancy, you might consider adding
cd C:\ArkServer\ShooterGame\Binaries\Win64 call StartServer.bat
to the bottom of that batch file. That Call function will launch the batch file for starting the server back up, after the update is finished!

Anyway, that's all I got for you. In some ways, pretty straight forward. In others, an occasionally frustrating pile of poops that can really put the brakes on an afternoon of gaming. There are many other ways of doing what I've laid out here so don't lecture me about my inefficient use of commands or batches. But do let me know if you have any questions about what I've done or why, and I will try to answer in a reasonable fashion.

Regards,
zombie
Last edited by MrWaffles; Jun 25, 2015 @ 3:13am
< >
Showing 1-6 of 6 comments
Daonitre Sep 19, 2015 @ 6:14am 
overall nice guide... since it's in the front page on google I'd like to add 1 thing: Don't bother using your actual Steam credentials... use "anonymous" for both username and password. Using your actual credentials can cause a lot of weirdness with Steam occasionally and this still gets the job done.
What I'd like to know: is there a graceful exit option for closing the server? Can't find any info on it anywhere.
Greystar Sep 19, 2015 @ 6:30am 
You might actually want to put this in the GUIDE section instead of a normal forum post as it will eventually get lost.
MrWaffles Oct 7, 2015 @ 6:04pm 
Originally posted by Daonitre:
overall nice guide... since it's in the front page on google I'd like to add 1 thing: Don't bother using your actual Steam credentials... use "anonymous" for both username and password. Using your actual credentials can cause a lot of weirdness with Steam occasionally and this still gets the job done.
What I'd like to know: is there a graceful exit option for closing the server? Can't find any info on it anywhere.

Sorry for the delay! if this still is relevant to you in any way

Thanks for the credential note, I didn't know if it would require some sort of downstream authentication!

As to your other point: unfortunately you can't really interact with the cmd window/server in any way after launching. As a server admin, your only real option is doing it from the in-game console itself by typing the familiar "admincheat quit". As you probably know, you can save prior to that with the "admincheat saveworld".
Kyouma Oct 7, 2015 @ 6:13pm 
Originally posted by The Dorkbreaker:
Originally posted by Daonitre:
overall nice guide... since it's in the front page on google I'd like to add 1 thing: Don't bother using your actual Steam credentials... use "anonymous" for both username and password. Using your actual credentials can cause a lot of weirdness with Steam occasionally and this still gets the job done.
What I'd like to know: is there a graceful exit option for closing the server? Can't find any info on it anywhere.

Sorry for the delay! if this still is relevant to you in any way

Thanks for the credential note, I didn't know if it would require some sort of downstream authentication!

As to your other point: unfortunately you can't really interact with the cmd window/server in any way after launching. As a server admin, your only real option is doing it from the in-game console itself by typing the familiar "admincheat quit". As you probably know, you can save prior to that with the "admincheat saveworld".


The only thing you'd need auth for is mods that are restricted at this stage.
Daonitre May 15, 2016 @ 4:50pm 
Nice timing Steam... tell me 7 months after the additions that there were comments...
btw OP: still relevant (whether for ARK or others, I host multiple) and thanks for the response ;)
goldratte Jun 23, 2018 @ 7:39pm 
I need help with updating my Win10 server- I tried to follow the instructions above but didn't have much success- which folder do I specify in the update command, this is not clear to me (which files are being updated, anyway)? please help thanks
< >
Showing 1-6 of 6 comments
Per page: 1530 50

Date Posted: Jun 24, 2015 @ 5:09pm
Posts: 6