Setting Up A JC2:MP Game Server On Debian

Updated on November 21, 2023
Setting Up A JC2:MP Game Server On Debian header image

In this guide, we will be setting up a Just Cause 2: Multiplayer Linux server.

These commands were tested on Debian 7 x64, but they should also work on the current version of Ubuntu.

The first step is logging into our server as root. We need to install a few packages before we can run the JC2 : MP server.

If you're running x64, execute these commands:

dpkg --add-architecture i386
apt-get update
apt-get install -y libc6-i386 lib32gcc1 lib32stdc++6 screen

If you're running x86, execute these commands:

apt-get update 
apt-get install -y screen

If you get a warning about "Setting locale failed", execute the following commands:

export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8
dpkg-reconfigure locales

(Full credit goes to "Werner Fischer" for the locale commands)

When you get to the configuration screen, press ENTER, select en_US and press ENTER again. After that, restart your SSH session.

Now, we need to create a user for our JC2:MP server, since running things as root is a bad idea. To do that:

adduser steam

Follow the prompts to set a password for your user. Press ENTER to skip entering user information.

Next, we want to execute commands as the user steam. Switch to the steam user by executing following command:

su steam

Make a folder and grab the steamcmd software to download JC2:MP. This is done by running:

mkdir ~/steamcmd
cd ~/steamcmd
wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
tar -xf steamcmd_linux.tar.gz
rm steamcmd_linux.tar.gz

We're ready to download the JC2:MP server software! Execute the following command and wait while the files are downloaded:

./steamcmd.sh +login anonymous +force_install_dir ~/jc2mp +app_update 261140 validate +quit

If the download fails for some reason, you can just re-issue the command again and it will pick up where it left off. The download shouldn't take too long since it just contains the server files.

Once the download is finished, we need to configure our JC2:MP server:

cd ~/jc2mp
mv default_config.lua config.lua
nano config.lua

How you configure this file is up to you, however you should probably change:

MaxPlayers - A cap of 5000 players isn't needed, a more reasonable limit of 200 would probably be enough.

Name - Name your server something nice, if you leave it as the default "JC2-MP Server", then you might not be able to find it.

Password - If you want your server to be private, you should set the password.

There are tons of options in this config file that you can change if you need/want to experiment. Once you're done editing it, you can save the file by pressing CTRL + X and then Y.

After you've configured your server's options, you will need to start a new SSH session and login as the steam user that we created before. After logging in, launch your server by running:

cd ~/jc2mp
screen -S jc2mp ./Jcmp-Server

Or if you prefer not to create a new SSH session and launch it silently:

screen -dmS jc2mp ./Jcmp-Server

If you choose the first option, you can "detach" from that screen by pressing CTRL, A + D at the same time. You may reattach to that screen anytime by typing:

screen -r jc2mp

To start your server in the future, log in as the steam user and execute:

cd ~/jc2mp
screen -S jc2mp ./Jcmp-Server

Congratulations! Your JC2:MP server is now up and running! Now you can invite your friends to it or start adding scripts.