Editing MG/Dedicated Server
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 2: | Line 2: | ||
== Requirements == | == Requirements == | ||
− | To host your own headless server, you will need a dedicated or virtual private server which roughly meets the minimum requirements the [ | + | To host your own headless server, you will need a dedicated or virtual private server which roughly meets the minimum requirements the [http://sourceforge.net/apps/trac/megaglest/export/HEAD/trunk/docs/README.txt MegaGlest README] lists. You should actually be okay with 512 MB unallocated RAM (remaing free memory after the system has fully started up), though. A multi-core system is strongly recommended, and if these are virtual cores (VPS) then this system should not be running any other services. Graphics or audio cards are not needed. You do need a low latency Internet connection, though. Bandwith is not usually a problem (it might be if you operate under strict bandwidth restrictions and your MegaGlest server offers mods for download). |
==Hosting== | ==Hosting== | ||
Line 23: | Line 23: | ||
==MegaGlest installation== | ==MegaGlest installation== | ||
− | The next steps are specific to the installation and configuration of MegaGlest on your dedicated server. If you already have a working multi-use(r) Debian server, this is the point to start following this tutorial. | + | The next steps are specific to the installation and configuration of MegaGlest on your dedicated server. If you already have a working multi-use(r) Debian 6.0 server, this is the point to start following this tutorial. |
Still working as ''root'', create a new restricted user ''megaglest'': | Still working as ''root'', create a new restricted user ''megaglest'': | ||
Line 29: | Line 29: | ||
adduser megaglest --disabled-password --gecos "" | adduser megaglest --disabled-password --gecos "" | ||
− | Also as ''root'', install dependencies for MegaGlest | + | Also as ''root'', install dependencies for MegaGlest: |
− | apt-get install xz-utils p7zip-full | + | apt-get install xz-utils p7zip-full libsdl1.2debian libglu1 libsm6 libopenal1 libvorbisfile3 libglew1.5 libfontconfig1 libldap-2.4-2 libidn11 binutils |
− | |||
− | |||
Now switch to the ''megaglest'' user, this is the last time you need to work as ''root'': | Now switch to the ''megaglest'' user, this is the last time you need to work as ''root'': | ||
Line 39: | Line 37: | ||
su -l megaglest | su -l megaglest | ||
− | Download [https://github.com/MegaGlest/megaglest-source/releases/ binary] and [https://github.com/MegaGlest/megaglest-data/releases/ data] archives for the latest stable MegaGlest release. If your server runs a 64 bit operating system (the ''arch'' command says ''x86_64'') then go for the 64 bit Linux binary and data archives, otherwise use the 32 bit ones. You can download these using ''wget'', here's an example on how to do it with MegaGlest 3. | + | Download [https://github.com/MegaGlest/megaglest-source/releases/ binary] and [https://github.com/MegaGlest/megaglest-data/releases/ data] archives for the latest stable MegaGlest release. If your server runs a 64 bit operating system (the ''arch'' command says ''x86_64'') then go for the 64 bit Linux binary and data archives, otherwise use the 32 bit ones. You can download these using ''wget'', here's an example on how to do it with MegaGlest 3.9.1 for a 64 bit server: |
− | wget https://github.com/MegaGlest/megaglest-source/releases/download/3. | + | wget https://github.com/MegaGlest/megaglest-source/releases/download/3.9.1/megaglest-binary-linux-x86_64-3.9.1.tar.xz |
− | wget https://github.com/MegaGlest/megaglest-data/releases/download/3. | + | wget https://github.com/MegaGlest/megaglest-data/releases/download/3.9.1/megaglest-data-3.9.1.tar.xz |
− | + | Unpack, add a convenient symlink, delete the GUI binaries you do not need on a server and create the configuration directory: | |
− | + | tar -xJf megaglest-data-3.9.1.tar.xz | |
− | ln -s megaglest-3. | + | ln -s megaglest-3.9.1 megaglest-server |
cd megaglest-server | cd megaglest-server | ||
− | + | tar -xJf megaglest-binary-linux-x86_64-3.9.1.tar.xz | |
− | tar -xJf | + | rm megaglest_g3dviewer start_megaglest_g3dviewer megaglest_editor start_megaglest_mapeditor |
− | + | mkdir -p ~/.megaglest | |
− | rm megaglest_g3dviewer start_megaglest_g3dviewer megaglest_editor start_megaglest_mapeditor | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Do a test run: | Do a test run: | ||
megaglest@gameserver:~/megaglest-server$ ./start_megaglest --version | megaglest@gameserver:~/megaglest-server$ ./start_megaglest --version | ||
− | megaglest v3. | + | gamedir [/home/megaglest/megaglest-server] |
− | Compiled using: GNUC: | + | Looking for LDCONFIG []... |
− | GIT: [Rev: | + | LDCONFIG environment variable is not set... |
+ | Found LDCONFIG using which [/sbin/ldconfig]... | ||
+ | default library [/home/megaglest/megaglest-server/lib/libopenal.so.1] was found in [/usr/lib/x86_64-linux-gnu/libopenal.so.1] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libdirectfb-1.2.so.0] is missing, attempting to find and link to a newer version if available... | ||
+ | new library link [/usr/lib/x86_64-linux-gnu/libdirectfb-1.2.so.9] pointed to from [/home/megaglest/megaglest-server/lib/libdirectfb-1.2.so.0] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libfusion-1.2.so.0] is missing, attempting to find and link to a newer version if available... | ||
+ | new library link [/usr/lib/x86_64-linux-gnu/libfusion-1.2.so.9] pointed to from [/home/megaglest/megaglest-server/lib/libfusion-1.2.so.0] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libdirect-1.2.so.0] is missing, attempting to find and link to a newer version if available... | ||
+ | new library link [/usr/lib/x86_64-linux-gnu/libdirect-1.2.so.9] pointed to from [/home/megaglest/megaglest-server/lib/libdirect-1.2.so.0] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libjpeg.so.62] is missing, attempting to find and link to a newer version if available... | ||
+ | new library link [/usr/lib/x86_64-linux-gnu/libjpeg.so.8] pointed to from [/home/megaglest/megaglest-server/lib/libjpeg.so.62] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libpng15.so.15] is missing, attempting to find and link to a newer version if available... | ||
+ | new library link [/lib/x86_64-linux-gnu/libpng12.so.0] pointed to from [/home/megaglest/megaglest-server/lib/libpng15.so.15] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libcurl.so.4] was found in [/usr/lib/x86_64-linux-gnu/libcurl.so.4] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libxerces-c-3.1.so] was found in [/usr/lib/x86_64-linux-gnu/libxerces-c-3.1.so] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libicudata.so.40] is missing, attempting to find and link to a newer version if available... | ||
+ | new library link [/usr/lib/x86_64-linux-gnu/libicudata.so.48] pointed to from [/home/megaglest/megaglest-server/lib/libicudata.so.40] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libicuuc.so.40] is missing, attempting to find and link to a newer version if available... | ||
+ | new library link [/usr/lib/x86_64-linux-gnu/libicuuc.so.48] pointed to from [/home/megaglest/megaglest-server/lib/libicuuc.so.40] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libGLEW.so.1.5] is missing, attempting to find and link to a newer version if available... | ||
+ | new library link [/usr/lib/x86_64-linux-gnu/libGLEW.so.1.8] pointed to from [/home/megaglest/megaglest-server/lib/libGLEW.so.1.5] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libGLEW.so.1.5] is missing, attempting to find and link to a newer version if available... | ||
+ | default library [/home/megaglest/megaglest-server/lib/libogg.so.0] was found in [/usr/lib/x86_64-linux-gnu/libogg.so.0] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libvorbis.so.0] was found in [/usr/lib/x86_64-linux-gnu/libvorbis.so.0] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libvorbisfile.so.3] was found in [/usr/lib/x86_64-linux-gnu/libvorbisfile.so.3] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libfontconfig.so.1] was found in [/usr/lib/x86_64-linux-gnu/libfontconfig.so.1] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libfreetype.so.6] was found in [/usr/lib/x86_64-linux-gnu/libfreetype.so.6] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libgnutls.so.26] was found in [/usr/lib/x86_64-linux-gnu/libgnutls.so.26] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libldap_r-2.4.so.2] was found in [/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libresolv.so.2] was found in [/libx32/libresolv.so.2] | ||
+ | default library [/home/megaglest/megaglest-server/lib/liblua5.1.so.0] was found in [/usr/lib/x86_64-linux-gnu/liblua5.1.so.0] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libftgl.so.2] was found in [/usr/lib/libftgl.so.2] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libircclient.so.1] was found in [/usr/lib/libircclient.so.1] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libdl.so.2] was found in [/libx32/libdl.so.2] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libvlccore.so.5] was found in [/usr/lib/libvlccore.so.5] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libvlc.so.5] was found in [/usr/lib/libvlc.so.5] | ||
+ | default library [/home/megaglest/megaglest-server/lib/libgcrypt.so.11] was found in [/lib/x86_64-linux-gnu/libgcrypt.so.11] | ||
+ | megaglest v3.9.1 | ||
+ | Compiled using: GNUC: 40403 [64bit] on: Jan 18 2014 17:44:55 platform: Linux-X64 endianness: little | ||
+ | GIT: [Rev: 4628.11ac54a] - using STREFLOP [SSE] - [no-denormals] | ||
+ | megaglest@gameserver:~/megaglest-server$ | ||
− | If MegaGlest fails to start here, please check the [http://faq.megaglest.org FAQ] . | + | These ''default library'' messages (which are sent to to the error output stream) are completely normal and can be ignored unless errors about missing libraries are reported. The only line returned to standard output are those three last lines which provide the version info. If MegaGlest fails to start here, please check the [http://faq.megaglest.org FAQ] . |
==MegaGlest configuration== | ==MegaGlest configuration== | ||
Line 100: | Line 111: | ||
You are now ready to go. However, for advanced configuration, many more options which may matter for a game server are available. Here is an optional example for a more complex <code>~/.megaglest/glestuser.ini</code> file: | You are now ready to go. However, for advanced configuration, many more options which may matter for a game server are available. Here is an optional example for a more complex <code>~/.megaglest/glestuser.ini</code> file: | ||
### For more information on these options, please consult | ### For more information on these options, please consult | ||
− | ### [[MG/INI| | + | ### [[MG/INI|http://wiki.megaglest.org/INI]] |
### Network settings | ### Network settings | ||
Line 111: | Line 122: | ||
#EnableFTPServerInternetTilesetXfer=1 | #EnableFTPServerInternetTilesetXfer=1 | ||
#EnableFTPXfer=1 | #EnableFTPXfer=1 | ||
− | #Masterserver=[[MG/INI| | + | #Masterserver=[[MG/INI|http://master.megaglest.org/]] |
### Logging | ### Logging | ||
Line 154: | Line 165: | ||
==Testing== | ==Testing== | ||
− | You should now be able to start a server and it should automatically publish to the | + | You should now be able to start a server and it should automatically publish to the master server (this can take up to two minutes). |
To run a headless server and register with the masterserver run: | To run a headless server and register with the masterserver run: | ||
− | + | '''./start_megaglest --headless-server-mode=exit''' | |
− | (run | + | (for full options run megaglest --help to see all parameters) |
Currently available game servers are listed at [http://play.mg Play.MG] , so your server should show up there with its IP address and the server/player name you have set. If publishing to the master server does not seem to work try running the server with ''--verbose'' option as discussed in the [http://faq.megaglest.org FAQ]. | Currently available game servers are listed at [http://play.mg Play.MG] , so your server should show up there with its IP address and the server/player name you have set. If publishing to the master server does not seem to work try running the server with ''--verbose'' option as discussed in the [http://faq.megaglest.org FAQ]. | ||
Line 239: | Line 250: | ||
*[[Multiplayer]] | *[[Multiplayer]] | ||
[[Category:MG]] | [[Category:MG]] | ||
− | |||
− |