<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.armagetronad.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vertrex</id>
	<title>Armagetron Advanced - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.armagetronad.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vertrex"/>
	<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Special:Contributions/Vertrex"/>
	<updated>2026-11-05T05:47:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37776</id>
		<title>CTF BRAWL</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37776"/>
		<updated>2012-02-22T21:27:33Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Teams */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:CTFBRAWL/Blurb}}&lt;br /&gt;
&lt;br /&gt;
==About this Tournament==&lt;br /&gt;
The CTF BRAWL is a single elimination event. Each final is best of 3 matches (the first team to win 2 matches advances to the next round). Each match is 8 rounds long. Each round lasts a maximum of 5 minutes. Teams are 4 players max, but should have a minimum of two players. Substitutes can be rotated in at any time during the game. The current scoring is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
2pts Core Dump&lt;br /&gt;
10pts Flag Score&lt;br /&gt;
4pts Round Win&lt;br /&gt;
8 Rounds Limit&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Team suicides,&#039;&#039;&#039; in an effort to work the scoreboard for a win, &#039;&#039;will not be tolerated and will result in your team&#039;s elimination from the tournament.&#039;&#039; Do not be late for the opening round. Failure to show up with a full, organized team will result in your forfeit. Do not waste time or stall between finals. Your opponent may start the match without you if you take longer than 10 minutes to get ready, from the time your first teammate enters the server.&lt;br /&gt;
&lt;br /&gt;
==Signing Up==&lt;br /&gt;
&amp;lt;!-- ==&amp;lt;i&amp;gt;&#039;&#039;&#039;Sign ups are closed!!!&#039;&#039;&#039;&amp;lt;/i&amp;gt;== --&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Authentication_for_Players#Benefits|Authentication]] is required to play in the tournament.&#039;&#039;&#039; Team leaders must list their Global ID here on the challenge board when signing up. As a precaution, please have a &#039;&#039;&#039;minimum of two (2) players&#039;&#039;&#039; assuming the role of &#039;&#039;&#039;team leader&#039;&#039;&#039; so your team has the greatest chance to participate without login problems. Team leaders should be familiar with using commands to /op players, /lock their team, /invite members, and start_new_match. You can add as many substitutes as you need, but they are bound to your team once the tournament starts. Players can only be listed once on the Challenge Board and may only play for one team during the tournament.&lt;br /&gt;
&lt;br /&gt;
Sign-ups close two days before the tournament date. Servers will then be placed on the bracket randomly. Following this, the listed teams will be randomized and loaded into the bracket. If your team fails to make the cut-off, please contact a tournament organizer for help.&lt;br /&gt;
&lt;br /&gt;
If you do not have a team, there are Open Teams for you! Add your name to one of them freely if you are sure you can play. If this team does not have a team captain yet, you should be the one.&lt;br /&gt;
&lt;br /&gt;
Please post your team name and players in the &#039;&#039;Teams&#039;&#039; section below using the following template:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfTeam|Team Name|Captain&#039;s Name|Captain&#039;s Global ID|Teammate 1, Teammate 2, ...|http://teamwebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
For more information, see [[Template:ctfTeam]].&lt;br /&gt;
&lt;br /&gt;
==Challenge Board==&lt;br /&gt;
&lt;br /&gt;
===Teams===&lt;br /&gt;
{{ctfTeam|Open Team A|White Fang|Child_of_blood@forums||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|Open Team B||||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|~&#039;Ux|Windrider, Camaro|Wind@forums, BeasT@forums|Div, Boa, Giby|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~&#039;Uy|Sexy Beast, Number3|sexy\ beast@forums, Number3@forums|Tru, Rorschach, Regedit, Marshmellow, Forbidden, Axis, Portgas D. Ace, Ti, Gftis, Lawliet|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|Alpha Project|Death Zone, Fire Storm|Death\ Zone@alphaproject.au.tc, Fire\ Storm@alphaproject.au.tc|6ead, XDRaGe|http://alphaproject.au.tc}}&lt;br /&gt;
&lt;br /&gt;
===Admins===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfAdmin|Admin&#039;s Name|Admins&#039;s Global ID|http://adminswebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|animuson|animuson@tronner.com/webmaster|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2765}}&lt;br /&gt;
{{ctfAdmin|ihptru|Tru@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Super Leaders===&lt;br /&gt;
The following is a list of players who regularly use Brawl servers in-between events to promote competitive game play and foster the growth of CTF. Super Leaders gain only Team Leader status but their authority is persistent, spanning several Brawls or more.&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|sine.wav|sinewav@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Windrider|Wind@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3907}}&lt;br /&gt;
{{ctfAdmin|Camaro|BeasT@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3715}}&lt;br /&gt;
{{ctfAdmin|Sexy Beast|sexy\ beast@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Number3|Number3@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;7363}}&lt;br /&gt;
{{ctfAdmin|Poke&#039; Master|PokeMaster@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4866}}&lt;br /&gt;
{{ctfAdmin|Shoebat|Thilo@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;1345}}&lt;br /&gt;
{{ctfAdmin|Titan|Titanoboa@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3198}}&lt;br /&gt;
{{ctfAdmin|Tish|Tish@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Agent007|Agent007@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4788}}&lt;br /&gt;
&lt;br /&gt;
===Brackets===&lt;br /&gt;
&amp;lt;!-- Teams may agree to move to the backup server if there is a problem with the primary server --&amp;gt;&lt;br /&gt;
To edit the brackets change [[Template:CTFBRAWL14_Brackets]]&lt;br /&gt;
&lt;br /&gt;
{{Template:CTFBRAWL14_Brackets}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Times==&lt;br /&gt;
{{:CTFBRAWL/Times}}&lt;br /&gt;
&lt;br /&gt;
==Servers==&lt;br /&gt;
&lt;br /&gt;
===Server Configuration===&lt;br /&gt;
 RINCLUDE ctfbrawl14.cfg(http://ix.lv-vl.net/ctfbrawl14.cfg)&lt;br /&gt;
 RINCLUDE ctfbrawl13_authorities.cfg(http://ix.lv-vl.net/ctfbrawl13_authorities.cfg)&lt;br /&gt;
 SERVER_NAME 0x585ecdCTF BRAWL 14 0xcd6958(0xcdbb58Player 1&#039;s Server0xcd6958)&lt;br /&gt;
&lt;br /&gt;
===Server List===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfServer|Your server name|ip|port|Location|[http://serverwebsite.com http://serverwebsite.com]}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Europe&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|ihptru - NL|ix.lv-vl.net|4545|The Netherlands|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780 ihptru]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Place Euro servers in here on reset&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s STO|sto.crazy-tronners.com|4538|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|PlzResUs!|trongame.de|4534|Germany (EU)|[http://trongame.de/forum/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2 AI]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s KYL|85.114.128.17|4539|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s LIV|liv.crazy-tronners.com|4541|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;US &amp;amp; Others&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|Alpha Project - USA|fostermclane.co.cc|4544|North America|[http://alphaproject.au.tc Alpha Project]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place US/Other servers in here on reset&lt;br /&gt;
{{ctfServer|ID&#039;s VA1|10.117.49.162|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA2|10.201.2.52|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA3|10.210.34.191|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA4|10.211.2.18|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|AoT|65.18.192.127|4541|North East US|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2439 sinewav]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|INW&#039;s|108.60.159.187|4534|New York, New York (US)|[[User talk:INW|INW]]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s USA|crazy-tronners.com|4536|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
&lt;br /&gt;
Temporarily unavailable -- do not use&lt;br /&gt;
{{ctfServer|Ani-OWL [Backup]|owl.animuson.net|4541|Las Vegas (US)|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2765 animuson]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Other Continents&#039;&#039;&#039;&amp;lt;/u&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recordings/Screenshots==&lt;br /&gt;
Post all recordings/screenshots that you have of the CTF BRAWL here, along with the names of the two teams in the match:&lt;br /&gt;
&lt;br /&gt;
* http://    - TeamA vs TeamB&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37775</id>
		<title>CTF BRAWL</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37775"/>
		<updated>2012-02-22T21:03:05Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Teams */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:CTFBRAWL/Blurb}}&lt;br /&gt;
&lt;br /&gt;
==About this Tournament==&lt;br /&gt;
The CTF BRAWL is a single elimination event. Each final is best of 3 matches (the first team to win 2 matches advances to the next round). Each match is 8 rounds long. Each round lasts a maximum of 5 minutes. Teams are 4 players max, but should have a minimum of two players. Substitutes can be rotated in at any time during the game. The current scoring is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
2pts Core Dump&lt;br /&gt;
10pts Flag Score&lt;br /&gt;
4pts Round Win&lt;br /&gt;
8 Rounds Limit&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Team suicides,&#039;&#039;&#039; in an effort to work the scoreboard for a win, &#039;&#039;will not be tolerated and will result in your team&#039;s elimination from the tournament.&#039;&#039; Do not be late for the opening round. Failure to show up with a full, organized team will result in your forfeit. Do not waste time or stall between finals. Your opponent may start the match without you if you take longer than 10 minutes to get ready, from the time your first teammate enters the server.&lt;br /&gt;
&lt;br /&gt;
==Signing Up==&lt;br /&gt;
&amp;lt;!-- ==&amp;lt;i&amp;gt;&#039;&#039;&#039;Sign ups are closed!!!&#039;&#039;&#039;&amp;lt;/i&amp;gt;== --&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Authentication_for_Players#Benefits|Authentication]] is required to play in the tournament.&#039;&#039;&#039; Team leaders must list their Global ID here on the challenge board when signing up. As a precaution, please have a &#039;&#039;&#039;minimum of two (2) players&#039;&#039;&#039; assuming the role of &#039;&#039;&#039;team leader&#039;&#039;&#039; so your team has the greatest chance to participate without login problems. Team leaders should be familiar with using commands to /op players, /lock their team, /invite members, and start_new_match. You can add as many substitutes as you need, but they are bound to your team once the tournament starts. Players can only be listed once on the Challenge Board and may only play for one team during the tournament.&lt;br /&gt;
&lt;br /&gt;
Sign-ups close two days before the tournament date. Servers will then be placed on the bracket randomly. Following this, the listed teams will be randomized and loaded into the bracket. If your team fails to make the cut-off, please contact a tournament organizer for help.&lt;br /&gt;
&lt;br /&gt;
If you do not have a team, there are Open Teams for you! Add your name to one of them freely if you are sure you can play. If this team does not have a team captain yet, you should be the one.&lt;br /&gt;
&lt;br /&gt;
Please post your team name and players in the &#039;&#039;Teams&#039;&#039; section below using the following template:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfTeam|Team Name|Captain&#039;s Name|Captain&#039;s Global ID|Teammate 1, Teammate 2, ...|http://teamwebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
For more information, see [[Template:ctfTeam]].&lt;br /&gt;
&lt;br /&gt;
==Challenge Board==&lt;br /&gt;
&lt;br /&gt;
===Teams===&lt;br /&gt;
{{ctfTeam|Open Team A|White Fang|Child_of_blood@forums||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|Open Team B||||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|~&#039;Ux|Windrider, Camaro|Wind@forums, BeasT@forums|Div, Boa, Giby|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~&#039;Uy|Sexy Beast, Number3|sexy\ beast@forums, Number3@forums|Tru, Rorschach, Regedit, Marshmellow, Forbidden, Axis, Portgas D. Ace, Ti, Gftis, Lawliet|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|Alpha Project|Death Zone, Fire Storm|Death\ Zone@alphaproject.au.tc, Fire\ Storm@alphaproject.au.tc|6ead|http://alphaproject.au.tc}}&lt;br /&gt;
&lt;br /&gt;
===Admins===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfAdmin|Admin&#039;s Name|Admins&#039;s Global ID|http://adminswebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|animuson|animuson@tronner.com/webmaster|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2765}}&lt;br /&gt;
{{ctfAdmin|ihptru|Tru@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Super Leaders===&lt;br /&gt;
The following is a list of players who regularly use Brawl servers in-between events to promote competitive game play and foster the growth of CTF. Super Leaders gain only Team Leader status but their authority is persistent, spanning several Brawls or more.&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|sine.wav|sinewav@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Windrider|Wind@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3907}}&lt;br /&gt;
{{ctfAdmin|Camaro|BeasT@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3715}}&lt;br /&gt;
{{ctfAdmin|Sexy Beast|sexy\ beast@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Number3|Number3@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;7363}}&lt;br /&gt;
{{ctfAdmin|Poke&#039; Master|PokeMaster@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4866}}&lt;br /&gt;
{{ctfAdmin|Shoebat|Thilo@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;1345}}&lt;br /&gt;
{{ctfAdmin|Titan|Titanoboa@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3198}}&lt;br /&gt;
{{ctfAdmin|Tish|Tish@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Agent007|Agent007@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4788}}&lt;br /&gt;
&lt;br /&gt;
===Brackets===&lt;br /&gt;
&amp;lt;!-- Teams may agree to move to the backup server if there is a problem with the primary server --&amp;gt;&lt;br /&gt;
To edit the brackets change [[Template:CTFBRAWL14_Brackets]]&lt;br /&gt;
&lt;br /&gt;
{{Template:CTFBRAWL14_Brackets}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Times==&lt;br /&gt;
{{:CTFBRAWL/Times}}&lt;br /&gt;
&lt;br /&gt;
==Servers==&lt;br /&gt;
&lt;br /&gt;
===Server Configuration===&lt;br /&gt;
 RINCLUDE ctfbrawl14.cfg(http://ix.lv-vl.net/ctfbrawl14.cfg)&lt;br /&gt;
 RINCLUDE ctfbrawl13_authorities.cfg(http://ix.lv-vl.net/ctfbrawl13_authorities.cfg)&lt;br /&gt;
 SERVER_NAME 0x585ecdCTF BRAWL 14 0xcd6958(0xcdbb58Player 1&#039;s Server0xcd6958)&lt;br /&gt;
&lt;br /&gt;
===Server List===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfServer|Your server name|ip|port|Location|[http://serverwebsite.com http://serverwebsite.com]}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Europe&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|ihptru - NL|ix.lv-vl.net|4545|The Netherlands|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780 ihptru]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Place Euro servers in here on reset&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s STO|sto.crazy-tronners.com|4538|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|PlzResUs!|trongame.de|4534|Germany (EU)|[http://trongame.de/forum/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2 AI]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s KYL|85.114.128.17|4539|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s LIV|liv.crazy-tronners.com|4541|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;US &amp;amp; Others&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|Alpha Project - USA|fostermclane.co.cc|4544|North America|[http://alphaproject.au.tc Alpha Project]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place US/Other servers in here on reset&lt;br /&gt;
{{ctfServer|ID&#039;s VA1|10.117.49.162|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA2|10.201.2.52|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA3|10.210.34.191|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA4|10.211.2.18|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|AoT|65.18.192.127|4541|North East US|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2439 sinewav]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|INW&#039;s|108.60.159.187|4534|New York, New York (US)|[[User talk:INW|INW]]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s USA|crazy-tronners.com|4536|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
&lt;br /&gt;
Temporarily unavailable -- do not use&lt;br /&gt;
{{ctfServer|Ani-OWL [Backup]|owl.animuson.net|4541|Las Vegas (US)|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2765 animuson]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Other Continents&#039;&#039;&#039;&amp;lt;/u&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recordings/Screenshots==&lt;br /&gt;
Post all recordings/screenshots that you have of the CTF BRAWL here, along with the names of the two teams in the match:&lt;br /&gt;
&lt;br /&gt;
* http://    - TeamA vs TeamB&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37774</id>
		<title>CTF BRAWL</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37774"/>
		<updated>2012-02-22T20:46:21Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Teams */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:CTFBRAWL/Blurb}}&lt;br /&gt;
&lt;br /&gt;
==About this Tournament==&lt;br /&gt;
The CTF BRAWL is a single elimination event. Each final is best of 3 matches (the first team to win 2 matches advances to the next round). Each match is 8 rounds long. Each round lasts a maximum of 5 minutes. Teams are 4 players max, but should have a minimum of two players. Substitutes can be rotated in at any time during the game. The current scoring is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
2pts Core Dump&lt;br /&gt;
10pts Flag Score&lt;br /&gt;
4pts Round Win&lt;br /&gt;
8 Rounds Limit&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Team suicides,&#039;&#039;&#039; in an effort to work the scoreboard for a win, &#039;&#039;will not be tolerated and will result in your team&#039;s elimination from the tournament.&#039;&#039; Do not be late for the opening round. Failure to show up with a full, organized team will result in your forfeit. Do not waste time or stall between finals. Your opponent may start the match without you if you take longer than 10 minutes to get ready, from the time your first teammate enters the server.&lt;br /&gt;
&lt;br /&gt;
==Signing Up==&lt;br /&gt;
&amp;lt;!-- ==&amp;lt;i&amp;gt;&#039;&#039;&#039;Sign ups are closed!!!&#039;&#039;&#039;&amp;lt;/i&amp;gt;== --&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Authentication_for_Players#Benefits|Authentication]] is required to play in the tournament.&#039;&#039;&#039; Team leaders must list their Global ID here on the challenge board when signing up. As a precaution, please have a &#039;&#039;&#039;minimum of two (2) players&#039;&#039;&#039; assuming the role of &#039;&#039;&#039;team leader&#039;&#039;&#039; so your team has the greatest chance to participate without login problems. Team leaders should be familiar with using commands to /op players, /lock their team, /invite members, and start_new_match. You can add as many substitutes as you need, but they are bound to your team once the tournament starts. Players can only be listed once on the Challenge Board and may only play for one team during the tournament.&lt;br /&gt;
&lt;br /&gt;
Sign-ups close two days before the tournament date. Servers will then be placed on the bracket randomly. Following this, the listed teams will be randomized and loaded into the bracket. If your team fails to make the cut-off, please contact a tournament organizer for help.&lt;br /&gt;
&lt;br /&gt;
If you do not have a team, there are Open Teams for you! Add your name to one of them freely if you are sure you can play. If this team does not have a team captain yet, you should be the one.&lt;br /&gt;
&lt;br /&gt;
Please post your team name and players in the &#039;&#039;Teams&#039;&#039; section below using the following template:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfTeam|Team Name|Captain&#039;s Name|Captain&#039;s Global ID|Teammate 1, Teammate 2, ...|http://teamwebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
For more information, see [[Template:ctfTeam]].&lt;br /&gt;
&lt;br /&gt;
==Challenge Board==&lt;br /&gt;
&lt;br /&gt;
===Teams===&lt;br /&gt;
{{ctfTeam|Open Team A|White Fang|Child_of_blood@forums||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|Open Team B||||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|~&#039;Ux|Windrider, Camaro|Wind@forums, BeasT@forums|Div, Boa, Giby|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~&#039;Uy|Sexy Beast, Number3|sexy\ beast@forums, Number3@forums|Tru, Rorschach, Regedit, Marshmellow, Forbidden, Axis, Portgas D. Ace, Ti, Gftis, Lawliet|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|Alpha Project|Death Zone, Fire Storm|Death\ Zone@alphaproject.au.tc, Fire\ Storm@alphaproject.au.tc||http://alphaproject.au.tc}}&lt;br /&gt;
&lt;br /&gt;
===Admins===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfAdmin|Admin&#039;s Name|Admins&#039;s Global ID|http://adminswebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|animuson|animuson@tronner.com/webmaster|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2765}}&lt;br /&gt;
{{ctfAdmin|ihptru|Tru@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Super Leaders===&lt;br /&gt;
The following is a list of players who regularly use Brawl servers in-between events to promote competitive game play and foster the growth of CTF. Super Leaders gain only Team Leader status but their authority is persistent, spanning several Brawls or more.&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|sine.wav|sinewav@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Windrider|Wind@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3907}}&lt;br /&gt;
{{ctfAdmin|Camaro|BeasT@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3715}}&lt;br /&gt;
{{ctfAdmin|Sexy Beast|sexy\ beast@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Number3|Number3@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;7363}}&lt;br /&gt;
{{ctfAdmin|Poke&#039; Master|PokeMaster@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4866}}&lt;br /&gt;
{{ctfAdmin|Shoebat|Thilo@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;1345}}&lt;br /&gt;
{{ctfAdmin|Titan|Titanoboa@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3198}}&lt;br /&gt;
{{ctfAdmin|Tish|Tish@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Agent007|Agent007@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4788}}&lt;br /&gt;
&lt;br /&gt;
===Brackets===&lt;br /&gt;
&amp;lt;!-- Teams may agree to move to the backup server if there is a problem with the primary server --&amp;gt;&lt;br /&gt;
To edit the brackets change [[Template:CTFBRAWL14_Brackets]]&lt;br /&gt;
&lt;br /&gt;
{{Template:CTFBRAWL14_Brackets}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Times==&lt;br /&gt;
{{:CTFBRAWL/Times}}&lt;br /&gt;
&lt;br /&gt;
==Servers==&lt;br /&gt;
&lt;br /&gt;
===Server Configuration===&lt;br /&gt;
 RINCLUDE ctfbrawl14.cfg(http://ix.lv-vl.net/ctfbrawl14.cfg)&lt;br /&gt;
 RINCLUDE ctfbrawl13_authorities.cfg(http://ix.lv-vl.net/ctfbrawl13_authorities.cfg)&lt;br /&gt;
 SERVER_NAME 0x585ecdCTF BRAWL 14 0xcd6958(0xcdbb58Player 1&#039;s Server0xcd6958)&lt;br /&gt;
&lt;br /&gt;
===Server List===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfServer|Your server name|ip|port|Location|[http://serverwebsite.com http://serverwebsite.com]}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Europe&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|ihptru - NL|ix.lv-vl.net|4545|The Netherlands|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780 ihptru]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Place Euro servers in here on reset&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s STO|sto.crazy-tronners.com|4538|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|PlzResUs!|trongame.de|4534|Germany (EU)|[http://trongame.de/forum/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2 AI]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s KYL|85.114.128.17|4539|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s LIV|liv.crazy-tronners.com|4541|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;US &amp;amp; Others&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|Alpha Project - USA|fostermclane.co.cc|4544|North America|[http://alphaproject.au.tc Alpha Project]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place US/Other servers in here on reset&lt;br /&gt;
{{ctfServer|ID&#039;s VA1|10.117.49.162|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA2|10.201.2.52|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA3|10.210.34.191|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA4|10.211.2.18|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|AoT|65.18.192.127|4541|North East US|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2439 sinewav]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|INW&#039;s|108.60.159.187|4534|New York, New York (US)|[[User talk:INW|INW]]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s USA|crazy-tronners.com|4536|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
&lt;br /&gt;
Temporarily unavailable -- do not use&lt;br /&gt;
{{ctfServer|Ani-OWL [Backup]|owl.animuson.net|4541|Las Vegas (US)|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2765 animuson]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Other Continents&#039;&#039;&#039;&amp;lt;/u&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recordings/Screenshots==&lt;br /&gt;
Post all recordings/screenshots that you have of the CTF BRAWL here, along with the names of the two teams in the match:&lt;br /&gt;
&lt;br /&gt;
* http://    - TeamA vs TeamB&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37769</id>
		<title>CTF BRAWL</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37769"/>
		<updated>2012-02-22T05:35:28Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Server List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:CTFBRAWL/Blurb}}&lt;br /&gt;
&lt;br /&gt;
==About this Tournament==&lt;br /&gt;
The CTF BRAWL is a single elimination event. Each final is best of 3 matches (the first team to win 2 matches advances to the next round). Each match is 8 rounds long. Each round lasts a maximum of 5 minutes. Teams are 4 players max, but should have a minimum of two players. Substitutes can be rotated in at any time during the game. The current scoring is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
2pts Core Dump&lt;br /&gt;
10pts Flag Score&lt;br /&gt;
4pts Round Win&lt;br /&gt;
8 Rounds Limit&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Team suicides,&#039;&#039;&#039; in an effort to work the scoreboard for a win, &#039;&#039;will not be tolerated and will result in your team&#039;s elimination from the tournament.&#039;&#039; Do not be late for the opening round. Failure to show up with a full, organized team will result in your forfeit. Do not waste time or stall between finals. Your opponent may start the match without you if you take longer than 10 minutes to get ready, from the time your first teammate enters the server.&lt;br /&gt;
&lt;br /&gt;
==Signing Up==&lt;br /&gt;
&amp;lt;!-- ==&amp;lt;i&amp;gt;&#039;&#039;&#039;Sign ups are closed!!!&#039;&#039;&#039;&amp;lt;/i&amp;gt;== --&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Authentication_for_Players#Benefits|Authentication]] is required to play in the tournament.&#039;&#039;&#039; Team leaders must list their Global ID here on the challenge board when signing up. As a precaution, please have a &#039;&#039;&#039;minimum of two (2) players&#039;&#039;&#039; assuming the role of &#039;&#039;&#039;team leader&#039;&#039;&#039; so your team has the greatest chance to participate without login problems. Team leaders should be familiar with using commands to /op players, /lock their team, /invite members, and start_new_match. You can add as many substitutes as you need, but they are bound to your team once the tournament starts. Players can only be listed once on the Challenge Board and may only play for one team during the tournament.&lt;br /&gt;
&lt;br /&gt;
Sign-ups close two days before the tournament date. Servers will then be placed on the bracket randomly. Following this, the listed teams will be randomized and loaded into the bracket. If your team fails to make the cut-off, please contact a tournament organizer for help.&lt;br /&gt;
&lt;br /&gt;
If you do not have a team, there are Open Teams for you! Add your name to one of them freely if you are sure you can play. If this team does not have a team captain yet, you should be the one.&lt;br /&gt;
&lt;br /&gt;
Please post your team name and players in the &#039;&#039;Teams&#039;&#039; section below using the following template:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfTeam|Team Name|Captain&#039;s Name|Captain&#039;s Global ID|Teammate 1, Teammate 2, ...|http://teamwebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
For more information, see [[Template:ctfTeam]].&lt;br /&gt;
&lt;br /&gt;
==Challenge Board==&lt;br /&gt;
&lt;br /&gt;
===Teams===&lt;br /&gt;
{{ctfTeam|Open Team A|White Fang|Child_of_blood@forums||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|Open Team B||||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|~&#039;Ux|Windrider, Camaro|Wind@forums, BeasT@forums|Div, Boa, Giby|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~&#039;Uy|Sexy Beast, Number3|sexy\ beast@forums, Number3@forums|Tru, Rorschach, Regedit, Marshmellow, Forbidden, Axis, Portgas D. Ace, Ti, Gftis, Lawliet|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|Alpha Project|Death Zone, Fire Storm|Death\ Zone@alphaproject.au.tc, Fire\ Storm@alphaproject.au.tc|XDRaGe, HAL 9000|http://alphaproject.au.tc}}&lt;br /&gt;
&lt;br /&gt;
===Admins===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfAdmin|Admin&#039;s Name|Admins&#039;s Global ID|http://adminswebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|animuson|animuson@tronner.com/webmaster|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2765}}&lt;br /&gt;
{{ctfAdmin|ihptru|Tru@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Super Leaders===&lt;br /&gt;
The following is a list of players who regularly use Brawl servers in-between events to promote competitive game play and foster the growth of CTF. Super Leaders gain only Team Leader status but their authority is persistent, spanning several Brawls or more.&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|sine.wav|sinewav@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Windrider|Wind@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3907}}&lt;br /&gt;
{{ctfAdmin|Camaro|BeasT@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3715}}&lt;br /&gt;
{{ctfAdmin|Sexy Beast|sexy\ beast@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Number3|Number3@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;7363}}&lt;br /&gt;
{{ctfAdmin|Poke&#039; Master|PokeMaster@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4866}}&lt;br /&gt;
{{ctfAdmin|Shoebat|Thilo@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;1345}}&lt;br /&gt;
{{ctfAdmin|Titan|Titanoboa@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3198}}&lt;br /&gt;
{{ctfAdmin|Tish|Tish@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Agent007|Agent007@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4788}}&lt;br /&gt;
&lt;br /&gt;
===Brackets===&lt;br /&gt;
&amp;lt;!-- Teams may agree to move to the backup server if there is a problem with the primary server --&amp;gt;&lt;br /&gt;
To edit the brackets change [[Template:CTFBRAWL14_Brackets]]&lt;br /&gt;
&lt;br /&gt;
{{Template:CTFBRAWL14_Brackets}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Times==&lt;br /&gt;
{{:CTFBRAWL/Times}}&lt;br /&gt;
&lt;br /&gt;
==Servers==&lt;br /&gt;
&lt;br /&gt;
===Server Configuration===&lt;br /&gt;
 RINCLUDE ctfbrawl14.cfg(http://ix.lv-vl.net/ctfbrawl14.cfg)&lt;br /&gt;
 RINCLUDE ctfbrawl13_authorities.cfg(http://ix.lv-vl.net/ctfbrawl13_authorities.cfg)&lt;br /&gt;
 SERVER_NAME 0x585ecdCTF BRAWL 14 0xcd6958(0xcdbb58Player 1&#039;s Server0xcd6958)&lt;br /&gt;
&lt;br /&gt;
===Server List===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfServer|Your server name|ip|port|Location|[http://serverwebsite.com http://serverwebsite.com]}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Europe&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|ihptru - NL|ix.lv-vl.net|4545|The Netherlands|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780 ihptru]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Place Euro servers in here on reset&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s STO|sto.crazy-tronners.com|4538|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|PlzResUs!|trongame.de|4534|Germany (EU)|[http://trongame.de/forum/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2 AI]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s KYL|85.114.128.17|4539|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s LIV|liv.crazy-tronners.com|4541|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;US &amp;amp; Others&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|Alpha Project - USA|fostermclane.co.cc|4544|North America|[http://alphaproject.au.tc Alpha Project]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place US/Other servers in here on reset&lt;br /&gt;
{{ctfServer|ID&#039;s VA1|10.117.49.162|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA2|10.201.2.52|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA3|10.210.34.191|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA4|10.211.2.18|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|AoT|65.18.192.127|4541|North East US|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2439 sinewav]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|INW&#039;s|108.60.159.187|4534|New York, New York (US)|[[User talk:INW|INW]]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s USA|crazy-tronners.com|4536|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
&lt;br /&gt;
Temporarily unavailable -- do not use&lt;br /&gt;
{{ctfServer|Ani-OWL [Backup]|owl.animuson.net|4541|Las Vegas (US)|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2765 animuson]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Other Continents&#039;&#039;&#039;&amp;lt;/u&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recordings/Screenshots==&lt;br /&gt;
Post all recordings/screenshots that you have of the CTF BRAWL here, along with the names of the two teams in the match:&lt;br /&gt;
&lt;br /&gt;
* http://    - TeamA vs TeamB&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37768</id>
		<title>CTF BRAWL</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37768"/>
		<updated>2012-02-22T03:24:27Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Teams */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:CTFBRAWL/Blurb}}&lt;br /&gt;
&lt;br /&gt;
==About this Tournament==&lt;br /&gt;
The CTF BRAWL is a single elimination event. Each final is best of 3 matches (the first team to win 2 matches advances to the next round). Each match is 8 rounds long. Each round lasts a maximum of 5 minutes. Teams are 4 players max, but should have a minimum of two players. Substitutes can be rotated in at any time during the game. The current scoring is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
2pts Core Dump&lt;br /&gt;
10pts Flag Score&lt;br /&gt;
4pts Round Win&lt;br /&gt;
8 Rounds Limit&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Team suicides,&#039;&#039;&#039; in an effort to work the scoreboard for a win, &#039;&#039;will not be tolerated and will result in your team&#039;s elimination from the tournament.&#039;&#039; Do not be late for the opening round. Failure to show up with a full, organized team will result in your forfeit. Do not waste time or stall between finals. Your opponent may start the match without you if you take longer than 10 minutes to get ready, from the time your first teammate enters the server.&lt;br /&gt;
&lt;br /&gt;
==Signing Up==&lt;br /&gt;
&amp;lt;!-- ==&amp;lt;i&amp;gt;&#039;&#039;&#039;Sign ups are closed!!!&#039;&#039;&#039;&amp;lt;/i&amp;gt;== --&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Authentication_for_Players#Benefits|Authentication]] is required to play in the tournament.&#039;&#039;&#039; Team leaders must list their Global ID here on the challenge board when signing up. As a precaution, please have a &#039;&#039;&#039;minimum of two (2) players&#039;&#039;&#039; assuming the role of &#039;&#039;&#039;team leader&#039;&#039;&#039; so your team has the greatest chance to participate without login problems. Team leaders should be familiar with using commands to /op players, /lock their team, /invite members, and start_new_match. You can add as many substitutes as you need, but they are bound to your team once the tournament starts. Players can only be listed once on the Challenge Board and may only play for one team during the tournament.&lt;br /&gt;
&lt;br /&gt;
Sign-ups close two days before the tournament date. Servers will then be placed on the bracket randomly. Following this, the listed teams will be randomized and loaded into the bracket. If your team fails to make the cut-off, please contact a tournament organizer for help.&lt;br /&gt;
&lt;br /&gt;
If you do not have a team, there are Open Teams for you! Add your name to one of them freely if you are sure you can play. If this team does not have a team captain yet, you should be the one.&lt;br /&gt;
&lt;br /&gt;
Please post your team name and players in the &#039;&#039;Teams&#039;&#039; section below using the following template:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfTeam|Team Name|Captain&#039;s Name|Captain&#039;s Global ID|Teammate 1, Teammate 2, ...|http://teamwebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
For more information, see [[Template:ctfTeam]].&lt;br /&gt;
&lt;br /&gt;
==Challenge Board==&lt;br /&gt;
&lt;br /&gt;
===Teams===&lt;br /&gt;
{{ctfTeam|Open Team A|White Fang|Child_of_blood@forums||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|Open Team B||||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|~&#039;Ux|Windrider, Camaro|Wind@forums, BeasT@forums|Div, Boa, Giby|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~&#039;Uy|Sexy Beast, Number3|sexy\ beast@forums, Number3@forums|Tru, Rorschach, Regedit, Marshmellow, Forbidden, Axis, Portgas D. Ace, Ti, Gftis, Lawliet|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|Alpha Project|Death Zone, Fire Storm|Death\ Zone@alphaproject.au.tc, Fire\ Storm@alphaproject.au.tc|XDRaGe, HAL 9000|http://alphaproject.au.tc}}&lt;br /&gt;
&lt;br /&gt;
===Admins===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfAdmin|Admin&#039;s Name|Admins&#039;s Global ID|http://adminswebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|animuson|animuson@tronner.com/webmaster|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2765}}&lt;br /&gt;
{{ctfAdmin|ihptru|Tru@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Super Leaders===&lt;br /&gt;
The following is a list of players who regularly use Brawl servers in-between events to promote competitive game play and foster the growth of CTF. Super Leaders gain only Team Leader status but their authority is persistent, spanning several Brawls or more.&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|sine.wav|sinewav@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Windrider|Wind@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3907}}&lt;br /&gt;
{{ctfAdmin|Camaro|BeasT@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3715}}&lt;br /&gt;
{{ctfAdmin|Sexy Beast|sexy\ beast@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Number3|Number3@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;7363}}&lt;br /&gt;
{{ctfAdmin|Poke&#039; Master|PokeMaster@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4866}}&lt;br /&gt;
{{ctfAdmin|Shoebat|Thilo@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;1345}}&lt;br /&gt;
{{ctfAdmin|Titan|Titanoboa@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3198}}&lt;br /&gt;
{{ctfAdmin|Tish|Tish@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Agent007|Agent007@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4788}}&lt;br /&gt;
&lt;br /&gt;
===Brackets===&lt;br /&gt;
&amp;lt;!-- Teams may agree to move to the backup server if there is a problem with the primary server --&amp;gt;&lt;br /&gt;
To edit the brackets change [[Template:CTFBRAWL14_Brackets]]&lt;br /&gt;
&lt;br /&gt;
{{Template:CTFBRAWL14_Brackets}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Times==&lt;br /&gt;
{{:CTFBRAWL/Times}}&lt;br /&gt;
&lt;br /&gt;
==Servers==&lt;br /&gt;
&lt;br /&gt;
===Server Configuration===&lt;br /&gt;
 RINCLUDE ctfbrawl14.cfg(http://ix.lv-vl.net/ctfbrawl14.cfg)&lt;br /&gt;
 RINCLUDE ctfbrawl13_authorities.cfg(http://ix.lv-vl.net/ctfbrawl13_authorities.cfg)&lt;br /&gt;
 SERVER_NAME 0x585ecdCTF BRAWL 14 0xcd6958(0xcdbb58Player 1&#039;s Server0xcd6958)&lt;br /&gt;
&lt;br /&gt;
===Server List===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfServer|Your server name|ip|port|Location|[http://serverwebsite.com http://serverwebsite.com]}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Europe&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|ihptru - NL|ix.lv-vl.net|4545|The Netherlands|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780 ihptru]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Place Euro servers in here on reset&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s STO|sto.crazy-tronners.com|4538|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|PlzResUs!|trongame.de|4534|Germany (EU)|[http://trongame.de/forum/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2 AI]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s KYL|85.114.128.17|4539|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s LIV|liv.crazy-tronners.com|4541|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;US &amp;amp; Others&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|LOVER$BOY - USA|fostermclane.co.cc|4544|North America|[http://alphaproject.au.tc Alpha Project]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place US/Other servers in here on reset&lt;br /&gt;
{{ctfServer|ID&#039;s VA1|10.117.49.162|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA2|10.201.2.52|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA3|10.210.34.191|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA4|10.211.2.18|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|AoT|65.18.192.127|4541|North East US|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2439 sinewav]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|INW&#039;s|108.60.159.187|4534|New York, New York (US)|[[User talk:INW|INW]]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s USA|crazy-tronners.com|4536|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
&lt;br /&gt;
Temporarily unavailable -- do not use&lt;br /&gt;
{{ctfServer|Ani-OWL [Backup]|owl.animuson.net|4541|Las Vegas (US)|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2765 animuson]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Other Continents&#039;&#039;&#039;&amp;lt;/u&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recordings/Screenshots==&lt;br /&gt;
Post all recordings/screenshots that you have of the CTF BRAWL here, along with the names of the two teams in the match:&lt;br /&gt;
&lt;br /&gt;
* http://    - TeamA vs TeamB&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37767</id>
		<title>CTF BRAWL</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37767"/>
		<updated>2012-02-22T03:16:27Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Server List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:CTFBRAWL/Blurb}}&lt;br /&gt;
&lt;br /&gt;
==About this Tournament==&lt;br /&gt;
The CTF BRAWL is a single elimination event. Each final is best of 3 matches (the first team to win 2 matches advances to the next round). Each match is 8 rounds long. Each round lasts a maximum of 5 minutes. Teams are 4 players max, but should have a minimum of two players. Substitutes can be rotated in at any time during the game. The current scoring is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
2pts Core Dump&lt;br /&gt;
10pts Flag Score&lt;br /&gt;
4pts Round Win&lt;br /&gt;
8 Rounds Limit&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Team suicides,&#039;&#039;&#039; in an effort to work the scoreboard for a win, &#039;&#039;will not be tolerated and will result in your team&#039;s elimination from the tournament.&#039;&#039; Do not be late for the opening round. Failure to show up with a full, organized team will result in your forfeit. Do not waste time or stall between finals. Your opponent may start the match without you if you take longer than 10 minutes to get ready, from the time your first teammate enters the server.&lt;br /&gt;
&lt;br /&gt;
==Signing Up==&lt;br /&gt;
&amp;lt;!-- ==&amp;lt;i&amp;gt;&#039;&#039;&#039;Sign ups are closed!!!&#039;&#039;&#039;&amp;lt;/i&amp;gt;== --&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Authentication_for_Players#Benefits|Authentication]] is required to play in the tournament.&#039;&#039;&#039; Team leaders must list their Global ID here on the challenge board when signing up. As a precaution, please have a &#039;&#039;&#039;minimum of two (2) players&#039;&#039;&#039; assuming the role of &#039;&#039;&#039;team leader&#039;&#039;&#039; so your team has the greatest chance to participate without login problems. Team leaders should be familiar with using commands to /op players, /lock their team, /invite members, and start_new_match. You can add as many substitutes as you need, but they are bound to your team once the tournament starts. Players can only be listed once on the Challenge Board and may only play for one team during the tournament.&lt;br /&gt;
&lt;br /&gt;
Sign-ups close two days before the tournament date. Servers will then be placed on the bracket randomly. Following this, the listed teams will be randomized and loaded into the bracket. If your team fails to make the cut-off, please contact a tournament organizer for help.&lt;br /&gt;
&lt;br /&gt;
If you do not have a team, there are Open Teams for you! Add your name to one of them freely if you are sure you can play. If this team does not have a team captain yet, you should be the one.&lt;br /&gt;
&lt;br /&gt;
Please post your team name and players in the &#039;&#039;Teams&#039;&#039; section below using the following template:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfTeam|Team Name|Captain&#039;s Name|Captain&#039;s Global ID|Teammate 1, Teammate 2, ...|http://teamwebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
For more information, see [[Template:ctfTeam]].&lt;br /&gt;
&lt;br /&gt;
==Challenge Board==&lt;br /&gt;
&lt;br /&gt;
===Teams===&lt;br /&gt;
{{ctfTeam|Open Team A|White Fang|Child_of_blood@forums||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|Open Team B||||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|~&#039;Ux|Windrider, Camaro|Wind@forums, BeasT@forums|Div, Boa, Giby|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~&#039;Uy|Sexy Beast, Number3|sexy\ beast@forums, Number3@forums|Tru, Rorschach, Regedit, Marshmellow, Forbidden, Axis, Portgas D. Ace, Ti, Gftis, Lawliet|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~AP~Alpha Project|Death Zone, Fire Storm|Death\ Zone@alphaproject.au.tc, Fire\ Storm@alphaproject.au.tc|XDRaGe, HAL 9000|http://alphaproject.au.tc}}&lt;br /&gt;
&lt;br /&gt;
===Admins===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfAdmin|Admin&#039;s Name|Admins&#039;s Global ID|http://adminswebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|animuson|animuson@tronner.com/webmaster|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2765}}&lt;br /&gt;
{{ctfAdmin|ihptru|Tru@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Super Leaders===&lt;br /&gt;
The following is a list of players who regularly use Brawl servers in-between events to promote competitive game play and foster the growth of CTF. Super Leaders gain only Team Leader status but their authority is persistent, spanning several Brawls or more.&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|sine.wav|sinewav@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Windrider|Wind@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3907}}&lt;br /&gt;
{{ctfAdmin|Camaro|BeasT@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3715}}&lt;br /&gt;
{{ctfAdmin|Sexy Beast|sexy\ beast@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Number3|Number3@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;7363}}&lt;br /&gt;
{{ctfAdmin|Poke&#039; Master|PokeMaster@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4866}}&lt;br /&gt;
{{ctfAdmin|Shoebat|Thilo@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;1345}}&lt;br /&gt;
{{ctfAdmin|Titan|Titanoboa@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3198}}&lt;br /&gt;
{{ctfAdmin|Tish|Tish@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Agent007|Agent007@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4788}}&lt;br /&gt;
&lt;br /&gt;
===Brackets===&lt;br /&gt;
&amp;lt;!-- Teams may agree to move to the backup server if there is a problem with the primary server --&amp;gt;&lt;br /&gt;
To edit the brackets change [[Template:CTFBRAWL14_Brackets]]&lt;br /&gt;
&lt;br /&gt;
{{Template:CTFBRAWL14_Brackets}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Times==&lt;br /&gt;
{{:CTFBRAWL/Times}}&lt;br /&gt;
&lt;br /&gt;
==Servers==&lt;br /&gt;
&lt;br /&gt;
===Server Configuration===&lt;br /&gt;
 RINCLUDE ctfbrawl14.cfg(http://ix.lv-vl.net/ctfbrawl14.cfg)&lt;br /&gt;
 RINCLUDE ctfbrawl13_authorities.cfg(http://ix.lv-vl.net/ctfbrawl13_authorities.cfg)&lt;br /&gt;
 SERVER_NAME 0x585ecdCTF BRAWL 14 0xcd6958(0xcdbb58Player 1&#039;s Server0xcd6958)&lt;br /&gt;
&lt;br /&gt;
===Server List===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfServer|Your server name|ip|port|Location|[http://serverwebsite.com http://serverwebsite.com]}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Europe&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|ihptru - NL|ix.lv-vl.net|4545|The Netherlands|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780 ihptru]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Place Euro servers in here on reset&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s STO|sto.crazy-tronners.com|4538|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|PlzResUs!|trongame.de|4534|Germany (EU)|[http://trongame.de/forum/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2 AI]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s KYL|85.114.128.17|4539|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s LIV|liv.crazy-tronners.com|4541|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;US &amp;amp; Others&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|LOVER$BOY - USA|fostermclane.co.cc|4544|North America|[http://alphaproject.au.tc Alpha Project]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place US/Other servers in here on reset&lt;br /&gt;
{{ctfServer|ID&#039;s VA1|10.117.49.162|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA2|10.201.2.52|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA3|10.210.34.191|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA4|10.211.2.18|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|AoT|65.18.192.127|4541|North East US|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2439 sinewav]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|INW&#039;s|108.60.159.187|4534|New York, New York (US)|[[User talk:INW|INW]]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s USA|crazy-tronners.com|4536|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
&lt;br /&gt;
Temporarily unavailable -- do not use&lt;br /&gt;
{{ctfServer|Ani-OWL [Backup]|owl.animuson.net|4541|Las Vegas (US)|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2765 animuson]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Other Continents&#039;&#039;&#039;&amp;lt;/u&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recordings/Screenshots==&lt;br /&gt;
Post all recordings/screenshots that you have of the CTF BRAWL here, along with the names of the two teams in the match:&lt;br /&gt;
&lt;br /&gt;
* http://    - TeamA vs TeamB&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37766</id>
		<title>CTF BRAWL</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37766"/>
		<updated>2012-02-22T03:03:25Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Server List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:CTFBRAWL/Blurb}}&lt;br /&gt;
&lt;br /&gt;
==About this Tournament==&lt;br /&gt;
The CTF BRAWL is a single elimination event. Each final is best of 3 matches (the first team to win 2 matches advances to the next round). Each match is 8 rounds long. Each round lasts a maximum of 5 minutes. Teams are 4 players max, but should have a minimum of two players. Substitutes can be rotated in at any time during the game. The current scoring is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
2pts Core Dump&lt;br /&gt;
10pts Flag Score&lt;br /&gt;
4pts Round Win&lt;br /&gt;
8 Rounds Limit&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Team suicides,&#039;&#039;&#039; in an effort to work the scoreboard for a win, &#039;&#039;will not be tolerated and will result in your team&#039;s elimination from the tournament.&#039;&#039; Do not be late for the opening round. Failure to show up with a full, organized team will result in your forfeit. Do not waste time or stall between finals. Your opponent may start the match without you if you take longer than 10 minutes to get ready, from the time your first teammate enters the server.&lt;br /&gt;
&lt;br /&gt;
==Signing Up==&lt;br /&gt;
&amp;lt;!-- ==&amp;lt;i&amp;gt;&#039;&#039;&#039;Sign ups are closed!!!&#039;&#039;&#039;&amp;lt;/i&amp;gt;== --&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Authentication_for_Players#Benefits|Authentication]] is required to play in the tournament.&#039;&#039;&#039; Team leaders must list their Global ID here on the challenge board when signing up. As a precaution, please have a &#039;&#039;&#039;minimum of two (2) players&#039;&#039;&#039; assuming the role of &#039;&#039;&#039;team leader&#039;&#039;&#039; so your team has the greatest chance to participate without login problems. Team leaders should be familiar with using commands to /op players, /lock their team, /invite members, and start_new_match. You can add as many substitutes as you need, but they are bound to your team once the tournament starts. Players can only be listed once on the Challenge Board and may only play for one team during the tournament.&lt;br /&gt;
&lt;br /&gt;
Sign-ups close two days before the tournament date. Servers will then be placed on the bracket randomly. Following this, the listed teams will be randomized and loaded into the bracket. If your team fails to make the cut-off, please contact a tournament organizer for help.&lt;br /&gt;
&lt;br /&gt;
If you do not have a team, there are Open Teams for you! Add your name to one of them freely if you are sure you can play. If this team does not have a team captain yet, you should be the one.&lt;br /&gt;
&lt;br /&gt;
Please post your team name and players in the &#039;&#039;Teams&#039;&#039; section below using the following template:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfTeam|Team Name|Captain&#039;s Name|Captain&#039;s Global ID|Teammate 1, Teammate 2, ...|http://teamwebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
For more information, see [[Template:ctfTeam]].&lt;br /&gt;
&lt;br /&gt;
==Challenge Board==&lt;br /&gt;
&lt;br /&gt;
===Teams===&lt;br /&gt;
{{ctfTeam|Open Team A|White Fang|Child_of_blood@forums||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|Open Team B||||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|~&#039;Ux|Windrider, Camaro|Wind@forums, BeasT@forums|Div, Boa, Giby|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~&#039;Uy|Sexy Beast, Number3|sexy\ beast@forums, Number3@forums|Tru, Rorschach, Regedit, Marshmellow, Forbidden, Axis, Portgas D. Ace, Ti, Gftis, Lawliet|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~AP~Alpha Project|Death Zone, Fire Storm|Death\ Zone@alphaproject.au.tc, Fire\ Storm@alphaproject.au.tc|XDRaGe, HAL 9000|http://alphaproject.au.tc}}&lt;br /&gt;
&lt;br /&gt;
===Admins===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfAdmin|Admin&#039;s Name|Admins&#039;s Global ID|http://adminswebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|animuson|animuson@tronner.com/webmaster|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2765}}&lt;br /&gt;
{{ctfAdmin|ihptru|Tru@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Super Leaders===&lt;br /&gt;
The following is a list of players who regularly use Brawl servers in-between events to promote competitive game play and foster the growth of CTF. Super Leaders gain only Team Leader status but their authority is persistent, spanning several Brawls or more.&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|sine.wav|sinewav@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Windrider|Wind@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3907}}&lt;br /&gt;
{{ctfAdmin|Camaro|BeasT@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3715}}&lt;br /&gt;
{{ctfAdmin|Sexy Beast|sexy\ beast@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Number3|Number3@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;7363}}&lt;br /&gt;
{{ctfAdmin|Poke&#039; Master|PokeMaster@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4866}}&lt;br /&gt;
{{ctfAdmin|Shoebat|Thilo@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;1345}}&lt;br /&gt;
{{ctfAdmin|Titan|Titanoboa@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3198}}&lt;br /&gt;
{{ctfAdmin|Tish|Tish@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Agent007|Agent007@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4788}}&lt;br /&gt;
&lt;br /&gt;
===Brackets===&lt;br /&gt;
&amp;lt;!-- Teams may agree to move to the backup server if there is a problem with the primary server --&amp;gt;&lt;br /&gt;
To edit the brackets change [[Template:CTFBRAWL14_Brackets]]&lt;br /&gt;
&lt;br /&gt;
{{Template:CTFBRAWL14_Brackets}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Times==&lt;br /&gt;
{{:CTFBRAWL/Times}}&lt;br /&gt;
&lt;br /&gt;
==Servers==&lt;br /&gt;
&lt;br /&gt;
===Server Configuration===&lt;br /&gt;
 RINCLUDE ctfbrawl14.cfg(http://ix.lv-vl.net/ctfbrawl14.cfg)&lt;br /&gt;
 RINCLUDE ctfbrawl13_authorities.cfg(http://ix.lv-vl.net/ctfbrawl13_authorities.cfg)&lt;br /&gt;
 SERVER_NAME 0x585ecdCTF BRAWL 14 0xcd6958(0xcdbb58Player 1&#039;s Server0xcd6958)&lt;br /&gt;
&lt;br /&gt;
===Server List===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfServer|Your server name|ip|port|Location|[http://serverwebsite.com http://serverwebsite.com]}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Europe&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|ihptru - NL|ix.lv-vl.net|4545|The Netherlands|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780 ihptru]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Place Euro servers in here on reset&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s STO|sto.crazy-tronners.com|4538|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|PlzResUs!|trongame.de|4534|Germany (EU)|[http://trongame.de/forum/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2 AI]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s KYL|85.114.128.17|4539|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s LIV|liv.crazy-tronners.com|4541|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;US &amp;amp; Others&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|fman - USA|fostermclane.co.cc|4544|North America|[http://alphaproject.au.tc Alpha Project]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place US/Other servers in here on reset&lt;br /&gt;
{{ctfServer|ID&#039;s VA1|10.117.49.162|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA2|10.201.2.52|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA3|10.210.34.191|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA4|10.211.2.18|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|AoT|65.18.192.127|4541|North East US|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2439 sinewav]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|INW&#039;s|108.60.159.187|4534|New York, New York (US)|[[User talk:INW|INW]]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s USA|crazy-tronners.com|4536|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
&lt;br /&gt;
Temporarily unavailable -- do not use&lt;br /&gt;
{{ctfServer|Ani-OWL [Backup]|owl.animuson.net|4541|Las Vegas (US)|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2765 animuson]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Other Continents&#039;&#039;&#039;&amp;lt;/u&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recordings/Screenshots==&lt;br /&gt;
Post all recordings/screenshots that you have of the CTF BRAWL here, along with the names of the two teams in the match:&lt;br /&gt;
&lt;br /&gt;
* http://    - TeamA vs TeamB&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37765</id>
		<title>CTF BRAWL</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37765"/>
		<updated>2012-02-22T03:03:06Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Server List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:CTFBRAWL/Blurb}}&lt;br /&gt;
&lt;br /&gt;
==About this Tournament==&lt;br /&gt;
The CTF BRAWL is a single elimination event. Each final is best of 3 matches (the first team to win 2 matches advances to the next round). Each match is 8 rounds long. Each round lasts a maximum of 5 minutes. Teams are 4 players max, but should have a minimum of two players. Substitutes can be rotated in at any time during the game. The current scoring is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
2pts Core Dump&lt;br /&gt;
10pts Flag Score&lt;br /&gt;
4pts Round Win&lt;br /&gt;
8 Rounds Limit&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Team suicides,&#039;&#039;&#039; in an effort to work the scoreboard for a win, &#039;&#039;will not be tolerated and will result in your team&#039;s elimination from the tournament.&#039;&#039; Do not be late for the opening round. Failure to show up with a full, organized team will result in your forfeit. Do not waste time or stall between finals. Your opponent may start the match without you if you take longer than 10 minutes to get ready, from the time your first teammate enters the server.&lt;br /&gt;
&lt;br /&gt;
==Signing Up==&lt;br /&gt;
&amp;lt;!-- ==&amp;lt;i&amp;gt;&#039;&#039;&#039;Sign ups are closed!!!&#039;&#039;&#039;&amp;lt;/i&amp;gt;== --&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Authentication_for_Players#Benefits|Authentication]] is required to play in the tournament.&#039;&#039;&#039; Team leaders must list their Global ID here on the challenge board when signing up. As a precaution, please have a &#039;&#039;&#039;minimum of two (2) players&#039;&#039;&#039; assuming the role of &#039;&#039;&#039;team leader&#039;&#039;&#039; so your team has the greatest chance to participate without login problems. Team leaders should be familiar with using commands to /op players, /lock their team, /invite members, and start_new_match. You can add as many substitutes as you need, but they are bound to your team once the tournament starts. Players can only be listed once on the Challenge Board and may only play for one team during the tournament.&lt;br /&gt;
&lt;br /&gt;
Sign-ups close two days before the tournament date. Servers will then be placed on the bracket randomly. Following this, the listed teams will be randomized and loaded into the bracket. If your team fails to make the cut-off, please contact a tournament organizer for help.&lt;br /&gt;
&lt;br /&gt;
If you do not have a team, there are Open Teams for you! Add your name to one of them freely if you are sure you can play. If this team does not have a team captain yet, you should be the one.&lt;br /&gt;
&lt;br /&gt;
Please post your team name and players in the &#039;&#039;Teams&#039;&#039; section below using the following template:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfTeam|Team Name|Captain&#039;s Name|Captain&#039;s Global ID|Teammate 1, Teammate 2, ...|http://teamwebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
For more information, see [[Template:ctfTeam]].&lt;br /&gt;
&lt;br /&gt;
==Challenge Board==&lt;br /&gt;
&lt;br /&gt;
===Teams===&lt;br /&gt;
{{ctfTeam|Open Team A|White Fang|Child_of_blood@forums||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|Open Team B||||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|~&#039;Ux|Windrider, Camaro|Wind@forums, BeasT@forums|Div, Boa, Giby|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~&#039;Uy|Sexy Beast, Number3|sexy\ beast@forums, Number3@forums|Tru, Rorschach, Regedit, Marshmellow, Forbidden, Axis, Portgas D. Ace, Ti, Gftis, Lawliet|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~AP~Alpha Project|Death Zone, Fire Storm|Death\ Zone@alphaproject.au.tc, Fire\ Storm@alphaproject.au.tc|XDRaGe, HAL 9000|http://alphaproject.au.tc}}&lt;br /&gt;
&lt;br /&gt;
===Admins===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfAdmin|Admin&#039;s Name|Admins&#039;s Global ID|http://adminswebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|animuson|animuson@tronner.com/webmaster|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2765}}&lt;br /&gt;
{{ctfAdmin|ihptru|Tru@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Super Leaders===&lt;br /&gt;
The following is a list of players who regularly use Brawl servers in-between events to promote competitive game play and foster the growth of CTF. Super Leaders gain only Team Leader status but their authority is persistent, spanning several Brawls or more.&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|sine.wav|sinewav@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Windrider|Wind@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3907}}&lt;br /&gt;
{{ctfAdmin|Camaro|BeasT@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3715}}&lt;br /&gt;
{{ctfAdmin|Sexy Beast|sexy\ beast@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Number3|Number3@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;7363}}&lt;br /&gt;
{{ctfAdmin|Poke&#039; Master|PokeMaster@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4866}}&lt;br /&gt;
{{ctfAdmin|Shoebat|Thilo@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;1345}}&lt;br /&gt;
{{ctfAdmin|Titan|Titanoboa@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3198}}&lt;br /&gt;
{{ctfAdmin|Tish|Tish@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Agent007|Agent007@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4788}}&lt;br /&gt;
&lt;br /&gt;
===Brackets===&lt;br /&gt;
&amp;lt;!-- Teams may agree to move to the backup server if there is a problem with the primary server --&amp;gt;&lt;br /&gt;
To edit the brackets change [[Template:CTFBRAWL14_Brackets]]&lt;br /&gt;
&lt;br /&gt;
{{Template:CTFBRAWL14_Brackets}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Times==&lt;br /&gt;
{{:CTFBRAWL/Times}}&lt;br /&gt;
&lt;br /&gt;
==Servers==&lt;br /&gt;
&lt;br /&gt;
===Server Configuration===&lt;br /&gt;
 RINCLUDE ctfbrawl14.cfg(http://ix.lv-vl.net/ctfbrawl14.cfg)&lt;br /&gt;
 RINCLUDE ctfbrawl13_authorities.cfg(http://ix.lv-vl.net/ctfbrawl13_authorities.cfg)&lt;br /&gt;
 SERVER_NAME 0x585ecdCTF BRAWL 14 0xcd6958(0xcdbb58Player 1&#039;s Server0xcd6958)&lt;br /&gt;
&lt;br /&gt;
===Server List===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfServer|Your server name|ip|port|Location|[http://serverwebsite.com http://serverwebsite.com]}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Europe&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|ihptru - NL|ix.lv-vl.net|4545|The Netherlands|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780 ihptru]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Place Euro servers in here on reset&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s STO|sto.crazy-tronners.com|4538|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|PlzResUs!|trongame.de|4534|Germany (EU)|[http://trongame.de/forum/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2 AI]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s KYL|85.114.128.17|4539|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s LIV|liv.crazy-tronners.com|4541|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;US &amp;amp; Others&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|fman USA|fostermclane.co.cc|4544|North America|[http://alphaproject.au.tc Alpha Project]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place US/Other servers in here on reset&lt;br /&gt;
{{ctfServer|ID&#039;s VA1|10.117.49.162|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA2|10.201.2.52|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA3|10.210.34.191|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA4|10.211.2.18|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|AoT|65.18.192.127|4541|North East US|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2439 sinewav]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|INW&#039;s|108.60.159.187|4534|New York, New York (US)|[[User talk:INW|INW]]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s USA|crazy-tronners.com|4536|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
&lt;br /&gt;
Temporarily unavailable -- do not use&lt;br /&gt;
{{ctfServer|Ani-OWL [Backup]|owl.animuson.net|4541|Las Vegas (US)|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2765 animuson]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Other Continents&#039;&#039;&#039;&amp;lt;/u&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recordings/Screenshots==&lt;br /&gt;
Post all recordings/screenshots that you have of the CTF BRAWL here, along with the names of the two teams in the match:&lt;br /&gt;
&lt;br /&gt;
* http://    - TeamA vs TeamB&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37762</id>
		<title>CTF BRAWL</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37762"/>
		<updated>2012-02-22T02:32:51Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Teams */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:CTFBRAWL/Blurb}}&lt;br /&gt;
&lt;br /&gt;
==About this Tournament==&lt;br /&gt;
The CTF BRAWL is a single elimination event. Each final is best of 3 matches (the first team to win 2 matches advances to the next round). Each match is 8 rounds long. Each round lasts a maximum of 5 minutes. Teams are 4 players max, but should have a minimum of two players. Substitutes can be rotated in at any time during the game. The current scoring is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
2pts Core Dump&lt;br /&gt;
10pts Flag Score&lt;br /&gt;
4pts Round Win&lt;br /&gt;
8 Rounds Limit&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Team suicides,&#039;&#039;&#039; in an effort to work the scoreboard for a win, &#039;&#039;will not be tolerated and will result in your team&#039;s elimination from the tournament.&#039;&#039; Do not be late for the opening round. Failure to show up with a full, organized team will result in your forfeit. Do not waste time or stall between finals. Your opponent may start the match without you if you take longer than 10 minutes to get ready, from the time your first teammate enters the server.&lt;br /&gt;
&lt;br /&gt;
==Signing Up==&lt;br /&gt;
&amp;lt;!-- ==&amp;lt;i&amp;gt;&#039;&#039;&#039;Sign ups are closed!!!&#039;&#039;&#039;&amp;lt;/i&amp;gt;== --&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Authentication_for_Players#Benefits|Authentication]] is required to play in the tournament.&#039;&#039;&#039; Team leaders must list their Global ID here on the challenge board when signing up. As a precaution, please have a &#039;&#039;&#039;minimum of two (2) players&#039;&#039;&#039; assuming the role of &#039;&#039;&#039;team leader&#039;&#039;&#039; so your team has the greatest chance to participate without login problems. Team leaders should be familiar with using commands to /op players, /lock their team, /invite members, and start_new_match. You can add as many substitutes as you need, but they are bound to your team once the tournament starts. Players can only be listed once on the Challenge Board and may only play for one team during the tournament.&lt;br /&gt;
&lt;br /&gt;
Sign-ups close two days before the tournament date. Servers will then be placed on the bracket randomly. Following this, the listed teams will be randomized and loaded into the bracket. If your team fails to make the cut-off, please contact a tournament organizer for help.&lt;br /&gt;
&lt;br /&gt;
If you do not have a team, there are Open Teams for you! Add your name to one of them freely if you are sure you can play. If this team does not have a team captain yet, you should be the one.&lt;br /&gt;
&lt;br /&gt;
Please post your team name and players in the &#039;&#039;Teams&#039;&#039; section below using the following template:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfTeam|Team Name|Captain&#039;s Name|Captain&#039;s Global ID|Teammate 1, Teammate 2, ...|http://teamwebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
For more information, see [[Template:ctfTeam]].&lt;br /&gt;
&lt;br /&gt;
==Challenge Board==&lt;br /&gt;
&lt;br /&gt;
===Teams===&lt;br /&gt;
{{ctfTeam|Open Team A|White Fang|Child_of_blood@forums||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|Open Team B||||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|~&#039;Ux|Windrider, Camaro|Wind@forums, BeasT@forums|Div, Boa, Giby|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~&#039;Uy|Sexy Beast, Number3|sexy\ beast@forums, Number3@forums|Tru, Rorschach, Regedit, Marshmellow, Forbidden, Axis, Portgas D. Ace, Ti, Gftis, Lawliet|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~AP~Alpha Project|Death Zone, Fire Storm|Death\ Zone@alphaproject.au.tc, Fire\ Storm@alphaproject.au.tc|XDRaGe, HAL 9000|http://alphaproject.au.tc}}&lt;br /&gt;
&lt;br /&gt;
===Admins===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfAdmin|Admin&#039;s Name|Admins&#039;s Global ID|http://adminswebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|animuson|animuson@tronner.com/webmaster|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2765}}&lt;br /&gt;
{{ctfAdmin|ihptru|Tru@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Super Leaders===&lt;br /&gt;
The following is a list of players who regularly use Brawl servers in-between events to promote competitive game play and foster the growth of CTF. Super Leaders gain only Team Leader status but their authority is persistent, spanning several Brawls or more.&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|sine.wav|sinewav@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Windrider|Wind@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3907}}&lt;br /&gt;
{{ctfAdmin|Camaro|BeasT@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3715}}&lt;br /&gt;
{{ctfAdmin|Sexy Beast|sexy\ beast@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Number3|Number3@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;7363}}&lt;br /&gt;
{{ctfAdmin|Poke&#039; Master|PokeMaster@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4866}}&lt;br /&gt;
{{ctfAdmin|Shoebat|Thilo@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;1345}}&lt;br /&gt;
{{ctfAdmin|Titan|Titanoboa@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3198}}&lt;br /&gt;
{{ctfAdmin|Tish|Tish@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Agent007|Agent007@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4788}}&lt;br /&gt;
&lt;br /&gt;
===Brackets===&lt;br /&gt;
&amp;lt;!-- Teams may agree to move to the backup server if there is a problem with the primary server --&amp;gt;&lt;br /&gt;
To edit the brackets change [[Template:CTFBRAWL14_Brackets]]&lt;br /&gt;
&lt;br /&gt;
{{Template:CTFBRAWL14_Brackets}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Times==&lt;br /&gt;
{{:CTFBRAWL/Times}}&lt;br /&gt;
&lt;br /&gt;
==Servers==&lt;br /&gt;
&lt;br /&gt;
===Server Configuration===&lt;br /&gt;
 RINCLUDE ctfbrawl14.cfg(http://ix.lv-vl.net/ctfbrawl14.cfg)&lt;br /&gt;
 RINCLUDE ctfbrawl13_authorities.cfg(http://ix.lv-vl.net/ctfbrawl13_authorities.cfg)&lt;br /&gt;
 SERVER_NAME 0x585ecdCTF BRAWL 14 0xcd6958(0xcdbb58Player 1&#039;s Server0xcd6958)&lt;br /&gt;
&lt;br /&gt;
===Server List===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfServer|Your server name|ip|port|Location|[http://serverwebsite.com http://serverwebsite.com]}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Europe&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|ihptru - NL|ix.lv-vl.net|4545|The Netherlands|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780 ihptru]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Place Euro servers in here on reset&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s STO|sto.crazy-tronners.com|4538|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|PlzResUs!|trongame.de|4534|Germany (EU)|[http://trongame.de/forum/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2 AI]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s KYL|85.114.128.17|4539|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s LIV|liv.crazy-tronners.com|4541|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;US &amp;amp; Others&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place US/Other servers in here on reset&lt;br /&gt;
{{ctfServer|ID&#039;s VA1|10.117.49.162|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA2|10.201.2.52|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA3|10.210.34.191|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA4|10.211.2.18|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|AoT|65.18.192.127|4541|North East US|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2439 sinewav]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|INW&#039;s|108.60.159.187|4534|New York, New York (US)|[[User talk:INW|INW]]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s USA|crazy-tronners.com|4536|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
&lt;br /&gt;
Temporarily unavailable -- do not use&lt;br /&gt;
{{ctfServer|Ani-OWL [Backup]|owl.animuson.net|4541|Las Vegas (US)|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2765 animuson]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Other Continents&#039;&#039;&#039;&amp;lt;/u&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recordings/Screenshots==&lt;br /&gt;
Post all recordings/screenshots that you have of the CTF BRAWL here, along with the names of the two teams in the match:&lt;br /&gt;
&lt;br /&gt;
* http://    - TeamA vs TeamB&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37761</id>
		<title>CTF BRAWL</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37761"/>
		<updated>2012-02-22T02:13:44Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Teams */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:CTFBRAWL/Blurb}}&lt;br /&gt;
&lt;br /&gt;
==About this Tournament==&lt;br /&gt;
The CTF BRAWL is a single elimination event. Each final is best of 3 matches (the first team to win 2 matches advances to the next round). Each match is 8 rounds long. Each round lasts a maximum of 5 minutes. Teams are 4 players max, but should have a minimum of two players. Substitutes can be rotated in at any time during the game. The current scoring is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
2pts Core Dump&lt;br /&gt;
10pts Flag Score&lt;br /&gt;
4pts Round Win&lt;br /&gt;
8 Rounds Limit&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Team suicides,&#039;&#039;&#039; in an effort to work the scoreboard for a win, &#039;&#039;will not be tolerated and will result in your team&#039;s elimination from the tournament.&#039;&#039; Do not be late for the opening round. Failure to show up with a full, organized team will result in your forfeit. Do not waste time or stall between finals. Your opponent may start the match without you if you take longer than 10 minutes to get ready, from the time your first teammate enters the server.&lt;br /&gt;
&lt;br /&gt;
==Signing Up==&lt;br /&gt;
&amp;lt;!-- ==&amp;lt;i&amp;gt;&#039;&#039;&#039;Sign ups are closed!!!&#039;&#039;&#039;&amp;lt;/i&amp;gt;== --&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Authentication_for_Players#Benefits|Authentication]] is required to play in the tournament.&#039;&#039;&#039; Team leaders must list their Global ID here on the challenge board when signing up. As a precaution, please have a &#039;&#039;&#039;minimum of two (2) players&#039;&#039;&#039; assuming the role of &#039;&#039;&#039;team leader&#039;&#039;&#039; so your team has the greatest chance to participate without login problems. Team leaders should be familiar with using commands to /op players, /lock their team, /invite members, and start_new_match. You can add as many substitutes as you need, but they are bound to your team once the tournament starts. Players can only be listed once on the Challenge Board and may only play for one team during the tournament.&lt;br /&gt;
&lt;br /&gt;
Sign-ups close two days before the tournament date. Servers will then be placed on the bracket randomly. Following this, the listed teams will be randomized and loaded into the bracket. If your team fails to make the cut-off, please contact a tournament organizer for help.&lt;br /&gt;
&lt;br /&gt;
If you do not have a team, there are Open Teams for you! Add your name to one of them freely if you are sure you can play. If this team does not have a team captain yet, you should be the one.&lt;br /&gt;
&lt;br /&gt;
Please post your team name and players in the &#039;&#039;Teams&#039;&#039; section below using the following template:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfTeam|Team Name|Captain&#039;s Name|Captain&#039;s Global ID|Teammate 1, Teammate 2, ...|http://teamwebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
For more information, see [[Template:ctfTeam]].&lt;br /&gt;
&lt;br /&gt;
==Challenge Board==&lt;br /&gt;
&lt;br /&gt;
===Teams===&lt;br /&gt;
{{ctfTeam|Open Team A|White Fang|Child_of_blood@forums||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|Open Team B||||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|~&#039;Ux|Windrider, Camaro|Wind@forums, BeasT@forums|Div, Boa, Giby|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~&#039;Uy|Sexy Beast, Number3|sexy\ beast@forums, Number3@forums|Tru, Rorschach, Regedit, Marshmellow, Forbidden, Axis, Portgas D. Ace, Ti, Gftis, Lawliet|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~AP~Alpha Project|Death Zone, FireStorm|Death\ Zone@alphaproject.au.tc, FireStorm@alphaproject.au.tc|XDRaGe, Hal 9000|http://alphaproject.au.tc}}&lt;br /&gt;
&lt;br /&gt;
===Admins===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfAdmin|Admin&#039;s Name|Admins&#039;s Global ID|http://adminswebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|animuson|animuson@tronner.com/webmaster|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2765}}&lt;br /&gt;
{{ctfAdmin|ihptru|Tru@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Super Leaders===&lt;br /&gt;
The following is a list of players who regularly use Brawl servers in-between events to promote competitive game play and foster the growth of CTF. Super Leaders gain only Team Leader status but their authority is persistent, spanning several Brawls or more.&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|sine.wav|sinewav@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Windrider|Wind@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3907}}&lt;br /&gt;
{{ctfAdmin|Camaro|BeasT@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3715}}&lt;br /&gt;
{{ctfAdmin|Sexy Beast|sexy\ beast@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Number3|Number3@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;7363}}&lt;br /&gt;
{{ctfAdmin|Poke&#039; Master|PokeMaster@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4866}}&lt;br /&gt;
{{ctfAdmin|Shoebat|Thilo@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;1345}}&lt;br /&gt;
{{ctfAdmin|Titan|Titanoboa@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3198}}&lt;br /&gt;
{{ctfAdmin|Tish|Tish@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Agent007|Agent007@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4788}}&lt;br /&gt;
&lt;br /&gt;
===Brackets===&lt;br /&gt;
&amp;lt;!-- Teams may agree to move to the backup server if there is a problem with the primary server --&amp;gt;&lt;br /&gt;
To edit the brackets change [[Template:CTFBRAWL14_Brackets]]&lt;br /&gt;
&lt;br /&gt;
{{Template:CTFBRAWL14_Brackets}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Times==&lt;br /&gt;
{{:CTFBRAWL/Times}}&lt;br /&gt;
&lt;br /&gt;
==Servers==&lt;br /&gt;
&lt;br /&gt;
===Server Configuration===&lt;br /&gt;
 RINCLUDE ctfbrawl14.cfg(http://ix.lv-vl.net/ctfbrawl14.cfg)&lt;br /&gt;
 RINCLUDE ctfbrawl13_authorities.cfg(http://ix.lv-vl.net/ctfbrawl13_authorities.cfg)&lt;br /&gt;
 SERVER_NAME 0x585ecdCTF BRAWL 14 0xcd6958(0xcdbb58Player 1&#039;s Server0xcd6958)&lt;br /&gt;
&lt;br /&gt;
===Server List===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfServer|Your server name|ip|port|Location|[http://serverwebsite.com http://serverwebsite.com]}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Europe&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|ihptru - NL|ix.lv-vl.net|4545|The Netherlands|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780 ihptru]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Place Euro servers in here on reset&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s STO|sto.crazy-tronners.com|4538|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|PlzResUs!|trongame.de|4534|Germany (EU)|[http://trongame.de/forum/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2 AI]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s KYL|85.114.128.17|4539|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s LIV|liv.crazy-tronners.com|4541|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;US &amp;amp; Others&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place US/Other servers in here on reset&lt;br /&gt;
{{ctfServer|ID&#039;s VA1|10.117.49.162|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA2|10.201.2.52|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA3|10.210.34.191|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA4|10.211.2.18|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|AoT|65.18.192.127|4541|North East US|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2439 sinewav]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|INW&#039;s|108.60.159.187|4534|New York, New York (US)|[[User talk:INW|INW]]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s USA|crazy-tronners.com|4536|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
&lt;br /&gt;
Temporarily unavailable -- do not use&lt;br /&gt;
{{ctfServer|Ani-OWL [Backup]|owl.animuson.net|4541|Las Vegas (US)|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2765 animuson]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Other Continents&#039;&#039;&#039;&amp;lt;/u&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recordings/Screenshots==&lt;br /&gt;
Post all recordings/screenshots that you have of the CTF BRAWL here, along with the names of the two teams in the match:&lt;br /&gt;
&lt;br /&gt;
* http://    - TeamA vs TeamB&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37760</id>
		<title>CTF BRAWL</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=CTF_BRAWL&amp;diff=37760"/>
		<updated>2012-02-22T02:11:19Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Teams */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:CTFBRAWL/Blurb}}&lt;br /&gt;
&lt;br /&gt;
==About this Tournament==&lt;br /&gt;
The CTF BRAWL is a single elimination event. Each final is best of 3 matches (the first team to win 2 matches advances to the next round). Each match is 8 rounds long. Each round lasts a maximum of 5 minutes. Teams are 4 players max, but should have a minimum of two players. Substitutes can be rotated in at any time during the game. The current scoring is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
2pts Core Dump&lt;br /&gt;
10pts Flag Score&lt;br /&gt;
4pts Round Win&lt;br /&gt;
8 Rounds Limit&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Team suicides,&#039;&#039;&#039; in an effort to work the scoreboard for a win, &#039;&#039;will not be tolerated and will result in your team&#039;s elimination from the tournament.&#039;&#039; Do not be late for the opening round. Failure to show up with a full, organized team will result in your forfeit. Do not waste time or stall between finals. Your opponent may start the match without you if you take longer than 10 minutes to get ready, from the time your first teammate enters the server.&lt;br /&gt;
&lt;br /&gt;
==Signing Up==&lt;br /&gt;
&amp;lt;!-- ==&amp;lt;i&amp;gt;&#039;&#039;&#039;Sign ups are closed!!!&#039;&#039;&#039;&amp;lt;/i&amp;gt;== --&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Authentication_for_Players#Benefits|Authentication]] is required to play in the tournament.&#039;&#039;&#039; Team leaders must list their Global ID here on the challenge board when signing up. As a precaution, please have a &#039;&#039;&#039;minimum of two (2) players&#039;&#039;&#039; assuming the role of &#039;&#039;&#039;team leader&#039;&#039;&#039; so your team has the greatest chance to participate without login problems. Team leaders should be familiar with using commands to /op players, /lock their team, /invite members, and start_new_match. You can add as many substitutes as you need, but they are bound to your team once the tournament starts. Players can only be listed once on the Challenge Board and may only play for one team during the tournament.&lt;br /&gt;
&lt;br /&gt;
Sign-ups close two days before the tournament date. Servers will then be placed on the bracket randomly. Following this, the listed teams will be randomized and loaded into the bracket. If your team fails to make the cut-off, please contact a tournament organizer for help.&lt;br /&gt;
&lt;br /&gt;
If you do not have a team, there are Open Teams for you! Add your name to one of them freely if you are sure you can play. If this team does not have a team captain yet, you should be the one.&lt;br /&gt;
&lt;br /&gt;
Please post your team name and players in the &#039;&#039;Teams&#039;&#039; section below using the following template:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfTeam|Team Name|Captain&#039;s Name|Captain&#039;s Global ID|Teammate 1, Teammate 2, ...|http://teamwebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
For more information, see [[Template:ctfTeam]].&lt;br /&gt;
&lt;br /&gt;
==Challenge Board==&lt;br /&gt;
&lt;br /&gt;
===Teams===&lt;br /&gt;
{{ctfTeam|Open Team A|White Fang|Child_of_blood@forums||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|Open Team B||||http://armagetronad.net}}&lt;br /&gt;
{{ctfTeam|~&#039;Ux|Windrider, Camaro|Wind@forums, BeasT@forums|Div, Boa, Giby|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~&#039;Uy|Sexy Beast, Number3|sexy\ beast@forums, Number3@forums|Tru, Rorschach, Regedit, Marshmellow, Forbidden, Axis, Portgas D. Ace, Ti, Gftis, Lawliet|http://uclan.tk}}&lt;br /&gt;
{{ctfTeam|~AP~|Alpha Project|Death Zone, FireStorm|Death\ Zone@alphaproject.au.tc|XD|RaGe, Hal 9000|http://alphaproject.au.tc}}&lt;br /&gt;
&lt;br /&gt;
===Admins===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfAdmin|Admin&#039;s Name|Admins&#039;s Global ID|http://adminswebsite.com}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|animuson|animuson@tronner.com/webmaster|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2765}}&lt;br /&gt;
{{ctfAdmin|ihptru|Tru@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Super Leaders===&lt;br /&gt;
The following is a list of players who regularly use Brawl servers in-between events to promote competitive game play and foster the growth of CTF. Super Leaders gain only Team Leader status but their authority is persistent, spanning several Brawls or more.&lt;br /&gt;
&lt;br /&gt;
{{ctfAdmin|sine.wav|sinewav@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Windrider|Wind@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3907}}&lt;br /&gt;
{{ctfAdmin|Camaro|BeasT@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3715}}&lt;br /&gt;
{{ctfAdmin|Sexy Beast|sexy\ beast@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Number3|Number3@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;7363}}&lt;br /&gt;
{{ctfAdmin|Poke&#039; Master|PokeMaster@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4866}}&lt;br /&gt;
{{ctfAdmin|Shoebat|Thilo@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;1345}}&lt;br /&gt;
{{ctfAdmin|Titan|Titanoboa@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;3198}}&lt;br /&gt;
{{ctfAdmin|Tish|Tish@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;2439}}&lt;br /&gt;
{{ctfAdmin|Agent007|Agent007@forums|http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;4788}}&lt;br /&gt;
&lt;br /&gt;
===Brackets===&lt;br /&gt;
&amp;lt;!-- Teams may agree to move to the backup server if there is a problem with the primary server --&amp;gt;&lt;br /&gt;
To edit the brackets change [[Template:CTFBRAWL14_Brackets]]&lt;br /&gt;
&lt;br /&gt;
{{Template:CTFBRAWL14_Brackets}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Times==&lt;br /&gt;
{{:CTFBRAWL/Times}}&lt;br /&gt;
&lt;br /&gt;
==Servers==&lt;br /&gt;
&lt;br /&gt;
===Server Configuration===&lt;br /&gt;
 RINCLUDE ctfbrawl14.cfg(http://ix.lv-vl.net/ctfbrawl14.cfg)&lt;br /&gt;
 RINCLUDE ctfbrawl13_authorities.cfg(http://ix.lv-vl.net/ctfbrawl13_authorities.cfg)&lt;br /&gt;
 SERVER_NAME 0x585ecdCTF BRAWL 14 0xcd6958(0xcdbb58Player 1&#039;s Server0xcd6958)&lt;br /&gt;
&lt;br /&gt;
===Server List===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ctfServer|Your server name|ip|port|Location|[http://serverwebsite.com http://serverwebsite.com]}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Europe&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
{{ctfServer|ihptru - NL|ix.lv-vl.net|4545|The Netherlands|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;amp;u&amp;amp;#x3d;5780 ihptru]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Place Euro servers in here on reset&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s STO|sto.crazy-tronners.com|4538|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|PlzResUs!|trongame.de|4534|Germany (EU)|[http://trongame.de/forum/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2 AI]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s KYL|85.114.128.17|4539|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s LIV|liv.crazy-tronners.com|4541|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;US &amp;amp; Others&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place US/Other servers in here on reset&lt;br /&gt;
{{ctfServer|ID&#039;s VA1|10.117.49.162|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA2|10.201.2.52|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA3|10.210.34.191|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
{{ctfServer|ID&#039;s VA4|10.211.2.18|4334|Virginia, USA|[http://www.idclansite.info compguygene]}}&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|AoT|65.18.192.127|4541|North East US|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2439 sinewav]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ctfServer|INW&#039;s|108.60.159.187|4534|New York, New York (US)|[[User talk:INW|INW]]}}&lt;br /&gt;
{{ctfServer|Crazy Tronner&#039;s USA|crazy-tronners.com|4536|Germany (EU)|[http://crazy-tronners.com/servertech CT Server Tech]}}&lt;br /&gt;
&lt;br /&gt;
Temporarily unavailable -- do not use&lt;br /&gt;
{{ctfServer|Ani-OWL [Backup]|owl.animuson.net|4541|Las Vegas (US)|[http://forums3.armagetronad.net/memberlist.php?mode&amp;amp;#x3d;viewprofile&amp;amp;u&amp;amp;#x3d;2765 animuson]}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Other Continents&#039;&#039;&#039;&amp;lt;/u&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recordings/Screenshots==&lt;br /&gt;
Post all recordings/screenshots that you have of the CTF BRAWL here, along with the names of the two teams in the match:&lt;br /&gt;
&lt;br /&gt;
* http://    - TeamA vs TeamB&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Servers&amp;diff=37368</id>
		<title>Servers</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Servers&amp;diff=37368"/>
		<updated>2012-02-08T19:18:33Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Crazy Tronners Wild Servers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PlayerTbl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
This is a list of current servers, in alphabetical order.  To see a list of old servers that no longer exist but were interesting enough to write about, visit the page about [[Old Servers]].&lt;br /&gt;
&lt;br /&gt;
== [http://adventuresoftron.com Adventures of TRON] ==&lt;br /&gt;
These servers take a sightly different approach to recreating the excitement of the movie.&lt;br /&gt;
&lt;br /&gt;
*[[TRON Experience]] Emulates the lightcycle scene in Tron, but from the first person perspective only. Two teams of three players face off against each other (missing players are replaced with Ai). The Ai are surprisingly good, and single player mode is equally fun and challenging.&lt;br /&gt;
&lt;br /&gt;
*[[Advanced Racing]] Modeled after the scene where the main characters escape the game grid, players race against each other through several massive labyrinths. The maps are both large and complicated, so there is plenty of exploring to do in single player mode.&lt;br /&gt;
&lt;br /&gt;
*[[Original Arcade]] Based on the original, 1982 classic arcade game TRON, this server gives you a top down view and two speeds to choose from. There is a [http://wiki.armagetronad.net/index.php?title=Moviepacks_list#Original_Arcade matching moviepack], which comes with settings for off-line play. Great single player action!&lt;br /&gt;
&lt;br /&gt;
== [http://alphaproject.au.tc Alpha Project Servers] ==&lt;br /&gt;
This is an amazing project full of abnormal modes. These modes contain settings and gameplay that were never played before in any other server yet. The type of modes currently online to play are:&lt;br /&gt;
&lt;br /&gt;
* [http://alphaproject.au.tc/wiki/index.php?title=High_Rubber_Fortress High Rubber Fortress]: Excellent mode with smooth high rubber and sped settings while keeping the default game-play of fortress intact.&lt;br /&gt;
&lt;br /&gt;
* [http://alphaproject.au.tc/wiki/index.php?title=Last_One_Standing Last One Standing]: A simple mode using high rubber settings with a custom built map with 32 squares for each player. Death Zone activates after a while at a random location, so keep moving.&lt;br /&gt;
&lt;br /&gt;
* [http://alphaproject.au.tc/wiki/index.php?title=Advanced_Space_Racing Advanced Space Racing]: An intense racing mode with high stakes and sharp turning with 16 axes. The maps themselves are a challenge while others are practically harmless.&lt;br /&gt;
&lt;br /&gt;
* Close Combat Shootout: This mode is the most amazing and the wildest as your shoots bounce off walls four times before they disappear. There are plenty of covers to help you avoid the other player&#039;s shots or escape the intense shooting of the player(s).&lt;br /&gt;
&lt;br /&gt;
== Cheers! The Friendly Server ==&lt;br /&gt;
The name tells, all. Cheers hosted by Angel has been around since the golden years. The server is moderated by a helpful hand of players who just enjoy the game. Visit the community, at http://wwww.Armagetron.Co.Uk/&lt;br /&gt;
&lt;br /&gt;
== [http://crazy-tronners.com/portal.php Crazy Tronners Wild Servers] ==&lt;br /&gt;
&lt;br /&gt;
Nice fortress servers with completly different [http://crazy-tronners.com/ladders_new.php ladder system]. Over 90 various maps are rotating in 12 rounds at [http://crazy-tronners.com/servers.php?server=wildfortress Crazy Tronners Wild Fortress] (CTWF). [http://crazy-tronners.com/servers.php?server=catfight CTWCatfight] (1v1) and [http://crazy-tronners.com/servers.php?server=dogfight CTWDogfight] (2v2) are fortresses with custom maps (fake walls, speed hells, chico&#039;s rides, race, octagons and many many more) greate for challanges. All placed in Europe.&lt;br /&gt;
&lt;br /&gt;
== ~|DarkSyndicate|~ Arena ==&lt;br /&gt;
&lt;br /&gt;
High rubber Settings &lt;br /&gt;
&lt;br /&gt;
The right place to test your skills. Fast server with high rubber settings. The 100mbit connection did the rest to make the server that popular. Specifications:&lt;br /&gt;
&lt;br /&gt;
*server running armagetron 0.2.8.2&lt;br /&gt;
*standard arena&lt;br /&gt;
*walls last until you die&lt;br /&gt;
*explosions on a wall make gaps to get through&lt;br /&gt;
*no winzone activated&lt;br /&gt;
*server admins are ~|DS|~segv&lt;br /&gt;
&lt;br /&gt;
== [http://www.dbd.wwwd.name/forum/index.php .dBd| Nano&#039;s Zombie DF] ==&lt;br /&gt;
&lt;br /&gt;
Currently the only dedicated configuration set up yet for dBd&#039;s actively running server (which is to say, the one setup by Nano; Pathetique isn&#039;t currently running a server, mostly on account of being busy)&lt;br /&gt;
&lt;br /&gt;
The physics were derived originally from Nightwalker&#039;s Loose DF settings, then modified by Nano, for a unique DF flavor.  If that wasn&#039;t exciting enough, there are zombies.  Which tend to get bigger after awhile.  And follow you around rather tenaciously, until either they eat you, you trick everyone else into getting between you and the zombie, or you win the normal boring way.  With their oddly manic rotation rate, these zombies are every bit &#039;Death by Distraction&#039;. &lt;br /&gt;
&lt;br /&gt;
== [http://deliciousdesserts.midnightgfx.net/ {Delicious Desserts} Custom Map] ==&lt;br /&gt;
&lt;br /&gt;
Delicious Desserts is a server for friendly and competitive players who like to have fun.&lt;br /&gt;
&lt;br /&gt;
*High rubber&lt;br /&gt;
*Fast speeds&lt;br /&gt;
*Red zone that appears from the 4 center pillars&lt;br /&gt;
*Custom map (Gave {DD} a unique touch that differed it from other servers)&lt;br /&gt;
[[Image:map1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Delicious Desserts ended because there were not enough donations to pay for the hosting provided by Luke-Jr. For more information on {DD} visit the website. [http://deliciousdesserts.co.nr www.DeliciousDesserts.co.nr]&lt;br /&gt;
&lt;br /&gt;
== [http://www.fallin-angels.org |FA|Fallin-Angels] ==&lt;br /&gt;
&lt;br /&gt;
* Black Ice: Low Rubber&lt;br /&gt;
* Black Tar: High Rubber, Walls slow you down&lt;br /&gt;
* Devil&#039;s Rings: Brake to shoot&lt;br /&gt;
* Fortress: Fortress style&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Flynn&#039;s Arcade - .:Avl:. Clan Server==&lt;br /&gt;
&lt;br /&gt;
Flynn&#039;s Arcade aims to be similar to the actual movie game grid, with emphasis on maneuvering skill, not just speed and rubber (although high speeds are quite possible). Settings include relatively low rubber, moderate speed and acceleration, infinite walls, and a turbo instead of brakes on one server, and good brakes and slow speed on the other server. Brake server is sometimes used for clan training. Servers are run by .:Avl:.C10ud:. (formerly ianthetechie). Homepage is http://flynnsarcade.net/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [http://forum.internaldrive.info/ internalDrive -=- iD Tech Camps] ==&lt;br /&gt;
&lt;br /&gt;
A server created by a student of internalDrive&#039;s iD Tech Camps program. iD Tech Camps is a computer camp that is held in many locations across the United States. iD Tech Camps&#039; official game is Armagetron Advanced, so it probably deserved a national server. This server is pretty crowded during the summer and may contain a few newbies. However, there is typically at least one experienced player on. Regardless, it is a very fun server with constantly active admins.&lt;br /&gt;
&lt;br /&gt;
This server is hosted by Master Chief with the Armagetron Advanced Superpatch, a mod of the 0.2.8 branch, on a retasked Sony Vaio. Efforts are being made to replace it with a faster server, but users have been experiencing few problems. Users generally have pings ranging from 50 to 150 on average.&lt;br /&gt;
&lt;br /&gt;
Administrators are Master Chief, SmOoThIcE, Wall-E, Puffyfluff, Snoopilicious, Slyshot, and Maes Hughes. Server stats, ladder info, and who is playing can be viewed at http://www.internaldrive.info. Forums are at http://forums.internaldrive.info. The official site of internalDrive is http://www.internaldrive.com. A racing server is also available that runs on at least 25 maps at the moment. Master Chief is working to improve the racing server&#039;s map selection for optimal playing.&lt;br /&gt;
&lt;br /&gt;
== [[Ion]] ==&lt;br /&gt;
&lt;br /&gt;
Ion is a test server hosted by zero. It allows players to test out new server settings and maps without having to use their own server. For more information, please contact [[User:zero]].&lt;br /&gt;
&lt;br /&gt;
== Laser Tag ==&lt;br /&gt;
There has been alot of buzz lately about this server. It resembles the concept of the FRO|FPS server, but is unique in it&#039;s own way. Players spawn on 2 sides of an arena and basically shoot to the death.The extremly high rubber combined with the fact that there is no tail makes it almost impossible to core dump, so shooting is basically the only way to kill. Laser Tag hosts monthly tournaments and is just an all around fun server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== | [http://www.dbd.wwwd.name/forum/index.php Nano&#039;s Playground] | ==&lt;br /&gt;
&lt;br /&gt;
A very unique server with several different settings configs.  Currently this includes Classic Nano (default), Snake Hunt Mode (fighting style gameplay with very short tails), Brake Boost Chico, Trapdoor (very high wallshrink), Tail Madness (very high NEGATIVE wallshrink), Durka Durka Nano Land (a midget version of DDL), a DF mode, a mode called Fertilization (EXTREMELY tiny... like.... size_factor -13, hex axes, usually combined with a custom cam from overhead which looks straight down), and some other stuff thats not as interesting&lt;br /&gt;
&lt;br /&gt;
== [http://tron.nexusnine.org Nexus9] ==&lt;br /&gt;
&lt;br /&gt;
Two servers with no rubber, high speeds, very little deceleration, and no double binding.&lt;br /&gt;
&lt;br /&gt;
* [http://tron.nexusnine.org/servers.php#deathmatch Deathmatch]: a basic free-for-all&lt;br /&gt;
* [http://tron.nexusnine.org/servers.php#sumo Sumo]: our no rubber twist on traditional sumo gameplay&lt;br /&gt;
&lt;br /&gt;
== Neo-Nexus OldSkool ==&lt;br /&gt;
&lt;br /&gt;
A modified clone of what I consider to be the last classic [[#Nexus9|Nexus9]]. The point isn&#039;t to be better than Nexus, or even exactly like Nexus used to be; think of it more as a tribute than a challenge.&lt;br /&gt;
&lt;br /&gt;
* No rubber!&lt;br /&gt;
* 40 m/s start, 50 m/s maintained speed.&lt;br /&gt;
* Breaks = Boost (up to 100 m/s)&lt;br /&gt;
* Increased grind acceleration.&lt;br /&gt;
* Multiple binds disabled.&lt;br /&gt;
* Round win = 10, Kill = 2, Death = -1 points.&lt;br /&gt;
* Slow moving death zone at end.&lt;br /&gt;
&lt;br /&gt;
Server Hours:&lt;br /&gt;
&amp;lt;br&amp;gt;6pm-7am GMT (6am MWF)&lt;br /&gt;
&lt;br /&gt;
== Night Walkers Central ==&lt;br /&gt;
&lt;br /&gt;
These servers are hosted or paid by the members of the Night Walkers Clan. They include Dog Fight, CTF, CTFS, Fortress and Racing servers. Sometimes the CTFS server is down but the DF and Racing servers are always up. The racing server is always being added to but is experimental at this point. The Racing and Fortress servers also support armathentication.&lt;br /&gt;
&lt;br /&gt;
== | [http://nonerdsjustgeeks.com/ [NNJG] | ==&lt;br /&gt;
A server group and clan started by [NNJG]Ben. The [NNJG] Clan is currently down for a few months. This is meant to be a fun, but competitive clan and server group. [NNJG] Currently offers 4 Servers:&lt;br /&gt;
[NNJG] Wild Fortress - [NNJG] CTF - [NNJG] Racing - [NNJG] Sumo&lt;br /&gt;
For server stats and forums, visit [http://nonerdsjustgeeks.com/ NNJG&#039;s Website] and click on Armagetron Servers in the top navigation bar.&lt;br /&gt;
&lt;br /&gt;
== Norms Home ==&lt;br /&gt;
&lt;br /&gt;
A classic style server with friendly people. This server combines the best aspects of classic and fast play minus any bugs or much hated lag. To be among the best here you need skill and a range of strategies; however all are welcome whatever your ability.&lt;br /&gt;
For server stats, FAQ and links visit [http://www.normshome.de normshome.de]&lt;br /&gt;
&lt;br /&gt;
== [http://omegaclan.freeforums.org/index.php Omega Destruction High Rubber Servers] ==&lt;br /&gt;
&lt;br /&gt;
Servers hosted by Arduino and Charged. The rules for high rubber is simple; to coredump your opponent using any technique possible. Players range from noobs who do not know how to double bind, to pros that have been playing for years. Campers are not respected. Develop your unique strategies and compete with others with creativity. Omega Destruction Hr is currently hosted in Austin Tx, which has classic XzL 2006 settings, and the practice server is hosted in the Northern United States.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Race Server ==&lt;br /&gt;
&lt;br /&gt;
This is the first server of its kind, but the setup is simple: You all start at about the same position of a long narrow alley with many obstacles in it. Whoever arrives first at the other end and hits the winzone there gets declared the winner &amp;amp;mdash; if anyone makes it there, that is. Many different obstacles that are tricky to escape, small killzones, sticky rim walls, a passage where the alley gets even narrower or splits, killzone- only rounds, the ability to lay mines to get rid of your followers and the turbo make this server an experience you don&#039;t want to miss!&lt;br /&gt;
&lt;br /&gt;
== [[RaceToWinzone]] ==&lt;br /&gt;
&lt;br /&gt;
You drive on the server a genuine running &amp;amp;mdash; head at head &amp;amp;mdash; with a speed from 0 to &amp;gt; 700.  Obstacles will try you there to stop.  The level are labyrinth-well-behaved however without erring courses.  One must also never the way seeks to separate to simply only loose-race.  There are different types of level.  Times an obstacle run, times goes it through narrow tunnels, times must you try between the barks to drive.  Adrenalin impacts are guaranteed.&lt;br /&gt;
&lt;br /&gt;
== Race From Death Zone ==&lt;br /&gt;
&lt;br /&gt;
Similar to any race server, get to the end first, and hit the win zone. Just here, if you slow down, or make a wrong turn, you smash into the death zone, that is quickly expanding behind you.&lt;br /&gt;
With an arrange of different maps and brake to boost, it is a very fun server.&lt;br /&gt;
To see server stats and maps, visit [http://www.freewebs.com/racefromdeathzone Race From Death Zone Website]&lt;br /&gt;
This server is run by Aang.&lt;br /&gt;
&lt;br /&gt;
== Spacezone Servers ==&lt;br /&gt;
Most known server among the spacezone servers, is the High Speed server &amp;quot;Spacezone I&amp;quot; [High Speed]. A server where you must drive at High speed and try to catch you opponent. Spacezone II and III are slow speed servers with different settings..  The Spacezone formula 1 server is a server with custom maps, in here the target is to drive as fast as you can to the end of the grid into the &amp;quot;win zone&amp;quot;, the one who first enters the winzone , wins the race. &lt;br /&gt;
Visit us at http://spacezone24.de&lt;br /&gt;
&lt;br /&gt;
== [[Swampland]] ==&lt;br /&gt;
&lt;br /&gt;
This server offers shorter walls and moderately high wall acceleration.  It is also a standard gladiatorial-style arena. This server is run by Swampy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These servers are ran by Dr Joe Tron(Lobster Cage/Tub) and Gomes(Teamspeak Server)&lt;br /&gt;
&lt;br /&gt;
== Wild West Servers: ==&lt;br /&gt;
 &#039;&#039;Sumo, Team Sumo, Sumo Treasure Island, Fortress, Fortress Shootout, Wild Fortress&lt;br /&gt;
 Capture the Flag, Capture the Flag Shooting,CTF Wilderness, CTF Labryth, Multi-Mode, Cockpit&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
A set of low rubber servers to meet many style preferences. These servers are hosted in Texas on a Quad core Xeon server. For server stats, who&#039;s playing, and forums visit [http://www.lagtest.net lagtest.net] Wild West also offers hosting and hosts a number of other servers listed on the master list via WwHosting at [http://www.lagtest.net/wwhosting lagtest.net/wwhosting]&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Servers&amp;diff=37367</id>
		<title>Servers</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Servers&amp;diff=37367"/>
		<updated>2012-02-08T19:16:07Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Crazy Tronners Wild Servers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PlayerTbl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
This is a list of current servers, in alphabetical order.  To see a list of old servers that no longer exist but were interesting enough to write about, visit the page about [[Old Servers]].&lt;br /&gt;
&lt;br /&gt;
== [http://adventuresoftron.com Adventures of TRON] ==&lt;br /&gt;
These servers take a sightly different approach to recreating the excitement of the movie.&lt;br /&gt;
&lt;br /&gt;
*[[TRON Experience]] Emulates the lightcycle scene in Tron, but from the first person perspective only. Two teams of three players face off against each other (missing players are replaced with Ai). The Ai are surprisingly good, and single player mode is equally fun and challenging.&lt;br /&gt;
&lt;br /&gt;
*[[Advanced Racing]] Modeled after the scene where the main characters escape the game grid, players race against each other through several massive labyrinths. The maps are both large and complicated, so there is plenty of exploring to do in single player mode.&lt;br /&gt;
&lt;br /&gt;
*[[Original Arcade]] Based on the original, 1982 classic arcade game TRON, this server gives you a top down view and two speeds to choose from. There is a [http://wiki.armagetronad.net/index.php?title=Moviepacks_list#Original_Arcade matching moviepack], which comes with settings for off-line play. Great single player action!&lt;br /&gt;
&lt;br /&gt;
== [http://alphaproject.au.tc Alpha Project Servers] ==&lt;br /&gt;
This is an amazing project full of abnormal modes. These modes contain settings and gameplay that were never played before in any other server yet. The type of modes currently online to play are:&lt;br /&gt;
&lt;br /&gt;
* [http://alphaproject.au.tc/wiki/index.php?title=High_Rubber_Fortress High Rubber Fortress]: Excellent mode with smooth high rubber and sped settings while keeping the default game-play of fortress intact.&lt;br /&gt;
&lt;br /&gt;
* [http://alphaproject.au.tc/wiki/index.php?title=Last_One_Standing Last One Standing]: A simple mode using high rubber settings with a custom built map with 32 squares for each player. Death Zone activates after a while at a random location, so keep moving.&lt;br /&gt;
&lt;br /&gt;
* [http://alphaproject.au.tc/wiki/index.php?title=Advanced_Space_Racing Advanced Space Racing]: An intense racing mode with high stakes and sharp turning with 16 axes. The maps themselves are a challenge while others are practically harmless.&lt;br /&gt;
&lt;br /&gt;
* Close Combat Shootout: This mode is the most amazing and the wildest as your shoots bounce off walls four times before they disappear. There are plenty of covers to help you avoid the other player&#039;s shots or escape the intense shooting of the player(s).&lt;br /&gt;
&lt;br /&gt;
== Cheers! The Friendly Server ==&lt;br /&gt;
The name tells, all. Cheers hosted by Angel has been around since the golden years. The server is moderated by a helpful hand of players who just enjoy the game. Visit the community, at http://wwww.Armagetron.Co.Uk/&lt;br /&gt;
&lt;br /&gt;
== [http://crazy-tronners.com/portal.php Crazy Tronners Wild Servers] ==&lt;br /&gt;
&lt;br /&gt;
Nice fortress servers with completly different [http://crazy-tronners.com/ladders_new.php ladder system]. Over 90 various maps are rotating in 12 rounds at [http://crazy-tronners.com/servers.php?server=wildfortress Crazy Tronners Wild Fortress] (CTWF). [http://crazy-tronners.com/servers.php?map=cat CTWCatfight] (1v1) and [http://crazy-tronners.com/servers.php?map=dog CTWDogfight] (2v2) are fortresses with custom maps (fake walls, speed hells, chico&#039;s rides, race, octagons and many many more) greate for challanges. All placed in Europe.&lt;br /&gt;
&lt;br /&gt;
== ~|DarkSyndicate|~ Arena ==&lt;br /&gt;
&lt;br /&gt;
High rubber Settings &lt;br /&gt;
&lt;br /&gt;
The right place to test your skills. Fast server with high rubber settings. The 100mbit connection did the rest to make the server that popular. Specifications:&lt;br /&gt;
&lt;br /&gt;
*server running armagetron 0.2.8.2&lt;br /&gt;
*standard arena&lt;br /&gt;
*walls last until you die&lt;br /&gt;
*explosions on a wall make gaps to get through&lt;br /&gt;
*no winzone activated&lt;br /&gt;
*server admins are ~|DS|~segv&lt;br /&gt;
&lt;br /&gt;
== [http://www.dbd.wwwd.name/forum/index.php .dBd| Nano&#039;s Zombie DF] ==&lt;br /&gt;
&lt;br /&gt;
Currently the only dedicated configuration set up yet for dBd&#039;s actively running server (which is to say, the one setup by Nano; Pathetique isn&#039;t currently running a server, mostly on account of being busy)&lt;br /&gt;
&lt;br /&gt;
The physics were derived originally from Nightwalker&#039;s Loose DF settings, then modified by Nano, for a unique DF flavor.  If that wasn&#039;t exciting enough, there are zombies.  Which tend to get bigger after awhile.  And follow you around rather tenaciously, until either they eat you, you trick everyone else into getting between you and the zombie, or you win the normal boring way.  With their oddly manic rotation rate, these zombies are every bit &#039;Death by Distraction&#039;. &lt;br /&gt;
&lt;br /&gt;
== [http://deliciousdesserts.midnightgfx.net/ {Delicious Desserts} Custom Map] ==&lt;br /&gt;
&lt;br /&gt;
Delicious Desserts is a server for friendly and competitive players who like to have fun.&lt;br /&gt;
&lt;br /&gt;
*High rubber&lt;br /&gt;
*Fast speeds&lt;br /&gt;
*Red zone that appears from the 4 center pillars&lt;br /&gt;
*Custom map (Gave {DD} a unique touch that differed it from other servers)&lt;br /&gt;
[[Image:map1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Delicious Desserts ended because there were not enough donations to pay for the hosting provided by Luke-Jr. For more information on {DD} visit the website. [http://deliciousdesserts.co.nr www.DeliciousDesserts.co.nr]&lt;br /&gt;
&lt;br /&gt;
== [http://www.fallin-angels.org |FA|Fallin-Angels] ==&lt;br /&gt;
&lt;br /&gt;
* Black Ice: Low Rubber&lt;br /&gt;
* Black Tar: High Rubber, Walls slow you down&lt;br /&gt;
* Devil&#039;s Rings: Brake to shoot&lt;br /&gt;
* Fortress: Fortress style&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Flynn&#039;s Arcade - .:Avl:. Clan Server==&lt;br /&gt;
&lt;br /&gt;
Flynn&#039;s Arcade aims to be similar to the actual movie game grid, with emphasis on maneuvering skill, not just speed and rubber (although high speeds are quite possible). Settings include relatively low rubber, moderate speed and acceleration, infinite walls, and a turbo instead of brakes on one server, and good brakes and slow speed on the other server. Brake server is sometimes used for clan training. Servers are run by .:Avl:.C10ud:. (formerly ianthetechie). Homepage is http://flynnsarcade.net/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [http://forum.internaldrive.info/ internalDrive -=- iD Tech Camps] ==&lt;br /&gt;
&lt;br /&gt;
A server created by a student of internalDrive&#039;s iD Tech Camps program. iD Tech Camps is a computer camp that is held in many locations across the United States. iD Tech Camps&#039; official game is Armagetron Advanced, so it probably deserved a national server. This server is pretty crowded during the summer and may contain a few newbies. However, there is typically at least one experienced player on. Regardless, it is a very fun server with constantly active admins.&lt;br /&gt;
&lt;br /&gt;
This server is hosted by Master Chief with the Armagetron Advanced Superpatch, a mod of the 0.2.8 branch, on a retasked Sony Vaio. Efforts are being made to replace it with a faster server, but users have been experiencing few problems. Users generally have pings ranging from 50 to 150 on average.&lt;br /&gt;
&lt;br /&gt;
Administrators are Master Chief, SmOoThIcE, Wall-E, Puffyfluff, Snoopilicious, Slyshot, and Maes Hughes. Server stats, ladder info, and who is playing can be viewed at http://www.internaldrive.info. Forums are at http://forums.internaldrive.info. The official site of internalDrive is http://www.internaldrive.com. A racing server is also available that runs on at least 25 maps at the moment. Master Chief is working to improve the racing server&#039;s map selection for optimal playing.&lt;br /&gt;
&lt;br /&gt;
== [[Ion]] ==&lt;br /&gt;
&lt;br /&gt;
Ion is a test server hosted by zero. It allows players to test out new server settings and maps without having to use their own server. For more information, please contact [[User:zero]].&lt;br /&gt;
&lt;br /&gt;
== Laser Tag ==&lt;br /&gt;
There has been alot of buzz lately about this server. It resembles the concept of the FRO|FPS server, but is unique in it&#039;s own way. Players spawn on 2 sides of an arena and basically shoot to the death.The extremly high rubber combined with the fact that there is no tail makes it almost impossible to core dump, so shooting is basically the only way to kill. Laser Tag hosts monthly tournaments and is just an all around fun server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== | [http://www.dbd.wwwd.name/forum/index.php Nano&#039;s Playground] | ==&lt;br /&gt;
&lt;br /&gt;
A very unique server with several different settings configs.  Currently this includes Classic Nano (default), Snake Hunt Mode (fighting style gameplay with very short tails), Brake Boost Chico, Trapdoor (very high wallshrink), Tail Madness (very high NEGATIVE wallshrink), Durka Durka Nano Land (a midget version of DDL), a DF mode, a mode called Fertilization (EXTREMELY tiny... like.... size_factor -13, hex axes, usually combined with a custom cam from overhead which looks straight down), and some other stuff thats not as interesting&lt;br /&gt;
&lt;br /&gt;
== [http://tron.nexusnine.org Nexus9] ==&lt;br /&gt;
&lt;br /&gt;
Two servers with no rubber, high speeds, very little deceleration, and no double binding.&lt;br /&gt;
&lt;br /&gt;
* [http://tron.nexusnine.org/servers.php#deathmatch Deathmatch]: a basic free-for-all&lt;br /&gt;
* [http://tron.nexusnine.org/servers.php#sumo Sumo]: our no rubber twist on traditional sumo gameplay&lt;br /&gt;
&lt;br /&gt;
== Neo-Nexus OldSkool ==&lt;br /&gt;
&lt;br /&gt;
A modified clone of what I consider to be the last classic [[#Nexus9|Nexus9]]. The point isn&#039;t to be better than Nexus, or even exactly like Nexus used to be; think of it more as a tribute than a challenge.&lt;br /&gt;
&lt;br /&gt;
* No rubber!&lt;br /&gt;
* 40 m/s start, 50 m/s maintained speed.&lt;br /&gt;
* Breaks = Boost (up to 100 m/s)&lt;br /&gt;
* Increased grind acceleration.&lt;br /&gt;
* Multiple binds disabled.&lt;br /&gt;
* Round win = 10, Kill = 2, Death = -1 points.&lt;br /&gt;
* Slow moving death zone at end.&lt;br /&gt;
&lt;br /&gt;
Server Hours:&lt;br /&gt;
&amp;lt;br&amp;gt;6pm-7am GMT (6am MWF)&lt;br /&gt;
&lt;br /&gt;
== Night Walkers Central ==&lt;br /&gt;
&lt;br /&gt;
These servers are hosted or paid by the members of the Night Walkers Clan. They include Dog Fight, CTF, CTFS, Fortress and Racing servers. Sometimes the CTFS server is down but the DF and Racing servers are always up. The racing server is always being added to but is experimental at this point. The Racing and Fortress servers also support armathentication.&lt;br /&gt;
&lt;br /&gt;
== | [http://nonerdsjustgeeks.com/ [NNJG] | ==&lt;br /&gt;
A server group and clan started by [NNJG]Ben. The [NNJG] Clan is currently down for a few months. This is meant to be a fun, but competitive clan and server group. [NNJG] Currently offers 4 Servers:&lt;br /&gt;
[NNJG] Wild Fortress - [NNJG] CTF - [NNJG] Racing - [NNJG] Sumo&lt;br /&gt;
For server stats and forums, visit [http://nonerdsjustgeeks.com/ NNJG&#039;s Website] and click on Armagetron Servers in the top navigation bar.&lt;br /&gt;
&lt;br /&gt;
== Norms Home ==&lt;br /&gt;
&lt;br /&gt;
A classic style server with friendly people. This server combines the best aspects of classic and fast play minus any bugs or much hated lag. To be among the best here you need skill and a range of strategies; however all are welcome whatever your ability.&lt;br /&gt;
For server stats, FAQ and links visit [http://www.normshome.de normshome.de]&lt;br /&gt;
&lt;br /&gt;
== [http://omegaclan.freeforums.org/index.php Omega Destruction High Rubber Servers] ==&lt;br /&gt;
&lt;br /&gt;
Servers hosted by Arduino and Charged. The rules for high rubber is simple; to coredump your opponent using any technique possible. Players range from noobs who do not know how to double bind, to pros that have been playing for years. Campers are not respected. Develop your unique strategies and compete with others with creativity. Omega Destruction Hr is currently hosted in Austin Tx, which has classic XzL 2006 settings, and the practice server is hosted in the Northern United States.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Race Server ==&lt;br /&gt;
&lt;br /&gt;
This is the first server of its kind, but the setup is simple: You all start at about the same position of a long narrow alley with many obstacles in it. Whoever arrives first at the other end and hits the winzone there gets declared the winner &amp;amp;mdash; if anyone makes it there, that is. Many different obstacles that are tricky to escape, small killzones, sticky rim walls, a passage where the alley gets even narrower or splits, killzone- only rounds, the ability to lay mines to get rid of your followers and the turbo make this server an experience you don&#039;t want to miss!&lt;br /&gt;
&lt;br /&gt;
== [[RaceToWinzone]] ==&lt;br /&gt;
&lt;br /&gt;
You drive on the server a genuine running &amp;amp;mdash; head at head &amp;amp;mdash; with a speed from 0 to &amp;gt; 700.  Obstacles will try you there to stop.  The level are labyrinth-well-behaved however without erring courses.  One must also never the way seeks to separate to simply only loose-race.  There are different types of level.  Times an obstacle run, times goes it through narrow tunnels, times must you try between the barks to drive.  Adrenalin impacts are guaranteed.&lt;br /&gt;
&lt;br /&gt;
== Race From Death Zone ==&lt;br /&gt;
&lt;br /&gt;
Similar to any race server, get to the end first, and hit the win zone. Just here, if you slow down, or make a wrong turn, you smash into the death zone, that is quickly expanding behind you.&lt;br /&gt;
With an arrange of different maps and brake to boost, it is a very fun server.&lt;br /&gt;
To see server stats and maps, visit [http://www.freewebs.com/racefromdeathzone Race From Death Zone Website]&lt;br /&gt;
This server is run by Aang.&lt;br /&gt;
&lt;br /&gt;
== Spacezone Servers ==&lt;br /&gt;
Most known server among the spacezone servers, is the High Speed server &amp;quot;Spacezone I&amp;quot; [High Speed]. A server where you must drive at High speed and try to catch you opponent. Spacezone II and III are slow speed servers with different settings..  The Spacezone formula 1 server is a server with custom maps, in here the target is to drive as fast as you can to the end of the grid into the &amp;quot;win zone&amp;quot;, the one who first enters the winzone , wins the race. &lt;br /&gt;
Visit us at http://spacezone24.de&lt;br /&gt;
&lt;br /&gt;
== [[Swampland]] ==&lt;br /&gt;
&lt;br /&gt;
This server offers shorter walls and moderately high wall acceleration.  It is also a standard gladiatorial-style arena. This server is run by Swampy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These servers are ran by Dr Joe Tron(Lobster Cage/Tub) and Gomes(Teamspeak Server)&lt;br /&gt;
&lt;br /&gt;
== Wild West Servers: ==&lt;br /&gt;
 &#039;&#039;Sumo, Team Sumo, Sumo Treasure Island, Fortress, Fortress Shootout, Wild Fortress&lt;br /&gt;
 Capture the Flag, Capture the Flag Shooting,CTF Wilderness, CTF Labryth, Multi-Mode, Cockpit&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
A set of low rubber servers to meet many style preferences. These servers are hosted in Texas on a Quad core Xeon server. For server stats, who&#039;s playing, and forums visit [http://www.lagtest.net lagtest.net] Wild West also offers hosting and hosts a number of other servers listed on the master list via WwHosting at [http://www.lagtest.net/wwhosting lagtest.net/wwhosting]&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Servers&amp;diff=37366</id>
		<title>Servers</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Servers&amp;diff=37366"/>
		<updated>2012-02-08T19:14:08Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PlayerTbl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
This is a list of current servers, in alphabetical order.  To see a list of old servers that no longer exist but were interesting enough to write about, visit the page about [[Old Servers]].&lt;br /&gt;
&lt;br /&gt;
== [http://adventuresoftron.com Adventures of TRON] ==&lt;br /&gt;
These servers take a sightly different approach to recreating the excitement of the movie.&lt;br /&gt;
&lt;br /&gt;
*[[TRON Experience]] Emulates the lightcycle scene in Tron, but from the first person perspective only. Two teams of three players face off against each other (missing players are replaced with Ai). The Ai are surprisingly good, and single player mode is equally fun and challenging.&lt;br /&gt;
&lt;br /&gt;
*[[Advanced Racing]] Modeled after the scene where the main characters escape the game grid, players race against each other through several massive labyrinths. The maps are both large and complicated, so there is plenty of exploring to do in single player mode.&lt;br /&gt;
&lt;br /&gt;
*[[Original Arcade]] Based on the original, 1982 classic arcade game TRON, this server gives you a top down view and two speeds to choose from. There is a [http://wiki.armagetronad.net/index.php?title=Moviepacks_list#Original_Arcade matching moviepack], which comes with settings for off-line play. Great single player action!&lt;br /&gt;
&lt;br /&gt;
== [http://alphaproject.au.tc Alpha Project Servers] ==&lt;br /&gt;
This is an amazing project full of abnormal modes. These modes contain settings and gameplay that were never played before in any other server yet. The type of modes currently online to play are:&lt;br /&gt;
&lt;br /&gt;
* [http://alphaproject.au.tc/wiki/index.php?title=High_Rubber_Fortress High Rubber Fortress]: Excellent mode with smooth high rubber and sped settings while keeping the default game-play of fortress intact.&lt;br /&gt;
&lt;br /&gt;
* [http://alphaproject.au.tc/wiki/index.php?title=Last_One_Standing Last One Standing]: A simple mode using high rubber settings with a custom built map with 32 squares for each player. Death Zone activates after a while at a random location, so keep moving.&lt;br /&gt;
&lt;br /&gt;
* [http://alphaproject.au.tc/wiki/index.php?title=Advanced_Space_Racing Advanced Space Racing]: An intense racing mode with high stakes and sharp turning with 16 axes. The maps themselves are a challenge while others are practically harmless.&lt;br /&gt;
&lt;br /&gt;
* Close Combat Shootout: This mode is the most amazing and the wildest as your shoots bounce off walls four times before they disappear. There are plenty of covers to help you avoid the other player&#039;s shots or escape the intense shooting of the player(s).&lt;br /&gt;
&lt;br /&gt;
== Cheers! The Friendly Server ==&lt;br /&gt;
The name tells, all. Cheers hosted by Angel has been around since the golden years. The server is moderated by a helpful hand of players who just enjoy the game. Visit the community, at http://wwww.Armagetron.Co.Uk/&lt;br /&gt;
&lt;br /&gt;
== [http://crazy-tronners.com/portal.php Crazy Tronners Wild Servers] ==&lt;br /&gt;
&lt;br /&gt;
Nice fortress servers with completly different [http://crazy-tronners.com/ladders_new.php ladder system]. Over 90 various maps are rotating in 12 rounds at [http://crazy-tronners.com/servers.php?map=wild Crazy Tronners Wild Fortress] (CTWF). [http://crazy-tronners.com/servers.php?map=cat CTWCatfight] (1v1) and [http://crazy-tronners.com/servers.php?map=dog CTWDogfight] (2v2) are fortresses with custom maps (fake walls, speed hells, chico&#039;s rides, race, octagons and many many more) greate for challanges. All placed in Europe.&lt;br /&gt;
&lt;br /&gt;
== ~|DarkSyndicate|~ Arena ==&lt;br /&gt;
&lt;br /&gt;
High rubber Settings &lt;br /&gt;
&lt;br /&gt;
The right place to test your skills. Fast server with high rubber settings. The 100mbit connection did the rest to make the server that popular. Specifications:&lt;br /&gt;
&lt;br /&gt;
*server running armagetron 0.2.8.2&lt;br /&gt;
*standard arena&lt;br /&gt;
*walls last until you die&lt;br /&gt;
*explosions on a wall make gaps to get through&lt;br /&gt;
*no winzone activated&lt;br /&gt;
*server admins are ~|DS|~segv&lt;br /&gt;
&lt;br /&gt;
== [http://www.dbd.wwwd.name/forum/index.php .dBd| Nano&#039;s Zombie DF] ==&lt;br /&gt;
&lt;br /&gt;
Currently the only dedicated configuration set up yet for dBd&#039;s actively running server (which is to say, the one setup by Nano; Pathetique isn&#039;t currently running a server, mostly on account of being busy)&lt;br /&gt;
&lt;br /&gt;
The physics were derived originally from Nightwalker&#039;s Loose DF settings, then modified by Nano, for a unique DF flavor.  If that wasn&#039;t exciting enough, there are zombies.  Which tend to get bigger after awhile.  And follow you around rather tenaciously, until either they eat you, you trick everyone else into getting between you and the zombie, or you win the normal boring way.  With their oddly manic rotation rate, these zombies are every bit &#039;Death by Distraction&#039;. &lt;br /&gt;
&lt;br /&gt;
== [http://deliciousdesserts.midnightgfx.net/ {Delicious Desserts} Custom Map] ==&lt;br /&gt;
&lt;br /&gt;
Delicious Desserts is a server for friendly and competitive players who like to have fun.&lt;br /&gt;
&lt;br /&gt;
*High rubber&lt;br /&gt;
*Fast speeds&lt;br /&gt;
*Red zone that appears from the 4 center pillars&lt;br /&gt;
*Custom map (Gave {DD} a unique touch that differed it from other servers)&lt;br /&gt;
[[Image:map1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Delicious Desserts ended because there were not enough donations to pay for the hosting provided by Luke-Jr. For more information on {DD} visit the website. [http://deliciousdesserts.co.nr www.DeliciousDesserts.co.nr]&lt;br /&gt;
&lt;br /&gt;
== [http://www.fallin-angels.org |FA|Fallin-Angels] ==&lt;br /&gt;
&lt;br /&gt;
* Black Ice: Low Rubber&lt;br /&gt;
* Black Tar: High Rubber, Walls slow you down&lt;br /&gt;
* Devil&#039;s Rings: Brake to shoot&lt;br /&gt;
* Fortress: Fortress style&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Flynn&#039;s Arcade - .:Avl:. Clan Server==&lt;br /&gt;
&lt;br /&gt;
Flynn&#039;s Arcade aims to be similar to the actual movie game grid, with emphasis on maneuvering skill, not just speed and rubber (although high speeds are quite possible). Settings include relatively low rubber, moderate speed and acceleration, infinite walls, and a turbo instead of brakes on one server, and good brakes and slow speed on the other server. Brake server is sometimes used for clan training. Servers are run by .:Avl:.C10ud:. (formerly ianthetechie). Homepage is http://flynnsarcade.net/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [http://forum.internaldrive.info/ internalDrive -=- iD Tech Camps] ==&lt;br /&gt;
&lt;br /&gt;
A server created by a student of internalDrive&#039;s iD Tech Camps program. iD Tech Camps is a computer camp that is held in many locations across the United States. iD Tech Camps&#039; official game is Armagetron Advanced, so it probably deserved a national server. This server is pretty crowded during the summer and may contain a few newbies. However, there is typically at least one experienced player on. Regardless, it is a very fun server with constantly active admins.&lt;br /&gt;
&lt;br /&gt;
This server is hosted by Master Chief with the Armagetron Advanced Superpatch, a mod of the 0.2.8 branch, on a retasked Sony Vaio. Efforts are being made to replace it with a faster server, but users have been experiencing few problems. Users generally have pings ranging from 50 to 150 on average.&lt;br /&gt;
&lt;br /&gt;
Administrators are Master Chief, SmOoThIcE, Wall-E, Puffyfluff, Snoopilicious, Slyshot, and Maes Hughes. Server stats, ladder info, and who is playing can be viewed at http://www.internaldrive.info. Forums are at http://forums.internaldrive.info. The official site of internalDrive is http://www.internaldrive.com. A racing server is also available that runs on at least 25 maps at the moment. Master Chief is working to improve the racing server&#039;s map selection for optimal playing.&lt;br /&gt;
&lt;br /&gt;
== [[Ion]] ==&lt;br /&gt;
&lt;br /&gt;
Ion is a test server hosted by zero. It allows players to test out new server settings and maps without having to use their own server. For more information, please contact [[User:zero]].&lt;br /&gt;
&lt;br /&gt;
== Laser Tag ==&lt;br /&gt;
There has been alot of buzz lately about this server. It resembles the concept of the FRO|FPS server, but is unique in it&#039;s own way. Players spawn on 2 sides of an arena and basically shoot to the death.The extremly high rubber combined with the fact that there is no tail makes it almost impossible to core dump, so shooting is basically the only way to kill. Laser Tag hosts monthly tournaments and is just an all around fun server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== | [http://www.dbd.wwwd.name/forum/index.php Nano&#039;s Playground] | ==&lt;br /&gt;
&lt;br /&gt;
A very unique server with several different settings configs.  Currently this includes Classic Nano (default), Snake Hunt Mode (fighting style gameplay with very short tails), Brake Boost Chico, Trapdoor (very high wallshrink), Tail Madness (very high NEGATIVE wallshrink), Durka Durka Nano Land (a midget version of DDL), a DF mode, a mode called Fertilization (EXTREMELY tiny... like.... size_factor -13, hex axes, usually combined with a custom cam from overhead which looks straight down), and some other stuff thats not as interesting&lt;br /&gt;
&lt;br /&gt;
== [http://tron.nexusnine.org Nexus9] ==&lt;br /&gt;
&lt;br /&gt;
Two servers with no rubber, high speeds, very little deceleration, and no double binding.&lt;br /&gt;
&lt;br /&gt;
* [http://tron.nexusnine.org/servers.php#deathmatch Deathmatch]: a basic free-for-all&lt;br /&gt;
* [http://tron.nexusnine.org/servers.php#sumo Sumo]: our no rubber twist on traditional sumo gameplay&lt;br /&gt;
&lt;br /&gt;
== Neo-Nexus OldSkool ==&lt;br /&gt;
&lt;br /&gt;
A modified clone of what I consider to be the last classic [[#Nexus9|Nexus9]]. The point isn&#039;t to be better than Nexus, or even exactly like Nexus used to be; think of it more as a tribute than a challenge.&lt;br /&gt;
&lt;br /&gt;
* No rubber!&lt;br /&gt;
* 40 m/s start, 50 m/s maintained speed.&lt;br /&gt;
* Breaks = Boost (up to 100 m/s)&lt;br /&gt;
* Increased grind acceleration.&lt;br /&gt;
* Multiple binds disabled.&lt;br /&gt;
* Round win = 10, Kill = 2, Death = -1 points.&lt;br /&gt;
* Slow moving death zone at end.&lt;br /&gt;
&lt;br /&gt;
Server Hours:&lt;br /&gt;
&amp;lt;br&amp;gt;6pm-7am GMT (6am MWF)&lt;br /&gt;
&lt;br /&gt;
== Night Walkers Central ==&lt;br /&gt;
&lt;br /&gt;
These servers are hosted or paid by the members of the Night Walkers Clan. They include Dog Fight, CTF, CTFS, Fortress and Racing servers. Sometimes the CTFS server is down but the DF and Racing servers are always up. The racing server is always being added to but is experimental at this point. The Racing and Fortress servers also support armathentication.&lt;br /&gt;
&lt;br /&gt;
== | [http://nonerdsjustgeeks.com/ [NNJG] | ==&lt;br /&gt;
A server group and clan started by [NNJG]Ben. The [NNJG] Clan is currently down for a few months. This is meant to be a fun, but competitive clan and server group. [NNJG] Currently offers 4 Servers:&lt;br /&gt;
[NNJG] Wild Fortress - [NNJG] CTF - [NNJG] Racing - [NNJG] Sumo&lt;br /&gt;
For server stats and forums, visit [http://nonerdsjustgeeks.com/ NNJG&#039;s Website] and click on Armagetron Servers in the top navigation bar.&lt;br /&gt;
&lt;br /&gt;
== Norms Home ==&lt;br /&gt;
&lt;br /&gt;
A classic style server with friendly people. This server combines the best aspects of classic and fast play minus any bugs or much hated lag. To be among the best here you need skill and a range of strategies; however all are welcome whatever your ability.&lt;br /&gt;
For server stats, FAQ and links visit [http://www.normshome.de normshome.de]&lt;br /&gt;
&lt;br /&gt;
== [http://omegaclan.freeforums.org/index.php Omega Destruction High Rubber Servers] ==&lt;br /&gt;
&lt;br /&gt;
Servers hosted by Arduino and Charged. The rules for high rubber is simple; to coredump your opponent using any technique possible. Players range from noobs who do not know how to double bind, to pros that have been playing for years. Campers are not respected. Develop your unique strategies and compete with others with creativity. Omega Destruction Hr is currently hosted in Austin Tx, which has classic XzL 2006 settings, and the practice server is hosted in the Northern United States.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Race Server ==&lt;br /&gt;
&lt;br /&gt;
This is the first server of its kind, but the setup is simple: You all start at about the same position of a long narrow alley with many obstacles in it. Whoever arrives first at the other end and hits the winzone there gets declared the winner &amp;amp;mdash; if anyone makes it there, that is. Many different obstacles that are tricky to escape, small killzones, sticky rim walls, a passage where the alley gets even narrower or splits, killzone- only rounds, the ability to lay mines to get rid of your followers and the turbo make this server an experience you don&#039;t want to miss!&lt;br /&gt;
&lt;br /&gt;
== [[RaceToWinzone]] ==&lt;br /&gt;
&lt;br /&gt;
You drive on the server a genuine running &amp;amp;mdash; head at head &amp;amp;mdash; with a speed from 0 to &amp;gt; 700.  Obstacles will try you there to stop.  The level are labyrinth-well-behaved however without erring courses.  One must also never the way seeks to separate to simply only loose-race.  There are different types of level.  Times an obstacle run, times goes it through narrow tunnels, times must you try between the barks to drive.  Adrenalin impacts are guaranteed.&lt;br /&gt;
&lt;br /&gt;
== Race From Death Zone ==&lt;br /&gt;
&lt;br /&gt;
Similar to any race server, get to the end first, and hit the win zone. Just here, if you slow down, or make a wrong turn, you smash into the death zone, that is quickly expanding behind you.&lt;br /&gt;
With an arrange of different maps and brake to boost, it is a very fun server.&lt;br /&gt;
To see server stats and maps, visit [http://www.freewebs.com/racefromdeathzone Race From Death Zone Website]&lt;br /&gt;
This server is run by Aang.&lt;br /&gt;
&lt;br /&gt;
== Spacezone Servers ==&lt;br /&gt;
Most known server among the spacezone servers, is the High Speed server &amp;quot;Spacezone I&amp;quot; [High Speed]. A server where you must drive at High speed and try to catch you opponent. Spacezone II and III are slow speed servers with different settings..  The Spacezone formula 1 server is a server with custom maps, in here the target is to drive as fast as you can to the end of the grid into the &amp;quot;win zone&amp;quot;, the one who first enters the winzone , wins the race. &lt;br /&gt;
Visit us at http://spacezone24.de&lt;br /&gt;
&lt;br /&gt;
== [[Swampland]] ==&lt;br /&gt;
&lt;br /&gt;
This server offers shorter walls and moderately high wall acceleration.  It is also a standard gladiatorial-style arena. This server is run by Swampy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These servers are ran by Dr Joe Tron(Lobster Cage/Tub) and Gomes(Teamspeak Server)&lt;br /&gt;
&lt;br /&gt;
== Wild West Servers: ==&lt;br /&gt;
 &#039;&#039;Sumo, Team Sumo, Sumo Treasure Island, Fortress, Fortress Shootout, Wild Fortress&lt;br /&gt;
 Capture the Flag, Capture the Flag Shooting,CTF Wilderness, CTF Labryth, Multi-Mode, Cockpit&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
A set of low rubber servers to meet many style preferences. These servers are hosted in Texas on a Quad core Xeon server. For server stats, who&#039;s playing, and forums visit [http://www.lagtest.net lagtest.net] Wild West also offers hosting and hosts a number of other servers listed on the master list via WwHosting at [http://www.lagtest.net/wwhosting lagtest.net/wwhosting]&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Servers&amp;diff=37364</id>
		<title>Servers</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Servers&amp;diff=37364"/>
		<updated>2012-02-08T19:09:47Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PlayerTbl}}&amp;lt;br /&amp;gt;&lt;br /&gt;
This is a list of current servers, in alphabetical order.  To see a list of old servers that no longer exist but were interesting enough to write about, visit the page about [[Old Servers]].&lt;br /&gt;
&lt;br /&gt;
== [http://adventuresoftron.com Adventures of TRON] ==&lt;br /&gt;
These servers take a sightly different approach to recreating the excitement of the movie.&lt;br /&gt;
&lt;br /&gt;
*[[TRON Experience]] Emulates the lightcycle scene in Tron, but from the first person perspective only. Two teams of three players face off against each other (missing players are replaced with Ai). The Ai are surprisingly good, and single player mode is equally fun and challenging.&lt;br /&gt;
&lt;br /&gt;
*[[Advanced Racing]] Modeled after the scene where the main characters escape the game grid, players race against each other through several massive labyrinths. The maps are both large and complicated, so there is plenty of exploring to do in single player mode.&lt;br /&gt;
&lt;br /&gt;
*[[Original Arcade]] Based on the original, 1982 classic arcade game TRON, this server gives you a top down view and two speeds to choose from. There is a [http://wiki.armagetronad.net/index.php?title=Moviepacks_list#Original_Arcade matching moviepack], which comes with settings for off-line play. Great single player action!&lt;br /&gt;
&lt;br /&gt;
== [http://alphaproject.au.tc Alpha Project Servers] ==&lt;br /&gt;
This is an amazing project full of abnormal modes. These modes contain settings and gameplay that were never played before in any other server yet. The type of modes currently online to play are:&lt;br /&gt;
&lt;br /&gt;
* [http://alphaproject.au.tc/wiki/index.php?title=High_Rubber_Fortress High Rubber Fortress]: Excellent mode with smooth high rubber and sped settings while keeping the default game-play of fortress intact.&lt;br /&gt;
&lt;br /&gt;
* [http://alphaproject.au.tc/wiki/index.php?title=Last_One_Standing Last One Standing]: A simple mode using high rubber settings with a custom built map with 32 squares for each player. Death Zone activates after a while at a random location, so keep moving.&lt;br /&gt;
&lt;br /&gt;
* [http://alphaproject.au.tc/wiki/index.php?title=Advanced_Space_Racing Advanced Space Racing]: An intense racing mode with high stakes and sharp turning with 16 axes. The maps themselves are a challenge while others are practically harmless.&lt;br /&gt;
&lt;br /&gt;
* Close Combat Shootout: This mode is the most amazing and the wildest as your shoots bounce off walls four times before they disappear. There are plenty of covers to help you avoid the other player&#039;s shots or escape the intense shooting of the player(s).&lt;br /&gt;
&lt;br /&gt;
== Cheers! The Friendly Server ==&lt;br /&gt;
The name tells, all. Cheers hosted by Angel has been around since the golden years. The server is moderated by a helpful hand of players who just enjoy the game. Visit the community, at http://wwww.Armagetron.Co.Uk/&lt;br /&gt;
&lt;br /&gt;
== [http://crazy-tronners.com/portal.php Crazy Tronners Wild Servers] ==&lt;br /&gt;
&lt;br /&gt;
Nice fortress servers with completly different [http://crazy-tronners.com/ladders_new.php ladder system]. Over 90 various maps are rotating in 12 rounds at [http://crazy-tronners.com/servers.php?map=wild Crazy Tronners Wild Fortress] (CTWF). [http://crazy-tronners.com/servers.php?map=cat CTWCatfight] (1v1) and [http://crazy-tronners.com/servers.php?map=dog CTWDogfight] (2v2) are fortresses with custom maps (fake walls, speed hells, chico&#039;s rides, race, octagons and many many more) greate for challanges. All placed in Europe.&lt;br /&gt;
&lt;br /&gt;
== ~|DarkSyndicate|~ Arena ==&lt;br /&gt;
&lt;br /&gt;
High rubber Settings &lt;br /&gt;
&lt;br /&gt;
The right place to test your skills. Fast server with high rubber settings. The 100mbit connection did the rest to make the server that popular. Specifications:&lt;br /&gt;
&lt;br /&gt;
*server running armagetron 0.2.8.2&lt;br /&gt;
*standard arena&lt;br /&gt;
*walls last until you die&lt;br /&gt;
*explosions on a wall make gaps to get through&lt;br /&gt;
*no winzone activated&lt;br /&gt;
*server admins are ~|DS|~segv&lt;br /&gt;
&lt;br /&gt;
== [http://www.dbd.wwwd.name/forum/index.php .dBd| Nano&#039;s Zombie DF] ==&lt;br /&gt;
&lt;br /&gt;
Currently the only dedicated configuration set up yet for dBd&#039;s actively running server (which is to say, the one setup by Nano; Pathetique isn&#039;t currently running a server, mostly on account of being busy)&lt;br /&gt;
&lt;br /&gt;
The physics were derived originally from Nightwalker&#039;s Loose DF settings, then modified by Nano, for a unique DF flavor.  If that wasn&#039;t exciting enough, there are zombies.  Which tend to get bigger after awhile.  And follow you around rather tenaciously, until either they eat you, you trick everyone else into getting between you and the zombie, or you win the normal boring way.  With their oddly manic rotation rate, these zombies are every bit &#039;Death by Distraction&#039;. &lt;br /&gt;
&lt;br /&gt;
== [http://deliciousdesserts.midnightgfx.net/ {Delicious Desserts} Custom Map] ==&lt;br /&gt;
&lt;br /&gt;
Delicious Desserts is a server for friendly and competitive players who like to have fun.&lt;br /&gt;
&lt;br /&gt;
*High rubber&lt;br /&gt;
*Fast speeds&lt;br /&gt;
*Red zone that appears from the 4 center pillars&lt;br /&gt;
*Custom map (Gave {DD} a unique touch that differed it from other servers)&lt;br /&gt;
[[Image:map1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Delicious Desserts ended because there were not enough donations to pay for the hosting provided by Luke-Jr. For more information on {DD} visit the website. [http://deliciousdesserts.co.nr www.DeliciousDesserts.co.nr]&lt;br /&gt;
&lt;br /&gt;
== [http://www.fallin-angels.org |FA|Fallin-Angels] ==&lt;br /&gt;
&lt;br /&gt;
* Black Ice: Low Rubber&lt;br /&gt;
* Black Tar: High Rubber, Walls slow you down&lt;br /&gt;
* Devil&#039;s Rings: Brake to shoot&lt;br /&gt;
* Fortress: Fortress style&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Flynn&#039;s Arcade - .:Avl:. Clan Server==&lt;br /&gt;
&lt;br /&gt;
Flynn&#039;s Arcade aims to be similar to the actual movie game grid, with emphasis on maneuvering skill, not just speed and rubber (although high speeds are quite possible). Settings include relatively low rubber, moderate speed and acceleration, infinite walls, and a turbo instead of brakes on one server, and good brakes and slow speed on the other server. Brake server is sometimes used for clan training. Servers are run by .:Avl:.C10ud:. (formerly ianthetechie). Homepage is http://flynnsarcade.net/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [http://forum.internaldrive.info/ internalDrive -=- iD Tech Camps] ==&lt;br /&gt;
&lt;br /&gt;
A server created by a student of internalDrive&#039;s iD Tech Camps program. iD Tech Camps is a computer camp that is held in many locations across the United States. iD Tech Camps&#039; official game is Armagetron Advanced, so it probably deserved a national server. This server is pretty crowded during the summer and may contain a few newbies. However, there is typically at least one experienced player on. Regardless, it is a very fun server with constantly active admins.&lt;br /&gt;
&lt;br /&gt;
This server is hosted by Master Chief with the Armagetron Advanced Superpatch, a mod of the 0.2.8 branch, on a retasked Sony Vaio. Efforts are being made to replace it with a faster server, but users have been experiencing few problems. Users generally have pings ranging from 50 to 150 on average.&lt;br /&gt;
&lt;br /&gt;
Administrators are Master Chief, SmOoThIcE, Wall-E, Puffyfluff, Snoopilicious, Slyshot, and Maes Hughes. Server stats, ladder info, and who is playing can be viewed at http://www.internaldrive.info. Forums are at http://forums.internaldrive.info. The official site of internalDrive is http://www.internaldrive.com. A racing server is also available that runs on at least 25 maps at the moment. Master Chief is working to improve the racing server&#039;s map selection for optimal playing.&lt;br /&gt;
&lt;br /&gt;
== [[Ion]] ==&lt;br /&gt;
&lt;br /&gt;
Ion is a test server hosted by zero. It allows players to test out new server settings and maps without having to use their own server. For more information, please contact [[User:zero]].&lt;br /&gt;
&lt;br /&gt;
== Laser Tag ==&lt;br /&gt;
There has been alot of buzz lately about this server. It resembles the concept of the FRO|FPS server, but is unique in it&#039;s own way. Players spawn on 2 sides of an arena and basically shoot to the death.The extremly high rubber combined with the fact that there is no tail makes it almost impossible to core dump, so shooting is basically the only way to kill. Laser Tag hosts monthly tournaments and is just an all around fun server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== | [http://www.dbd.wwwd.name/forum/index.php Nano&#039;s Playground] | ==&lt;br /&gt;
&lt;br /&gt;
A very unique server with several different settings configs.  Currently this includes Classic Nano (default), Snake Hunt Mode (fighting style gameplay with very short tails), Brake Boost Chico, Trapdoor (very high wallshrink), Tail Madness (very high NEGATIVE wallshrink), Durka Durka Nano Land (a midget version of DDL), a DF mode, a mode called Fertilization (EXTREMELY tiny... like.... size_factor -13, hex axes, usually combined with a custom cam from overhead which looks straight down), and some other stuff thats not as interesting&lt;br /&gt;
&lt;br /&gt;
== [http://tron.nexusnine.org Nexus9] ==&lt;br /&gt;
&lt;br /&gt;
Two servers with no rubber, high speeds, very little deceleration, and no double binding.&lt;br /&gt;
&lt;br /&gt;
* [http://tron.nexusnine.org/servers.php#deathmatch Deathmatch]: a basic free-for-all&lt;br /&gt;
* [http://tron.nexusnine.org/servers.php#sumo Sumo]: our no rubber twist on traditional sumo gameplay&lt;br /&gt;
&lt;br /&gt;
== Neo-Nexus OldSkool ==&lt;br /&gt;
&lt;br /&gt;
A modified clone of what I consider to be the last classic [[#Nexus9|Nexus9]]. The point isn&#039;t to be better than Nexus, or even exactly like Nexus used to be; think of it more as a tribute than a challenge.&lt;br /&gt;
&lt;br /&gt;
* No rubber!&lt;br /&gt;
* 40 m/s start, 50 m/s maintained speed.&lt;br /&gt;
* Breaks = Boost (up to 100 m/s)&lt;br /&gt;
* Increased grind acceleration.&lt;br /&gt;
* Multiple binds disabled.&lt;br /&gt;
* Round win = 10, Kill = 2, Death = -1 points.&lt;br /&gt;
* Slow moving death zone at end.&lt;br /&gt;
&lt;br /&gt;
Server Hours:&lt;br /&gt;
&amp;lt;br&amp;gt;6pm-7am GMT (6am MWF)&lt;br /&gt;
&lt;br /&gt;
== Night Walkers Central ==&lt;br /&gt;
&lt;br /&gt;
These servers are hosted or paid by the members of the Night Walkers Clan. They include Dog Fight, CTF, CTFS, Fortress and Racing servers. Sometimes the CTFS server is down but the DF and Racing servers are always up. The racing server is always being added to but is experimental at this point. The Racing and Fortress servers also support armathentication.&lt;br /&gt;
&lt;br /&gt;
== | [http://nonerdsjustgeeks.com/ [NNJG] | ==&lt;br /&gt;
A server group and clan started by [NNJG]Ben. The [NNJG] Clan is currently down for a few months. This is meant to be a fun, but competitive clan and server group. [NNJG] Currently offers 4 Servers:&lt;br /&gt;
[NNJG] Wild Fortress - [NNJG] CTF - [NNJG] Racing - [NNJG] Sumo&lt;br /&gt;
For server stats and forums, visit [http://nonerdsjustgeeks.com/ NNJG&#039;s Website] and click on Armagetron Servers in the top navigation bar.&lt;br /&gt;
&lt;br /&gt;
== Norms Home ==&lt;br /&gt;
&lt;br /&gt;
A classic style server with friendly people. This server combines the best aspects of classic and fast play minus any bugs or much hated lag. To be among the best here you need skill and a range of strategies; however all are welcome whatever your ability.&lt;br /&gt;
For server stats, FAQ and links visit [http://www.normshome.de normshome.de]&lt;br /&gt;
&lt;br /&gt;
== [http://omegaclan.freeforums.org/index.php Omega Destruction High Rubber Servers] ==&lt;br /&gt;
&lt;br /&gt;
Servers hosted by Arduino and Charged. The rules for high rubber is simple; to coredump your opponent using any technique possible. Players range from noobs who do not know how to double bind, to pros that have been playing for years. Campers are not respected. Develop your unique strategies and compete with others with creativity. Omega Destruction Hr is currently hosted in Austin Tx, which has classic XzL 2006 settings, and the practice server is hosted in the Northern United States.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Race Server ==&lt;br /&gt;
&lt;br /&gt;
This is the first server of its kind, but the setup is simple: You all start at about the same position of a long narrow alley with many obstacles in it. Whoever arrives first at the other end and hits the winzone there gets declared the winner &amp;amp;mdash; if anyone makes it there, that is. Many different obstacles that are tricky to escape, small killzones, sticky rim walls, a passage where the alley gets even narrower or splits, killzone- only rounds, the ability to lay mines to get rid of your followers and the turbo make this server an experience you don&#039;t want to miss!&lt;br /&gt;
&lt;br /&gt;
== [[RaceToWinzone]] ==&lt;br /&gt;
&lt;br /&gt;
You drive on the server a genuine running &amp;amp;mdash; head at head &amp;amp;mdash; with a speed from 0 to &amp;gt; 700.  Obstacles will try you there to stop.  The level are labyrinth-well-behaved however without erring courses.  One must also never the way seeks to separate to simply only loose-race.  There are different types of level.  Times an obstacle run, times goes it through narrow tunnels, times must you try between the barks to drive.  Adrenalin impacts are guaranteed.&lt;br /&gt;
&lt;br /&gt;
== Race From Death Zone ==&lt;br /&gt;
&lt;br /&gt;
Similar to any race server, get to the end first, and hit the win zone. Just here, if you slow down, or make a wrong turn, you smash into the death zone, that is quickly expanding behind you.&lt;br /&gt;
With an arrange of different maps and brake to boost, it is a very fun server.&lt;br /&gt;
To see server stats and maps, visit [http://www.freewebs.com/racefromdeathzone Race From Death Zone Website]&lt;br /&gt;
This server is run by Aang.&lt;br /&gt;
&lt;br /&gt;
== Wild West Servers: ==&lt;br /&gt;
 &#039;&#039;Sumo, Team Sumo, Sumo Treasure Island, Fortress, Fortress Shootout, Wild Fortress&lt;br /&gt;
 Capture the Flag, Capture the Flag Shooting,CTF Wilderness, CTF Labryth, Multi-Mode, Cockpit&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
A set of low rubber servers to meet many style preferences. These servers are hosted in Texas on a Quad core Xeon server. For server stats, who&#039;s playing, and forums visit [http://www.lagtest.net lagtest.net] Wild West also offers hosting and hosts a number of other servers listed on the master list via WwHosting at [http://www.lagtest.net/wwhosting lagtest.net/wwhosting]&lt;br /&gt;
&lt;br /&gt;
== [[Swampland]] ==&lt;br /&gt;
&lt;br /&gt;
This server offers shorter walls and moderately high wall acceleration.  It is also a standard gladiatorial-style arena. This server is run by Swampy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These servers are ran by Dr Joe Tron(Lobster Cage/Tub) and Gomes(Teamspeak Server)&lt;br /&gt;
&lt;br /&gt;
== Spacezone Servers ==&lt;br /&gt;
Most known server among the spacezone servers, is the High Speed server &amp;quot;Spacezone I&amp;quot; [High Speed]. A server where you must drive at High speed and try to catch you opponent. Spacezone II and III are slow speed servers with different settings..  The Spacezone formula 1 server is a server with custom maps, in here the target is to drive as fast as you can to the end of the grid into the &amp;quot;win zone&amp;quot;, the one who first enters the winzone , wins the race. &lt;br /&gt;
Visit us at http://spacezone24.de&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=36668</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=36668"/>
		<updated>2011-11-29T06:21:37Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Start All Servers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
 6) Have build-essentials&lt;br /&gt;
&lt;br /&gt;
You can get the essentials from this link: [http://wiki.armagetronad.net/index.php?title=Ubuntu_Installation Ubuntu_Installation]&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo apt-get install bzr  build-essential automake libboost-dev libxml2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev ftgl-dev libglew-dev bison pkg-config autoconf autotools-dev libprotobuf-dev&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 	$tron --vardir $vardir&lt;br /&gt;
 	$tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
 	    done # end the loop&lt;br /&gt;
&lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log     # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
  &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir | tee -a $log&lt;br /&gt;
 &lt;br /&gt;
 #$tron --help&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/racing/resource/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --input $cmd --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by vertrex a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer&amp;diff=36667</id>
		<title>Running Multiple Servers on a single Linux computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer&amp;diff=36667"/>
		<updated>2011-11-29T05:44:56Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you like to experiment new settings, it might be that you come with a set of interesting servers. A shame if you cannot run them all at the same time. Here is how you can achieve this on a Linux server. Please refer to the lag and bandwidth chapters in the wiki before to run multiple servers. If you run too many, you might end with a very bad gameplay.&lt;br /&gt;
&lt;br /&gt;
There is another webpage that looks similar to this but it has a few extra things: [http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer Running Multiple Servers In a Single Ubuntu Computer]&lt;br /&gt;
&lt;br /&gt;
This chapter will present you an easy way to run multiple servers on a single Linux computer, using GNU screen.&lt;br /&gt;
&lt;br /&gt;
== Server installation ==&lt;br /&gt;
&lt;br /&gt;
First of all, you have to install the Armagetron Advanced Dedicated Server from your specific operating system&#039;s packages.&lt;br /&gt;
&lt;br /&gt;
Linux source can be found at: https://launchpad.net/armagetronad/&lt;br /&gt;
&lt;br /&gt;
For this tutorial we will use the 0.2.8-armagetronad-ct+sty branch&lt;br /&gt;
CD into /home/&lt;br /&gt;
 cd /home/&lt;br /&gt;
&lt;br /&gt;
download the source files&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
once the source if finished downloading to the server CD to the branch&lt;br /&gt;
 cd /home/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Now you need this to run bootstrap.sh for Ubuntu and Debian&lt;br /&gt;
 sudo apt-get install bzr  build-essential automake libboost-dev libxml2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev ftgl-dev libglew-dev bison pkg-config autoconf autotools-dev libprotobuf-dev protobuf-compiler&lt;br /&gt;
&lt;br /&gt;
For fixing the login you need to do this (This fixes the login menu from not delayinh)&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
 make &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
You may need this here if you dont have it&lt;br /&gt;
 sudo apt-get install libprotobuf-dev&lt;br /&gt;
&lt;br /&gt;
now run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
For CentOS users, you may need to install this for ./configure to work. &lt;br /&gt;
 yum -y install libxml2-devel&lt;br /&gt;
&lt;br /&gt;
Now configure the server. You can look up more options for configuration with ./configure --help. But we will configure the server to be, this way&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/armagetronad --exec_prefix=/home/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
once that is configured execute the following command.&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now your server has been installed in /home/armagetronad/bin&lt;br /&gt;
&lt;br /&gt;
now continues through the rest of the steps&lt;br /&gt;
&lt;br /&gt;
== Preparing the servers ==&lt;br /&gt;
&lt;br /&gt;
=== The tree ===&lt;br /&gt;
&lt;br /&gt;
CD to /home/armagetronad/ &lt;br /&gt;
 cd /home/armagetronad/&lt;br /&gt;
&lt;br /&gt;
Create the following sub directories:&lt;br /&gt;
&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store server configurations&lt;br /&gt;
 mkdir logs         &#039;This one will be used to save the server logs&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to same the scripts we will see below&lt;br /&gt;
&lt;br /&gt;
We have now to create our servers. To do so, go to the servers directory you have created earlier, and for each server, create a sub folder with a one-word name for the server, and one sub folder: var. For example:&lt;br /&gt;
&lt;br /&gt;
 cd /home/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
To create a server called server1:&lt;br /&gt;
&lt;br /&gt;
 mkdir server1&lt;br /&gt;
 mkdir server1/var&lt;br /&gt;
&lt;br /&gt;
then copy your config files in the var sub folder.&lt;br /&gt;
&lt;br /&gt;
You can then create a second server, and many more...&lt;br /&gt;
&lt;br /&gt;
 mkdir server2&lt;br /&gt;
 mkdir server2/var&lt;br /&gt;
and so on...&lt;br /&gt;
&lt;br /&gt;
=== The setting files ===&lt;br /&gt;
&lt;br /&gt;
For each server, do not forget to create a &amp;quot;server_info.cfg&amp;quot; file (search the wiki about it), and to change the port number. Port can be from 4534 to 4540, meaning you can safely run up to 7 servers on the same computer, depending obviously on the settings of each servers, and the bandwidth they need.&lt;br /&gt;
&lt;br /&gt;
We assume that you know enough about Server Administration to understand the above explainations. This article is about Advanced Server Administration, isn&#039;t it ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The scripts ==&lt;br /&gt;
&lt;br /&gt;
Now you have to create the scripts to launch and log all your servers. To allow managing each server separately, we will use GNU Screen. GNU screen is a terminal window manager. If it is not install on your server, you can get it with the usual installation tool (yum install screen, apt get screen, etc...). Again... advanced.... We assume you know how to install applications on linux and therefore, we assume GNU screen has been installed&lt;br /&gt;
&lt;br /&gt;
You have to create two scripts. The first one will run a server and start logging the window in which the server has started. The second one will execute the first one for each folder in the /home/armagetronad/servers folder. It will create a window for each of them. Therefore, if you don&#039;t want a server to run, you will have to temporarily move the server folder out from the /home/armagetronad/servers directory.&lt;br /&gt;
&lt;br /&gt;
Save the scripts in the /home/armagetronad/scripts directory. I use nano which is an easy text editor. &lt;br /&gt;
&lt;br /&gt;
=== The server script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv&lt;br /&gt;
&lt;br /&gt;
 nano /home/armagetronad/scripts/srv &lt;br /&gt;
That creates a text file called srv in the scripts directory. Write the following lines in the file:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/armagetronad&amp;quot;&lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes                         &lt;br /&gt;
            &lt;br /&gt;
 # runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/armagetronad/bin directory.&lt;br /&gt;
 	$loc/bin/armagetronad-dedicated --vardir $loc/servers/$1/var                              &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
        echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
        sleep 5                                                                                                                                          &lt;br /&gt;
 done # end the loop&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== the global script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &amp;lt;code&amp;gt; nano /home/armagetronad/scripts/start&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 #!/bin/bash                                                                                                                                               &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/arma/servers directory &lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
        screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
        screen -dmS $1 /home/armagetronad/scripts/srv $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
        for f in $(ls /home/armagetronad/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/armagetronad/servers folder&lt;br /&gt;
                 do&lt;br /&gt;
                        screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                        screen -dmS $f /home/armagetronad/scripts/srv $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                        done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Save it and exit the same way as before.&lt;br /&gt;
&lt;br /&gt;
BEFORE YOU RUN THE SCRIPT:&lt;br /&gt;
&amp;lt;code&amp;gt;chmod +x srv start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starting all servers ===&lt;br /&gt;
&lt;br /&gt;
To make your servers start at boot, edit the /etc/rc.local file and add the &amp;quot;start&amp;quot; script at the end of &amp;lt;code&amp;gt;/home/armagetronad/scripts/start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to manually start all servers, just run the &amp;lt;code&amp;gt;./start&amp;lt;/code&amp;gt; script. &lt;br /&gt;
&lt;br /&gt;
=== Starting a single specific server ===&lt;br /&gt;
&lt;br /&gt;
CD to /home/armagetronad/scripts/&lt;br /&gt;
 cd /home/armagetronad/scripts/&lt;br /&gt;
&lt;br /&gt;
Now if you want to start (or restart) a single server, just run ./start servername, for example&lt;br /&gt;
 ./start server1&lt;br /&gt;
&lt;br /&gt;
== Server management ==&lt;br /&gt;
&lt;br /&gt;
=== GNU screen ===&lt;br /&gt;
&lt;br /&gt;
GNU screen is a great tool. As explained above, it allow a multi-windowed environement on the simple terminal. And even better, the windows stay alive, evening when you disconnect from the server. You can find everything about GNU screen by typing &amp;lt;code&amp;gt;man screen&amp;lt;/code&amp;gt; on a terminal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Listing the running servers ===&lt;br /&gt;
&lt;br /&gt;
To see the existing windows, meaning here, the running servers, type &amp;lt;code&amp;gt;screen -ls&amp;lt;/code&amp;gt;. It will gives you a list of running windows.&lt;br /&gt;
&lt;br /&gt;
=== Accessing and leaving a server console ===&lt;br /&gt;
&lt;br /&gt;
To attach to a window, type &amp;lt;code&amp;gt;screen -r servername&amp;lt;/code&amp;gt;. You will be in the server console. You can then do all the command you would usually do there. Remote moderation, server adjustment, and so on.&lt;br /&gt;
&lt;br /&gt;
To detach, but keep the server running, press CTRL-a d (control key + low case A, then low case D to detach). You can find all GNU screen key combinations by reading &amp;lt;code&amp;gt;man screen&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Killing a server ===&lt;br /&gt;
&lt;br /&gt;
To kill a server, attach to its window, and press CTRL-C. This will kill the script, and the window. Then press ESC to exit the dead window. An alternate way is to run &lt;br /&gt;
 screen -S servername -X quit&lt;br /&gt;
This will kill and end the window and the server inside.&lt;br /&gt;
&lt;br /&gt;
=== Log files ===&lt;br /&gt;
&lt;br /&gt;
Everytime the &amp;lt;code&amp;gt;srv&amp;lt;/code&amp;gt; script is run, a new logfile will be created in the /opt/armagetronad/logs folder. Keep an eye on log sizes. You don&#039;t want to run out of disk space because of Armagetron Advanced, do you ?&lt;br /&gt;
&lt;br /&gt;
=== Test the server autorestart ===&lt;br /&gt;
&lt;br /&gt;
If you want to try if the server restarts when it crash, do not press CTRL-C into the window. CTRL-C kill the script, therefore it will not be able to restart. Instead, run the &amp;lt;code&amp;gt;quit&amp;lt;/code&amp;gt; command inside the server console. It will close the server, and you will be able to see the message, and the server restarting.&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This article was originally written by Superkikim. These scripts and setup details are used to run the &amp;quot;FAST TRACK&amp;quot;, &amp;quot;Most Wanted&amp;quot; and &amp;quot;Club Dutch&amp;quot; servers.&lt;br /&gt;
&lt;br /&gt;
This article has been updated and optimized by Zurd. These optimized scripts based on Superkikim&#039;s original script are widely used by many Armagetron AD hosts today.&lt;br /&gt;
&lt;br /&gt;
== VPS packs to install ==&lt;br /&gt;
&lt;br /&gt;
On Centos based systems (Fedora Core, Redhat):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;yum groupinstall &amp;quot;Development Tools&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
yum install libxml2-devel&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install BZR&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;su -c &#039;rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm&#039;&amp;lt;br \&amp;gt;&lt;br /&gt;
su -c &#039;yum install bzr&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Compiling Zthreads&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
CXXFLAGS=-fpermissive ./configure --prefix=/usr&amp;lt;br&amp;gt;&lt;br /&gt;
make&amp;lt;br&amp;gt;&lt;br /&gt;
make install&amp;lt;br&amp;gt;&lt;br /&gt;
ldconfig&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Server/config]]&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Sty&amp;diff=34996</id>
		<title>Sty</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Sty&amp;diff=34996"/>
		<updated>2011-08-21T01:04:42Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Sty&#039;&#039;&#039; is a server mod that can allow to have Shooting, Capture the Flag, Hold the Flag, Styball using some hacks here and there. Sty is also known as « the pigsty » and « the stypatches ». Sty is totally configurable and has many features.&lt;br /&gt;
&lt;br /&gt;
=Installing=&lt;br /&gt;
==Windows==&lt;br /&gt;
[http://crazy-tronners.com/styCt/armagetronad-dedicated-sty+ct_01192010.win32.exe sty+ct server build (r700)]&lt;br /&gt;
&lt;br /&gt;
[http://www.mediafire.com/?l9a1d15c5988yn2 sty+ct server build (r702)]&lt;br /&gt;
&lt;br /&gt;
==Linux, UNIX, BSDs, OSX, cygwin and every UNIX-compatible operating system==&lt;br /&gt;
&lt;br /&gt;
===Downloading and unpacking===&lt;br /&gt;
&lt;br /&gt;
We maintain (don&#039;t confuse this with &amp;quot;we support&amp;quot;, this is still unsupported third party code) a reasonably up to date version of the code in a [https://code.launchpad.net/~armagetronad-dev/armagetronad/0.2.8-armagetronad-sty bzr branch here]. To fetch it, you&#039;ll need [[Bazaar]]. Type into your console&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ bzr branch http://bazaar.launchpad.net/~armagetronad-dev/armagetronad/0.2.8-armagetronad-sty  &amp;lt;br /&amp;gt;&lt;br /&gt;
$ cd 0.2.8-armagetronad-sty&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional (and risky, you may get difficult to resolve conflicts): merge in changes from the mainline with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ bzr merge lp:armagetronad/0.2.8&amp;lt;br /&amp;gt;&lt;br /&gt;
$ bzr commit -m &amp;quot;Merging changes from the mainline&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you really want to use SVN, [[Sty#SVN_way_of_downloading_and_applying_patch|scroll down]]!&lt;br /&gt;
&lt;br /&gt;
===Building and installing===&lt;br /&gt;
&lt;br /&gt;
Now that we have patched our code, we can begin the build process which will process the source and output the binaries which will be ready for use. &lt;br /&gt;
First, we will generate a configure script using bootstrap.sh. On FreeBSD, you may need to modify the bootstrap.sh http://wiki.armagetronad.net/index.php/Help:Editingscript to point to the location of the automake tools since they may not be in your path, but in /usr/local/libexec/automakeXX and /usr/local/libexec/autoconfXX.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./bootstrap.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may receive an error, and have to install the autoconf package for your system. Once we are notified that we have a working configure script, we can configure. The code given would install in the user&#039;s home directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ ./configure --prefix=${HOME} --enable-dedicated --enable-automakedefaults --disable-sysinstall --disable-etc --disable-useradd --disable-initscripts&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally, the standard make and make install. You will obviously want to su to root if you are installing outside your home folder.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ make&amp;lt;br /&amp;gt;&lt;br /&gt;
$ make install&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On FreeBSD, you may need to run as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ gmake&amp;lt;br/&amp;gt;&lt;br /&gt;
$ gmake install&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, copy the Your_mom directory from the SOURCE_DIR/resources to your new resource folder in $PREFIX/share/games/armagetronad-dedicated/resource. You can now modify the sample config files given in the SOURCE_DIR/config/examples. Now you should have a functional CTF server. All that&#039;s left is tweaking settings!&lt;br /&gt;
&lt;br /&gt;
=Map Settings=&lt;br /&gt;
 ###############################################&lt;br /&gt;
 #Zone Types                                   #&lt;br /&gt;
 ###############################################&lt;br /&gt;
  flag      # The flag in CTF&lt;br /&gt;
  ball      # The ball in StyBall&lt;br /&gt;
  fortress  #The flag base or ball goal.&lt;br /&gt;
  death     # Death zones&lt;br /&gt;
  win       # Win zone &lt;br /&gt;
&lt;br /&gt;
=Gameplay Settings=&lt;br /&gt;
&lt;br /&gt;
  ############################################################################################&lt;br /&gt;
  #&lt;br /&gt;
  # Shooting / Self Destruct / Zombies&lt;br /&gt;
  #&lt;br /&gt;
  ############################################################################################&lt;br /&gt;
  &lt;br /&gt;
  # The braking reservoir used for shooting goes from 1.0 (Full) to 0.0 (Empty)&lt;br /&gt;
  # All of the shot thresholds are calculated from the amount of reservoir used&lt;br /&gt;
  # To disable shooting, set SHOT_THRESH to 1.0&lt;br /&gt;
  &lt;br /&gt;
  SHOT_THRESH 2              # Amount of brake reservoir that will make a shot, &amp;gt; 1.0 to disable shooting, 0.001 will enable shooting&lt;br /&gt;
  SHOT_DISCARD_TIME 0.3      # Time in seconds to hold off shooting between shots&lt;br /&gt;
  SHOT_START_DIST 1.0        # Starting distance of a shot from the cycle&lt;br /&gt;
  SHOT_VELOCITY_MULT 1.8     # Cycle velocity is multiplied by this to calculate shot velocity&lt;br /&gt;
  SHOT_RADIUS_MIN 0.7        # Minimum radius for a shot (As if minimum reservoir was used)&lt;br /&gt;
  SHOT_RADIUS_MAX 5.0        # Maximum radius for a shot (Full reservoir used)&lt;br /&gt;
  SHOT_ROT_MIN 2.0           # Minimum rotation for a shot (As if minimum reservoir was used)&lt;br /&gt;
  SHOT_ROT_MAX 10.0          # Maximum rotation for a shot (Full reservoir used)&lt;br /&gt;
  SHOT_EXPLOSION 0           # 0 for no explosion, 1 for explosion centered at cycle, 2 for explosion centered on shot&lt;br /&gt;
  &lt;br /&gt;
  MEGA_SHOT_THRESH 2         # Amount of brake reservoir that will make a megashot, &amp;gt; 1.0 to disable, 0.98 is normal to enable this&lt;br /&gt;
  MEGA_SHOT_MULT 0.3         # Radius and rotation calculated for a normal shot, then multipled by this for mega&lt;br /&gt;
  MEGA_SHOT_DIR 3            # Number of directions to shoot around cycle, 0 to disable the shots (cycle explosion still works)&lt;br /&gt;
  MEGA_SHOT_EXPLOSION 1      # 0 for no explosion, 1 for explosion centered at cycle, 2 for explosion centered on each shot, 3 for both&lt;br /&gt;
  &lt;br /&gt;
  SHOT_KILL_SELF 0           # (0,1) if set to 1, your own shot kills you or your team&lt;br /&gt;
  SHOT_KILL_VANISH 1         # (0,1) if set to 1, shot vanishes after killing someone&lt;br /&gt;
  DEATH_SHOT 1               # (0,1) if set to 1 and you were in the middle of a shot, releases it after you die&lt;br /&gt;
  SHOT_COLLISION 0           # (0,1) if set to 1, shots collide with each other - WARNING, this is very buggy&lt;br /&gt;
  &lt;br /&gt;
  SELF_DESTRUCT 0            # (0,1) if set to 1, creates a blast zone when you die&lt;br /&gt;
  SELF_DESTRUCT_RADIUS 18    # Radius of the self destruct zone at the largest&lt;br /&gt;
  SELF_DESTRUCT_ROT 7        # Rotation of the self destruct zone&lt;br /&gt;
  SELF_DESTRUCT_RISE 5       # Rise speed of the self destruct zone - 0 to start at largest&lt;br /&gt;
  SELF_DESTRUCT_FALL 2       # Fall speed of the self destruct zone - 0 to leave there&lt;br /&gt;
  SELF_DESTRUCT_VANISH 1     # (0,1) if set to 1, self destruct zone vanishes quickly after a kill&lt;br /&gt;
  &lt;br /&gt;
  SHOT_SEEK_UPDATE_TIME 0.5  # The time in seconds that seeking shot directions are updated (zombies)&lt;br /&gt;
  &lt;br /&gt;
  ZOMBIE_ZONE 0              # (0,1) if set to 1, killed players create a zombie zone&lt;br /&gt;
  ZOMBIE_ZONE_RADIUS 6       # Final radius of the zombie zone&lt;br /&gt;
  ZOMBIE_ZONE_ROT 2          # Speed of rotation&lt;br /&gt;
  ZOMBIE_ZONE_RISE 0.4       # Rise speed of the zombie zone&lt;br /&gt;
  ZOMBIE_ZONE_FALL 0         # Fall speed of the zombie zone, 0 for zombies that don&#039;t diminish&lt;br /&gt;
  ZOMBIE_ZONE_VANISH 0       # (0,1) If 1, zombie will vanish after killing someone other than his killer&lt;br /&gt;
  ZOMBIE_ZONE_SPEED 12       # Speed of the zombie zone&lt;br /&gt;
  ZOMBIE_ZONE_SHOOT 1.0      # If &amp;gt; 0, shots will kill of zombies, 1 to decrease zombie size by shot size, &amp;gt; 1 to decrease zombie faster&lt;br /&gt;
  &lt;br /&gt;
  SCORE_SHOT 1               # points you gain for shooting someone&lt;br /&gt;
  SCORE_SHOT_SUICIDE 0       # points you gain for shooting yourself&lt;br /&gt;
  SCORE_DEATH_SHOT 1         # points you gain for shooting someone with your death shot&lt;br /&gt;
  SCORE_SELF_DESTRUCT 1      # points you gain for blasting someone with your self destruct blast&lt;br /&gt;
  SCORE_ZOMBIE_ZONE_REVENGE 1 # points you gain for getting your killer with your zombie zone&lt;br /&gt;
  SCORE_ZOMBIE_ZONE 0        # points you gain for getting anyone but your killer with your zombie zone&lt;br /&gt;
  &lt;br /&gt;
   ############################################################################################&lt;br /&gt;
  #&lt;br /&gt;
  # Capture the Flag / Ball / Goal&lt;br /&gt;
  #&lt;br /&gt;
  ############################################################################################&lt;br /&gt;
  &lt;br /&gt;
  BASE_RESPAWN 0             # (0,1) if set to 1, any fortress / goal / flag base will respawn the team that owns it if a team player enters it&lt;br /&gt;
  BASE_ENEMY_RESPAWN 0       # (0,1) if set to 1, any fortress / goal / flag base will respawn the team that owns it if an enemy player enters it&lt;br /&gt;
  &lt;br /&gt;
  BASE_ENEMY_KILL 0          # (0,1) if set to 1, any fortress / goal / flag base will kill the enemy if they enter it, usually set to 1 for ball games&lt;br /&gt;
  &lt;br /&gt;
  SCORE_FLAG 3               # points you gain for capturing a flag and returning it to your base&lt;br /&gt;
  SCORE_GOAL 1               # points you gain for shooting a goal&lt;br /&gt;
  &lt;br /&gt;
  FLAG_CHAT_BLINK_TIME -1    # time in seconds that the chat triangle above a player with a flag will blink, -1 to disable&lt;br /&gt;
  &lt;br /&gt;
  FLAG_BLINK_TIME 2          # time in seconds between flag blinking over player with the flag, -1 to disable&lt;br /&gt;
  FLAG_BLINK_START 0.2       # percentage of the flag radius to start the flag blink at&lt;br /&gt;
  FLAG_BLINK_END 1.0         # percentage of the flag radius to end the flag blink at&lt;br /&gt;
  FLAG_BLINK_SPEED 8         # speed at which the flag blink radius increases&lt;br /&gt;
  FLAG_BLINK_START 0.1       # percentage of the flag radius to start the flag blink at&lt;br /&gt;
  FLAG_BLINK_ESTIMATE_POSITION 0.6 # 0 to start the flag blink at the current player position, 1 to start the flag blink where the player would be at the end of the blink at current speed and direction&lt;br /&gt;
&lt;br /&gt;
= SVN way of downloading and applying patch =&lt;br /&gt;
&#039;&#039;&#039;WARNING: This method is now basically obsolete. Please [[Sty#Downloading_and_unpacking|use bazaar]] if at all possible (and I can&#039;t think of a good reason why not). It is already pre-patched and up to date.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following is the traditional old way of getting the patch. It causes lots of conflicts you will need to resolve if followed to the letter.&lt;br /&gt;
&lt;br /&gt;
So, here do we start, we need lastet SVN(=the lastet development revision) and the pigsty patch in order to install sty.&lt;br /&gt;
&lt;br /&gt;
(Note: you will need to download subversion software from http://subversion.tigris.org/ and install it for your specific OS)&lt;br /&gt;
&lt;br /&gt;
(You&#039;ll enter these codes in your SSH connection to your dedicated server, or in your terminal at home if you use your computer to host the server. Note that you wont enter the $ at each line, this character is generally used to indicate it&#039;s in a shell.)&lt;br /&gt;
&lt;br /&gt;
We&#039;ill create a working directory and enter in it to let the patches and the source here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ mkdir armagetronad+sty&amp;lt;br /&amp;gt;&lt;br /&gt;
$ cd !^&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then we download the source of armagetronad.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ svn co https://armagetronad.svn.sourceforge.net/svnroot/armagetronad/armagetronad/branches/0.2.8.0/armagetronad .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the pig sty patch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ wget -O stypatch.zip http://forums.armagetronad.net/download.php?id=5691&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once the download is finished, we unpackthe zip file we downloaded:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ unzip stypatch.zip&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now that all the resources and the patch have been unzipped, we will patch our code.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ patch -p0 &amp;lt; pigsty-061021.patch&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=34790</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=34790"/>
		<updated>2011-08-13T10:02:08Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Installing Source Files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
 6) Have build-essentials&lt;br /&gt;
&lt;br /&gt;
You can get the essentials from this link: [http://wiki.armagetronad.net/index.php?title=Ubuntu_Installation Ubuntu_Installation]&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo apt-get install bzr  build-essential automake libboost-dev libxml2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev ftgl-dev libglew-dev bison pkg-config autoconf autotools-dev libprotobuf-dev&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 	$tron --vardir $vardir&lt;br /&gt;
 	$tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
 	    done # end the loop&lt;br /&gt;
&lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log     # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
  &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir | tee -a $log&lt;br /&gt;
 &lt;br /&gt;
 #$tron --help&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/racing/resource/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --input $cmd --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by vertrex a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=34789</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=34789"/>
		<updated>2011-08-13T10:01:26Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Installing Source Files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
 6) Have build-essentials&lt;br /&gt;
&lt;br /&gt;
You can get the essentials from this link: [http://wiki.armagetronad.net/index.php?title=Ubuntu_Installation Ubuntu_Installation]&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo apt-get install bzr  build-essential automake libboost-dev libxml2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev ftgl-dev libglew-dev bison pkg-config autoconf autotools-dev libprotobuf-dev&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 	$tron --vardir $vardir&lt;br /&gt;
 	$tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
 	    done # end the loop&lt;br /&gt;
&lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log     # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
  &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir | tee -a $log&lt;br /&gt;
 &lt;br /&gt;
 #$tron --help&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/racing/resource/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --input $cmd --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by vertrex a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=34344</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=34344"/>
		<updated>2011-07-11T10:33:03Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Credits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
You can get the essentials from this link: [http://wiki.armagetronad.net/index.php?title=Ubuntu_Installation Ubuntu_Installation]&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo apt-get install bzr  build-essential automake libboost-dev libxml2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev ftgl-dev libglew-dev bison pkg-config autoconf autotools-dev libprotobuf-dev&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 	$tron --vardir $vardir&lt;br /&gt;
 	$tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
 	    done # end the loop&lt;br /&gt;
&lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log     # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
  &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir | tee -a $log&lt;br /&gt;
 &lt;br /&gt;
 #$tron --help&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/racing/resource/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --input $cmd --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by vertrex a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Code_hacks&amp;diff=34111</id>
		<title>Code hacks</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Code_hacks&amp;diff=34111"/>
		<updated>2011-06-28T09:29:32Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Armastats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;From time to time people do various hacks to the code or write various scripts and programs to support the game.  We&#039;ll try to collect them here so you can use them too.  If you have a hack you&#039;d like to add, just add it here. For it to format correctly, put &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Copy paste your script here, in the space inbetween the code and pre commands.&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively just copy and paste the script as it is, but add a space in front of every line.&lt;br /&gt;
&lt;br /&gt;
Note: there is no &amp;lt;nowiki&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/nowiki&amp;gt; in front of the script.&lt;br /&gt;
&lt;br /&gt;
== Modifications to Armagetron Advanced ==&lt;br /&gt;
&lt;br /&gt;
These usually require actually applying a patch to Armagetron Advanced source and recompiling.  Not for the faint of heart!&lt;br /&gt;
&lt;br /&gt;
=== Applying a Code Patch ===&lt;br /&gt;
&lt;br /&gt;
So, how exactly do you apply a code patch? First, you must cd into your directory containing the source code. Next, assuming you have a unix-based server, you must use the patch utility to hack the code. The patch utility is simple to use-- here is its syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;patch -p0 &amp;lt; code_hack.patch&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
now compile as you normally would.&lt;br /&gt;
&lt;br /&gt;
=== Styball, CTF and Shooting Patch ===&lt;br /&gt;
&lt;br /&gt;
groundpig&#039;s famous ball games, shooting, CTF, HTF, and many other games types work. See [[Sty]] for instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Scripts and Programs ==&lt;br /&gt;
&lt;br /&gt;
These are programs and scripts people have written that modify the game without requiring compiling the game.&lt;br /&gt;
&lt;br /&gt;
=== Generators ===&lt;br /&gt;
&lt;br /&gt;
These are scripts used to generate maps.&lt;br /&gt;
&lt;br /&gt;
==== Labyrinth Script ====&lt;br /&gt;
&lt;br /&gt;
This is the script that generates mazes.  It requires python and almost certainly requires a Linux installation.  It&#039;s never been tested in windows.  It&#039;s also available in [http://svn.sourceforge.net/viewvc/armagetronad/private/Lucifer/aamaprotator/scripts/mazer.py?view=markup Lucifer&#039;s private area of the SVN repository].  Patches should be made against that and sent to Lucifer.&lt;br /&gt;
&lt;br /&gt;
[[:Image:mazer.zip|Download this script]]&lt;br /&gt;
&lt;br /&gt;
==== Racer Script ====&lt;br /&gt;
&lt;br /&gt;
This script generates racer maps with walls and deathzones and obstacles. You can configure the look of the obstacles and the average amount of obstacles to be put onto the map. It requires PHP and probably runs best on linux, though it doesn&#039;t use any system- specific calls, it just prints to stdout.&lt;br /&gt;
&lt;br /&gt;
The script is quite hacky and lacking any proper documentation, but not very complex, so it shouldn&#039;t be hard to hack it some more. [[:Image:Racer-php.gz|Download the script]]&lt;br /&gt;
&lt;br /&gt;
=== Map Rotation ===&lt;br /&gt;
&lt;br /&gt;
A basic map rotator / rotation script by kyle can be found on the forums [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 here] The post also links to a detailed explanation on how to run the script on the Crazy-Tronners wiki.&lt;br /&gt;
&lt;br /&gt;
==== Lucifer&#039;s Map Rotator ====&lt;br /&gt;
&lt;br /&gt;
This is the rotator that used to power Swamplords on Crack before it was taken down.  It includes the mazer.py script listed in Generators on this page.  Probably requires Linux, it&#039;s not known to work in Windows.&lt;br /&gt;
&lt;br /&gt;
[[:Image:aamaprotator.zip|Download the file]]&lt;br /&gt;
&lt;br /&gt;
==== Lover$Boy&#039;s Map Rotator ====&lt;br /&gt;
&lt;br /&gt;
This is the program that LOVER$BOY has created after seeing many map rotation written in PHP and are meant to be used in a Linux program (mainly used in a Terminal).&lt;br /&gt;
&lt;br /&gt;
This program is meant to be used in Windows OS. The program is located in the website that LOVER$BOY uses to host his maps for the servers that he will host later.&lt;br /&gt;
&lt;br /&gt;
The website is: [http://lightningbrothers.webs.com Lightning $ Brothers]&lt;br /&gt;
&lt;br /&gt;
If you get confused with the initials of the website (or old clan tag):&lt;br /&gt;
&lt;br /&gt;
Lover$boy &#039;s initials are also: L$B&lt;br /&gt;
&lt;br /&gt;
=== Server monitors ===&lt;br /&gt;
&lt;br /&gt;
==== [[ArmaBell]] ====&lt;br /&gt;
&lt;br /&gt;
A server monitor written by iF with tons of features for windows. Unfortunately the source code isn&#039;t available and it has been discontinued, and it doesn&#039;t even work anymore without some quirks.&lt;br /&gt;
&lt;br /&gt;
==== [http://wejp.k.vu/projects/armaspy/ ArmaSpy] ====&lt;br /&gt;
&lt;br /&gt;
A GTK server monitor written by weip in C. It runs on Linux and most likely other *nix–like operating systems too.&lt;br /&gt;
&lt;br /&gt;
==== ArmaSpy Advanced ====&lt;br /&gt;
&lt;br /&gt;
A server monitor written in python using PyKDE with some more features than ArmaSpy. It lets you directly join a server by clicking on a player in it, hilights servers in your server favorites and features a buddy list.&lt;br /&gt;
&lt;br /&gt;
=== Ranking Scripts ===&lt;br /&gt;
&lt;br /&gt;
==== [http://jonklo.net/armagetron/scripts/armastats/ Armastats] ====&lt;br /&gt;
&lt;br /&gt;
A simple script to display the ranks of players based on matches won. &lt;br /&gt;
&lt;br /&gt;
This site seems to have been removed.&lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
* [http://wrtlprnft.ath.cx/armaspyadvanced2.png Screenshot of the menu]&lt;br /&gt;
* [http://wrtlprnft.ath.cx/armaspyadvanced3.png Screenshot of the buddy screen]&lt;br /&gt;
* [http://svn.sourceforge.net/viewvc/armagetronad/private/wrtlprnft/armaspyadvanced/armaspyadvanced.py?view=markup View Source]&lt;br /&gt;
* [http://svn.sourceforge.net/viewvc/*checkout*/armagetronad/private/wrtlprnft/armaspyadvanced/armaspyadvanced.py Download] &lt;br /&gt;
* [http://forums.armagetronad.net/viewtopic.php?t=7791 Original topic]&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Code_hacks&amp;diff=34110</id>
		<title>Code hacks</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Code_hacks&amp;diff=34110"/>
		<updated>2011-06-28T09:28:19Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Lover$Boy&amp;#039;s Map Rotator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;From time to time people do various hacks to the code or write various scripts and programs to support the game.  We&#039;ll try to collect them here so you can use them too.  If you have a hack you&#039;d like to add, just add it here. For it to format correctly, put &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Copy paste your script here, in the space inbetween the code and pre commands.&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively just copy and paste the script as it is, but add a space in front of every line.&lt;br /&gt;
&lt;br /&gt;
Note: there is no &amp;lt;nowiki&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/nowiki&amp;gt; in front of the script.&lt;br /&gt;
&lt;br /&gt;
== Modifications to Armagetron Advanced ==&lt;br /&gt;
&lt;br /&gt;
These usually require actually applying a patch to Armagetron Advanced source and recompiling.  Not for the faint of heart!&lt;br /&gt;
&lt;br /&gt;
=== Applying a Code Patch ===&lt;br /&gt;
&lt;br /&gt;
So, how exactly do you apply a code patch? First, you must cd into your directory containing the source code. Next, assuming you have a unix-based server, you must use the patch utility to hack the code. The patch utility is simple to use-- here is its syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;patch -p0 &amp;lt; code_hack.patch&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
now compile as you normally would.&lt;br /&gt;
&lt;br /&gt;
=== Styball, CTF and Shooting Patch ===&lt;br /&gt;
&lt;br /&gt;
groundpig&#039;s famous ball games, shooting, CTF, HTF, and many other games types work. See [[Sty]] for instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Scripts and Programs ==&lt;br /&gt;
&lt;br /&gt;
These are programs and scripts people have written that modify the game without requiring compiling the game.&lt;br /&gt;
&lt;br /&gt;
=== Generators ===&lt;br /&gt;
&lt;br /&gt;
These are scripts used to generate maps.&lt;br /&gt;
&lt;br /&gt;
==== Labyrinth Script ====&lt;br /&gt;
&lt;br /&gt;
This is the script that generates mazes.  It requires python and almost certainly requires a Linux installation.  It&#039;s never been tested in windows.  It&#039;s also available in [http://svn.sourceforge.net/viewvc/armagetronad/private/Lucifer/aamaprotator/scripts/mazer.py?view=markup Lucifer&#039;s private area of the SVN repository].  Patches should be made against that and sent to Lucifer.&lt;br /&gt;
&lt;br /&gt;
[[:Image:mazer.zip|Download this script]]&lt;br /&gt;
&lt;br /&gt;
==== Racer Script ====&lt;br /&gt;
&lt;br /&gt;
This script generates racer maps with walls and deathzones and obstacles. You can configure the look of the obstacles and the average amount of obstacles to be put onto the map. It requires PHP and probably runs best on linux, though it doesn&#039;t use any system- specific calls, it just prints to stdout.&lt;br /&gt;
&lt;br /&gt;
The script is quite hacky and lacking any proper documentation, but not very complex, so it shouldn&#039;t be hard to hack it some more. [[:Image:Racer-php.gz|Download the script]]&lt;br /&gt;
&lt;br /&gt;
=== Map Rotation ===&lt;br /&gt;
&lt;br /&gt;
A basic map rotator / rotation script by kyle can be found on the forums [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 here] The post also links to a detailed explanation on how to run the script on the Crazy-Tronners wiki.&lt;br /&gt;
&lt;br /&gt;
==== Lucifer&#039;s Map Rotator ====&lt;br /&gt;
&lt;br /&gt;
This is the rotator that used to power Swamplords on Crack before it was taken down.  It includes the mazer.py script listed in Generators on this page.  Probably requires Linux, it&#039;s not known to work in Windows.&lt;br /&gt;
&lt;br /&gt;
[[:Image:aamaprotator.zip|Download the file]]&lt;br /&gt;
&lt;br /&gt;
==== Lover$Boy&#039;s Map Rotator ====&lt;br /&gt;
&lt;br /&gt;
This is the program that LOVER$BOY has created after seeing many map rotation written in PHP and are meant to be used in a Linux program (mainly used in a Terminal).&lt;br /&gt;
&lt;br /&gt;
This program is meant to be used in Windows OS. The program is located in the website that LOVER$BOY uses to host his maps for the servers that he will host later.&lt;br /&gt;
&lt;br /&gt;
The website is: [http://lightningbrothers.webs.com Lightning $ Brothers]&lt;br /&gt;
&lt;br /&gt;
If you get confused with the initials of the website (or old clan tag):&lt;br /&gt;
&lt;br /&gt;
Lover$boy &#039;s initials are also: L$B&lt;br /&gt;
&lt;br /&gt;
=== Server monitors ===&lt;br /&gt;
&lt;br /&gt;
==== [[ArmaBell]] ====&lt;br /&gt;
&lt;br /&gt;
A server monitor written by iF with tons of features for windows. Unfortunately the source code isn&#039;t available and it has been discontinued, and it doesn&#039;t even work anymore without some quirks.&lt;br /&gt;
&lt;br /&gt;
==== [http://wejp.k.vu/projects/armaspy/ ArmaSpy] ====&lt;br /&gt;
&lt;br /&gt;
A GTK server monitor written by weip in C. It runs on Linux and most likely other *nix–like operating systems too.&lt;br /&gt;
&lt;br /&gt;
==== ArmaSpy Advanced ====&lt;br /&gt;
&lt;br /&gt;
A server monitor written in python using PyKDE with some more features than ArmaSpy. It lets you directly join a server by clicking on a player in it, hilights servers in your server favorites and features a buddy list.&lt;br /&gt;
&lt;br /&gt;
=== Ranking Scripts ===&lt;br /&gt;
&lt;br /&gt;
==== [http://jonklo.net/armagetron/scripts/armastats/ Armastats] ====&lt;br /&gt;
&lt;br /&gt;
A simple script to display the ranks of players based on matches won. &lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
* [http://wrtlprnft.ath.cx/armaspyadvanced2.png Screenshot of the menu]&lt;br /&gt;
* [http://wrtlprnft.ath.cx/armaspyadvanced3.png Screenshot of the buddy screen]&lt;br /&gt;
* [http://svn.sourceforge.net/viewvc/armagetronad/private/wrtlprnft/armaspyadvanced/armaspyadvanced.py?view=markup View Source]&lt;br /&gt;
* [http://svn.sourceforge.net/viewvc/*checkout*/armagetronad/private/wrtlprnft/armaspyadvanced/armaspyadvanced.py Download] &lt;br /&gt;
* [http://forums.armagetronad.net/viewtopic.php?t=7791 Original topic]&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Code_hacks&amp;diff=34109</id>
		<title>Code hacks</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Code_hacks&amp;diff=34109"/>
		<updated>2011-06-28T09:27:21Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Lover$Boy&amp;#039;s Map Rotator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;From time to time people do various hacks to the code or write various scripts and programs to support the game.  We&#039;ll try to collect them here so you can use them too.  If you have a hack you&#039;d like to add, just add it here. For it to format correctly, put &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Copy paste your script here, in the space inbetween the code and pre commands.&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively just copy and paste the script as it is, but add a space in front of every line.&lt;br /&gt;
&lt;br /&gt;
Note: there is no &amp;lt;nowiki&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/nowiki&amp;gt; in front of the script.&lt;br /&gt;
&lt;br /&gt;
== Modifications to Armagetron Advanced ==&lt;br /&gt;
&lt;br /&gt;
These usually require actually applying a patch to Armagetron Advanced source and recompiling.  Not for the faint of heart!&lt;br /&gt;
&lt;br /&gt;
=== Applying a Code Patch ===&lt;br /&gt;
&lt;br /&gt;
So, how exactly do you apply a code patch? First, you must cd into your directory containing the source code. Next, assuming you have a unix-based server, you must use the patch utility to hack the code. The patch utility is simple to use-- here is its syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;patch -p0 &amp;lt; code_hack.patch&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
now compile as you normally would.&lt;br /&gt;
&lt;br /&gt;
=== Styball, CTF and Shooting Patch ===&lt;br /&gt;
&lt;br /&gt;
groundpig&#039;s famous ball games, shooting, CTF, HTF, and many other games types work. See [[Sty]] for instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Scripts and Programs ==&lt;br /&gt;
&lt;br /&gt;
These are programs and scripts people have written that modify the game without requiring compiling the game.&lt;br /&gt;
&lt;br /&gt;
=== Generators ===&lt;br /&gt;
&lt;br /&gt;
These are scripts used to generate maps.&lt;br /&gt;
&lt;br /&gt;
==== Labyrinth Script ====&lt;br /&gt;
&lt;br /&gt;
This is the script that generates mazes.  It requires python and almost certainly requires a Linux installation.  It&#039;s never been tested in windows.  It&#039;s also available in [http://svn.sourceforge.net/viewvc/armagetronad/private/Lucifer/aamaprotator/scripts/mazer.py?view=markup Lucifer&#039;s private area of the SVN repository].  Patches should be made against that and sent to Lucifer.&lt;br /&gt;
&lt;br /&gt;
[[:Image:mazer.zip|Download this script]]&lt;br /&gt;
&lt;br /&gt;
==== Racer Script ====&lt;br /&gt;
&lt;br /&gt;
This script generates racer maps with walls and deathzones and obstacles. You can configure the look of the obstacles and the average amount of obstacles to be put onto the map. It requires PHP and probably runs best on linux, though it doesn&#039;t use any system- specific calls, it just prints to stdout.&lt;br /&gt;
&lt;br /&gt;
The script is quite hacky and lacking any proper documentation, but not very complex, so it shouldn&#039;t be hard to hack it some more. [[:Image:Racer-php.gz|Download the script]]&lt;br /&gt;
&lt;br /&gt;
=== Map Rotation ===&lt;br /&gt;
&lt;br /&gt;
A basic map rotator / rotation script by kyle can be found on the forums [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 here] The post also links to a detailed explanation on how to run the script on the Crazy-Tronners wiki.&lt;br /&gt;
&lt;br /&gt;
==== Lucifer&#039;s Map Rotator ====&lt;br /&gt;
&lt;br /&gt;
This is the rotator that used to power Swamplords on Crack before it was taken down.  It includes the mazer.py script listed in Generators on this page.  Probably requires Linux, it&#039;s not known to work in Windows.&lt;br /&gt;
&lt;br /&gt;
[[:Image:aamaprotator.zip|Download the file]]&lt;br /&gt;
&lt;br /&gt;
==== Lover$Boy&#039;s Map Rotator ====&lt;br /&gt;
&lt;br /&gt;
This is the program that LOVER$BOY has created after seeing many map rotation written in PHP and are meant to be used in a Linux program (mainly used in a Terminal).&lt;br /&gt;
&lt;br /&gt;
This program is meant to be used in Windows OS. The program is located in the website that LOVER$BOY uses to host his maps for the servers that he will host later.&lt;br /&gt;
&lt;br /&gt;
The website is: [http://lightningbrothers.webs.com Lightning $ Brothers]&lt;br /&gt;
&lt;br /&gt;
If you get confused with the initials of the website (or old clan tag):&lt;br /&gt;
Lover$boy &#039;s initials are also: L$B&lt;br /&gt;
&lt;br /&gt;
=== Server monitors ===&lt;br /&gt;
&lt;br /&gt;
==== [[ArmaBell]] ====&lt;br /&gt;
&lt;br /&gt;
A server monitor written by iF with tons of features for windows. Unfortunately the source code isn&#039;t available and it has been discontinued, and it doesn&#039;t even work anymore without some quirks.&lt;br /&gt;
&lt;br /&gt;
==== [http://wejp.k.vu/projects/armaspy/ ArmaSpy] ====&lt;br /&gt;
&lt;br /&gt;
A GTK server monitor written by weip in C. It runs on Linux and most likely other *nix–like operating systems too.&lt;br /&gt;
&lt;br /&gt;
==== ArmaSpy Advanced ====&lt;br /&gt;
&lt;br /&gt;
A server monitor written in python using PyKDE with some more features than ArmaSpy. It lets you directly join a server by clicking on a player in it, hilights servers in your server favorites and features a buddy list.&lt;br /&gt;
&lt;br /&gt;
=== Ranking Scripts ===&lt;br /&gt;
&lt;br /&gt;
==== [http://jonklo.net/armagetron/scripts/armastats/ Armastats] ====&lt;br /&gt;
&lt;br /&gt;
A simple script to display the ranks of players based on matches won. &lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
* [http://wrtlprnft.ath.cx/armaspyadvanced2.png Screenshot of the menu]&lt;br /&gt;
* [http://wrtlprnft.ath.cx/armaspyadvanced3.png Screenshot of the buddy screen]&lt;br /&gt;
* [http://svn.sourceforge.net/viewvc/armagetronad/private/wrtlprnft/armaspyadvanced/armaspyadvanced.py?view=markup View Source]&lt;br /&gt;
* [http://svn.sourceforge.net/viewvc/*checkout*/armagetronad/private/wrtlprnft/armaspyadvanced/armaspyadvanced.py Download] &lt;br /&gt;
* [http://forums.armagetronad.net/viewtopic.php?t=7791 Original topic]&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Code_hacks&amp;diff=34108</id>
		<title>Code hacks</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Code_hacks&amp;diff=34108"/>
		<updated>2011-06-28T09:26:42Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Lover$Boy&amp;#039;s Map Rotator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;From time to time people do various hacks to the code or write various scripts and programs to support the game.  We&#039;ll try to collect them here so you can use them too.  If you have a hack you&#039;d like to add, just add it here. For it to format correctly, put &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Copy paste your script here, in the space inbetween the code and pre commands.&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively just copy and paste the script as it is, but add a space in front of every line.&lt;br /&gt;
&lt;br /&gt;
Note: there is no &amp;lt;nowiki&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/nowiki&amp;gt; in front of the script.&lt;br /&gt;
&lt;br /&gt;
== Modifications to Armagetron Advanced ==&lt;br /&gt;
&lt;br /&gt;
These usually require actually applying a patch to Armagetron Advanced source and recompiling.  Not for the faint of heart!&lt;br /&gt;
&lt;br /&gt;
=== Applying a Code Patch ===&lt;br /&gt;
&lt;br /&gt;
So, how exactly do you apply a code patch? First, you must cd into your directory containing the source code. Next, assuming you have a unix-based server, you must use the patch utility to hack the code. The patch utility is simple to use-- here is its syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;patch -p0 &amp;lt; code_hack.patch&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
now compile as you normally would.&lt;br /&gt;
&lt;br /&gt;
=== Styball, CTF and Shooting Patch ===&lt;br /&gt;
&lt;br /&gt;
groundpig&#039;s famous ball games, shooting, CTF, HTF, and many other games types work. See [[Sty]] for instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Scripts and Programs ==&lt;br /&gt;
&lt;br /&gt;
These are programs and scripts people have written that modify the game without requiring compiling the game.&lt;br /&gt;
&lt;br /&gt;
=== Generators ===&lt;br /&gt;
&lt;br /&gt;
These are scripts used to generate maps.&lt;br /&gt;
&lt;br /&gt;
==== Labyrinth Script ====&lt;br /&gt;
&lt;br /&gt;
This is the script that generates mazes.  It requires python and almost certainly requires a Linux installation.  It&#039;s never been tested in windows.  It&#039;s also available in [http://svn.sourceforge.net/viewvc/armagetronad/private/Lucifer/aamaprotator/scripts/mazer.py?view=markup Lucifer&#039;s private area of the SVN repository].  Patches should be made against that and sent to Lucifer.&lt;br /&gt;
&lt;br /&gt;
[[:Image:mazer.zip|Download this script]]&lt;br /&gt;
&lt;br /&gt;
==== Racer Script ====&lt;br /&gt;
&lt;br /&gt;
This script generates racer maps with walls and deathzones and obstacles. You can configure the look of the obstacles and the average amount of obstacles to be put onto the map. It requires PHP and probably runs best on linux, though it doesn&#039;t use any system- specific calls, it just prints to stdout.&lt;br /&gt;
&lt;br /&gt;
The script is quite hacky and lacking any proper documentation, but not very complex, so it shouldn&#039;t be hard to hack it some more. [[:Image:Racer-php.gz|Download the script]]&lt;br /&gt;
&lt;br /&gt;
=== Map Rotation ===&lt;br /&gt;
&lt;br /&gt;
A basic map rotator / rotation script by kyle can be found on the forums [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 here] The post also links to a detailed explanation on how to run the script on the Crazy-Tronners wiki.&lt;br /&gt;
&lt;br /&gt;
==== Lucifer&#039;s Map Rotator ====&lt;br /&gt;
&lt;br /&gt;
This is the rotator that used to power Swamplords on Crack before it was taken down.  It includes the mazer.py script listed in Generators on this page.  Probably requires Linux, it&#039;s not known to work in Windows.&lt;br /&gt;
&lt;br /&gt;
[[:Image:aamaprotator.zip|Download the file]]&lt;br /&gt;
&lt;br /&gt;
==== Lover$Boy&#039;s Map Rotator ====&lt;br /&gt;
&lt;br /&gt;
This is the program that LOVER$BOY has created after seeing many map rotation written in PHP and are meant to be used in a Linux program (mainly used in a Terminal).&lt;br /&gt;
&lt;br /&gt;
This program is meant to be used in Windows OS. The program is located in the website that LOVER$BOY uses to host his maps for the servers that he will host later.&lt;br /&gt;
&lt;br /&gt;
The website is: [http://lightningbrothers.webs.com Lightning $ Brothers]&lt;br /&gt;
&lt;br /&gt;
Lover$boy &#039;s initials are also: L$B if you get confused with the initials of the website (or old clan tag).&lt;br /&gt;
&lt;br /&gt;
=== Server monitors ===&lt;br /&gt;
&lt;br /&gt;
==== [[ArmaBell]] ====&lt;br /&gt;
&lt;br /&gt;
A server monitor written by iF with tons of features for windows. Unfortunately the source code isn&#039;t available and it has been discontinued, and it doesn&#039;t even work anymore without some quirks.&lt;br /&gt;
&lt;br /&gt;
==== [http://wejp.k.vu/projects/armaspy/ ArmaSpy] ====&lt;br /&gt;
&lt;br /&gt;
A GTK server monitor written by weip in C. It runs on Linux and most likely other *nix–like operating systems too.&lt;br /&gt;
&lt;br /&gt;
==== ArmaSpy Advanced ====&lt;br /&gt;
&lt;br /&gt;
A server monitor written in python using PyKDE with some more features than ArmaSpy. It lets you directly join a server by clicking on a player in it, hilights servers in your server favorites and features a buddy list.&lt;br /&gt;
&lt;br /&gt;
=== Ranking Scripts ===&lt;br /&gt;
&lt;br /&gt;
==== [http://jonklo.net/armagetron/scripts/armastats/ Armastats] ====&lt;br /&gt;
&lt;br /&gt;
A simple script to display the ranks of players based on matches won. &lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
* [http://wrtlprnft.ath.cx/armaspyadvanced2.png Screenshot of the menu]&lt;br /&gt;
* [http://wrtlprnft.ath.cx/armaspyadvanced3.png Screenshot of the buddy screen]&lt;br /&gt;
* [http://svn.sourceforge.net/viewvc/armagetronad/private/wrtlprnft/armaspyadvanced/armaspyadvanced.py?view=markup View Source]&lt;br /&gt;
* [http://svn.sourceforge.net/viewvc/*checkout*/armagetronad/private/wrtlprnft/armaspyadvanced/armaspyadvanced.py Download] &lt;br /&gt;
* [http://forums.armagetronad.net/viewtopic.php?t=7791 Original topic]&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Code_hacks&amp;diff=34107</id>
		<title>Code hacks</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Code_hacks&amp;diff=34107"/>
		<updated>2011-06-28T09:25:47Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Lover$Boy&amp;#039;s Map Rotator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;From time to time people do various hacks to the code or write various scripts and programs to support the game.  We&#039;ll try to collect them here so you can use them too.  If you have a hack you&#039;d like to add, just add it here. For it to format correctly, put &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Copy paste your script here, in the space inbetween the code and pre commands.&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively just copy and paste the script as it is, but add a space in front of every line.&lt;br /&gt;
&lt;br /&gt;
Note: there is no &amp;lt;nowiki&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/nowiki&amp;gt; in front of the script.&lt;br /&gt;
&lt;br /&gt;
== Modifications to Armagetron Advanced ==&lt;br /&gt;
&lt;br /&gt;
These usually require actually applying a patch to Armagetron Advanced source and recompiling.  Not for the faint of heart!&lt;br /&gt;
&lt;br /&gt;
=== Applying a Code Patch ===&lt;br /&gt;
&lt;br /&gt;
So, how exactly do you apply a code patch? First, you must cd into your directory containing the source code. Next, assuming you have a unix-based server, you must use the patch utility to hack the code. The patch utility is simple to use-- here is its syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;patch -p0 &amp;lt; code_hack.patch&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
now compile as you normally would.&lt;br /&gt;
&lt;br /&gt;
=== Styball, CTF and Shooting Patch ===&lt;br /&gt;
&lt;br /&gt;
groundpig&#039;s famous ball games, shooting, CTF, HTF, and many other games types work. See [[Sty]] for instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Scripts and Programs ==&lt;br /&gt;
&lt;br /&gt;
These are programs and scripts people have written that modify the game without requiring compiling the game.&lt;br /&gt;
&lt;br /&gt;
=== Generators ===&lt;br /&gt;
&lt;br /&gt;
These are scripts used to generate maps.&lt;br /&gt;
&lt;br /&gt;
==== Labyrinth Script ====&lt;br /&gt;
&lt;br /&gt;
This is the script that generates mazes.  It requires python and almost certainly requires a Linux installation.  It&#039;s never been tested in windows.  It&#039;s also available in [http://svn.sourceforge.net/viewvc/armagetronad/private/Lucifer/aamaprotator/scripts/mazer.py?view=markup Lucifer&#039;s private area of the SVN repository].  Patches should be made against that and sent to Lucifer.&lt;br /&gt;
&lt;br /&gt;
[[:Image:mazer.zip|Download this script]]&lt;br /&gt;
&lt;br /&gt;
==== Racer Script ====&lt;br /&gt;
&lt;br /&gt;
This script generates racer maps with walls and deathzones and obstacles. You can configure the look of the obstacles and the average amount of obstacles to be put onto the map. It requires PHP and probably runs best on linux, though it doesn&#039;t use any system- specific calls, it just prints to stdout.&lt;br /&gt;
&lt;br /&gt;
The script is quite hacky and lacking any proper documentation, but not very complex, so it shouldn&#039;t be hard to hack it some more. [[:Image:Racer-php.gz|Download the script]]&lt;br /&gt;
&lt;br /&gt;
=== Map Rotation ===&lt;br /&gt;
&lt;br /&gt;
A basic map rotator / rotation script by kyle can be found on the forums [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 here] The post also links to a detailed explanation on how to run the script on the Crazy-Tronners wiki.&lt;br /&gt;
&lt;br /&gt;
==== Lucifer&#039;s Map Rotator ====&lt;br /&gt;
&lt;br /&gt;
This is the rotator that used to power Swamplords on Crack before it was taken down.  It includes the mazer.py script listed in Generators on this page.  Probably requires Linux, it&#039;s not known to work in Windows.&lt;br /&gt;
&lt;br /&gt;
[[:Image:aamaprotator.zip|Download the file]]&lt;br /&gt;
&lt;br /&gt;
==== Lover$Boy&#039;s Map Rotator ====&lt;br /&gt;
&lt;br /&gt;
This is the program that LOVER$BOY has created after seeing many map rotation written in PHP and are meant to be used in a Linux program (mainly used in a Terminal).&lt;br /&gt;
&lt;br /&gt;
This program is meant to be used in Windows OS. The program is located in the website that LOVER$BOY uses to host his maps for the servers that he will host later.&lt;br /&gt;
&lt;br /&gt;
The website is: [http://lightningbrothers.webs.com Lightning $ Brothers]&lt;br /&gt;
&lt;br /&gt;
=== Server monitors ===&lt;br /&gt;
&lt;br /&gt;
==== [[ArmaBell]] ====&lt;br /&gt;
&lt;br /&gt;
A server monitor written by iF with tons of features for windows. Unfortunately the source code isn&#039;t available and it has been discontinued, and it doesn&#039;t even work anymore without some quirks.&lt;br /&gt;
&lt;br /&gt;
==== [http://wejp.k.vu/projects/armaspy/ ArmaSpy] ====&lt;br /&gt;
&lt;br /&gt;
A GTK server monitor written by weip in C. It runs on Linux and most likely other *nix–like operating systems too.&lt;br /&gt;
&lt;br /&gt;
==== ArmaSpy Advanced ====&lt;br /&gt;
&lt;br /&gt;
A server monitor written in python using PyKDE with some more features than ArmaSpy. It lets you directly join a server by clicking on a player in it, hilights servers in your server favorites and features a buddy list.&lt;br /&gt;
&lt;br /&gt;
=== Ranking Scripts ===&lt;br /&gt;
&lt;br /&gt;
==== [http://jonklo.net/armagetron/scripts/armastats/ Armastats] ====&lt;br /&gt;
&lt;br /&gt;
A simple script to display the ranks of players based on matches won. &lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
* [http://wrtlprnft.ath.cx/armaspyadvanced2.png Screenshot of the menu]&lt;br /&gt;
* [http://wrtlprnft.ath.cx/armaspyadvanced3.png Screenshot of the buddy screen]&lt;br /&gt;
* [http://svn.sourceforge.net/viewvc/armagetronad/private/wrtlprnft/armaspyadvanced/armaspyadvanced.py?view=markup View Source]&lt;br /&gt;
* [http://svn.sourceforge.net/viewvc/*checkout*/armagetronad/private/wrtlprnft/armaspyadvanced/armaspyadvanced.py Download] &lt;br /&gt;
* [http://forums.armagetronad.net/viewtopic.php?t=7791 Original topic]&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Code_hacks&amp;diff=34106</id>
		<title>Code hacks</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Code_hacks&amp;diff=34106"/>
		<updated>2011-06-28T09:22:43Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Lucifer&amp;#039;s Map Rotator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;From time to time people do various hacks to the code or write various scripts and programs to support the game.  We&#039;ll try to collect them here so you can use them too.  If you have a hack you&#039;d like to add, just add it here. For it to format correctly, put &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
Copy paste your script here, in the space inbetween the code and pre commands.&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively just copy and paste the script as it is, but add a space in front of every line.&lt;br /&gt;
&lt;br /&gt;
Note: there is no &amp;lt;nowiki&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/nowiki&amp;gt; in front of the script.&lt;br /&gt;
&lt;br /&gt;
== Modifications to Armagetron Advanced ==&lt;br /&gt;
&lt;br /&gt;
These usually require actually applying a patch to Armagetron Advanced source and recompiling.  Not for the faint of heart!&lt;br /&gt;
&lt;br /&gt;
=== Applying a Code Patch ===&lt;br /&gt;
&lt;br /&gt;
So, how exactly do you apply a code patch? First, you must cd into your directory containing the source code. Next, assuming you have a unix-based server, you must use the patch utility to hack the code. The patch utility is simple to use-- here is its syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;patch -p0 &amp;lt; code_hack.patch&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
now compile as you normally would.&lt;br /&gt;
&lt;br /&gt;
=== Styball, CTF and Shooting Patch ===&lt;br /&gt;
&lt;br /&gt;
groundpig&#039;s famous ball games, shooting, CTF, HTF, and many other games types work. See [[Sty]] for instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Scripts and Programs ==&lt;br /&gt;
&lt;br /&gt;
These are programs and scripts people have written that modify the game without requiring compiling the game.&lt;br /&gt;
&lt;br /&gt;
=== Generators ===&lt;br /&gt;
&lt;br /&gt;
These are scripts used to generate maps.&lt;br /&gt;
&lt;br /&gt;
==== Labyrinth Script ====&lt;br /&gt;
&lt;br /&gt;
This is the script that generates mazes.  It requires python and almost certainly requires a Linux installation.  It&#039;s never been tested in windows.  It&#039;s also available in [http://svn.sourceforge.net/viewvc/armagetronad/private/Lucifer/aamaprotator/scripts/mazer.py?view=markup Lucifer&#039;s private area of the SVN repository].  Patches should be made against that and sent to Lucifer.&lt;br /&gt;
&lt;br /&gt;
[[:Image:mazer.zip|Download this script]]&lt;br /&gt;
&lt;br /&gt;
==== Racer Script ====&lt;br /&gt;
&lt;br /&gt;
This script generates racer maps with walls and deathzones and obstacles. You can configure the look of the obstacles and the average amount of obstacles to be put onto the map. It requires PHP and probably runs best on linux, though it doesn&#039;t use any system- specific calls, it just prints to stdout.&lt;br /&gt;
&lt;br /&gt;
The script is quite hacky and lacking any proper documentation, but not very complex, so it shouldn&#039;t be hard to hack it some more. [[:Image:Racer-php.gz|Download the script]]&lt;br /&gt;
&lt;br /&gt;
=== Map Rotation ===&lt;br /&gt;
&lt;br /&gt;
A basic map rotator / rotation script by kyle can be found on the forums [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 here] The post also links to a detailed explanation on how to run the script on the Crazy-Tronners wiki.&lt;br /&gt;
&lt;br /&gt;
==== Lucifer&#039;s Map Rotator ====&lt;br /&gt;
&lt;br /&gt;
This is the rotator that used to power Swamplords on Crack before it was taken down.  It includes the mazer.py script listed in Generators on this page.  Probably requires Linux, it&#039;s not known to work in Windows.&lt;br /&gt;
&lt;br /&gt;
[[:Image:aamaprotator.zip|Download the file]]&lt;br /&gt;
&lt;br /&gt;
==== Lover$Boy&#039;s Map Rotator ====&lt;br /&gt;
&lt;br /&gt;
=== Server monitors ===&lt;br /&gt;
&lt;br /&gt;
==== [[ArmaBell]] ====&lt;br /&gt;
&lt;br /&gt;
A server monitor written by iF with tons of features for windows. Unfortunately the source code isn&#039;t available and it has been discontinued, and it doesn&#039;t even work anymore without some quirks.&lt;br /&gt;
&lt;br /&gt;
==== [http://wejp.k.vu/projects/armaspy/ ArmaSpy] ====&lt;br /&gt;
&lt;br /&gt;
A GTK server monitor written by weip in C. It runs on Linux and most likely other *nix–like operating systems too.&lt;br /&gt;
&lt;br /&gt;
==== ArmaSpy Advanced ====&lt;br /&gt;
&lt;br /&gt;
A server monitor written in python using PyKDE with some more features than ArmaSpy. It lets you directly join a server by clicking on a player in it, hilights servers in your server favorites and features a buddy list.&lt;br /&gt;
&lt;br /&gt;
=== Ranking Scripts ===&lt;br /&gt;
&lt;br /&gt;
==== [http://jonklo.net/armagetron/scripts/armastats/ Armastats] ====&lt;br /&gt;
&lt;br /&gt;
A simple script to display the ranks of players based on matches won. &lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
* [http://wrtlprnft.ath.cx/armaspyadvanced2.png Screenshot of the menu]&lt;br /&gt;
* [http://wrtlprnft.ath.cx/armaspyadvanced3.png Screenshot of the buddy screen]&lt;br /&gt;
* [http://svn.sourceforge.net/viewvc/armagetronad/private/wrtlprnft/armaspyadvanced/armaspyadvanced.py?view=markup View Source]&lt;br /&gt;
* [http://svn.sourceforge.net/viewvc/*checkout*/armagetronad/private/wrtlprnft/armaspyadvanced/armaspyadvanced.py Download] &lt;br /&gt;
* [http://forums.armagetronad.net/viewtopic.php?t=7791 Original topic]&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=List_of_Clans&amp;diff=34021</id>
		<title>List of Clans</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=List_of_Clans&amp;diff=34021"/>
		<updated>2011-06-23T09:00:11Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Clans List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PlayerTbl}}&lt;br /&gt;
=Key=&lt;br /&gt;
Here&#039;s an uncompleted list of clans of tron in alphabetical order of the first letter or number character of the clan&#039;s tag. It shows their previous and current owners.&lt;br /&gt;
Click on the name of the clan so you can write/edit an article about it when you&#039;re registered here.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Keep them in alphabetical order or your clan will be removed. &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NEI = Not Enough Information&lt;br /&gt;
&lt;br /&gt;
N/A = Not Applicable&lt;br /&gt;
&lt;br /&gt;
? = Almost definite, but unsure&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; = domain invalid&lt;br /&gt;
&lt;br /&gt;
=Clans List=&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! Clan Tag !! [[Clan Name]] !! Original/Current Leader !! Thriving Divisions !! Is It Still Alive? !! Website !! Years Active&lt;br /&gt;
|-&lt;br /&gt;
! 24/7--&lt;br /&gt;
| [[24/7]] ||Starlight|| Ctf, Df, High Rubber || YES || N/A || 2011-Present || &lt;br /&gt;
|-&lt;br /&gt;
! @T&lt;br /&gt;
| [[Absolute Tronners]] || Kp,Death Zone,TicK|| CTF, HR, HRS, Fortress, Sumo|| YES || [http://atronners.tk at clan] || 2011-Present || &lt;br /&gt;
|-&lt;br /&gt;
! AoF&lt;br /&gt;
| [[Assassins of Faith]] || Ira || high rubber, loose || yes || http://aofclan-tron.proboards.com || 2009 - present || &lt;br /&gt;
|-&lt;br /&gt;
! Apple&lt;br /&gt;
| [[Apple (Exclusive Clan)]] || NEL, Proxy || HR, loose || Yea || N/A (Private) || ???? - Present ||&lt;br /&gt;
|-&lt;br /&gt;
! 1337&lt;br /&gt;
| [[1337 Clan]] || w4rl0rd, ashitaka || Fortress / Sumo || yes || [http://1337.ch.vu/]||&lt;br /&gt;
|-&lt;br /&gt;
! -»&lt;br /&gt;
| [[Arrow-Clan]] || freako, olive || Fortress, Sumo || Yes ||  http://arrowclan.freeforums.org|| *2008 (?) ||&lt;br /&gt;
|-&lt;br /&gt;
! ~CA&#039;&lt;br /&gt;
| [[Conclusive Annihilation]] || ImAgiNaT!0n || HR, LR, Sumo, Loose, DF || Yes ||  http://conclusive-annihilation-clan.forumprofi.de|| *2011 (?) ||&lt;br /&gt;
|-&lt;br /&gt;
!CD&lt;br /&gt;
| Club Dutch || Bandit, Bubb || hr, sumo || Yes || http://www.clubdutch.be/ || 2008-present ||&lt;br /&gt;
|-  &lt;br /&gt;
! COR3&lt;br /&gt;
| [[COR3]] || rekonq, TheDoctor || All || Yes&lt;br /&gt;
|-&lt;br /&gt;
! CT&lt;br /&gt;
| [[Crazy Tronners]] || Xevi, Sol, K-Yo || Fortress / Sumo || Yes || [http://crazy-tronners.com ct clan]|| *Feb. 2005 - Present&lt;br /&gt;
|-&lt;br /&gt;
! COT&lt;br /&gt;
| [[Creators of tron]] ||Shadow/ReTrO || HR || Yes || http://creatorsoftron.webs.com/||&lt;br /&gt;
|- &lt;br /&gt;
! &amp;lt;nowiki&amp;gt;D3m|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| [[Dark Evil Minds]] || Pain || CTFS || Yes || http://dem.smfnew.com||&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;.dBd|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| [[Death By Distraction]] || NEI || DF, Sumo, HR, CTF(S) || Yes || http://dbdclan.notlong.com ||&lt;br /&gt;
|-&lt;br /&gt;
! dFk&lt;br /&gt;
| [[ dog Fight kings ]] || TwiX, tw!+{h || dog Fight kings || Yes || http://dfkclan.webs.com ||&lt;br /&gt;
|-&lt;br /&gt;
! D3&lt;br /&gt;
| [[Death 3aters]] || Red || High Rubber || Yes || NEI ||&lt;br /&gt;
|- &lt;br /&gt;
! &amp;lt;nowiki&amp;gt;dB|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| [[Diztruktive Beauty]] || Technology || NEI || Yes || http://destruktivebeauty.freeforums.org|| Reborn to present&lt;br /&gt;
|-&lt;br /&gt;
! DJ&lt;br /&gt;
| [[The DJ Clan]] || DJ*UBITZO,DJ*MOOCH,DJ SMELLYGINGER,DJ JUSTIN || Advanced Racing,WildCat,AfroThunder HighRubber with Shooting, Nano&#039;s Playground || Yes || http://www.thedjclan.webs.com || Late 2010- Present&lt;br /&gt;
|-&lt;br /&gt;
! DLD.&lt;br /&gt;
| [[Devils Last Decent]] ||  Ira || HR, Dogfight, Loose || Yes || http://dldclan.darkbb.com||2009-present&lt;br /&gt;
|- &lt;br /&gt;
! dm&lt;br /&gt;
| [[Digital Motion]] || RYON, L || High Rubber, DOGFIGHT || Yes || http://www.myspace.com/digitalmotionclan  || *2010 (?)||&lt;br /&gt;
|- &lt;br /&gt;
! DoS&lt;br /&gt;
| [[NEI]]|| NEI || Fortress || Yes || NEI||&lt;br /&gt;
|-&lt;br /&gt;
! DpG&lt;br /&gt;
| [[Disgruntled Programmers]] || flea || Capture the Flag, Fort, Sumo || Yes || http://respwn.us|| *2011 - present||&lt;br /&gt;
|-&lt;br /&gt;
! | ~|DS|~&lt;br /&gt;
| [[DarkSyndicate]] || Cruz, Zion / 3B, Milan || Fortress, High Rubber || Yes || http://ds.experimentalworks.net||&lt;br /&gt;
|-&lt;br /&gt;
! ERA&lt;br /&gt;
| [[ERA]] || ScoreS || [Unknown] || Yes || ||&lt;br /&gt;
|-&lt;br /&gt;
! F!&lt;br /&gt;
| [[Fight Clan]] || Thump, zaT|| Sumo, HR || Yes || http://fight-clan.wwwd.name||&lt;br /&gt;
|-&lt;br /&gt;
! | |FA|&lt;br /&gt;
| [[Fallen Angels]] || DragonHeart || NEI || Yes || http://fallin-angels.org/||&lt;br /&gt;
|-&lt;br /&gt;
! GT&lt;br /&gt;
| [[Galactic Tronners]] || TeeHee and asdf || High Rubber (S) / CTF (S) /  Racing / DF / Fortress / Sumo || Yes || http://galactictronners.webs.com/ || 2011-Present ||&lt;br /&gt;
|-&lt;br /&gt;
! HÅ¤&lt;br /&gt;
| [[The Hackers Association]]|| Chi, Ghostly, ntc|| All || Yes || http://hackersassociation.com/|| 2010 - present&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! HC&lt;br /&gt;
| [[Hot Chicks]]|| Alma, Moe|| All || Yes || http://hchicks.forumotion.com/|| 2011-&lt;br /&gt;
|-&lt;br /&gt;
! -=}ID&amp;lt;&lt;br /&gt;
| [[Immortal Dynasty]] || Killer, ARilou, Sin / Tsugaru, Sin || Any and All Styles || Yes || http://idclansite.info|| 2005 - present&lt;br /&gt;
|-&lt;br /&gt;
!îPwn&lt;br /&gt;
| [[iPwn]] || Fåke, ÇharGeD || HR, HRS, Fort || Yes || http://fepforums.forumotion.com/ || 2011- ||&lt;br /&gt;
|-&lt;br /&gt;
! -=L$)&lt;br /&gt;
| [[Last $urvivors]] || Rip/Revenge (JSM) || CTFS || Yes || http://ls-clan.5forum.info||&lt;br /&gt;
|- &lt;br /&gt;
! mA&lt;br /&gt;
| [[Midnight Assasins]] || RAWR,DRETRON      || Everything||Yes|| http://midnightassasin.webs.com/&lt;br /&gt;
|-         &lt;br /&gt;
! // or mYm&lt;br /&gt;
| [[Meet Your Maker]] || eckz, envy || All || Yes || http://www.meetyourmaker.tk ||&lt;br /&gt;
|-&lt;br /&gt;
! mW&lt;br /&gt;
| [[Most Wanted]] || Amazing || Low &amp;amp; Medium Rubber Deathmatch Clan || Yes || http://mostwanted.clannations.com|| Feb. 2009 - present|&lt;br /&gt;
|- &lt;br /&gt;
! MQ&lt;br /&gt;
| [[MontQuest]] || Original: Daftmau5 Current: Manana || High Rubber / High Speed || Yes || || Dec. 2010 - present||&lt;br /&gt;
|-&lt;br /&gt;
! MQE&lt;br /&gt;
| [[MontQuest Elite]] || Daftmau5 || High Rubber / High Speed|| Yes || || Feb. 2011 - present||&lt;br /&gt;
|-&lt;br /&gt;
! ~=OD!&lt;br /&gt;
| [[Omega Destruction]] || Neah, Whitey || High Rubber, CTF, DF , Sumo || Yes || http://omegaclan.freeforums.org/portal.php|| 2010 - Present&lt;br /&gt;
|-&lt;br /&gt;
! | |PA|&lt;br /&gt;
| [[Psychadelic Angels]] || McNerd || CTF || Yes || http://ubunt.proboards.com/index.cgi || 2011 - Present&lt;br /&gt;
|-&lt;br /&gt;
!  |ph|&lt;br /&gt;
| [[Pretty High]] || Soakz, Rebel || High Rubber, DF, Loose, Wildcat || Yes|| http://prettyhigh.tk|| 2011- Present&lt;br /&gt;
|-&lt;br /&gt;
! .pRu&lt;br /&gt;
| [[PLZ RES US!]] || Word , AI , Eggman|| CTF, Sumo, Dog Fight, Fortress || Yes || http://www.trongame.de/ || *6.12.2008 - present&lt;br /&gt;
|-&lt;br /&gt;
! _~R~_&lt;br /&gt;
| [[Rogue Tronners]] || Hyp3, Noodles/Shoebat || CTF, Fort, Sumo || Yes || http://www.r.jumpingness.com|| 2008 - present&lt;br /&gt;
|-&lt;br /&gt;
! Rx.&lt;br /&gt;
| [[Insomnia]] || Vibe, dukevin, Who || Loose DF || Yes || http://insomniaclan.co.cc || August 2010 - present&lt;br /&gt;
|- &lt;br /&gt;
|-&lt;br /&gt;
! rE_&lt;br /&gt;
| [[Repeated Euphoria]] || Lagtastic, &#039;naDa&amp;lt;-|| N/A || Yes || http://repeated.weebly.com || May 2011 - present&lt;br /&gt;
|- &lt;br /&gt;
! -=Rd&amp;gt;&lt;br /&gt;
| [[Redemption]] || Brok3n, Elire. || Dogfight, Sumo, Fortress. || Yes || http://rdclan.zzl.org|| May 22 2010 - present&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;r3p.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| [[T3h Republik]] || Zoidberg (Citizen), Elryn, Noob_saibot || CTFS, Sumo, HR || Yes || http://tronrepublik.net||&lt;br /&gt;
|-&lt;br /&gt;
! ¦¤¤¦&lt;br /&gt;
| [[¦Silly» «Puddy¦]] || Thump, Sektor || Fortress, Sumo, CTF || Yes || http://sillypuddy.pro-forum.co.uk|| 2011 - Present &lt;br /&gt;
|-&lt;br /&gt;
! ~*SP*~ &lt;br /&gt;
| [[~*SpeederS*~]] || Bloodthirsty / FoFo || High Rubber, T.B.D || Yes || http://speeders.clannations.com/board/|| *2004 - Present ||&lt;br /&gt;
|-&lt;br /&gt;
! -SS-&amp;gt; &lt;br /&gt;
| [[Sharp Shooters]] || Legend || Afrothunder HR Shooting || Yes || TBA || 2/2/2011-Present&lt;br /&gt;
|-&lt;br /&gt;
! taco&lt;br /&gt;
| [[Taco Clan]] || |Arduino, Ninja || High Rubber|| Yes || http://www.tacoclan.freeforums.org/|| 2010 - Present&lt;br /&gt;
|-&lt;br /&gt;
! tFx&lt;br /&gt;
| [[The failed xperiment]] || |Jesusfreak, WøRsH¡P || HR,CTF || Yes || http://tfxclan.forumotion.com || 2011- Present&lt;br /&gt;
|-&lt;br /&gt;
! .x]&lt;br /&gt;
| [[Twi¦×¦ted ¦×¦ats]] || Durka || Fortress, Sumo || Yes || http://xats.ath.cx||(see |x|/Twisted Rats&lt;br /&gt;
|-&lt;br /&gt;
! ~&#039;U. &lt;br /&gt;
| [[Untitled Clan]] || Windrider || CTF || Yes || http://uclan.tk || *Aug 2009 - Present ||&lt;br /&gt;
|-&lt;br /&gt;
! _eS&lt;br /&gt;
| [[Under_eS!:timated]] || $ynergy, Life, Supra || DF, Sumo || Yes || http://underestimated.freeforums.org/portal.php|| August 2010 - Present&lt;br /&gt;
|-&lt;br /&gt;
! uNa&lt;br /&gt;
| [[United Noobs of Armagetron]] || Willy Wonka, Stripes, az95 || Fortress, Sumo || Yes || http://unaclan.smfnew.com/|| *14.2.2010 - Present&lt;br /&gt;
|-&lt;br /&gt;
! `:vZ.&lt;br /&gt;
| [[Volume Zero]] || MadroX, RY{}N || CTF, HR, DF, Sumo || Yes || http://volumezero.forumotion.com/||2010&lt;br /&gt;
|-&lt;br /&gt;
! `Ww&lt;br /&gt;
| [[Wild West]] || Destiny, Manta || CTF, Sumo, Fortress, CTFS, DF, HR || Yes || http://lagtest.net|| 2008 - Present ||&lt;br /&gt;
|-&lt;br /&gt;
! [ØØ]&lt;br /&gt;
| [[Ørder øf the Øni]] || ØniTrøn || NEI || Yes || N/A||&lt;br /&gt;
|-&lt;br /&gt;
! Za&lt;br /&gt;
| [[Zone Avengers]] || Ztech, Mindmasked14|| Fortress, CTF || Yes || http://zaclan.forummotions.com|| 2010&lt;br /&gt;
|-&lt;br /&gt;
|- &lt;br /&gt;
! ZenTH &lt;br /&gt;
| [[ZenTH]] ||  JackZenTH || All || Yes || http://zenthclan.webs.com||2008-2009 reborn  to present.&lt;br /&gt;
|-&lt;br /&gt;
! →ZG:&lt;br /&gt;
| [[Zero Gravity]] || ReVoLuTiOn || High Rubber, Dogfight || Yes || http://zerogravity.freeforums.org  || 2011-Present ||&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
&#039;&#039;&#039;Please Fill Out the Summary When You Make Changes So We Know Who Changes What. Teams Are Covered By The Teams List&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! Clan Tag !! [[Clan Name]] !! Original/Current Leader !! Thriving Divisions !! Is It Still Alive? !! Website !! Years Active&lt;br /&gt;
|-&lt;br /&gt;
! ~\ÅúÇ/~&lt;br /&gt;
| [[Auctorita]] ||  ~\ÂVÂ/~, elliot || DF, Sumo, HR || No || NA || 2006-2007&lt;br /&gt;
|-&lt;br /&gt;
! N/A&lt;br /&gt;
| [[The Droids]] || #M-311 || CTF || No || N/A|| 2008&lt;br /&gt;
|-&lt;br /&gt;
! &amp;gt;3D&amp;gt;&lt;br /&gt;
| [[3D Clan]] || Dyno || Dogfight || No || NEI||&lt;br /&gt;
|-&lt;br /&gt;
! ª&lt;br /&gt;
| [[`ACe]] || D.J || DF, Sumo || No || http://ace-clann.webs.com || *2010&lt;br /&gt;
|-&lt;br /&gt;
! Aos&lt;br /&gt;
| NEI || NEI || CTF || No || http://aos.ath.cx||&lt;br /&gt;
|-&lt;br /&gt;
! .:Avl:.&lt;br /&gt;
| [[Avl Clan]] || C10ud || Low Rubber, Medium Rubber || No || http://flynnsarcade.net||&lt;br /&gt;
|-&lt;br /&gt;
! BD&lt;br /&gt;
| [[Beautiful Diztruktion]] || SlyFoxx, Bomb, WildCat, Tsugaru || NEI || No || http://beautifuldiztruktion.createmybb.com/|| &lt;br /&gt;
|-&lt;br /&gt;
! .Bit&lt;br /&gt;
| [[.Bit Clan]] || Ender || Racing || No || http://bitclan.iforums.us/||&lt;br /&gt;
|-&lt;br /&gt;
! Bloody_&lt;br /&gt;
| [[Bloody]] || Gun, Jin REMADE w/ Jin, I©e || Fortress, Sumo, CTF, Low Rubber, Medium Rubber, High Rubber, Dog Fight, Snake Fight || No || http://www.bloody-clanpage.de.tl/||&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;|BS|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|[[Broken Silence]]|| ChrisGW, Sunrise, Hype||Fortress, Sumo  || No || http://brokensilence.forums3.com ||&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! .:cD)&lt;br /&gt;
| [[Collateral Damage]] || Yoda, Zinger, Overrated || Fortress, Sumo, Dogfight || No || [http://collateraldamage.clannow.com Collateral Damage]||&lt;br /&gt;
|-&lt;br /&gt;
! ¦ctk¦&lt;br /&gt;
| [[NEI]] || Chiko || CTF || No || NEI||*2008-†2009&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! DT &lt;br /&gt;
| [[DreTron]] || DreTron, IronNinja, Alma || CTF, High Rubber, Sty, CTFS || No || NEI || 2011 &lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;DtT&amp;gt; &lt;br /&gt;
| [[Death to Tronners]] || Own || CTF, DF || No || http://www.deathtotronners.proboards.com || 2009 &lt;br /&gt;
|-&lt;br /&gt;
! dZ&amp;lt;&lt;br /&gt;
| [[Death Zone]] || NEI || CTF || No || http://deathzone.ipbfree.com||&lt;br /&gt;
|-&lt;br /&gt;
! ° &lt;br /&gt;
| [[degree]] || olive || Fortress, Sumo || No || http://degree.asdf.ch  || 2009&lt;br /&gt;
|-&lt;br /&gt;
! | |DD|&lt;br /&gt;
| [[Delicious Deserts]] || Darkchaos || Racing || No || http://tron.art-pulse.net/ *||*?-†2009&lt;br /&gt;
|- &lt;br /&gt;
! ~{D}~&lt;br /&gt;
| [[Dispatch]] || Baker || CTF || No || http://lagtest.net (unofficial)||*?-†2009&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;.EC|D&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|  [[Eclipse&#039;d]] || Black Tear || NEI || No || http://www.eclipse-d.com/ecdforum/ *||&lt;br /&gt;
|-&lt;br /&gt;
! ~eyB&lt;br /&gt;
| [[Eternal YoungBloods]] || ShankD, Zinger || Dogfight CTF Fort Sumo || No || http://eybclan.enjin.com  || 2010-present &lt;br /&gt;
|-&lt;br /&gt;
! ~iP&#039;&lt;br /&gt;
| [[Everything Is Possible]] || Sektor  || CTF,Sumo,Fortress,Dogfight || No || http://everythingispossibleclan.webs.com || 2010 - present&lt;br /&gt;
|-&lt;br /&gt;
!{LoT}~&lt;br /&gt;
| [[Legends of Tron]] ||Cheshire,Tick || CTF/CTFS,SUMO,FORT || no|| http://lotclan.forumtl.com || 2011(jan-may)||&lt;br /&gt;
|-&lt;br /&gt;
! .fam&amp;lt;3&lt;br /&gt;
| [[Family Clan]] || uZi, Synergy || Dog Fight, High Rubber, Low Rubber, Sumo, CTF, Fortress, || No || http://familyclan.co.nr/||&lt;br /&gt;
|-&lt;br /&gt;
! F²·&lt;br /&gt;
| [[Fatal Force]] || Soapy || DF, Sumo || No || http://f2clanpage.co.nr/ || 2009&lt;br /&gt;
|-&lt;br /&gt;
! | |FW~ &lt;br /&gt;
| [[Forgotten Warriors]] || Huy || HR, DF, CTFS, CTF, Sumo || No || http://www.clanfw.ipbfree.com||&lt;br /&gt;
|-&lt;br /&gt;
! gK&lt;br /&gt;
| [[Grid Kings]] || Prowler || Sumo || No || http://www.durkadurkaland.com/gk/||&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;gZ|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| [[green Zone]] || greenmonster || HR, DF || No || NIE||&lt;br /&gt;
|-&lt;br /&gt;
! |&#039;^iP|&lt;br /&gt;
| [[Inevitable Prodigies]] || Acid || Dog Fight, High Rubber, Low Rubber, Sumo, CTF, Fortress || No || http://ipclan.co.cc/||&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;|kod|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| [[Kill-or-die]] || newbie, luzifer || Fortress || No || NEI||&lt;br /&gt;
|-&lt;br /&gt;
! `£.&lt;br /&gt;
| [[Lumencidium]] || Lacuna, Tuuk || Sumo, Fort, DF, CTF || No || http://lumencidium.tk || April 2011 - Present&lt;br /&gt;
|-&lt;br /&gt;
! |MBC|&lt;br /&gt;
| [[Micro Bus City]] || Amboosh, Ender || High Rubber || No || http://www.microbuscity.com/ *||&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;|NIC&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| [[Not In A Clan]] || Damein || CTFS || No || NEI||&lt;br /&gt;
|-&lt;br /&gt;
! [NNJG]&lt;br /&gt;
| [[NoNerdsJustGeeks]] || [NNJG]Ben || CTF,Wild Fortress, Sumo, Racing || No || http://nonerdsjustgeeks.com/||&lt;br /&gt;
|-&lt;br /&gt;
! ~NW&lt;br /&gt;
| [[Night Walkers clan]] || Zurd/Elder || CTF, CTFS, High Rubber, Low Rubber, Medium Rubber, Dogfight, Racing, fortress || No || http://nightwalkers.info *||*2008-†2009&lt;br /&gt;
|-&lt;br /&gt;
! ~&#039;Ns.&lt;br /&gt;
| [[Never Surrender]] || Ratchet, Paralyzed || CTFS, Sumo, Racing || No || http://nsclan.darkbb.com *||&lt;br /&gt;
|-&lt;br /&gt;
! _`nyx.&lt;br /&gt;
| [[nyx`Clan]] || ~z~ || CTF, Dogfight, Sumo || No || http://nyxclan.co.cc||&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;`|pNd+&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| [[Pandemic]] || Arkangel, Exologist, Ninja || Sumo, Dogfight || No || http://pndclan.org/forum|| *9.11.2009 - Early 2010&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;°°ps|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| [[°°ps team]]/clan|| Hay-Lin, Rain || Fortress || No || http://www.oops-clan.org  *|| *2007-†2008&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;|PwN|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| [[Power Within Noobs]] || Shade1|| CTFS || No || http://aos.ath.cx||2007-†2008&lt;br /&gt;
|-&lt;br /&gt;
! OpTiC&lt;br /&gt;
| [[Optic.]] || preDaToR || Nano,DF, CTF || No ||  http://optic-crew.webs.com/|| *2010 ||&lt;br /&gt;
|-&lt;br /&gt;
! º¦&lt;br /&gt;
| [[The Oracle]] || BTD, Toxic || Fortress, Sumo || No || http://oracle.co.cc||&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;`|pNd+ (Resurrection)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| [[Pandemic]] || Ritsuka, mAd || Sumo, Dogfight || No || http://Pandemic.co.cc||&lt;br /&gt;
|-&lt;br /&gt;
! PK&lt;br /&gt;
| [[Phantom Knights]] || Lover$Boy, Fear || CTF, High Rubber, (More to be Made)|| No || http://phantomknights.forumotion.com || 2011&lt;br /&gt;
|-&lt;br /&gt;
! -=P³ &lt;br /&gt;
| [[Peak Performance Project]] || Supra, HSP || Dogfight, Sumo || No || http://p3clan.ipbfree.com *||&lt;br /&gt;
|-&lt;br /&gt;
! ~qp~&lt;br /&gt;
|  [[Quantum Performance]] || Acid, Matt || NEI || No || http://qpclansite.18.forumer.com/index.php||*?-†2009&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;¤SK¦&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| [[Sniperz Klan]] || Assimilater, ntc || CTFS, Fortress Shootout || No || http://sniperzklan.ipbfree.com|| *2007-†2010&lt;br /&gt;
|-&lt;br /&gt;
! {Super}&lt;br /&gt;
| [[Super Clan]] || Duck! || Fortress, CTF, Medium Rubber || No || NEI||&lt;br /&gt;
|-&lt;br /&gt;
! N/A&lt;br /&gt;
| [[The Bobins]] (not a real clan, it&#039;s a group) || Green Bobin || N/A || No || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
! Tr.&lt;br /&gt;
| [[Twisted Rats]]&lt;br /&gt;
| Goodygumdrops, SageLord, x, Durka || Fortress, Sumo, CTF || No || http://twisted-rats.co.cc/forum/index.php *||*2007-†2009&lt;br /&gt;
|-&lt;br /&gt;
! TrT~&lt;br /&gt;
| [[TrEnT Clan]] || GoKu, Koke || Sumo or T.B.D || No || http://durkadurkaland.com/index.php?c=50||&lt;br /&gt;
|-&lt;br /&gt;
! :Tu:&lt;br /&gt;
| [[Tronners Unlimited]] || Elmo, Venom || Fortress, Sumo || Yes || http://tuclan.forummotion.com/|| June 2010 - May 20, 2011&lt;br /&gt;
|-&lt;br /&gt;
! -=VcL. &lt;br /&gt;
| [[Velocity Clan]] || Rajinn, TaZ, Airman. REMADE: TaZ || Fortress, Sumo, Dogfight || No || http://www.vclclan.co.cc||*2007-†2010&lt;br /&gt;
|-&lt;br /&gt;
! ¦×¦&lt;br /&gt;
| [[Xclan]] || N/A || Fortress, Sumo || No || http://xclan.armagetron.co.uk/ ||*?-†2009&lt;br /&gt;
|-&lt;br /&gt;
! ~XY~&lt;br /&gt;
| [[Xy Clan]] || Tajik, Tosk || NEI || No || http://ptclan.co.nr/||&lt;br /&gt;
|- &lt;br /&gt;
! ~&amp;quot;.XzL &lt;br /&gt;
| [[~&amp;quot;Xzl.Accel]] || Destructo, FroZen || High Rubber || No || http://xzlclan.com/the/website|| 2005&lt;br /&gt;
|-&lt;br /&gt;
===Dead Clans===&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33817</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33817"/>
		<updated>2011-06-15T09:57:47Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
You can get the essentials from this link: [http://wiki.armagetronad.net/index.php?title=Ubuntu_Installation Ubuntu_Installation]&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo apt-get install bzr  build-essential automake libboost-dev libxml2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev ftgl-dev libglew-dev bison pkg-config autoconf autotools-dev libprotobuf-dev&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 	$tron --vardir $vardir&lt;br /&gt;
 	$tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
 	    done # end the loop&lt;br /&gt;
&lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log     # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
  &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir | tee -a $log&lt;br /&gt;
 &lt;br /&gt;
 #$tron --help&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/racing/resource/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --input $cmd --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by &amp;lt;your_username&amp;gt; a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33816</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33816"/>
		<updated>2011-06-15T09:49:36Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Configuring Source Files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo apt-get install bzr  build-essential automake libboost-dev libxml2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev ftgl-dev libglew-dev bison pkg-config autoconf autotools-dev libprotobuf-dev&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 	$tron --vardir $vardir&lt;br /&gt;
 	$tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
 	    done # end the loop&lt;br /&gt;
&lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log     # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
  &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir | tee -a $log&lt;br /&gt;
 &lt;br /&gt;
 #$tron --help&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/racing/resource/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --input $cmd --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by &amp;lt;your_username&amp;gt; a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=High_Rubber_Tournament&amp;diff=33744</id>
		<title>High Rubber Tournament</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=High_Rubber_Tournament&amp;diff=33744"/>
		<updated>2011-06-13T01:45:29Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* List of Teams */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:HRT/Blurb}}&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Tournament==&lt;br /&gt;
Welcome to the first HR Tournament. Please, Sign Up your teams and servers at soon as possible. Brackets, configs, and other important information will be released 1 week before tournament.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Open teams feel welcome to join to this awesome tourney. Only find your teammate and sign up your team.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rules==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Teams&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;p&amp;gt;The Teams are 3 players max (including 1 substitute) but should have a minimum of two players to start. If your teammate do not show up, you have 5 minutes since the round start to get a teammate or you will be completely eliminated from tourney.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Max number of teams per clan: 3 teams (6 players)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scoring&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;3pts Core Dump&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;-2pts Suicide&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;-1pts Death Zone&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;10pts Round Win&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Matches&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;p&amp;gt;Every match will have 6 teams (12 players). The winner of a match will be the first team to get 100pts. Only the winner team and the second play advances to the next roud.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The final round will be a 4 teams match with only one winner. The winner of the tournament!&lt;br /&gt;
&lt;br /&gt;
==Sign In==&lt;br /&gt;
&lt;br /&gt;
===Teams===&lt;br /&gt;
&lt;br /&gt;
Authentication or OP is required to play the HR Tournament. At least, one of the members should know how to use commands:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/op To login or &amp;quot;upgrade&amp;quot;someone to let him play.&lt;br /&gt;
/lock Lock your team to avoid new members&lt;br /&gt;
/unlock Unlock your team to new members&lt;br /&gt;
/invite When locked the only way to let other members to join&lt;br /&gt;
/uninvite To kick a player from your team&lt;br /&gt;
START_NEW_MATCH &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please, Sign Up your team in the &amp;quot;List of teams&amp;quot; with the following template: (NOTE: IF U DONT HAVE A &amp;quot;Substitute&amp;quot; PLEASE WRITE &amp;quot;N/A&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{HRTeams|Team Name|Member&#039;s 1 Name, Member&#039;s 2 Name|Member&#039;s 1 Global ID, Member&#039;s 2 Global ID|Substitute(Optional)}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List of Teams===&lt;br /&gt;
{{HRTeams|Tr0nn3r$|Death Zone, Fire Storm|deathzone@afroservers.com, /op|N/A)}}&lt;br /&gt;
{{HRTeams|Repeated Euphoria|Lagtastic, Lightshadow|Lagtastic@dbd, Lightshadow@forums|N/A}}&lt;br /&gt;
{{HRTeams|Parkour Tronners|Kinator, Mils Owns U|kinator@forums, Mils Owns U@ct\public|TBA}}&lt;br /&gt;
{{HRTeams|DpG|Prema, Helicats Duffel|premaDpG@forums, Jolechiw@fourms|16, baggins, joker}}&lt;br /&gt;
{{HRTeams|POT|NIVEK, cb7|nivek@forums, currently unknown|N/A}}&lt;br /&gt;
{{HRTeams|Pretty High|Rebel, Charged|Rebel.EC!D@forums, 112wicked112@forums |pre)}}&lt;br /&gt;
{{HRTeams|Pretty High 2|Leaf, Klove| TBA@forums, TBA@forums |SuperHans}}&lt;br /&gt;
&lt;br /&gt;
===Servers===&lt;br /&gt;
Everyone is welcome to Sign Up his/her server(s) to the HR Tournament. Also remember to RINCLUDE the configurations and the authentication list. The configs will be released one week before tourney.&lt;br /&gt;
&lt;br /&gt;
===Server Configuration===&lt;br /&gt;
 RINCLUDE hrtsettings.cfg(TBA)&lt;br /&gt;
 RINCLUDE hrtsignups(TBA)&lt;br /&gt;
&lt;br /&gt;
===List of Servers===&lt;br /&gt;
&lt;br /&gt;
Please, fill the server information following the EXAMPLE.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;EXAMPLE:&lt;br /&gt;
Server #0: Server Name, ip, Location, www.serverwebsite.com&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=High_Rubber_Tournament&amp;diff=33592</id>
		<title>High Rubber Tournament</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=High_Rubber_Tournament&amp;diff=33592"/>
		<updated>2011-06-10T02:13:17Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* List of Teams */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:HRT/Blurb}}&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Tournament==&lt;br /&gt;
Welcome to the first HR Tournament. Please, Sign Up your teams and servers at soon as possible. Brackets, configs, and other important information will be released 1 week before tournament.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Open teams feel welcome to join to this awesome tourney. Only find your teammate and sign up your team.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rules==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Teams&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;p&amp;gt;The Teams are 3 players max (including 1 substitute) but should have a minimum of two players to start. If your teammate do not show up, you have 5 minutes since the round start to get a teammate or you will be completely eliminated from tourney.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Max number of teams per clan: 3 teams (6 players)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scoring&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;3pts Core Dump&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;-2pts Suicide&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;-1pts Death Zone&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;10pts Round Win&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Matches&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;p&amp;gt;Every match will have 6 teams (12 players). The winner of a match will be the first team to get 100pts. Only the winner team and the second play advances to the next roud.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The final round will be a 4 teams match with only one winner. The winner of the tournament!&lt;br /&gt;
&lt;br /&gt;
==Sign In==&lt;br /&gt;
&lt;br /&gt;
===Teams===&lt;br /&gt;
&lt;br /&gt;
Authentication or OP is required to play the HR Tournament. At least, one of the members should know how to use commands:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/op To login or &amp;quot;upgrade&amp;quot;someone to let him play.&lt;br /&gt;
/lock Lock your team to avoid new members&lt;br /&gt;
/unlock Unlock your team to new members&lt;br /&gt;
/invite When locked the only way to let other members to join&lt;br /&gt;
/uninvite To kick a player from your team&lt;br /&gt;
START_NEW_MATCH &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please, Sign Up your team in the &amp;quot;List of teams&amp;quot; with the following template: (NOTE: IF U DONT HAVE A &amp;quot;Substitute&amp;quot; PLEASE WRITE &amp;quot;N/A&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{HRTeams|Team Name|Member&#039;s 1 Name, Member&#039;s 2 Name|Member&#039;s 1 Global ID, Member&#039;s 2 Global ID|Substitute(Optional)}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List of Teams===&lt;br /&gt;
{{HRTeams|Phantom Knights|Alma, Hexi|Alma@forums, Hexi@forums|solarcold(Sub)}}&lt;br /&gt;
{{HRTeams|Absolut Tronners|Death Zone, TBA|deathzone@afroservers.com, TBA@forums|N/A)}}&lt;br /&gt;
{{HRTeams|Repeated Euphoria|Lagtastic, Lightshadow|Lagtastic@dbd, Lightshadow@forums|N/A}}&lt;br /&gt;
{{HRTeams|Parkour Tronners|Kinator, Mils Owns U|kinator@forums, Mils Owns U@ct\public|TBA}}&lt;br /&gt;
{{HRTeams|DpG|Prema, Helicats Duffel|premaDpG@forums, Jolechiw@fourms|16, baggins, joker}}&lt;br /&gt;
&lt;br /&gt;
===Servers===&lt;br /&gt;
Everyone is welcome to Sign Up his/her server(s) to the HR Tournament. Also remember to RINCLUDE the configurations and the authentication list. The configs will be released one week before tourney.&lt;br /&gt;
&lt;br /&gt;
===Server Configuration===&lt;br /&gt;
 RINCLUDE hrtsettings.cfg(TBA)&lt;br /&gt;
 RINCLUDE hrtsignups(TBA)&lt;br /&gt;
&lt;br /&gt;
===List of Servers===&lt;br /&gt;
&lt;br /&gt;
Please, fill the server information following the EXAMPLE.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;EXAMPLE:&lt;br /&gt;
Server #0: Server Name, ip, Location, www.serverwebsite.com&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33585</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33585"/>
		<updated>2011-06-09T03:50:13Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* The Server Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 	$tron --vardir $vardir&lt;br /&gt;
 	$tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
 	    done # end the loop&lt;br /&gt;
&lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log     # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
  &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir | tee -a $log&lt;br /&gt;
 &lt;br /&gt;
 #$tron --help&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/racing/resource/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --input $cmd --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by &amp;lt;your_username&amp;gt; a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33580</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33580"/>
		<updated>2011-06-09T02:11:17Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* The Server Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 	$tron --vardir $vardir&lt;br /&gt;
 	$tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
 	    done # end the loop&lt;br /&gt;
&lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log     # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
  &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir | tee -a $log&lt;br /&gt;
 &lt;br /&gt;
 #$tron --help&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/racing/resource/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --input $cmd --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by &amp;lt;your_username&amp;gt; a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33579</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33579"/>
		<updated>2011-06-09T02:07:15Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Start Racing Server in Separate Sessions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 	$tron --vardir $vardir&lt;br /&gt;
 	$tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
 	    done # end the loop&lt;br /&gt;
&lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log     # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
  &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir | tee -a $log&lt;br /&gt;
 &lt;br /&gt;
 #$tron --help&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/racing/resource/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --input $cmd --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by &amp;lt;your_username&amp;gt; a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33578</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33578"/>
		<updated>2011-06-09T02:05:33Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* The Server Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 	$tron --vardir $vardir&lt;br /&gt;
 	$tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
 	    done # end the loop&lt;br /&gt;
&lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log     # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
  &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir | tee -a $log&lt;br /&gt;
 &lt;br /&gt;
 #$tron --help&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --userconfigdir $userconfigdir --vardir $var --input $cmd&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by &amp;lt;your_username&amp;gt; a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33577</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33577"/>
		<updated>2011-06-09T02:04:25Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* The Server Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 	$tron --vardir $vardir&lt;br /&gt;
 	$tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
 	    done # end the loop&lt;br /&gt;
&lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log     # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir | tee -a $log&lt;br /&gt;
 &lt;br /&gt;
 #$tron --help&lt;br /&gt;
&lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --userconfigdir $userconfigdir --vardir $var --input $cmd&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by &amp;lt;your_username&amp;gt; a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33576</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33576"/>
		<updated>2011-06-09T02:04:01Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* The Server Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 	$tron --vardir $vardir&lt;br /&gt;
 	$tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
	    done # end the loop&lt;br /&gt;
&lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log     # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir | tee -a $log&lt;br /&gt;
 &lt;br /&gt;
 #$tron --help&lt;br /&gt;
&lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --userconfigdir $userconfigdir --vardir $var --input $cmd&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by &amp;lt;your_username&amp;gt; a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33575</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33575"/>
		<updated>2011-06-09T02:01:27Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* The Server Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 	$tron --vardir $vardir&lt;br /&gt;
 	$tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
	    done # end the loop&lt;br /&gt;
&lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log         # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/&amp;lt;your_username&amp;gt;/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --userconfigdir $userconfigdir --vardir $var| tee -a $log&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --userconfigdir $userconfigdir --vardir $var --input $cmd&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by &amp;lt;your_username&amp;gt; a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33574</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33574"/>
		<updated>2011-06-09T02:00:38Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* The Server Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
	$tron --vardir $vardir&lt;br /&gt;
	$tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
 &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
	    done # end the loop&lt;br /&gt;
&lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log         # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/&amp;lt;your_username&amp;gt;/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --userconfigdir $userconfigdir --vardir $var| tee -a $log&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --userconfigdir $userconfigdir --vardir $var --input $cmd&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by &amp;lt;your_username&amp;gt; a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33573</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33573"/>
		<updated>2011-06-09T02:00:19Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* The Server Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 vardir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings&amp;quot;&lt;br /&gt;
 resourcedir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/resource/&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs&amp;quot;&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/logs/&amp;quot;$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
&lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
&lt;br /&gt;
	$tron --vardir $vardir&lt;br /&gt;
	$tron --resourcedir $resourcedir --userconfigdir $userconfigdir --vardir $vardir&lt;br /&gt;
&lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
	    done # end the loop&lt;br /&gt;
 &lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log         # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/&amp;lt;your_username&amp;gt;/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --userconfigdir $userconfigdir --vardir $var| tee -a $log&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --userconfigdir $userconfigdir --vardir $var --input $cmd&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by &amp;lt;your_username&amp;gt; a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33572</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33572"/>
		<updated>2011-06-09T01:55:08Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; &amp;lt;your_username&amp;gt;&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/&amp;lt;your_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --exec_prefix=/home/&amp;lt;your_username&amp;gt;/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/server/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/server/$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
  #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/&amp;lt;your_username&amp;gt;/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
        $tron --userconfigdir $userconfigdir --vardir $var&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
             done # end the loop&lt;br /&gt;
 &lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/&amp;lt;your_username&amp;gt;/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log         # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/&amp;lt;your_username&amp;gt;/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --userconfigdir $userconfigdir --vardir $var| tee -a $log&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/&amp;lt;your_username&amp;gt;/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/&amp;lt;your_username&amp;gt;/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/&amp;lt;your_username&amp;gt;/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --userconfigdir $userconfigdir --vardir $var --input $cmd&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, &amp;lt;your_username&amp;gt;, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by &amp;lt;your_username&amp;gt; a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33563</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33563"/>
		<updated>2011-06-08T11:00:53Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Server Directories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; vertrex&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/vertrex/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/vertrex/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/vertrex/armagetronad --exec_prefix=/home/vertrex/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/vertrex/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
 mkdir racing/logs&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/server/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/server/$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
  #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
        $tron --userconfigdir $userconfigdir --vardir $var&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
             done # end the loop&lt;br /&gt;
 &lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/vertrex/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log         # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --userconfigdir $userconfigdir --vardir $var| tee -a $log&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/vertrex/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --userconfigdir $userconfigdir --vardir $var --input $cmd&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, Vertrex, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by Vertrex a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33562</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33562"/>
		<updated>2011-06-08T11:00:25Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Server Directories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; vertrex&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/vertrex/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/vertrex/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/vertrex/armagetronad --exec_prefix=/home/vertrex/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/vertrex/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/&amp;lt;server_username&amp;gt;/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/&amp;lt;your_username&amp;gt;/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/resource     &#039;this is where your map files will be stored depending on your specified server&lt;br /&gt;
 mkdir &amp;lt;server_name&amp;gt;/logs         &#039;This one will be used to save the server logs&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create more servers like...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
 mkdir racing/resource&lt;br /&gt;
and many more.&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/server/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/server/$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
  #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
        $tron --userconfigdir $userconfigdir --vardir $var&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
             done # end the loop&lt;br /&gt;
 &lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/vertrex/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log         # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --userconfigdir $userconfigdir --vardir $var| tee -a $log&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/vertrex/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --userconfigdir $userconfigdir --vardir $var --input $cmd&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, Vertrex, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by Vertrex a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33561</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33561"/>
		<updated>2011-06-08T10:56:07Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Update Packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; vertrex&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/vertrex/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/vertrex/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/vertrex/armagetronad --exec_prefix=/home/vertrex/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/vertrex/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/vertrex/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir logs         &#039;This one will be used to save the server logs&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/vertrex/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir ctf		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir ctf/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir ctf/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create many more servers...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
&lt;br /&gt;
Simply put it that the server directories will be like this:&lt;br /&gt;
 mkdir [Server Name]&lt;br /&gt;
 mkdir [Server Name]/var&lt;br /&gt;
 mkdir [Server Name]/settings&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/server/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/server/$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
  #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
        $tron --userconfigdir $userconfigdir --vardir $var&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
             done # end the loop&lt;br /&gt;
 &lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/vertrex/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log         # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --userconfigdir $userconfigdir --vardir $var| tee -a $log&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/vertrex/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --userconfigdir $userconfigdir --vardir $var --input $cmd&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, Vertrex, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by Vertrex a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33276</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33276"/>
		<updated>2011-05-30T02:48:16Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Start Racing Server in Separate Sessions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; vertrex&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/vertrex/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/vertrex/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/vertrex/armagetronad --exec_prefix=/home/vertrex/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/vertrex/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/vertrex/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir logs         &#039;This one will be used to save the server logs&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/vertrex/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir ctf		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir ctf/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir ctf/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create many more servers...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
&lt;br /&gt;
Simply put it that the server directories will be like this:&lt;br /&gt;
 mkdir [Server Name]&lt;br /&gt;
 mkdir [Server Name]/var&lt;br /&gt;
 mkdir [Server Name]/settings&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/server/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/server/$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
  #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
        $tron --userconfigdir $userconfigdir --vardir $var&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
             done # end the loop&lt;br /&gt;
 &lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/vertrex/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log         # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --userconfigdir $userconfigdir --vardir $var| tee -a $log&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/vertrex/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --userconfigdir $userconfigdir --vardir $var --input $cmd&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, Vertrex, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
Do those codes every month to keep your system and packages updated &#039;&#039;&#039;but be careful about the usage of&#039;&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get upgrade&amp;lt;/code&amp;gt; . &#039;&#039;&#039;It can crash your platform or make some programs non-operational.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by Vertrex a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33275</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33275"/>
		<updated>2011-05-30T02:47:44Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Start Racing Server in Separate Sessions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; vertrex&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/vertrex/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/vertrex/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/vertrex/armagetronad --exec_prefix=/home/vertrex/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/vertrex/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/vertrex/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir logs         &#039;This one will be used to save the server logs&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/vertrex/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir ctf		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir ctf/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir ctf/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create many more servers...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
&lt;br /&gt;
Simply put it that the server directories will be like this:&lt;br /&gt;
 mkdir [Server Name]&lt;br /&gt;
 mkdir [Server Name]/var&lt;br /&gt;
 mkdir [Server Name]/settings&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/server/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/server/$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
  #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
        $tron --userconfigdir $userconfigdir --vardir $var&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
             done # end the loop&lt;br /&gt;
 &lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/vertrex/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log         # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --userconfigdir $userconfigdir --vardir $var| tee -a $log&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/vertrex/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: &lt;br /&gt;
 start_race_parser.sh&lt;br /&gt;
 start_race_server.sh&lt;br /&gt;
 cmd_race.txt&lt;br /&gt;
These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd_race.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd_race.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race_server.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd_race.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --userconfigdir $userconfigdir --vardir $var --input $cmd&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race_server.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, Vertrex, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race_server.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race_server.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd_race.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
Do those codes every month to keep your system and packages updated &#039;&#039;&#039;but be careful about the usage of&#039;&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get upgrade&amp;lt;/code&amp;gt; . &#039;&#039;&#039;It can crash your platform or make some programs non-operational.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by Vertrex a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33274</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33274"/>
		<updated>2011-05-30T02:44:39Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Start Racing Server in Separate Sessions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; vertrex&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/vertrex/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/vertrex/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/vertrex/armagetronad --exec_prefix=/home/vertrex/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/vertrex/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/vertrex/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir logs         &#039;This one will be used to save the server logs&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/vertrex/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir ctf		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir ctf/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir ctf/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create many more servers...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
&lt;br /&gt;
Simply put it that the server directories will be like this:&lt;br /&gt;
 mkdir [Server Name]&lt;br /&gt;
 mkdir [Server Name]/var&lt;br /&gt;
 mkdir [Server Name]/settings&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/server/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/server/$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
  #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
        $tron --userconfigdir $userconfigdir --vardir $var&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
             done # end the loop&lt;br /&gt;
 &lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/vertrex/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log         # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --userconfigdir $userconfigdir --vardir $var| tee -a $log&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/vertrex/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: start_race_parser.sh and start_race.sh and cmd_race.txt. These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --userconfigdir $userconfigdir --vardir $var --input $cmd&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, Vertrex, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
Do those codes every month to keep your system and packages updated &#039;&#039;&#039;but be careful about the usage of&#039;&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get upgrade&amp;lt;/code&amp;gt; . &#039;&#039;&#039;It can crash your platform or make some programs non-operational.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by Vertrex a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33273</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33273"/>
		<updated>2011-05-30T02:44:11Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* Start Racing Server in Separate Sessions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; vertrex&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/vertrex/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/vertrex/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/vertrex/armagetronad --exec_prefix=/home/vertrex/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/vertrex/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/vertrex/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir logs         &#039;This one will be used to save the server logs&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/vertrex/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir ctf		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir ctf/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir ctf/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create many more servers...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
&lt;br /&gt;
Simply put it that the server directories will be like this:&lt;br /&gt;
 mkdir [Server Name]&lt;br /&gt;
 mkdir [Server Name]/var&lt;br /&gt;
 mkdir [Server Name]/settings&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/server/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/server/$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
  #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
        $tron --userconfigdir $userconfigdir --vardir $var&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
             done # end the loop&lt;br /&gt;
 &lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/vertrex/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log         # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --userconfigdir $userconfigdir --vardir $var| tee -a $log&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/vertrex/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: start_race_parser.sh and start_race.sh and cmd_race.txt. These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd.txt&lt;br /&gt;
&lt;br /&gt;
start_race_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --userconfigdir $userconfigdir --vardir $var --input $cmd&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_race_parser.sh&lt;br /&gt;
 chmod +x start_race.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, Vertrex, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_race_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_race_parser.sh&lt;br /&gt;
 ./start_race.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
Do those codes every month to keep your system and packages updated &#039;&#039;&#039;but be careful about the usage of&#039;&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get upgrade&amp;lt;/code&amp;gt; . &#039;&#039;&#039;It can crash your platform or make some programs non-operational.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by Vertrex a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
	<entry>
		<id>http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33272</id>
		<title>Running Multiple Servers In a Single Ubuntu Computer</title>
		<link rel="alternate" type="text/html" href="http://wiki.armagetronad.org/index.php?title=Running_Multiple_Servers_In_a_Single_Ubuntu_Computer&amp;diff=33272"/>
		<updated>2011-05-30T02:41:21Z</updated>

		<summary type="html">&lt;p&gt;Vertrex: /* The Rotation Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Hello everyone. This is a tutorial that I thought I should put together for those who are using Ubuntu and are struggling to grasp how to host more than one server. Before I go any further, I would like to say that this section does look similar to [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer Running Multiple Servers on a single Linux computer] ... but there is a difference. There are a couple of things that are different from the other and there are few others that have been added so people will find them useful.&lt;br /&gt;
&lt;br /&gt;
I do hope people will find this tutorial useful as I found the other one very useful but a bit confusing at times.&lt;br /&gt;
&lt;br /&gt;
In the tutorial, My username is &amp;lt;code&amp;gt; vertrex&amp;lt;/code&amp;gt; so don&#039;t get confused. Change my username to YOUR username so everything will work the way it should. &#039;&#039;&#039;DO NOT HAVE SPACES IN YOUR USERNAME!!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
To continue with the next steps you will have installed the following:&lt;br /&gt;
 1) Have bzr installed&lt;br /&gt;
 2) Have Z-Thread installed&lt;br /&gt;
 3) Have &amp;quot;nano&amp;quot; (or your favorite text editor) Installed&lt;br /&gt;
 4) Have &amp;quot;screen&amp;quot; installed&lt;br /&gt;
 5) Have libxml2 installed&lt;br /&gt;
&lt;br /&gt;
== Server Installation ==&lt;br /&gt;
&lt;br /&gt;
Before you can think about setting up so that you can have multiple servers, firstly you need to have installed the Armagetron Advanced Dedicated Server in your computer. Now this is not specific as there are countless number of servers that the admins have either created or experiments or stable release.&lt;br /&gt;
&lt;br /&gt;
The source codes for the servers can be found here: [https://code.launchpad.net/armagetronad Armagetron Advanced: a Tron Clone in 3d]&lt;br /&gt;
&lt;br /&gt;
For the sake of this tutorial, our selection would be armagetron-sty+ct as that&#039;s a very popular selection to create servers  with.&lt;br /&gt;
&lt;br /&gt;
=== Downloading Source Files ===&lt;br /&gt;
&lt;br /&gt;
The location where you should download your source code would be: &lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Now download the source files using the command: bzr branch&lt;br /&gt;
 bzr branch lp:~armagetronad-ct/armagetronad/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
=== Configuring Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once the download completes, go into the source folder&lt;br /&gt;
 cd /home/vertrex/0.2.8-armagetronad-sty+ct&lt;br /&gt;
&lt;br /&gt;
Then run the bootstrap&lt;br /&gt;
 ./bootstrap.sh&lt;br /&gt;
if you get an error saying:&lt;br /&gt;
 autom4te: cannot open autom4te.cache/requests: Permission denied&lt;br /&gt;
 aclocal: autom4te failed with exit status: 1&lt;br /&gt;
 rm: remove write-protected regular file `aclocal.m4&#039;? yes&lt;br /&gt;
then try:&lt;br /&gt;
 sudo ./bootstrap.sh&lt;br /&gt;
&lt;br /&gt;
Before taking the final steps, you need to create the folder to which your server will be installed in.&lt;br /&gt;
 mkdir /home/vertrex/armagetronad&lt;br /&gt;
&lt;br /&gt;
Now configure the server.&lt;br /&gt;
 ./configure --disable-glout --enable-authentication --prefix=/home/vertrex/armagetronad --exec_prefix=/home/vertrex/armagetronad --with-zthread&lt;br /&gt;
&lt;br /&gt;
=== Installing Source Files ===&lt;br /&gt;
&lt;br /&gt;
Once configuration is done, follow the next steps at installing the server&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
If you do not have write rights to the installation directory, use:&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
Now, our servers have been installed in the directory: &amp;lt;code&amp;gt;/home/vertrex/armagetronad/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server Preparations ==&lt;br /&gt;
&lt;br /&gt;
Now, this is where you will have to do some thinking. You can make 7 servers as the ports list from 4534 to 4540. So, basically you have seven servers to make from. You could choose to make, Capture The Flag (S), High Rubber (S), Racing, etc...&lt;br /&gt;
&lt;br /&gt;
To setup the multiple servers, please follow from next steps.&lt;br /&gt;
&lt;br /&gt;
=== Server Directories ===&lt;br /&gt;
&lt;br /&gt;
Go into your armagetronad installaiton folder&lt;br /&gt;
 cd /home/vertrex/armagetronad&lt;br /&gt;
&lt;br /&gt;
Create the sub directories as indicated below:&lt;br /&gt;
 mkdir servers      &#039;This folder will be used to store your server configurations&lt;br /&gt;
 mkdir logs         &#039;This one will be used to save the server logs&lt;br /&gt;
 mkdir scripts      &#039;And this one will be used to call scripts to start the servers or include with the servers&lt;br /&gt;
&lt;br /&gt;
The next few steps are the fun parts. We will be making our servers. To do so, go into servers directory that you have just created. &lt;br /&gt;
 cd /home/vertrex/armagetronad/servers&lt;br /&gt;
&lt;br /&gt;
There, start creating sub folders for each of your servers. Example:&lt;br /&gt;
&lt;br /&gt;
One server that I would like to create would be CTF which is capture the flag.&lt;br /&gt;
 mkdir ctf		&#039;this is the server that will be hosted&lt;br /&gt;
 mkdir ctf/var		&#039;this folder where the server&#039;s ladderlog, score, players will be stored&lt;br /&gt;
 mkdir ctf/settings	&#039;this is the folder where you place your config files such as settings_custom.cfg, settings.cfg, etc...&lt;br /&gt;
&lt;br /&gt;
then copy your config files into the settings folder and the files that belong in the var folder.&lt;br /&gt;
&lt;br /&gt;
You can create many more servers...&lt;br /&gt;
 mkdir racing&lt;br /&gt;
 mkdir racing/var&lt;br /&gt;
 mkdir racing/settings&lt;br /&gt;
&lt;br /&gt;
Simply put it that the server directories will be like this:&lt;br /&gt;
 mkdir [Server Name]&lt;br /&gt;
 mkdir [Server Name]/var&lt;br /&gt;
 mkdir [Server Name]/settings&lt;br /&gt;
&lt;br /&gt;
== Normal Scripts ==&lt;br /&gt;
&lt;br /&gt;
The scripts are used mainly to launch a specific server that is called using the script. The servers include Capture The Flag (S), High Rubber (S), Dogfight, Sumo&lt;br /&gt;
&lt;br /&gt;
All the server scripts are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory. &lt;br /&gt;
&lt;br /&gt;
To save a script: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then press &amp;lt;code&amp;gt; X&amp;lt;/code&amp;gt;. Then &amp;lt;code&amp;gt; Y&amp;lt;/code&amp;gt; to save the script.&lt;br /&gt;
&lt;br /&gt;
Check this website to understand more about the scripts ... [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts Running_Multiple_Servers_on_a_single_Linux_computer#The_scripts]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firstly go into the scripts folder to follow the steps below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
The first script will be called in this example: srv.sh&lt;br /&gt;
 nano srv.sh &lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; srv&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/server/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/server/$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on 					# print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log 	# create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on 					# Turn on logging for the server window&lt;br /&gt;
 while true; do 						# start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
  #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
        $tron --userconfigdir $userconfigdir --vardir $var&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
             done # end the loop&lt;br /&gt;
 &lt;br /&gt;
To save the file, press CTRL-X and Y to confirm. You have now a file called srv in /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
Create the second script. I called it start: &lt;br /&gt;
 nano start.sh&lt;br /&gt;
&lt;br /&gt;
That creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file called &amp;lt;code&amp;gt; start&amp;lt;/code&amp;gt; in the scripts directory. Write the following lines in the file&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in&lt;br /&gt;
 # the /home/vertrex/armagetrnad/servers directory will be started&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
      screen -S $1 -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
      screen -dmS $1 $loc/scripts/srv.sh $1			 # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)	 # start a loop running the following command for any existing folders in the&lt;br /&gt;
 #/home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit				# Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/srv.sh $f	# start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done							# ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x srv.sh&lt;br /&gt;
 chmod +x start.sh&lt;br /&gt;
&lt;br /&gt;
== Advanced Scripts ==&lt;br /&gt;
&lt;br /&gt;
In this part there are a few things that might interest you, such as the rotation script, one that is used to choose maps randomly per round.&lt;br /&gt;
&lt;br /&gt;
For the sake of this part, I will be demonstrating to you how I used the rotation script to manage my racing server.&lt;br /&gt;
&lt;br /&gt;
As always, all script are to be stored in the &amp;lt;code&amp;gt;/home/vertrex/armagetronad/scripts&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When creating/editing the scripts, I have used&#039;&#039;&#039; &amp;lt;code&amp;gt; nano&amp;lt;/code&amp;gt;&#039;&#039;&#039; because it was easier for me but you don&#039;t have to use the same method. You have the freedom to choose which ever editor you wish to use to create or edit any of these files/scripts.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So go into the scripts folder to follow the steps shown below:&lt;br /&gt;
 cd /home/vertrex/scripts&lt;br /&gt;
&lt;br /&gt;
=== The Rotation Script ===&lt;br /&gt;
&lt;br /&gt;
I found the script in a post that was made in the Armagetron Forums. I wanted to experiment with my racing maps in the 0.2.8-sty+ct version.&lt;br /&gt;
&lt;br /&gt;
All credit goes to [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Kyle] for writing the script.&lt;br /&gt;
&lt;br /&gt;
Create the rotation script. I called it race_rotation: &lt;br /&gt;
 nano race_rotation.php&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .php&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_rotation&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/usr/bin/php&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 $maps=array(&amp;quot;/path/to/map1.xml&amp;quot;,&amp;quot;/path/to/map2.xml&amp;quot;);&lt;br /&gt;
 while (1)  {&lt;br /&gt;
    $line = rtrim(fgets(STDIN, 1024));&lt;br /&gt;
    if ( preg_match( &amp;quot;/^ROUND_COMMENCING/&amp;quot;, $line ) ){&lt;br /&gt;
        $keywords = preg_split(&amp;quot;/ /&amp;quot;, $line);&lt;br /&gt;
   $map=rand (0 , count($maps )-1);&lt;br /&gt;
        echo &amp;quot;MAP_FILE &amp;quot;.$maps[$map].&amp;quot;\n&amp;quot;;&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 0\n&amp;quot;;&lt;br /&gt;
        sleep(6);&lt;br /&gt;
        echo &amp;quot;WAIT_FOR_EXTERNAL_SCRIPT 1\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To understand the components of the script, go to the post where it was originally made: [http://forums3.armagetronad.net/viewtopic.php?p=236054#p236054 Armagetron Forums: Map Rotation without 0.3]&lt;br /&gt;
&lt;br /&gt;
Remember to enable Ladderlog command in your server so that the script will rotate the maps:&lt;br /&gt;
 LADDERLOG_WRITE_ROUND_COMMENCING 1&lt;br /&gt;
&lt;br /&gt;
=== The Server Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only for the racing server. However, you can change it for your own uses.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_srv: &lt;br /&gt;
 nano race_srv.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_srv&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/&amp;quot;$1&amp;quot;/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mkdir $loc/logs/$1&lt;br /&gt;
 screen -S $1 -X logtstamp on                                    # print timestamps in log file&lt;br /&gt;
 screen -S $1 -X logfile $loc/logs/$1/$1_%m-%d-%Y-%c.log         # create a logfile in the logs subf&lt;br /&gt;
 screen -S $1 -X log on                                  # Turn on logging for the server window&lt;br /&gt;
 while true; do                                          # start a loop to allow server restart if it crashes&lt;br /&gt;
 &lt;br /&gt;
 #Runs the actual server. By default, the binary is called armagetronad-dedicated and is located in the prefix/bin directory. In this example, it is&lt;br /&gt;
 # in /home/vertrex/armagetronad/bin directory.&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | $tron --userconfigdir $userconfigdir --vardir $var| tee -a $log&lt;br /&gt;
  &lt;br /&gt;
 # Shows the errors and indicates that the server has crashed, and then, waits 5 seconds before restarting the server, allowing you to quit with CTRL-C&lt;br /&gt;
       echo &amp;quot;Server has crashed. It will restart immediately..., press CTRL-C to cancel&amp;quot;&lt;br /&gt;
       sleep 5&lt;br /&gt;
            done # end the loop&lt;br /&gt;
&lt;br /&gt;
To use your rotation script for other servers, change the rotation script name in the script to your rotation script&#039;s name:&lt;br /&gt;
  parser=$loc&amp;quot;/scripts/[Script Name].php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To know more commands other than &amp;lt;code&amp;gt; userconfigdir&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; vardir&amp;lt;/code&amp;gt; , try this in the script which will give you a window with the other things you can have:&lt;br /&gt;
 $tron --help&lt;br /&gt;
&lt;br /&gt;
=== The Global Script ===&lt;br /&gt;
&lt;br /&gt;
OK, The following script is only to start the racing server, race_srv.sh, but you can change it accordingly for your own purposes.&lt;br /&gt;
&lt;br /&gt;
Create the server script. I called it race_start:&lt;br /&gt;
 nano race_start.sh&lt;br /&gt;
&lt;br /&gt;
This creates a &amp;lt;code&amp;gt; .sh&amp;lt;/code&amp;gt; file with the name &amp;lt;code&amp;gt; race_start&amp;lt;/code&amp;gt; in the scripts folder.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 # If you run the script with a parameter (server name), only that server will be start. Otherwise, all servers in the /home/vertrex/armagetrnad-0.2.8/servers director$&lt;br /&gt;
 # will be started&lt;br /&gt;
 if [ &amp;quot;$1&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;
       screen -S $1 -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
       screen -dmS $1 $loc/scripts/race_srv.sh $1                     # start a GNU screen window with the specified server inside&lt;br /&gt;
 else&lt;br /&gt;
       for f in $(ls $loc/scripts/servers/.)     # start a loop running the following command for any existing folders in the&lt;br /&gt;
 # /home/vertrex/armagetronad/servers folder&lt;br /&gt;
                do&lt;br /&gt;
                       screen -S $f -X quit                             # Kill the window if it exists already, avoiding to run the same server twice&lt;br /&gt;
                       screen -dmS $f $loc/scripts/race_srv.sh $f    # start a GNU screen window with the server inside for each server folder&lt;br /&gt;
                done                                                    # ends the loop&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you must make them executable:&lt;br /&gt;
 chmod +x race_rotation.php&lt;br /&gt;
 chmod +x race_srv.sh&lt;br /&gt;
 chmod +x race_start.sh&lt;br /&gt;
&lt;br /&gt;
== Running Servers ==&lt;br /&gt;
&lt;br /&gt;
Starting the servers shouldn&#039;t be that hard if you follow the steps given below:&lt;br /&gt;
&lt;br /&gt;
=== Start All Servers ===&lt;br /&gt;
&lt;br /&gt;
To start all the servers check this link to fin out just how to do it as I didn&#039;t find it very useful for my purposes: [http://wiki.armagetronad.net/index.php?title=Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers Running_Multiple_Servers_on_a_single_Linux_computer#Starting_all_servers].&lt;br /&gt;
&lt;br /&gt;
=== Start Normal Servers ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your scripts folder&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Then simply run start.sh script using the following method&lt;br /&gt;
 ./start.sh [Server Name]&lt;br /&gt;
&lt;br /&gt;
If you get a message saying:&lt;br /&gt;
 No screen session found.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t panic that there is an error in the script. Try the next step:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Servers ===&lt;br /&gt;
&lt;br /&gt;
In the scripts folder, run &amp;lt;code&amp;gt; race_start.sh&amp;lt;/code&amp;gt; . As that script is for the racing server, we type in &amp;lt;code&amp;gt; racing&amp;lt;/code&amp;gt; or something like that depending on the name you have given your racing folder.&lt;br /&gt;
 ./race_start.sh racing&lt;br /&gt;
&lt;br /&gt;
Ok, the racing scripts are a little different to the normal scripts. It&#039;s not much difference. You follow the same steps as above and enter into the new screen that the server will start in but what&#039;s different is that you can&#039;t enter any commands in the server like you can with the normal ones.&lt;br /&gt;
&lt;br /&gt;
Basically meaning, you have to manually enter settings rather than easily change settings without entering the server. That is to say, you enter into the server, login as Owner or Admin and change settings.&lt;br /&gt;
&lt;br /&gt;
=== Start Racing Server in Separate Sessions ===&lt;br /&gt;
&lt;br /&gt;
As you can read from the title, this will section will explain how you can run your racing server with parser and not have to go into the server in the game to change the settings. That way is manually but this way is much quicker and easier.&lt;br /&gt;
&lt;br /&gt;
To do this, you will need three files: start_parser.sh and start_race.sh and cmd_race.txt. These can be named with any names but in my case as I&#039;m talking about racing, I will relate them to the racing.&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;code&amp;gt; cmd.txt&amp;lt;/code&amp;gt; file in the scripts folder which is easy to access from.&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
Then create the following files accordingly in the same folder as cmd.txt&lt;br /&gt;
&lt;br /&gt;
start_parser.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 tail -f $ladderlog | $parser | tee -a $cmd&lt;br /&gt;
&lt;br /&gt;
start_race.sh:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 loc=&amp;quot;/home/vertrex/armagetronad&amp;quot;&lt;br /&gt;
 tron=$loc&amp;quot;/bin/armagetronad-dedicated&amp;quot;&lt;br /&gt;
 var=$loc&amp;quot;/servers/racing/var/&amp;quot;&lt;br /&gt;
 log=$var&amp;quot;console_log.txt&amp;quot;&lt;br /&gt;
 userconfigdir=$loc&amp;quot;/servers/racing/settings/&amp;quot;&lt;br /&gt;
 parser=$loc&amp;quot;/scripts/race_rotation.php&amp;quot;&lt;br /&gt;
 ladderlog=$var&amp;quot;ladderlog.txt&amp;quot;&lt;br /&gt;
 cmd=$loc&amp;quot;/scripts/cmd.txt&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $tron --userconfigdir $userconfigdir --vardir $var --input $cmd&lt;br /&gt;
&lt;br /&gt;
Remember to make them executable:&lt;br /&gt;
 chmod +x start_parser.sh&lt;br /&gt;
 chmod +x start_race.sh&lt;br /&gt;
&lt;br /&gt;
Also remember to change my username, Vertrex, to your username.&lt;br /&gt;
&lt;br /&gt;
Once that&#039;s done, you open &amp;lt;code&amp;gt; start_parser.sh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; start_race.sh&amp;lt;/code&amp;gt; in different terminal windows or this won&#039;t work.&lt;br /&gt;
 ./start_parser.sh&lt;br /&gt;
 ./start_race.sh&lt;br /&gt;
After running them in two different terminals, open another terminal and cd into your scripts folder:&lt;br /&gt;
 cd /home/vertrex/armagetronad/scripts&lt;br /&gt;
&lt;br /&gt;
Once in the folder, start your game and start playing and when you look at the terminals, you will see that the terminal window which you used to open &amp;lt;code&amp;gt; start_parser.sh&amp;lt;/code&amp;gt; starts to output texts and from those texts, your server changes maps accordingly (depends on how you arranged your maps that is). How does that work?&lt;br /&gt;
&lt;br /&gt;
I&#039;m not an expert when it comes to scripts but I&#039;ll explain the best I can which I gathered form the people that have explained it to me. The &amp;lt;code&amp;gt; start_parser.sh&amp;lt;/code&amp;gt; outputs texts which will be written into the cmd.txt and from there the server will read the cmd.txt file for new text entires and feeds them into the server and this is done through the use of &amp;lt;code&amp;gt; --input&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
For example: in the extra window you have opened previously, type:&lt;br /&gt;
 echo center_message Hello World &amp;gt;&amp;gt; cmd.txt&lt;br /&gt;
&lt;br /&gt;
This should automatically pop-up a message in your game with big writings in the center saying &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
From that little example you should now know how it&#039;s done, how you can change settings in the server without actually being in the server.&lt;br /&gt;
&lt;br /&gt;
== Manage Servers ==&lt;br /&gt;
&lt;br /&gt;
=== Multiple Servers ===&lt;br /&gt;
Managing the servers should be pretty easy once you get to understand what you need to do.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s have an example that you started 4 servers: &amp;lt;code&amp;gt; ctf, high_rubber, hr+S and racing&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How are you going to keep a watch on them from within a single terminal ... that&#039;s practically impossible. You can only watch over one server at a time but there is another way that you could use to watch over them. Firstly let&#039;s call the current terminal, T1 ... make things easier to understand.&lt;br /&gt;
&lt;br /&gt;
Stepped Process:&lt;br /&gt;
 Step 1: Go to File.&lt;br /&gt;
 Step 2: Select&amp;quot;Open Terminal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
A new terminal window should show up, let&#039;s call it T2. With T2, you can monitor another server. Repeat the &amp;quot;Stepped Process&amp;quot; and you can monitor many more servers.&lt;br /&gt;
&lt;br /&gt;
In each terminal window, type one of each of the servers that are running:&lt;br /&gt;
 screen -r ctf&lt;br /&gt;
 screen -r high_rubber&lt;br /&gt;
 screen -r hr+s&lt;br /&gt;
 screen -r racing&lt;br /&gt;
&lt;br /&gt;
Your computer screen would look full with all the terminal windows but don&#039;t worry. You can minimize them and continue doing whatever you wish to do while the servers are online.&lt;br /&gt;
&lt;br /&gt;
=== The GNU Screen ===&lt;br /&gt;
&lt;br /&gt;
You don&#039;t really need to know a great deal lot of information on how to manage servers in a GNU but if you wish to, then try:&lt;br /&gt;
 man screen&lt;br /&gt;
&lt;br /&gt;
It&#039;ll give you many commands that you can use in your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Show Current Running Servers ===&lt;br /&gt;
&lt;br /&gt;
To see the servers that are running, try this:&lt;br /&gt;
 screen -ls&lt;br /&gt;
&lt;br /&gt;
It will display the servers that are currently running in your system.&lt;br /&gt;
&lt;br /&gt;
=== Access/Leave Specific Server ===&lt;br /&gt;
&lt;br /&gt;
To access a certain server, enter:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
To detach from the server, do:&lt;br /&gt;
Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; then hold &amp;lt;code&amp;gt; A&amp;lt;/code&amp;gt; and finally Press &amp;lt;code&amp;gt; D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you detach from the server window, it doesn&#039;t mean the server will shutdown. You simply are leaving the server window to get back to the normal window which you have started from. To re-enter the server window, follow the steps given above on how to access the server.&lt;br /&gt;
&lt;br /&gt;
=== Close A Server ===&lt;br /&gt;
&lt;br /&gt;
To close a server, go into the server you want to close:&lt;br /&gt;
 screen -r [Server Name]&lt;br /&gt;
&lt;br /&gt;
Then Do: Hold &amp;lt;code&amp;gt; CTRL&amp;lt;/code&amp;gt; and press &amp;lt;code&amp;gt; C&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That should automatically bring you back to your terminal window and a message should appear saying:&lt;br /&gt;
 [screen is terminating]&lt;br /&gt;
&lt;br /&gt;
== Extras ==&lt;br /&gt;
&lt;br /&gt;
These are snippets of stuff that I found useful when I had problems with things when running my server.&lt;br /&gt;
&lt;br /&gt;
=== Install Z-Thread ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading ZThread Compressed File&lt;br /&gt;
 wget http://voxel.dl.sourceforge.net/sourceforge/zthread/ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -xzf ZThread-2.3.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd ZThread-2.3.2&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure CXXFLAGS=&amp;quot;-fpermissive&amp;quot; --prefix=/usr/&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Libtools ===&lt;br /&gt;
&lt;br /&gt;
You simply enter the following into the terminal and it will automatically should install it for you:&lt;br /&gt;
 sudo apt-get install libtool&lt;br /&gt;
&lt;br /&gt;
=== Install Protobuf ===&lt;br /&gt;
&lt;br /&gt;
Firstly go into your user folder:&lt;br /&gt;
 cd /home/vertrex&lt;br /&gt;
&lt;br /&gt;
Downloading the compressed File&lt;br /&gt;
 wget http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Extracting File&lt;br /&gt;
 tar -jxvf ./protobuf-2.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Entering into the extracted folder&lt;br /&gt;
 cd protobuf-2.0.3&lt;br /&gt;
&lt;br /&gt;
Configuring the source files&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
&lt;br /&gt;
Perform the installation of the source files&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Install Screen ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install screen&lt;br /&gt;
&lt;br /&gt;
=== Install PHP ===&lt;br /&gt;
&lt;br /&gt;
This will automatically install the screen command which you need for these scripts&lt;br /&gt;
 sudo apt-get install php5&lt;br /&gt;
&lt;br /&gt;
=== Install BZR ===&lt;br /&gt;
This will automatically start the installation of the bzr which you will need in order to download the armagetronad source files.&lt;br /&gt;
 sudo apt-get install bzr&lt;br /&gt;
&lt;br /&gt;
=== Install libxml2 ===&lt;br /&gt;
This will automatically start to install libxml2. This is needed if the ./configure is to work properly.&lt;br /&gt;
 sudo apt-get install libxml2-dev&lt;br /&gt;
&lt;br /&gt;
=== Update Packages ===&lt;br /&gt;
This should be done first as most virtual servers won&#039;t be usable before being updated.&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
Do those codes every month to keep your system and packages updated &#039;&#039;&#039;but be careful about the usage of&#039;&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get upgrade&amp;lt;/code&amp;gt; . &#039;&#039;&#039;It can crash your platform or make some programs non-operational.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
This tutorial was written by Vertrex a.k.a LOVER$BOY. Some of the scripts were written by Superkikim in his tutorial which I modified a little for the uses of my servers. I originally thought of editing and adding the the data that I&#039;ve shown you here into his tutorial ... but his tutorial was the one that had helped me to get this far. So I instead chose to make something similar to his but with the additional data. &lt;br /&gt;
&lt;br /&gt;
I really do hope that people who read this will find it useful. In the title I may have called it only for Ubuntu Computers but it can be applied to any linux computer that exists today.&lt;/div&gt;</summary>
		<author><name>Vertrex</name></author>
	</entry>
</feed>