Difference between revisions of "FAQ"

m (Restored)
(Added description how to start the dedicated server on Max OS, copied from a post by DDMJ)
Line 123: Line 123:
  
 
Generally this depends on how long you want the server to run at a time.  If you just want it running when you're playing, run the client in hosting mode, it's easier to deal with.  If you're running at a LAN party, you might also want to run the client in hosting mode.  But if you want to run a server that operates on the internet, reports to the master server, and runs 24 hours a day, 7 days a week (8 days in a leap week), then you should run the dedicated server.
 
Generally this depends on how long you want the server to run at a time.  If you just want it running when you're playing, run the client in hosting mode, it's easier to deal with.  If you're running at a LAN party, you might also want to run the client in hosting mode.  But if you want to run a server that operates on the internet, reports to the master server, and runs 24 hours a day, 7 days a week (8 days in a leap week), then you should run the dedicated server.
 +
 +
== How to start the dedicated server ==
 +
 +
=== ... on Linux/Unix ===
 +
This section needs to be written.
 +
 +
=== ... on MS Windows ===
 +
This section needs to be written.
 +
 +
=== ... on Max OS X ===
 +
There is a very easy way to run the dedicated server on Max OS:
 +
*1. Open up Terminal ( Macintosh HD -> Applications -> Utilities -> Terminal )
 +
*2. In the terminal window type (without the quotes & don't forget the space): 'cd '
 +
*3. Drag the 'Armagetron Advanced Dedicated' folder into the terminal window
 +
*4. Press Enter
 +
*5. Drag the 'armagetronad-dedicated' file ( Armagetron Advanced Dedicated -> armagetronad-dedicated ) into the Terminal window
 +
*6. Press Enter
  
 
== I've started the dedicated server, but I don't see it listed in the master server.  What's wrong? ==
 
== I've started the dedicated server, but I don't see it listed in the master server.  What's wrong? ==

Revision as of 06:10, 14 April 2007

Following is a list of Frequently Asked Questions. Obviously, this is what people ask us the most. Before asking a question, you should give this list a good read. If your question isn't answered here, then by all means come to IRC or the forums or something and ask it. However, if your question is answered here, don't be surprised if you get an abrupt or downright rude response.

While we try to give the best answers to the questions asked regardless of pretty much anything else, however there are some general guidelines to follow when asking questions not on this list:

  • Don't ask stupidly. Ex: Why can't I get color on my walls? (Good example: How do I have a cycle and wall color that are different from each other?)
  • Provide as much information as you have that's relevant to the question. Ex: Why doesn't my server work? (Good example: My server starts, then stops. Here's the errors from the console. Any idea why it's shutting down right away?)

For a more detailed discussion, check this page, with two important points. First, the page linked is not in any way affiliated with Armagetron Advanced and therefore they can't answer your question. Second, the article is probably a bit more negative than it actually works around here. For the most part, if you can't ask the question in the smartest possible way, we'd rather you ask the best way that you can than live in the dark and suffer. Even if you're an idiot, we still want you to be a comfortable idiot.

If you think your question is actually a bug report and you've only just started with the game, chances are it's not. We'll not pretend the game is bug-free, but it is very stable and efficient. The chances that a new player to the game has discovered a previously unknown bug in a stable release are very very slim. Astronomically slim, in fact. In any case, if you wish to continue thinking you have done so, please start with a question that describes what you see and ends with "Is this expected behavior?" That's much more likely to get a satisfactory response than "This game sucks! It has this bug and that bug and it just doesn't work. I downloaded it today for the first time on my Windows box, do you not care about Windows?" Also, since you suspect you found a bug, include all the information a bug report should have. If you're unsure, please consult this page for the best results. Note, the author of that page is also unaffiliated with Armagetron Advanced, and therefore he will reject any bug reports you send him about our program.

Finally, this FAQ, like all FAQs, is a work in progress. If it's not as big as you're used to seeing, it's because it's probably a younger FAQ than what you're used to seeing. That's ok. We'll add to it over time, and it'll get bigger and bigger until the server explodes with so many frequently asked questions that all of the developers decide to pitch in and buy a Caribbean island. Mmm, coconuts.

Contents

What is Armagetronad

Please read this.

Terminology

What is a client? What is a server? What's the difference?

Simply put, the game client is the program you run on your computer. The game server runs on somebody else's computer. The difference between the two is like the difference between, say, a lawyer and his client. The lawyer would be the server, the one who knows all about law and stuff. So the difference is just like in real life where the terms come from. The client requests a service from someone who serves. In our case, that service is a game that is served from a machine running a program called a "server", but if you requested the same service from a person in a casino, you'd still be running a game client.

My client can be a server, though, it says so right here.

That's not a question. In any case, the game client can act as a server if you press "Host Game" from the Internet Game menu. So technically the client is a client/server hybrid, but let's not get too technical.

So are all game servers just clients where people pressed "Host Game"?

No. This is where people get really confused, even to the point where they complain to server operators for doing exactly this thing. No, most, if not all, game servers available through the master server run a special version of the program that has no graphical display, and no player can play on directly. That is the server, commonly called the "dedicated server". You can run it too, if you'd like. Server operators chose to run this instead of the regular game client because it has a number of modifications that make it work better as a regular server, just like a mail server or a web server. It is more convenient and makes for a more reliable game server to do so.

Installing the Game

Where can I download Armagetron Advanced?

That depends on what version you want to get. The current stable version is always available on the main web page or sourceforge. The latest testing version on AABeta.

I'm running Windows, how do I install?

Find the exe file you downloaded from the question and answer above this one and double click on it. Answer all dialog boxes with Yes/Next/Finish, whatever applies. On Windows XP, when you first run the game and try to connect to the Internet, a firewall warning will pop up; set it to allow access.

So, should I get the latest stable or latest development version?

If you're really asking this question and are not just browsing the FAQ, get the latest stable version.

Ok, but there are still so many different files to get, which one is right for me?

See FAQ#Terminology for choosing between Client and Server download. If in doubt, choose the Client. If you're running a PC with Windows, get the exe format, GCC or VC6 should not matter (please report it if only one of them works for you). If you've got a Mac, get the dmg; there is a special build available for versions 10.2.8 of OS X. If you're running 32 bit Intel Linux, get the x86(_32) "package". If you're running 64 bit AMD Linux, get the x86_64 "package".

I'm running Linux, but don't know whether it is 32 or 64 bit. How can I find out?

On a console/terminal, type

echo $MACHTYPE

If the output starts with x86_64, you have a 64 bit system. If it starts with i386, i486, i586 or i686 or possibly just x86 or x86_32, you have a 32 bit system. For anything else, we don't provide binary packages, you have to build from source. If the output is blank, the method failed. Then, see whether you have got the directory /usr/lib64 on your system. If yes, you have a 64 bit system, if no, it's 32 bit.

I have a Mac, how do I install?

Mount the dmg file, and drag the Armagetron Advanced application to your hard-drive.

I have Linux, how do I install a binary?

That depends on the distribution you are running. Check out the Linux Distribution Field Report for details.

I run a non-Linux UNIX or Linux on hardware not supported by your binary packages or the binaries don't work, how do I install from source?

Basically, you fetch the .tbz2 source archive and do as the superuser root

tar -xjf <path to the tbz2 source archive you just fetched>
cd armagetronad-<VERSION>
./configure
make
make install

The configure script will tell you what you are missing. In this mode, you always need the 'development' packages of our dependencies on most distributions. The Linux Distribution Field Report may have some hints. Ask us if you get stuck.

I'm working on a Linux PC administered by someone else and don't have the root password, can I still install the game?

Yes. The "package" binary files can install everything in your home directory. If you have to build from source, proceed as in the last FAQ, but pass '--prefix=$HOME/usr' to ./configure and run the game later with '~/usr/bin/armagetronad', or run the game from the build directory with 'make run'.

Where are the server sources?

The server sources are the same as the client sources. You compile a server from them by giving the additional command line option '--disable-glout' to ./configure.

I heard about moviepacks (graphical modifications), how do I install them?

See Customizing the game.

Playing the Game

How do I use a map?

Read Playing Maps, and please try to tell us why this question is asked so often and followed by "I read the whole wiki!".

Troubleshooting

ArmagetronAd takes most or all the CPU time, how come?

AA takes all the CPU time it needs to simulate and render the scene as fast as you'll allow it to. There are two conditions under which that makes it take almost everything that is available:

  • You set your graphics card driver not to wait for VSync. AA will then run at the highest possible framerate and therefore also use all the CPU time available. If you enable the FPS display in the HUD options and it shows more than 100 FPS, then that's your problem.
  • When it tells your video card driver to update the screen now, the driver goes into a special CPU-hogging mode until the command is completed, even though all it does is sit around and wait. Both NVidia and ATI drivers are guilty of this. In the "Performance Tweaks" submenu of the graphics settings, there is the "Flush" menu item where you can tweak AA to not issue the problematic command (with possible side effects).

ArmagetronAd is unplayable on my AMD Dual Core X2 System (might affect other Dual Cores)

Symptoms:

  • The console displays "Timer hick up"
  • FPS are usually ok (above 30).
  • might only occur in network games
  • Game performance is very bad

At least three solutions for this problem are available:

  • To fix this problem use your TaskManager to set ArmagetronAd.exe's cpu affinity to a single CPU.
  • Disable Cool & Quite in BIOS
  • Install the necessary Microsoft Hotfixes and depending on your System you might have to update your bios and drivers too.

Links (TODO replace links with links to better instructions!):

  • Details: Armagetron Advanced 0.2.8.x(?) or later uses the high precision timer on Windows if available. (TODO confirm) This can be a problem on the new Dual Core Systems or malfunctioning Multiprocessor System. The Timer of each core runs at different speeds which results in a jumping timer! The AMD X2 Systems are affected because they have two separate timers for each CPU (Intels Core Duo CPUs share a single timer). The AMD X2 Systems are only affected with Cool & Quite power saving enabled otherwise both cores have the same timer speed. The Windows kernel schedules Armagetron Advanced between both cores which results in a jumping timer form Armagetron perspective.

Running a Server

Which should I run? The client in hosting mode, or the dedicated server?

Generally this depends on how long you want the server to run at a time. If you just want it running when you're playing, run the client in hosting mode, it's easier to deal with. If you're running at a LAN party, you might also want to run the client in hosting mode. But if you want to run a server that operates on the internet, reports to the master server, and runs 24 hours a day, 7 days a week (8 days in a leap week), then you should run the dedicated server.

How to start the dedicated server

... on Linux/Unix

This section needs to be written.

... on MS Windows

This section needs to be written.

... on Max OS X

There is a very easy way to run the dedicated server on Max OS:

  • 1. Open up Terminal ( Macintosh HD -> Applications -> Utilities -> Terminal )
  • 2. In the terminal window type (without the quotes & don't forget the space): 'cd '
  • 3. Drag the 'Armagetron Advanced Dedicated' folder into the terminal window
  • 4. Press Enter
  • 5. Drag the 'armagetronad-dedicated' file ( Armagetron Advanced Dedicated -> armagetronad-dedicated ) into the Terminal window
  • 6. Press Enter

I've started the dedicated server, but I don't see it listed in the master server. What's wrong?

You need to add the line

TALK_TO_MASTER 1

to your configuration files to publish your server on the internet. The server needs to be up one or two minutes before it can appear in the server browser, the master server checks whether it is reachable before it gets published.

I did that, but my server still is not listed. What else can be wrong?

Get your server's IP address; if it is running on the same computer you use for browsing right now, check http://www.whatismyip.com to get it. Fire up the Armagetronad client, enter the internet server browser, wait half a minute, exit the server browser, enter it again, and look for your server's IP. If it appears (having the list sorted by server name my pressing "right" once helps), you really want to ask FAQ#I see my server's IP in the master server browser, but it says "Unreachable". What's wrong?. Otherwise, this is the right section for you. This is also the right section if you see your server just fine, but nobody else does.

If your server is connected to the internet via a router box and not directly via a "modem" of sorts, it is likely that network packages from the internet can't get to your server because the router blocks them. You need to tell your router to forward UDP port 4534 (or whatever SERVER_PORT is set to) to the server. On [1], there are nice instructions how to do that for a lot of router models. If the UDP port 4534 thing confuses you, just follow these instructions for a different game that uses a similar connection method. Of course, you need to find out what router model you have, some under-the-table-crawling and cable following may be required for that if you can't remember what you bought or got the router from your ISP.

My server still isn't listed. This sucks, it's hard to find out where the problem is. What can I do?

See Short Firewall Troubleshooting and Short Port Forwarding Troubleshooting, if this does not solve your problem, read on.

You can ask people to connect to your server directly by giving them your IP and the port your server is running on. A perfect place to ask is our IRC channel(#armagetron on irc.freenode.org) because you'll get a real-time answer there. Less perfect is the support section of the forums; you'll need to make sure your server is up and running when people read your post, which can be well 48 hours after you post it. If people can't connect to your server that way, it means you probably need to set up port forwarding (see last question) correctly.

Gaaa! This FAQ is useless! Can't YOU help me get my server up?

Sure. Post your trouble on the support section of the forums. Be sure to

  • describe exactly what you already tried, and please don't just say "everything the FAQ told me"
  • state the your IP your server is running on, we need that to check the master server's logs
  • state your port if you modified SERVER_PORT
  • state your server's name, others need that to check for your server in the browser
  • post the complete output of your server from the moment it is started

Without that info, we can't help.

Setting up a server is complicated sometimes; don't be too shy to admit you didn't understand some part of the process. A lot of trouble comes from people silently skipping steps they don't understand.

I see my server's IP in the master server browser, but it says "Unreachable". What's wrong?

Probably the answer is "Nothing is wrong". A bug in some routers or the NAT specifications (at least, that's how Z-Man sees this) causes the response to the server query packet used in the server browser to come from the LAN address of your server, not the public address it was sent to. The packet gets ignored then. A workaround will be available in 0.2.8.3, but right now, that means most people can't see their own servers. Come to the IRC channel (#armagetron on irc.freenode.org) and ask people there if they can see your server.