<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.minegoboom.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cyan~Fire</id>
	<title>ASSS Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.minegoboom.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cyan~Fire"/>
	<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php/Special:Contributions/Cyan~Fire"/>
	<updated>2026-06-07T05:56:07Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=MERVBot_Tutorial&amp;diff=5246</id>
		<title>MERVBot Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=MERVBot_Tutorial&amp;diff=5246"/>
		<updated>2007-04-28T14:54:11Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: updated links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial is based on the ever-popular MERVBot Tutorial by Underlord. It has since been updated to reflect new changes with MervBot. To see examples of how to use this instruction, see [[MERVBot Example Code]].&lt;br /&gt;
&lt;br /&gt;
This tutorial also assumes that you have a basic knowledge of C++. If you don&#039;t, check out cplusplus.com&#039;s great [http://www.cplusplus.com/doc documentation].&lt;br /&gt;
&lt;br /&gt;
==Setting up a MERVBot (plugin)==&lt;br /&gt;
&lt;br /&gt;
[http://catid.sscontinuum.com/ MERVBot download site]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Obtaining MERVBot===&lt;br /&gt;
&lt;br /&gt;
* Download the [http://catid.sscontinuum.com/files/MERVBot.rar latest build].&lt;br /&gt;
* Unrar MERVBot.rar into a new folder. (example c:\program files\continuum\mervbot)&lt;br /&gt;
* Unzip src.zip into &amp;amp;quot;src&amp;amp;quot; subfolder of that new folder (example c:\program files\continuum\mervbot\src)&lt;br /&gt;
&lt;br /&gt;
===Preparing to write a plugin===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; if you only want to execute someone&#039;s premade plugin (.dll), skip to [[MERVBot Tutorial#Run your bot dll|step 4]], otherwise continue to learn how to make your own bot&lt;br /&gt;
&lt;br /&gt;
Download [http://catid.sscontinuum.com/files/Tutorial.rar DLL-plugin Tutorial] and unzip Tutorial.zip (containing spawn.h, spawn.cpp, and command.cpp) into a &amp;amp;quot;tutorial&amp;amp;quot; subfolder of that new folder. (example c:\program files\continuum\mervbot\src\tutorial).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;File descriptions:&#039;&#039;&lt;br /&gt;
* spawn.h = declare/initialize globals&lt;br /&gt;
* command.cpp = code for commands coming into bot (ie /!help, /!play, etc)&lt;br /&gt;
* spawn.cpp = code that interacts with bot spawns&lt;br /&gt;
&lt;br /&gt;
===Microsoft Visual c++===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start Visual Studios 6.0.&lt;br /&gt;
&amp;lt;li&amp;gt;Click the Drop Down Menu labeled &amp;amp;quot;File&amp;amp;quot; at the top left of your screen.&lt;br /&gt;
&amp;lt;li&amp;gt;Click &amp;amp;quot;New&amp;amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt;On the next screen that comes up, choose from the Project tab, then Win32 Dynamic-Link Library&lt;br /&gt;
&amp;lt;li&amp;gt;Select the &amp;amp;quot;/src&amp;amp;quot; folder as the base folder (example c:\program files\continuum\mervbot\src)&lt;br /&gt;
&amp;lt;li&amp;gt;Name your project &amp;amp;quot;mybot&amp;amp;quot;. This will make a &amp;amp;quot;mybot&amp;amp;quot; subfolder in your &amp;amp;quot;src&amp;amp;quot; folder. Click OK. (example creates c:\program files\continuum\mervbot\src\mybot)&lt;br /&gt;
&amp;lt;li&amp;gt;Choose to create an &amp;amp;quot;Empty DLL project&amp;amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt;Click &amp;amp;quot;Finish&amp;amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt;Click the Drop Down Menu labbled &amp;amp;quot;Project&amp;amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt;Click &amp;amp;quot;Add To Project Files&amp;amp;quot;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy only spawn.h, spawn.cpp, and command.cpp from the &amp;amp;quot;tutorial&amp;amp;quot; folder into the this new folder. (example from c:\program files\continuum\mervbot\src\tutorial to c:\program files\continuum\mervbot\src\mybot)&lt;br /&gt;
&amp;lt;li&amp;gt;Click the Drop Down Menu labelled &amp;amp;quot;Build&amp;amp;quot;.&lt;br /&gt;
&amp;lt;li&amp;gt;Click &amp;amp;quot;Build (dll name)&amp;amp;quot; - where (dll name) is &amp;amp;quot;mybot&amp;amp;quot;&lt;br /&gt;
&amp;lt;li&amp;gt;Go into your &amp;amp;quot;mybot&amp;amp;quot; folder and look for a folder named &amp;amp;quot;Debug&amp;amp;quot;&lt;br /&gt;
(example c:\program files\continuum\mervbot\src\mybot\debug)&lt;br /&gt;
&amp;lt;li&amp;gt;Your new DLL will be in that folder. (example mybot.dll)&lt;br /&gt;
&amp;lt;li&amp;gt;Copy mybot.dll to your base folder that has mervbot.exe in it (example c:\program files\continuum\mervbot)&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Run your bot dll===&lt;br /&gt;
&lt;br /&gt;
To run your bot you need your DLL (mybot.dll), Commands.txt, MERVBot.exe, MERVBot.ini, Operators.txt, Spawns.txt, and zlib.dll all in one folder (example c:\program files\continuum\mervbot).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Edit spawns.txt. &#039;&#039;&#039;Read every word of spawns.txt to find out what needs to go in there.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example:&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;2v2-Bot-League : botpw : 2v2a : 2v2league : staffpw&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; The bot will attempt to create the name if it doesn&#039;t exist already.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Edit MERVBot.ini&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;[Login]&lt;br /&gt;
Zone=216.33.98.254:21000	// your zone IP:PORT available from zone.dat in Continuum dir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Edit operators.txt. &#039;&#039;&#039;Read every word of operators.txt to find out what needs to go in there.&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
&#039;&#039;Example:&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
4:my_name:&lt;br /&gt;
4:another_sysop:&lt;br /&gt;
3:other_person:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure the bot is on vip.txt or has smod+ access, then run MERVBot.exe.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;You can now edit your plugin code by opening &amp;amp;quot;mybot.dsw&amp;amp;quot; (example c:\program files\continuum\mervbot\src\mybot\mybot.dsw) in Microsoft Visual C++. Edit the spawn.h, spawn.cpp, and command.cpp to create your plugin, then build, copy your updated DLL to your MERVBot.exe folder and then execute the bot. Use the tutorial to get ideas on how to implement certain types of features into the bot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Player Commands - (command.cpp)==&lt;br /&gt;
&lt;br /&gt;
This section describes how to implement player commands into your plugin. Commands are sent to the botInfo::gotCommand function in command.cpp.&lt;br /&gt;
&lt;br /&gt;
Example (makes bot reply to !test with &amp;quot;hi&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void botInfo::gotCommand(Player *p, Command *c) {&lt;br /&gt;
	switch (p-&amp;gt;access)&lt;br /&gt;
	{&lt;br /&gt;
        case OP_Moderator:&lt;br /&gt;
                {&lt;br /&gt;
                     // handle moderator-operator commands here.&lt;br /&gt;
                }&lt;br /&gt;
	case OP_Player: //appropriate staff rank here.&lt;br /&gt;
		{&lt;br /&gt;
			if (c-&amp;gt;check(&amp;quot;test&amp;quot;)) //replace &amp;quot;test&amp;quot; with whatever command you want&lt;br /&gt;
			{&lt;br /&gt;
				//put your command code here&lt;br /&gt;
				sendPrivate(p,&amp;quot;hi&amp;quot;); //example&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How to have commands with numerical parameters===&lt;br /&gt;
Example (!test #):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	if (c-&amp;gt;check(&amp;quot;test&amp;quot;)) { // reads in test #, default to 1 if invalid number input&lt;br /&gt;
		int temp = 1;&lt;br /&gt;
&lt;br /&gt;
		if (isNumeric(c-&amp;gt;final))&lt;br /&gt;
			temp = atoi(c-&amp;gt;final);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How to have player name as input===&lt;br /&gt;
Example (!rank player):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	if (c-&amp;gt;check(&amp;quot;rank&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		String player_name = c-&amp;gt;final;&lt;br /&gt;
&lt;br /&gt;
		if (player_name.IsEmpty()) // default name to self if invalid name&lt;br /&gt;
			player_name = p-&amp;gt;name;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How to have multi-parameter input===&lt;br /&gt;
&lt;br /&gt;
Use the CRT function sscanf() to scan the string for the values.&lt;br /&gt;
&lt;br /&gt;
Example (!squads squadA vs squadB &#039;&#039;or&#039;&#039; !squads teamA:squadA:teamB:squadB):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
else if (c-&amp;gt;check(&amp;quot;squads&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
	char squadA[20], squadB[20];&lt;br /&gt;
	int teamA, teamB;&lt;br /&gt;
&lt;br /&gt;
	strncpy(squadA, &amp;quot;&amp;quot;, 20);&lt;br /&gt;
	strncpy(squadB, &amp;quot;&amp;quot;, 20);&lt;br /&gt;
&lt;br /&gt;
	int n_found;&lt;br /&gt;
&lt;br /&gt;
	//Note: %[A-Za-z ] is equivalent to %s, but allows an internal space.&lt;br /&gt;
&lt;br /&gt;
	//scan the string for the two squads separated by &amp;quot; vs &amp;quot;&lt;br /&gt;
	n_found = sscanf(c-&amp;gt;final, &amp;quot;%[A-Za-z ] vs %[A-Za-z ]&amp;quot;, squadA, squadB);&lt;br /&gt;
&lt;br /&gt;
	//if that fails, scan the string for freqA:squadA:freqB:squadB&lt;br /&gt;
	if (n_found &amp;lt; 2)&lt;br /&gt;
		sscanf(c-&amp;gt;final, &amp;quot;%d:%[A-Za-z ]:%d:%[A-Za-z ]&amp;quot;, &amp;amp;teamA, squadA, &amp;amp;teamB, squadB);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Help Menu===&lt;br /&gt;
When a player sends !help to the bot, MERVBot calls botInfo::gotHelp() in each plugin loaded.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void botInfo::gotHelp(Player *p, Command *c)&lt;br /&gt;
{&lt;br /&gt;
	if (!*c-&amp;gt;final)&lt;br /&gt;
	{&lt;br /&gt;
	sendPrivate(p, &amp;quot;4v4 Bot General Commands:&amp;quot;);&lt;br /&gt;
	sendPrivate(p, &amp;quot;------------------------&amp;quot;);&lt;br /&gt;
	sendPrivate(p, &amp;quot;!caps - get captain names&amp;quot;);&lt;br /&gt;
	sendPrivate(p, &amp;quot;!roster &amp;lt;squad&amp;gt; - get roster of a squad&amp;quot;);&lt;br /&gt;
	sendPrivate(p, &amp;quot;!schedule- get current schedule&amp;quot;);&lt;br /&gt;
	sendPrivate(p, &amp;quot;!score - get current score&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Event Calls==&lt;br /&gt;
&lt;br /&gt;
MERVBot is event based, so when making a bot you need to decide what will happen at certain events. Normal plugins need to consider what happens when bot enters arena, player enters arena, player leaves arena, player events like kill, shipchange, teamchange, spec, move then any other relevant events to your bot. Just worry about events that are relevant to the tasks your bot is doing.&lt;br /&gt;
&lt;br /&gt;
MERVBot sends events to botInfo::gotEvent() in spawn.cpp. Each supported event is already present and categorized in gotEvent(), along with the paramters that MERVBot sends with the event. When a plugin wants the bot to do something, it sends tell(event) to the bot.&lt;br /&gt;
&lt;br /&gt;
See dllcore.h for a list of current events and their descriptions. Dllcore.h also contains functions (like makeFollowing) to make events to send back to the bot via tell().&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;tell(makeFollowing(false));&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==The Messaging System==&lt;br /&gt;
&lt;br /&gt;
Private message - void sendPrivate(Player *player, char *msg);&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Examples:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sendPrivate(p,&amp;quot;hi&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
String s=&amp;quot;test&amp;quot;;&lt;br /&gt;
sendPrivate(p,s);&lt;br /&gt;
&lt;br /&gt;
String s=&amp;quot;test&amp;quot;;&lt;br /&gt;
s += &amp;quot;ing&amp;quot;;&lt;br /&gt;
sendPrivate(p,s);&lt;br /&gt;
&lt;br /&gt;
char captain1[20];&lt;br /&gt;
char captain2[20];&lt;br /&gt;
strncpy(captain1,&amp;quot;&amp;quot;,20);&lt;br /&gt;
strncpy(captain2,&amp;quot;&amp;quot;,20);&lt;br /&gt;
sendPrivate(p,(String) captain1 + &amp;quot; and &amp;quot; + (String) captain2 + &amp;quot; are the captains.&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Team message - void sendTeamPrivate(Uint16 team, char *msg);&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Examples: &amp;lt;br /&amp;gt;&lt;br /&gt;
a) sendTeamPrivate(8025,&amp;amp;quot;hi spec freq&amp;amp;quot;);&amp;lt;br /&amp;gt;&lt;br /&gt;
b) Uint16 test=0; sendTeamPrivate(test,&amp;amp;quot;hi freq 0&amp;amp;quot;);&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Public message - void sendPublic(char *msg);&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Example: sendPublic(&amp;amp;quot;*arena &amp;amp;quot; + (String) p-&amp;amp;gt;name + &amp;amp;quot; is now a captain&amp;amp;quot;);&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Chat channel message - void sendChannel(char *msg);&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Example: sendChannel(&amp;amp;quot;hi chat channel&amp;amp;quot;);&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Remote private message - void sendRemotePrivate(char *name, char *msg);&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Example: sendRemotePrivate(&amp;amp;quot;Player01&amp;amp;quot;, &amp;amp;quot;hi&amp;amp;quot;);&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: to have bot print several lines of text fast it needs sysop in the&lt;br /&gt;
arena (sysop in arena bot first spawns to also) otherwise it&#039;ll print slow to avoid being&lt;br /&gt;
kicked for spam&lt;br /&gt;
&lt;br /&gt;
===Output of data in messages===&lt;br /&gt;
&amp;lt;p&amp;gt;An example of using normal strings to output data/messages.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 // does *arena X pilots left in game&lt;br /&gt;
 // NOTE: variable temp needs to be defined with some value&lt;br /&gt;
&lt;br /&gt;
 String s = &amp;quot;*arena &amp;quot;;&lt;br /&gt;
       s += temp;&lt;br /&gt;
       s += &amp;quot; pilots left in the game.&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
 sendPublic(s);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Or,&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 //NOTE: this can be considered inefficient.&lt;br /&gt;
&lt;br /&gt;
 sendPublic(&amp;quot;*arena &amp;quot; + (String)temp + &amp;quot; pilots left in the game&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;An example using sprintf to align/space data, where output data will be in this approximate format.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// output data will be in this approximate format (not lined up perfectly because of html)&lt;br /&gt;
// --------------------------------------------------------------------------------------&lt;br /&gt;
// Squad: squadname       PTS     FPTS    K    D  DMG DEALT TAKEN   F  FK    FLT&lt;br /&gt;
// --------------------------------------------------------------------------------------&lt;br /&gt;
// PlayerA              10000      500  116  101       9999 99999  10 150 980:55&lt;br /&gt;
// PlayerB                500      200    7    5       9999 99999   5   3   0:04&lt;br /&gt;
&lt;br /&gt;
char str[255];&lt;br /&gt;
sendPublic(&amp;quot;*arena--------------------------------------------------------------------------------&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
sprintf(str, &amp;quot;*arena Squad: %-20s   PTS     FPTS   K   D  DMG DEALT  TAKEN  F  FK  FLT&amp;quot;,&lt;br /&gt;
         freqs[freq].freqname&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
sendPublic(str);&lt;br /&gt;
&lt;br /&gt;
sendPublic(&amp;quot;*arena--------------------------------------------------------------------------------&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            // assuming existing freqs struct with data&lt;br /&gt;
            for (pilot=freqs[freq].playercount-1; pilot&amp;gt;=0; pilot--)&lt;br /&gt;
            {&lt;br /&gt;
                // on freq squad so print stats&lt;br /&gt;
                char outString[255];&lt;br /&gt;
&lt;br /&gt;
                sprintf(outString, &amp;quot;*arena %-20s %12d %8d %3d %3d %10d %6d %2d %3d %3d:%02d&amp;quot;,&lt;br /&gt;
                       freqs[freq].pilots[pilot].name,&lt;br /&gt;
                       freqs[freq].pilots[pilot].points,&lt;br /&gt;
                       freqs[freq].pilots[pilot].flagpoints,&lt;br /&gt;
                       freqs[freq].pilots[pilot].kills,&lt;br /&gt;
                       freqs[freq].pilots[pilot].deaths,&lt;br /&gt;
                       freqs[freq].pilots[pilot].dmgdealt,&lt;br /&gt;
                       freqs[freq].pilots[pilot].dmgtaken,&lt;br /&gt;
                       freqs[freq].pilots[pilot].flags,&lt;br /&gt;
                       freqs[freq].pilots[pilot].flagkills,&lt;br /&gt;
                       freqs[freq].pilots[pilot].flagtime /60,&lt;br /&gt;
                       freqs[freq].pilots[pilot].flagtime %60&lt;br /&gt;
                       );&lt;br /&gt;
                &lt;br /&gt;
                sendPublic(outString);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Notes: sprintf format = sprintf(output char string, spacing, variables)&lt;br /&gt;
            // Notes: s = chars, d = integer, - = left align, right align default&lt;br /&gt;
            // Notes: doing %02d = put 0 in front if not 2 digits, %3d:%02d makes 0:04 format&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
Each time MERVBot sends an EVENT_Tick to a plugin (once a second), the default handler code decrements each value in an array of countdowns. You can modify the number of countdowns and add code to occur at a specific value for one of the countdowns.&lt;br /&gt;
&lt;br /&gt;
Setup number of timers and initialize in spawn.h:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class botInfo&lt;br /&gt;
{&lt;br /&gt;
	#define COUNTDOWNS 10 		// how many countdowns you want&lt;br /&gt;
	int countdown[COUNTDOWNS];	// this gives you 10 timers&lt;br /&gt;
&lt;br /&gt;
// unrelated code&lt;br /&gt;
 &lt;br /&gt;
	public:&lt;br /&gt;
	botInfo(CALL_HANDLE given)&lt;br /&gt;
	{&lt;br /&gt;
	countdown[0] = 0;&lt;br /&gt;
	countdown[1] = 60; // 60 seconds&lt;br /&gt;
	//&lt;br /&gt;
	// initialize values&lt;br /&gt;
	//&lt;br /&gt;
	countdown[9] = 5*60; // 5 minutes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Using timer functions in spawn.cpp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
case EVENT_Tick:&lt;br /&gt;
{&lt;br /&gt;
	for (int i = 0; i &amp;lt; COUNTDOWNS; ++i) //cycles through each countdown you have&lt;br /&gt;
		--countdown[i]; //note that countdowns will continue decrementing past 0.&lt;br /&gt;
&lt;br /&gt;
	if (countdown[1] == 2) // when timer #1 hits two seconds&lt;br /&gt;
	{&lt;br /&gt;
	// do stuff here when timer #1 hits 2 seconds&lt;br /&gt;
	// example: sendPublic(&amp;quot;two seconds left, setting timer to 1 minute&amp;quot;);&lt;br /&gt;
	// example: countdown[1] = 60; // change timer #1 value&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then have events (such as EVENT_PlayerDeath) change the value of a countdown to make the bot do something a set time after an event occurs.&lt;br /&gt;
&lt;br /&gt;
=== Tracking time not using countdown[n] ===&lt;br /&gt;
&lt;br /&gt;
This is a solution to a common problem of determining the amount of time it takes for something to occur. Using basic math, we record a start-time B, and an end-time E, both in the unit of seconds, we calculate the time elapsed by E-B.&lt;br /&gt;
&lt;br /&gt;
Lucky for us, Windows provides a function called GetTickCount() that is a measurement of time (milliseconds) that we can use for such cases.&lt;br /&gt;
&lt;br /&gt;
So:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	int begin = GetTickCount();&lt;br /&gt;
&lt;br /&gt;
	// do some code here.&lt;br /&gt;
&lt;br /&gt;
	int end = GetTickCount();&lt;br /&gt;
  &lt;br /&gt;
	int delta = (end - begin) / 1000;  // elapsed time converted to seconds from milliseconds&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Obtaining the current time ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Requirements:&#039;&#039; Include &amp;lt;time.h&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 char u[100];&lt;br /&gt;
 time_t t=time(NULL);&lt;br /&gt;
 tm *tmp = localtime(&amp;amp;t);&lt;br /&gt;
 strftime(u,99,&amp;quot;%c&amp;quot;,tmp);&lt;br /&gt;
 sendPublic(&amp;quot;Current date and time: &amp;quot; + u);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Writing Functions==&lt;br /&gt;
&amp;lt;!-- begin of functions. --&amp;gt;&lt;br /&gt;
For this example, we will take the function called closeto, which determines&lt;br /&gt;
if a player exists in an specific radius around a point. Now to apply this function to a MervBot plugin, you need to write it into the spawn.cpp - at the top of the file in the //////// DLL &amp;amp;quot;import&amp;amp;quot; //////// setion, as below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//////// DLL &amp;quot;import&amp;quot; ////////&lt;br /&gt;
&lt;br /&gt;
bool closeto(Player *p, int x, int y, int tolerance) &lt;br /&gt;
{&lt;br /&gt;
	// Requires the function abs() to be declared elsewhere.&lt;br /&gt;
	// Return if player p is in area of square with center x, y&lt;br /&gt;
	//   and radius = tolerance&lt;br /&gt;
	return (abs((p-&amp;gt;tile.x) - x) - tolerance) &amp;amp;&amp;amp; (abs((p-&amp;gt;tile.y) - y) - tolerance);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want your function to have access to the data from spawn.h botInfo class, you make the function apart of it. To do this, we add the &#039;&#039;&#039;botInfo::&#039;&#039;&#039; infront of the function name, in spawn.cpp.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//////// DLL &amp;quot;import&amp;quot; ////////&lt;br /&gt;
&lt;br /&gt;
bool botInfo::closeto(Player *p, int x, int y, int tolerance) &lt;br /&gt;
    {&lt;br /&gt;
	 ...&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In &#039;&#039;&#039;spawn.h&#039;&#039;&#039;, add your method&#039;s prototype without botInfo::, it will look&lt;br /&gt;
like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
botInfo(CALL_HANDLE given)&lt;br /&gt;
 {&lt;br /&gt;
//  ...&lt;br /&gt;
 } &lt;br /&gt;
  bool closeto(Player *p, int x, int y, int tolerance); // Your function prototype.&lt;br /&gt;
&lt;br /&gt;
  void clear_objects(); //provided by Catid, and already exists.&lt;br /&gt;
  void object_target(Player *p); //provided by Catid, and already exists.&lt;br /&gt;
//  ...&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you&#039;re not familiar with prototypes, notice it is similar to that in your spawn.cpp, but without the botInfo::, and a trailing ;.&lt;br /&gt;
&lt;br /&gt;
===Function notes===&lt;br /&gt;
&lt;br /&gt;
Remember that you can pass variables [http://www.cplusplus.com/doc/tutorial/tut2-3.html by reference]. If variables are passed by reference, any changes a function makes to the variables will remain after the function returns.&lt;br /&gt;
&lt;br /&gt;
From time to time you will need to pass an array to a function. An example illustrating this is:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	int freqs[5]; // declare our example data.&lt;br /&gt;
&lt;br /&gt;
	// call function - notice freqs and not freqs[5] or freqs[].&lt;br /&gt;
	my_function(freqs); //You&#039;re not passing the array itself, just a pointer to the array.&lt;br /&gt;
&lt;br /&gt;
	// function - notice freqs[] and not freqs[5] or freqs&lt;br /&gt;
	void my_function(int freqs[]) {} //You&#039;re specifying that the freqs parameter is an array&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cycling through players==&lt;br /&gt;
&lt;br /&gt;
MERVBot stores player-related data in a linked list. A linked list is a datatype that stores its data in a series of structures linked to each other, hence the name.&lt;br /&gt;
&lt;br /&gt;
To search through the players in the arena, just start at the first link, then continue through all the following links until you reach the end:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
_listnode &amp;lt;Player&amp;gt; *parse = playerlist-&amp;gt;head;	//set to first link of the player linked list&lt;br /&gt;
&lt;br /&gt;
while (parse)	//parse will be NULL when we reach the last link&lt;br /&gt;
{&lt;br /&gt;
	Player *p = parse-&amp;gt;item;	//item is the actual data stored in the link&lt;br /&gt;
&lt;br /&gt;
	// do functionality here&lt;br /&gt;
	// Example 1: sendPrivate(p,&amp;quot;*watchdamage&amp;quot;); // turns on all pilot&#039;s watchdamage&lt;br /&gt;
	// Example 2: if (p-&amp;gt;safety != 0) sendPrivate(p,&amp;quot;*spec&amp;quot;); // spec all pilots in safe zone&lt;br /&gt;
&lt;br /&gt;
	parse = parse-&amp;gt;next;	//set parse to the next link&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, assuming our bot has smod+ privilages, the following code will set all non-spectator players to a specific ship. First begin by adding the following function prototype to the spawn.h in the botInfo class:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 void handleCmdSetShip(enum Ship_Types ship);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In spawn.cpp add:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void botInfo::handleCmdSetShip(enum Ship_Types ship)&lt;br /&gt;
{&lt;br /&gt;
	//Note that the parameter ship is of the Ship_Types enum,&lt;br /&gt;
	//so its value is hopefully restricted to the proper types.&lt;br /&gt;
&lt;br /&gt;
	_listnode &amp;lt;Player&amp;gt; *parse = playerlist-&amp;gt;head;&lt;br /&gt;
	while (parse)&lt;br /&gt;
	{&lt;br /&gt;
		Player *p = parse-&amp;gt;item;&lt;br /&gt;
&lt;br /&gt;
		if ( p-&amp;gt;ship != ship &amp;amp;&amp;amp; p-&amp;gt;ship != SHIP_Spectator )&lt;br /&gt;
				sendPrivate(p, &amp;quot;*setship &amp;quot; + (String)ship);&lt;br /&gt;
&lt;br /&gt;
		parse = parse-&amp;gt;next;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To use, just call the function with the appropriate Ship_Type from the enum in clientprot.h:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 handleCmdSetShip(SHIP_Warbird);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Random numbers==&lt;br /&gt;
&lt;br /&gt;
===Generating a random number===&lt;br /&gt;
&lt;br /&gt;
To use this method, these two includes must be used:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;time.h&amp;quot;    //provides time() function.&lt;br /&gt;
#include &amp;quot;stdlib.h&amp;quot;  //provides srand() and rand() functions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    srand(time(NULL)); // seed random number generator.&lt;br /&gt;
&lt;br /&gt;
    rand(); // randomize.&lt;br /&gt;
&lt;br /&gt;
    int temp = (int) (51 * ((float)rand()/RAND_MAX));&lt;br /&gt;
       // the above line returns a random integer between 0 and 51.&lt;br /&gt;
       // Note: RAND_MAX is a global constant defined in stdlib.h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Picking a random pilot===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; A required user-defined function, getInGame(), must be created for this example to work.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int temp = GetTickCount() % getInGame();  // getInGame() = how many pilots in arena&lt;br /&gt;
&lt;br /&gt;
Player *rabbit = NULL;&lt;br /&gt;
&lt;br /&gt;
_listnode &amp;lt;Player&amp;gt; *parse = playerlist-&amp;gt;head;&lt;br /&gt;
while (parse)&lt;br /&gt;
{&lt;br /&gt;
	Player *p = parse-&amp;gt;item;&lt;br /&gt;
&lt;br /&gt;
	if (p-&amp;gt;ship != SHIP_Spectator) // if player is not a spectator&lt;br /&gt;
	if ( !(--temp) ) // and if we&#039;ve hit the randomly-selected pilot&lt;br /&gt;
	{&lt;br /&gt;
		rabbit = p;&lt;br /&gt;
		break;&lt;br /&gt;
	}&lt;br /&gt;
	parse = parse-&amp;gt;next;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Storing data for pilots==&lt;br /&gt;
&lt;br /&gt;
There are several ways to store data for pilots (ie tracking flagtime or kills in a period of time). Note that these methods are all purely internal to the bot, and don&#039;t effect anything beyond the plugin in any way.&lt;br /&gt;
&lt;br /&gt;
# Built-in get/setTag: Tracks data until player leaves the arena, then automatically deletes data.&lt;br /&gt;
# Modified perm get/setTag: Tracks data until bot leaves arena, then automatically deletes data. (Advantage: easier to sort by player)&lt;br /&gt;
# Custom Structs: Tracks data until plugin deletes it. (Advantage: easier to sort by freqs)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; 2 and 3 are similar in effect, mostly the difference is in how you are able to search through data you need to decide which method of storing data is best for each bot depending on what it does.&lt;br /&gt;
&lt;br /&gt;
===Built-in get/setTag method===&lt;br /&gt;
&lt;br /&gt;
Player tags simply tag a player with a number. Define the wanted values in &#039;&#039;&#039;spawn.h&#039;&#039;&#039; at the top:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define DMG_DEALT        0&lt;br /&gt;
#define DMG_TAKEN        1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In spawn.cpp, initialize the values on ArenaEnter and PlayerEnter:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
case EVENT_ArenaEnter:&lt;br /&gt;
{&lt;br /&gt;
	// ...&lt;br /&gt;
&lt;br /&gt;
	// do for all pilots in arena when bot enters&lt;br /&gt;
	_listnode &amp;lt;Player&amp;gt; *parse = playerlist-&amp;gt;head;&lt;br /&gt;
	while (parse)&lt;br /&gt;
	{&lt;br /&gt;
	   Player *p = parse-&amp;gt;item;  // get pilot&lt;br /&gt;
&lt;br /&gt;
	   set_tag(p, DMG_DEALT, 0); // initialize to 0&lt;br /&gt;
	   set_tag(p, DMG_TAKEN, 0);&lt;br /&gt;
	   sendPrivate(p, &amp;quot;*watchdamage&amp;quot;);  // optionally turn on player *watchdamage&lt;br /&gt;
&lt;br /&gt;
	   parse = parse-&amp;gt;next;  // get next pilot&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
case EVENT_PlayerEntering:&lt;br /&gt;
{&lt;br /&gt;
//	...&lt;br /&gt;
	set_tag(p, DMG_DEALT, 0); // initialize to 0&lt;br /&gt;
	set_tag(p, DMG_TAKEN, 0);&lt;br /&gt;
	sendPrivate(p,&amp;quot;*watchdamage&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then somewhere edit the tag values:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
case EVENT_WatchDamage:&lt;br /&gt;
{&lt;br /&gt;
	// sets tag for k (shooter) to be old value plus damage currently dealt&lt;br /&gt;
&lt;br /&gt;
	int old_damage = get_tag(k, DMG_BOMB_DEALT);&lt;br /&gt;
	set_tag(k, DMG_BOMB_DEALT, old_damage + damage);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following demonstrates how to retrieve the tag values as a command in command.cpp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (c-&amp;gt;check(&amp;quot;showstats&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
	int temp = get_tag(p, DMG_TOTAL_DEALT);&lt;br /&gt;
&lt;br /&gt;
	String s = &amp;quot;You&#039;ve done &amp;quot;;&lt;br /&gt;
	s += temp;&lt;br /&gt;
	s += &amp;quot; damage so far!&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	sendPrivate(p,s);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Modified permanent get/setTag method===&lt;br /&gt;
&lt;br /&gt;
This method is the same as get/setTag with some modifications to the tag code to retain them after the player leaves. Beware of using this method if bot is in an arena for long periods of time, linkedlist could get huge.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// spawn.h, add char name[20]; into struct PlayerTag&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
struct PlayerTag&lt;br /&gt;
{&lt;br /&gt;
	Player *p;&lt;br /&gt;
	char name[20];&lt;br /&gt;
	int index;&lt;br /&gt;
	int data;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In spawn.cpp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	case EVENT_PlayerLeaving:&lt;br /&gt;
	{&lt;br /&gt;
	    Player *p = (Player*)event.p[0];&lt;br /&gt;
&lt;br /&gt;
	    // killTags(p);  // remove so tag not deleted on arena exit&lt;br /&gt;
&lt;br /&gt;
//	...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Locate in spawn.cpp and modify accordingly:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int botInfo::get_tag(Player *p, int index)&lt;br /&gt;
{&lt;br /&gt;
    _listnode &amp;lt;PlayerTag&amp;gt; *parse = taglist.head;&lt;br /&gt;
    PlayerTag *tag;&lt;br /&gt;
&lt;br /&gt;
    while (parse)&lt;br /&gt;
    {&lt;br /&gt;
      tag = parse-&amp;gt;item;&lt;br /&gt;
&lt;br /&gt;
      // if (tag-&amp;gt;p == p)&lt;br /&gt;
      if (strcmp(tag-&amp;gt;name,p-&amp;gt;name)==0)  // now tracking by player name, not pointer&lt;br /&gt;
      if (tag-&amp;gt;index == index)&lt;br /&gt;
        return tag-&amp;gt;data;&lt;br /&gt;
&lt;br /&gt;
      parse = parse-&amp;gt;next;&lt;br /&gt;
    }&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void botInfo::set_tag(Player *p, int index, int data)&lt;br /&gt;
{&lt;br /&gt;
    _listnode &amp;lt;PlayerTag&amp;gt; *parse = taglist.head;&lt;br /&gt;
    PlayerTag *tag;&lt;br /&gt;
&lt;br /&gt;
    while (parse)&lt;br /&gt;
    {&lt;br /&gt;
      tag = parse-&amp;gt;item;&lt;br /&gt;
&lt;br /&gt;
      //if (tag-&amp;gt;p == p)&lt;br /&gt;
      if (strcmp(tag-&amp;gt;name,p-&amp;gt;name)==0) // now tracking by player name, not pointer&lt;br /&gt;
      if (tag-&amp;gt;index == index)&lt;br /&gt;
      {&lt;br /&gt;
        tag-&amp;gt;data = data;&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
      parse = parse-&amp;gt;next;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    tag = new PlayerTag;&lt;br /&gt;
    // tag-&amp;gt;p = p; // not tracking by pointer anymore&lt;br /&gt;
    strncpy(tag-&amp;gt;name, p-&amp;gt;name, 20); // tracking by player name&lt;br /&gt;
    tag-&amp;gt;index = index;&lt;br /&gt;
    tag-&amp;gt;data = data;&lt;br /&gt;
    taglist.append(tag);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Using structs===&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;&#039;spawn.h&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class botInfo&lt;br /&gt;
{&lt;br /&gt;
	struct freqdata &lt;br /&gt;
	{&lt;br /&gt;
		int kills, deaths;&lt;br /&gt;
	};&lt;br /&gt;
// ...&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To make use of this structure, implement accordingly:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	freqdata freqs[100]; // 100 of those structs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Access the data in spawn.cpp using&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
freqs[56].kills = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See CPlusPlus.com&#039;s [http://www.cplusplus.com/doc/tutorial/tut3-5.html Structures] tutorial for a more comprehensive guide. Note that, as shown on the bottom of the page, you can have structures within structures. Thus, for example, you could have a structure for each freq with a structure for each player nested within them.&lt;br /&gt;
&lt;br /&gt;
==Input/Output to files==&lt;br /&gt;
&lt;br /&gt;
For reading and/or writing to files with C++ you must have the required include statement as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===File stream input===&lt;br /&gt;
The following example will show you how to read a file, duel.ini, line by line.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;quot;stdlib.h&amp;quot; // for atoi()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ifstream file(&amp;quot;duel.ini&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  if (!file.good()) // if there was an error opening the file&lt;br /&gt;
    sendPublic(&amp;quot;*arena Error opening file for reading&amp;quot;); // or add your own error handler&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    char line[256];&lt;br /&gt;
&lt;br /&gt;
    // read in MaxBoxes=X&lt;br /&gt;
    while (file.getline(line, 256))&lt;br /&gt;
    {&lt;br /&gt;
     &lt;br /&gt;
      if (CMPSTART(&amp;quot;MaxBoxes=&amp;quot;, line)) //Does the line begin with MaxBoxes= ?&lt;br /&gt;
      {&lt;br /&gt;
        MAX_BOXES = atoi(&amp;amp;(line[9]));  //If so, read the value into an integer, using atio.&lt;br /&gt;
        break;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    file.close();&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===File stream output===&lt;br /&gt;
The following code example will demonstrate how to append to a file, duelleaguestat.inc.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ofstream file(&amp;quot;duelleaguestat.inc&amp;quot;, ios::app);   // app = put all data at end of file&lt;br /&gt;
&lt;br /&gt;
 if (!file.good()) // if there was an error opening the file&lt;br /&gt;
   sendPublic(&amp;quot;*arena Error opening file.&amp;quot;);&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
   file &amp;lt;&amp;lt; squad1&amp;lt;&amp;lt; endl;  // squad1 = char[20]&lt;br /&gt;
   file &amp;lt;&amp;lt; &amp;quot; vs &amp;quot;&amp;lt;&amp;lt; endl;&lt;br /&gt;
   file &amp;lt;&amp;lt; squad2&amp;lt;&amp;lt; endl;  // squad2 = char[20]&lt;br /&gt;
   file.close();&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, you are able to write an output of a String to a file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 // key is converting String to (char*) to file write&lt;br /&gt;
 String str = freqs[freq].slotname[slot];&lt;br /&gt;
 str += &amp;quot;, Repels: &amp;quot; + (String)(int) t-&amp;gt;repel;&lt;br /&gt;
 file &amp;lt;&amp;lt; endl;&lt;br /&gt;
 file &amp;lt;&amp;lt; (char*) str;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Input with GetPrivateProfileString===&lt;br /&gt;
&lt;br /&gt;
GetPrivateProfileString(), a function provided by Windows for reading INI files, will automatically find an INI key (like &amp;quot;MaxBoxes=&amp;quot;) in a file for you. See the [http://msdn.microsoft.com/library MSDN Library] for help on this function. This next example will show how to read input using GetPrivateProfileString() based on the rampage plugin.&lt;br /&gt;
&lt;br /&gt;
The file format for rampage.ini is like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 7=is on a killing spree! (6:0)&lt;br /&gt;
 10=is opening a can of booya! (9:0)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;&#039;rampageini.cpp&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;rampageini.h&amp;quot;&lt;br /&gt;
#define WIN32_LEAN_AND_MEAN&lt;br /&gt;
#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define NUM_RANKS 10&lt;br /&gt;
#define BUFFER_LEN 256&lt;br /&gt;
&lt;br /&gt;
struct RampageSettings&lt;br /&gt;
{&lt;br /&gt;
	char quotes[NUM_RANKS][BUFFER_LEN];&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
void LoadSettings(RampageSettings &amp;amp;setts);&lt;br /&gt;
&lt;br /&gt;
static char path[BUFFER_LEN];&lt;br /&gt;
&lt;br /&gt;
char *rank_type[NUM_RANKS] = { &amp;quot;7&amp;quot;, &amp;quot;10&amp;quot; };&lt;br /&gt;
&lt;br /&gt;
void LoadSettings(RampageSettings &amp;amp;setts)&lt;br /&gt;
{&lt;br /&gt;
	GetCurrentDirectory(BUFFER_LEN - 64, path);&lt;br /&gt;
	strcat(path, &amp;quot;\rampage.ini&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
	for (int i = 0; i &amp;lt; NUM_RANKS; ++i)&lt;br /&gt;
	{&lt;br /&gt;
		GetPrivateProfileString(&amp;quot;Comments&amp;quot;, rank_type[i], &amp;quot;-ERROR-&amp;quot;,&lt;br /&gt;
					setts.quotes[i], BUFFER_LEN, path);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Player data==&lt;br /&gt;
&lt;br /&gt;
As stated earlier in the tutorial, MervBot stores useful player data internally as Player objects, see player.h for implementation details.&lt;br /&gt;
&lt;br /&gt;
* p-&amp;gt;name = player name stored as char[20] (&#039;&#039;Note:&#039;&#039; SubSpace protocol allows for usernames to be 19+ in length, do not rely on this for player-name comparisions.)&lt;br /&gt;
* p-&amp;gt;squad = player squad stored as char[20]&lt;br /&gt;
* p-&amp;gt;ship = ship (0-9) enumerated as SHIP_Warbird, SHIP_Spectator, etc..&lt;br /&gt;
* p-&amp;gt;safety = whether ship is in safety zone (boolean)&lt;br /&gt;
* p-&amp;gt;bounty = player bounty&lt;br /&gt;
* p-&amp;gt;energy = player energy (have bot with *energy on to get accurate readings)&lt;br /&gt;
* p-&amp;gt;flagCount = how many flags player is holding&lt;br /&gt;
* p-&amp;gt;team = player frequency&lt;br /&gt;
* p-&amp;gt;(burst, repel, thor, brick, decoy, rocket, portal) = how many items of that type player has&lt;br /&gt;
* p-&amp;gt;(stealth, cloak, xradar, awarp, ufo, flash, safety, shields, supers) = if player has that item on (boolean)&lt;br /&gt;
* p-&amp;gt;score.killPoints = player kill points&lt;br /&gt;
* p-&amp;gt;score.flagPoints = player flag points&lt;br /&gt;
* p-&amp;gt;score.wins = player kills from f2&lt;br /&gt;
* p-&amp;gt;score.losses = player deaths from f2&lt;br /&gt;
&lt;br /&gt;
Just access the respective member of the Player class to check the player&#039;s property.&lt;br /&gt;
&lt;br /&gt;
For example, in spawn.cpp, to check whether a player is in a safety zone:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EVENT_PlayerMove:&lt;br /&gt;
{&lt;br /&gt;
   Player *p = (Player*)event.p[0];&lt;br /&gt;
&lt;br /&gt;
   if ( p-&amp;gt;safety ) // player is in safe zone.&lt;br /&gt;
     {&lt;br /&gt;
        // do something.&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
   if ( !p-&amp;gt;safety ) // player NOT in safe zone.&lt;br /&gt;
     {&lt;br /&gt;
        // do something.&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Obtaining a player pointer using name comparison ===&lt;br /&gt;
&lt;br /&gt;
Since Player pointers are internal to MERVBot, it is necessary to find a way of obtaining a Player pointer from the identifying information given by the game. One of the simpler ways is just to compare the names after converting to lowercase.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039;: Using pilot names as vital comparisions should be used with caution. See [http://cypherjf.sscentral.com/articles/bots-as-clients/ Bot-Issues] by CypherJF.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// return Player* info (or NULL if not found) from p-&amp;gt;name info&lt;br /&gt;
Player * botInfo::GetPilot(char *name)&lt;br /&gt;
{&lt;br /&gt;
	// get pilot from a name, return as TempPlayer&lt;br /&gt;
	_listnode &amp;lt;Player&amp;gt; *parse = playerlist-&amp;gt;head;&lt;br /&gt;
&lt;br /&gt;
	//convert search name to lowercase&lt;br /&gt;
	char nname[20], pname[20];&lt;br /&gt;
	strncpy(nname, name, 20);&lt;br /&gt;
	tolower(nname);&lt;br /&gt;
&lt;br /&gt;
	while (parse)&lt;br /&gt;
	{&lt;br /&gt;
		Player *p = parse-&amp;gt;item;&lt;br /&gt;
&lt;br /&gt;
		// convert to lowercase to compare&lt;br /&gt;
		strncpy(pname,p-&amp;gt;name,20);&lt;br /&gt;
		tolower(pname);&lt;br /&gt;
		if (strcmp(pname,nname)==0)&lt;br /&gt;
			return p;&lt;br /&gt;
		&lt;br /&gt;
		parse = parse-&amp;gt;next;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return NULL;	//player not found&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bot built in functions==&lt;br /&gt;
&lt;br /&gt;
Here are some useful MervBot commands to control what the bot is doing.&lt;br /&gt;
&lt;br /&gt;
Player.cpp:&lt;br /&gt;
* Player::move(Sint32 x, Sint32 y) moves a player to the coordinates specified by x and y&lt;br /&gt;
* Player::clone(Player *p) clones a player into a player class&lt;br /&gt;
&lt;br /&gt;
Look in Commands.txt , command.cpp (core), or /!help to bot to see all bot external commands (example /!go &amp;amp;lt;arena&amp;amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;LVZ Object toggling commands in plugins are to go here.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=LVZ&amp;diff=4217</id>
		<title>LVZ</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=LVZ&amp;diff=4217"/>
		<updated>2007-02-06T18:21:39Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: /* Adding/Replacing Files */ separate files and priority&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An LVZ is a file that can customize an arena beyond simply changing the map with a LVL. An LVZ can contain compressed files, map objects, screen objects, or a combination of the three. The server will send the LVZs to a [[Continuum]] client when it enters an arena for storage in the zone&#039;s directory (Continuum\Zones\[Zone Name]) along with the LVLs and news.txt for that zone. The primary way of creating an LVZ is the [http://www.shanky.com/cgi-bin/ryan/download.cgi?lvztoolkit.zip LVZ Toolkit] and the [http://forums.minegoboom.com/viewtopic.php?t=3907 Cross Platform Lvz Toolkit] (which includes bug fixes and has better compression).&lt;br /&gt;
&lt;br /&gt;
Continuum only supports 256 different images in all of your lvz files combined. If you exceed this limit, toggling the 257th image will turn on the 1st image. This is often undesired, so be careful.&lt;br /&gt;
&lt;br /&gt;
== Adding/Replacing Files ==&lt;br /&gt;
&lt;br /&gt;
Adding a file to an LVZ with the same filename (extension does not matter) as a default Continuum image or sound file will replace that file for that arena. For example, placing a file called victoryl.wav in an LVZ will override the standard victory music in that arena. Along with the standard BMP (&amp;lt;tt&amp;gt;.bm2&amp;lt;/tt&amp;gt;) and WAV (&amp;lt;tt&amp;gt;.wa2&amp;lt;/tt&amp;gt;) formats, Continuum supports [http://www.libpng.org/pub/png/ PNG], GIF, and JPEG &amp;amp;mdash; MP3 is &#039;&#039;not&#039;&#039; supported.&lt;br /&gt;
&lt;br /&gt;
Adding a file to an LVZ with a different filename from one of the defaults will make that image available to be placed as a map object or screen object.&lt;br /&gt;
&lt;br /&gt;
Note that files included by themselves (not within an LVZ) will take precedence over ones inside an LVZ. This also means that a user can place a file (say, ship1.bm2) in a zone&#039;s folder and it will override any custom ship graphics the zone uses.&lt;br /&gt;
&lt;br /&gt;
== Map Objects ==&lt;br /&gt;
&lt;br /&gt;
Map objects are images placed by Continuum at a static location on the [[map]]. They can be animated in the normal way for [[SubSpace]]/Continuum, that is, with horizontal and vertical tiles representing frames. Their display time and display mode (when Continuum will display them) can be customized.&lt;br /&gt;
&lt;br /&gt;
== Screen Objects ==&lt;br /&gt;
[[Image:Refpoints.gif|thumb|Click for larger view indicating the locations of the modifiers.]]&lt;br /&gt;
&lt;br /&gt;
Screen objects are images placed by Continuum at a specific point on the screen or a point relative to one of the presets, meaning they will move around with the pilot. Like map objects, they can be animated and their display time and mode can be customized.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[LVZ Format|LVZ File Format]]&lt;br /&gt;
* [[LVZ Scripting]]&lt;br /&gt;
* [[Continuum Level / Ini Tool]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Definitions]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Talk:UDP_Game_Protocol&amp;diff=4083</id>
		<title>Talk:UDP Game Protocol</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Talk:UDP_Game_Protocol&amp;diff=4083"/>
		<updated>2006-11-19T21:12:22Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: reply to bak&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[User:Smong|Smong]]: Can you explain how to use the handler offsets. Which versions of Subspace they are valid for with MD5&#039;s of the binaries, and possible a link to the latest version.&lt;br /&gt;
&lt;br /&gt;
[[User:D1st0rt|D1st0rt]]:I got [http://d1st0rt.sscentral.com/packets.html this one] from kirk&#039;s site, its a bit more in depth and include the directory server protocol&lt;br /&gt;
&lt;br /&gt;
I just realized that this list is totally incomplete. I&#039;ll try to update it soon. --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
For the record, d1st0rt&#039;s is a lot better than the one here. [[User:BaK|BaK]] 02:57, Nov 17, 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
[[User:Mine GO BOOM|Mine GO BOOM]] 10:18, Nov 17, 2006 (PST): Any specific parts that are better, or the whole layout?&lt;br /&gt;
&lt;br /&gt;
It would be a pain to put on here because the source has a bunch of MS office junk that should be stripped out. Actually, it doesn&#039;t even display properly in Firefox. --[[User:Cyan~Fire|Cyan~Fire]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Commands.hlp&amp;diff=5598</id>
		<title>Commands.hlp</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Commands.hlp&amp;diff=5598"/>
		<updated>2006-11-04T16:33:12Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: hmm probably should include cyph&amp;#039;s app&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Continuum gets the content for its F1 help menu from commands.hlp. As usual, an arena can override it to customize the help menu.&lt;br /&gt;
&lt;br /&gt;
=== Format ===&lt;br /&gt;
The commands.hlp file is just a plaintext file with special control characters, &#039;#&#039; and &#039;%&#039;. The # character creates a new page, like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;# This is the title for the new page&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;%&#039; character changes the color of the text. Changing the color prints all text that color until another color is specified. These are the possible colors:&lt;br /&gt;
* %W = White&lt;br /&gt;
* %B = Blue (public chat)&lt;br /&gt;
* %Y = Yellow (team chat)&lt;br /&gt;
* %G = Green (private messaging)&lt;br /&gt;
* %b = Brown (red, chat channels)&lt;br /&gt;
* %P = Purple&lt;br /&gt;
* %p = Pink&lt;br /&gt;
&lt;br /&gt;
The &#039;%&#039; character also has a special use: dynamic key specifiers. For example, &amp;quot;%KB_BULLET&amp;quot; will print whatever key fires bullets and &amp;quot;%KEsc&amp;quot; will print whatever key brings up the game menu. The best place to look for these key specifiers is the default commands.hlp file that comes with Continuum.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://forums.minegoboom.com/viewtopic.php?t=2295 Continuum F1 Editor] by CypherJF&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Commands.hlp&amp;diff=4072</id>
		<title>Commands.hlp</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Commands.hlp&amp;diff=4072"/>
		<updated>2006-11-04T16:31:38Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Continuum gets the content for its F1 help menu from commands.hlp. As usual, an arena can override it to customize the help menu.&lt;br /&gt;
&lt;br /&gt;
=== Format ===&lt;br /&gt;
The commands.hlp file is just a plaintext file with special control characters, &#039;#&#039; and &#039;%&#039;. The # character creates a new page, like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;# This is the title for the new page&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;%&#039; character changes the color of the text. Changing the color prints all text that color until another color is specified. These are the possible colors:&lt;br /&gt;
* %W = White&lt;br /&gt;
* %B = Blue (public chat)&lt;br /&gt;
* %Y = Yellow (team chat)&lt;br /&gt;
* %G = Green (private messaging)&lt;br /&gt;
* %b = Brown (red, chat channels)&lt;br /&gt;
* %P = Purple&lt;br /&gt;
* %p = Pink&lt;br /&gt;
&lt;br /&gt;
The &#039;%&#039; character also has a special use: dynamic key specifiers. For example, &amp;quot;%KB_BULLET&amp;quot; will print whatever key fires bullets and &amp;quot;%KEsc&amp;quot; will print whatever key brings up the game menu. The best place to look for these key specifiers is the default commands.hlp file that comes with Continuum.&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Misc_FAQ&amp;diff=5254</id>
		<title>Misc FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Misc_FAQ&amp;diff=5254"/>
		<updated>2006-11-04T16:20:32Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: slight reformat, added link to commands.hlp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are general questions about the game that don&#039;t really fit anywhere else.&lt;br /&gt;
&lt;br /&gt;
=== What color is used as transparent in splash.bm2? ===&lt;br /&gt;
255, 0, 255, which is a sort of purple.&lt;br /&gt;
&lt;br /&gt;
=== What program should I use to open .bm2 and .wa2 files with? ===&lt;br /&gt;
You can just rename these extensions to .bmp and .wav respectively. Then they should open with your favourite viewer/editor automatically.&lt;br /&gt;
&lt;br /&gt;
=== I try to download a map but I am just shown the tileset in my browser ===&lt;br /&gt;
You need to right click and save the link to disk. The beginning of the data inside a map is a bitmap.&lt;br /&gt;
&lt;br /&gt;
=== How do I change the F1 help box? ===&lt;br /&gt;
Edit [[commands.hlp]].&lt;br /&gt;
&lt;br /&gt;
[[Category: FAQ]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Directory_Game_Server_Protocol&amp;diff=4103</id>
		<title>Directory Game Server Protocol</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Directory_Game_Server_Protocol&amp;diff=4103"/>
		<updated>2006-10-07T15:21:03Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: game server&amp;#039;s what?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
[[Zone|Game Servers]] such as [[subgame2]] and [[ASSS]] register their prescence on [[Directory server|Directory Servers]]. This page describes the portion of the &#039;&#039;&#039;directory server protocol&#039;&#039;&#039; that game servers use.&lt;br /&gt;
&lt;br /&gt;
This system uses UDP packets, most commonly over port 4991. Maximum length of the packet is only limited to the directory server software itself, so it varies from each application. The specific lengths of most fields are static, with the zone description field being the only value that varies its length.&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
g2d&lt;br /&gt;
&lt;br /&gt;
register game server&lt;br /&gt;
offset size comment&lt;br /&gt;
0      4    ip (leave this set to 0?)&lt;br /&gt;
4      2    port&lt;br /&gt;
6      2    player count&lt;br /&gt;
8      2    saving scores? (boolean)&lt;br /&gt;
12     4    version (set this to 134)&lt;br /&gt;
14     32   zone name (null terminated)&lt;br /&gt;
46     16   password (null terminated)&lt;br /&gt;
62     32   reserved (suggested to set this to 0)&lt;br /&gt;
92     ?    description (must be null terminated)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notes on Priit&#039;s dirserv ==&lt;br /&gt;
Descriptions are recorded to the stats file with a max length of 490 bytes. The reserved field can be filled with any random data, as the directory server ignores this field completely.&lt;br /&gt;
&lt;br /&gt;
== Notes on Catid&#039;s dirserv ==&lt;br /&gt;
&lt;br /&gt;
=== Validating the packet ===&lt;br /&gt;
* The length of the packet must be greater than 95/0×5F bytes. Basically this means the description can be blank but must be null terminated.&lt;br /&gt;
* The first 4 bytes (the IP field) must be zeroed.&lt;br /&gt;
* The reserved field must be zeroed.&lt;br /&gt;
* The name, password and description must be null terminated.&lt;br /&gt;
* The &amp;quot;save scores&amp;quot; field must be either 0 or 1.&lt;br /&gt;
&lt;br /&gt;
=== Validating the zone name ===&lt;br /&gt;
* Name must be at least one character long.&lt;br /&gt;
* First and last characters must cannot be a space.&lt;br /&gt;
* No more than one space in a row.&lt;br /&gt;
* Only ASCII characters between ‘ ‘ [0x20] and ‘~’ [0x7E], inclusive.&lt;br /&gt;
&lt;br /&gt;
== Notes on zone.dat ==&lt;br /&gt;
Due to the format of zone.dat used to store your favourite zones, zone names should not begin with &#039;#&#039; [0x23] or contain any &#039;,&#039; [0x2C].&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://cypherjf.sscentral.com/articles/game-server-to-directory-server/ CypherJF&#039;s original document]&lt;br /&gt;
* [http://web.archive.org/web/*/http://www4.ncsu.edu/~rniyenga/subspace/old/dprotocol.html Hammuravi&#039;s page]&lt;br /&gt;
* [http://asss.yi.org/asss/ ASSS Source]: src/directory.c&lt;br /&gt;
* [[Directory Client Protocol]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Protocol]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=UDP_Game_Protocol&amp;diff=3986</id>
		<title>UDP Game Protocol</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=UDP_Game_Protocol&amp;diff=3986"/>
		<updated>2006-03-24T15:12:50Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: incomplete&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a document outlining the UDP protocol used by game clients ([[Continuum]], [[SubSpace]], and all of the [[Bots]] in use today).  This is not exhaustive but has been compiled from [[LogicBot|LogicBot++]], [[MERVBot]], and various files from [http://catid.ssihosting.com/ Catid Inside] and [http://snrrrub.sscentral.com/ Snrrrub&#039;s Dump].  The posted outline is taken from the FPL at [http://explody.ssihosting.com/ Explody&#039;s Loot]. All clients also use the [[core protocol]]. &#039;&#039;&#039;It is, as of right now, incomplete. Some packets do not have their contents filled out.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Full Packet List (Consolidated Subspace and Continuum Packet List)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 //====================\\&lt;br /&gt;
||          C2S         ||&lt;br /&gt;
 \\====================//&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ID	CLASS	HANDLER		PKT DESC&lt;br /&gt;
-		OFFSET	LEN	CONTENTS&lt;br /&gt;
-				[Type	Meaning]&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x01	Game	0x40B750	Arena Login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Ship type&lt;br /&gt;
-		2	2	Allow audio?&lt;br /&gt;
-		4	2	X resolution&lt;br /&gt;
-		6	2	Y resolution&lt;br /&gt;
-		8	2	Main arena number 0xFFFF for random pub, 0xFFFD for sub.&lt;br /&gt;
-		10	16	Arena name (optional, if offset 8 is 0xFFFD)&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x02	Game	0x40B3C1	Leave arena&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x03	Game	0x409BA9	Position&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Direction&lt;br /&gt;
-		2	4	Timestamp&lt;br /&gt;
-		6	2	X velocity&lt;br /&gt;
-		8	2	Y pixels&lt;br /&gt;
-		10	1	Checksum&lt;br /&gt;
-		11	1	Togglables&lt;br /&gt;
-		12	2	X pixels&lt;br /&gt;
-		14	2	Y velocity&lt;br /&gt;
-		16	2	Bounty&lt;br /&gt;
-		18	2	Energy&lt;br /&gt;
-		20	2	Weapon info&lt;br /&gt;
-		22	2	Energy			(Optional)&lt;br /&gt;
-		24	2	S2C latency		(Optional)&lt;br /&gt;
-		26	2	Timer			(Optional)&lt;br /&gt;
-		28	4	Item info		(Optional)&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x04	Game	0x40CAA1	Packet tampering&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x05	Game	0x40A15B	Death message&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x06	Chat	0x40B67C	Chat&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Chat type &lt;br /&gt;
-				0x00	Arena&lt;br /&gt;
-				0x01	Public macro&lt;br /&gt;
-				0x02	Public message&lt;br /&gt;
-				0x03	Team message&lt;br /&gt;
-				0x04	Freq&lt;br /&gt;
-				0x05	Private message&lt;br /&gt;
-				0x06	Moderator warning&lt;br /&gt;
-				0x07	Remote private message&lt;br /&gt;
-				0x09	Channel message&lt;br /&gt;
-		2	1	Sound code&lt;br /&gt;
-		3	2	Target player&#039;s player ID&lt;br /&gt;
-		5	-	Text&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x07	Game	0x40AC3B	Take green&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x08	Game	0x40B26E	Spectate request&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	2	Player ID&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x09	Game	0x40C0E7	Password/Login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Boolean: New user (1 = New, 0 = Not New)&lt;br /&gt;
-		2	32	Name&lt;br /&gt;
-		34	32	Password&lt;br /&gt;
-		66	4	Machine ident (drive serial number - can be random for bots)&lt;br /&gt;
-		70	1	ConnectType (0x00 is a good idea)&lt;br /&gt;
-		71	2	Timezone bias&lt;br /&gt;
-		73	2	Unkown&lt;br /&gt;
-		75	2	Client version (0x24 = Ctm, 0x86 = SS)&lt;br /&gt;
-		77	4	Unkown, memory checksum, Set to = 444&lt;br /&gt;
-		81	4	Unkown, memory checksum, Set to = 555&lt;br /&gt;
-		85	4	Permission ident&lt;br /&gt;
-		89	12	Unkown&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0A	Game	0x40CAA1	Packet tampering&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0B	Game	0x409EA9	SSUpdate.EXE request&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0C	Game	0x409A6F	Map Request&lt;br /&gt;
&lt;br /&gt;
-		0	1	 Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0D	Game	0x409A9F	news.txt request&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0E	Game	0x40B4D7	Voice message&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0F	Game	0x40AEF5	Frequency change&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x10	Game	0x40BF47	Attach request&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x11	Game	0x40CAA1	Packet tampering&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x12	Game	0x40CAA1	Packet tampering&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x13	Game	0x40ADDC	Flag request&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x14	Game	0x40B183	Unknown&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x15	Game	0x40B1EB	Drop flags&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x16	Game	0x40B8C7	File transfer&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x17	Game	0x40B645	Registration information response&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x18	Game	0x40AF19	Set ship type&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x19	Game	0x40B41E	Set personal banner&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1A	Game	0x4097BA	Security checksum&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type Byte 0x1A&lt;br /&gt;
-		1	4	Weapon Count&lt;br /&gt;
-		5	4	Settings Checksum *2&lt;br /&gt;
-		9	4	Subspace.EXE Checksum&lt;br /&gt;
-		13	4	Map.LVL Checksum&lt;br /&gt;
-		17	4	S2CSlowTotal&lt;br /&gt;
-		21	4	S2CFastTotal&lt;br /&gt;
-		25	2	S2CSlowCurrent&lt;br /&gt;
-		27	2	S2CFastCurrent&lt;br /&gt;
-		29	2	S2CRelOut (?Unsure?)&lt;br /&gt;
-		31	2	Ping&lt;br /&gt;
-		33	2	Ping Average&lt;br /&gt;
-		35	2	Ping Low&lt;br /&gt;
-		37	2	Ping High&lt;br /&gt;
-		39	1	Slow Frame Detected (Boolean)&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1B	Game	0x4096C9	Security violation&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1C	Game	0x409626	Drop brick&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1D	Game	0x40948B	?setsettings&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1E	Game			KotH Timer drop&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1F	Game	0x408EBD	Fire a ball&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x20	Game	0x409322	Ball request&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x21	Game	0x408F95	Soccer goal scored&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x22	Game	0x4096E2	? Task switch ?&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x23	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x24	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x25	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x26	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x27	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x28	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x29	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2A	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2B	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 //====================\\&lt;br /&gt;
||          S2C         ||&lt;br /&gt;
 \\====================//&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ID	CLASS	Handler		DESC&lt;br /&gt;
-		OFFSET	LEN	CONTENTS&lt;br /&gt;
-				[Type	Meaning]&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x01	Game	0x402A7E	UID notification&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	4	ID&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x02	Game	0x402A24	In game /* We are in the arena */&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x03	Game	0x402B43	Player Entering&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Ship type&lt;br /&gt;
-		2	1	Accepts audio messages&lt;br /&gt;
-		3	20	Player name (confirmed ASCIIZ)&lt;br /&gt;
-		23	20	Squad name (confirmed ASCIIZ)&lt;br /&gt;
-		43	4	Flag points&lt;br /&gt;
-		47	4	Kill points&lt;br /&gt;
-		51	2	Player ident&lt;br /&gt;
-		53	2	Team&lt;br /&gt;
-		55	2	Wins&lt;br /&gt;
-		57	2	Losses&lt;br /&gt;
-		59	2	Turretee ident&lt;br /&gt;
-		61	2	Flags carried&lt;br /&gt;
-		63	1	Boolean: Has KoTH&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x04	Game	0x402C58	Player leaving&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Player ID&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x05	Game	0x402D34	Player fired a weapon&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x06	Game	0x402CFC	Player died&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Death green&lt;br /&gt;
-		2	2	Killer ident&lt;br /&gt;
-		4	2	Killed ident&lt;br /&gt;
-		6	2	Bounty&lt;br /&gt;
-		8	2	? Flags&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x07	Chat	0x40303D	Chat&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Message Type&lt;br /&gt;
-				0x00	Arena&lt;br /&gt;
-				0x01	Public macro&lt;br /&gt;
-				0x02	Public message&lt;br /&gt;
-				0x03	Team message&lt;br /&gt;
-				0x04	Freq&lt;br /&gt;
-				0x05	Private message&lt;br /&gt;
-				0x06	Moderator warning&lt;br /&gt;
-				0x07	Remote private message&lt;br /&gt;
-				0x08	Red server errors, without a name tag (S2C only)&lt;br /&gt;
-				0x09	Channel message&lt;br /&gt;
-		2	1	Sound Code&lt;br /&gt;
-		3	2	PlayerID&lt;br /&gt;
-		5	-	Message&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0A	Game	0x40306F	Password response&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type byte&lt;br /&gt;
-		1	1	Accept response meaning&lt;br /&gt;
-				0	Login OK.&lt;br /&gt;
-				1	Unknown user.&lt;br /&gt;
-				2	Bad password.&lt;br /&gt;
-				3	Full arena.&lt;br /&gt;
-				4	Locked out.&lt;br /&gt;
-				5	Perission only.&lt;br /&gt;
-				6	Spectate only.&lt;br /&gt;
-				7	Too many points.&lt;br /&gt;
-				8	Connection too slow.&lt;br /&gt;
-				9	Perission only arena.&lt;br /&gt;
-				10	Server full.&lt;br /&gt;
-				11	Invalid name.&lt;br /&gt;
-				12	Offensive name.&lt;br /&gt;
-				13	No biller (not saving scores).&lt;br /&gt;
-				14	Server busy&lt;br /&gt;
-				15	Restricted zone (insufficient usage)&lt;br /&gt;
-				16	Demo Version &amp;lt;- If you get this, theres a serious problem.&lt;br /&gt;
-				17	Too many Demo Users (Same as above applys)&lt;br /&gt;
-				18	No Demo Players Allowed (again same as the above two)&lt;br /&gt;
-				255	Mod Access Required (Added by MGB)&lt;br /&gt;
-		2	4	Server version&lt;br /&gt;
-		6	4	?&lt;br /&gt;
-		10	4	EXE checksum&lt;br /&gt;
-		14	4	? unused&lt;br /&gt;
-		18	1	? boolean&lt;br /&gt;
-		19	1	Boolean: Request registration form&lt;br /&gt;
-		20	4	? memory checksum&lt;br /&gt;
-		24	4	News checksum (0 = no news file)&lt;br /&gt;
-		28	4	? time/date&lt;br /&gt;
-		32	4	? time/date&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x09	Game	0x402C22	Player score changed&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0A	Game	0x4033AB	Password packet response&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0B	Game	0x403386	Soccer goal&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0C	Game	0x402BEF	Player voice&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0D	Game	0x402C7C	Set player frequency&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0E	Game	0x402BC6	Create turret link&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type byte&lt;br /&gt;
-		1	2	Turreter ident (gunner)&lt;br /&gt;
-		3	2	Turretee ident (driver)(when -1, detaching)&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0F	Game	0x402A43	Arena settings&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x10	Game	0x4027CD	File transfer&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x11	Game	0x4033AB	No-op&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x12	Game	0x4031D4	Flag position&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x13	Game	0x403233	Flag claim&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x14	Game	0x4030D5	Flag victory&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x15	Game	0x40325C	Destroy turret link&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type byte&lt;br /&gt;
-		1	2	Player ident&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x16	Game	0x403280	Drop flag&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x17	Game	0x4033AB	No-op&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x18	Game	0x4030A6	Synchronization&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x19	Game	0x4028FB	Request file&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1A	Game	0x4032A4	Reset score(s)&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1B	Game	0x4032C8	Personal ship reset&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1C	Game	0x4032E4	Put player in spectator mode / change extra info flag&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1D	Game	0x402CC1	Player team and ship changed&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type byte&lt;br /&gt;
-		1	1	Ship type&lt;br /&gt;
-		2	2	Player ident&lt;br /&gt;
-		4	2	Team&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1E	Game	0x4033AB	Banner flag&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1F	Game	0x403209	Player banner changed&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x20	Game	0x402ABF	Collected prize&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x21	Game	0x403302	Brick dropped&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
repeated until the end of the message&lt;br /&gt;
-		1	2	X1 tiles&lt;br /&gt;
-		3	2	Y1 tiles&lt;br /&gt;
-		5	2	X2 tiles&lt;br /&gt;
-		7	2	Y2 tiles&lt;br /&gt;
-		9	2	Team&lt;br /&gt;
-		11	2	Brick ident (sent more than once)&lt;br /&gt;
-		13	4	Timestamp&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x22	Game	0x40316E	Turf flag update&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
repeated until the end of the message&lt;br /&gt;
-		1	2	Team for flag X	&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x23	Game	0x403192	Flag reward granted&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
repeated until the end of the message&lt;br /&gt;
-		1	2	Team&lt;br /&gt;
-		3	2	Points&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x24	Game	0x402AEA	Speed zone statistics&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x25	Game	0x402B1F	Toggle UFO ship&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x26	Game	0x4033AB	No-op&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x27	Game	0x4033AB	Keep-alive&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x28	Game	0x402EE3	Player position update&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x29	Game	0x4030FD	Map information&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2A	Game	0x402867	Compressed map file&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2B	Game	0x402787	Set personal KoTH timer&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2C	Game	0x402762	KoTH game reset&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2D	Game	0x4027AA	? Some other timer change ?&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2E	Game 	0x402741	Power-ball position update&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2F	Game	0x403364	Arena directory listing&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x30	Game	0x402707	Got zone banner advertisements&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x31	Game	0x4033A6	Login Finished&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x31	CTMGame			You are now past the login sequence&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x32	CTMGame			Change personal ship coordinates&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x33	CTMGame			Custom login failure message&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x34	CTMGame			Continuum version packet&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x35	CTMGame			Object toggling&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category: Protocol]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Talk:UDP_Game_Protocol&amp;diff=4075</id>
		<title>Talk:UDP Game Protocol</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Talk:UDP_Game_Protocol&amp;diff=4075"/>
		<updated>2006-03-24T15:12:03Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: incomplete&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[User:Smong|Smong]]: Can you explain how to use the handler offsets. Which versions of Subspace they are valid for with MD5&#039;s of the binaries, and possible a link to the latest version.&lt;br /&gt;
&lt;br /&gt;
[[User:D1st0rt|D1st0rt]]:I got [http://d1st0rt.sscentral.com/packets.html this one] from kirk&#039;s site, its a bit more in depth and include the directory server protocol&lt;br /&gt;
&lt;br /&gt;
I just realized that this list is totally incomplete. I&#039;ll try to update it soon. --[[User:Cyan~Fire|Cyan~Fire]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Talk:This_zone_is_not_connected_to_the_central_player_database&amp;diff=3846</id>
		<title>Talk:This zone is not connected to the central player database</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Talk:This_zone_is_not_connected_to_the_central_player_database&amp;diff=3846"/>
		<updated>2006-02-18T20:11:47Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: /* A page to itself? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A page to itself? ==&lt;br /&gt;
&lt;br /&gt;
It seems odd to me to have a page just for this error. Maybe merge into an FAQ or some kind of &amp;quot;common errors&amp;quot; page? --[[User:Cyan~Fire|Cyan~Fire]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Zones&amp;diff=5056</id>
		<title>Zones</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Zones&amp;diff=5056"/>
		<updated>2006-02-18T20:08:03Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: merged into Zone&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Zone]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Zone&amp;diff=4156</id>
		<title>Zone</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Zone&amp;diff=4156"/>
		<updated>2006-02-18T20:07:45Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: merged &amp;quot;Zones&amp;quot; content&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Zone_venn_diagram.png|thumb|Venn Diagram of a Zone]]&lt;br /&gt;
A zone is Subspace jargon for a server. Each zone has a public [[Arena|arena]] where the majority of players will play. Subarenas can be open at the same time for duels or special events.&lt;br /&gt;
&lt;br /&gt;
== Popular Zones ==&lt;br /&gt;
&lt;br /&gt;
Here is a list of currently active and popular zones.&lt;br /&gt;
&lt;br /&gt;
===SSC Zones===&lt;br /&gt;
&lt;br /&gt;
*SFSS Ground Warfare (SSC) (http://www.bloodlark.com/rave/)&lt;br /&gt;
*SFSS Star Wars (SSC)&lt;br /&gt;
*SFSS SuB-iCiDe (SSC)&lt;br /&gt;
*SSCC Halo CTF&lt;br /&gt;
*[[Metal Gear CTF|SSCC Metal Gear CTF]]&lt;br /&gt;
*SSCC Omega Fire (http://www.omega-fire.com/)&lt;br /&gt;
*SSCE Hockey Zone (http://rshl.org/)&lt;br /&gt;
*SSCI Dragonball Z (http://www.ssdbz.com/)&lt;br /&gt;
*SSCI Gundam Wing&lt;br /&gt;
*SSCI Super Ships&lt;br /&gt;
*[[17th Parallel|SSCU 17th Parallel]]&lt;br /&gt;
*SSCU Death Star Battle (http://www.deathstarbattle.com/)&lt;br /&gt;
*[[Redstar|SSCU Redstar]]&lt;br /&gt;
*SSCU Trench Wars (http://www.trenchwars.org/)&lt;br /&gt;
*SSCX A Small Warzone (http://www.aswz.net/)&lt;br /&gt;
*SSCX Alpha West SVS (http://www.sscxalpha.com/)&lt;br /&gt;
*SSCX Chaos/League Zone SVS (http://www.subspacechaos.com/)&lt;br /&gt;
*SSCX Dueling Arizona SVS&lt;br /&gt;
*SSCX Extreme-Games (http://www.extreme-games.net/)&lt;br /&gt;
*SSCX Powerball (http://www.powerballzone.com/)&lt;br /&gt;
*SSCX Star Wars Realm (http://www.swrealm.net/Nuke/)&lt;br /&gt;
*SSCX Star Warzone (http://www.starwarzone.com/)&lt;br /&gt;
*SSCX Warzone CTF (http://www.wzctf.net/)&lt;br /&gt;
*SSCX-A BattleZone&lt;br /&gt;
*SSCX-A GTA&lt;br /&gt;
*[[Hyperspace|SSCX-A Hyperspace]]&lt;br /&gt;
*T3 The Gauntlet! (SSC) (http://www.t3g.org/)&lt;br /&gt;
&lt;br /&gt;
===Non SSC Zones===&lt;br /&gt;
&lt;br /&gt;
*SSI Flagging Turmoil&lt;br /&gt;
*SSN Assault&lt;br /&gt;
*SSN South Tejas (http://www.southtejas.com/)&lt;br /&gt;
*SSN Trust &amp;amp; Betrayal&lt;br /&gt;
*SSN Ultima Fire&lt;br /&gt;
*SSN Sniper&lt;br /&gt;
*SSZ Battle Field 1942 (http://www.battlefieldzone.net/)&lt;br /&gt;
*SSZ Counter Strike&lt;br /&gt;
*SSZ Desert Storm&lt;br /&gt;
*SSZ FLAG HELL&lt;br /&gt;
*SSZ Lethal Weapon&lt;br /&gt;
*SSZ Mystic Kingdom&lt;br /&gt;
*SSZ RPG World&lt;br /&gt;
*SSZ Zelda MotW&lt;br /&gt;
&lt;br /&gt;
===League Zones===&lt;br /&gt;
&lt;br /&gt;
*SSCU DSB LEAGUE&lt;br /&gt;
*SSCX Star Warzone League&lt;br /&gt;
&lt;br /&gt;
===Development/Test Zones===&lt;br /&gt;
&lt;br /&gt;
*SSCX asss test (powerball arena)&lt;br /&gt;
*SSCX asss test zone&lt;br /&gt;
*SSCX Hyperspace Test&lt;br /&gt;
*SSI TWDev Testing&lt;br /&gt;
*SSZ United Development&lt;br /&gt;
*[[Caramel Server]]&lt;br /&gt;
*[[RedMoonSociety|RMS Test Zone]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Definitions]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Talk:Zones&amp;diff=5126</id>
		<title>Talk:Zones</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Talk:Zones&amp;diff=5126"/>
		<updated>2006-02-18T20:04:01Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: /* Category */ type&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[User:Smong|Smong]]: What is going to happen about the virtual zones?&lt;br /&gt;
&lt;br /&gt;
[[User:Akai|Akai]]: uhhh, everybody cool with &amp;quot;NAME OF ZONE (site link)&amp;quot; - and leaving the actual name for wikilinks?&lt;br /&gt;
&lt;br /&gt;
[[User:Akai|Akai]]: Virtual zones?&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: The site link thing sounds good to me. And virtual zones let you spam the directory server with multiple entries for the same zone, like &#039;Hyperspace Test&#039;.&lt;br /&gt;
&lt;br /&gt;
== Category ==&lt;br /&gt;
&lt;br /&gt;
I&#039;m thinking some day I&#039;m not lazy, I&#039;m going to make pages for each of these zones which can eventually be filled out with screenshots and stuff; then this will be a category. Something that will come up is newbie zones that last for no time so I&#039;m thinking something like one month uptime before we actually create a page for it? --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
How about just removing this list altogether, as it gets out of date very easily. All information here (and then some) is readily available on the directory server. --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: I suggest making this page redirect to [[Zone]] and fix Zone so it doesn&#039;t link back to Zones.&lt;br /&gt;
&lt;br /&gt;
Good idea. I think I&#039;ll merge this page into [[Zone]], actually, as it doesn&#039;t have much content. --[[User:Cyan~Fire|Cyan~Fire]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Talk:Zones&amp;diff=3843</id>
		<title>Talk:Zones</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Talk:Zones&amp;diff=3843"/>
		<updated>2006-02-18T20:03:48Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: /* Category */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[User:Smong|Smong]]: What is going to happen about the virtual zones?&lt;br /&gt;
&lt;br /&gt;
[[User:Akai|Akai]]: uhhh, everybody cool with &amp;quot;NAME OF ZONE (site link)&amp;quot; - and leaving the actual name for wikilinks?&lt;br /&gt;
&lt;br /&gt;
[[User:Akai|Akai]]: Virtual zones?&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: The site link thing sounds good to me. And virtual zones let you spam the directory server with multiple entries for the same zone, like &#039;Hyperspace Test&#039;.&lt;br /&gt;
&lt;br /&gt;
== Category ==&lt;br /&gt;
&lt;br /&gt;
I&#039;m thinking some day I&#039;m not lazy, I&#039;m going to make pages for each of these zones which can eventually be filled out with screenshots and stuff; then this will be a category. Something that will come up is newbie zones that last for no time so I&#039;m thinking something like one month uptime before we actually create a page for it? --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
How about just removing this list altogether, as it gets out of date very easily. All information here (and then some) is readily available on the directory server. --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: I suggest making this page redirect to [[Zone]] and fix Zone so it doesn&#039;t link back to Zones.&lt;br /&gt;
&lt;br /&gt;
Good idea. I think I&#039;ll merge this page into [[Zone], actually, as it doesn&#039;t have much content. --[[User:Cyan~Fire|Cyan~Fire]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Hosts&amp;diff=5065</id>
		<title>Hosts</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Hosts&amp;diff=5065"/>
		<updated>2006-02-16T21:27:33Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: general cleanups and separation into current and historical&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
I (smong) suggest not to put @ in people&#039;s emails as they may appear on this page without them knowing. This is to prevent abuse.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Hosts, as the name implies, host [[SubSpace]] [[zone]]s (see [[zones|active zones]]). Most of the larger servers have adopted prefix tags, most notably a four letter tag beginning with [[SSC]] is most likely on the SSC billing network.&lt;br /&gt;
&lt;br /&gt;
== Current Hosts ==&lt;br /&gt;
&lt;br /&gt;
=== N734 ===&lt;br /&gt;
Owner: &#039;&#039;&#039;Dymolex&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
email: dymolex yahoo.com&lt;br /&gt;
&lt;br /&gt;
This network although active appears to be run from a dial-up modem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SFSS ===&lt;br /&gt;
SFSS is run by &#039;&#039;&#039;Awestrike&#039;&#039;&#039;.  Despite missing the SSC in the server prefix, all active zones are connected to the SSC [[biller]], as shown by a suffix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SSCC ===&lt;br /&gt;
SSCC is run by [[Testtube]], who also is the [[sysop]] of [[Metal Gear CTF]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SSCU SubSpace Europe ===&lt;br /&gt;
SSCU, hosted by [[PriitK]] was located in Europe and has been around for quite some time. Currently there are few zones remaining on the server, including [[17th Parallel]] (which has moved to a new server in northern Virginia) and [[Trench Wars]] (located in Atlanta), Georgia.  Both are maintained by PriitK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SSCX SubSpace Exodus ===&lt;br /&gt;
[http://www.sscx.net/ SSCX] is run by both &#039;&#039;&#039;Yarekim&#039;&#039;&#039; and &#039;&#039;&#039;Xalimar&#039;&#039;&#039;.  Zones on this powerful server located in the western US, with the privilege of being on the SSC Network, thus the absence of any SSX prefix.  All zones on the SSCX prefix are offered [[Powerbot]] for their own use.&lt;br /&gt;
&lt;br /&gt;
SSCX also hosts ASSS zones under the prefix &amp;quot;SSCX-A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SSM3 ===&lt;br /&gt;
Owner: &#039;&#039;&#039;EAGLE II&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
aim: xxssm3xx&amp;lt;br&amp;gt;&lt;br /&gt;
email: ihod2005 msn.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== T3 ===&lt;br /&gt;
The T3 server is run by &#039;&#039;&#039;Mecbot+&#039;&#039;&#039; and hosts only one zone, T3 The Gauntlet, which is on the SSC biller network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Shut-down hosts ==&lt;br /&gt;
&lt;br /&gt;
=== NTC ===&lt;br /&gt;
Owned by &#039;&#039;&#039;dark_mistress&#039;&#039;&#039; and &#039;&#039;&#039;TheBest999&#039;&#039;&#039;. Both changed their names, dark_mistress became Night_Fox and TheBest999 is also known as MS-DOS. TheBest999 supposedly created a new biller for the NTC network.&lt;br /&gt;
&lt;br /&gt;
The network has also been known under the following tags, SSDM, SSN and TNT. It also once had control of www.subspacenetwork.com.&lt;br /&gt;
&lt;br /&gt;
The owners left the scene after sustaining large amounts of abuse from the community and passed on administrative powers to &#039;&#039;&#039;SpeedUP!&#039;&#039;&#039; (not to be confused with StepUP) and &#039;&#039;&#039;SpeedDOWN!&#039;&#039;&#039; under yet another tag, SSU SubSpace University.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SSCI SubSpace International ===&lt;br /&gt;
SSI and SSCI, hosted in Texas and New Jersey, is run by [[1stStrike]], &#039;&#039;&#039;Argyle&#039;&#039;&#039;, and [[User:ExplodyThingy|ExplodyThingy]].&lt;br /&gt;
&lt;br /&gt;
In addition to zone hosting, SSI provides a biller for access to all willing zones on dedicated hosts.  It is a public atmosphere operated for the sole purpose of uniting the non-SSC community. The new biller software was written by [[User:2dragons|2dragons]] in Java and is modular just like [[ASSS]] is modular.  The backend is MySQL and allows for web-intergrated features such as remote management and stats displays. It will be maintained by 2dragons and ExplodyThingy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SSDT ===&lt;br /&gt;
[http://www.digitization.org/ssdt/ SubSpace David Tombs] is a development zone server hosted by [[User:Cyan~Fire|Cyan~Fire]]. It is by no means a powerful server, but is one of the few servers that will accept any zone with at least some good plans for development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SSI  ===&lt;br /&gt;
[[#SSCI_SubSpace_International|SSCI]] also hosts zones on their own biller and server under this tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SSN SubSpace Network ===&lt;br /&gt;
SSN, located in Britain, was run by &#039;&#039;&#039;L. Chance&#039;&#039;&#039;, but the host has since closed down. The server&#039;s complete history is unknown.&lt;br /&gt;
&lt;br /&gt;
After L. Chance, the host formerly known as NTC changed names to SSN. It has since changed names again to SSU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SSQ ===&lt;br /&gt;
Owner: &#039;&#039;&#039;Purge&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
AIM: Purgifiy&amp;lt;br&amp;gt;&lt;br /&gt;
MSN: purge@hotmail.com&amp;lt;br&amp;gt;&lt;br /&gt;
Billing: SSI&lt;br /&gt;
&lt;br /&gt;
This host also provides Windows ASSS support under the tag &amp;quot;SSQ-A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SSZ SubSpace Network ===&lt;br /&gt;
SSZ, run by &#039;&#039;&#039;Jericho24.&#039;&#039;&#039; and &#039;&#039;&#039;Lord Assassin&#039;&#039;&#039;, was a non-SSC network that hosted developing and startup zones hoping to succeed in the [[SubSpace]] world. It had its own biller programmed by tehsu.&lt;br /&gt;
&lt;br /&gt;
It shut down with this message posted by Lord Assassin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Ok guys listen.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;After 12 months hard work to get a stable and professional server online and hosted several very good zones the time is arrived to think about the future of the SSZ Network.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Jericho24. and myself spent more then $4000 in this project. We where also prommised to get the SSC billing if we could bring a stable server. Well at that point we did a very good job. The server had never any downtime because off server faillures. Only 1 or 2 times we went offline because some stupid human beings tryed to hack or flood the server.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;It is sad to announce but i think SSZ or any other good server never will get the SSC biller because SCC is controlled by several kids that dont know what responsibility is. Its a shame Prittk dont care about this, its a shame for the Subspace community SSZ will not receive SSC.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Jericho24 and me are sad to announce we will shutdown SSZ by the end of this month unless we will receive several donations to keep SSZ alive.&lt;br /&gt;
&amp;lt;br&amp;gt;If you are interested to donate and keep SSZ alive, reply on this topic or send us a personal message.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;When we do not receive enough donations at the end of this year, we will give the hosted zones the chance to find another host. The server will be owned untill the end off January 2005. Contact SSZ staff for more details.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;SSZ Staff:&lt;br /&gt;
&amp;lt;br&amp;gt;LorD AsSasSiN - Admin&lt;br /&gt;
&amp;lt;br&amp;gt;Jericho24. -Admin&lt;br /&gt;
&amp;lt;br&amp;gt;Boba -Admin&lt;br /&gt;
&amp;lt;br&amp;gt;Zutshi -Admin&lt;br /&gt;
&amp;lt;br&amp;gt;Slicer -Netop&lt;br /&gt;
&amp;lt;br&amp;gt;LtNirvana -Netop&lt;br /&gt;
&amp;lt;br&amp;gt;Angelissa - Netop&lt;br /&gt;
&amp;lt;br&amp;gt;Dav1 - Netop&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Talk:Zones&amp;diff=3841</id>
		<title>Talk:Zones</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Talk:Zones&amp;diff=3841"/>
		<updated>2006-02-16T21:27:18Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: /* Category */ destroy?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[User:Smong|Smong]]: What is going to happen about the virtual zones?&lt;br /&gt;
&lt;br /&gt;
[[User:Akai|Akai]]: uhhh, everybody cool with &amp;quot;NAME OF ZONE (site link)&amp;quot; - and leaving the actual name for wikilinks?&lt;br /&gt;
&lt;br /&gt;
[[User:Akai|Akai]]: Virtual zones?&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: The site link thing sounds good to me. And virtual zones let you spam the directory server with multiple entries for the same zone, like &#039;Hyperspace Test&#039;.&lt;br /&gt;
&lt;br /&gt;
== Category ==&lt;br /&gt;
&lt;br /&gt;
I&#039;m thinking some day I&#039;m not lazy, I&#039;m going to make pages for each of these zones which can eventually be filled out with screenshots and stuff; then this will be a category. Something that will come up is newbie zones that last for no time so I&#039;m thinking something like one month uptime before we actually create a page for it? --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
How about just removing this list altogether, as it gets out of date very easily. All information here (and then some) is readily available on the directory server. --[[User:Cyan~Fire|Cyan~Fire]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Talk:Servers&amp;diff=5576</id>
		<title>Talk:Servers</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Talk:Servers&amp;diff=5576"/>
		<updated>2006-02-16T21:15:35Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: Talk:Servers moved to Talk:Hosts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Talk:Hosts]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Servers&amp;diff=5575</id>
		<title>Servers</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Servers&amp;diff=5575"/>
		<updated>2006-02-16T21:15:35Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: Servers moved to Hosts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Hosts]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Talk:Hosts&amp;diff=3831</id>
		<title>Talk:Hosts</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Talk:Hosts&amp;diff=3831"/>
		<updated>2006-02-16T21:15:00Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: /* Cleanup */ agreed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[User:CypherJF|CypherJF]]: Actually I don&#039;t think SSN is run by L Chance anymore. I&#039;m not sure the history of it but the latest back I can remember was Altec . running it with Sideburn? Spring/Summer of 2004, Altec . and L Chance brought back SSN using Lord Maucaub&#039;s biller system. They shut it back down after HALO switched back to SSZ; and now I believe Dark Mistress / TheBest999 / Cospar / MS-DOS; someone is running it.&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: I think NTC has it now. They keep changing tags which is annoying. For the record I remember them with SSDM and TNT too if you want to stick that in a &#039;most annoying network decisions ever&#039; page.&lt;br /&gt;
&lt;br /&gt;
[[User:CypherJF|CypherJF]]: Yeah NTC is the Dark Mistress / TheBest999 / Cospar / MS-DOS network.&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]:Someone add NTC and SSDT at least. Also I think this page should be called Networks, but that is more jargon I guess and could easily be confused.&lt;br /&gt;
&lt;br /&gt;
[[User:D1st0rt|D1st0rt]]:Whoa 17th is near me? Trench still has a lower ping&lt;br /&gt;
&lt;br /&gt;
== Category? ==&lt;br /&gt;
&lt;br /&gt;
There&#039;s already a category called &#039;&#039;Servers&#039;&#039;, don&#039;t you think this should belong there? I know you couldn&#039;t have the short descriptions, but they&#039;re kinda hard to keep track of and not that useful. --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
Well, hmm. We could always make each server its own category, the short desc goes on the category desc, and each zone is added to the specific server category they are on. [[User:Pests|Pests]]&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: I don&#039;t think search looks at categories (I feel like I am typing that several times a day).&lt;br /&gt;
&lt;br /&gt;
I wasn&#039;t saying remove the page, just saying get rid of the server list, since it&#039;ll soon become outdated and is redundant. But, whatever, no biggie. --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
== Combine Pages? ==&lt;br /&gt;
&lt;br /&gt;
Since there&#039;s actually not all that much info to put about each of these servers, how would you feel about me merging all of the individual server pages here? This page could be divided up into Active and Inactive servers, if that&#039;s a problem. --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: SSZ Subspace Network? I think that needs changing. SSN is still run by L. Chance? Also who nicked the css for the wiki?&lt;br /&gt;
&lt;br /&gt;
== Cleanup ==&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]:&lt;br /&gt;
I don&#039;t like the look of this page. First Servers, I would prefer a page called Hosts or Networks.&lt;br /&gt;
&lt;br /&gt;
Next a table of active networks, columns are: tag, owners + contact, website, billing (yes, own billing/yes, tag of other biller/no biller) and location. A network is considered active if it has its own menu on [http://stats.17thparallel.com stats.17thparallel.com].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Tag&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Operators&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Website&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Billing&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Location&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SSCC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Testtube&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SSC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;USA, East&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SSCX&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Xalimar, Yarekim&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.sscx.net sscx.net]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SSC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;USA, Multiple&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SST&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Confess &amp;lt;confess321@yahoo.com&amp;gt;(?), Top Gun(?)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.ssthosting.net www.ssthosting.net]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SST&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;USA, Central&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The purpose of this table is to serve as a summary of active hosts and so people can quickly find contact details of who is operating them.&lt;br /&gt;
&lt;br /&gt;
Next, a seperate section (or possibly page) containing a history of the networks, start/end dates, ownership, comments (reason for creation/closure, generally accepted reputation).&lt;br /&gt;
&lt;br /&gt;
[[User:I88gerbils|i88gerbils]]: Why not give a brief 1-line summary of TAG, host, web site making the tag a wiki link to description + contact information?  Kind of like the corporation info bar on wikipedia.&lt;br /&gt;
&lt;br /&gt;
{{server}}?  {{zone}}?&lt;br /&gt;
&lt;br /&gt;
Agreed with basically all of this. I&#039;ll change the name now, and probably separate this at least into current and historical. --[[User:Cyan~Fire|Cyan~Fire]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Talk:Bomb_Settings&amp;diff=5233</id>
		<title>Talk:Bomb Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Talk:Bomb_Settings&amp;diff=5233"/>
		<updated>2005-09-22T20:25:01Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: /* Lots of bombs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[User:Smong|Smong]]: Can anyone confirm that a bouncing bomb loses it&#039;s bbombdamagepercent damage modifier when it has used its last bounce? After the last bounce the graphic changes to a non-bouncing bomb.&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: After brief testing I think the bbombdamagepercent is retained even when the bouncing bomb&#039;s image becomes like a normal bomb. Also when you close bomb, or point blank shoot, you take normal damage, nothing extra.&lt;br /&gt;
&lt;br /&gt;
== New Format ==&lt;br /&gt;
Requesting comments on the datatype thingy I did. --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: I think it does help passers by. Maybe just use Type instead of Datatype. (Also a minor nitpick, I would put a fullstop outside of a pair of brackets).&lt;br /&gt;
&lt;br /&gt;
[[User:Pests|Pests]]: Wish I could help but that kind of info isnt parsable :)&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: You can do a best guess type. Some types you will just have to put &#039;undocumented&#039;, but the keys containing these words belong to certain types:&lt;br /&gt;
*pixel - pixels&lt;br /&gt;
*time, delay - 1/100th second&lt;br /&gt;
*percent - 1/10th percent&lt;br /&gt;
*energy, damage - energy&lt;br /&gt;
*speed - pixels per 10 seconds&lt;br /&gt;
*disable, reliable, allow - boolean&lt;br /&gt;
*radius - map tiles&lt;br /&gt;
*message - string&lt;br /&gt;
You will have to give priorities, like percent must be searched for before damage. Also there will be some errors, like the Continuum only setting All:Radius is in pixels not tiles. When it comes into pasting the output into the edit box you can then change any errors or types marked as undocumented. Some won&#039;t have types, like kill points multipliers.&lt;br /&gt;
&lt;br /&gt;
I think it&#039;ll be easier and less error-prone just to do it manually. That way, SS oldies like me (haha) can use their knowledge. Oh, and I don&#039;t think &amp;quot;type&amp;quot; is quite as good a word as &amp;quot;datatype&amp;quot;, personally. --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: Now I think &#039;Unit&#039; is a more appropriate word. At least use &#039;Setting type&#039;, you don&#039;t need to be as vague and posh as &#039;Datatype&#039;.&lt;br /&gt;
&lt;br /&gt;
== JitterTime ==&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: Anyone have a formula for this? Seems the larger it is the bigger the amplitude of the jitter is. Also bombs that explode further away have a smaller jitter.&lt;br /&gt;
&lt;br /&gt;
== Lots of bombs ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;If your settings allow a lot of bombs to be flying around at once, lowering the value of this setting can improve frame rates.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
But didn&#039;t Snrrrub show that SS limits the amount of weapons processed? I&#039;m assuming Continuum emulates this? --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
:That is true, however common sense is also needed. I&#039;ve found that graphical operations can be expensive. 200 bombs all on screen at the same time may have some effect on lower end machines. Also as a side note, if there&#039;s loads of bombs flying around then it might be a super zone which will use a lot of bandwidth. Even if the bomb fire delay is the same as send position delay, analysis of a connection shows the client sends plain position and weapon packets, where weapon packets only are needed since they also contain a position. --[[User:Smong|Smong]]&lt;br /&gt;
&lt;br /&gt;
* Just want to throw this in here. I know people are often confused when there are a massive amount of weapon graphics (ie: bullets, bombs, bursts, etc.) that the stop showing up. The reason for this is that all the slots of available graphics are currently in-use and are not drawn. [[User:CypherJF|CypherJF]]&lt;br /&gt;
&lt;br /&gt;
You serious? I&#039;d think it would rather draw ships than bombs. And I see your logic, Smong, but I really don&#039;t think it&#039;s necessary these days, especially since Snrrrub found it took longer to calculate weapon positions than to draw them. I&#039;d say the main reason for this setting would be for the MERC Samurai close-range bomb effect, but leaving that comment there is no big deal, I just wanted to point that out. :-P --[[User:Cyan~Fire|Cyan~Fire]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Random_Numbers&amp;diff=3676</id>
		<title>Random Numbers</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Random_Numbers&amp;diff=3676"/>
		<updated>2005-09-22T20:05:03Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: I supposed we should specify our constants...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[SubSpace]] uses random numbers primarily in its encryption, generating [[prize]]s, and controlling [[door]]s.&lt;br /&gt;
&lt;br /&gt;
The following code is used in generating the encrypted keystream, prizes, and doors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define MULT_C	0x834E0B5F&lt;br /&gt;
#define DIV_C	0x1F31D&lt;br /&gt;
&lt;br /&gt;
DWORD SS_RNG(DWORD seed)&lt;br /&gt;
{&lt;br /&gt;
	DWORD nseed, temp;&lt;br /&gt;
&lt;br /&gt;
	temp = (MULT_C * (unsigned __int64)seed) &amp;gt;&amp;gt; 32;&lt;br /&gt;
	temp = (temp &amp;gt;&amp;gt; 16) + (temp &amp;gt;&amp;gt; 31);	//aka the sign bit&lt;br /&gt;
&lt;br /&gt;
	nseed = (seed % DIV_C) * 16807;&lt;br /&gt;
	nseed -= (temp * 2836);&lt;br /&gt;
	nseed += 123;&lt;br /&gt;
&lt;br /&gt;
	if (!nseed || nseed &amp;gt; 0x7FFFFFFF)&lt;br /&gt;
		nseed += 0x7FFFFFFF;&lt;br /&gt;
&lt;br /&gt;
	return nseed;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Game Intricacies]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Talk:Bomb_Settings&amp;diff=3612</id>
		<title>Talk:Bomb Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Talk:Bomb_Settings&amp;diff=3612"/>
		<updated>2005-09-20T03:11:01Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: /* Lots of bombs */ sig, sorry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[User:Smong|Smong]]: Can anyone confirm that a bouncing bomb loses it&#039;s bbombdamagepercent damage modifier when it has used its last bounce? After the last bounce the graphic changes to a non-bouncing bomb.&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: After brief testing I think the bbombdamagepercent is retained even when the bouncing bomb&#039;s image becomes like a normal bomb. Also when you close bomb, or point blank shoot, you take normal damage, nothing extra.&lt;br /&gt;
&lt;br /&gt;
== New Format ==&lt;br /&gt;
Requesting comments on the datatype thingy I did. --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: I think it does help passers by. Maybe just use Type instead of Datatype. (Also a minor nitpick, I would put a fullstop outside of a pair of brackets).&lt;br /&gt;
&lt;br /&gt;
[[User:Pests|Pests]]: Wish I could help but that kind of info isnt parsable :)&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: You can do a best guess type. Some types you will just have to put &#039;undocumented&#039;, but the keys containing these words belong to certain types:&lt;br /&gt;
*pixel - pixels&lt;br /&gt;
*time, delay - 1/100th second&lt;br /&gt;
*percent - 1/10th percent&lt;br /&gt;
*energy, damage - energy&lt;br /&gt;
*speed - pixels per 10 seconds&lt;br /&gt;
*disable, reliable, allow - boolean&lt;br /&gt;
*radius - map tiles&lt;br /&gt;
*message - string&lt;br /&gt;
You will have to give priorities, like percent must be searched for before damage. Also there will be some errors, like the Continuum only setting All:Radius is in pixels not tiles. When it comes into pasting the output into the edit box you can then change any errors or types marked as undocumented. Some won&#039;t have types, like kill points multipliers.&lt;br /&gt;
&lt;br /&gt;
I think it&#039;ll be easier and less error-prone just to do it manually. That way, SS oldies like me (haha) can use their knowledge. Oh, and I don&#039;t think &amp;quot;type&amp;quot; is quite as good a word as &amp;quot;datatype&amp;quot;, personally. --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: Now I think &#039;Unit&#039; is a more appropriate word. At least use &#039;Setting type&#039;, you don&#039;t need to be as vague and posh as &#039;Datatype&#039;.&lt;br /&gt;
&lt;br /&gt;
== JitterTime ==&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: Anyone have a formula for this? Seems the larger it is the bigger the amplitude of the jitter is. Also bombs that explode further away have a smaller jitter.&lt;br /&gt;
&lt;br /&gt;
== Lots of bombs ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;If your settings allow a lot of bombs to be flying around at once, lowering the value of this setting can improve frame rates.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
But didn&#039;t Snrrrub show that SS limits the amount of weapons processed? I&#039;m assuming Continuum emulates this? --[[User:Cyan~Fire|Cyan~Fire]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Talk:Bomb_Settings&amp;diff=3611</id>
		<title>Talk:Bomb Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Talk:Bomb_Settings&amp;diff=3611"/>
		<updated>2005-09-20T03:10:48Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: Lots of bombs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[User:Smong|Smong]]: Can anyone confirm that a bouncing bomb loses it&#039;s bbombdamagepercent damage modifier when it has used its last bounce? After the last bounce the graphic changes to a non-bouncing bomb.&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: After brief testing I think the bbombdamagepercent is retained even when the bouncing bomb&#039;s image becomes like a normal bomb. Also when you close bomb, or point blank shoot, you take normal damage, nothing extra.&lt;br /&gt;
&lt;br /&gt;
== New Format ==&lt;br /&gt;
Requesting comments on the datatype thingy I did. --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: I think it does help passers by. Maybe just use Type instead of Datatype. (Also a minor nitpick, I would put a fullstop outside of a pair of brackets).&lt;br /&gt;
&lt;br /&gt;
[[User:Pests|Pests]]: Wish I could help but that kind of info isnt parsable :)&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: You can do a best guess type. Some types you will just have to put &#039;undocumented&#039;, but the keys containing these words belong to certain types:&lt;br /&gt;
*pixel - pixels&lt;br /&gt;
*time, delay - 1/100th second&lt;br /&gt;
*percent - 1/10th percent&lt;br /&gt;
*energy, damage - energy&lt;br /&gt;
*speed - pixels per 10 seconds&lt;br /&gt;
*disable, reliable, allow - boolean&lt;br /&gt;
*radius - map tiles&lt;br /&gt;
*message - string&lt;br /&gt;
You will have to give priorities, like percent must be searched for before damage. Also there will be some errors, like the Continuum only setting All:Radius is in pixels not tiles. When it comes into pasting the output into the edit box you can then change any errors or types marked as undocumented. Some won&#039;t have types, like kill points multipliers.&lt;br /&gt;
&lt;br /&gt;
I think it&#039;ll be easier and less error-prone just to do it manually. That way, SS oldies like me (haha) can use their knowledge. Oh, and I don&#039;t think &amp;quot;type&amp;quot; is quite as good a word as &amp;quot;datatype&amp;quot;, personally. --[[User:Cyan~Fire|Cyan~Fire]]&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: Now I think &#039;Unit&#039; is a more appropriate word. At least use &#039;Setting type&#039;, you don&#039;t need to be as vague and posh as &#039;Datatype&#039;.&lt;br /&gt;
&lt;br /&gt;
== JitterTime ==&lt;br /&gt;
&lt;br /&gt;
[[User:Smong|Smong]]: Anyone have a formula for this? Seems the larger it is the bigger the amplitude of the jitter is. Also bombs that explode further away have a smaller jitter.&lt;br /&gt;
&lt;br /&gt;
== Lots of bombs ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;If your settings allow a lot of bombs to be flying around at once, lowering the value of this setting can improve frame rates.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
But didn&#039;t Snrrrub show that SS limits the amount of weapons processed? I&#039;m assuming Continuum emulates this?&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Category:Protocol&amp;diff=5024</id>
		<title>Category:Protocol</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Category:Protocol&amp;diff=5024"/>
		<updated>2005-09-18T21:02:29Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: capitalization, tense&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are various protocols in [[Subspace]]/[[Continuum]]. They define how to communicate with servers at the network layer.&lt;br /&gt;
&lt;br /&gt;
The original protocols are UDP and exist on top of the [[core protocol]]. Some of the newer protocols are TCP.&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Directory_Client_Protocol&amp;diff=4016</id>
		<title>Directory Client Protocol</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Directory_Client_Protocol&amp;diff=4016"/>
		<updated>2005-09-18T21:01:34Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: capitalization&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Core protocol]] is used as usual. Dirserv specific c2s/s2c protocol.&lt;br /&gt;
&lt;br /&gt;
Continuum sends a sync request and SubSpace doesn&#039;t.&lt;br /&gt;
The list request is sent as reliable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
c2s&lt;br /&gt;
&lt;br /&gt;
0x01 list request&lt;br /&gt;
offset size comment&lt;br /&gt;
0      1    type 0x01&lt;br /&gt;
1      4    minimum players&lt;br /&gt;
&lt;br /&gt;
s2c&lt;br /&gt;
&lt;br /&gt;
0x01 list data&lt;br /&gt;
offset size comment&lt;br /&gt;
0      1    type 0x01&lt;br /&gt;
1      4    ip&lt;br /&gt;
5      2    port&lt;br /&gt;
7      2    player count&lt;br /&gt;
9      2    billing (on 0x01 0x00)&lt;br /&gt;
11     4    version (0x86 0x00 0x00 0x00)&lt;br /&gt;
15     64   name&lt;br /&gt;
79     ?    description&lt;br /&gt;
packet repeats from offset 1 until end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Protocol]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=UDP_Game_Protocol&amp;diff=3913</id>
		<title>UDP Game Protocol</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=UDP_Game_Protocol&amp;diff=3913"/>
		<updated>2005-09-18T21:00:16Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: removed redundant core protocol&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a document outlining the UDP protocol used by game clients ([[Continuum]], [[SubSpace]], and all of the [[Bots]] in use today).  This is not exhaustive but has been compiled from [[LogicBot|LogicBot++]], [[MERVBot]], and various files from [http://catid.ssihosting.com/ Catid Inside] and [http://snrrrub.sscentral.com/ Snrrrub&#039;s Dump].  The posted outline is taken from the FPL at [http://explody.ssihosting.com/ Explody&#039;s Loot]. All clients also use the [[core protocol]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Full Packet List (Consolidated Subspace and Continuum Packet List)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 //====================\\&lt;br /&gt;
||          C2S         ||&lt;br /&gt;
 \\====================//&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ID	CLASS	HANDLER		PKT DESC&lt;br /&gt;
-		OFFSET	LEN	CONTENTS&lt;br /&gt;
-				[Type	Meaning]&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x01	Game	0x40B750	Arena Login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Ship type&lt;br /&gt;
-		2	2	Allow audio?&lt;br /&gt;
-		4	2	X resolution&lt;br /&gt;
-		6	2	Y resolution&lt;br /&gt;
-		8	2	Main arena number 0xFFFF for random pub, 0xFFFD for sub.&lt;br /&gt;
-		10	16	Arena name (optional, if offset 8 is 0xFFFD)&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x02	Game	0x40B3C1	Leave arena&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x03	Game	0x409BA9	Position&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Direction&lt;br /&gt;
-		2	4	Timestamp&lt;br /&gt;
-		6	2	X velocity&lt;br /&gt;
-		8	2	Y pixels&lt;br /&gt;
-		10	1	Checksum&lt;br /&gt;
-		11	1	Togglables&lt;br /&gt;
-		12	2	X pixels&lt;br /&gt;
-		14	2	Y velocity&lt;br /&gt;
-		16	2	Bounty&lt;br /&gt;
-		18	2	Energy&lt;br /&gt;
-		20	2	Weapon info&lt;br /&gt;
-		22	2	Energy			(Optional)&lt;br /&gt;
-		24	2	S2C latency		(Optional)&lt;br /&gt;
-		26	2	Timer			(Optional)&lt;br /&gt;
-		28	4	Item info		(Optional)&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x04	Game	0x40CAA1	Packet tampering&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x05	Game	0x40A15B	Death message&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x06	Chat	0x40B67C	Chat&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Chat type &lt;br /&gt;
-				0x00	Arena&lt;br /&gt;
-				0x01	Public macro&lt;br /&gt;
-				0x02	Public message&lt;br /&gt;
-				0x03	Team message&lt;br /&gt;
-				0x04	Freq&lt;br /&gt;
-				0x05	Private message&lt;br /&gt;
-				0x06	Moderator warning&lt;br /&gt;
-				0x07	Remote private message&lt;br /&gt;
-				0x09	Channel message&lt;br /&gt;
-		2	1	Sound code&lt;br /&gt;
-		3	2	Target player&#039;s player ID&lt;br /&gt;
-		5	-	Text&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x07	Game	0x40AC3B	Take green&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x08	Game	0x40B26E	Spectate request&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	2	Player ID&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x09	Game	0x40C0E7	Password/Login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Boolean: New user (1 = New, 0 = Not New)&lt;br /&gt;
-		2	32	Name&lt;br /&gt;
-		34	32	Password&lt;br /&gt;
-		66	4	Machine ident (drive serial number - can be random for bots)&lt;br /&gt;
-		70	1	ConnectType (0x00 is a good idea)&lt;br /&gt;
-		71	2	Timezone bias&lt;br /&gt;
-		73	2	Unkown&lt;br /&gt;
-		75	2	Client version (0x24 = Ctm, 0x86 = SS)&lt;br /&gt;
-		77	4	Unkown, memory checksum, Set to = 444&lt;br /&gt;
-		81	4	Unkown, memory checksum, Set to = 555&lt;br /&gt;
-		85	4	Permission ident&lt;br /&gt;
-		89	12	Unkown&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0A	Game	0x40CAA1	Packet tampering&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0B	Game	0x409EA9	SSUpdate.EXE request&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0C	Game	0x409A6F	Map Request&lt;br /&gt;
&lt;br /&gt;
-		0	1	 Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0D	Game	0x409A9F	news.txt request&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0E	Game	0x40B4D7	Voice message&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0F	Game	0x40AEF5	Frequency change&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x10	Game	0x40BF47	Attach request&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x11	Game	0x40CAA1	Packet tampering&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x12	Game	0x40CAA1	Packet tampering&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x13	Game	0x40ADDC	Flag request&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x14	Game	0x40B183	Unknown&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x15	Game	0x40B1EB	Drop flags&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x16	Game	0x40B8C7	File transfer&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x17	Game	0x40B645	Registration information response&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x18	Game	0x40AF19	Set ship type&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x19	Game	0x40B41E	Set personal banner&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1A	Game	0x4097BA	Security checksum&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type Byte 0x1A&lt;br /&gt;
-		1	4	Weapon Count&lt;br /&gt;
-		5	4	Settings Checksum *2&lt;br /&gt;
-		9	4	Subspace.EXE Checksum&lt;br /&gt;
-		13	4	Map.LVL Checksum&lt;br /&gt;
-		17	4	S2CSlowTotal&lt;br /&gt;
-		21	4	S2CFastTotal&lt;br /&gt;
-		25	2	S2CSlowCurrent&lt;br /&gt;
-		27	2	S2CFastCurrent&lt;br /&gt;
-		29	2	S2CRelOut (?Unsure?)&lt;br /&gt;
-		31	2	Ping&lt;br /&gt;
-		33	2	Ping Average&lt;br /&gt;
-		35	2	Ping Low&lt;br /&gt;
-		37	2	Ping High&lt;br /&gt;
-		39	1	Slow Frame Detected (Boolean)&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1B	Game	0x4096C9	Security violation&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1C	Game	0x409626	Drop brick&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1D	Game	0x40948B	?setsettings&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1E	Game			KotH Timer drop&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1F	Game	0x408EBD	Fire a ball&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x20	Game	0x409322	Ball request&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x21	Game	0x408F95	Soccer goal scored&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x22	Game	0x4096E2	? Task switch ?&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x23	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x24	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x25	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x26	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x27	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x28	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x29	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2A	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2B	CTMGame	0x40C0E7	Continuum login&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 //====================\\&lt;br /&gt;
||          S2C         ||&lt;br /&gt;
 \\====================//&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ID	CLASS	Handler		DESC&lt;br /&gt;
-		OFFSET	LEN	CONTENTS&lt;br /&gt;
-				[Type	Meaning]&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x01	Game	0x402A7E	UID notification&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	4	ID&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x02	Game	0x402A24	In game /* We are in the arena */&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x03	Game	0x402B43	Player Entering&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Ship type&lt;br /&gt;
-		2	1	Accepts audio messages&lt;br /&gt;
-		3	20	Player name (confirmed ASCIIZ)&lt;br /&gt;
-		23	20	Squad name (confirmed ASCIIZ)&lt;br /&gt;
-		43	4	Flag points&lt;br /&gt;
-		47	4	Kill points&lt;br /&gt;
-		51	2	Player ident&lt;br /&gt;
-		53	2	Team&lt;br /&gt;
-		55	2	Wins&lt;br /&gt;
-		57	2	Losses&lt;br /&gt;
-		59	2	Turretee ident&lt;br /&gt;
-		61	2	Flags carried&lt;br /&gt;
-		63	1	Boolean: Has KoTH&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x04	Game	0x402C58	Player leaving&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Player ID&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x05	Game	0x402D34	Player fired a weapon&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x06	Game	0x402CFC	Player died&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Death green&lt;br /&gt;
-		2	2	Killer ident&lt;br /&gt;
-		4	2	Killed ident&lt;br /&gt;
-		6	2	Bounty&lt;br /&gt;
-		8	2	? Flags&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x07	Chat	0x40303D	Chat&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
-		1	1	Message Type&lt;br /&gt;
-				0x00	Arena&lt;br /&gt;
-				0x01	Public macro&lt;br /&gt;
-				0x02	Public message&lt;br /&gt;
-				0x03	Team message&lt;br /&gt;
-				0x04	Freq&lt;br /&gt;
-				0x05	Private message&lt;br /&gt;
-				0x06	Moderator warning&lt;br /&gt;
-				0x07	Remote private message&lt;br /&gt;
-				0x08	Red server errors, without a name tag (S2C only)&lt;br /&gt;
-				0x09	Channel message&lt;br /&gt;
-		2	1	Sound Code&lt;br /&gt;
-		3	2	PlayerID&lt;br /&gt;
-		5	-	Message&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0A	Game	0x40306F	Password response&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type byte&lt;br /&gt;
-		1	1	Accept response meaning&lt;br /&gt;
-				0	Login OK.&lt;br /&gt;
-				1	Unknown user.&lt;br /&gt;
-				2	Bad password.&lt;br /&gt;
-				3	Full arena.&lt;br /&gt;
-				4	Locked out.&lt;br /&gt;
-				5	Perission only.&lt;br /&gt;
-				6	Spectate only.&lt;br /&gt;
-				7	Too many points.&lt;br /&gt;
-				8	Connection too slow.&lt;br /&gt;
-				9	Perission only arena.&lt;br /&gt;
-				10	Server full.&lt;br /&gt;
-				11	Invalid name.&lt;br /&gt;
-				12	Offensive name.&lt;br /&gt;
-				13	No biller (not saving scores).&lt;br /&gt;
-				14	Server busy&lt;br /&gt;
-				15	Restricted zone (insufficient usage)&lt;br /&gt;
-				16	Demo Version &amp;lt;- If you get this, theres a serious problem.&lt;br /&gt;
-				17	Too many Demo Users (Same as above applys)&lt;br /&gt;
-				18	No Demo Players Allowed (again same as the above two)&lt;br /&gt;
-				255	Mod Access Required (Added by MGB)&lt;br /&gt;
-		2	4	Server version&lt;br /&gt;
-		6	4	?&lt;br /&gt;
-		10	4	EXE checksum&lt;br /&gt;
-		14	4	? unused&lt;br /&gt;
-		18	1	? boolean&lt;br /&gt;
-		19	1	Boolean: Request registration form&lt;br /&gt;
-		20	4	? memory checksum&lt;br /&gt;
-		24	4	News checksum (0 = no news file)&lt;br /&gt;
-		28	4	? time/date&lt;br /&gt;
-		32	4	? time/date&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x09	Game	0x402C22	Player score changed&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0A	Game	0x4033AB	Password packet response&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0B	Game	0x403386	Soccer goal&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0C	Game	0x402BEF	Player voice&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0D	Game	0x402C7C	Set player frequency&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0E	Game	0x402BC6	Create turret link&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type byte&lt;br /&gt;
-		1	2	Turreter ident (gunner)&lt;br /&gt;
-		3	2	Turretee ident (driver)(when -1, detaching)&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x0F	Game	0x402A43	Arena settings&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x10	Game	0x4027CD	File transfer&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x11	Game	0x4033AB	No-op&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x12	Game	0x4031D4	Flag position&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x13	Game	0x403233	Flag claim&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x14	Game	0x4030D5	Flag victory&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x15	Game	0x40325C	Destroy turret link&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type byte&lt;br /&gt;
-		1	2	Player ident&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x16	Game	0x403280	Drop flag&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x17	Game	0x4033AB	No-op&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x18	Game	0x4030A6	Synchronization&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x19	Game	0x4028FB	Request file&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1A	Game	0x4032A4	Reset score(s)&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1B	Game	0x4032C8	Personal ship reset&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1C	Game	0x4032E4	Put player in spectator mode / change extra info flag&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1D	Game	0x402CC1	Player team and ship changed&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type byte&lt;br /&gt;
-		1	1	Ship type&lt;br /&gt;
-		2	2	Player ident&lt;br /&gt;
-		4	2	Team&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1E	Game	0x4033AB	Banner flag&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x1F	Game	0x403209	Player banner changed&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x20	Game	0x402ABF	Collected prize&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x21	Game	0x403302	Brick dropped&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
repeated until the end of the message&lt;br /&gt;
-		1	2	X1 tiles&lt;br /&gt;
-		3	2	Y1 tiles&lt;br /&gt;
-		5	2	X2 tiles&lt;br /&gt;
-		7	2	Y2 tiles&lt;br /&gt;
-		9	2	Team&lt;br /&gt;
-		11	2	Brick ident (sent more than once)&lt;br /&gt;
-		13	4	Timestamp&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x22	Game	0x40316E	Turf flag update&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
repeated until the end of the message&lt;br /&gt;
-		1	2	Team for flag X	&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x23	Game	0x403192	Flag reward granted&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
repeated until the end of the message&lt;br /&gt;
-		1	2	Team&lt;br /&gt;
-		3	2	Points&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x24	Game	0x402AEA	Speed zone statistics&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x25	Game	0x402B1F	Toggle UFO ship&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x26	Game	0x4033AB	No-op&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x27	Game	0x4033AB	Keep-alive&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x28	Game	0x402EE3	Player position update&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x29	Game	0x4030FD	Map information&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2A	Game	0x402867	Compressed map file&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2B	Game	0x402787	Set personal KoTH timer&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2C	Game	0x402762	KoTH game reset&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2D	Game	0x4027AA	? Some other timer change ?&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2E	Game 	0x402741	Power-ball position update&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x2F	Game	0x403364	Arena directory listing&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x30	Game	0x402707	Got zone banner advertisements&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x31	Game	0x4033A6	Login Finished&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x31	CTMGame			You are now past the login sequence&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x32	CTMGame			Change personal ship coordinates&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x33	CTMGame			Custom login failure message&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x34	CTMGame			Continuum version packet&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
0x35	CTMGame			Object toggling&lt;br /&gt;
&lt;br /&gt;
-		0	1	Type&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category: Protocol]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Cfg_file&amp;diff=5517</id>
		<title>Cfg file</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Cfg_file&amp;diff=5517"/>
		<updated>2005-09-18T20:50:57Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: template.sss + server.cfg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Subgame]] stores all the settings for an arena in a .cfg file, with the filename matching the arena name. It stores the [[Bomb Settings]], [[Brick Settings]], [[Bullet Settings]], [[Burst Settings]], [[Cost Settings]], [[Custom Settings]], [[Door Settings]], [[Flag Settings]], [[Kill Settings]], [[King Settings]], [[Latency Settings]], [[Message Settings]], [[Mine Settings]], [[Misc Settings]], [[Owner Settings]], [[Packetloss Settings]], [[Periodic Settings]], [[Prize Settings]], [[Prizeweight Settings]], [[Radar Settings]], [[Repel Settings]], [[Rocket Settings]], [[Routing Settings]], [[Security Settings]], [[Shrapnel Settings]], [[Spawn Settings]], [[Soccer Settings]], [[Team Settings]], [[Territory Settings]], [[Toggle Settings]], [[Wormhole Settings]], and [[Ship Settings]].&lt;br /&gt;
&lt;br /&gt;
These settings can be modified by editing the .cfg file itself (directly, using FTP, putfile, etc.), using the ?set [[commands|command]], or using the ?setsettings command. [[Subgame]] uses the template.sss file to format settings for in-game modification using ?setsettings. It also stores the settings for public (default) arenas in server.cfg.&lt;br /&gt;
&lt;br /&gt;
[[Category:Subgame Settings]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Talk:Subgame&amp;diff=5557</id>
		<title>Talk:Subgame</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Talk:Subgame&amp;diff=5557"/>
		<updated>2005-09-18T20:48:10Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: test it?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Regarding the comment in .scr files; I thought also players need to be non-spec, but also, not in a safety zone either? [[User:CypherJF|CypherJF]]&lt;br /&gt;
&lt;br /&gt;
You&#039;re welcome to test. --[[User:Cyan~Fire|Cyan~Fire]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Subgame&amp;diff=4139</id>
		<title>Subgame</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Subgame&amp;diff=4139"/>
		<updated>2005-09-18T17:04:54Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: .scr file information. couldn&amp;#039;t think of a better place&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Based on [[VIE]]&#039;s special subgame, [[subgame]] (or subgame2) is the alternate server to [[ASSS]]. It was originally made by [[VIE]], but was edited by [[PriitK]] to support [[Continuum]]. It uses more memory than ASSS, lacks nearly all the features that ASSS has, and is not open source. subgame works in connection with a [[Billing Server]] to allow users to enter a zone. Old and stable, subgame is used by most zones today.&lt;br /&gt;
&lt;br /&gt;
== .scr files ==&lt;br /&gt;
Subgame saves private arena scores in .scr files, one for each arena. These files are composed of repeating structures that hold score information for one player as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;struct PlayerScore&lt;br /&gt;
{&lt;br /&gt;
	unsigned long userid;	//given by ?userid command&lt;br /&gt;
	unsigned short kills, deaths;&lt;br /&gt;
	unsigned short victories;	//incremented on a team victory, player must be in a ship, not spec.&lt;br /&gt;
	long killpoints, flagpoints;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
[http://www.shanky.com/cgi-bin/ryan/download.cgi?scrfiles.zip Here] are two tools to manipulate .scr files.&lt;br /&gt;
&lt;br /&gt;
== Change Log ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------------- version 1.34.14bs2 ------------------------------&lt;br /&gt;
Small update to disable &amp;quot;Unknown Integrity Violation&amp;quot; alerts caused by a yet&lt;br /&gt;
unsupported packet.&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.14bs -------------------------------&lt;br /&gt;
Removed handler for &#039;Process debugger&#039; security warnings, as Cont039pr3 sends&lt;br /&gt;
them (as well as your process list) erroneously.&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.14b --------------------------------&lt;br /&gt;
Added new security checks for Continuum 0.39pr2&lt;br /&gt;
&lt;br /&gt;
Fixed rare crash on certain invalid packet sequence&lt;br /&gt;
&lt;br /&gt;
New server.ini variable: Misc:BindIP - local IP address to bind server ports &lt;br /&gt;
to. Useful in multihomed systems only.&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.14a --------------------------------&lt;br /&gt;
New server.ini variable: Misc:BotsIP - clients with that IP are allowed to&lt;br /&gt;
exceed packet flood limits&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.14 ---------------------------------&lt;br /&gt;
New server.ini variable: Misc:AllowPrerelease - default 1, when set, users with&lt;br /&gt;
new prerelease versions are allowed to play&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Misc:SaveSpawnScore - default 0, when set, server will save&lt;br /&gt;
arena score to arenaname.scr file. NB! default setting changes differs from&lt;br /&gt;
older subgame versions, where spawn scores were always saved to .scr file and&lt;br /&gt;
there was no option to disable it. Disabling .scr file save will make server&lt;br /&gt;
run smoother and will prevent server directory filling up with useless files.&lt;br /&gt;
&lt;br /&gt;
Fixed false connection flood alerts&lt;br /&gt;
&lt;br /&gt;
Fixed player not taking damage after macroing ?go arena several times&lt;br /&gt;
													   &lt;br /&gt;
----------------------------- version 1.34.13c --------------------------------&lt;br /&gt;
Added client timer drift percentage to /*einfo&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.13b --------------------------------&lt;br /&gt;
Added support for position packet queueing and smart clustering to save &lt;br /&gt;
bandwidth. To enable it, set in server.ini Routing:QueuePositions:1. Following&lt;br /&gt;
variables can be used to control clustering process: &lt;br /&gt;
Routing:PosSendRadar - how long radar packets are queued, default 100 ms &lt;br /&gt;
Routing:PosSendEdge - how long packets on screen edge are queued, default 30 ms&lt;br /&gt;
Routing:PosSendClose - how long close packets are queue, default 20 ms&lt;br /&gt;
Routing:ClosePosPixels - how near are packets considered close, default 250 &lt;br /&gt;
pixels&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Misc:MaxTimerDrift - percentage how much client timer is &lt;br /&gt;
allowed to differ from server timer [Continuum 0.38+]&lt;br /&gt;
&lt;br /&gt;
Added support for chat channel multicast to prevent zone&amp;lt;&amp;gt;biller connection&lt;br /&gt;
overload on very popular chats like Hockey zone&#039;s ?chat=zilla&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Latency:NegativeClientSlowPacketTime - packets with future&lt;br /&gt;
timestamp farther in future than this variable are considered as slow packets.&lt;br /&gt;
Default value: 0 - feature is disabled. Feature is still experimental.&lt;br /&gt;
[Continuum 0.38+]&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Soccer:DisableWallPass - default 0, when set, passing ball&lt;br /&gt;
through walls is diabled. There must be clear line between ball and ship &lt;br /&gt;
center to pick up ball [Continuum 0.38+]&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Soccer:DisableBallKilling - default 0, when set, ships with&lt;br /&gt;
0 velocity in safezone don&#039;t catch ball [Continuum 0.38+]&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.13a --------------------------------&lt;br /&gt;
Fixed extreme lagging bug when subgame was stated when GetTickCount() returned&lt;br /&gt;
negative values (Windows has been running without rebooting 25 days)&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.13 ---------------------------------&lt;br /&gt;
Removed incoming bandwidth limit from localhost connections&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Misc:AntiWarpSettleDelay - time in 1/100th seconds after &lt;br /&gt;
warping/portaling/attaching during which artificial antiwarp is activated&lt;br /&gt;
[Continuum 0.38+]&lt;br /&gt;
&lt;br /&gt;
New cfg variables: Spawn:Team0-X, Spawn:Team0-Y, Spawn:Team0-Radius - allows&lt;br /&gt;
specify spawn location and radius per team. If only Team0 variables are set, &lt;br /&gt;
all teams use them, if Team0 and Team1 variables are set, even teams use Team0&lt;br /&gt;
ones and odd team Team1 ones. It is possible to set spawn positions upto 4&lt;br /&gt;
teams (Team0-Team3) [Continuum 0.38+]&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Misc:DisableScreenshot - disables Continuum&#039;s screenshot&lt;br /&gt;
functionality for non-spectators if set to 1 [Continuum 0.37+]&lt;br /&gt;
&lt;br /&gt;
New server.ini variable: Comms:FlushTime - time in millseconds how long server&lt;br /&gt;
will collect position packets before sending them to clients. Recommended&lt;br /&gt;
setting: 10 - 20&lt;br /&gt;
&lt;br /&gt;
Fixed unauthenticated users (name starting with ^) getting moderator powers&lt;br /&gt;
when using billing server proxy and billing server is down&lt;br /&gt;
&lt;br /&gt;
New server.ini variable: Comms:BandwithIdleTime - time in seconds when server&lt;br /&gt;
stops sending position packets to idle spectators. Useful to save bandwidth. &lt;br /&gt;
Idle time is also shown in /*einfo now&lt;br /&gt;
&lt;br /&gt;
Fixed server crash when client requested to go to negative frequency&lt;br /&gt;
&lt;br /&gt;
New server.ini variable: Comms:SelectTime - time in millseconds how long server&lt;br /&gt;
should wait incoming packet using select() function. This is replacement for &lt;br /&gt;
CPU:SleepTime, which sleeps constant time, regardless if there are incoming&lt;br /&gt;
packets waiting processing or not. Recommended settings: Comms:SelectTime:10,&lt;br /&gt;
CPU:SleepTime:0 and CPU:SleepPerIteration:0&lt;br /&gt;
&lt;br /&gt;
Fixed bug in Continuum&#039;s protocol. NB! Continuum 0.38 will require 1.34.13&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.12a --------------------------------&lt;br /&gt;
Added proxy detection to /*einfo. Proxy is detected for Continuum 0.37 and&lt;br /&gt;
later clients. You need to set server IP address in server.ini [Misc] ServerIP&lt;br /&gt;
for it to work. &lt;br /&gt;
* Undetermined - SS 1.3x or Continuum 0.36 clients&lt;br /&gt;
* SOCKS5 proxy - User is using Continuum&#039;s built in SOCKS5 proxy&lt;br /&gt;
* Using proxy at localhost - player is using proxy ran in same machine as &lt;br /&gt;
Continuum client. There is no other reason to do so than monitoring or &lt;br /&gt;
tampering with packet stream&lt;br /&gt;
* Using custom proxy - player is using custom proxy. Suspect cheating.&lt;br /&gt;
* Using NAT - player is using router or firewall doing NAT translation&lt;br /&gt;
* Not using proxy - no proxy was detected between client and server&lt;br /&gt;
&lt;br /&gt;
Fixed timer desync and slow FPS sysop messages. Before &amp;quot;Unknown interity &lt;br /&gt;
violation&amp;quot; was displayed&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Misc:StartInSpec - if set, players entering arena are always&lt;br /&gt;
put to spectator mode&lt;br /&gt;
&lt;br /&gt;
New server.ini variable: Misc:ForceContinuumOnly - if set server will ignore&lt;br /&gt;
ContinuumOnly variable is all cfg files and require Continuum in all arenas&lt;br /&gt;
&lt;br /&gt;
New command: *objset +/-&amp;lt;object id&amp;gt;,+/-&amp;lt;object id&amp;gt;,... - sets state of listed&lt;br /&gt;
map/screen objects. +&amp;lt;object id&amp;gt; shows object and -&amp;lt;object id&amp;gt; hides it. For &lt;br /&gt;
example &amp;quot;*objset +1,-20,+13&amp;quot; shows objects 1 and 13 and hides object 20.&lt;br /&gt;
Command is meant to replace *objon and *objoff commands and it can be sent&lt;br /&gt;
to player privately or to whole arena. Command is meant for humans to use, for&lt;br /&gt;
bots there is special packet for toggling objects states which is much more&lt;br /&gt;
efficient. See BuildLevel documentation for more info about the objects. &lt;br /&gt;
[Continuum 0.38+]&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.12 release -------------------------&lt;br /&gt;
Added support for zone staff chats. To use local chats set Misc:StaffChat in&lt;br /&gt;
server.ini to comma separated chat name list. Only players with moderator and&lt;br /&gt;
higher powers can enter these chats and in ?chat these chats are listed as&lt;br /&gt;
(staff) chatname&lt;br /&gt;
&lt;br /&gt;
Disabled non-public chat ? commands (ie /?password or &#039;?squadleave) as there &lt;br /&gt;
has beed a lot of accidents where players trying to help others will do the&lt;br /&gt;
command without intention&lt;br /&gt;
&lt;br /&gt;
Bugfix in Continuum 0.37 user handling&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.12pr4 ------------------------------&lt;br /&gt;
Fixed a crash bug introduced in 1.34.12pr3 in user sound checking&lt;br /&gt;
&lt;br /&gt;
New command: /*watchdamage - Toggles player damage reporting on/off for &lt;br /&gt;
selected player. When turned on moderator will see something like that:&lt;br /&gt;
PriitK took 500 damage from l33t L2 bomb having 1400 nrg [Continuum 0.37+]&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.12pr3 ------------------------------&lt;br /&gt;
Added support for team sounds. Regular users can play sounds %150 - %255 in&lt;br /&gt;
team chat, zone sysops can upload these sounds in lvz file&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Misc:MinUsage. Specifies amount of usage in hours for players&lt;br /&gt;
to play in arena.&lt;br /&gt;
&lt;br /&gt;
Adding + in front of level files specified by Misc:LevelFiles will make &lt;br /&gt;
downloading them optional for users&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.12pr2 ------------------------------&lt;br /&gt;
Fixed crash when lvz file is specified in cfg, but file is not present&lt;br /&gt;
&lt;br /&gt;
Fixed /*tinfo to display invalid last line&lt;br /&gt;
&lt;br /&gt;
Fixed vip functionality to bypass code checksums&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.12pr1 ------------------------------&lt;br /&gt;
Added collecting of server&amp;lt;-&amp;gt; client clock synchronization info and commad &lt;br /&gt;
/*tinfo to view it. &lt;br /&gt;
&lt;br /&gt;
Removed printing of XXX killed by YYY to server console&lt;br /&gt;
&lt;br /&gt;
Removed updating of LastUsedStamp for spawn cfg files&lt;br /&gt;
&lt;br /&gt;
New cfg variable: &amp;lt;ship&amp;gt;:Radius. It specifies ship radius in pixels. In old&lt;br /&gt;
Subspace all ships have fixed radius 14 pixels. This means that ships will fit&lt;br /&gt;
through 2 tile holes, will take damage from weapons 14 pixels away from ship&lt;br /&gt;
center etc. Changing the radius will make ships smaller or bigger from game&lt;br /&gt;
play aspect, you can also change visual aspect to players by specifying custom&lt;br /&gt;
level graphics and also sounds [Continuum 0.37+]&lt;br /&gt;
&lt;br /&gt;
New command: *objon &amp;lt;object id&amp;gt; - shows objects on map/screen with specified &lt;br /&gt;
id. Can be sent to player privately or to whole arena. See BuildLevel &lt;br /&gt;
documentation for more info. [Continuum 0.37+]&lt;br /&gt;
&lt;br /&gt;
New command: *objoff &amp;lt;object id&amp;gt; - hides objects on map/screen with specified&lt;br /&gt;
id. Can be sent to player privately or to whole arena. [Continuum 0.37+]&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Misc:LevelFiles. Comma separated list of level files built &lt;br /&gt;
with BuildLevel.exe (lvz files). These files contain screen and map object &lt;br /&gt;
definitions and graphics, custom shipsets, sounds, help texts, etc. See&lt;br /&gt;
BuildLevel documentation for more info. [Continuum 0.37+]&lt;br /&gt;
&lt;br /&gt;
New server.ini variable: Misc:AllowVIEClients. When set to 0 Subspace client&lt;br /&gt;
users are not allowed to enter zone. (It was actually added a while ago but&lt;br /&gt;
I forgot to document it)&lt;br /&gt;
&lt;br /&gt;
Added vip.txt. Players listed in vip.txt can enter zone with old Subspace&lt;br /&gt;
client when zone is set to Misc:AllowVIEClients:0 and can play in arenas that&lt;br /&gt;
have Misc:ContinuumOnly set to 1 in config. Also players listed can enter zone&lt;br /&gt;
with Continuum 0.37 pre-release versions. When billing server is down vip.txt&lt;br /&gt;
is ignored, naturally&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.11 ---------------------------------&lt;br /&gt;
New command: /*warpto xcoord ycoord - privately sent to player will warp player &lt;br /&gt;
to given position. Coordinates are given in tiles (1-1023), when there is wall&lt;br /&gt;
at specified location, random position is chosen. [Continuum 0.35+]&lt;br /&gt;
&lt;br /&gt;
Modified /*watchgreen to show negative prizes&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Spectator:HideFlags. When set dropped flags are not shown to&lt;br /&gt;
spectators. [Continuum 0.36+]&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Spectator:NoXRadar. When set spectators won&#039;t have X-Radar&lt;br /&gt;
[Continuum 0.36+]&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Bullet:ExactDamage. When set bullet damage is exact, not&lt;br /&gt;
random [Continuum 0.36+]&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Misc:SlowFrameRate. Specifies minimum frame rate for client.&lt;br /&gt;
When frame rate falls below specified rate for 10 seconds, client is &lt;br /&gt;
disconnected. 0 - disable check, maximum is 35 [Continuum 0.36+]&lt;br /&gt;
&lt;br /&gt;
New cfg variable: &amp;lt;ship&amp;gt;:SeeBombLevel. 1=see all bombs on radar, 2=see bombs&lt;br /&gt;
greater than level 1 on radar, 3=see bombs greater than level 2 on radar, &lt;br /&gt;
0 = no bombs are shown on radar [Continuum 0.36+]&lt;br /&gt;
&lt;br /&gt;
New cfg variable: &amp;lt;ship&amp;gt;:DisableFastShooting. When set firing bullets, bombs&lt;br /&gt;
and thors is disabled when using afterburner [Continuum 0.36+]&lt;br /&gt;
&lt;br /&gt;
Fixed a bug in Continuum communcation protocol that caused connection to get&lt;br /&gt;
stuck infrequently&lt;br /&gt;
&lt;br /&gt;
Added confirmation message to /*warn command&lt;br /&gt;
&lt;br /&gt;
New server.ini variable: Misc:NoFlagRewardLimit. If set non-zero reward &lt;br /&gt;
multiplier limit is removed in FlagRewardMode 1. Multiplier is &lt;br /&gt;
(maximumAllowedPerTeam / numberOfTeamMembers), if NoFlagRewardLimit is set 0&lt;br /&gt;
multiplier is limited by 2.&lt;br /&gt;
&lt;br /&gt;
Fixed bug causing infrequent server crashes (Access violation at &lt;br /&gt;
address 41d006)&lt;br /&gt;
&lt;br /&gt;
Fixed another crash bug (Access violation at address 428e20)&lt;br /&gt;
&lt;br /&gt;
Fixed security hole that allows anybody to upload moderate.txt and permit.txt&lt;br /&gt;
&lt;br /&gt;
Fixed &#039;shadow KOTH&#039; bug. When entering arena other players sometimes see that &lt;br /&gt;
entered player has KOTH, while he doesn&#039;t. Happends very seldom, but when it is&lt;br /&gt;
triggered all players entering had KOTH and only server shutdown/start would&lt;br /&gt;
fix that&lt;br /&gt;
&lt;br /&gt;
Fixed problem of public teams becoming uneven when there are private teams in &lt;br /&gt;
arena.&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Misc:ContinuumOnly. When set to 1 non-Continuum players are&lt;br /&gt;
locked to spec and get message to use Continuum to play&lt;br /&gt;
&lt;br /&gt;
New cfg variables: Latency:C2SNoDataAction and Latency:C2SNoDataTime. If &lt;br /&gt;
C2SNoDataAction is set to non-zero and there is no data coming from player for &lt;br /&gt;
C2SNoDataTime (in 1/100th seconds) follwing action is performed:&lt;br /&gt;
C2SNoDataAction=1: Report it using sysop message&lt;br /&gt;
C2SNoDataAction=2: Put player to spec mode&lt;br /&gt;
C2SNoDataAction=4; Kick player.&lt;br /&gt;
C2SNoDataAction can be combination (sum) of above actions.&lt;br /&gt;
&lt;br /&gt;
Added new ArenaMode 5 (Custom:ArenaMode in server.ini). In arena mode 1-4 &lt;br /&gt;
arenaname.cfg is created (copied from server.cfg) every time a user enters a &lt;br /&gt;
spawn. This means that over time cfg files are piling up in server directory&lt;br /&gt;
and changes in server.cfg are not reflected in spawns, makeing maintenance of&lt;br /&gt;
settings pain in the ass. In ArenaMode 5 if arenaname.cfg is not found, server&lt;br /&gt;
will use spawn.cfg.&lt;br /&gt;
&lt;br /&gt;
Fixed bug in server that allowed sending cross-arena private messages so that &lt;br /&gt;
they appear to come from user without name.&lt;br /&gt;
&lt;br /&gt;
New command: *relkills &amp;lt;0 or 1&amp;gt; - toggles sending kills reliably on and off.&lt;br /&gt;
Normally server sends kill messages as non-reliable messages if killed player&#039;s&lt;br /&gt;
bounty is less than 200 (teamkills are always non-reliable). Setting &lt;br /&gt;
*relkills 1 will make server send kill messages reliably, &lt;br /&gt;
&lt;br /&gt;
New command: /*bandwidth &amp;lt;bandwidth&amp;gt; - allow to set cutback watermark per &lt;br /&gt;
player, overriding arena&#039;s Latency:CutbackWatermark setting&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.10 ---------------------------------&lt;br /&gt;
New command: *warn &amp;lt;text&amp;gt; - privately sent to player will display moderator&lt;br /&gt;
warning using red font to player&lt;br /&gt;
&lt;br /&gt;
Fixed problem with keepalive. After sending large amouts of data, such as&lt;br /&gt;
voice messages, settings, etc players got often kicked with low keepalive &lt;br /&gt;
values.&lt;br /&gt;
&lt;br /&gt;
Added client version display to /*einfo&lt;br /&gt;
&lt;br /&gt;
Fixed 3 buffer length checking/overflow bugs in lowlevel protocol&lt;br /&gt;
&lt;br /&gt;
Added ability to disable *shutdown command as sysops can execute arbitrary &lt;br /&gt;
commands with it and it is potential threat to host security. To disable &lt;br /&gt;
*shutdown create noshutdown directory to server directory. Don&#039;t forget to&lt;br /&gt;
set file permissions of that directory if sysops have FTP access&lt;br /&gt;
&lt;br /&gt;
Tons of continuum client releated changes&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.9 ----------------------------------&lt;br /&gt;
Fixed protection against IP spoofed packet floods. Made a simple mistake and &lt;br /&gt;
left it open to smart flooders. Smack me&lt;br /&gt;
&lt;br /&gt;
New command: *flags - displays locations of uncarried flags&lt;br /&gt;
&lt;br /&gt;
New command: /*greeninfo - displays how many particular prizes player has&lt;br /&gt;
picked up and it&#039;s difference from normal distribution&lt;br /&gt;
&lt;br /&gt;
Added displaying of client type to /*einfo to distinquish between VIE and&lt;br /&gt;
Continuum clients&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.8 ----------------------------------&lt;br /&gt;
Added protection against IP spoofed packet floods&lt;br /&gt;
&lt;br /&gt;
Fix against another DoS attack (voice sending with incomplete packet)&lt;br /&gt;
&lt;br /&gt;
New sysop command: *lag: shows average lag of all players in zone&lt;br /&gt;
&lt;br /&gt;
?getnews is now available only in spectator mode&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.7 ----------------------------------&lt;br /&gt;
Added fix against Catid&#039;s zone flooder. When flood is detected IP address is&lt;br /&gt;
added to blacklist and all traffic from that IP is ignored for time relative&lt;br /&gt;
to amount of flood received. Flooder&#039;s IP is reported once using sysop alert&lt;br /&gt;
&lt;br /&gt;
Added fastbombing detection. To enable it set Misc:CheckFastBombing in &lt;br /&gt;
server.ini as combination (sum) of following values:&lt;br /&gt;
 1 - Send sysop alert when fastbombing is detected&lt;br /&gt;
 2 - Filter out fastbombs&lt;br /&gt;
 4 - Kick fastbombing player off&lt;br /&gt;
There is Misc:FastBombingThreshold variable in server.ini to tune detection.&lt;br /&gt;
Default and recommended value for that variable is 30. Bomb/mine is considered&lt;br /&gt;
for fastbombing if delay between 2 bombs/mines is less than &lt;br /&gt;
ship:BombFireDelay - Misc:FastBombingThreshold&lt;br /&gt;
&lt;br /&gt;
Added support for multiple alert commands. Misc:AlertCommand is now comma&lt;br /&gt;
separated list of player alert commands (f.ex. cheater,help,illegal)&lt;br /&gt;
&lt;br /&gt;
Alert commands are now logged to server log&lt;br /&gt;
&lt;br /&gt;
Added support for zone local chats. To use local chats set Misc:LocalChat in&lt;br /&gt;
server.ini to comma separated chat name list&lt;br /&gt;
&lt;br /&gt;
Added ability to force obscene checking on for all clients. To enable it set&lt;br /&gt;
Misc:ForceObsceneCheck in server.ini to 1. Users can toggle obscenity blocking&lt;br /&gt;
by ?obscene command&lt;br /&gt;
&lt;br /&gt;
Added new player command: ?find &amp;lt;player name&amp;gt;. Tells in what arena specified&lt;br /&gt;
player is if not in private arena (starting with #). Moderators can find&lt;br /&gt;
players in private arenas too&lt;br /&gt;
&lt;br /&gt;
Players with name ^Banned are silenced and locked to spec&lt;br /&gt;
&lt;br /&gt;
Added feature to limit player&#039;s screen resolution. To enable set in an arena&lt;br /&gt;
cfg file Misc:MaxXRes and Misc:MaxYRes variables. 0 = no limit&lt;br /&gt;
&lt;br /&gt;
Added scorereset support without need to recycle zone (needs same functionality&lt;br /&gt;
to be added to billing server before it can be used)&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.6 ----------------------------------&lt;br /&gt;
Fix against Sage386&#039;s DoS attack (At least one that crashed Trench Wars and&lt;br /&gt;
I have crash dump about). It is a simple buffer overflow bug in login code&lt;br /&gt;
&lt;br /&gt;
New sysop command *version. Tells version for the server&lt;br /&gt;
&lt;br /&gt;
Added weapons server to client packetloss to /*lag command&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.5 ----------------------------------&lt;br /&gt;
Added weapons checking. To enable it set in server.ini Misc:CheckWeapons:1&lt;br /&gt;
If enabled follwing checks are preformed:&lt;br /&gt;
* Bullet fired with level &amp;gt; [ship]MaxGuns + [Flag]FlaggerGunUpgrade&lt;br /&gt;
* Boucning bullet fired and [PrizeWeight]BouncingBullets is 0 and [Cost]Bounce&lt;br /&gt;
  is 0&lt;br /&gt;
* Bomb fired with level &amp;gt; [ship]MaxBombs + [Flag]FlaggerBombUpgrade&lt;br /&gt;
* Prox bomb fired and [PrizeWeight]Proximity is 0 and [Cost]Prox is 0&lt;br /&gt;
* Bomb fired with shrap &amp;gt; [ship]ShrapnelMax&lt;br /&gt;
* Bomb fired with bouncing shrap and [PrizeWeight]BouncingBullets is 0 and&lt;br /&gt;
  [Cost]Bounce is 0&lt;br /&gt;
* Mine is fired and [ship]MaxMines is 0&lt;br /&gt;
* A prize is picked up and [PrizeWeight] of that prize is 0&lt;br /&gt;
* Stealth is turned on and [ship]StealthStatus is 0&lt;br /&gt;
* Cloak is turned on and [ship]CloakStatus is 0&lt;br /&gt;
* XRadar is turned on and [ship]XRadarStatus is 0&lt;br /&gt;
* Anti-Warp is turned on and [ship]AntiWarpStatus is 0&lt;br /&gt;
* Player uses ufo&lt;br /&gt;
&lt;br /&gt;
If one of the above conditions is true red sysop alert message is triggered and&lt;br /&gt;
that weapon packet is ignored. If [security]SecurityKickoff is 1 in server.cfg&lt;br /&gt;
file player is kicked out too. Check is deactiveded for smod+&lt;br /&gt;
&lt;br /&gt;
Added functinality to enable mod/smod/sysop commands only in certain arenas. &lt;br /&gt;
Access is controlled via moderate.txt/smod.txt/sysop.txt. To restrict access&lt;br /&gt;
append to moderate.txt/smod.txt/sysop.txt:&lt;br /&gt;
+playername:arenaname&lt;br /&gt;
If arenaname is empty access is granted in main (public) arenas. If arenaname&lt;br /&gt;
is @ access is granted in all private (not main) arenas. Here is an example of&lt;br /&gt;
smod.txt to grant smod access to PriitK in all arenas, to Foobar in public&lt;br /&gt;
arenas only, to Poophead in all private arenas and to Lagger in elim and super&lt;br /&gt;
arena&lt;br /&gt;
------smod.txt------&lt;br /&gt;
PriitK&lt;br /&gt;
Foobar&lt;br /&gt;
Poophead&lt;br /&gt;
Lagger&lt;br /&gt;
+Foobar:&lt;br /&gt;
+Poophead:@&lt;br /&gt;
+Lagger:elim&lt;br /&gt;
+Lagger:super&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Misc:MaxPlayers. Overrides server.ini&#039;s Arena:ArenaMaxPlayers&lt;br /&gt;
variable for a spawn&lt;br /&gt;
&lt;br /&gt;
New server.ini variable: Misc:ShipTypeSwitchResetPeriod. If set non-zero player&lt;br /&gt;
shipchange counters are reset in given period. It allows to set &lt;br /&gt;
Security:MaxShipTypeSwitchCount low to kick out players that use ship changes&lt;br /&gt;
to get good configuration or spawning spot&lt;br /&gt;
&lt;br /&gt;
New cfg variable: Misc:GreetMessage. It is sent to player when s/he enters&lt;br /&gt;
spawn&lt;br /&gt;
&lt;br /&gt;
New cfg variables: Misc:PeriodicMessage0-PeriodicMessage4. Value must have&lt;br /&gt;
following syntax: &amp;lt;period&amp;gt; &amp;lt;delay&amp;gt; [*]&amp;lt;text&amp;gt;&lt;br /&gt;
If set and players are in spawn &amp;lt;text&amp;gt;s starting with * are sent out as zone&lt;br /&gt;
messages and without * as arena messages. &amp;lt;period&amp;gt; &amp;lt;delay&amp;gt; are in minutes,&lt;br /&gt;
&amp;lt;delay&amp;gt; indicates when first message is sent after arena creation.&lt;br /&gt;
&lt;br /&gt;
New command: /*watchgreen. Toggles player green pickup logging on/off for&lt;br /&gt;
selected player. Then turned on, moderator who did it will receive notification&lt;br /&gt;
message every time when that player picks up green&lt;br /&gt;
&lt;br /&gt;
New command: /*einfo. Displays player billing user id and screen resolution&lt;br /&gt;
&lt;br /&gt;
New command: /*lag. Displays player ping and packetloss&lt;br /&gt;
&lt;br /&gt;
New command: ?lag. Displays ping and packetloss&lt;br /&gt;
&lt;br /&gt;
New commads: *getfile, *putfile and *delfile. Allow sysop to get/put/delete&lt;br /&gt;
files from server directory. exe, com, dll, bat and cmd files are offlimits.&lt;br /&gt;
Following commands were removed: get/putsysoplist, get/putsmodlist, &lt;br /&gt;
get/putnews, get/putobscene&lt;br /&gt;
&lt;br /&gt;
New command: *listban. Lists all active /*kill &amp;lt;minutes&amp;gt; bans with machine id,&lt;br /&gt;
time in seconds since ban was made, ban length in seconds&lt;br /&gt;
&lt;br /&gt;
New command: *removeban &amp;lt;machineid&amp;gt;. Removes a /*kill &amp;lt;minutes&amp;gt; ban&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.4 ----------------------------------&lt;br /&gt;
New command: /*ufo&lt;br /&gt;
&lt;br /&gt;
New command: /*super. If player isn&#039;t smod+ server will give data checksum&lt;br /&gt;
warnings&lt;br /&gt;
&lt;br /&gt;
New command: ?scorereset and 2 server.ini settings: Misc:AllowPubScorereset and&lt;br /&gt;
Misc:AllowPvtScorereset&lt;br /&gt;
&lt;br /&gt;
New command: *listmod - lists all mods+ in zone. SMod+ access is required for&lt;br /&gt;
this commad&lt;br /&gt;
&lt;br /&gt;
Fixed flag neuting: New server.ini setting Misc:TimerDropFlagTerritoryRadius&lt;br /&gt;
same as Flag:FlagTerritoryRadius, but will used only if flags are dropped when&lt;br /&gt;
timer expires. So, if you set Flag:FlagTerritoryRadius to 0 and &lt;br /&gt;
Misc:TimerDropFlagTerritoryRadius to 8 flags will be respawned on freq/ship&lt;br /&gt;
change&lt;br /&gt;
&lt;br /&gt;
Removed /*setfreq restrictions&lt;br /&gt;
&lt;br /&gt;
Fixed bug that caused occasional zone crashes&lt;br /&gt;
&lt;br /&gt;
----------------------------- version 1.34.3 ----------------------------------&lt;br /&gt;
? commands flooding protection (?chat macro)&lt;br /&gt;
&lt;br /&gt;
freq change flooding protection (=%freq macro in spec)&lt;br /&gt;
&lt;br /&gt;
New command: *specall - puts all players in arena to spec, but doesn&#039;t lock&lt;br /&gt;
them. Usual access restrictions apply: mods and smods cant spec sysops and mods&lt;br /&gt;
&lt;br /&gt;
New server.ini variable: Misc:NoAntiInSafe. If set to non-zero antiwarp is &lt;br /&gt;
disabled in safe zones&lt;br /&gt;
&lt;br /&gt;
New server.ini variable: Misc:LockFreqs. If set to non-zero freq changing when&lt;br /&gt;
arena is locked is disabled&lt;br /&gt;
&lt;br /&gt;
New server.ini variable: Misc:PositionDataAccess. Extra position data is really &lt;br /&gt;
information about the player ship. It is displayed to spectators in the top of&lt;br /&gt;
screen (energy, rockets, walls, portals, etc). Normally only sysops see it, but&lt;br /&gt;
it can be configured in server.cfg via Misc:ExtraPositionData so, that all&lt;br /&gt;
players see it. It is not recommended, because it increases bandwidth players&lt;br /&gt;
use about 50% thus increasing ping/packetloss. This variable controls, who see&lt;br /&gt;
extra data. 0 - only sysops, 1 - smod+, 2 - mod+. It is meaningful only if &lt;br /&gt;
Misc:ExtraPositionData is 0 in server.cfg&lt;br /&gt;
&lt;br /&gt;
New server.ini variable: Misc:AlertCommand. Replacement to BanG ?cheater&lt;br /&gt;
command. Players can type ?&amp;lt;Misc:AlertCommand&amp;gt; &amp;lt;text&amp;gt;, that &amp;lt;text&amp;gt; is sent to&lt;br /&gt;
all mods+ who are in the zone. Command is disabled, if value of this variable&lt;br /&gt;
is empty.&lt;br /&gt;
&lt;br /&gt;
Negative bounty fix. Negative bounty is ignored and will trigger red sysop&lt;br /&gt;
messages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Subgame]]&lt;br /&gt;
[[Category: Servers]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Arena.conf&amp;diff=5556</id>
		<title>Arena.conf</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Arena.conf&amp;diff=5556"/>
		<updated>2005-09-17T16:12:19Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: in&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The arena.conf file specifies all arena-specific [[:Category:Settings|settings]] for an arena. It resides in an arena&#039;s directory under /arenas, and usually includes other files, such as conf/svs/svs.conf using the #include directive. It is asss&#039;s equivalent of [[subgame]]&#039;s [[server.cfg]].&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Fg_wz_Module&amp;diff=3688</id>
		<title>Fg wz Module</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Fg_wz_Module&amp;diff=3688"/>
		<updated>2005-09-17T16:08:26Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: initial content. good format?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The fg_wz module creates a warzone-style flag game for asss, in which one team must own all flags to win. This is the equivalent of FlagMode 1 for [[subgame]]. It uses the [[Flag Settings]].&lt;br /&gt;
&lt;br /&gt;
Required modules:&lt;br /&gt;
*flagcore&lt;br /&gt;
*mapdata&lt;br /&gt;
*config&lt;br /&gt;
*logman&lt;br /&gt;
*prng&lt;br /&gt;
&lt;br /&gt;
[[Category:Standard Modules]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Bullet&amp;diff=3600</id>
		<title>Bullet</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Bullet&amp;diff=3600"/>
		<updated>2005-09-17T15:01:20Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: damage info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;bullet&#039;&#039;&#039; is a projectile fired by a ship&#039;s guns, one of the two standard weapons. (The bomb is the other.) Bullets normally disappear when they hit a tile or a ship, but they can be bouncing, which means that they will bounce off of tiles and only disappear when they damage a ship. Any type of bullets will disappear after a delay, specified in the arena&#039;s settings.&lt;br /&gt;
&lt;br /&gt;
Bullets are animated using bullets.bm2, which can be changed with an [[LVZ]]. The first four rows are for standard bullets, the next row is &amp;quot;inactive&amp;quot; [[Burst]] bullets, the next four are for bouncing, and the last is for bouncing [[Burst]] bullets.&lt;br /&gt;
&lt;br /&gt;
Bullets can either do constant or random damage as specified in the [[Bullet Settings]]. If set to random, then the damages specified there are only maximums and the client uses following formula to calculate damage: sqrt(rand() * (maxdamage&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;+1)). This makes the average bullet damage 2/3 * sqrt(maxdamage&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;+1).&lt;br /&gt;
&lt;br /&gt;
[[Category:Weapons]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Server_Troubleshooting&amp;diff=3639</id>
		<title>Server Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Server_Troubleshooting&amp;diff=3639"/>
		<updated>2005-09-17T14:50:18Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: level file close&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are the solutions to various problems that can occur with ASSS, Subgame, or both. If you are unfamiliar with INIs (INItialization files), please read the [[INI]] guide. Also, please use catid&#039;s [[SSBilling2]] instead of the usual [[subbill]] as the former uses less system resources and reports errors far more clearly.&lt;br /&gt;
&lt;br /&gt;
See also: [http://forums.minegoboom.com/viewtopic.php?p=22619 Solutions for Server/Biller Problems].&lt;br /&gt;
&lt;br /&gt;
== My Zone is Red ==&lt;br /&gt;
&lt;br /&gt;
The first step to take when your zone is red is to make sure you can use it through a custom zone. To do this, open the Zones dialog in Continuum, and click the &amp;quot;Add Custom Zone...&amp;quot; button. In the dialog that pops up, type in your zone&#039;s name, the port from Misc:Port, and 127.0.0.1 for the IP. (This will only work if you are playing on the same computer that is running subgame.) Then click ok to both dialogs, and find the manually added zone on the zones list and try entering. If you still cannot enter the zone, post on the [http://forums.minegoboom.com/ Server Help Forums] for more specific help.&lt;br /&gt;
&lt;br /&gt;
If you can get into the zone with the custom zone setup, now follow the instructions [http://forums.minegoboom.com/viewtopic.php?t=2443 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Billing/subgame communication issues. ==&lt;br /&gt;
The following are solutions to the common miscommunication problems between [[subgame]] and your [[Biller]]. &#039;&#039;&#039;It is assumed that you are hosting both the biller and subgame yourself.&#039;&#039;&#039; If you are not, the following advice &#039;&#039;may not be valid&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The subgame2 console says &#039;Client connection request from billing server ignored&#039; ===&lt;br /&gt;
You need to change the Billing:IP in server.ini to &amp;lt;tt&amp;gt;localhost&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;127.0.0.1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The subbill console says &#039;:  Unknown packet type: 36&#039; ===&lt;br /&gt;
You need to run the server and biller on different ports.&lt;br /&gt;
&lt;br /&gt;
subbill.ini:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Misc]&lt;br /&gt;
Port=900&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
server.ini:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Misc]&lt;br /&gt;
Port=382&lt;br /&gt;
&lt;br /&gt;
[Billing]&lt;br /&gt;
Port=900&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The Continuum window says &amp;quot;Not accepting new connections&amp;quot; ===&lt;br /&gt;
Set subbill.ini&#039;s Misc:AllowNewUsers to &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The subgame2 console repeats &amp;quot;Attempting to...&amp;quot; ===&lt;br /&gt;
You need to specify the correct IP and Port in the [Billing] section of server.ini. Make sure Billing:Port matches up with subbill.ini&#039;s Misc:Port (and both should be different from the server.ini&#039;s Misc:Port). If you are running your Biller on the same machine as subgame, set server.ini&#039;s Billing:IP to &amp;lt;tt&amp;gt;localhost&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The biller window says something about a &amp;quot;Bad Password&amp;quot; ===&lt;br /&gt;
Make sure server.ini&#039;s Billing:Password contains the same value as subbill.ini&#039;s Misc:Password.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The biller window displays &amp;quot;Invalid Login&amp;quot; ===&lt;br /&gt;
Make sure server.ini&#039;s Billing:GroupID is greater than 0. Unless you know how to setup billing GroupOps, it is recommended to leave this set to &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;. Also, make sure Billing:ScoreID and Billing:ServerID are set to the same value as Misc:Port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== No permission to play in zone ==&lt;br /&gt;
If Continuum reports &amp;quot;You do not have permission to play in this zone.&amp;quot; and subgame shows &amp;quot;Invalid login packet received&amp;quot;, then subgame is not reading your continuum executable correctly. Make sure you have a &amp;quot;version1&amp;quot; folder in the same folder as subgame with a copy of continuum.exe &#039;&#039;renamed as subspace.exe&#039;&#039; inside.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subgame closes almost immediately after execution ==&lt;br /&gt;
Most likely the file specified in Misc:DefaultLevelFile in [[server.ini]] is not present in the server directory. Make sure it is spelled correctly.&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Latency_Settings&amp;diff=3669</id>
		<title>Latency Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Latency_Settings&amp;diff=3669"/>
		<updated>2005-09-17T14:42:04Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: /* S2CNoDataKickoutDelay */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Latency] These settings determine how the server and clients treat latency (delay between packet sends and receives).&lt;br /&gt;
&lt;br /&gt;
=== SendRoutePercent === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Tenths of a percent (300 to 800).&lt;br /&gt;
&lt;br /&gt;
Percentage of the ping time that is spent on the ClientToServer portion of the ping. (Used in more accurately syncronizing clocks.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== KickOutDelay === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds (100 to 2000).&lt;br /&gt;
&lt;br /&gt;
Time the server can receive no data from a client before it kicks it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== S2CNoDataKickoutDelay ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds (100 to 32000).&lt;br /&gt;
&lt;br /&gt;
Time a client can receive no data from server before it automatically disconnects. This must be higher than the KeepAliveDelay specified in [[server.ini]].&lt;br /&gt;
&lt;br /&gt;
=== NoFlagDelay ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds (100 to 1000).&lt;br /&gt;
&lt;br /&gt;
If the server does not receive packets from a client for this amount of time, it denies them the ability to pick up flags. Use this setting to prevent players from taking advantage of lag to grab flags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== NoFlagPenalty ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds (300 to 32000).&lt;br /&gt;
&lt;br /&gt;
If a user triggers the above NoFlagDelay, the server will continue denying flag pickups for this long after it starts receiving packets again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SlowPacketTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds (20 to 200).&lt;br /&gt;
&lt;br /&gt;
The server will consider a C2S packet slow if it takes this long or longer to receive.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SlowPacketKickoutPercent ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Tenths of a percent (0 to 1000).&lt;br /&gt;
&lt;br /&gt;
The server will kick a client if this percentage of its C2S packets are slow. (See above setting.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SlowPacketSampleSize ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count (50 to 1000).&lt;br /&gt;
&lt;br /&gt;
Number of packets to sample C2S latency before checking for kickout. (See above setting.) Only in very rare cases will this need to be altered, so just leave it at its default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ClientSlowPacketTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds (20 to 200).&lt;br /&gt;
&lt;br /&gt;
The client will consider an S2C packet slow if it takes this long or longer to receive.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ClientSlowPacketKickoutPercent ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Tenths of a percent (0 to 1000).&lt;br /&gt;
&lt;br /&gt;
The client will automatically disconnect if this percentage of its S2C packets are slow. (See above setting.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ClientSlowPacketSampleSize ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count (50 to 1000).&lt;br /&gt;
&lt;br /&gt;
Number of packets to sample S2C latency before checking for kickout. (See above setting.) Only in very rare cases will this need to be altered, so just leave it at its default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxLatencyForWeapons ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds (20 to 200).&lt;br /&gt;
&lt;br /&gt;
Maximum C2S latency to allow before server disables a player&#039;s weapons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxLatencyForPrizes ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds (50 to 800).&lt;br /&gt;
&lt;br /&gt;
Maximum latency allowed before a shared prize packet is ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxLatencyForKickOut ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds (40 to 200).&lt;br /&gt;
&lt;br /&gt;
The server will consider a client lagging if its packet latency meets or exceeds this time. (See below setting.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LatencyKickOutTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds (300 to 3000).&lt;br /&gt;
&lt;br /&gt;
Time a client can lag before the server will kick it from the game. (See above setting.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CutbackWatermark ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count (500 to 32000).&lt;br /&gt;
&lt;br /&gt;
The server will cut back on packet sending by skipping non-critical packets if it sends this much data per second to a client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== C2SNoDataAction ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Sum (bitfield).&lt;br /&gt;
&lt;br /&gt;
Determines action(s) to take if above value is exceeded.&lt;br /&gt;
* 1=Display Sysop Warning&lt;br /&gt;
* 2=Spec Player&lt;br /&gt;
* 4=Kick&lt;br /&gt;
&lt;br /&gt;
=== C2SNoDataTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of a second.&lt;br /&gt;
&lt;br /&gt;
If above setting (C2SNoDataAction) is set, this is the delay that a player&#039;s ping can be maxed at during a position packet before server takes the action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== NegativeClientSlowPacketTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of a second.&lt;br /&gt;
&lt;br /&gt;
If a packet has a timestamp farther in the future than this, the server will consider it a slow packet. Feature is still experimental. &#039;&#039;Special Value:&#039;&#039; 0 = check disabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Settings]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Server.ini&amp;diff=3769</id>
		<title>Server.ini</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Server.ini&amp;diff=3769"/>
		<updated>2005-09-17T14:41:24Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: /* KeepAliveDelay */ typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;server.ini is the initialization file for [[subgame]] that controls all of the global settings. Individual arena&#039;s settings are stored in arenaname.cfg. The following are the various sections in the server.ini.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; margin-left: 20px&amp;quot;&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Validation ==&lt;br /&gt;
&lt;br /&gt;
See [[Validation]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom ==&lt;br /&gt;
These settings configure custom arenas. (I think?)&lt;br /&gt;
&lt;br /&gt;
=== ArenaMode ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Enumeration.&lt;br /&gt;
&lt;br /&gt;
This controls the ownership of private arenas. By &amp;quot;own a new subarena&amp;quot;, it means that if the selected level of player creates a new subarena with ?go, and the arena does not have settings associated yet, subgame will create settings for that arena and assign [[arena ownership|ownership]] to the creating player. If the player creating the arena is below the selected level, subgame will still create settings for the arena, but will not grant ownership.&lt;br /&gt;
#Any player can own a new subarena.&lt;br /&gt;
#Mods+ can own a new subarena.&lt;br /&gt;
#Smods+ can own a new subarena.&lt;br /&gt;
#Sysops can own a new subarena.&lt;br /&gt;
#&#039;&#039;Special:&#039;&#039; New subarenas will just use spawn.cfg. (That is, a new cfg must be placed in the server directory manually to give an arena its own settings.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arena ==&lt;br /&gt;
These settings configure default arena settings.&lt;br /&gt;
&lt;br /&gt;
=== ArenaMaxPlayers ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Number of players allowed in any arena. (This can be overridden in the [[Misc Settings]] for an arena.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ArenaDesiredPlayers ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Subgame will create a new arena for entering players once an arena hits this population. This is different from the above setting in that users can still manually enter an arena with this population.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ArenaMinimumPlayers ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Minimum number of players in a public arena before subgame automatically sends a message advising players to move on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SpawnKeepScores ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean (1=yes,0=no).&lt;br /&gt;
&lt;br /&gt;
Whether player-spawned arenas keep track of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxArenas ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
The maximum number of arenas subgame will allow.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxArenasMemory ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Bytes.&lt;br /&gt;
&lt;br /&gt;
The maximum amount of memory subgame will allocate for arena data. Normally the default should suffice.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comms ==&lt;br /&gt;
Communication (networking) settings.&lt;br /&gt;
&lt;br /&gt;
=== MaxQueueToLogin ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Maximum number of clients waiting to login. Any that try when this limit is exceeded will receive the message &amp;quot;The server is busy handling other login requests. Please try again in a few moments. If problem persists, seek help at the Tech Support Forums found at www.subspacehq.com&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PacketHistoryMax ===&lt;br /&gt;
&lt;br /&gt;
=== IncomingBufferSize ===&lt;br /&gt;
&lt;br /&gt;
=== OutgoingBufferSize ===&lt;br /&gt;
&lt;br /&gt;
=== EncryptMode ===&lt;br /&gt;
&lt;br /&gt;
=== UnreliableBufferSize ===&lt;br /&gt;
&lt;br /&gt;
=== TransportBufferSize ===&lt;br /&gt;
&lt;br /&gt;
=== FlushTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Milliseconds.&lt;br /&gt;
&lt;br /&gt;
Subgame will queue position packets for this amount of time before sending them. &#039;&#039;Setting this too high will severly lag your zone.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BandwithIdleTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Seconds.&lt;br /&gt;
&lt;br /&gt;
Subgame will stop sending position packets to a spectator after this time of inactivity. Useful for saving bandwidth.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SelectTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Milliseconds.&lt;br /&gt;
&lt;br /&gt;
Time delay subgame should wait for incoming packets before continuing on. This is recommended over CPU:SleepTime.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
Miscellaneous settings. (Some of these should really go elsewhere.)&lt;br /&gt;
&lt;br /&gt;
=== DisableShareware ===&lt;br /&gt;
&lt;br /&gt;
=== RegisterKickShareware ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Should subgame kick shareware users in favor of registered users when server is full? (Leave set to 0.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxSharewarePlayers ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Maximum number of shareware players allowed on server. &#039;&#039;Special Value:&#039;&#039; -1 = unlimited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxPlayers ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Maximum total players allowed in zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxSharewareTime ===&lt;br /&gt;
&lt;br /&gt;
=== DisableSharewareNames ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Disables the ability for demo players to have customized names. The default displayed name will just be &amp;quot;~Demo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DisableSharewareShips ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Disables the ability for demo players to use ships 5-8.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DisableSharewareScores ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Disables the ability for demo players to retain their scores between sessions. &#039;&#039;Note:&#039;&#039; Scores will always be disabled if the players do not have a name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MenuKickOutDelay ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds.&lt;br /&gt;
&lt;br /&gt;
Amount of time a player may take logging in before server disconnects client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== NoAntiInSafe ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, subgame will ignore [[AntiWarp]] of a player in a safe zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LockFreqs ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Determines whether [[Commands#Arena Management|locking]] an arena locks freqs as well as ships. (1.34.3+)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PositionDataAccess ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Enumeration.&lt;br /&gt;
&lt;br /&gt;
Determines staff level that will receive extra position data when speccing. Useful if [[Misc Settings#ExtraPositionData]] is disabled.&lt;br /&gt;
*0=Sysop (default)&lt;br /&gt;
*1=SMod+&lt;br /&gt;
*2=Mod+&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AlertCommand ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Comma-delimited list.&lt;br /&gt;
&lt;br /&gt;
If a player types any of these commands preceeded by a &#039;?&#039; followed by a message, subgame will send the message to all online staff. This is a replacement to the BanG ?cheater command. (1.34.3+)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AllowPubScorereset ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, players in public arenas may use the ?scorereset command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AllowPvtScorereset ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, players in private arenas may use the ?scorereset command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TimerDropFlagTerritoryRadius ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Tiles.&lt;br /&gt;
&lt;br /&gt;
All flags dropped when timer expires (non-neutral) will drop this radius from the ship, overriding [[Flag Settings#FlagTerritoryRadius]]. This is useful for respawning neuted flags (set FlagTerritoryRadius to 0). &#039;&#039;Special value:&#039;&#039; 0 = always use FlagTerritoryRadius.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ShipTypeSwitchResetPeriod ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Milliseconds (?).&lt;br /&gt;
&lt;br /&gt;
Determines length of time for [[Security Settings#MaxShipTypeSwitchCount]]. &#039;&#039;Special Value:&#039;&#039; 0 = disabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CheckWeapons ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, any of the following conditions will trigger a security violation. The checks do not apply to SMod+.&lt;br /&gt;
* Bullet fired with level &amp;gt; [ship]MaxGuns + [Flag]FlaggerGunUpgrade&lt;br /&gt;
* Bouncing bullet fired and [PrizeWeight]BouncingBullets is 0 and [Cost]Bounce  is 0&lt;br /&gt;
* Bomb fired with level &amp;gt; [ship]MaxBombs + [Flag]FlaggerBombUpgrade&lt;br /&gt;
* Prox bomb fired and [PrizeWeight]Proximity is 0 and [Cost]Prox is 0&lt;br /&gt;
* Bomb fired with shrap &amp;gt; [ship]ShrapnelMax&lt;br /&gt;
* Bomb fired with bouncing shrap and [PrizeWeight]BouncingBullets is 0 and  [Cost]Bounce is 0&lt;br /&gt;
* Mine is fired and [ship]MaxMines is 0&lt;br /&gt;
* A prize is picked up and [PrizeWeight] of that prize is 0&lt;br /&gt;
* Stealth is turned on and [ship]StealthStatus is 0&lt;br /&gt;
* Cloak is turned on and [ship]CloakStatus is 0&lt;br /&gt;
* XRadar is turned on and [ship]XRadarStatus is 0&lt;br /&gt;
* Anti-Warp is turned on and [ship]AntiWarpStatus is 0&lt;br /&gt;
* Player uses UFO&lt;br /&gt;
&lt;br /&gt;
=== CheckFastBombing ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Bitfield.&lt;br /&gt;
&lt;br /&gt;
*1 - Send sysop alert when fastbombing is detected&lt;br /&gt;
*2 - Filter out fastbombs&lt;br /&gt;
*4 - Kick fastbombing player off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FastBombingThreshold ===&lt;br /&gt;
See above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LocalChat ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Comma-delimited list.&lt;br /&gt;
&lt;br /&gt;
Listed chat channels are local to the zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ForceObsceneCheck ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Forces players to have obscene checking on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== NoFlagRewardLimit ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Disables the default reward multiplier limit of 2 for [[Flag Settings#FlagRewardMode]].&lt;br /&gt;
&lt;br /&gt;
=== LogPoints ===&lt;br /&gt;
=== PointUpdateDiff ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Points.&lt;br /&gt;
&lt;br /&gt;
Number of points that will trigger a score update sent to clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== JackpotBroadcastPoints ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, subgame will broadcast the jackpot points to all zones on the [[billing server]]. Not recommended.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ServerLog ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, server will keep a text file log of events.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== KeepAliveDelay ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Milliseconds.&lt;br /&gt;
&lt;br /&gt;
Delay between keepalive packets sent to clients. Should not be changed.&lt;br /&gt;
&lt;br /&gt;
=== DefaultLevelFile ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; String.&lt;br /&gt;
&lt;br /&gt;
Level file (such as _bzw.lvl) that zone will use for public arenas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Port ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Short.&lt;br /&gt;
&lt;br /&gt;
Game port that subgame will user. Keep it above 1000 to avoid interference with other networking applications. This needs to be different for every zone running on the same server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AllowVIEClients ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Determines whether VIE [[SubSpace]] users are allowed to enter zone at all.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== StaffChat ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Comma-delimited list.&lt;br /&gt;
&lt;br /&gt;
These chat channels are only joinable by Mods+.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ForceContinuumOnly ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Determines whether only [[Continuum]] users are allowed to play.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ServerIP ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; IP Address.&lt;br /&gt;
&lt;br /&gt;
WAN IP address of server computer. This can be found using http://www.whatismyip.com/ (easiest), ipconfig, or a router&#039;s status page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CPU ==&lt;br /&gt;
These settings determine subgame&#039;s CPU usage. Usually it performs well, so these should not be changed.&lt;br /&gt;
&lt;br /&gt;
=== LoopDelay ===&lt;br /&gt;
=== ProcessMaxTime ===&lt;br /&gt;
=== SleepPerIteration ===&lt;br /&gt;
=== SlowIterationWarningLevel ===&lt;br /&gt;
=== SleepTime ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Permission ==&lt;br /&gt;
These settings restrict which clients may connect to your zone.&lt;br /&gt;
&lt;br /&gt;
=== AllowBadMachineId ===&lt;br /&gt;
=== AllowLowBandwidth ===&lt;br /&gt;
=== MinimumSecondsToLogin ===&lt;br /&gt;
=== PermissionMaxPoints ===&lt;br /&gt;
=== PermissionMode ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, only allows player names listed in permit.txt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AutoPermissionPoints ===&lt;br /&gt;
=== AutoPermissionIDList ===&lt;br /&gt;
=== AutoPermissionMessage ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Password ==&lt;br /&gt;
Passwords for various player levels. Change to your heart&#039;s content.&lt;br /&gt;
&lt;br /&gt;
=== SysopPassword ===&lt;br /&gt;
=== EnergyPassword ===&lt;br /&gt;
=== ModeratorPassword ===&lt;br /&gt;
=== SuperModeratorPassword ===&lt;br /&gt;
=== VIPPassword ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Billing ==&lt;br /&gt;
Configures subgame&#039;s interaction with the [[biller]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LogMessages ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Enables &amp;quot;logging&amp;quot; of commands to the biller. It is recommended to turn this off, as it normally just wastes bandwidth.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== IP ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; IP/DNS address.&lt;br /&gt;
&lt;br /&gt;
The address of the biller. If you are running the biller on the same computer as subgame, set this to &amp;lt;tt&amp;gt;localhost&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Password ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; String.&lt;br /&gt;
&lt;br /&gt;
The password to connect to the biller. Normally, this should be the same as subbill.ini&#039;s Misc:Password.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ServerName ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; String.&lt;br /&gt;
&lt;br /&gt;
The name of the zone that will be sent to the biller upon connection. This will also be sent to the directory server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Port ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Integer.&lt;br /&gt;
&lt;br /&gt;
The port to connect to the biller, which should be equal to subbill.ini&#039;s Misc:Port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ServerId ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Integer.&lt;br /&gt;
&lt;br /&gt;
The ServerID sent to the biller. This is not often used and should be equal to Misc:Port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== GroupId ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Integer.&lt;br /&gt;
&lt;br /&gt;
The group this server will join on the biller. This has to do with group operators, and is recommended to leave set to &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ScoreId ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Integer.&lt;br /&gt;
&lt;br /&gt;
The ScoreID of the server which the biller will use to identify your server between connections. This should normally be the same as Misc:Port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ReconnectTime ===&lt;br /&gt;
Seems to have no effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AttemptTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds.&lt;br /&gt;
&lt;br /&gt;
How long subgame will attempt unsuccessfully to connect to the biller before it gives up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advertise ==&lt;br /&gt;
These settings control subgame&#039;s built-in advertisement capability. To use advertisements, just create bitmaps in the SS Palette and save them in the subgame directory as ad0.bmp,ad1.bmp, etc. Prefix the name with &amp;quot;s_&amp;quot; to send to shareware players, with &amp;quot;r_&amp;quot; to send to registered players, and &amp;quot;b_&amp;quot; to send to both. For example, &amp;quot;b_ad0.bmp&amp;quot;. Subgame will then randomly pick advertisements to display to players.&lt;br /&gt;
&lt;br /&gt;
=== SendMode ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Sum (bitfield).&lt;br /&gt;
&lt;br /&gt;
Determines when advertisements are sent.&lt;br /&gt;
*1 = send them when the player enters the zone.&lt;br /&gt;
*2 = send them when player dies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DisplayMode ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Enumeration.&lt;br /&gt;
&lt;br /&gt;
*0 = at top of screen behind all other graphics.&lt;br /&gt;
*1 = at top of screen on top of all other graphics.&lt;br /&gt;
*2 = floating around like a backdrop.&lt;br /&gt;
&lt;br /&gt;
=== Duration ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Milliseconds.&lt;br /&gt;
&lt;br /&gt;
Length of time an advertisement is displayed. &#039;&#039;Special Value:&#039;&#039; 0 = always on.&lt;br /&gt;
&lt;br /&gt;
== Directory ==&lt;br /&gt;
These settings configure subgame&#039;s interaction with the [[directory server]].&lt;br /&gt;
&lt;br /&gt;
=== IP ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; IP/DNS list.&lt;br /&gt;
&lt;br /&gt;
List of directory servers subgame will send its entry to. As of 24 May 2005, the following list is recommended:&lt;br /&gt;
&amp;lt;pre&amp;gt;sscentral.ds98.com,sscentral.subspace.inet.fi,sscentral.subspacehq.com&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; String.&lt;br /&gt;
&lt;br /&gt;
This description will be sent to the directory server to be associated with your zone. Include an ss:// DNS address to have Continuum keep your IP up to date.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== NamePassword ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; String.&lt;br /&gt;
&lt;br /&gt;
The password associated with the zone&#039;s server prefix. All zones with the same prefix must have the same NamePassword or the Directory server will not list them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Port ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Integer.&lt;br /&gt;
&lt;br /&gt;
Leave this set to &amp;lt;tt&amp;gt;4991&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Door&amp;diff=5147</id>
		<title>Door</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Door&amp;diff=5147"/>
		<updated>2005-09-17T14:39:11Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: and asss&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[door]] is an instance of any of eight special tiles on a map. The tiles will either stay in one state or switch randomly, depending on the settings. Door tiles on the right switch less often than those on the left if the doors are in weighted random mode. See [[Door Sync]] for detailed information on the state switching.&lt;br /&gt;
&lt;br /&gt;
To configure doors in both [[Subgame]] and [[ASSS]], see [[Door Settings]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Map]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Super&amp;diff=3668</id>
		<title>Super</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Super&amp;diff=3668"/>
		<updated>2005-09-17T04:10:27Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: initial content&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Super is different from the prize displayed as &amp;quot;Temporary Superpower&amp;quot;. Super upgrades a ship&#039;s weapons to L3, upgrades thrust, speed, and recharge, and gives it max energy. The following exact setting changes occur (for the one ship only):&lt;br /&gt;
*Bullet and Bomb fire delays = 10&lt;br /&gt;
*Bomb thrust = 0&lt;br /&gt;
*Bullet and Bomb fire energies = 0&lt;br /&gt;
*Maximum Burst, Repel, Decoy, Thor, Brick, Rocket, and Portal = 255&lt;br /&gt;
*99% of damage is cancelled.&lt;br /&gt;
&lt;br /&gt;
Super continues its effects until the player leaves the arena. A supered, non-sysop player will most likely be kicked for security violations.&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Shipinfo.dat&amp;diff=5553</id>
		<title>Shipinfo.dat</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Shipinfo.dat&amp;diff=5553"/>
		<updated>2005-09-17T04:04:33Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: initial content&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shipinfo.dat is a file that can be included in an arena&#039;s levelfiles to customize the ships. Ship images can be replaced on the menu with ships.bm2. A user can enable this with the &amp;quot;Zone-Specific Ships&amp;quot; option on the &amp;quot;Menu&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
== Format of shipinfo.dat ==&lt;br /&gt;
&lt;br /&gt;
*Blank lines and those starting with semicolons are ignored.&lt;br /&gt;
*Leading and trailing spaces are removed.&lt;br /&gt;
*All lines must appear in the order stated below.&lt;br /&gt;
*Use * by itself as a placeholder for the default text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; 8 ship names in normal order (max 16 chars).&lt;br /&gt;
&lt;br /&gt;
Warbird&lt;br /&gt;
Javelin&lt;br /&gt;
Spider&lt;br /&gt;
Leviathan&lt;br /&gt;
Terrier&lt;br /&gt;
Weasel&lt;br /&gt;
Lancaster&lt;br /&gt;
Shark&lt;br /&gt;
&lt;br /&gt;
; 8 ship descriptions for menu mouse-over.&lt;br /&gt;
; Max is 255 chars, but may be clipped by skin.&lt;br /&gt;
; Use * by itself here will use the ship name(s)&lt;br /&gt;
; defined above as &amp;quot;Select ship: .&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Select ship: Warbird.&lt;br /&gt;
Select ship: Javelin.&lt;br /&gt;
Select ship: Spider.&lt;br /&gt;
Select ship: Leviathan.&lt;br /&gt;
Select ship: Terrier.&lt;br /&gt;
Select ship: Weasel.&lt;br /&gt;
Select ship: Lancaster.&lt;br /&gt;
Select ship: Shark.&lt;br /&gt;
&lt;br /&gt;
; Spectator description for menu mouse-over.&lt;br /&gt;
; Max is 255 chars, but may be clipped by skin.&lt;br /&gt;
&lt;br /&gt;
Spectate (watch the game).&lt;br /&gt;
&lt;br /&gt;
; Ship box description for menu mouse-over.&lt;br /&gt;
; Max is 255 chars, but may be clipped by skin.&lt;br /&gt;
&lt;br /&gt;
Select one of eight ships to fly, or be a spectator. You can always change your mind while in the game&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Door&amp;diff=3594</id>
		<title>Door</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Door&amp;diff=3594"/>
		<updated>2005-09-17T03:52:36Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: door sync&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;door&#039;&#039;&#039; is an instance of any of 8 special tiles on a map. The tiles will either stay in one state or switch randomly, depending on the settings. Door tiles on the right switch less often than those on the left if the doors are in weighted random mode. See [[Door Sync]] for detailed information on the state switching.&lt;br /&gt;
&lt;br /&gt;
To configure doors in [[Subgame]], see [[Door Settings]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Map]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Door_Settings&amp;diff=4054</id>
		<title>Door Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Door_Settings&amp;diff=4054"/>
		<updated>2005-09-17T03:51:35Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: wikilink&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Door] Settings for [[door]]s in an arena.&lt;br /&gt;
&lt;br /&gt;
=== DoorDelay ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds.&lt;br /&gt;
 &lt;br /&gt;
How often doors attempt to switch their state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DoorMode === &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Bitfield.&lt;br /&gt;
&lt;br /&gt;
Each bit of this field determines whether its represented door is open or not. The 8 bits, from left to right, represent the 8 door tiles in the tileset, from left to right.&lt;br /&gt;
&lt;br /&gt;
Special values:&lt;br /&gt;
*-1=weighted random (doors place with &lt;br /&gt;
*-2=completely random&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Settings]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Core_Protocol&amp;diff=3686</id>
		<title>Core Protocol</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Core_Protocol&amp;diff=3686"/>
		<updated>2005-09-13T03:22:26Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: capitalization&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This protocol is UDP and bi-directional. It can be thought of as another layer within an application&#039;s network layer. [[Subgame]], [[ASSS]], [[Continuum]], VIE&#039;s [[SubSpace]] client, the [[Directory server]], and the [[Billing Server]] utilize this protocol, though [[Grelminar]] has designed a TCP Billing Server protocol.&lt;br /&gt;
&lt;br /&gt;
There is support for reliable ordered packets, large packets and cluster packets.&lt;br /&gt;
&lt;br /&gt;
*The maximum packet size is 520 bytes&lt;br /&gt;
*All integers are little endian&lt;br /&gt;
*All core packets begin with the type byte 0x00&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0x01 login&lt;br /&gt;
offset size comment&lt;br /&gt;
0      1    type 0x00&lt;br /&gt;
1      1    type 0x01&lt;br /&gt;
2      4    client key&lt;br /&gt;
6      2    protocol version (vie = 0x01, ctm = 0x11)&lt;br /&gt;
&lt;br /&gt;
0x02 login response&lt;br /&gt;
offset size comment&lt;br /&gt;
0      1    type 0x00&lt;br /&gt;
1      1    type 0x02&lt;br /&gt;
2      4    ~client key (negative)&lt;br /&gt;
&lt;br /&gt;
0x03 reliable header&lt;br /&gt;
offset size comment&lt;br /&gt;
0      1    type 0x00&lt;br /&gt;
1      1    type 0x03&lt;br /&gt;
2      4    packet id&lt;br /&gt;
6      ?    payload (514 max)&lt;br /&gt;
&lt;br /&gt;
0x04 reliable acknowledge&lt;br /&gt;
offset size comment&lt;br /&gt;
0      1    type 0x00&lt;br /&gt;
1      1    type 0x04&lt;br /&gt;
2      4    packet id&lt;br /&gt;
&lt;br /&gt;
0x05 sync&lt;br /&gt;
offset size comment&lt;br /&gt;
0      1    type 0x00&lt;br /&gt;
1      1    type 0x05&lt;br /&gt;
2      4    local time&lt;br /&gt;
6      4    packets sent&lt;br /&gt;
10     4    packets received&lt;br /&gt;
&lt;br /&gt;
0x06 sync response&lt;br /&gt;
offset size comment&lt;br /&gt;
0      1    type 0x00&lt;br /&gt;
1      1    type 0x06&lt;br /&gt;
2      4    time from last received 0x05 packet&lt;br /&gt;
6      4    server time&lt;br /&gt;
&lt;br /&gt;
0x07 disconnect&lt;br /&gt;
offset size comment&lt;br /&gt;
0      1    type 0x00&lt;br /&gt;
1      1    type 0x07&lt;br /&gt;
&lt;br /&gt;
0x08 small chunk&lt;br /&gt;
offset size comment&lt;br /&gt;
0      1    type 0x00&lt;br /&gt;
1      1    type 0x08&lt;br /&gt;
2      ?    payload (expect 472 max)&lt;br /&gt;
keep appending payloads until 0x09 chunk tail is received&lt;br /&gt;
&lt;br /&gt;
0x09 chunk tail&lt;br /&gt;
offset size comment&lt;br /&gt;
0      1    type 0x00&lt;br /&gt;
1      1    type 0x09&lt;br /&gt;
2      ?    payload (expect 472 or less)&lt;br /&gt;
append this payload then process contents as a non-core packet&lt;br /&gt;
&lt;br /&gt;
0x0A stream&lt;br /&gt;
offset size comment&lt;br /&gt;
0      1    type 0x00&lt;br /&gt;
1      1    type 0x0A&lt;br /&gt;
2      4    total length of all segments&lt;br /&gt;
6      ?    payload (expect 468 max)&lt;br /&gt;
keep appending payloads until total length is reached then process contents as&lt;br /&gt;
a non-core packet.&lt;br /&gt;
&lt;br /&gt;
0x0B cancel stream request&lt;br /&gt;
offset size comment&lt;br /&gt;
0      1    type 0x00&lt;br /&gt;
1      1    type 0x0B&lt;br /&gt;
&lt;br /&gt;
0x0C cancel stream acknowledge&lt;br /&gt;
offset size comment&lt;br /&gt;
0      1    type 0x00&lt;br /&gt;
1      1    type 0x0C&lt;br /&gt;
&lt;br /&gt;
0x0E cluster&lt;br /&gt;
offset size comment&lt;br /&gt;
0      1    type 0x00&lt;br /&gt;
1      1    type 0x0E&lt;br /&gt;
2      1    length&lt;br /&gt;
3      ?    payload with length as above&lt;br /&gt;
packet repeats from offset 2 until end, process contents as arbitrary packet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Protocol]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Ship_Settings&amp;diff=3739</id>
		<title>Ship Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Ship_Settings&amp;diff=3739"/>
		<updated>2005-09-13T03:14:44Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: shipinfo.dat link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[Warbird] [Javelin] [Spider] [Leviathan] [Terrier] [Weasel] [Lancaster] [Shark]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
These settings determine the properties of each of the eight ships. These go in an arena&#039;s .[[cfg file]] for [[subgame]] and in [[arena.conf]] for [[ASSS]]. Ship names themselves can be changed with [[shipinfo.dat]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; margin-left: 20px; margin-bottom: 20px&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== InitialRotation ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; 90&amp;amp;deg;/ second / 100 (That is, 400 for a full rotation in 1s).&lt;br /&gt;
&lt;br /&gt;
Initial rotation rate of the ship.&lt;br /&gt;
&lt;br /&gt;
=== InitialThrust ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Unknown.&lt;br /&gt;
&lt;br /&gt;
Initial thrust of ship.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== InitialSpeed ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Pixels / second / 10.&lt;br /&gt;
&lt;br /&gt;
Initial speed of ship. Note that 0 will prevent the ship from moving without afterburners or a speed upgrade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== InitialRecharge ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy / second / 10.&lt;br /&gt;
&lt;br /&gt;
Initial recharge rate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== InitialEnergy ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy.&lt;br /&gt;
&lt;br /&gt;
Initial amount of energy that the ship can have.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaximumRotation ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; 90&amp;amp;deg;/(seconds / 100) (That is, 400 for a full rotation in 1s).&lt;br /&gt;
&lt;br /&gt;
Maximum (with upgrades) rotation rate of the ship.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaximumThrust ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Unknown.&lt;br /&gt;
&lt;br /&gt;
Maximum (with upgrades) thrust of ship.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaximumSpeed === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Pixels / seconds / 10.&lt;br /&gt;
&lt;br /&gt;
Maximum (with upgrades) speed of ship.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaximumRecharge === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy / seconds / 10. (That is, 10 means 1 energy per second.)&lt;br /&gt;
&lt;br /&gt;
Maximum (with upgrades) recharge rate, or how quickly this ship recharges its energy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaximumEnergy === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Unknown.&lt;br /&gt;
&lt;br /&gt;
Maximum (with upgrades) amount of energy that the ship can have.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UpgradeRotation ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; 90&amp;amp;deg;/(seconds / 100) (That is, 400 for a full rotation in 1s).&lt;br /&gt;
&lt;br /&gt;
Amount added per Rotation Upgrade Prize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UpgradeThrust ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Unknown.&lt;br /&gt;
&lt;br /&gt;
Amount added per Thruster Upgrade Prize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UpgradeSpeed ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Pixels / seconds / 10.&lt;br /&gt;
&lt;br /&gt;
Amount added per Speed Upgrade Prize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UpgradeRecharge === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039;Energy / seconds / 10..&lt;br /&gt;
&lt;br /&gt;
Amount added per Recharge Upgrade Prize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UpgradeEnergy === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy.&lt;br /&gt;
&lt;br /&gt;
Amount added per Energy Upgrade Prize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CloakStatus ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Enumeration.&lt;br /&gt;
&lt;br /&gt;
Whether ships can to receive [[Cloak]].&lt;br /&gt;
* 0 = no&lt;br /&gt;
* 1 = yes&lt;br /&gt;
* 2 = yes &amp;amp; starts with prize&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== StealthStatus === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Enumeration.&lt;br /&gt;
&lt;br /&gt;
Whether ships can to receive [[Stealth]].&lt;br /&gt;
* 0 = no&lt;br /&gt;
* 1 = yes&lt;br /&gt;
* 2 = yes &amp;amp; starts with prize&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== XRadarStatus === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Enumeration.&lt;br /&gt;
&lt;br /&gt;
Whether ships can to receive [[X-Radar]].&lt;br /&gt;
* 0 = no&lt;br /&gt;
* 1 = yes&lt;br /&gt;
* 2 = yes &amp;amp; starts with prize&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AntiWarpStatus === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Enumeration.&lt;br /&gt;
&lt;br /&gt;
Whether ships can receive [[AntiWarp]].&lt;br /&gt;
* 0 = no&lt;br /&gt;
* 1 = yes&lt;br /&gt;
* 2 = yes &amp;amp; starts with prize&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CloakEnergy ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy / second / 10 (0 to 32000).&lt;br /&gt;
&lt;br /&gt;
Amount of energy required to have &#039;&#039;&#039;Cloak&#039;&#039;&#039; activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== StealthEnergy === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy / second / 10 (0 to 32000).&lt;br /&gt;
&lt;br /&gt;
Amount of energy required to have &#039;&#039;&#039;Stealth&#039;&#039;&#039; activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== XRadarEnergy === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy / second / 10 (0 to 32000).&lt;br /&gt;
&lt;br /&gt;
Amount of energy required to have &#039;&#039;&#039;X-Radar&#039;&#039;&#039; activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AntiWarpEnergy === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy / second / 10 (0 to 32000).&lt;br /&gt;
&lt;br /&gt;
Amount of energy required to have &#039;&#039;&#039;Anti-Warp&#039;&#039;&#039; activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== InitialRepel ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
[[Repel]]s given to ships when they spawn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== InitialBurst === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
[[Burst]]s given to ships when they spawn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== InitialBrick === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
[[Brick]]s given to ships when they spawn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== InitialRocket === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
[[Rocket]]s given to ships when they spawn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== InitialThor === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
[[Thor&#039;s Hammer]]s given to ships when they spawn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== InitialDecoy === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
[[Decoy]]s given to ships when they spawn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== InitialPortal === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
[[Portal]]s given to ships when they spawn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== InitialGuns ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Weapon level (0 to 3).&lt;br /&gt;
&lt;br /&gt;
[[Bullet|Gun]] level given to ships at respawn. Note that a ship cannot start with L4 guns.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== InitialBombs === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Weapon level (0 to 3).&lt;br /&gt;
&lt;br /&gt;
[[Bomb]] level given to ships at respawn. Note that a ship cannot start with L4 bombs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RepelMax ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Maximum &#039;&#039;&#039;Repels&#039;&#039;&#039; a ship can store. Any Repel prizes after this will be ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BurstMax === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Maximum &#039;&#039;&#039;Bursts&#039;&#039;&#039; a ship can store. Any Repel prizes after this will be ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DecoyMax === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Maximum &#039;&#039;&#039;Decoys&#039;&#039;&#039; a ship can store. Any Repel prizes after this will be ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RocketMax === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Maximum &#039;&#039;&#039;Rockets&#039;&#039;&#039; a ship can store. Any Repel prizes after this will be ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ThorMax === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Maximum &#039;&#039;&#039;Thor&#039;s Hammers&#039;&#039;&#039; a ship can store. Any Repel prizes after this will be ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BrickMax === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Maximum &#039;&#039;&#039;Bricks&#039;&#039;&#039; a ship can store. Any Repel prizes after this will be ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PortalMax === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Maximum &#039;&#039;&#039;Portals&#039;&#039;&#039; a ship can store. Any Repel prizes after this will be ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxGuns ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Weapon level (0 to 3).&lt;br /&gt;
&lt;br /&gt;
Maximum &#039;&#039;&#039;gun&#039;&#039;&#039; level a ship can have. Note that a ship cannot have L4 guns without a flag upgrade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxBombs === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Weapon level (0 to 3).&lt;br /&gt;
&lt;br /&gt;
Maximum &#039;&#039;&#039;bomb&#039;&#039;&#039; level a ship can have. Note that a ship cannot have L4 bombs without a flag upgrade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BulletFireEnergy ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy.&lt;br /&gt;
&lt;br /&gt;
Base energy it takes a ship to fire a bullet. &#039;&#039;Formula:&#039;&#039; EnergyUsed = GunLevel * BulletFireEnergy. So this setting is for an L1 bullet, and is doubled for L2, and so on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BulletSpeed ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Pixels / second / 10.&lt;br /&gt;
&lt;br /&gt;
How fast bullets travel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BulletFireDelay ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Seconds / 100.&lt;br /&gt;
&lt;br /&gt;
Delay before a ship can fire another weapon after it fires a bullet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MultiFireEnergy ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy.&lt;br /&gt;
&lt;br /&gt;
Energy it takes a ship to fire a set of multifire bullets. &#039;&#039;Formula:&#039;&#039; EnergyUsed = GunLevel * MultiFireEnergy.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MultiFireDelay ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Seconds / 100.&lt;br /&gt;
&lt;br /&gt;
Delay before a ship can fire another weapon after it fires a set of multifire bullets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MultiFireAngle ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Rotation Points / 1000. (&#039;&#039;Note:&#039;&#039; One rotation point equals approximately 9&amp;amp;deg;.)&lt;br /&gt;
&lt;br /&gt;
Angle spread between multi-fire bullets and standard forward-firing bullets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DoubleBarrel ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean (1=yes, 0=no).&lt;br /&gt;
&lt;br /&gt;
Whether ships fire double-barrel bullets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BombFireEnergy ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy.&lt;br /&gt;
&lt;br /&gt;
Amount of energy it takes a ship to fire a bomb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BombFireEnergyUpgrade ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy.&lt;br /&gt;
&lt;br /&gt;
Extra energy it takes a ship to fire an upgraded bomb. &#039;&#039;Formula:&#039;&#039; EnergyUsed = BombFireEnergy + (BombLevel - 1) * BombFireEnergyUpgrade.&lt;br /&gt;
&lt;br /&gt;
=== BombThrust ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Unknown.&lt;br /&gt;
&lt;br /&gt;
Amount of back-thrust (recoil) this ship receives when firing a bomb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BombBounceCount ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Times a bomb fired by this ship can bounce before it explodes on impact&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BombSpeed ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Pixels / seconds / 10.&lt;br /&gt;
&lt;br /&gt;
How fast bombs fired by this ship travel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BombFireDelay ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Seconds / 100.&lt;br /&gt;
&lt;br /&gt;
Delay before this ship can fire another weapon after it fires a bomb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EmpBomb ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean (1=yes, 0=no).&lt;br /&gt;
&lt;br /&gt;
Whether this ship fires EMP bombs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SeeBombLevel ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Weapon Level (0 to 4).&lt;br /&gt;
&lt;br /&gt;
Lowest level of bombs this ship can see on radar. &#039;&#039;Special Value:&#039;&#039; 0 = no bombs on radar. (Continuum .36+)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxMines ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Maximum number of mines this ship can place.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SeeMines ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean (1=yes, 0=no).&lt;br /&gt;
&lt;br /&gt;
Whether ships see mines on radar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LandmineFireEnergy ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy.&lt;br /&gt;
&lt;br /&gt;
Energy it takes this ship to place an L1 mine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LandmineFireEnergyUpgrade ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy.&lt;br /&gt;
&lt;br /&gt;
Extra energy it takes to place an upgraded landmine. &#039;&#039;Formula:&#039;&#039; EnergyUsed = LandmineFireEnergy + (BombLevel - 1) * LandmineFireEnergyUpgrade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LandmineFireDelay ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Seconds / 100.&lt;br /&gt;
&lt;br /&gt;
Delay before a ship can fire another weapon after it drops a landmine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ShrapnelMax ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count (0 to 31).&lt;br /&gt;
&lt;br /&gt;
Maximum shrapnel pieces released from this ship&#039;s bombs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ShrapnelRate === &lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count (0 to 31).&lt;br /&gt;
&lt;br /&gt;
Additional shrapnel pieces gained by a &#039;Shrapnel Upgrade&#039; prize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BurstSpeed ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Pixels / seconds / 10.&lt;br /&gt;
&lt;br /&gt;
How fast the burst &amp;quot;shrapnel&amp;quot; move for this ship.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BurstShrapnel ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Burst shrapnel released when this ship fires a [[Burst]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TurretThrustPenalty ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Unknown.&lt;br /&gt;
&lt;br /&gt;
This ship&#039;s thrust is decreased this much when a turret it riding.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TurretSpeedPenalty ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Pixels / second / 10.&lt;br /&gt;
&lt;br /&gt;
This ship&#039;s speed is decreased this much when a turret it riding.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TurretLimit ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Number of turrets allowed on this ship.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RocketTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Seconds / 100.&lt;br /&gt;
&lt;br /&gt;
How long a [[Rocket]] lasts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== InitialBounty ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Number of prizes given to this ship when it spawns.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AttachBounty ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Points.&lt;br /&gt;
&lt;br /&gt;
Bounty required by ships to attach to another ship to form a turret.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AfterburnerEnergy ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy.&lt;br /&gt;
&lt;br /&gt;
Energy required to have &#039;Afterburners&#039; activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DisableFastShooting ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean (1=yes, 0=no).&lt;br /&gt;
&lt;br /&gt;
Whether firing bullets, bombs, or thors is disabled after using afterburners. (Continuum .36+)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Radius ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Pixels.&lt;br /&gt;
&lt;br /&gt;
The ship&#039;s radius from center to outside. &#039;&#039;Special Value:&#039;&#039; 0 = 14 pixels. (Continuum .37+)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DamageFactor ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Factor (0 to 5000).&lt;br /&gt;
&lt;br /&gt;
How likely a the ship is to lose a prize when damaged. (1 is extremely likely, 5000 is almost never.) &#039;&#039;Special Value:&#039;&#039; 0 = never.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PrizeShareLimit ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Points.&lt;br /&gt;
&lt;br /&gt;
Maximum bounty that this ship can receive by Team Prizes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SuperTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Seconds / 100.&lt;br /&gt;
&lt;br /&gt;
How long [[Superpower]] lasts for this ship. The actual time is random up to this value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ShieldsTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Seconds / 100.&lt;br /&gt;
&lt;br /&gt;
How long [[Shields]] last for this ship.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gravity ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Factor.&lt;br /&gt;
&lt;br /&gt;
Modifies radius over which a [[wormhole]]&#039;s gravity has an effect.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Formula:&#039;&#039; EffectRadius = 1.325 * Gravity ^ 0.507. That is, a wormhole will have an effect over 31 tiles if this is set to 500.&lt;br /&gt;
&lt;br /&gt;
The setting for Warbird also controls how far out bombs/mines are effected by wormholes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== GravityTopSpeed ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Pixels / seconds / 10.&lt;br /&gt;
&lt;br /&gt;
How much this ship&#039;s maximum speed is increased when under the influence of a wormhole&#039;s gravity. Note that &#039;&#039;&#039;this does not replace the previous speed&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SoccerBallFriction ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Unknown.&lt;br /&gt;
&lt;br /&gt;
Amount of friction on the [[soccer]] ball when it is not carried by a ship.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SoccerBallProximity ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Pixels.&lt;br /&gt;
&lt;br /&gt;
How close the ship must be in order to pick up a ball. Set this to 0 to disallow the ship from picking up a ball.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SoccerBallSpeed ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Pixels / seconds / 10.&lt;br /&gt;
&lt;br /&gt;
Initial speed given to the ball when fired by this ship.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SoccerThrowTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Seconds / 100.&lt;br /&gt;
&lt;br /&gt;
Time player has to carry soccer ball before it automatically fires (out the back of the ship).&lt;br /&gt;
&lt;br /&gt;
If this is 0 or 32768 or greater then carry time is unlimited and no timer is shown on the players screen.&lt;br /&gt;
&lt;br /&gt;
[[Category: Settings]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Server_Troubleshooting&amp;diff=3598</id>
		<title>Server Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Server_Troubleshooting&amp;diff=3598"/>
		<updated>2005-09-13T03:13:47Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: version1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are the solutions to various problems that can occur with ASSS, Subgame, or both. If you are unfamiliar with INIs (INItialization files), please read the [[INI]] guide. Also, please use catid&#039;s [[SSBilling2]] instead of the usual [[subbill]] as the former uses less system resources and reports errors far more clearly.&lt;br /&gt;
&lt;br /&gt;
See also: [http://forums.minegoboom.com/viewtopic.php?p=22619 Solutions for Server/Biller Problems].&lt;br /&gt;
&lt;br /&gt;
== My Zone is Red ==&lt;br /&gt;
&lt;br /&gt;
The first step to take when your zone is red is to make sure you can use it through a custom zone. To do this, open the Zones dialog in Continuum, and click the &amp;quot;Add Custom Zone...&amp;quot; button. In the dialog that pops up, type in your zone&#039;s name, the port from Misc:Port, and 127.0.0.1 for the IP. (This will only work if you are playing on the same computer that is running subgame.) Then click ok to both dialogs, and find the manually added zone on the zones list and try entering. If you still cannot enter the zone, post on the [http://forums.minegoboom.com/ Server Help Forums] for more specific help.&lt;br /&gt;
&lt;br /&gt;
If you can get into the zone with the custom zone setup, now follow the instructions [http://forums.minegoboom.com/viewtopic.php?t=2443 here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Billing/subgame communication issues. ==&lt;br /&gt;
The following are solutions to the common miscommunication problems between [[subgame]] and your [[Biller]]. &#039;&#039;&#039;It is assumed that you are hosting both the biller and subgame yourself.&#039;&#039;&#039; If you are not, the following advice &#039;&#039;may not be valid&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The subgame2 console says &#039;Client connection request from billing server ignored&#039; ===&lt;br /&gt;
You need to change the Billing:IP in server.ini to &amp;lt;tt&amp;gt;localhost&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;127.0.0.1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The subbill console says &#039;:  Unknown packet type: 36&#039; ===&lt;br /&gt;
You need to run the server and biller on different ports.&lt;br /&gt;
&lt;br /&gt;
subbill.ini:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Misc]&lt;br /&gt;
Port=900&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
server.ini:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Misc]&lt;br /&gt;
Port=382&lt;br /&gt;
&lt;br /&gt;
[Billing]&lt;br /&gt;
Port=900&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The Continuum window says &amp;quot;Not accepting new connections&amp;quot; ===&lt;br /&gt;
Set subbill.ini&#039;s Misc:AllowNewUsers to &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The subgame2 console repeats &amp;quot;Attempting to...&amp;quot; ===&lt;br /&gt;
You need to specify the correct IP and Port in the [Billing] section of server.ini. Make sure Billing:Port matches up with subbill.ini&#039;s Misc:Port (and both should be different from the server.ini&#039;s Misc:Port). If you are running your Biller on the same machine as subgame, set server.ini&#039;s Billing:IP to &amp;lt;tt&amp;gt;localhost&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The biller window says something about a &amp;quot;Bad Password&amp;quot; ===&lt;br /&gt;
Make sure server.ini&#039;s Billing:Password contains the same value as subbill.ini&#039;s Misc:Password.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The biller window displays &amp;quot;Invalid Login&amp;quot; ===&lt;br /&gt;
Make sure server.ini&#039;s Billing:GroupID is greater than 0. Unless you know how to setup billing GroupOps, it is recommended to leave this set to &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;. Also, make sure Billing:ScoreID and Billing:ServerID are set to the same value as Misc:Port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== No permission to play in zone ==&lt;br /&gt;
If Continuum reports &amp;quot;You do not have permission to play in this zone.&amp;quot; and subgame shows &amp;quot;Invalid login packet received&amp;quot;, then subgame is not reading your continuum executable correctly. Make sure you have a &amp;quot;version1&amp;quot; folder in the same folder as subgame with a copy of continuum.exe &#039;&#039;renamed as subspace.exe&#039;&#039; inside.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Settings_Structure&amp;diff=5281</id>
		<title>Settings Structure</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Settings_Structure&amp;diff=5281"/>
		<updated>2005-09-13T02:58:40Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: /* struct ArenaSettings */ packet type, not version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The server sends most settings to its clients through the following structures.&lt;br /&gt;
&lt;br /&gt;
== struct ArenaSettings ==&lt;br /&gt;
Each client is sent this 1428-byte structure with the settings for its current arena. Note that it contains the ship and prizeweight structures.&lt;br /&gt;
&lt;br /&gt;
; unsigned PacketType (8 bits)&lt;br /&gt;
:  0000 15&lt;br /&gt;
; unsigned ExactDamage (1 bits)&lt;br /&gt;
:  0001 [[Bullet Settings#ExactDamage|Bullet:ExactDamage]] (Continuum .36+)&lt;br /&gt;
; unsigned HideFlags (1 bits)&lt;br /&gt;
:  0001 [[Spectator Settings#HideFlags|Spectator:HideFlags]] (Continuum .36+)&lt;br /&gt;
; unsigned NoXRadar (1 bits)&lt;br /&gt;
:  0001 [[Spectator Settings#NoXRadar|Spectator:NoXRadar]] (Continuum .36+)&lt;br /&gt;
; unsigned pack0 (21 bits)&lt;br /&gt;
:  0001 (14)&lt;br /&gt;
&lt;br /&gt;
; shipSettings ships[8]&lt;br /&gt;
:  0004 See shipSettings declaration...&lt;br /&gt;
&lt;br /&gt;
; Uint32 BulletDamageLevel&lt;br /&gt;
:  1156 [[Bullet Settings#BulletDamageLevel|Bullet:BulletDamageLevel]] * 1000&lt;br /&gt;
; Uint32 BombDamageLevel&lt;br /&gt;
:  1160 [[Bomb Settings#BombDamageLevel|Bomb:BombDamageLevel]] * 1000&lt;br /&gt;
; Uint32 BulletAliveTime&lt;br /&gt;
:  1164 [[Bullet Settings#BulletAliveTime|Bullet:BulletAliveTime]]&lt;br /&gt;
; Uint32 BombAliveTime&lt;br /&gt;
:  1168 [[Bomb Settings#BombAliveTime|Bomb:BombAliveTime]]&lt;br /&gt;
; Uint32 DecoyAliveTime&lt;br /&gt;
:  1172 [[Misc Settings#DecoyAliveTime|Misc:DecoyAliveTime]]&lt;br /&gt;
; Uint32 SafetyLimit&lt;br /&gt;
:  1176 [[Misc Settings#SafetyLimit|Misc:SafetyLimit]]&lt;br /&gt;
; Uint32 FrequencyShift&lt;br /&gt;
:  1180 [[Misc Settings#FrequencyShift|Misc:FrequencyShift]]&lt;br /&gt;
; Uint32 MaxFrequency&lt;br /&gt;
:  1184 [[Team Settings#MaxFrequency|Team:MaxFrequency]]&lt;br /&gt;
; Uint32 RepelSpeed&lt;br /&gt;
:  1188 [[Repel Settings#RepelSpeed|Repel:RepelSpeed]]&lt;br /&gt;
; Uint32 MineAliveTime&lt;br /&gt;
:  1192 [[Mine Settings#MineAliveTime|Mine:MineAliveTime]]&lt;br /&gt;
; Uint32 BurstDamageLevel&lt;br /&gt;
:  1196 [[Burst Settings#BurstDamageLevel|Burst:BurstDamageLevel]] * 1000&lt;br /&gt;
; Uint32 BulletDamageUpgrade&lt;br /&gt;
:  1200 [[Bullet Settings#BulletDamageUpgrade|Bullet:BulletDamageUpgrade]] * 1000&lt;br /&gt;
; Uint32 FlagDropDelay&lt;br /&gt;
:  1204 [[Flag Settings#FlagDropDelay|Flag:FlagDropDelay]]&lt;br /&gt;
; Uint32 EnterGameFlaggingDelay&lt;br /&gt;
:  1208 [[Flag Settings#EnterGameFlaggingDelay|Flag:EnterGameFlaggingDelay]]&lt;br /&gt;
; Uint32 RocketThrust&lt;br /&gt;
:  1212 [[Rocket Settings#RocketThrust|Rocket:RocketThrust]]&lt;br /&gt;
; Uint32 RocketSpeed&lt;br /&gt;
:  1216 [[Rocket Settings#RocketSpeed|Rocket:RocketSpeed]]&lt;br /&gt;
; Uint32 InactiveShrapnelDamage&lt;br /&gt;
:  1220 [[Shrapnel Settings#InactiveShrapDamage|Shrapnel:InactiveShrapDamage]] * 1000&lt;br /&gt;
; Uint32 WormholeSwitchTime&lt;br /&gt;
:  1224 [[Wormhole Settings#SwitchTime|Wormhole:SwitchTime]]&lt;br /&gt;
; Uint32 ActivateAppShutdownTime&lt;br /&gt;
:  1228 [[Misc Settings#ActivateAppShutdownTime|Misc:ActivateAppShutdownTime]]&lt;br /&gt;
; Uint32 ShrapnelSpeed&lt;br /&gt;
:  1232 [[Shrapnel Settings#ShrapnelSpeed|Shrapnel:ShrapnelSpeed]]&lt;br /&gt;
&lt;br /&gt;
; BYTE UNKNOWN0[16]&lt;br /&gt;
:  1236 ?&lt;br /&gt;
&lt;br /&gt;
; Uint16 SendRoutePercent&lt;br /&gt;
:  1252 [[Latency Settings#SendRoutePercent|Latency:SendRoutePercent]]&lt;br /&gt;
; Uint16 BombExplodeDelay&lt;br /&gt;
:  1254 [[Bomb Settings#BombExplodeDelay|Bomb:BombExplodeDelay]]&lt;br /&gt;
; Uint16 SendPositionDelay&lt;br /&gt;
:  1256 [[Misc Settings#SendPositionDelay|Misc:SendPositionDelay]]&lt;br /&gt;
; Uint16 BombExplodePixels&lt;br /&gt;
:  1258 [[Bomb Settings#BombExplodePixels|Bomb:BombExplodePixels]]&lt;br /&gt;
; Uint16 DeathPrizeTime&lt;br /&gt;
:  1260 [[Prize Settings#DeathPrizeTime|Prize:DeathPrizeTime]]&lt;br /&gt;
; Uint16 JitterTime&lt;br /&gt;
:  1262 [[Bomb Settings#JitterTime|Bomb:JitterTime]]&lt;br /&gt;
; Uint16 EnterDelay&lt;br /&gt;
:  1264 [[Kill Settings#EnterDelay|Kill:EnterDelay]]&lt;br /&gt;
; Uint16 EngineShutdownTime&lt;br /&gt;
:  1266 [[Prize Settings#EngineShutdownTime|Prize:EngineShutdownTime]]&lt;br /&gt;
; Uint16 ProximityDistance&lt;br /&gt;
:  1268 [[Bomb Settings#ProximityDistance|Bomb:ProximityDistance]]&lt;br /&gt;
; Uint16 BountyIncreaseForKill&lt;br /&gt;
:  1270 [[Kill Settings#BountyIncreaseForKill|Kill:BountyIncreaseForKill]]&lt;br /&gt;
; Uint16 BounceFactor&lt;br /&gt;
:  1272 [[Misc Settings#BounceFactor|Misc:BounceFactor]]&lt;br /&gt;
; Uint16 MapZoomFactor&lt;br /&gt;
:  1274 [[Radar Settings#MapZoomFactor|Radar:MapZoomFactor]]&lt;br /&gt;
; Uint16 MaxBonus&lt;br /&gt;
:  1276 [[Kill Settings#MaxBonus|Kill:MaxBonus]]&lt;br /&gt;
; Uint16 MaxPenalty&lt;br /&gt;
:  1278 [[Kill Settings#MaxPenalty|Kill:MaxPenalty]]&lt;br /&gt;
; Uint16 RewardBase&lt;br /&gt;
:  1280 [[Kill Settings#RewardBase|Kill:RewardBase]]&lt;br /&gt;
; Uint16 RepelTime&lt;br /&gt;
:  1282 [[Repel Settings#RepelTime|Repel:RepelTime]]&lt;br /&gt;
; Uint16 RepelDistance&lt;br /&gt;
:  1284 [[Repel Settings#RepelDistance|Repel:RepelDistance]]&lt;br /&gt;
; Uint16 HelpTickerDelay&lt;br /&gt;
:  1286 [[Misc Settings#TickerDelay|Misc:TickerDelay]]&lt;br /&gt;
; Uint16 FlaggerOnRadar&lt;br /&gt;
:  1288 [[Flag Settings#FlaggerOnRadar|Flag:FlaggerOnRadar]]&lt;br /&gt;
; Uint16 FlaggerKillMultiplier&lt;br /&gt;
:  1290 [[Flag Settings#FlaggerKillMultiplier|Flag:FlaggerKillMultiplier]]&lt;br /&gt;
; Uint16 PrizeFactor&lt;br /&gt;
:  1292 [[Prize Settings#PrizeFactor|Prize:PrizeFactor]]&lt;br /&gt;
; Uint16 PrizeDelay&lt;br /&gt;
:  1294 [[Prize Settings#PrizeDelay|Prize:PrizeDelay]]&lt;br /&gt;
; Uint16 PrizeMinimumVirtual&lt;br /&gt;
:  1296 [[Prize Settings#MinimumVirtual|Prize:MinimumVirtual]]&lt;br /&gt;
; Uint16 PrizeUpgradeVirtual&lt;br /&gt;
:  1298 [[Prize Settings#UpgradeVirtual|Prize:UpgradeVirtual]]&lt;br /&gt;
; Uint16 PrizeMaxExist&lt;br /&gt;
:  1300 [[Prize Settings#PrizeMaxExist|Prize:PrizeMaxExist]]&lt;br /&gt;
; Uint16 PrizeMinExist&lt;br /&gt;
:  1302 [[Prize Settings#PrizeMinExist|Prize:PrizeMinExist]]&lt;br /&gt;
; Uint16 PrizeNegativeFactor&lt;br /&gt;
:  1304 [[Prize Settings#PrizeNegativeFactor|Prize:PrizeNegativeFactor]]&lt;br /&gt;
; Uint16 DoorDelay&lt;br /&gt;
:  1306 [[Door Settings#DoorDelay|Door:DoorDelay]]&lt;br /&gt;
; Uint16 AntiwarpPixels&lt;br /&gt;
:  1308 [[Toggle Settings#AntiWarpPixels|Toggle:AntiWarpPixels]]&lt;br /&gt;
; Sint16 DoorMode&lt;br /&gt;
:  1310 [[Door Settings#DoorMode|Door:DoorMode]]&lt;br /&gt;
; Uint16 FlagBlankDelay&lt;br /&gt;
:  1312 [[Flag Settings#FlagBlankDelay|Flag:FlagBlankDelay]]&lt;br /&gt;
; Uint16 NoDataFlagDropDelay&lt;br /&gt;
:  1314 [[Flag Settings#NoDataFlagDropDelay|Flag:NoDataFlagDropDelay]]&lt;br /&gt;
; Uint16 MultiPrizeCount&lt;br /&gt;
:  1316 [[Prize Settings#MultiPrizeCount|Prize:MultiPrizeCount]]&lt;br /&gt;
; Uint16 BrickTime&lt;br /&gt;
:  1318 [[Brick Settings#BrickTime|Brick:BrickTime]]&lt;br /&gt;
; Uint16 WarpRadiusLimit&lt;br /&gt;
:  1320 [[Misc Settings#WarpRadiusLimit|Misc:WarpRadiusLimit]]&lt;br /&gt;
; Uint16 EBombShutdownTime&lt;br /&gt;
:  1322 [[Bomb Settings#EBombShutdownTime|Bomb:EBombShutdownTime]]&lt;br /&gt;
; Uint16 EBombDamagePercent&lt;br /&gt;
:  1324 [[Bomb Settings#EBombDamagePercent|Bomb:EBombDamagePercent]]&lt;br /&gt;
; Uint16 RadarNeutralSize&lt;br /&gt;
:  1326 [[Radar Settings#RadarNeutralSize|Radar:RadarNeutralSize]]&lt;br /&gt;
; Uint16 WarpPointDelay&lt;br /&gt;
:  1328 [[Misc Settings#WarpPointDelay|Misc:WarpPointDelay]]&lt;br /&gt;
; Uint16 NearDeathLevel&lt;br /&gt;
:  1330 [[Misc Settings#NearDeathLevel|Misc:NearDeathLevel]]&lt;br /&gt;
; Uint16 BBombDamagePercent&lt;br /&gt;
:  1332 [[Bomb Settings#BBombDamagePercent|Bomb:BBombDamagePercent]]&lt;br /&gt;
; Uint16 ShrapnelDamagePercent&lt;br /&gt;
:  1334 [[Shrapnel Settings#ShrapnelDamagePercent|Shrapnel:ShrapnelDamagePercent]]&lt;br /&gt;
; Uint16 ClientSlowPacketTime&lt;br /&gt;
:  1336 [[Latency Settings#ClientSlowPacketTime|Latency:ClientSlowPacketTime]]&lt;br /&gt;
; Uint16 FlagDropResetReward&lt;br /&gt;
:  1338 [[Flag Settings#FlagDropResetReward|Flag:FlagDropResetReward]]&lt;br /&gt;
; Uint16 FlaggerFireCostPercent&lt;br /&gt;
:  1340 [[Flag Settings#FlaggerFireCostPercent|Flag:FlaggerFireCostPercent]]&lt;br /&gt;
; Uint16 FlaggerDamagePercent&lt;br /&gt;
:  1342 [[Flag Settings#FlaggerDamagePercent|Flag:FlaggerDamagePercent]]&lt;br /&gt;
; Uint16 FlaggerBombFireDelay&lt;br /&gt;
:  1344 [[Flag Settings#FlaggerBombFireDelay|Flag:FlaggerBombFireDelay]]&lt;br /&gt;
; Uint16 SoccerPassDelay&lt;br /&gt;
:  1346 [[Soccer Settings#PassDelay|Soccer:PassDelay]]&lt;br /&gt;
; Uint16 SoccerBallBlankDelay&lt;br /&gt;
:  1348 [[Soccer Settings#BallBlankDelay|Soccer:BallBlankDelay]]&lt;br /&gt;
; Uint16 S2CNoDataKickoutDelay&lt;br /&gt;
:  1350 [[Latency Settings#S2CNoDataKickoutDelay|Latency:S2CNoDataKickoutDelay]]&lt;br /&gt;
; Uint16 FlaggerThrustAdjustment&lt;br /&gt;
:  1352 [[Flag Settings#FlaggerThrustAdjustment|Flag:FlaggerThrustAdjustment]]&lt;br /&gt;
; Uint16 FlaggerSpeedAdjustment&lt;br /&gt;
:  1354 [[Flag Settings#FlaggerSpeedAdjustment|Flag:FlaggerSpeedAdjustment]]&lt;br /&gt;
; Uint16 CliSlowPacketSampleSize&lt;br /&gt;
:  1356 [[Latency Settings#ClientSlowPacketSampleSize|Latency:ClientSlowPacketSampleSize]]&lt;br /&gt;
&lt;br /&gt;
; BYTE UNKNOWN1[10]&lt;br /&gt;
:  1358 ?&lt;br /&gt;
&lt;br /&gt;
; BYTE RandomShrapnel&lt;br /&gt;
:  1368 [[Shrapnel Settings#Random|Shrapnel:Random]]&lt;br /&gt;
; BYTE SoccerBallBounce&lt;br /&gt;
:  1369 [[Soccer Settings#BallBounce|Soccer:BallBounce]]&lt;br /&gt;
; BYTE SoccerAllowBombs&lt;br /&gt;
:  1370 [[Soccer Settings#AllowBombs|Soccer:AllowBombs]]&lt;br /&gt;
; BYTE SoccerAllowGuns&lt;br /&gt;
:  1371 [[Soccer Settings#AllowGuns|Soccer:AllowGuns]]&lt;br /&gt;
; BYTE SoccerMode&lt;br /&gt;
:  1372 [[Soccer Settings#Mode|Soccer:Mode]]&lt;br /&gt;
; BYTE MaxPerTeam&lt;br /&gt;
:  1373 [[Team Settings#MaxPerTeam|Team:MaxPerTeam]]&lt;br /&gt;
; BYTE MaxPerPrivateTeam&lt;br /&gt;
:  1374 [[Team Settings#MaxPerPrivateTeam|Team:MaxPerPrivateTeam]]&lt;br /&gt;
; BYTE TeamMaxMines&lt;br /&gt;
:  1375 [[Mine Settings#TeamMaxMines|Mine:TeamMaxMines]]&lt;br /&gt;
; BYTE WormholeGravityBombs&lt;br /&gt;
:  1376 [[Wormhole Settings#GravityBombs|Wormhole:GravityBombs]]&lt;br /&gt;
; BYTE BombSafety&lt;br /&gt;
:  1377 [[Bomb Settings#BombSafety|Bomb:BombSafety]]&lt;br /&gt;
; BYTE MessageReliable&lt;br /&gt;
:  1378 [[Message Settings#MessageReliable|Message:MessageReliable]]&lt;br /&gt;
; BYTE TakePrizeReliable&lt;br /&gt;
:  1379 [[Prize Settings#TakePrizeReliable|Prize:TakePrizeReliable]]&lt;br /&gt;
; BYTE AllowAudioMessages&lt;br /&gt;
:  1380 [[Message Settings#AllowAudioMessages|Message:AllowAudioMessages]]&lt;br /&gt;
; BYTE PrizeHideCount&lt;br /&gt;
:  1381 [[Prize Settings#PrizeHideCount|Prize:PrizeHideCount]]&lt;br /&gt;
; BYTE ExtraPositionData&lt;br /&gt;
:  1382 [[Misc Settings#ExtraPositionData|Misc:ExtraPositionData]]&lt;br /&gt;
; BYTE SlowFrameCheck&lt;br /&gt;
:  1383 [[Misc Settings#SlowFrameCheck|Misc:SlowFrameCheck]]&lt;br /&gt;
; BYTE CarryFlags&lt;br /&gt;
:  1384 [[Flag Settings#CarryFlags|Flag:CarryFlags]]&lt;br /&gt;
; BYTE AllowSavedShip&lt;br /&gt;
:  1385 [[Misc Settings#AllowSavedShips|Misc:AllowSavedShips]]&lt;br /&gt;
; BYTE RadarMode&lt;br /&gt;
:  1386 [[Radar Settings#RadarMode|Radar:RadarMode]]&lt;br /&gt;
; BYTE VictoryMusic&lt;br /&gt;
:  1387 [[Misc Settings#VictoryMusic|Misc:VictoryMusic]]&lt;br /&gt;
; BYTE FlaggerGunUpgrade&lt;br /&gt;
:  1388 [[Flag Settings#FlaggerGunUpgrade|Flag:FlaggerGunUpgrade]]&lt;br /&gt;
; BYTE FlaggerBombUpgrade&lt;br /&gt;
:  1389 [[Flag Settings#FlaggerBombUpgrade|Flag:FlaggerBombUpgrade]]&lt;br /&gt;
; BYTE SoccerUseFlagger&lt;br /&gt;
:  1390 [[Soccer Settings#UseFlagger|Soccer:UseFlagger]]&lt;br /&gt;
; BYTE SoccerBallLocation&lt;br /&gt;
:  1391 [[Soccer Settings#BallLocation|Soccer:BallLocation]]&lt;br /&gt;
&lt;br /&gt;
; BYTE UNKNOWN2[8]&lt;br /&gt;
:  1392 ?&lt;br /&gt;
&lt;br /&gt;
; prizeSettings pw&lt;br /&gt;
:  1400 See below prizeweight structure.&lt;br /&gt;
&lt;br /&gt;
== struct ShipSettings ==&lt;br /&gt;
Each ship&#039;s settings are sent in a copy of this 144-byte structure (offsets are for warbird):&lt;br /&gt;
&lt;br /&gt;
; Uint16 SuperTime&lt;br /&gt;
:  0004 [[Ship Settings#SuperTime|All:SuperTime]]&lt;br /&gt;
; Uint16 UNKNOWN0&lt;br /&gt;
:  0006 (100)	Salt for actual super time?&lt;br /&gt;
; Uint16 ShieldsTime&lt;br /&gt;
:  0008 [[Ship Settings#ShieldsTime|All:ShieldsTime]]&lt;br /&gt;
; Uint16 UNKNOWN1&lt;br /&gt;
:  0010 (30)	Salt for actual shields time?&lt;br /&gt;
; Uint16 Gravity&lt;br /&gt;
:  0012 [[Ship Settings#Gravity|All:Gravity]]&lt;br /&gt;
; Uint16 GravityTopSpeed&lt;br /&gt;
:  0014 [[Ship Settings#GravityTopSpeed|All:GravityTopSpeed]]&lt;br /&gt;
; Uint16 BulletFireEnergy&lt;br /&gt;
:  0016 [[Ship Settings#BulletFireEnergy|All:BulletFireEnergy]]&lt;br /&gt;
; Uint16 MultiFireEnergy&lt;br /&gt;
:  0018 [[Ship Settings#MultiFireEnergy|All:MultiFireEnergy]]&lt;br /&gt;
; Uint16 BombFireEnergy&lt;br /&gt;
:  0020 [[Ship Settings#BombFireEnergy|All:BombFireEnergy]]&lt;br /&gt;
; Uint16 BombFireEnergyUpgrade&lt;br /&gt;
:  0022 [[Ship Settings#BombFireEnergyUpgrade|All:BombFireEnergyUpgrade]]&lt;br /&gt;
; Uint16 MineFireEnergy&lt;br /&gt;
:  0024 [[Ship Settings#LandmineFireEnergy|All:LandmineFireEnergy]]&lt;br /&gt;
; Uint16 MineFireEnergyUpgrade&lt;br /&gt;
:  0026 [[Ship Settings#LandmineFireEnergyUpgrade|All:LandmineFireEnergyUpgrade]]&lt;br /&gt;
; Uint16 BulletSpeed&lt;br /&gt;
:  0028 [[Ship Settings#BulletSpeed|All:BulletSpeed]]&lt;br /&gt;
; Uint16 BombSpeed&lt;br /&gt;
:  0030 [[Ship Settings#BombSpeed|All:BombSpeed]]&lt;br /&gt;
&lt;br /&gt;
; unsigned SeeBombLevel (2 bits)&lt;br /&gt;
:  0032 [[Ship Settings#SeeBombLevel|All:SeeBombLevel]] (Continuum .36+)&lt;br /&gt;
; unsigned DisableFastBombs (1 bits)&lt;br /&gt;
:  0032 [[Ship Settings#DisableFastShooting|All:DisableFastShooting]] (Continuum .36+)&lt;br /&gt;
; unsigned Radius (7 bits)&lt;br /&gt;
:  0032 [[Ship Settings#Radius|All:Radius]] (Continuum .37+)&lt;br /&gt;
; unsigned pack0 (6 bits)&lt;br /&gt;
:  0033 Unused&lt;br /&gt;
; unsigned MultiFireAngle (16 bits)&lt;br /&gt;
:  0034 [[Ship Settings#MultiFireAngle|All:MultiFireAngle]]&lt;br /&gt;
&lt;br /&gt;
; Uint16 CloakEnergy&lt;br /&gt;
:  0036 [[Ship Settings#CloakEnergy|All:CloakEnergy]]&lt;br /&gt;
; Uint16 StealthEnergy&lt;br /&gt;
:  0038 [[Ship Settings#StealthEnergy|All:StealthEnergy]]&lt;br /&gt;
; Uint16 AntiWarpEnergy&lt;br /&gt;
:  0040 [[Ship Settings#AntiWarpEnergy|All:AntiWarpEnergy]]&lt;br /&gt;
; Uint16 XRadarEnergy&lt;br /&gt;
:  0042 [[Ship Settings#XRadarEnergy|All:XRadarEnergy]]&lt;br /&gt;
; Uint16 MaximumRotation&lt;br /&gt;
:  0044 [[Ship Settings#MaximumRotation|All:MaximumRotation]]&lt;br /&gt;
; Uint16 MaximumThrust&lt;br /&gt;
:  0046 [[Ship Settings#MaximumThrust|All:MaximumThrust]]&lt;br /&gt;
; Uint16 MaximumSpeed&lt;br /&gt;
:  0048 [[Ship Settings#MaximumSpeed|All:MaximumSpeed]]&lt;br /&gt;
; Uint16 MaximumRecharge&lt;br /&gt;
:  0050 [[Ship Settings#MaximumRecharge|All:MaximumRecharge]]&lt;br /&gt;
; Uint16 MaximumEnergy&lt;br /&gt;
:  0052 [[Ship Settings#MaximumEnergy|All:MaximumEnergy]]&lt;br /&gt;
; Uint16 InitialRotation&lt;br /&gt;
:  0054 [[Ship Settings#InitialRotation|All:InitialRotation]]&lt;br /&gt;
; Uint16 InitialThrust&lt;br /&gt;
:  0056 [[Ship Settings#InitialThrust|All:InitialThrust]]&lt;br /&gt;
; Uint16 InitialSpeed&lt;br /&gt;
:  0058 [[Ship Settings#InitialSpeed|All:InitialSpeed]]&lt;br /&gt;
; Uint16 InitialRecharge&lt;br /&gt;
:  0060 [[Ship Settings#InitialRecharge|All:InitialRecharge]]&lt;br /&gt;
; Uint16 InitialEnergy&lt;br /&gt;
:  0062 [[Ship Settings#InitialEnergy|All:InitialEnergy]]&lt;br /&gt;
; Uint16 UpgradeRotation&lt;br /&gt;
:  0064 [[Ship Settings#UpgradeRotation|All:UpgradeRotation]]&lt;br /&gt;
; Uint16 UpgradeThrust&lt;br /&gt;
:  0066 [[Ship Settings#UpgradeThrust|All:UpgradeThrust]]&lt;br /&gt;
; Uint16 UpgradeSpeed&lt;br /&gt;
:  0068 [[Ship Settings#UpgradeSpeed|All:UpgradeSpeed]]&lt;br /&gt;
; Uint16 UpgradeRecharge&lt;br /&gt;
:  0070 [[Ship Settings#UpgradeRecharge|All:UpgradeRecharge]]&lt;br /&gt;
; Uint16 UpgradeEnergy&lt;br /&gt;
:  0072 [[Ship Settings#UpgradeEnergy|All:UpgradeEnergy]]&lt;br /&gt;
; Uint16 AfterburnerEnergy&lt;br /&gt;
:  0074 [[Ship Settings#AfterburnerEnergy|All:AfterburnerEnergy]]&lt;br /&gt;
; Uint16 BombThrust&lt;br /&gt;
:  0076 [[Ship Settings#BombThrust|All:BombThrust]]&lt;br /&gt;
; Uint16 BurstSpeed&lt;br /&gt;
:  0078 [[Ship Settings#BurstSpeed|All:BurstSpeed]]&lt;br /&gt;
; Uint16 TurretThrustPenalty&lt;br /&gt;
:  0080 [[Ship Settings#TurretThrustPenalty|All:TurretThrustPenalty]]&lt;br /&gt;
; Uint16 TurretSpeedPenalty&lt;br /&gt;
:  0082 [[Ship Settings#TurretSpeedPenalty|All:TurretSpeedPenalty]]&lt;br /&gt;
; Uint16 BulletFireDelay&lt;br /&gt;
:  0084 [[Ship Settings#BulletFireDelay|All:BulletFireDelay]]&lt;br /&gt;
; Uint16 MultiFireDelay&lt;br /&gt;
:  0086 [[Ship Settings#MultiFireDelay|All:MultiFireDelay]]&lt;br /&gt;
; Uint16 BombFireDelay&lt;br /&gt;
:  0088 [[Ship Settings#BombFireDelay|All:BombFireDelay]]&lt;br /&gt;
; Uint16 LandmineFireDelay&lt;br /&gt;
:  0090 [[Ship Settings#LandmineFireDelay|All:LandmineFireDelay]]&lt;br /&gt;
; Uint16 RocketTime&lt;br /&gt;
:  0092 [[Ship Settings#RocketTime|All:RocketTime]]&lt;br /&gt;
; Uint16 InitialBounty&lt;br /&gt;
:  0094 [[Ship Settings#InitialBounty|All:InitialBounty]]&lt;br /&gt;
; Uint16 DamageFactor&lt;br /&gt;
:  0096 [[Ship Settings#DamageFactor|All:DamageFactor]]&lt;br /&gt;
; Uint16 PrizeShareLimit&lt;br /&gt;
:  0098 [[Ship Settings#PrizeShareLimit|All:PrizeShareLimit]]&lt;br /&gt;
; Uint16 AttachBounty&lt;br /&gt;
:  0100 [[Ship Settings#AttachBounty|All:AttachBounty]]&lt;br /&gt;
; Uint16 SoccerThrowTime&lt;br /&gt;
:  0102 [[Ship Settings#SoccerThrowTime|All:SoccerThrowTime]]&lt;br /&gt;
; Uint16 SoccerBallFriction&lt;br /&gt;
:  0104 [[Ship Settings#SoccerBallFriction|All:SoccerBallFriction]]&lt;br /&gt;
; Uint16 SoccerBallProximity&lt;br /&gt;
:  0106 [[Ship Settings#SoccerBallProximity|All:SoccerBallProximity]]&lt;br /&gt;
; Uint16 SoccerBallSpeed&lt;br /&gt;
:  0108 [[Ship Settings#SoccerBallSpeed|All:SoccerBallSpeed]]&lt;br /&gt;
&lt;br /&gt;
; BYTE TurretLimit&lt;br /&gt;
:  0110 [[Ship Settings#TurretLimit|All:TurretLimit]]&lt;br /&gt;
; BYTE BurstShrapnel&lt;br /&gt;
:  0111 [[Ship Settings#BurstShrapnel|All:BurstShrapnel]]&lt;br /&gt;
; BYTE MaxMines&lt;br /&gt;
:  0112 [[Ship Settings#MaxMines|All:MaxMines]]&lt;br /&gt;
; BYTE RepelMax&lt;br /&gt;
:  0113 [[Ship Settings#RepelMax|All:RepelMax]]&lt;br /&gt;
; BYTE BurstMax&lt;br /&gt;
:  0114 [[Ship Settings#BurstMax|All:BurstMax]]&lt;br /&gt;
; BYTE DecoyMax&lt;br /&gt;
:  0115 [[Ship Settings#DecoyMax|All:DecoyMax]]&lt;br /&gt;
; BYTE ThorMax&lt;br /&gt;
:  0116 [[Ship Settings#ThorMax|All:ThorMax]]&lt;br /&gt;
; BYTE BrickMax&lt;br /&gt;
:  0117 [[Ship Settings#BrickMax|All:BrickMax]]&lt;br /&gt;
; BYTE RocketMax&lt;br /&gt;
:  0118 [[Ship Settings#RocketMax|All:RocketMax]]&lt;br /&gt;
; BYTE PortalMax&lt;br /&gt;
:  0119 [[Ship Settings#PortalMax|All:PortalMax]]&lt;br /&gt;
; BYTE InitialRepel&lt;br /&gt;
:  0120 [[Ship Settings#InitialRepel|All:InitialRepel]]&lt;br /&gt;
; BYTE InitialBurst&lt;br /&gt;
:  0121 [[Ship Settings#InitialBurst|All:InitialBurst]]&lt;br /&gt;
; BYTE InitialBrick&lt;br /&gt;
:  0122 [[Ship Settings#InitialBrick|All:InitialBrick]]&lt;br /&gt;
; BYTE InitialRocket&lt;br /&gt;
:  0123 [[Ship Settings#InitialRocket|All:InitialRocket]]&lt;br /&gt;
; BYTE InitialThor&lt;br /&gt;
:  0124 [[Ship Settings#InitialThor|All:InitialThor]]&lt;br /&gt;
; BYTE InitialDecoy&lt;br /&gt;
:  0125 [[Ship Settings#InitialDecoy|All:InitialDecoy]]&lt;br /&gt;
; BYTE InitialPortal&lt;br /&gt;
:  0126 [[Ship Settings#InitialPortal|All:InitialPortal]]&lt;br /&gt;
; BYTE BombBounceCount&lt;br /&gt;
:  0127 [[Ship Settings#BombBounceCount|All:BombBounceCount]]&lt;br /&gt;
&lt;br /&gt;
; unsigned ShrapnelMax (5 bits)&lt;br /&gt;
:  0128 [[Ship Settings#ShrapnelMax|All:ShrapnelMax]]&lt;br /&gt;
; unsigned ShrapnelRate (5 bits)&lt;br /&gt;
:  0128 [[Ship Settings#ShrapnelRate|All:ShrapnelRate]]&lt;br /&gt;
&lt;br /&gt;
; unsigned CloakStatus (2 bits)&lt;br /&gt;
:  0129 [[Ship Settings#CloakStatus|All:CloakStatus]]&lt;br /&gt;
; unsigned StealthStatus (2 bits)&lt;br /&gt;
:  0129 [[Ship Settings#StealthStatus|All:StealthStatus]]&lt;br /&gt;
; unsigned XRadarStatus (2 bits)&lt;br /&gt;
:  0129 [[Ship Settings#XRadarStatus|All:XRadarStatus]]&lt;br /&gt;
; unsigned AntiwarpStatus (2 bits)&lt;br /&gt;
:  0130 [[Ship Settings#AntiWarpStatus|All:AntiWarpStatus]]&lt;br /&gt;
&lt;br /&gt;
; unsigned InitialGuns (2 bits)&lt;br /&gt;
:  0130 [[Ship Settings#InitialGuns|All:InitialGuns]]&lt;br /&gt;
; unsigned MaxGuns	 (2 bits)&lt;br /&gt;
:  0130 [[Ship Settings#MaxGuns|All:MaxGuns]]&lt;br /&gt;
; unsigned InitialBombs (2 bits)&lt;br /&gt;
:  0130 [[Ship Settings#InitialBombs|All:InitialBombs]]&lt;br /&gt;
; unsigned MaxBombs	 (2 bits)&lt;br /&gt;
:  0131 [[Ship Settings#MaxBombs|All:MaxBombs]]&lt;br /&gt;
&lt;br /&gt;
; unsigned DoubleBarrel (1 bits)&lt;br /&gt;
:  0131 [[Ship Settings#DoubleBarrel|All:DoubleBarrel]]&lt;br /&gt;
; unsigned EmpBomb	 (1 bits)&lt;br /&gt;
:  0131 [[Ship Settings#EmpBomb|All:EmpBomb]]&lt;br /&gt;
; unsigned SeeMines	 (1 bits)&lt;br /&gt;
:  0131 [[Ship Settings#SeeMines|All:SeeMines]]&lt;br /&gt;
; unsigned UNKNOWN2	 (3 bits)&lt;br /&gt;
:  0131 ?&lt;br /&gt;
&lt;br /&gt;
; BYTE UNKNOWN3[16]&lt;br /&gt;
:  0132 ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== struct PrizeSettings ==&lt;br /&gt;
Prizeweights are actually handled as an array by SubSpace/Subgame, but the following 28-byte structure represents an, in some respects, better way:&lt;br /&gt;
&lt;br /&gt;
; BYTE Recharge&lt;br /&gt;
:  1400 [[PrizeWeight Settings#QuickCharge|PrizeWeight:QuickCharge]]&lt;br /&gt;
; BYTE Energy&lt;br /&gt;
:  1401 [[PrizeWeight Settings#Energy|PrizeWeight:Energy]]&lt;br /&gt;
; BYTE Rotation&lt;br /&gt;
:  1402 [[PrizeWeight Settings#Rotation|PrizeWeight:Rotation]]&lt;br /&gt;
; BYTE Stealth&lt;br /&gt;
:  1403 [[PrizeWeight Settings#Stealth|PrizeWeight:Stealth]]&lt;br /&gt;
; BYTE Cloak&lt;br /&gt;
:  1404 [[PrizeWeight Settings#Cloak|PrizeWeight:Cloak]]&lt;br /&gt;
; BYTE XRadar&lt;br /&gt;
:  1405 [[PrizeWeight Settings#XRadar|PrizeWeight:XRadar]]&lt;br /&gt;
; BYTE Warp&lt;br /&gt;
:  1406 [[PrizeWeight Settings#Warp|PrizeWeight:Warp]]&lt;br /&gt;
; BYTE Gun&lt;br /&gt;
:  1407 [[PrizeWeight Settings#Gun|PrizeWeight:Gun]]&lt;br /&gt;
; BYTE Bomb&lt;br /&gt;
:  1408 [[PrizeWeight Settings#Bomb|PrizeWeight:Bomb]]&lt;br /&gt;
; BYTE BouncingBullets&lt;br /&gt;
:  1409 [[PrizeWeight Settings#BouncingBullets|PrizeWeight:BouncingBullets]]&lt;br /&gt;
; BYTE Thruster&lt;br /&gt;
:  1410 [[PrizeWeight Settings#Thruster|PrizeWeight:Thruster]]&lt;br /&gt;
; BYTE TopSpeed&lt;br /&gt;
:  1411 [[PrizeWeight Settings#TopSpeed|PrizeWeight:TopSpeed]]&lt;br /&gt;
; BYTE QuickCharge&lt;br /&gt;
:  1412 [[PrizeWeight Settings#Recharge|PrizeWeight:Recharge]]&lt;br /&gt;
; BYTE Glue&lt;br /&gt;
:  1413 [[PrizeWeight Settings#Glue|PrizeWeight:Glue]]&lt;br /&gt;
; BYTE MultiFire&lt;br /&gt;
:  1414 [[PrizeWeight Settings#MultiFire|PrizeWeight:MultiFire]]&lt;br /&gt;
; BYTE Proximity&lt;br /&gt;
:  1415 [[PrizeWeight Settings#Proximity|PrizeWeight:Proximity]]&lt;br /&gt;
; BYTE AllWeapons&lt;br /&gt;
:  1416 [[PrizeWeight Settings#AllWeapons|PrizeWeight:AllWeapons]]&lt;br /&gt;
; BYTE Shields&lt;br /&gt;
:  1417 [[PrizeWeight Settings#Shields|PrizeWeight:Shields]]&lt;br /&gt;
; BYTE Shrapnel&lt;br /&gt;
:  1418 [[PrizeWeight Settings#Shrapnel|PrizeWeight:Shrapnel]]&lt;br /&gt;
; BYTE AntiWarp&lt;br /&gt;
:  1419 [[PrizeWeight Settings#AntiWarp|PrizeWeight:AntiWarp]]&lt;br /&gt;
; BYTE Repel&lt;br /&gt;
:  1420 [[PrizeWeight Settings#Repel|PrizeWeight:Repel]]&lt;br /&gt;
; BYTE Burst&lt;br /&gt;
:  1421 [[PrizeWeight Settings#Burst|PrizeWeight:Burst]]&lt;br /&gt;
; BYTE Decoy&lt;br /&gt;
:  1422 [[PrizeWeight Settings#Decoy|PrizeWeight:Decoy]]&lt;br /&gt;
; BYTE Thor&lt;br /&gt;
:  1423 [[PrizeWeight Settings#Thor|PrizeWeight:Thor]]&lt;br /&gt;
; BYTE MultiPrize&lt;br /&gt;
:  1424 [[PrizeWeight Settings#MultiPrize|PrizeWeight:MultiPrize]]&lt;br /&gt;
; BYTE Brick&lt;br /&gt;
:  1425 [[PrizeWeight Settings#Brick|PrizeWeight:Brick]]&lt;br /&gt;
; BYTE Rocket&lt;br /&gt;
:  1426 [[PrizeWeight Settings#Rocket|PrizeWeight:Rocket]]&lt;br /&gt;
; BYTE Portal&lt;br /&gt;
:  1427 [[PrizeWeight Settings#Portal|PrizeWeight:Portal]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Game Intricacies]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Bomb_Settings&amp;diff=3607</id>
		<title>Bomb Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Bomb_Settings&amp;diff=3607"/>
		<updated>2005-09-13T02:57:46Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: minor revisions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Bomb] These are [[subgame]] and [[ASSS]] settings for bombs in an arena. They are all sent to and handled by the client in the [[Settings Structure]]. Note that all bomb levels share the same damage level, but differ in their blast radius. If you&#039;d like to experiment with the above settings, you can do so with the [http://www.shanky.com/cgi-bin/ryan/bomb.cgi Bomb Calculator].&lt;br /&gt;
&lt;br /&gt;
=== BombDamageLevel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Energy.&lt;br /&gt;
&lt;br /&gt;
Amount of damage a bomb causes at its center point (for all bomb levels).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BombAliveTime === &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds.&lt;br /&gt;
&lt;br /&gt;
Time a bomb can fly before is disappears. This is really a networking setting and not a weapon setting, so the default should be sufficient.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BombExplodeDelay === &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds.&lt;br /&gt;
&lt;br /&gt;
How long after the proximity sensor is triggered before bomb explodes. (&#039;&#039;Note:&#039;&#039; it explodes immediately if ship moves away from it after triggering it.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BombExplodePixels === &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Pixels.&lt;br /&gt;
&lt;br /&gt;
Initial blast radius for a bomb, then multiplied by bomb level (so L1 gets this, L2 gets double, etc.). Note that this is purely the damage radius, not affected by prox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ProximityDistance === &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Tiles.&lt;br /&gt;
&lt;br /&gt;
Radius of proximity trigger of an L1 bomb.  Each bomb level adds 1 to this amount.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== JitterTime === &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds.&lt;br /&gt;
&lt;br /&gt;
How long the screen jitters from a bomb hit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BombSafety ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean (0=no, 1=yes).&lt;br /&gt;
&lt;br /&gt;
Enables a firing safety for proximity bombs.  If an enemy ship is within proximity radius, the firing safety will not let the user fire.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EBombShutdownTime ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds.&lt;br /&gt;
&lt;br /&gt;
Maximum time an EMP bomb suspends recharge. When the EMP hits the player indirectly (through the blast radius), this time is reduced.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EBombDamagePercent === &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Tenths of a percent. (1000 = 100%, 2000 = 200%.)&lt;br /&gt;
&lt;br /&gt;
Percentage of normal damage applied to an EMP bomb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BBombDamagePercent === &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Tenths of a percent. (1000 = 100%, 2000 = 200%.)&lt;br /&gt;
&lt;br /&gt;
Percentage of normal damage applied to a bouncing bomb. Note that even though a bouncing bomb loses its bouncing picture after the last bounce, it retains this percentage modifier.&lt;br /&gt;
&lt;br /&gt;
[[Category: Settings]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=MySQL_Database_Setup&amp;diff=5026</id>
		<title>MySQL Database Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=MySQL_Database_Setup&amp;diff=5026"/>
		<updated>2005-09-13T01:34:22Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: personal messages are inappropriate in this context IMO&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Installing MySQL===&lt;br /&gt;
Detailed MySQL instructions can be found at http://dev.mysql.com/doc/mysql/en/Installing.html.&lt;br /&gt;
&lt;br /&gt;
===Getting ASSS and MySQL talking===&lt;br /&gt;
#In modules.conf, enable database:mysql and database:aliasdb.&lt;br /&gt;
#After getting MySQL installed (and functioning), install the MySQL administrator (NT based Windows, Linux, and OS X are supported) which is also found on the MySQL download page.&lt;br /&gt;
#Create a user, a password for this user, and a database in MySQL. The default is &amp;quot;asss&amp;quot; for the user name and database name, and your choice on the password.&lt;br /&gt;
#Assign permissions between the user and the database.&lt;br /&gt;
#In global.conf in the [mysql] section change the user name, password, and the table name to what you have chosen above. The hostname should be localhost if MySQL is running on the same computer the server is. Otherwise you can use an IP address.&lt;br /&gt;
&lt;br /&gt;
A sample would look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;[mysql]&lt;br /&gt;
hostname=localhost&lt;br /&gt;
user=asss&lt;br /&gt;
password=whatever you selected for a password&lt;br /&gt;
database=asss&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Good Luck!&lt;br /&gt;
&lt;br /&gt;
[[Category:ASSS]]&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Bomb&amp;diff=3608</id>
		<title>Bomb</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Bomb&amp;diff=3608"/>
		<updated>2005-09-06T03:18:59Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: exponential decay&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A bomb is the second of the two standard weapons in [[SubSpace]]. Bombs, unlike [[bullet]]s, have a configurable blast radius, along with other properties, in the [[Bomb Settings]]. All bombs have the same damage level at the center point but damage decreases exponentially in the blast radius.&lt;br /&gt;
&lt;br /&gt;
[[Continuum]] draws bombs using bombs.bm2 of the [[graphics files]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Weapons]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Server.ini&amp;diff=3596</id>
		<title>Server.ini</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Server.ini&amp;diff=3596"/>
		<updated>2005-09-06T03:15:49Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: specified more settings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;server.ini is the initialization file for [[subgame]] that controls all of the global settings. Individual arena&#039;s settings are stored in arenaname.cfg. The following are the various sections in the server.ini.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; margin-left: 20px&amp;quot;&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Validation ==&lt;br /&gt;
&lt;br /&gt;
See [[Validation]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom ==&lt;br /&gt;
These settings configure custom arenas. (I think?)&lt;br /&gt;
&lt;br /&gt;
=== ArenaMode ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Enumeration.&lt;br /&gt;
&lt;br /&gt;
This controls the ownership of private arenas. By &amp;quot;own a new subarena&amp;quot;, it means that if the selected level of player creates a new subarena with ?go, and the arena does not have settings associated yet, subgame will create settings for that arena and assign [[arena ownership|ownership]] to the creating player. If the player creating the arena is below the selected level, subgame will still create settings for the arena, but will not grant ownership.&lt;br /&gt;
#Any player can own a new subarena.&lt;br /&gt;
#Mods+ can own a new subarena.&lt;br /&gt;
#Smods+ can own a new subarena.&lt;br /&gt;
#Sysops can own a new subarena.&lt;br /&gt;
#&#039;&#039;Special:&#039;&#039; New subarenas will just use spawn.cfg. (That is, a new cfg must be placed in the server directory manually to give an arena its own settings.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arena ==&lt;br /&gt;
These settings configure default arena settings.&lt;br /&gt;
&lt;br /&gt;
=== ArenaMaxPlayers ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Number of players allowed in any arena. (This can be overridden in the [[Misc Settings]] for an arena.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ArenaDesiredPlayers ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Subgame will create a new arena for entering players once an arena hits this population. This is different from the above setting in that users can still manually enter an arena with this population.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ArenaMinimumPlayers ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Minimum number of players in a public arena before subgame automatically sends a message advising players to move on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SpawnKeepScores ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean (1=yes,0=no).&lt;br /&gt;
&lt;br /&gt;
Whether player-spawned arenas keep track of scores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxArenas ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
The maximum number of arenas subgame will allow.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxArenasMemory ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Bytes.&lt;br /&gt;
&lt;br /&gt;
The maximum amount of memory subgame will allocate for arena data. Normally the default should suffice.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comms ==&lt;br /&gt;
Communication (networking) settings.&lt;br /&gt;
&lt;br /&gt;
=== MaxQueueToLogin ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Maximum number of clients waiting to login. Any that try when this limit is exceeded will receive the message &amp;quot;The server is busy handling other login requests. Please try again in a few moments. If problem persists, seek help at the Tech Support Forums found at www.subspacehq.com&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PacketHistoryMax ===&lt;br /&gt;
&lt;br /&gt;
=== IncomingBufferSize ===&lt;br /&gt;
&lt;br /&gt;
=== OutgoingBufferSize ===&lt;br /&gt;
&lt;br /&gt;
=== EncryptMode ===&lt;br /&gt;
&lt;br /&gt;
=== UnreliableBufferSize ===&lt;br /&gt;
&lt;br /&gt;
=== TransportBufferSize ===&lt;br /&gt;
&lt;br /&gt;
=== FlushTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Milliseconds.&lt;br /&gt;
&lt;br /&gt;
Subgame will queue position packets for this amount of time before sending them. &#039;&#039;Setting this too high will severly lag your zone.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BandwithIdleTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Seconds.&lt;br /&gt;
&lt;br /&gt;
Subgame will stop sending position packets to a spectator after this time of inactivity. Useful for saving bandwidth.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SelectTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Milliseconds.&lt;br /&gt;
&lt;br /&gt;
Time delay subgame should wait for incoming packets before continuing on. This is recommended over CPU:SleepTime.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
Miscellaneous settings. (Some of these should really go elsewhere.)&lt;br /&gt;
&lt;br /&gt;
=== DisableShareware ===&lt;br /&gt;
&lt;br /&gt;
=== RegisterKickShareware ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Should subgame kick shareware users in favor of registered users when server is full? (Leave set to 0.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxSharewarePlayers ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Maximum number of shareware players allowed on server. &#039;&#039;Special Value:&#039;&#039; -1 = unlimited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxPlayers ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Maximum total players allowed in zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxSharewareTime ===&lt;br /&gt;
&lt;br /&gt;
=== DisableSharewareNames ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Disables the ability for demo players to have customized names. The default displayed name will just be &amp;quot;~Demo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DisableSharewareShips ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Disables the ability for demo players to use ships 5-8.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DisableSharewareScores ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Disables the ability for demo players to retain their scores between sessions. &#039;&#039;Note:&#039;&#039; Scores will always be disabled if the players do not have a name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MenuKickOutDelay ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds.&lt;br /&gt;
&lt;br /&gt;
Amount of time a player may take logging in before server disconnects client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== NoAntiInSafe ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, subgame will ignore [[AntiWarp]] of a player in a safe zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LockFreqs ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Determines whether [[Commands#Arena Management|locking]] an arena locks freqs as well as ships. (1.34.3+)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PositionDataAccess ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Enumeration.&lt;br /&gt;
&lt;br /&gt;
Determines staff level that will receive extra position data when speccing. Useful if [[Misc Settings#ExtraPositionData]] is disabled.&lt;br /&gt;
*0=Sysop (default)&lt;br /&gt;
*1=SMod+&lt;br /&gt;
*2=Mod+&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AlertCommand ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Comma-delimited list.&lt;br /&gt;
&lt;br /&gt;
If a player types any of these commands preceeded by a &#039;?&#039; followed by a message, subgame will send the message to all online staff. This is a replacement to the BanG ?cheater command. (1.34.3+)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AllowPubScorereset ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, players in public arenas may use the ?scorereset command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AllowPvtScorereset ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, players in private arenas may use the ?scorereset command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TimerDropFlagTerritoryRadius ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Tiles.&lt;br /&gt;
&lt;br /&gt;
All flags dropped when timer expires (non-neutral) will drop this radius from the ship, overriding [[Flag Settings#FlagTerritoryRadius]]. This is useful for respawning neuted flags (set FlagTerritoryRadius to 0). &#039;&#039;Special value:&#039;&#039; 0 = always use FlagTerritoryRadius.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ShipTypeSwitchResetPeriod ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Milliseconds (?).&lt;br /&gt;
&lt;br /&gt;
Determines length of time for [[Security Settings#MaxShipTypeSwitchCount]]. &#039;&#039;Special Value:&#039;&#039; 0 = disabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CheckWeapons ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, any of the following conditions will trigger a security violation. The checks do not apply to SMod+.&lt;br /&gt;
* Bullet fired with level &amp;gt; [ship]MaxGuns + [Flag]FlaggerGunUpgrade&lt;br /&gt;
* Bouncing bullet fired and [PrizeWeight]BouncingBullets is 0 and [Cost]Bounce  is 0&lt;br /&gt;
* Bomb fired with level &amp;gt; [ship]MaxBombs + [Flag]FlaggerBombUpgrade&lt;br /&gt;
* Prox bomb fired and [PrizeWeight]Proximity is 0 and [Cost]Prox is 0&lt;br /&gt;
* Bomb fired with shrap &amp;gt; [ship]ShrapnelMax&lt;br /&gt;
* Bomb fired with bouncing shrap and [PrizeWeight]BouncingBullets is 0 and  [Cost]Bounce is 0&lt;br /&gt;
* Mine is fired and [ship]MaxMines is 0&lt;br /&gt;
* A prize is picked up and [PrizeWeight] of that prize is 0&lt;br /&gt;
* Stealth is turned on and [ship]StealthStatus is 0&lt;br /&gt;
* Cloak is turned on and [ship]CloakStatus is 0&lt;br /&gt;
* XRadar is turned on and [ship]XRadarStatus is 0&lt;br /&gt;
* Anti-Warp is turned on and [ship]AntiWarpStatus is 0&lt;br /&gt;
* Player uses UFO&lt;br /&gt;
&lt;br /&gt;
=== CheckFastBombing ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Bitfield.&lt;br /&gt;
&lt;br /&gt;
*1 - Send sysop alert when fastbombing is detected&lt;br /&gt;
*2 - Filter out fastbombs&lt;br /&gt;
*4 - Kick fastbombing player off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FastBombingThreshold ===&lt;br /&gt;
See above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LocalChat ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Comma-delimited list.&lt;br /&gt;
&lt;br /&gt;
Listed chat channels are local to the zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ForceObsceneCheck ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Forces players to have obscene checking on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== NoFlagRewardLimit ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Disables the default reward multiplier limit of 2 for [[Flag Settings#FlagRewardMode]].&lt;br /&gt;
&lt;br /&gt;
=== LogPoints ===&lt;br /&gt;
=== PointUpdateDiff ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Points.&lt;br /&gt;
&lt;br /&gt;
Number of points that will trigger a score update sent to clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== JackpotBroadcastPoints ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, subgame will broadcast the jackpot points to all zones on the [[billing server]]. Not recommended.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ServerLog ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, server will keep a text file log of events.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== KeepAliveDelay ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Milliseconds.&lt;br /&gt;
&lt;br /&gt;
Delay between keepalive packets sent to packets. Should not be changed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DefaultLevelFile ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; String.&lt;br /&gt;
&lt;br /&gt;
Level file (such as _bzw.lvl) that zone will use for public arenas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Port ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Short.&lt;br /&gt;
&lt;br /&gt;
Game port that subgame will user. Keep it above 1000 to avoid interference with other networking applications. This needs to be different for every zone running on the same server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AllowVIEClients ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Determines whether VIE [[SubSpace]] users are allowed to enter zone at all.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== StaffChat ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Comma-delimited list.&lt;br /&gt;
&lt;br /&gt;
These chat channels are only joinable by Mods+.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ForceContinuumOnly ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Determines whether only [[Continuum]] users are allowed to play.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ServerIP ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; IP Address.&lt;br /&gt;
&lt;br /&gt;
WAN IP address of server computer. This can be found using http://www.whatismyip.com/ (easiest), ipconfig, or a router&#039;s status page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CPU ==&lt;br /&gt;
These settings determine subgame&#039;s CPU usage. Usually it performs well, so these should not be changed.&lt;br /&gt;
&lt;br /&gt;
=== LoopDelay ===&lt;br /&gt;
=== ProcessMaxTime ===&lt;br /&gt;
=== SleepPerIteration ===&lt;br /&gt;
=== SlowIterationWarningLevel ===&lt;br /&gt;
=== SleepTime ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Permission ==&lt;br /&gt;
These settings restrict which clients may connect to your zone.&lt;br /&gt;
&lt;br /&gt;
=== AllowBadMachineId ===&lt;br /&gt;
=== AllowLowBandwidth ===&lt;br /&gt;
=== MinimumSecondsToLogin ===&lt;br /&gt;
=== PermissionMaxPoints ===&lt;br /&gt;
=== PermissionMode ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, only allows player names listed in permit.txt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AutoPermissionPoints ===&lt;br /&gt;
=== AutoPermissionIDList ===&lt;br /&gt;
=== AutoPermissionMessage ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Password ==&lt;br /&gt;
Passwords for various player levels. Change to your heart&#039;s content.&lt;br /&gt;
&lt;br /&gt;
=== SysopPassword ===&lt;br /&gt;
=== EnergyPassword ===&lt;br /&gt;
=== ModeratorPassword ===&lt;br /&gt;
=== SuperModeratorPassword ===&lt;br /&gt;
=== VIPPassword ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Billing ==&lt;br /&gt;
Configures subgame&#039;s interaction with the [[biller]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LogMessages ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Enables &amp;quot;logging&amp;quot; of commands to the biller. It is recommended to turn this off, as it normally just wastes bandwidth.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== IP ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; IP/DNS address.&lt;br /&gt;
&lt;br /&gt;
The address of the biller. If you are running the biller on the same computer as subgame, set this to &amp;lt;tt&amp;gt;localhost&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Password ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; String.&lt;br /&gt;
&lt;br /&gt;
The password to connect to the biller. Normally, this should be the same as subbill.ini&#039;s Misc:Password.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ServerName ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; String.&lt;br /&gt;
&lt;br /&gt;
The name of the zone that will be sent to the biller upon connection. This will also be sent to the directory server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Port ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Integer.&lt;br /&gt;
&lt;br /&gt;
The port to connect to the biller, which should be equal to subbill.ini&#039;s Misc:Port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ServerId ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Integer.&lt;br /&gt;
&lt;br /&gt;
The ServerID sent to the biller. This is not often used and should be equal to Misc:Port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== GroupId ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Integer.&lt;br /&gt;
&lt;br /&gt;
The group this server will join on the biller. This has to do with group operators, and is recommended to leave set to &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ScoreId ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Integer.&lt;br /&gt;
&lt;br /&gt;
The ScoreID of the server which the biller will use to identify your server between connections. This should normally be the same as Misc:Port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ReconnectTime ===&lt;br /&gt;
Seems to have no effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AttemptTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Hundredths of seconds.&lt;br /&gt;
&lt;br /&gt;
How long subgame will attempt unsuccessfully to connect to the biller before it gives up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advertise ==&lt;br /&gt;
These settings control subgame&#039;s built-in advertisement capability. To use advertisements, just create bitmaps in the SS Palette and save them in the subgame directory as ad0.bmp,ad1.bmp, etc. Prefix the name with &amp;quot;s_&amp;quot; to send to shareware players, with &amp;quot;r_&amp;quot; to send to registered players, and &amp;quot;b_&amp;quot; to send to both. For example, &amp;quot;b_ad0.bmp&amp;quot;. Subgame will then randomly pick advertisements to display to players.&lt;br /&gt;
&lt;br /&gt;
=== SendMode ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Sum (bitfield).&lt;br /&gt;
&lt;br /&gt;
Determines when advertisements are sent.&lt;br /&gt;
*1 = send them when the player enters the zone.&lt;br /&gt;
*2 = send them when player dies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DisplayMode ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Enumeration.&lt;br /&gt;
&lt;br /&gt;
*0 = at top of screen behind all other graphics.&lt;br /&gt;
*1 = at top of screen on top of all other graphics.&lt;br /&gt;
*2 = floating around like a backdrop.&lt;br /&gt;
&lt;br /&gt;
=== Duration ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Milliseconds.&lt;br /&gt;
&lt;br /&gt;
Length of time an advertisement is displayed. &#039;&#039;Special Value:&#039;&#039; 0 = always on.&lt;br /&gt;
&lt;br /&gt;
== Directory ==&lt;br /&gt;
These settings configure subgame&#039;s interaction with the [[directory server]].&lt;br /&gt;
&lt;br /&gt;
=== IP ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; IP/DNS list.&lt;br /&gt;
&lt;br /&gt;
List of directory servers subgame will send its entry to. As of 24 May 2005, the following list is recommended:&lt;br /&gt;
&amp;lt;pre&amp;gt;sscentral.ds98.com,sscentral.subspace.inet.fi,sscentral.subspacehq.com&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; String.&lt;br /&gt;
&lt;br /&gt;
This description will be sent to the directory server to be associated with your zone. Include an ss:// DNS address to have Continuum keep your IP up to date.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== NamePassword ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; String.&lt;br /&gt;
&lt;br /&gt;
The password associated with the zone&#039;s server prefix. All zones with the same prefix must have the same NamePassword or the Directory server will not list them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Port ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Integer.&lt;br /&gt;
&lt;br /&gt;
Leave this set to &amp;lt;tt&amp;gt;4991&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Server.ini&amp;diff=3561</id>
		<title>Server.ini</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Server.ini&amp;diff=3561"/>
		<updated>2005-09-04T17:07:31Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: /* NoFlagRewardLimit */ specify limit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;server.ini is the initialization file for [[subgame]] that controls all of the global settings. Individual arena&#039;s settings are stored in arenaname.cfg. The following are the various sections in the server.ini.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; margin-left: 20px&amp;quot;&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Validation ==&lt;br /&gt;
&lt;br /&gt;
See [[Validation]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Custom ==&lt;br /&gt;
These settings configure custom arenas. (I think?)&lt;br /&gt;
&lt;br /&gt;
=== ArenaMode ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Enumeration.&lt;br /&gt;
&lt;br /&gt;
This controls the ownership of private arenas. By &amp;quot;own a new subarena&amp;quot;, it means that if the selected level of player creates a new subarena with ?go, and the arena does not have settings associated yet, subgame will create settings for that arena and assign [[arena ownership|ownership]] to the creating player. If the player creating the arena is below the selected level, subgame will still create settings for the arena, but will not grant ownership.&lt;br /&gt;
#Any player can own a new subarena.&lt;br /&gt;
#Mods+ can own a new subarena.&lt;br /&gt;
#Smods+ can own a new subarena.&lt;br /&gt;
#Sysops can own a new subarena.&lt;br /&gt;
#&#039;&#039;Special:&#039;&#039; New subarenas will just use spawn.cfg. (That is, a new cfg must be placed in the server directory manually to give an arena its own settings.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arena ==&lt;br /&gt;
These settings configure default arena settings.&lt;br /&gt;
&lt;br /&gt;
=== ArenaMaxPlayers ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Number of players allowed in any arena. (This can be overridden in the [[Misc Settings]] for an arena.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ArenaDesiredPlayers ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Number of players subgame will try to put in each public arena.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ArenaMinimumPlayers ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Minimum number of players in a public arena before subgame starts closing it down.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SpawnKeepScores ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean (1=yes,0=no).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MaxArenas ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
=== MaxArenasMemory ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comms ==&lt;br /&gt;
Communication (networking) settings.&lt;br /&gt;
&lt;br /&gt;
=== MaxQueueToLogin ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Count.&lt;br /&gt;
&lt;br /&gt;
Maximum number of clients waiting to login. Any that try when this limit is exceeded will receive the message &amp;quot;The server is busy handling other login requests. Please try again in a few moments. If problem persists, seek help at the Tech Support Forums found at www.subspacehq.com&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PacketHistoryMax ===&lt;br /&gt;
&lt;br /&gt;
=== IncomingBufferSize ===&lt;br /&gt;
&lt;br /&gt;
=== OutgoingBufferSize ===&lt;br /&gt;
&lt;br /&gt;
=== EncryptMode ===&lt;br /&gt;
&lt;br /&gt;
=== UnreliableBufferSize ===&lt;br /&gt;
&lt;br /&gt;
=== TransportBufferSize ===&lt;br /&gt;
&lt;br /&gt;
=== FlushTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Milliseconds.&lt;br /&gt;
&lt;br /&gt;
Subgame will queue position packets for this amount of time before sending them. &#039;&#039;Setting this too high will severly lag your zone.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BandwithIdleTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Seconds.&lt;br /&gt;
&lt;br /&gt;
Subgame will stop sending position packets to a spectator after this time of inactivity. Useful for saving bandwidth.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SelectTime ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Milliseconds.&lt;br /&gt;
&lt;br /&gt;
Time delay subgame should wait for incoming packets before continuing on. This is recommended over CPU:SleepTime.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
Miscellaneous settings. (Some of these should really go elsewhere.)&lt;br /&gt;
&lt;br /&gt;
=== DisableShareware ===&lt;br /&gt;
&lt;br /&gt;
=== RegisterKickShareware ===&lt;br /&gt;
&lt;br /&gt;
=== MaxSharewarePlayers ===&lt;br /&gt;
&lt;br /&gt;
=== MaxPlayers ===&lt;br /&gt;
&lt;br /&gt;
=== MaxSharewareTime ===&lt;br /&gt;
&lt;br /&gt;
=== DisableSharewareNames ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Disables the ability for demo players to have customized names. The default displayed name will just be &amp;quot;~Demo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DisableSharewareShips ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Disables the ability for demo players to use ships 5-8.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DisableSharewareScores ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Disables the ability for demo players to retain their scores between sessions. &#039;&#039;Note:&#039;&#039; Scores will always be disabled if the players do not have a name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MenuKickOutDelay ===&lt;br /&gt;
&lt;br /&gt;
=== NoAntiInSafe ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, subgame will ignore [[AntiWarp]] of a player in a safe zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LockFreqs ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Determines whether [[Commands#Arena Management|locking]] an arena locks freqs as well as ships. (1.34.3+)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PositionDataAccess ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Enumeration.&lt;br /&gt;
&lt;br /&gt;
Determines staff level that will receive extra position data when speccing. Useful if [[Misc Settings#ExtraPositionData]] is disabled.&lt;br /&gt;
*0=Sysop (default)&lt;br /&gt;
*1=SMod+&lt;br /&gt;
*2=Mod+&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AlertCommand ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Comma-delimited list.&lt;br /&gt;
&lt;br /&gt;
If a player types any of these commands preceeded by a &#039;?&#039; followed by a message, subgame will send the message to all online staff. This is a replacement to the BanG ?cheater command. (1.34.3+)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AllowPubScorereset ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, players in public arenas may use the ?scorereset command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AllowPvtScorereset ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, players in private arenas may use the ?scorereset command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TimerDropFlagTerritoryRadius ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Tiles.&lt;br /&gt;
&lt;br /&gt;
All flags dropped when timer expires (non-neutral) will drop this radius from the ship, overriding [[Flag Settings#FlagTerritoryRadius]]. This is useful for respawning neuted flags (set FlagTerritoryRadius to 0). &#039;&#039;Special value:&#039;&#039; 0 = always use FlagTerritoryRadius.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ShipTypeSwitchResetPeriod ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Milliseconds (?).&lt;br /&gt;
&lt;br /&gt;
Determines length of time for [[Security Settings#MaxShipTypeSwitchCount]]. &#039;&#039;Special Value:&#039;&#039; 0 = disabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CheckWeapons ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
If enabled, any of the following conditions will trigger a security violation. The checks do not apply to SMod+.&lt;br /&gt;
* Bullet fired with level &amp;gt; [ship]MaxGuns + [Flag]FlaggerGunUpgrade&lt;br /&gt;
* Bouncing bullet fired and [PrizeWeight]BouncingBullets is 0 and [Cost]Bounce  is 0&lt;br /&gt;
* Bomb fired with level &amp;gt; [ship]MaxBombs + [Flag]FlaggerBombUpgrade&lt;br /&gt;
* Prox bomb fired and [PrizeWeight]Proximity is 0 and [Cost]Prox is 0&lt;br /&gt;
* Bomb fired with shrap &amp;gt; [ship]ShrapnelMax&lt;br /&gt;
* Bomb fired with bouncing shrap and [PrizeWeight]BouncingBullets is 0 and  [Cost]Bounce is 0&lt;br /&gt;
* Mine is fired and [ship]MaxMines is 0&lt;br /&gt;
* A prize is picked up and [PrizeWeight] of that prize is 0&lt;br /&gt;
* Stealth is turned on and [ship]StealthStatus is 0&lt;br /&gt;
* Cloak is turned on and [ship]CloakStatus is 0&lt;br /&gt;
* XRadar is turned on and [ship]XRadarStatus is 0&lt;br /&gt;
* Anti-Warp is turned on and [ship]AntiWarpStatus is 0&lt;br /&gt;
* Player uses UFO&lt;br /&gt;
&lt;br /&gt;
=== CheckFastBombing ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Bitfield.&lt;br /&gt;
&lt;br /&gt;
*1 - Send sysop alert when fastbombing is detected&lt;br /&gt;
*2 - Filter out fastbombs&lt;br /&gt;
*4 - Kick fastbombing player off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FastBombingThreshold ===&lt;br /&gt;
See above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LocalChat ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Comma-delimited list.&lt;br /&gt;
&lt;br /&gt;
Listed chat channels are local to the zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ForceObsceneCheck ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Forces players to have obscene checking on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== NoFlagRewardLimit ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Disables the default reward multiplier limit of 2 for [[Flag Settings#FlagRewardMode]].&lt;br /&gt;
&lt;br /&gt;
=== LogPoints ===&lt;br /&gt;
=== PointUpdateDiff ===&lt;br /&gt;
=== JackpotBroadcastPoints ===&lt;br /&gt;
=== ServerLog ===&lt;br /&gt;
=== KeepAliveDelay ===&lt;br /&gt;
=== DefaultLevelFile ===&lt;br /&gt;
=== Port ===&lt;br /&gt;
=== AllowVIEClients ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Determines whether VIE [[SubSpace]] users are allowed to enter zone at all.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== StaffChat ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Comma-delimited list.&lt;br /&gt;
&lt;br /&gt;
These chat channels are only joinable by Mods+.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ForceContinuumOnly ===&lt;br /&gt;
=== ServerIP ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CPU ==&lt;br /&gt;
=== LoopDelay ===&lt;br /&gt;
=== ProcessMaxTime ===&lt;br /&gt;
=== SleepPerIteration ===&lt;br /&gt;
=== SlowIterationWarningLevel ===&lt;br /&gt;
=== SleepTime ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Permission ==&lt;br /&gt;
=== AllowBadMachineId ===&lt;br /&gt;
=== AllowLowBandwidth ===&lt;br /&gt;
=== MinimumSecondsToLogin ===&lt;br /&gt;
=== PermissionMaxPoints ===&lt;br /&gt;
=== PermissionMode ===&lt;br /&gt;
=== AutoPermissionPoints ===&lt;br /&gt;
=== AutoPermissionIDList ===&lt;br /&gt;
=== AutoPermissionMessage ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Password ==&lt;br /&gt;
=== SysopPassword ===&lt;br /&gt;
EnergyPassword=&lt;br /&gt;
=== ModeratorPassword ===&lt;br /&gt;
=== SuperModeratorPassword ===&lt;br /&gt;
VIPPassword=&lt;br /&gt;
//Change all to what you want&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Billing ==&lt;br /&gt;
Configures subgame&#039;s interaction with the [[biller]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LogMessages ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Boolean.&lt;br /&gt;
&lt;br /&gt;
Enables &amp;quot;logging&amp;quot; of commands to the biller. It is recommended to turn this off, as it normally just wastes bandwidth.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== IP ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; IP/DNS address.&lt;br /&gt;
&lt;br /&gt;
The address of the biller. If you are running the biller on the same computer as subgame, set this to &amp;lt;tt&amp;gt;localhost&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Password ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; String.&lt;br /&gt;
&lt;br /&gt;
The password to connect to the biller. Normally, this should be the same as subbill.ini&#039;s Misc:Password.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ServerName ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; String.&lt;br /&gt;
&lt;br /&gt;
The name of the zone that will be sent to the biller upon connection. This will also be sent to the directory server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Port ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Integer.&lt;br /&gt;
&lt;br /&gt;
The port to connect to the biller, which should be equal to subbill.ini&#039;s Misc:Port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ServerId ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Integer.&lt;br /&gt;
&lt;br /&gt;
The ServerID sent to the biller. This is not often used and should be equal to Misc:Port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== GroupId ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Integer.&lt;br /&gt;
&lt;br /&gt;
The group this server will join on the biller. This has to do with group operators, and is recommended to leave set to &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ScoreId ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Integer.&lt;br /&gt;
&lt;br /&gt;
The ScoreID of the server which the biller will use to identify your server between connections. This should normally be the same as Misc:Port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ReconnectTime ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AttemptTime ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advertise ==&lt;br /&gt;
These settings control subgame&#039;s built-in advertisement capability. To use advertisements, just create bitmaps in the SS Palette and save them in the subgame directory as ad0.bmp,ad1.bmp, etc. Prefix the name with &amp;quot;s_&amp;quot; to send to shareware players, with &amp;quot;r_&amp;quot; to send to registered players, and &amp;quot;b_&amp;quot; to send to both. For example, &amp;quot;b_ad0.bmp&amp;quot;. Subgame will then randomly pick advertisements to display to players.&lt;br /&gt;
&lt;br /&gt;
=== SendMode ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Sum (bitfield).&lt;br /&gt;
&lt;br /&gt;
Determines when advertisements are sent.&lt;br /&gt;
*1 = send them when the player enters the zone only.&lt;br /&gt;
*2 = send them when player dies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== DisplayMode ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Enumeration.&lt;br /&gt;
&lt;br /&gt;
*0 = at top of screen behind all other graphics.&lt;br /&gt;
*1 = at top of screen on top of all other graphics.&lt;br /&gt;
*2 = floating around like a backdrop.&lt;br /&gt;
&lt;br /&gt;
=== Duration ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Milliseconds.&lt;br /&gt;
&lt;br /&gt;
Length of time an advertisement is displayed. &#039;&#039;Special Value:&#039;&#039; 0 = always on.&lt;br /&gt;
&lt;br /&gt;
== Directory ==&lt;br /&gt;
These settings configure subgame&#039;s interaction with the [[directory server]].&lt;br /&gt;
&lt;br /&gt;
=== IP ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; IP/DNS list.&lt;br /&gt;
&lt;br /&gt;
List of directory servers subgame will send its entry to. As of 24 May 2005, the following list is recommended:&lt;br /&gt;
&amp;lt;pre&amp;gt;sscentral.ds98.com,sscentral.subspace.inet.fi,sscentral.subspacehq.com&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; String.&lt;br /&gt;
&lt;br /&gt;
This description will be sent to the directory server to be associated with your zone. Include an ss:// DNS address to have Continuum keep your IP up to date.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== NamePassword ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; String.&lt;br /&gt;
&lt;br /&gt;
The password associated with the zone&#039;s server prefix. All zones with the same prefix must have the same NamePassword or the Directory server will not list them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Port ===&lt;br /&gt;
&#039;&#039;Datatype:&#039;&#039; Integer.&lt;br /&gt;
&lt;br /&gt;
Leave this set to &amp;lt;tt&amp;gt;4991&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
	<entry>
		<id>https://wiki.minegoboom.com/index.php?title=Subbill&amp;diff=3678</id>
		<title>Subbill</title>
		<link rel="alternate" type="text/html" href="https://wiki.minegoboom.com/index.php?title=Subbill&amp;diff=3678"/>
		<updated>2005-08-21T18:49:20Z</updated>

		<summary type="html">&lt;p&gt;Cyan~Fire: basic command information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Subbill&#039;&#039;&#039; is the default billing server that comes with subgame2. It lacks many features of other billers, uses CPU time ineffectively, and has no banning system.&lt;br /&gt;
&lt;br /&gt;
Subbill offers the following commands:&lt;br /&gt;
*?login password = logs into server as sysop so you can do these commands&lt;br /&gt;
*?adduser Name:Password = adds specified user to database (for closed systems)&lt;br /&gt;
*?changepassword Name:Password = changes a users password&lt;br /&gt;
&lt;br /&gt;
As well as the following key combinations when the subbill console is focused:&lt;br /&gt;
*F11 = Shows stats (not very useful)&lt;br /&gt;
*Shift-F11 = Resets scores&lt;br /&gt;
*Shift-F12 = Saves and shutdown the Subbill server&lt;/div&gt;</summary>
		<author><name>Cyan~Fire</name></author>
	</entry>
</feed>