Difference between revisions of "Installing and Running MTASA Server on GNU Linux"

From Multi Theft Auto: Wiki
Jump to: navigation, search
Line 1: Line 1:
{{Needs Checking|Debian 7 (Wheezy) is out, this release includes multiarch support. Update the Debian specific instructions to 7.}}
 
 
 
 
 
== Installation ==
 
== Installation ==
  
Line 54: Line 50:
 
== Running with 64 bit Linux ==
 
== Running with 64 bit Linux ==
 
===Install 32 bit libs for your 64 bit distro===
 
===Install 32 bit libs for your 64 bit distro===
For 64 bit Debian, this is achieved with:
+
For 64 bit Debian, this is achieved with:<br/>
 +
''(Some 64 bit distros have 32 bit libs already installed for you. So this step might not be required)''
  
 
  apt-get install ia32-libs
 
  apt-get install ia32-libs
 
(Note: Some 64 bit distros have 32 bit libs already installed for you. So this step might not be required)
 
  
 
===64 bit Troubleshooting===
 
===64 bit Troubleshooting===

Revision as of 23:31, 1 October 2013

Installation

Main binary

Download the latest stable Linux binaries from here:

wget http://linux.mtasa.com/dl/134/multitheftauto_linux-1.5.6.tar.gz

Unpack into a directory:

tar -xf multitheftauto_linux*

Default config

Download the default config files:

wget http://linux.mtasa.com/dl/134/baseconfig-1.5.6.tar.gz

Unpack and move into the deathmatch directory:

tar -xf baseconfig*
mv baseconfig*/* multitheftauto_linux*/mods/deathmatch

Test

You can now test if the server will start correctly, by entering the install directory:

cd multitheftauto_linux*

and launching:

./mta-server

Running with 32 or 64 bit Linux

Make sure your server libraries and stuff are up to date

On Debian/Ubuntu this is done with:

apt-get update
apt-get upgrade

Running with 32 bit Linux

32 bit Troubleshooting

  • If you get a problem with such as "libreadline.so.5: cannot open shared object file: No such file or directory.", it can be solved on 32 bit Debian/Ubuntu by doing this:
apt-get install libreadline5
  • If you get a problem with such as "libncursesw.so.5 cannot open shared object file: No such file or directory", it can be solved on 32 bit Debian/Ubuntu by doing this:
apt-get install libncursesw5

Running with 64 bit Linux

Install 32 bit libs for your 64 bit distro

For 64 bit Debian, this is achieved with:
(Some 64 bit distros have 32 bit libs already installed for you. So this step might not be required)

apt-get install ia32-libs

64 bit Troubleshooting

  • If you get a problem with such as "libreadline.so.5: cannot open shared object file: No such file or directory.", it can be solved on 64 bit Debian/Ubuntu by doing this:
apt-get install lib32readline5
  • If you get a problem with such as "libncursesw.so.5 cannot open shared object file: No such file or directory", it can be solved on 64 bit Debian/Ubuntu by doing this:
apt-get install lib32ncursesw5

Cent OS Troubleshooting

  • If you are using Cent OS and you get something like /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by xmll.so) this can be resolved by doing downloading the archive [here] and unpacking it with the following command:
rpm2cpio libstdc++-4.3.0-8.i386.rpm | cpio -i --make-directories

Server crashes

If your Linux server crashes, please obtain a backtrace and post a report on our Bug tracker

To obtain a backtrace:

Do you have a core dump file in the the MTA server directory?

It's usually called 'core', and usually over 100MB, and looks something like this:

Core.png

If you have a core dump file in the the MTA server directory:

  • Install gdb. To install gdb on Debian, use this command:
apt-get install gdb
  • And from the MTA install directory do this command
gdb mta-server -c core
  • When gdb launches, do this command to get a module list:
i sh
  • And then this command to get a backtrace:
bt
  • Save the output
  • (To exit gdb, use the quit command)

If you do not have a core dump file in the the MTA server directory:

  • Install gdb. To install gdb on Debian, use this command:
apt-get install gdb
  • And from the MTA server directory start the mta-server like this:
gdb mta-server -ex "set print thread-events off" --eval-command run
  • Now wait for a crash. (Ignore any weird screen output in the meantime)
  • When a crash occurs, do this command to get a module list:
i sh
  • And then this command to get a backtrace:
bt
  • Save the output
  • (To exit gdb, use the quit command)


Server freezes

If your Linux server freezes, please obtain a backtrace with thread information and post a report on our Bug tracker

To obtain a backtrace with thread information:

  • Install gdb. To install gdb on Debian, use this command:
apt-get install gdb
  • And from the MTA server directory start the mta-server like this:
gdb mta-server -ex "set print thread-events off" --eval-command run
  • Now wait for a freeze. (Ignore any weird screen output in the meantime)
  • When a freeze occurs, press ctrl-c to start gdb
  • Then do this command to get a module list:
i sh
  • And then this command to get a backtrace:
bt
  • And then this command to get thread information:
info threads
  • Save the output
  • (To exit gdb, use the quit command)