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

From Multi Theft Auto: Wiki
Jump to: navigation, search
(Running with 64 bit Linux - Debian 7 (wheezy))
Line 51: Line 51:
  
 
== Running with 64 bit Linux ==
 
== Running with 64 bit Linux ==
 +
===Debian 7 (wheezy) 64 bit===
 +
Before running MTASA Server, use this command line for installation of 32 bit libs :<br/>
 +
 +
apt-get install lib32ncursesw5 g++-multilib lib32z1
 +
 +
 
===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:<br/>
+
For 64 bit Debian 6, this is achieved with:<br/>
 
''(Some 64 bit distros have 32 bit libs already installed for you. So this step might not be required)''
 
''(Some 64 bit distros have 32 bit libs already installed for you. So this step might not be required)''
  

Revision as of 14:38, 31 May 2014

Installation

Main binary

Download the latest stable Linux binaries from here:

wget http://linux.mtasa.com/dl/135/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/135/baseconfig-1.5.6.tar.gz

Unpack and move into the deathmatch directory:
(Note: Only do this for new installations as it will overwrite any existing config files.)

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

Debian 7 (wheezy) 64 bit

Before running MTASA Server, use this command line for installation of 32 bit libs :

apt-get install lib32ncursesw5 g++-multilib lib32z1


Install 32 bit libs for your 64 bit distro

For 64 bit Debian 6, 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

64 bit Debian/Ubuntu

  • 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

64 bit CentOS 6

  • If you get a problem with such as "libreadline.so.5: cannot open shared object file: No such file or directory.", edit /etc/yum.conf and add this line:
multilib_policy=all

Then issue this command:

yum install compat-readline5

MySQL Troubleshooting

  • If you are using the inbuild MySQL functions such as dbConnect and dbQuery, you will need to have libmysqlclient.so.15 installed.
  • If you can't get libmysqlclient.so.15 installed by conventional means, then try downloading the file from here and copying it to your Linux server /usr/lib/ directory.

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)