Difference between revisions of "Getting Started with Server"

From RAGE Multiplayer Wiki
Jump to navigation Jump to search
Line 29: Line 29:
 
wget https://cdn.rage.mp/lin/ragemp-srv.tar.gz
 
wget https://cdn.rage.mp/lin/ragemp-srv.tar.gz
 
# Extract the server files
 
# Extract the server files
tar -xzf ragemp-server.tar.gz
+
tar -xzf ragemp-srv.tar.gz
mv ragemp-server ~/ragemp-server
+
mv ragemp-server ~/ragemp-srv
 
# Run the server
 
# Run the server
cd ~/ragemp-server
+
cd ~/ragemp-srv
 
chmod +x server
 
chmod +x server
 
./server
 
./server

Revision as of 16:10, 24 December 2017

Introduction

This brief tutorial will show you how to run your server on both Windows and Linux distributions.

By default, the server makes use of port 22005 UDP for server access so make sure to have done the port forwarding on your router process and have also unblocked the port on your firewall before running the server.

Windows

Troubleshooting

Linux

Installing GCC 6

Debian, Ubuntu, and derivatives

Ubuntu 16.04.x and older

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-6 g++-6

Installing the server

# Downloading server
cd /tmp
wget https://cdn.rage.mp/lin/ragemp-srv.tar.gz
# Extract the server files
tar -xzf ragemp-srv.tar.gz
mv ragemp-server ~/ragemp-srv
# Run the server
cd ~/ragemp-srv
chmod +x server
./server

# Firewall commands (iptables only) (dont forget to save the rule after adding it)
iptables -A INPUT -p udp --dport 22005 -j ACCEPT
iptables -A INPUT -p tcp --dport 22006 -j ACCEPT

Setting up

Installing screen

For running the server in background, we recommend using screen mainly for its ease of use

Debian based (Ubuntu & derivatives)

sudo apt-get install screen

CentOS 6.x/7.x

yum install screen

Starting the server

screen -dmS GTASERVER -L bash -c 'cd ~/srv && ./server' &

# Parameter explanation
# screen -dmS = starts a separate shell without directly opening an interface towards it (detached mode). The S param defines a session name for the newly created session, so that it is easier to manage in the future.
# screen -L = basically logs whatever error that is shown by the server through the separate shell into a file for easier reference in the future.
# !IMPORTANT!
# Log output will be saved as screenlog._number_ in the server directory.
# &: IS IMPORTANT IF YOU WANT TO TERMINATE THE PROCESS GRACEFULLY

Stopping the server

To stop the server, there's usually two ways to do that, one that we call a graceful shutdown that sends the server a signal for termination and the other, well, a crash since it does not allow the code to run through the termination process correctly.

RECOMMENDED:

kill $(ps h --ppid $(screen -ls | grep GTASERVER | cut -d. -f1) -o pid)

NOT RECOMMENDED: It does not shut down the server gracefully

screen -S GTASERVER -X quit

Troubleshooting