<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://staging-wiki.unvanquished.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Melanosuchus</id>
	<title>Unvanquished - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://staging-wiki.unvanquished.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Melanosuchus"/>
	<link rel="alternate" type="text/html" href="https://staging-wiki.unvanquished.net/wiki/Special:Contributions/Melanosuchus"/>
	<updated>2026-04-04T20:28:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://staging-wiki.unvanquished.net/index.php?title=Server/Running&amp;diff=3842</id>
		<title>Server/Running</title>
		<link rel="alternate" type="text/html" href="https://staging-wiki.unvanquished.net/index.php?title=Server/Running&amp;diff=3842"/>
		<updated>2016-02-15T22:59:56Z</updated>

		<summary type="html">&lt;p&gt;Melanosuchus: /* Cvars */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Servers can be quickly setup over LAN by starting a match in-game, however this is not as powerful or efficient as running a dedicated server separately.&lt;br /&gt;
&lt;br /&gt;
= Starting the Server =&lt;br /&gt;
The executable 'daemonded' (daemon dedicated) should be included with your installation.  Check your install directories:&lt;br /&gt;
&lt;br /&gt;
{{Game Locations}}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
 ./daemonded +set fs_libpath /usr/lib/unvanquished +set fs_basepath /var/lib/unvanquished&lt;br /&gt;
&lt;br /&gt;
Quick list of useful options:&lt;br /&gt;
* ''+nocurses'' &amp;amp;mdash; disabled ncurses console interface, so messages remain on-screen after crashes.&lt;br /&gt;
* ''+map mapname'' &amp;amp;mdash; without a map the server will kill itself&lt;br /&gt;
&lt;br /&gt;
=Netiquette=&lt;br /&gt;
Unvanquished is currently a small community.  Please don't aim to create a server in order to only compete for players &amp;amp;mdash; division of players will disallow larger matches.&lt;br /&gt;
&lt;br /&gt;
=Specs=&lt;br /&gt;
Port 27960 (default quake 3 server port)&lt;br /&gt;
&lt;br /&gt;
= Configuration and Operation =&lt;br /&gt;
&lt;br /&gt;
To discover more commands than are listed here: type a first letter (eg 'g') and press '''Tab''' to list available options starting with that letter.  If you are in a terminal: '''Shift+Page Up''' allows you to scroll and the opposite for down.&lt;br /&gt;
&lt;br /&gt;
* [[Server/Map Rotation|Server/Map Rotation]]&lt;br /&gt;
* [[Server/Map layouts|Server/Map layouts]] &amp;amp;mdash; default building locations&lt;br /&gt;
&lt;br /&gt;
==Server Config File==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Platform&lt;br /&gt;
! Location&lt;br /&gt;
|-&lt;br /&gt;
| *nix&lt;br /&gt;
|  /etc/conf.d/unvanquished.conf &amp;lt;br&amp;gt; /etc/unvanquished/&lt;br /&gt;
|-&lt;br /&gt;
| Windows&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
| Mac&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ensure your server mode is not set to '2' unless you want your server to be listed for other players.&lt;br /&gt;
&lt;br /&gt;
 # Server mode&lt;br /&gt;
 # 0 - local server&lt;br /&gt;
 # 1 - LAN server&lt;br /&gt;
 # 2 - public server&lt;br /&gt;
&lt;br /&gt;
Public servers will want to set sv_hostname to a non-default value&lt;br /&gt;
&lt;br /&gt;
==Commands==&lt;br /&gt;
Please add common and useful commands, not every one&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| devmap&lt;br /&gt;
| Loads a map with sv_cheats enabled.  sv_cheats cannot otherwise be changed during play&lt;br /&gt;
|-&lt;br /&gt;
| listadmins&lt;br /&gt;
| List current admins in-game&lt;br /&gt;
|-&lt;br /&gt;
| listlayouts&lt;br /&gt;
| List available layouts (for this map?)&lt;br /&gt;
|-&lt;br /&gt;
| listplayers&lt;br /&gt;
| List current players in-game&lt;br /&gt;
|-&lt;br /&gt;
| listmaps&lt;br /&gt;
| List maps available to the server&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Cvars==&lt;br /&gt;
Please add common and useful cvars, not every one&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Cvar&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| g_dretchPunt&lt;br /&gt;
| Allow dretches to be pushes out of the way by bigger aliens?{{Verify}}&lt;br /&gt;
|-&lt;br /&gt;
| g_friendlyfire&lt;br /&gt;
| Allows players to hurt their team&lt;br /&gt;
|- &lt;br /&gt;
| g_gravity&lt;br /&gt;
| Gravity.&lt;br /&gt;
|-&lt;br /&gt;
| sv_maxclients&lt;br /&gt;
| Maximum number of joined players{{Verify}}&lt;br /&gt;
|-&lt;br /&gt;
| g_maxGameClients&lt;br /&gt;
| Maximum number of players in teams (ignoring spectators){{Verify}}&lt;br /&gt;
|-&lt;br /&gt;
| g_motd&lt;br /&gt;
| Message displayed to joining players (Message Of The Day)&lt;br /&gt;
|-&lt;br /&gt;
| g_needpass&lt;br /&gt;
| Whether passwords are enforced on game entry or not&lt;br /&gt;
|-&lt;br /&gt;
| g_password&lt;br /&gt;
| Password to enter game&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Melanosuchus</name></author>
	</entry>
	<entry>
		<id>https://staging-wiki.unvanquished.net/index.php?title=Server/Map_rotation&amp;diff=3841</id>
		<title>Server/Map rotation</title>
		<link rel="alternate" type="text/html" href="https://staging-wiki.unvanquished.net/index.php?title=Server/Map_rotation&amp;diff=3841"/>
		<updated>2016-02-14T18:45:26Z</updated>

		<summary type="html">&lt;p&gt;Melanosuchus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;maprotation.cfg holds a [[Server/Running|server's]] default map rotation.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Basic Format =&lt;br /&gt;
&lt;br /&gt;
This list will indefinitely loop&lt;br /&gt;
&lt;br /&gt;
 maprotation1 {&lt;br /&gt;
  atcs&lt;br /&gt;
  tremor&lt;br /&gt;
  niveus&lt;br /&gt;
  karith&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= Advanced Logic =&lt;br /&gt;
&lt;br /&gt;
 #label&lt;br /&gt;
&lt;br /&gt;
Labels are used as location markers.  They can bee 'seeked' to using a goto statement:&lt;br /&gt;
&lt;br /&gt;
 goto #label&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more advanced logic IF statements can be used.&lt;br /&gt;
 if STATEMENT then ACTION&lt;br /&gt;
&lt;br /&gt;
Where STATEMENT is one of:&lt;br /&gt;
* numClients ( &amp;gt; or &amp;lt; or = ) (number)&lt;br /&gt;
* lastwin (aliens or humans)&lt;br /&gt;
* random&lt;br /&gt;
&lt;br /&gt;
...and ACTION is either a map or label to goto.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &lt;br /&gt;
 tremor&lt;br /&gt;
 &lt;br /&gt;
 #mainloop&lt;br /&gt;
 if numClients &amp;gt; 8 lightning&lt;br /&gt;
 if numClients &amp;lt; 4 nano&lt;br /&gt;
 psuedopolis&lt;br /&gt;
 ankh-morpork&lt;br /&gt;
 &lt;br /&gt;
 if lastwin humans #mainloop&lt;br /&gt;
 humanmurder&lt;br /&gt;
&lt;br /&gt;
= Misc Notes =&lt;br /&gt;
* If you want to reverse a 'goto', use 'return'&lt;br /&gt;
* 'goto' can go to a label in another rotation, and 'resume' will return to the last rotation.&lt;/div&gt;</summary>
		<author><name>Melanosuchus</name></author>
	</entry>
	<entry>
		<id>https://staging-wiki.unvanquished.net/index.php?title=Coding&amp;diff=3840</id>
		<title>Coding</title>
		<link rel="alternate" type="text/html" href="https://staging-wiki.unvanquished.net/index.php?title=Coding&amp;diff=3840"/>
		<updated>2015-11-14T11:08:13Z</updated>

		<summary type="html">&lt;p&gt;Melanosuchus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Game ==&lt;br /&gt;
* [[Getting the source]]&lt;br /&gt;
* [[Compiling the source]]&lt;br /&gt;
* [[Using Unvanquished from git]]&lt;br /&gt;
* [[Development environments]]&lt;br /&gt;
&lt;br /&gt;
== Source code ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Game:&lt;br /&gt;
* [https://github.com/Unvanquished/Unvanquished Game/engine source] ([https://github.com/Unvanquished/Unvanquished/issues bug tracker])&lt;br /&gt;
&lt;br /&gt;
Sub-projects:&lt;br /&gt;
* [https://github.com/Unvanquished/Osavul Osavul server browser source] ([https://github.com/Unvanquished/Osavul/issues bug tracker])&lt;br /&gt;
* [https://github.com/Unvanquished/unvanquished-master Master server source] ([https://github.com/Unvanquished/unvanquished-master/issues bug tracker])&lt;br /&gt;
* [[Tools/Chameleon|Chameleon]] [https://github.com/Unvanquished/Chameleon source]&lt;br /&gt;
* [[Tools/Archipelago|Archipelago]] [https://github.com/velociostrich/remapper source] ([https://github.com/velociostrich/remapper/issues bug tracker])&lt;br /&gt;
&lt;br /&gt;
Related/used projects:&lt;br /&gt;
* [https://github.com/harmonise/BitRock Installer source] ([https://github.com/harmonise/BitRock/issues bug tracker])&lt;br /&gt;
&lt;br /&gt;
== New Documentation ==&lt;br /&gt;
* [[Coding/Cvars|Creating Cvars]]&lt;br /&gt;
&lt;br /&gt;
==Documentation (Possibly outdated)==&lt;br /&gt;
* [[Technical Documentation]] has overviews, links and tips for getting started with the source&lt;br /&gt;
* [[Engine]]&lt;br /&gt;
* [[UI Implementation]]&lt;br /&gt;
* [[GSoC idea list]]&lt;br /&gt;
* [[List future ideas etherpad]]&lt;br /&gt;
&lt;br /&gt;
==Contributing==&lt;br /&gt;
&lt;br /&gt;
* [[Coding convention]]&lt;br /&gt;
* [[Contributing/Code|Contributing code]]&lt;/div&gt;</summary>
		<author><name>Melanosuchus</name></author>
	</entry>
	<entry>
		<id>https://staging-wiki.unvanquished.net/index.php?title=Coding/Cvars&amp;diff=3839</id>
		<title>Coding/Cvars</title>
		<link rel="alternate" type="text/html" href="https://staging-wiki.unvanquished.net/index.php?title=Coding/Cvars&amp;diff=3839"/>
		<updated>2015-11-14T11:05:49Z</updated>

		<summary type="html">&lt;p&gt;Melanosuchus: Basic information on Cvar classes and some examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Classes that handle Cvars are defined in {{SourceFile|daemon/src/common/Cvar.h}}.&lt;br /&gt;
&lt;br /&gt;
= Registering Cvars from the sources =&lt;br /&gt;
Instantiate an object of the correct class with static storage.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
static Cvar::Cvar&amp;lt;std::string&amp;gt; some_cvar(&lt;br /&gt;
    &amp;quot;cvar_name&amp;quot;,&lt;br /&gt;
    &amp;quot;Cvar description&amp;quot;,&lt;br /&gt;
    Cvar::NONE,&lt;br /&gt;
    &amp;quot;default value&amp;quot;&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
Log::Debug(&amp;quot;The value of the cvar is %s&amp;quot;, *some_cvar);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cvar types =&lt;br /&gt;
&lt;br /&gt;
== Cvar::Cvar ==&lt;br /&gt;
Allows to define cvars that can hold simple values, while it is a template it requires a parser and serializer for the type it should contain.&lt;br /&gt;
&lt;br /&gt;
By default, these types are supported out of the box:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Cvar::Cvar&amp;lt;bool&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Cvar::Cvar&amp;lt;int&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Cvar::Cvar&amp;lt;float&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Cvar::Cvar&amp;lt;std::string&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cvar::Callback ==&lt;br /&gt;
This is a curiously recurring wrapper that allows execution of arbitrary code on cvar changes.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
static Cvar::Callback&amp;lt;Cvar::Cvar&amp;lt;std::string&amp;gt;&amp;gt; best(&lt;br /&gt;
	&amp;quot;best&amp;quot;,&lt;br /&gt;
	&amp;quot;Who is the best?&amp;quot;,&lt;br /&gt;
	Cvar::NONE,&lt;br /&gt;
	&amp;quot;&amp;quot;,&lt;br /&gt;
	[](const std::string&amp;amp; name){&lt;br /&gt;
		Log::Notice(&amp;quot;%s is the best&amp;quot;, name);&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cvar::Callback ==&lt;br /&gt;
This is a curiously recurring wrapper that allows execution of arbitrary code on cvar changes.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
static Cvar::Callback&amp;lt;Cvar::Cvar&amp;lt;std::string&amp;gt;&amp;gt; best(&lt;br /&gt;
	&amp;quot;best&amp;quot;,&lt;br /&gt;
	&amp;quot;Who is the best?&amp;quot;,&lt;br /&gt;
	Cvar::NONE,&lt;br /&gt;
	&amp;quot;&amp;quot;,&lt;br /&gt;
	[](const std::string&amp;amp; name){&lt;br /&gt;
		Log::Notice(&amp;quot;%s is the best&amp;quot;, name);&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cvar::Modified ==&lt;br /&gt;
This is a curiously recurring wrapper that allows querying whether the value has changed.&lt;br /&gt;
&lt;br /&gt;
== Cvar::Range ==&lt;br /&gt;
This is a curiously recurring wrapper that limits cvars whose value_type has a meaningful ordering relation&lt;br /&gt;
to be within the given range.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
static Cvar::Range&amp;lt;Cvar::Cvar&amp;lt;int&amp;gt;&amp;gt; percent(&lt;br /&gt;
	&amp;quot;percent&amp;quot;,&lt;br /&gt;
	&amp;quot;%&amp;quot;,&lt;br /&gt;
	Cvar::NONE,&lt;br /&gt;
	100,&lt;br /&gt;
	0,&lt;br /&gt;
	100&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Customizing ==&lt;br /&gt;
Creating customized cvar types with special restrictions is pretty straightforward.&lt;br /&gt;
&lt;br /&gt;
=== Example (Combining existing classes) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
static Cvar::Range&amp;lt;Cvar::Callback&amp;lt;Cvar::Cvar&amp;lt;int&amp;gt;&amp;gt;&amp;gt; bottles_of_beer(&lt;br /&gt;
	&amp;quot;bottles_of_beer&amp;quot;,&lt;br /&gt;
	&amp;quot;Number of bottles of beer on the wall&amp;quot;,&lt;br /&gt;
	Cvar::NONE,&lt;br /&gt;
	99,&lt;br /&gt;
	0,&lt;br /&gt;
	99,&lt;br /&gt;
	[](int n) {&lt;br /&gt;
		Log::Notice(&amp;quot;%-2d bottles of beer on the wall, %2d bottles of beer.&amp;quot;, n, n);&lt;br /&gt;
		if ( n &amp;gt; 0 )&lt;br /&gt;
		{&lt;br /&gt;
			Log::Notice(&amp;quot;Take one down, pass it around, %3d bottles of beer on the wall...&amp;quot;, n-1);&lt;br /&gt;
			bottles_of_beer.Set(n-1);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example (Custom class) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class HexCvar : public Cvar::Cvar&amp;lt;std::string&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
	using Cvar::Cvar;&lt;br /&gt;
&lt;br /&gt;
private:&lt;br /&gt;
	::Cvar::OnValueChangedResult Validate(const value_type&amp;amp; value) override&lt;br /&gt;
	{&lt;br /&gt;
		if ( std::all_of( value.begin(), value.end(), Str::cisxdigit ) )&lt;br /&gt;
		{&lt;br /&gt;
			return { true, &amp;quot;&amp;quot; };&lt;br /&gt;
		}&lt;br /&gt;
		return { false, &amp;quot;Must be hex!&amp;quot; };&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
static HexCvar cvar_hex(&lt;br /&gt;
	&amp;quot;hex&amp;quot;,&lt;br /&gt;
	&amp;quot;Must be hex&amp;quot;,&lt;br /&gt;
	Cvar::NONE,&lt;br /&gt;
	&amp;quot;&amp;quot;&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Melanosuchus</name></author>
	</entry>
	<entry>
		<id>https://staging-wiki.unvanquished.net/index.php?title=Colours&amp;diff=3833</id>
		<title>Colours</title>
		<link rel="alternate" type="text/html" href="https://staging-wiki.unvanquished.net/index.php?title=Colours&amp;diff=3833"/>
		<updated>2015-10-24T18:04:55Z</updated>

		<summary type="html">&lt;p&gt;Melanosuchus: Update the new color notation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Font colors are used by prefixing text with &amp;lt;code&amp;gt;^&amp;lt;var&amp;gt;char&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt; as shown in the following table:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- wrap numbers in code tags so that they appear aligned --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value&lt;br /&gt;
! Color&lt;br /&gt;
! Hex&lt;br /&gt;
! Floating-point&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#333333&amp;quot;&amp;gt;Dark Grey&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#333333&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0.2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.2&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Red&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#FF0000&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#00FF00&amp;quot;&amp;gt;Green&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#00FF00&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#FFFF00&amp;quot;&amp;gt;Yellow&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#FFFF00&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#0000FF&amp;quot;&amp;gt;Blue&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#0000FF&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#00FFFF&amp;quot;&amp;gt;Cyan&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#00FFFF&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#FF00FF&amp;quot;&amp;gt;Magenta&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#FF00FF&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt; || style=&amp;quot;background-color:#888;&amp;quot; | &amp;lt;span style=&amp;quot;color:#FFFFFF;&amp;quot;&amp;gt;White&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#FFFFFF&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#FF7F00&amp;quot;&amp;gt;Orange&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#FF7F00&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#7F7F7F&amp;quot;&amp;gt;Light Grey&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#7F7F7F&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#BFBFBF&amp;quot;&amp;gt;Lighter Grey&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#BFBFBF&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0.75&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.75&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.75&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#BFBFBF&amp;quot;&amp;gt;Lighter Grey&amp;lt;ref&amp;gt;&amp;lt;code&amp;gt;^;&amp;lt;/code&amp;gt; is reserved for use by the game code. The colour may vary.&amp;lt;/ref&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#BFBFBF&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0.75&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.75&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.75&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#007F00&amp;quot;&amp;gt;Forest Green&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#007F00&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#7F7F00&amp;quot;&amp;gt;Olive Drab&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#7F7F00&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#00007F&amp;quot;&amp;gt;Navy Blue&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#00007F&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#7F0000&amp;quot;&amp;gt;Maroon&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#7F0000&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;@&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#7F3F00&amp;quot;&amp;gt;Brown&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#7F3F00&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.25&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#FF9919&amp;quot;&amp;gt;Light Orange&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#FF9919&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.6&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.1&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#007F7F&amp;quot;&amp;gt;Teal&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#007F7F&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#7F007F&amp;quot;&amp;gt;Purple&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#7F007F&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#007FFF&amp;quot;&amp;gt;Baby Blue&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#007FFF&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#7F00FF&amp;quot;&amp;gt;Periwinkle&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#7F00FF&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;F&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#3399CC&amp;quot;&amp;gt;Turqouise&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#3399CC&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0.2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.6&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.8&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;G&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#CCFFCC&amp;quot;&amp;gt;Pastel Green&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#CCFFCC&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0.8&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.8&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#006633&amp;quot;&amp;gt;Dark Green&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#006633&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.4&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.2&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#FF0033&amp;quot;&amp;gt;Firetruck Red&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#FF0033&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.2&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#B21919&amp;quot;&amp;gt;Running out of Names Red&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#B21919&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0.7&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.1&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#993300&amp;quot;&amp;gt;Dark Red&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#993300&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0.6&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#CC9933&amp;quot;&amp;gt;Dark Orange&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#CC9933&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0.8&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.6&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.2&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#999933&amp;quot;&amp;gt;Beige, Kinda&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#999933&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;0.6&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.6&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.2&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#FFFFBF&amp;quot;&amp;gt;Peach&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#FFFFBF&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.75&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;O&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color:#FFFF7F&amp;quot;&amp;gt;Light Yellow&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;#FFFF7F&amp;lt;/code&amp;gt;&lt;br /&gt;
| (&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0.5&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;^&amp;lt;/code&amp;gt;&lt;br /&gt;
| Literal &amp;lt;code&amp;gt;^&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reset colour&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;''rgb''&lt;br /&gt;
| 12 bit hexadecimal RGB notation&lt;br /&gt;
| &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;''rrggbb''&lt;br /&gt;
| (''r''/15, ''g''/15, ''b''/15)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;''rrggbb''&lt;br /&gt;
| 24 bit hexadecimal RGB notation&lt;br /&gt;
| &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;''rrggbb''&lt;br /&gt;
| (''rr''/255, ''gg''/255, ''bb''/255)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anything else, e.g. &amp;lt;code&amp;gt;^!&amp;lt;/code&amp;gt;, results in both characters being displayed with no colour change.&lt;br /&gt;
&lt;br /&gt;
For example, entering &amp;lt;code&amp;gt;^1h^8h^3h^2h^4h^6h&amp;lt;/code&amp;gt; would result in &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#FF8000&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#FFFF00&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#00FF00&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#0000FF&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#FF00FF&amp;quot;&amp;gt;h&amp;lt;/span&amp;gt; being displayed.&lt;br /&gt;
&lt;br /&gt;
{{Note|header=Developer Note|content=Console font colors are controlled by the &amp;lt;code&amp;gt;g_color_table&amp;lt;/code&amp;gt; array.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Melanosuchus</name></author>
	</entry>
</feed>