Difference between revisions of "MG/FAQ"

From MegaGlest
Jump to navigation Jump to search
(minor fixes)
Line 198: Line 198:
  
 
===Can I play MegaGlest with friends who run a different operating system?===
 
===Can I play MegaGlest with friends who run a different operating system?===
Yes, you can. To date, you can play cross-architecture on Linux (tested: Debian 5.0, Ubuntu 10.04, Fedora Core 13, OpenSuSE 11.3, Mandriva 2010) and Windows (tested: XP/7, both 32 and 64 bit), and there is experimental support for Mac OS X and FreeBSD.
+
Yes, you can. All supported variants of MegaGlest should work for playing online games together.
  
 
==Advanced topics==
 
==Advanced topics==

Revision as of 15:43, 20 May 2011

Some of MegaGlest's most answered questions can be solved easily, and to solve problems quickly, it is recommended to read some of the frequently asked questions (FAQ) for resolutions.

Installation

How do I run the installer on Linux?

Open a terminal window, then use the pwd command to determine the directory you are currently in, and the cd command to change into the directory you have stored the MegaGlest installer in. To verify that you are in the correct directory, you can use the ls command.

For example:

tux@computer:~$ pwd
/home/tux

tux@computer:~$ cd Downloads

tux@computer:~/Downloads$ pwd
/home/tux/Downloads

tux@computer:~/Downloads$ ls
debian-504-i386-netinst.iso
MegaGlest-Installer-3.3.7.2_i386_64_linux
ubuntu-10.10-desktop-i386.iso

tux@computer:~/Downloads$

The installer package is called MegaGlest-Installer-3.3.7.2_i386_64_linux.run in this example (it may be called differently in your case), and it is located in the Downloads directory (it may be in another location, such as in ~/Desktop).

Now make the installer executable, then run it:

tux@computer:~/Downloads$ chmod +x MegaGlest-Installer-3.3.7.2_i386_64_linux.run

tux@computer:~/Downloads$ ./MegaGlest-Installer-3.3.7.2_i386_64_linux.run

Once you execute this command, you should get to see the graphical installer, displaying the MegaGlest license. You can now follow the graphical installer to install the game into your home directory or a location of your choice (within the boundaries of where your Linux user may write to, so probably anywhere below your home directory only).

I get "permission denied" while installing on Linux

If, after spawning the installer as described above, you do not get to see the installer window but get an error about "permission denied", this is either because you had a typo in the chmod command (review the Linux installation instructions) or because you may not execute commands in the current directory, i.e. the entire file system you are currently working on has the 'no execute bit' set. You can work around this until the next reboot using the following command:

tux@computer:~/Downloads$ sudo mount -o remount,exec /home/

This assumes that /home is the mount point of the file system you are currently working in.

I get "wrong executable/binary/ELF format" while installing on Linux

After spawning the installer as described above, you may not get to see the installer window but get an error about 'wrong executable/binary/ELF format'. If you run into this then you seem to have downloaded an installer package which does not match your system architecture, i.e. you have probably downloaded a 64 bit installer but have a 32 bit system. You can use the arch and uname -m commands to check which operating system architecture you are using, example:

softcoder@softhauslinux:~$ arch
x86_64

softcoder@softhauslinux:~$ uname -a
Linux softhauslinux 2.6.35-28-generic #50-Ubuntu SMP Fri Mar 18 18:42:20 UTC 2011 x86_64 GNU/Linux

Both of theses results indicate a 64 bit version of Linux (notice the _64 in both)

How do I install into my home directory or bypassing the installer on Linux?

The Linux installer always installs into your home directory, not system-wide. But if you don't like to rely on the installer to set things up for you then you're welcome to do your own installation instead. Here's how:

You'll want to ensure you have 7-zip installed so that you can unpack the data package. On Debian and its derivates (Ubuntu etc.) you can use:

sudo apt-get update && sudo apt-get install p7zip-full

Then create a new directory the game will be placed in (for MegaGlest version 3.3.7.2 in this example):

cd
mkdir megaglest-3.5.1
cd megaglest-3.5.1

Now you need to download the "Linux XX bit x86 binaries" and the "full data package". What XX is depends on the architecture your Liux distribution is optimized for. On Debian and its derivates (Ubuntu etc.) you can use the arch command to determine what you have. If the arch command doesn't work for you, try uname -m instead. If it says x86_64 then you want the 64 bit version of the game, otherwise use the 32 bit version.

For example, to download the 64 bit Linux version:

wget -O megaglest3.5.1_i386_64_linux_bin.tar.bz2 'http://sourceforge.net/projects/megaglest/files/current_release/megaglest3.5.1_i386_64_linux_bin.tar.bz2/download'
wget -O megaglest-data-3.5.1.tar.xz 'http://sourceforge.net/projects/megaglest/files/current_release/megaglest-data-3.5.1.tar.xz/download'

Now extract the archives (I'm using the 64 bit file names again in this example) in the directory you are in:

tar xf megaglest-data-3.5.1.tar.xz
tar xjvf megaglest3.5.1_i386_64_linux_bin.tar.bz2

And play with:

./megaglest

Next time you want to play, you just need to:

cd ~/megaglest-3.5.1
./megaglest

You can, of course, also create a shortcut on your favourite window manager so that you just need to point and click to start the game in the future, thus eliminating the necessity of using the terminal window each time.

Issues running the game

When I click the game icon nothing happens/a window just opens and closes

Linux

Start a terminal. Use the 'cd' command to change to where you installed MegaGlest (probably something like /home/yourusername/megaglest/), then start the game:

cd ~/megaglest/
./start_megaglest

You will likely get to see an error message then. Try to find help in the MegaGlest FAQ and in the forums - search them! -. If neither helps, copy and paste the complete output including where you invoked ./glest to the forums or to paste.megaglest.org, and optionally connect to IRC to check whether someone is around to help you - if you do, remain connected to the chat for at least half an hour, we are not always around. Or just wait till we respond on the forums.

Windows

Open the Start menu, and click on Run then type cmd and press enter. Use the cd comamnd to change into the directory where you installed MegaGlest (probably something like C:\Program Files\MegaGlest). Then start the game:

cd %ProgramFiles%\MegaGlest
megaglest

If an error message shows up proceed as explained above for Linux.

I get an error about missing libraries

Linux

Be sure that you have installed all requirements. If it still does not work then, you may try running these commands from your MegaGlest root folder (probably something like /home/yourname/megaglest).

mkdir lib_bkp
mv lib/* lib_bkp/
cp lib_bkp/libcurl* lib/
cp lib_bkp/libgnu* lib/
cp lib_bkp/libicu* lib/
cp lib_bkp/liblua* lib/
cp lib_bkp/libxerces* lib/

Then retry running MegaGlest.

I get an error stating MegaGlest needs an OpenGL version of at least 1.3 to work

You likely need either updated video drivers or your video card. It could also be that your hardware is just too old or you bought hardware which is badly supported on your operating system by its manufacturer. But don't give up just yet, read the #Where can I get newer video drivers? section below.

Where can I get newer video drivers?

This depends much on your operating system:

Linux

You should first check whether their distribution provides "backported" drivers for their graphics card and if so, try them. For example, if you run Ubuntu, take a look at the 'drivers-only' section of the xorg-edgers PPA (or even the complete X Updates PPA - but this is for people who really know what they are doing and don't mind sitting there with broken drivers and no X GUI). Be aware, none of these are fully supported - do read the instructions on these pages. Another option is to install a vendors binary driver. Those are often available through your Linux distributions' package repositories, too, and are often in better shape than those you could download from your vendors website. In case of Ubuntu, have a look at their Binary Driver How-to.

Windows

Try to get the latest drivers available from your video card manufacturer. If you have a laptop, get them from your laptop manufacturer instead. If you have legacy hardware and the drivers your hardware manufacturer provides have not received updates recently, you can try patched drivers. These are current vendor drivers which have been modified to work with older hardware as well as with laptops where the laptop manufacturer fails to provide driver updates (but the latest official video card drivers refuse to be installed) and to introduce additional features. For example, patched ATI drivers for current hardware and for legacy hardware are available. Note that these are not official drivers, and are not guaranteed to work, nor does the Glest Wiki accept liability for problems that may occur.

My Frames Per Second (FPS) are horrible, what can I do?

If you are a Linux user turn off Compiz, as It can drop FPS for 3D games from 500FPS to 70FPS. Also disable sync to vblank:

Otherwise try the following settings by adding or editing them in glestuser.ini

AutoMaxFullScreen=false
CheckGlCaps=true
ColorBits=16
DepthBits=16
Filter=Bilinear
FilterMaxAnisotropy=1
MaxLights=1
PhotoMode=false
RefreshFrequency=75
ScreenHeight=768
ScreenWidth=1024
ShadowTextureSize=256
Shadows=Disabled
StencilBits=0
Textures3D=false
UnitParticles=false

My mouse seems to move sluggish, too slow or too fast

This could be for many reasons. (see references to DGAMOUSE on libsdl.org). Alternately, you may press / in the game to switch the mouse-pointer. For a permanent change edit glestuser.ini and add this entry (or change it if it already exists but is currently set to "false" or "0"):

No2DMouseRendering=true

Network gaming

How can I host a MegaGlest game?

Most domestic (read: home user) Internet connections are setup to require port forwarding to make a service, such as MegaGlest, available on the Internet. Port forwarding is usually configured on your Internet modem / router. MegaGlest allows for using UPnP, making configuration much easier. See the Port Forwarding page for further instructions.

What network ports must be open for network play? How do I configure my firewall?

The Internet/LAN custom game menus display the actual port number used by MegaGlest. The default port number is specified in glest.ini:

ServerPort=61357

If you need to change it, do it by adding the same setting to glestuser.ini but adjust the port number as needed. If a user who will be hosting a game changes this port number, then all users directly connecting to this server mustdo so, too. TCP is used for all game communication. In a LAN setup the server will additionally use UDP broadcasts to inform clients on the same network that it is available to connect to.

Since v3.3.5 it is possible to separate the 'External' port from the 'Internal' port. The 'External' port is the port exposed to the outside world (Internet) and is usually the entry point into your network via a router. This 'External' port is the port that other users will see, and require to connect into your network. When you create a network game by selecting a 'Network' slot in the custom game menu you will see the 'External Port #' option at the top of the screen. By default we use TCP port 61357 but users may pick from a list of various port numbers (the one you pick must be setup on your router / firewall to 'Port Forward' incoming connections from the Internet to your computer). This list of External Port numbers is configurable as a property in glestuser.ini, eg:

MasterServerExternalPortList=61357,80,143,587,21,110,25,443,993,995

The 'Internal' Port is the port that Mega-Glest itself will listen on for connections. This Internal Port # is set via a property in glestuser.ini (overwriting the default value contained in glest.ini):

ServerPort=61357

For LAN Games clients will look for servers using this port number. For Internet Games, Clients will ask the Master Server for the 'External Port' sent to it by a Mega-Glest User who will be hosting a Game.

Users should therefore configure their router/firewall to "Port Forward" the external port they will use (as displayed in the Custom Game Menu, default is 61357) to their internal port (configured in glest.ini or glestusers.ini, default is 61357).

How much network bandwidth does MegaGlest require?

Each players' connection to the game server consumes up to 20 kilobits per second (Kbps), with an average more around 10 Kbps. So as a client, you should never need more than 20 Kbps. To host games, you will need 20 Kbps x ( number of players - 1 ), so if you play a game with eight players (or observers, this should not change things much), this will amount to a maximum of ~140 Kbps. However, keep in mind that if you use an internet access method where upload and download bandwidth are split up asymmetrically (such as ADSL) then keep in mind that if you need to transfer data into both in and outbound directions simultaneously — as is the case for MegaGlest — this effectively decreases the bandwidth you can get through the line in the direction which provides the smaller bandwidth. Realistically, this means that to play a 8 player game on an ADSL line, you may need a line which is marketed as providing 250 Kbps upstream.

Do I need good ping? Do I need to stop my downloads to play?

You may have heard that some computer games, especially real time games, require "good ping", or, in technical terms, require you to have a low latency network link. While this is usually affects first person shooters mostly, it also affects MegaGlest.

In most cases all wired Internet access methods will be fine to play MegaGlest. However, cable Internet can be problematic during times when many people in your neighborhood are using their internet access simultaneously. This can also, though more rarely, be the case for ADSL lines.

Internet connections which are partially using aired connections, such as Wireless LAN (WLAN), WiFi, Wimax, HSCSD (HSDPA/HSUPA),UMTS, EDGE, GPRS and satellite links can be problematic because they often come with high latencies or even packet loss. While people who are limited to using such connections have successfully played MegaGlest matches, bearing latencies of up to 250 ms (milliseconds, so 0.25 seconds), such links are not really very stable and reliable, and we therefore recommend against using them - if you have a choice. WLANs can be super comfortable, but for applications or games like MegaGlest which require low latency connections plugging in an Ethernet wire to your router is really a good idea.

Depending on the type of your Internet link, and especially if you use a DSL connection or a connection which already bears hgh latency with little data flow, you should also consider stopping or at least limiting your downloads while you play, since this will not only eat bandwidth but, especially on DSL lines, also increase your latency remarkably.

Why is the list of game servers mostly empty?

There's several reasons to this:

  • To date, MegaGlest games are only displayed on this list as long as players can join it. This means that currently running games are not listed, nor are servers listed which have all their network slots filled already. We are considering to change this behavior to also list games which have already started, so that you can join this game as an observer.
  • MegaGlest is pretty new (the original Glest is older, but does not have the ability to support a master server), so not many people know this game yet. Thus, during offtime, there is considerably less players available.
  • There is not currently a dedicated/headless game server version of MegaGlest, yet. As such, it's not currently possible to just install MegaGlest on an Internet server and have it host random or pre-programmed games automatically. This may change some day, too, but it involves quite a bit of engineering, so it can take a while to happen.

I cannot connect to a server that is hosting a game on my LAN on Windows

This may be caused by the Windows Firewall be turned on for Private Networks. Disable the Windows firewall for private networks and you should be able to click "Find Games" to find a hosted server on your LAN.

Can I play MegaGlest with friends who run a different operating system?

Yes, you can. All supported variants of MegaGlest should work for playing online games together.

Advanced topics

Can games be saved and resumed later?

MegaGlest does not currently support this feature, though the Glest Advanced Engine is able to save and load games.

Which hotkeys are there and how do I redefine them?

Look at glestkeys.ini (you may override these defaults by making override changes to glestuserkeys.ini).

What optional command line options exist?

There are several command line options to date and more will likely be added in the future. To list the available command line options, use:

--help

An example for a command line option is:

--version

This command gives you the version of MegaGlest you have installed. To use command line options, use the command line (cmd on Windows, the terminal on Linux, etc) to run the program with the command line option trailing it. A Windows example is:

"C:\Program Files (x86)\MegaGlest\megaglest.exe" -- version

This assumes that the MegaGlest executable is located at "C:\Program Files (x86)\MegaGlest\megaglest.exe".

How can I uninstall MegaGlest?

Linux

We will assume that you have MegaGlest installed in /home/your_username/megaglest. If you installed elsewhere, just modify this path as needed.

Open a terminal window. Then enter this command:

~/megaglest/uninstall-megaglest.sh

The uninstaller will delete all files the installer installed. However, the game also creates some symbolic links when it first starts. Since the installer did not create these links, you need to manually delete them as soon as the uninstaller is done. And then you should also be able to delete the MG main directory, You may want to remove the game data and configuration you have accumulated in ~/.megaglest, too.

Windows

Run uninstall.exe in the installation folder.

How can I install my own master server?

First of all, please think about whether it actually makes sense to do so. The MegaGlest project provides a freely usable, well-connected default masterserver setup for the community to use for network games played over the Internet. As such, we can think of very few, if any, good reasons why anyone would want to setup their own masterserver. MegaGlest is still a young project and there are not that many players yet. Setting up a new MegaGlest masterserver will just divide an already small community, so we think this is neither fun for you nor for anybody else.

Nevertheless, in the virtue of free software, the MegaGlest team wants to make the master server source code available, too. However, they will not support your use of it beyond this FAQ entry unless you can provide convincing reasons why they should.

The PHP / MySQL masterserver source code can be found in the subversion repository in the source/masterserver directory. The masterserver currently only facilitates clients and servers so that they may find one another, it does not create a dedicated server for network games. This means that users who "host" a network game may choose to 'publish' their game to the masterserver where other users may 'join' published network games (thus connecting directly to the hosted server player).

If for some reason a person wanted to setup their own masterserver you require:

  • a webserver that handles PHP (like Apache or IIS)
  • a MySQL database.

To set things up, edit config.php and edit the database values to match your server.

  1. FTP all the files in the masterserver folder in SVN to your webserver.
  2. Create a MySQL database and import the createDB.sql scheme to create the appropriate database tables (you can use phpmyadmin or a similar program to do so).
  3. Ensure all clients that will use your masterserver have the correct root URL to point to your server. Have them modify this setting in glestuser.ini so that it points to your master server:
Masterserver=http://yoursite.com/

What configurable game settings are there?

See MG/INI

How can I provide a new/updated translation?

See MG/Translations

See Also