<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://fcraft.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=F</id>
	<title>fCraft Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://fcraft.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=F"/>
	<link rel="alternate" type="text/html" href="https://fcraft.net/wiki/Special:Contributions/F"/>
	<updated>2026-08-13T12:33:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Template:Rperm&amp;diff=2650</id>
		<title>Template:Rperm</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Template:Rperm&amp;diff=2650"/>
		<updated>2026-08-13T09:10:34Z</updated>

		<summary type="html">&lt;p&gt;F: 1.19→1.46 upgrade: SubString extension dropped; ParserFunctions #sub is equivalent&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{perm|{{{1}}}}}[[Category:Requires {{{1}}}|{{#sub:{{PAGENAME}}|1}}]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Main_Page&amp;diff=2646</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Main_Page&amp;diff=2646"/>
		<updated>2020-01-08T20:44:14Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:20px&amp;quot;&amp;gt;&#039;&#039;&#039;Welcome to fCraft documentation Wiki.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
fCraft is a custom [http://www.minecraftwiki.net/wiki/Classic Minecraft Classic] game server written in [http://en.wikipedia.org/wiki/C_Sharp_(programming_language) C#]. Designed to be compatible with the default client, fCraft offers better performance and incorporates many new features. fCraft is free/open-source software, available under [[Licensing|MIT License]].&lt;br /&gt;
&lt;br /&gt;
Development of fCraft stopped around 2014. Source code is available on [https://github.com/fragmer/fCraft/ GitHub].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:48%;float:left;margin-right:4%&amp;quot;&amp;gt;&lt;br /&gt;
=Getting Started=&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-size:150%&amp;quot;&amp;gt;Download fCraft: {{LatestVersion}}&amp;lt;/span&amp;gt;&#039;&#039;&#039; ([[version history|changelog]])&lt;br /&gt;
* [[Installation instructions]]&lt;br /&gt;
* [[Troubleshooting]]&lt;br /&gt;
* [http://forum.fcraft.net/viewforum.php?f=15 Get support]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;width:48%;float:left&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=fCraft for Players=&lt;br /&gt;
* [[:Category:Commands|Commands]] and [[Command Tips|command tips]]&lt;br /&gt;
* [[Blocks]]&lt;br /&gt;
* [[List of brushes|Brushes]]&lt;br /&gt;
* Chat [[colors]] and [[emotes]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;width:48%;float:left;margin-right:4%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=fCraft for Server Operators=&lt;br /&gt;
* [[List_of_config_keys|Configuration]]&lt;br /&gt;
* [[:Category:Tools|Tools]]&lt;br /&gt;
* [[Permissions]]&lt;br /&gt;
* [[List of command-line options|Command-line options]] and [[List of exit codes|exit codes]]&lt;br /&gt;
* [http://forum.fcraft.net/viewforum.php?f=5 Report a bug]&lt;br /&gt;
* [http://forum.fcraft.net/viewforum.php?f=14 Suggest a feature]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;width:48%;float:left&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=fCraft for Modders=&lt;br /&gt;
* [http://forum.fcraft.net/viewtopic.php?f=40&amp;amp;t=2165 Modding FAQ]&lt;br /&gt;
* [http://forum.fcraft.net/viewforum.php?f=40 Mod forums]&lt;br /&gt;
* [[Architecture|Architecture overview]]&lt;br /&gt;
* [[Mod Examples]]&lt;br /&gt;
* [http://www.fcraft.net/api/0.642/ API Reference] (work in progress)&lt;br /&gt;
* [[Licensing]]&lt;br /&gt;
* [[:Category:Dev|Misc dev articles]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Alert|&#039;&#039;&#039;fCraft is a Minecraft Classic server. It does NOT work with Minecraft 1.6/SMP/CMP&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to contribute to the fCraft wiki, [[Special:RequestAccount|request an account]]. Also please see [[Help:Contents|this help page]] before editing.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Mod_Examples&amp;diff=2645</id>
		<title>Mod Examples</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Mod_Examples&amp;diff=2645"/>
		<updated>2018-08-09T13:26:24Z</updated>

		<summary type="html">&lt;p&gt;F: Minor edit to force page regen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page demonstrates examples of modifying and extending fCraft via source code modification.&lt;br /&gt;
&lt;br /&gt;
==Hooking up custom code==&lt;br /&gt;
{{warning|This method of modding fCraft&#039;s code directly will be obsoleted if/when the plugin system is done}}&lt;br /&gt;
Until the proper Plugin API is finished, I recommend minimizing edits to fCraft&#039;s existing files, and trying to contain all custom code in your own namespace/files. You will need to make at least one change to Server.cs though, to add your code to run on startup. Use that very first call to subscribe to various events. For detailed information about the startup procedure, see [[API: Startup]].&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
// Add this to beginning of Server.InitServer&lt;br /&gt;
ClassWithMyMods.Init();&lt;br /&gt;
&lt;br /&gt;
// Meanwhile, in ClassWithMyMods:&lt;br /&gt;
// Use this to hook up events. Dont do anything else quite yet.&lt;br /&gt;
public static void Init(){&lt;br /&gt;
    Server.Initialized += MyServerInitializedHandler;&lt;br /&gt;
    Server.Started += MyServerStartedHandler;&lt;br /&gt;
    // etc events&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// This is where you can go ahead and register custom commands, brushes, etc&lt;br /&gt;
// Server.Initialized is invoked after everything else in Server.InitServer() is done&lt;br /&gt;
static void MyServerInitializedHandler( object sender, EventArgs e ){&lt;br /&gt;
    CommandManager.RegisterCustomCommand( CdMyCommandStuff );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// This is where you can start timers, open up ports, manipulate world list, etc&lt;br /&gt;
// Server.Started is invoked just after server fully finished its startup routine&lt;br /&gt;
static void MyServerStartedHandler( object sender, EventArgs e ){&lt;br /&gt;
    Scheduler.NewTask( MyTask ).RunForever( myTaskInterval );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Calling custom code at regular intervals==&lt;br /&gt;
The following example will call &#039;&#039;&#039;BleepTask&#039;&#039;&#039; method every 10 seconds.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
// Interval at which your callback is called&lt;br /&gt;
TimeSpan bleepInterval = TimeSpan.FromSeconds( 10 );&lt;br /&gt;
&lt;br /&gt;
// Adding your callback&lt;br /&gt;
Scheduler.NewTask( BleepTask ).RunForever( bleepInterval );&lt;br /&gt;
&lt;br /&gt;
// Your callback. Implements SchedulerCallback delegate.&lt;br /&gt;
void BleepTask( SchedulerTask task ){&lt;br /&gt;
    Chat.Say( Player.Console, &amp;quot;bleep&amp;quot; );&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Besides &#039;&#039;&#039;RunForever(TimeSpan)&#039;&#039;&#039;, SchedulerTask has many &#039;&#039;&#039;Run*&#039;&#039;&#039; methods for running a task once, several times, or forever - with different delays and at different intervals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Checking incoming players==&lt;br /&gt;
There are many events fired while the player is connecting. For a full explanation, see [[API: Login]]. For example &#039;&#039;&#039;Player.Connected&#039;&#039;&#039; event is fired after fCraft looks player up in the database/verifies name/checks bans, but just before a handshake reply is sent to the player. This event allows addition more checks before player is allowed into the server.&lt;br /&gt;
Here we&#039;re using &#039;&#039;&#039;Player.Ready&#039;&#039;&#039; event, which is fired when a player is fully connected, and just after they join the main map. This is where all announcement code should go.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
// Subscribing to the event&lt;br /&gt;
Player.Ready += OnPlayerReady;&lt;br /&gt;
&lt;br /&gt;
// Event handler&lt;br /&gt;
void OnPlayerReady( object sender, PlayerEventArgs e ) {&lt;br /&gt;
    // if connecting player is of highest rank (presumably owner)&lt;br /&gt;
    if( e.Player.Info.Rank == RankManager.HighestRank ) {&lt;br /&gt;
        // Get a list of players who can see them join&lt;br /&gt;
        // (to avoid accidentally revealing hidden owners)&lt;br /&gt;
        var playersToMsg = Server.Players.CanSee( e.Player );&lt;br /&gt;
        // Spam them (use &amp;amp;Y colorcode, which maps to SayColor)&lt;br /&gt;
        playersToMsg.Message( &amp;quot;&amp;amp;YOMG THE OWNER IS HERE! EVERYONE SAY \&amp;quot;HEY {0}\&amp;quot;&amp;quot;,&lt;br /&gt;
                              e.Player.Name );&lt;br /&gt;
&lt;br /&gt;
        // or, if player&#039;s name contains the word &amp;quot;grief&amp;quot;&lt;br /&gt;
    } else if( e.Player.Name.Contains( &amp;quot;grief&amp;quot;, StringComparison.OrdinalIgnoreCase ) ) {&lt;br /&gt;
        // Spam everyone some more!&lt;br /&gt;
        Server.Message( &amp;quot;&amp;amp;YLOOK OUT! GRIEFERS ARE COMING!&amp;quot; );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Adding a new command==&lt;br /&gt;
New commands can be added by calling &#039;&#039;&#039;CommandManager.RegisterCustomCommand&#039;&#039;&#039;. You need to provide a &#039;&#039;&#039;CommandDescriptor&#039;&#039;&#039; object. If there is any conflict between your command and existing ones, or if some aspect of your command&#039;s descriptor is unacceptible, a &#039;&#039;&#039;CommandRegistrationException&#039;&#039;&#039; will be thrown.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
// Command descriptor&lt;br /&gt;
CommandDescriptor CdBleep = new CommandDescriptor {&lt;br /&gt;
    Name = &amp;quot;bleep&amp;quot;,&lt;br /&gt;
    Aliases = new[] { &amp;quot;bloop&amp;quot; },&lt;br /&gt;
    Category = CommandCategory.Chat,&lt;br /&gt;
    Permissions = new[] { Permission.Chat },&lt;br /&gt;
    Help = &amp;quot;Prints a number of bleeps in chat.&amp;quot;,&lt;br /&gt;
    Usage = &amp;quot;/bleep [Times]&amp;quot;,&lt;br /&gt;
    Handler = BleepHandler&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Command handler - must implement CommandHandler delegate&lt;br /&gt;
void BleepHandler( Player player, CommandReader cmd ) {&lt;br /&gt;
    int numberOfBleeps = 10;&lt;br /&gt;
&lt;br /&gt;
    // if a param is given&lt;br /&gt;
    if( cmd.HasNext ) {&lt;br /&gt;
        // try to parse it as a number, and save to numberOfBleeps&lt;br /&gt;
        if( !cmd.NextInt( out numberOfBleeps ) ) {&lt;br /&gt;
            // if that fails (not a number), print usage&lt;br /&gt;
            CdBleep.PrintUsage( player );&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // check the range&lt;br /&gt;
    if( numberOfBleeps &amp;lt; 1 || numberOfBleeps &amp;gt; 32 ) {&lt;br /&gt;
        player.Message( &amp;quot;Specify between 1 and 32 bleeps.&amp;quot; );&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    for( int i = 0; i &amp;lt; numberOfBleeps; i++ ) {&lt;br /&gt;
        Chat.SendGlobal( player, &amp;quot;bleep&amp;quot; );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Registering your command with the server&lt;br /&gt;
CommandManager.RegisterCustomCommand( CdBleep );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reacting to server shutdown==&lt;br /&gt;
There are two events associated with shutdown: &#039;&#039;&#039;Server.ShutdownBegan&#039;&#039;&#039; and &#039;&#039;&#039;Server.ShutdownEnded&#039;&#039;&#039;. Both supply a &#039;&#039;&#039;ShutdownEventArgs&#039;&#039;&#039; object that provides information about the shutdown parameters. For more information about how server shutdown works, see [[API: Shutdown]].&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
// Subscribing to the event&lt;br /&gt;
Server.ShutdownBegan += OnShutdownBegan;&lt;br /&gt;
&lt;br /&gt;
// Event handler&lt;br /&gt;
void OnShutdownBegan( object sender, ShutdownEventArgs e ){&lt;br /&gt;
    Console.Write( &amp;quot;The end is near!&amp;quot; );&lt;br /&gt;
    if( e.Restart ){&lt;br /&gt;
        Console.Write( &amp;quot;But we will be back shortly.&amp;quot; );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Starting selections==&lt;br /&gt;
If you need the player to mark one or more coordinates for you (for example for a draw command), you&#039;ll be using the Selection API. Call player.StartSelection(...) to initiate a selection, and return control to fCraft. If/when player marks the required number of blocks, your callback will be called. If player cancels, disconnects, or starts another selection, then your callback will not be invoked.&lt;br /&gt;
&lt;br /&gt;
Also note that while a player is in selection mode &amp;lt;code&amp;gt;Player.PlacingBlock&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Player.PlacedBlock&amp;lt;/code&amp;gt; events are not fired for clicks. &amp;lt;code&amp;gt;Player.Clicking&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Player.Clicked&amp;lt;/code&amp;gt; events are still fired.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
// This is where you start/set up the selection.&lt;br /&gt;
// You can call SelectionStart() from anywhere, really. Doesn&#039;t need to be a command handler.&lt;br /&gt;
static void ClickityHandler(Player player, CommandReader cmd) {&lt;br /&gt;
    // Random number to demonstrate argument passing. You don&#039;t need it.&lt;br /&gt;
    int randomNumber = new Random().Next();&lt;br /&gt;
    &lt;br /&gt;
    // Let player know that a selection started&lt;br /&gt;
    player.Message(&amp;quot;Click anything! Random number is {0}&amp;quot;, randomNumber);&lt;br /&gt;
&lt;br /&gt;
    // Start it!&lt;br /&gt;
    player.SelectionStart(1, // number of blocks to click (must be at least 1)&lt;br /&gt;
                          ClickitySelectionCallback, // our callback function&lt;br /&gt;
                          randomNumber,              // an argument to pass to the callback (can be anything or null)&lt;br /&gt;
                          new Permission[0]);        // you could omit this completely&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// The callback function. fCraft will call it automatically when the last block is marked.&lt;br /&gt;
static void ClickitySelectionCallback(Player player, Vector3I[] marks, object tag) {&lt;br /&gt;
    // Retrieve the parameter&lt;br /&gt;
    int randomNumber = (int)tag;&lt;br /&gt;
&lt;br /&gt;
    // Marked coordinates are in an array, in same order that they were clicked/marked.&lt;br /&gt;
    // You can assume that it has at least as many marks as you asked for (in this case, at least 1)&lt;br /&gt;
    Vector3I coord = marks[0];&lt;br /&gt;
&lt;br /&gt;
    // Let player know that it finished&lt;br /&gt;
    player.Message(&amp;quot;You clicked at coordinates {0}, and random number was {1}&amp;quot;, coord, randomNumber);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Related properties: &amp;lt;code&amp;gt;Player.DisableClickToMark&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Player.IsMakingSelection&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Player.SelectionMarkCount&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Player.SelectionMarksExpected&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Player.IsRepeatingSelection&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Related methods: &amp;lt;code&amp;gt;Player.SelectionAddMark(...)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Player.SelectionExecute()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Player.SelectionResetMarks()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Player.SelectionCancel()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Adding custom permissions==&lt;br /&gt;
To add a new permission:&lt;br /&gt;
* Add a new constant to &amp;lt;code&amp;gt;Permissions&amp;lt;/code&amp;gt; enum (&amp;lt;i&amp;gt;fCraft/Player/Permissions.cs&amp;lt;/i&amp;gt;)&lt;br /&gt;
* Give the new permission to some default ranks (at least to the highest rank), in &amp;lt;code&amp;gt;Config.DefineDefaultRanks()&amp;lt;/code&amp;gt; (&amp;lt;i&amp;gt;fCraft/System/Config.cs&amp;lt;/i&amp;gt;)&lt;br /&gt;
* Add a tooltip explaining the permission in ConfigGUI&#039;s &amp;lt;code&amp;gt;MainForm.FillToolTipsRanks()&amp;lt;/code&amp;gt; (&amp;lt;i&amp;gt;ConfigGUI/MainForm.ToolTip.cs&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
To add a per-rank limit to the new permission:&lt;br /&gt;
* For every rank that has this permission, add a default limit to &amp;lt;code&amp;gt;Config.DefineDefaultRanks()&amp;lt;/code&amp;gt; (&amp;lt;i&amp;gt;fCraft/System/Config.cs&amp;lt;/i&amp;gt;)&lt;br /&gt;
* Add a way to set the limit in ConfigGUI&#039;s &amp;lt;code&amp;gt;MainForm.FillPermissionLimitBoxes()&amp;lt;/code&amp;gt; (&amp;lt;i&amp;gt;ConfigGUI/MainForm.cs&amp;lt;/i&amp;gt;)&lt;br /&gt;
* Add a tooltip explaining the permission limit in &amp;lt;code&amp;gt;MainForm.FillToolTipsRanks()&amp;lt;/code&amp;gt; (&amp;lt;i&amp;gt;ConfigGUI/MainForm.ToolTip.cs&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
[[Category:Dev]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Version_history&amp;diff=2644</id>
		<title>Version history</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Version_history&amp;diff=2644"/>
		<updated>2017-04-30T06:51:04Z</updated>

		<summary type="html">&lt;p&gt;F: /* 0.431 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
=0.6xx=&lt;br /&gt;
===0.644===&lt;br /&gt;
&#039;&#039;27 January 2014 - r2327&#039;&#039;&lt;br /&gt;
*Fix: Fixed a bug that caused character &#039;@&#039; in player names to be treated same as &#039;_&#039; (thanks Dingus)&lt;br /&gt;
*Fix: Fixed a rare crash in {{cmd|ZEdit}} when using the command improperly.&lt;br /&gt;
*Fix: Fixed a DataError being thrown in ConfigGUI&#039;s &amp;quot;Worlds&amp;quot; tab after toggling rank prefixes on/off.&lt;br /&gt;
*Fix: Improved error reporting.&lt;br /&gt;
*Change: Improved reliability of external IP checks.&lt;br /&gt;
&lt;br /&gt;
===0.643===&lt;br /&gt;
&#039;&#039;15 October 2013 - r2234&#039;&#039;&lt;br /&gt;
*Fix: Fixed sometimes wrapping last word of a chat message to the next line, when the whole message could fit on one line (thanks AndrewPH).&lt;br /&gt;
*Fix: Installing updates no longer causes UAC prompts under Windows Vista.&lt;br /&gt;
*Fix: Fixed IRC periodically crashing if someone quits with an empty message.&lt;br /&gt;
*Fix: Fixed IRC-related crashes not being submitted to the crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.642===&lt;br /&gt;
&#039;&#039;27 August 2013 - r2180&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Fill3D}}.&lt;br /&gt;
*Feature: Added caret (^), tilde (~), and grave accent (`) to [[emotes]].&lt;br /&gt;
*Fix: Emotes work via IRC once again.&lt;br /&gt;
*Fix: ConfigGUI: Fixed &amp;quot;Add world&amp;quot; and &amp;quot;Edit world&amp;quot; popups sometimes locking up.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving LastFailedLoginIP properly.&lt;br /&gt;
*Change: Made it easy to switch heartbeat servers (minecraft.net to classicube or back) via ConfigGUI.&lt;br /&gt;
*Change: Added an optional second parameter to {{cmd|DumpStats}}, which allows specifying period of inactivity for filtering players.&lt;br /&gt;
*Change: Improved startup and shutdown times, and reduced CPU use.&lt;br /&gt;
*Change: {{cmd|Hide}} and {{cmd|Unhide}} now indicate when they are silent or not.&lt;br /&gt;
&lt;br /&gt;
===0.641===&lt;br /&gt;
&#039;&#039;17 August 2013 - r2150&#039;&#039;&lt;br /&gt;
*Feature: Improved the way {{cmd|EllipsoidH}} works on flat surfaces. Instead of filled ellipses, it now makes rings.&lt;br /&gt;
*Feature: Added {{cmd|Reply}} (&amp;lt;code&amp;gt;/re&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: {{cmd|Fill2D}} can now fill with any brush, not just solid color.&lt;br /&gt;
*Feature: Added &#039;&#039;HeartbeatUrl&#039;&#039; [[List of config keys#Advanced|config key]], to allow alternative heartbeat/authentication services. &#039;&#039;&#039;Note: [[HeartbeatSaver]] only needs to be updated IF you plan on using something other than minecraft.net&#039;&#039;&#039;&lt;br /&gt;
*Fix: Fixed a InvalidOperationException in ConfigGUI when re-drawing the map preview (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;Realistic&amp;quot; MapGen help (thanks Jonty800).&lt;br /&gt;
*Fix: Now correctly kicking custom premium-MC clients.&lt;br /&gt;
*Fix: Fixed help messages in [[HeartbeatSaver]] and {{cmd|MassRank}}.&lt;br /&gt;
*Fix: Fixed a potential way of revealing hidden players by messaging them.&lt;br /&gt;
*Change: ConfigGUI&#039;s port checker works again.&lt;br /&gt;
*Change: IRC bot will now retry for its primary nick every 30 seconds (thanks Dankirk).&lt;br /&gt;
&lt;br /&gt;
===0.640===&lt;br /&gt;
&#039;&#039;30 July 2013 - r2124&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Feature: [[Mojang accounts|Mojang account]] (email) support.&#039;&#039;&#039; Added {{perm|ViewEmails}} permission and a config option to disallow email users.&lt;br /&gt;
*Feature: Overhauled map generation! Improved {{cmd|Gen}}, new {{cmd|SetGen}} command, more options, preset loading/saving, redesigned ConfigGUI interface, and two new map generation modes: Vanilla (from [http://femto.fcraft.net FemtoCraft]) and FloatingIsland.&lt;br /&gt;
*Feature: Optional [http://www.regular-expressions.info/quickstart.html RegEx] filtering of filenames for [[MapRenderer]] and [[MapConverter]], enabled by &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Feature: Added &amp;lt;i&amp;gt;&amp;quot;Player ___ logged in from an IP shared by frozen players...&amp;quot;&amp;lt;/i&amp;gt; announcement.&lt;br /&gt;
*Feature: Added an optional parameter to toggle commands (grass, water, lava, solid, paint, static) &amp;amp;mdash; &amp;quot;on&amp;quot;/&amp;quot;1&amp;quot; or &amp;quot;off&amp;quot;/&amp;quot;0&amp;quot;.&lt;br /&gt;
*Feature: Added BackupOnMapChange config key, which automates backups when a world&#039;s map is replaced by /Gen or /WLoad (enabled by default).&lt;br /&gt;
*Feature: Added &amp;lt;code&amp;gt;/To&amp;lt;/code&amp;gt; as an alias of {{cmd|TP}}, and &amp;lt;code&amp;gt;/Flush&amp;lt;/code&amp;gt; as an alias for {{cmd|WFlush}}.&lt;br /&gt;
*Feature: [[MapRenderer]] is now much quicker, thanks to optimization and multithreading.&lt;br /&gt;
*Feature: Added ability to change capitalization of player&#039;s name using {{cmd|SetInfo}}.&lt;br /&gt;
*Fix: Fixed MapGenerator sometimes locking up when working with tiny 16x16 maps (thanks 123DMWM).&lt;br /&gt;
*Fix: Fixed world greetings not being saved between restarts (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed {{cmd|WLoad}} showing incorrect map file names when prompting to replace files (thanks Smokeybacon).&lt;br /&gt;
*Fix: Fixed [[Command_Tips#Restricting_player_name_search|online-only name prefix]] revealing hidden players in some commands (thanks Intertoothh and recon).&lt;br /&gt;
*Fix: When a spectating player gets frozen, they are no longer stuck spectating (thanks ruggedbear and NuclearWaffle121).&lt;br /&gt;
*Fix: IRC now handles two-number color codes and reset codes correctly (thanks Liam).&lt;br /&gt;
*Fix: Fixed map changes sometimes leaving behind &amp;quot;ghost maps&amp;quot; for players with rank-specific main maps set (thanks Jonty800).&lt;br /&gt;
*Fix: PlayerDB name autocompletion now correctly handles players with &#039;.&#039; in their names.&lt;br /&gt;
*Fix: Timed backups no longer drift slightly every hour.&lt;br /&gt;
*Fix: Players can now {{cmd|Clear}} their chat even while [[/Deafen|deaf]].&lt;br /&gt;
*Fix: Fixed a rare serialization issue with PlayerDB&#039;s RankChangedBy field.&lt;br /&gt;
*Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Now only allow either one directory, or one-or-more files to be specified. Multiple directories, and mixed directories/files are no longer allowed.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Disabled slow fallback conversion by default (which caused non-map files to take forever to skip in recursive mode). Old behavior can be reenabled with &amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Change: When auto-updating or restarting under Mono, fCraft no longer tries to use &amp;quot;mono-sgen&amp;quot;, now just using &amp;quot;mono&amp;quot; and assuming that runtime is properly configured.&lt;br /&gt;
*Change: {{cmd|WBuild}} and {{cmd|WAccess}} can optionally now take &amp;quot;@&amp;quot; in front of rank name.&lt;br /&gt;
*Change: Removed BackupOnJoin config key.&lt;br /&gt;
*Change: UpdateInstaller&#039;s &amp;lt;code&amp;gt;--restart&amp;lt;/code&amp;gt; parameter is more flexible.&lt;br /&gt;
*Change: Dropped Mono 2.6 support.&lt;br /&gt;
*Change: Optimizations in player movement code, PlayerDB loading/saving, IP ban list loading, map generation, map rendering, {{cmd|Ellipsoid}}, and {{cmd|Sphere}}.&lt;br /&gt;
&lt;br /&gt;
===0.639===&lt;br /&gt;
&#039;&#039;10 December 2012 - r1917&#039;&#039;&lt;br /&gt;
*Feature: Added RankPrefixesOnDisplayedNames config key (default: false), which controls whether to prepend rank prefixes to names of players with a custom DisplayedName set.&lt;br /&gt;
*Feature: Added BypassHttpsCertificateValidation config key (default: false), to ease HTTPS-related pains under Mono.&lt;br /&gt;
*Feature: Added MoveEmoteDotToEndOfMessage config key (default: true), which slightly changes emote formatting, by BobKare&#039;s request.&lt;br /&gt;
*Fix: Fixed a stability issue in the IRC bot.&lt;br /&gt;
*Fix: Fixed incorrect runtime version detection for Mono versions older than 2.6.&lt;br /&gt;
*Fix: Server now gives more informative messages when you try to do something disallowed to yourself (mute, unfreeze, ban, kick, etc).&lt;br /&gt;
*Fix: Fixed being able to teleport to hidden players (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed {{cmd|Unhide}} not faking a join message for hidden players (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed IRC bot sending USER before NICK (fixes occasional error 451) (thanks Hellenion).&lt;br /&gt;
*Change: Added ability to set players&#039; BandwidthUseMode via {{cmd|SetInfo}}.&lt;br /&gt;
*Change: Improved {{cmd|Env}}, {{cmd|UndoAreaNot}}, and {{cmd|Help}} messages.&lt;br /&gt;
*Change: Players&#039; connection messages in logs now include TimesVisited stat.&lt;br /&gt;
*Change: {{cmd|Help|commands}} is no longer an alias for {{cmd|Commands}} (thanks ruggedbear).&lt;br /&gt;
&lt;br /&gt;
===0.638===&lt;br /&gt;
&#039;&#039;29 November 2012 - r1887&#039;&#039;&lt;br /&gt;
*Feature: [[Emotes|Emote]] keywords and their Unicode equivalents can now be included in announcement and rule files.&lt;br /&gt;
*Feature: IRC bot now sends a quit message consisting of server name and shutdown reason.&lt;br /&gt;
*Fix: Fixed a very small chance of PlayerInfo.TimeMutedLeft returning negative time spans.&lt;br /&gt;
*Fix: Leading and trailing spaces are now trimmed from kick/ban/unban reasons.&lt;br /&gt;
*Fix: Fixed some emotes getting trimmed from {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} (thanks Intertoothh)&lt;br /&gt;
*Fix: Fixed RestartInterval starting two chat timers (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed ServerCLI using console colors for the first few messages even if &amp;lt;code&amp;gt;--noconsolecolor&amp;lt;/code&amp;gt; [[List of command-line options|command-line switch]] was given (thanks Hellenion)&lt;br /&gt;
*Change: Added &amp;lt;code&amp;gt;--noupdater&amp;lt;/code&amp;gt; command line switch, which stops fCraft from launching update installer binaries (although all other update-related behavior remains the same)&lt;br /&gt;
*Change: Player&#039;s own name is no longer considered in autocompletion/searches for commands that are not applicable to self (e.g. {{cmd|Ban}}, {{cmd|Mute}}, {{cmd|Ignore}}, {{cmd|TP}}, etc)&lt;br /&gt;
*Change: Logged global chat messages now have &amp;quot;(global)&amp;quot; prepended before player&#039;s name.&lt;br /&gt;
*API: Updated trunk project files to VisualStudio 2010. Target runtime remains .NET 3.5 Client Profile.&lt;br /&gt;
&lt;br /&gt;
===0.637===&lt;br /&gt;
&#039;&#039;16 October 2012 - r1847&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Emotes}} command, to list emotes and their keywords.&lt;br /&gt;
*Fix: Fixed IRC bot cutting off very long messages.&lt;br /&gt;
*Fix: Fixed {{cmd|Info}} not working with some IP ranges (thanks _BjorN64_).&lt;br /&gt;
*Fix: Fixed single-letter emote keywords not working (thanks Wundsalz).&lt;br /&gt;
*Fix: Improved the way IRC bot handles nick conflicts (thanks Jonty800).&lt;br /&gt;
*Fix: {{cmd|DumpStats}} no longer dies when an invalid file name is given (thanks Hellenion).&lt;br /&gt;
*Change: Added a new build configuration, DEBUG_NETWORKING, which traces all incoming and outgoing packets.&lt;br /&gt;
*Change: IRC bot now logs all outgoing messages when built in DEBUG_IRC configuration.&lt;br /&gt;
&lt;br /&gt;
===0.636===&lt;br /&gt;
&#039;&#039;10 October 2012 - r1832&#039;&#039;&lt;br /&gt;
*Feature: Check your configs! New options were added to control display of colors and emotes to/from IRC.&lt;br /&gt;
*Feature: Added {house} [[emotes|emote]]: ⌂ (0x7F).&lt;br /&gt;
*Fix: Fixed newline codes %n/%N not being parsed properly.&lt;br /&gt;
*Fix: Fixed a crash in Color.StripColors (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed random symbols appearing in stack traces in console (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed couple problems with Player.Moving event (thanks 00pol).&lt;br /&gt;
*Fix: Spawn points of MCSharp map files are now loaded correctly (thanks 00pol).&lt;br /&gt;
*Change: Players&#039; DisplayedNames may no longer contains line breaks.&lt;br /&gt;
&lt;br /&gt;
===0.635===&lt;br /&gt;
&#039;&#039;8 October 2012 - r1822&#039;&#039;&lt;br /&gt;
*Feature: Added support for &amp;quot;[[emotes]]&amp;quot; (chat symbols). New permission ({{perm|UseEmotes}}) and config key (IRCAllowEmotes) were added.&lt;br /&gt;
*Fix: Fixed numbers sometimes being accepted as valid (e.g. by {{cmd|Mute}}), although counted as 0-length time spans.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving strings with newlines properly.&lt;br /&gt;
*Fix: Fixed IRC bot sometimes producing messages that are a couple characters over the IRC message size limit (512 chars).&lt;br /&gt;
*Fix: Fixed players being able to use newline codes (&amp;amp;N/&amp;amp;n) on IRC.&lt;br /&gt;
*Fix: Fixed problems with UpdaterMode and BackupOnStartup settings in ConfigGUI.&lt;br /&gt;
*Fix: Fixed fCraft not building in DEBUG_IRC configuration.&lt;br /&gt;
*Change: Added a workaround for TermInfoDriver-related exceptions under Mono (thanks Hellenion)&lt;br /&gt;
*Change: Symbolic [[colors|color codes]] (e.g. %S) can now be used in chat.&lt;br /&gt;
*Change: Backslash can now be used to escape percent [[colors|color codes]] (e.g. \%C).&lt;br /&gt;
*Change: fCraft will now retry looking up the external IP up to 3 times.&lt;br /&gt;
*Change: Lots of documentation, annotation, and API improvements.&lt;br /&gt;
&lt;br /&gt;
===0.634===&lt;br /&gt;
&#039;&#039;30 September 2012 - r1796&#039;&#039;&lt;br /&gt;
*Fix: Fixed an occasional InvalidOperationException when auto-updating in ServerGUI.&lt;br /&gt;
*Fix: Fixed ConfigGUI showing misleading information in &amp;quot;unrecognized entry ignore&amp;quot; errors.&lt;br /&gt;
*Fix: Fixed Logger trying to write to file in [[MapConverter]] and [[MapRenderer]].&lt;br /&gt;
*Fix: Fixed [[MapRenderer]] and [[MapConverter]] spamming zone-related errors (thanks Hellenion and AndrewPH)&lt;br /&gt;
*Fix: Fixed {{cmd|UndoPlayerNot}} help entry (thanks ruggedbear)&lt;br /&gt;
*Change: Heartbeat code now uses HTTPS, as mandated by Mojang. If you use Mono, see http://www.mono-project.com/FAQ:_Security&lt;br /&gt;
*Change: Removed support for the malfunctioning WoM Direct heartbeat service.&lt;br /&gt;
*Change: RankChangeReason is now shown as a &amp;quot;Rank note&amp;quot; in {{cmd|Info}}, even if no other data (PreviousRank/RankChangedBy/RankChangeDate) exists (thanks Wundsalz)&lt;br /&gt;
&lt;br /&gt;
===0.633===&lt;br /&gt;
&#039;&#039;26 September 2012 - r1788&#039;&#039;&lt;br /&gt;
*Feature: Added checkbox for HeartbeatEnabled config key to ConfigGUI, on the advanced tab.&lt;br /&gt;
*Fix: Fixed heartbeat/verification issues caused by &amp;quot;no-www&amp;quot; changes made by Mojang at minecraft.net&lt;br /&gt;
*Fix: Fixed VisualStudio designer being unable to load ConfigGUI.MainForm.&lt;br /&gt;
*Fix: Fixed {{cmd|ZMark}} being spammy (thanks ruggedbear).&lt;br /&gt;
*Fix: Binding &amp;quot;air&amp;quot; block to something now works as expected (deleted blocks are replaced with the binding) (thanks Hellenion).&lt;br /&gt;
*Fix: Added missing tooltips to &amp;quot;Data Backup&amp;quot; checkbox in ConfigGUI (thanks PhoneBook_).&lt;br /&gt;
*Fix: Added [[HeartbeatSaver]] to UpdateInstaller and list of protected filenames.&lt;br /&gt;
*Fix: Fixed occasional startup crash in [[HeartbeatSaver]].&lt;br /&gt;
*Change: {{cmd|Reload|Autorank}} now triggers a re-scan of the whole PlayerDB.&lt;br /&gt;
*Change: Added code to BlockDB to recover misaligned .fbdb files. BlockDB files are supposed to be aligned to 20 bytes. Misalignment might happen if writing didn&#039;t finish properly - e.g. power outage, or ungraceful shutdown.&lt;br /&gt;
*Change: Improved consistency of exit codes in [[HeartbeatSaver]], [[MapConverter]], and [[MapRenderer]].&lt;br /&gt;
&lt;br /&gt;
===0.632===&lt;br /&gt;
&#039;&#039;14 September 2012 - r1765&#039;&#039;&lt;br /&gt;
*Feature: Added standalone [[HeartbeatSaver]] utility, a heartbeat-sending daemon.&lt;br /&gt;
*Feature: Added a way to specify scale/turbulence/seed for cloudy brush.&lt;br /&gt;
*Feature: Renamed &amp;quot;IRC&amp;quot; LogType to &amp;quot;IRCStatus&amp;quot;, and added &amp;quot;IRCChat&amp;quot; LogType. Check your configs.&lt;br /&gt;
*Fix: Fixed the updater. You&#039;ll have to update from version 0.631 manually (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed a bug related to multiple players trying to join an almost-full server at the same time.&lt;br /&gt;
*Fix: Fixed a rare InvalidOperationException crash in ConfigGUI.&lt;br /&gt;
*Fix: Fixed reversed order in {{cmd|BlockInfo}} (thanks recon_).&lt;br /&gt;
*Fix: Fixed a few formatting errors in feedback messages.&lt;br /&gt;
*Fix: Fixed a rare disconnect related to a spectator trying to follow a spectatee to a full world.&lt;br /&gt;
*Fix: Fixed {{cmd|Hide}} not showing a fake disconnect message when needed.&lt;br /&gt;
*Fix: Fixed {{cmd|WRename}} prompting for file overwrite when changing capitalization in a world name.&lt;br /&gt;
*Fix: Fixed UndoArea/UndoAreaNot and UndoPlayer/UndoPlayerNot messages occasionally getting mixed up.&lt;br /&gt;
*Fix: Fixed players being unable to join the server if access restrictions prevent them from joining the rank-specific main world.&lt;br /&gt;
*Fix: {{cmd|WRemove}} now correctly handles removing rank-main worlds.&lt;br /&gt;
*Fix: Fixed a case where newlines in PlayerInfo or IPBanInfo fields would cause record corruption.&lt;br /&gt;
*Fix: Fixed reversed messages in {{cmd|DoNotMark}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed ServerCLI sometimes staying open, waiting on console input, when it&#039;s supposed to shut down or restart.&lt;br /&gt;
*Change: Sped up &amp;quot;cloudy&amp;quot; brush when working with large draw commands.&lt;br /&gt;
*Change: Crash reporter now submits list of names and versions of all loaded assemblies, to help identify mismatched or missing dependencies.&lt;br /&gt;
*Change: Added logging to every confirmation prompt, &amp;quot;/ok&amp;quot;, {{cmd|BlockDB}} enabling/disabling/clearing, {{cmd|ZRemove}}, {{cmd|InfoSwap}}, and {{cmd|Env}}.&lt;br /&gt;
*Change: Any pending confirmations are now reset on world change.&lt;br /&gt;
*Change: Added /I as an alias for {{cmd|Info}}, and /CS as an alias for {{cmd|CopySlot}}.&lt;br /&gt;
*Change: Removed &amp;quot;marbled&amp;quot; brush (&amp;quot;cloudy&amp;quot; works just as well) and FCMv4 map format support (development canceled).&lt;br /&gt;
*Change: {{cmd|Where}} command now only requires {{perm|ViewOthersInfo}} permission to see other players&#039; whereabouts. It can be used by anyone on self.&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.631===&lt;br /&gt;
&#039;&#039;5 September 2012 - r1741&#039;&#039;&lt;br /&gt;
*Feature: Added a way to restrict commands to match online players&#039; names only, by prefixing the name with an exclamation mark (!). See [[Command Tips]] for more.&lt;br /&gt;
*Feature: Added {{cmd|DoNotMark}} command. When toggled on, clicking on blocks does not cause marks to be added to a selection.&lt;br /&gt;
*Fix: Included MapConverter.exe and MapRenderer.exe in list of protected filenames.&lt;br /&gt;
*Fix: Fixed a potential crash in Paths.FileExists when working in case-sensitive mode in a root directory.&lt;br /&gt;
*Fix: Fixed ConfigGUI not loading permission limits properly (thanks recon_).&lt;br /&gt;
*Fix: Added missing fake connection message when using non-silent {{cmd|Unhide}} (thanks Wundsalz).&lt;br /&gt;
*Change: Improvements to fCraft&#039;s built-in crash reporter.&lt;br /&gt;
*Change: Blocks redone with {{cmd|Redo}} are now flagged as &amp;quot;Redone&amp;quot; in /BlockInfo (instead of &amp;quot;UndoneSelf&amp;quot;), [[/Paint|painted]] blocks as &amp;quot;Painted&amp;quot; (instead of &amp;quot;Manual, Replaced&amp;quot;).&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.630===&lt;br /&gt;
&#039;&#039;4 September 2012 - r1727&#039;&#039;&lt;br /&gt;
*Feature: New permissions! {{perm|FlushWorlds}} (previously part of {{perm|ManageWorlds}}), {{perm|UseTimers}} (previously part of {{perm|Say}}), and {{perm|UndoAll}}.&lt;br /&gt;
*Feature: Added ability to undo multiple players&#039; actions at once, or EVERYONE&#039;s actions at once, using {{cmd|UndoPlayer}} and {{cmd|UndoArea}}. Command syntax changed, see wiki.&lt;br /&gt;
*Feature: {{cmd|Info}} now shows whether minecraft.net accounts are free or paid.&lt;br /&gt;
*Feature: Added special &amp;quot;skip&amp;quot;/&amp;quot;none&amp;quot; blocktype, usable with brushes and draw commands.&lt;br /&gt;
*Feature: Added ability to clear world/zone whitelists and blacklists. Use &amp;quot;-*&amp;quot; in place of player name to clear whitelist, and &amp;quot;+*&amp;quot; to clear blacklist.&lt;br /&gt;
*Feature: Added a way to remove all zones in a world, {{cmd|ZRemove|*}}.&lt;br /&gt;
*Feature: Added {{cmd|UndoAreaNot}} (/uan) and {{cmd|UndoPlayerNot}} (/upn), which reverse changes made by everyone EXCEPT the given player(s).&lt;br /&gt;
*Feature: Added [[MapConverter]] and [[MapRenderer]] utilities.&lt;br /&gt;
*Feature: {{cmd|CuboidW}} now supports optionally filling sides and center with different blocktypes, e.g. &amp;quot;/cw white blue red&amp;quot;.&lt;br /&gt;
*Fix: Fixed ServerCLI launching the wrong fCraft binary after running the updater.&lt;br /&gt;
*Fix: Fixed a missing warning in {{cmd|Gen}} when map height is not a multiple of 16.&lt;br /&gt;
*Fix: Fixed a rare case of players receiving desynchronized copies of maps where draw commands are in progress.&lt;br /&gt;
*Fix: Fixed a crash in {{cmd|Commands|&amp;lt;Category&amp;gt;}}&lt;br /&gt;
*Fix: Fixed potential crashes when working with files in root directories (e.g. C:/)&lt;br /&gt;
*Fix: Improved {{cmd|BanEx}} logging.&lt;br /&gt;
*Fix: Improved support for Myne/MyneCraft/HyveBuild/iCraft maps.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog in ConfigGUI defaulting to 20 minutes, instead of &amp;quot;(default)&amp;quot;.&lt;br /&gt;
*Fix: Fixed SaveInterval and BackupInterval being limited to just 100 seconds/minutes in ConfigGUI (thanks Hellenion).&lt;br /&gt;
*Fix: Improved consistency of timestamp format in logs (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed being unable to remove world greetings via {{cmd|WSet}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed IRC bot cutting off long messages (thanks Hellenion).&lt;br /&gt;
*Change: Improved performance of {{cmd|Gen}}, {{cmd|WLoad}}, world loading, and all BlockDB-related commands.&lt;br /&gt;
*Change: Adjustments to block names and aliases, as well as command aliases.&lt;br /&gt;
*Change: Merged {{cmd|Cancel}} and /Nvm commands.&lt;br /&gt;
*Change: &amp;quot;&amp;amp;N&amp;quot; is now usable as a &amp;quot;newline&amp;quot; constant in all configurable strings (rules, announcements, greetings, etc), and &amp;quot;%N&amp;quot; is usable by players with {{perm|UseColorCode}} permissions.&lt;br /&gt;
*Change: Made {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} usable by frozen players.&lt;br /&gt;
*Change: Added a warning to /Colors regarding the minimum rank required to use colorcodes in chat (thanks Jonty800).&lt;br /&gt;
*Change: Ignoring a player no longer prevents you from seeing {{cmd|Say}} messages written by them.&lt;br /&gt;
*Change: {{cmd|Paint}}, {{cmd|Solid}}, {{cmd|Grass}}, {{cmd|Water}}, and {{cmd|Lava}} are no longer usable by players without Build permission, and dont show up in /Commands for them.&lt;br /&gt;
*Change: Clarified {{cmd|ZEdit}} messages when trying to remove self from blacklist, or add yourself to whitelist.&lt;br /&gt;
*Change: {{cmd|Mute}}, {{cmd|Unmute}}, {{cmd|Freeze}}, and {{cmd|Unfreeze}} are now also usable on offline players.&lt;br /&gt;
*Change: Session threads are no longer marked as &amp;quot;background&amp;quot;, to prevent unexpected side effects from session threads being aborted on shutdown. This might slow down shutdown a bit, but there is less to go wrong.&lt;br /&gt;
*Change: World greetings can now support constants.&lt;br /&gt;
*Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.&lt;br /&gt;
*Change: Process exit code is now set to match ShutdownReason.&lt;br /&gt;
*API: Added ChatTimer.Started and ChatTimer.Stopped events, rewrote BlockDB, MapConversion, and IsoCat APIs.&lt;br /&gt;
*API: Many documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.624===&lt;br /&gt;
&#039;&#039;16 July 2012 - r1636&#039;&#039;&lt;br /&gt;
*Fix: Fixed BlockDB time-limiting code trimming too much data from the database.&lt;br /&gt;
*Fix: CommandBook ban import now accepts any filename that ends with &amp;quot;.csv&amp;quot;, not just &amp;quot;bans.csv&amp;quot;.&lt;br /&gt;
*Fix: ServerCLI no longer crashes upon receiving EOF from console.&lt;br /&gt;
*Fix: Fixed a rare case of hidden players being revealed (briefly) when their rank is changed.&lt;br /&gt;
*Fix: Fixed [[/Spectate]] leaving ghost players behind on world change (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed a couple typos in [[/WLock]] and [[/WUnlock]] (thanks ImNoobSoWhat).&lt;br /&gt;
*Change: Added server name to [[/ServerInfo]]&lt;br /&gt;
*Change: If opening a link fails (from ConfigGUI or ServerGUI), the URL is copied to clipboard, instead of crashing.&lt;br /&gt;
*Change: &amp;quot;[[/Import]] bans&amp;quot; no longer prints a message for every player who&#039;s already banned, instead showing a total number of already-banned players at the end.&lt;br /&gt;
*Change: Added a missing &amp;quot;Copy&amp;quot; context menu to the ServerGUI&#039;s log box (thanks to Jonty800).&lt;br /&gt;
*Change: fCraft front-ends now check fCraft.dll&#039;s assembly version, and refuse to start if there is a mismatch (Thanks Zaneo).&lt;br /&gt;
&lt;br /&gt;
===0.623===&lt;br /&gt;
&#039;&#039;9 July 2012 - r1624&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in [[/PasteX]] and [[/PasteNotX]].&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] crash when given a non-banned IP address.&lt;br /&gt;
*Fix: Fixed a crash in Player.DetectChatSpam if AntiSpam was supposed to be disabled.&lt;br /&gt;
*Fix: Fixed typos in comments and messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed a crash in [[/ZAdd]] (thanks thelonedrummer18).&lt;br /&gt;
&lt;br /&gt;
===0.622===&lt;br /&gt;
&#039;&#039;6 July 2012 - r1619&#039;&#039;&lt;br /&gt;
*Feature: ServerGUI message log is now color-coded, easier to select/copy/paste, and featuring clickable links.&lt;br /&gt;
*Fix: Fixed several regressions in [[/Hide]] and [[/Spectate]] that were introduced in 0.620-0.621 (thanks mark_b).&lt;br /&gt;
*Fix: Fixed [[/Deafen]] being usable from console (thanks phonebookguy).&lt;br /&gt;
*Fix: Fixed a crash in Paste/PasteNot/PasteX/PasteNotX (thanks Grant).&lt;br /&gt;
*Misc: Updated some draw command messages, credits, help entries, warnings.&lt;br /&gt;
&lt;br /&gt;
===0.621===&lt;br /&gt;
&#039;&#039;5 July 2012 - r1612&#039;&#039;&lt;br /&gt;
*Feature: Added CommandBook banlist (bans.csv) support to [[/Import]].&lt;br /&gt;
*Feature: Added a way to list all players of a certain rank with &amp;quot;[[/Info]] @ClassName&amp;quot;.&lt;br /&gt;
*Feature: Added {PLAYER_LIST} variable, for use in greetings/announcements/rules.&lt;br /&gt;
*Fix: Fixed changes to DefaultBackupInterval config key not being applied.&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] showing &amp;quot;players on same IP&amp;quot; for players without a recorded IP address.&lt;br /&gt;
*Fix: Fixed fCraft occasionally using localized datetime and number formatting.&lt;br /&gt;
*Fix: Fixed [[/Cut]] storing the selected blocks before checking player&#039;s draw limit (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed [[/Fill2D]] starting a selection even if command parameters could not be parsed (thanks David00143).&lt;br /&gt;
*Fix: Fixed [[/Copy]] and [[/Cut]] reporting incorrect origin information (thanks nope__avi).&lt;br /&gt;
*Fix: Players who are spectating or being spectated by you are no longer hidden from the tab player list (thanks ruggedbear).&lt;br /&gt;
*Change: If multiple players are spectating the same player, they no longer see each other (thanks Hellenion).&lt;br /&gt;
*Change: Small improvements and fixes to [[/WSet]] and to AntiSpam functionality.&lt;br /&gt;
*Change: Sped up PlayerDB loading on startup.&lt;br /&gt;
*Change: Added shortcuts for [[/SetInfo]] field names.&lt;br /&gt;
&lt;br /&gt;
===0.620===&lt;br /&gt;
&#039;&#039;17 June 2012 - r1592&#039;&#039;&lt;br /&gt;
*Feature: WoM Direct description and flags can now be set from config, without the need to go to WoM Direct website.&lt;br /&gt;
*Feature: Added a new [[/WSet]] command, that allows hiding worlds, changing backup settings, and setting greeting messages.&lt;br /&gt;
*Feature: More [[/WInfo]] information is persisted across server restarts: IsLocked, LockedBy, UnlockedBy, LoadedBy, LoadedOn, MapChangedBy, MapChangedOn.&lt;br /&gt;
*Feature: Added IRCStripMinecraftColors config key (default: true). It determines whether Minecraft colorcodes (ampersand codes) entered on IRC should be removed before showing the message in-game.&lt;br /&gt;
*Fix: Fixed incorrect percentages occasional being printed by [[/Measure]], [[/Cancel]], and [[/Undo]].&lt;br /&gt;
*Fix: Locked worlds remain locked after server restart.&lt;br /&gt;
*Fix: Addressed many flaws and glitches in the backup system.&lt;br /&gt;
*Fix: Fixed a case where draw commands that affected no blocks caused division by zero&lt;br /&gt;
*Fix: Fixed a PlayerDB record corruption bug that affected numbers over 100,000,000.&lt;br /&gt;
*Fix: Fixed a stability issue related to LineWrapper (thanks Kevinsweijen and Mc_MrCat).&lt;br /&gt;
*Fix: Fixed IRC markup codes being forwarded to the server in IRC&#039;s channel-kick messages.&lt;br /&gt;
*Fix: Fixed [[/Unmute]] not checking rank limits (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;IP&amp;gt;&amp;quot; and &amp;quot;[[/BanAll]] &amp;lt;PlayerName&amp;gt;&amp;quot; not checking ban exemptions when kicking players (thanks BobKare).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;PlayerName&amp;gt;&amp;quot; not kicking all the players from IP address.&lt;br /&gt;
*Fix: Fixed Undo/Redo messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed compatibility with Mono 2.10.8.1 (thanks Hawkzeh).&lt;br /&gt;
*Change: Removed [[/WHide]] and [[/WUnhide]] (obsoleted by [[/WSet]]).&lt;br /&gt;
&lt;br /&gt;
===0.618===&lt;br /&gt;
&#039;&#039;22 April 2012 - r1568&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in ConfigGUI when trying to sort by map size and a map file is missing (thanks Moose).&lt;br /&gt;
*Change: Ampersands are no longer allowed in chat, even escaped, due to unpredictable Minecraft client behavior.&lt;br /&gt;
&lt;br /&gt;
===0.617===&lt;br /&gt;
&#039;&#039;21 April 2012 - r1564&#039;&#039;&lt;br /&gt;
*Feature: [[/BInfo]] now accepts optional XYZ coordinates, like [[/Mark]].&lt;br /&gt;
*Fix: Added a workaround for &amp;quot;Internal error Flush&amp;quot; under Mono.&lt;br /&gt;
*Fix: Fixed [[/WBring]] printing incorrect usage syntax (thanks recon_)&lt;br /&gt;
*Fix: Fixed typo in [[/BlockDB]] (thanks xN8Gx)&lt;br /&gt;
*Fix: Fixed IRC bots not binding to the specified local endpoint.&lt;br /&gt;
*Fix: Fixed &amp;quot;PreviousRank&amp;quot; not getting updated by [[/SetInfo]] working (thanks nope__avi)&lt;br /&gt;
*Fix: Fixed several rare stability issues (thanks Kevinsweijen).&lt;br /&gt;
*Fix: Fixed [[/Undo]] and [[/Redo]] producing odd log messages if 0 blocks have been changed.&lt;br /&gt;
*&amp;lt;s&amp;gt;Change: Allowed &#039;&amp;amp;&#039; character (ampersand) to be entered in chat, which is now escaped.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===0.616===&lt;br /&gt;
&#039;&#039;10 March 2012 - r1498&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Import]] terminating when importing bans, if a player with the given name is already banned.&lt;br /&gt;
*Fix: Fixed a formatting error in [[/Bring]] and [[/WBring]] confirmation messages.&lt;br /&gt;
*Fix: Fixed mixed-up messages in [[/WAccess]] and [[/WBuild]] when removing players from blacklist/whitelist (thanks ruggedbear and xN8Gx)&lt;br /&gt;
*Fix: Fixed [[/Static]] not turning off after switching worlds (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed [[/Rotate]] printing incorrect copyslot number (thanks Mc_MrCat)&lt;br /&gt;
*Fix: Fixed a ServerGUI crash when pressing the down arrow key after typing in the first console message (thanks Jason)&lt;br /&gt;
*Fix: [[/Me]] messages no longer count towards stats twice (thanks recon_)&lt;br /&gt;
*Fix: [[/Mute]] and [[/Unmute]] now usable with &amp;quot;-&amp;quot; in place of player name (thanks thelonedrummer18)&lt;br /&gt;
*Fix: Fixed README.txt typo (thanks Wolfmade)&lt;br /&gt;
&lt;br /&gt;
===0.615===&lt;br /&gt;
&#039;&#039;2 February 2012 - r1445&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Patrol]] checking Spectate permission, and [[/SpecPatrol]] not checking it.&lt;br /&gt;
*Fix: Fixed [[/WRename]] not updating player&#039;s last-used-world-name (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed colorcodes (%-codes) not getting applied consistently (thanks BobKare)&lt;br /&gt;
*Fix: Fixed a rare name-verification issue that only affected players whose ranks have been imported (thanks Mc_MrCat)&lt;br /&gt;
*Fix: ServerGUI now correctly interprets &amp;quot;Notify&amp;quot; and &amp;quot;Auto&amp;quot; updater settings.&lt;br /&gt;
*Change: Data backups are now stored in ./databackups/ directory.&lt;br /&gt;
&lt;br /&gt;
===0.614===&lt;br /&gt;
&#039;&#039;24 January 2012 - r1426&#039;&#039;&lt;br /&gt;
*Fix: Fixed server crashing if PlayerDB.txt exists but is empty.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Join]] -&amp;quot; using player names, and &amp;quot;[[/TP]] -&amp;quot; using world names.&lt;br /&gt;
*Fix: Solved File.Replace-related errors, which caused occasional save failures.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking caller&#039;s Spectate permission limit when selecting the next target.&lt;br /&gt;
*Fix: Fixed &amp;quot;random&amp;quot; brush producing obvious repeating patterns.&lt;br /&gt;
*Fix: Fixed auto-updater occasionally freezing when attempting to &amp;quot;Restart Now&amp;quot;.&lt;br /&gt;
*Fix: Added permission limit check to [[/Unfreeze]] (thanks Xb0x4d4m)&lt;br /&gt;
*Fix: Improved the way [[/Bring]] and [[/WBring]] enforce access permissions (thanks Hellenion)&lt;br /&gt;
*Change: Added more information about player connects/disconnects to log file.&lt;br /&gt;
&lt;br /&gt;
===0.613===&lt;br /&gt;
&#039;&#039;11 January 2012 - r1401&#039;&#039;&lt;br /&gt;
*Fix: Fixed ConfigGUI not saving changes to ShowConnectionMessages key.&lt;br /&gt;
*Fix: Fixed a case where ConfigGUI could crash while attempting to rename a world.&lt;br /&gt;
*Fix: All spectate permissions are now re-checked when someone gets promoted or demoted.&lt;br /&gt;
*Fix: Fixed ConfigGUI Worlds tab crash when dealing with zoned maps.&lt;br /&gt;
*Fix: Fixed IRC bot not retrying for desired nickname after reconnecting&lt;br /&gt;
*Fix: Fixed a case where editing a world via ConfigGUI would clear security whitelists/blacklists.&lt;br /&gt;
*Fix: Fixed spectating players not being treated as hidden (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed formatting in &amp;quot;Player ___ got auto-kicked&amp;quot; message (thanks BobKare)&lt;br /&gt;
*Fix: Fixed auto-kick revealing hidden players (thanks BobKare)&lt;br /&gt;
*Fix: Fixed RandomBrush-related [[/Undo]] artifacts in [[/Triangle]] (thanks Lunara_Noctis)&lt;br /&gt;
&lt;br /&gt;
===0.612===&lt;br /&gt;
&#039;&#039;14 December 2011 - r1307&#039;&#039;&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] @Rank&amp;quot; not autocompleting rank names.&lt;br /&gt;
*Fix: Fixed compatibility with legacy PlayerDB format versions. PlayerDB files created by fCraft 0.400+ will work again.&lt;br /&gt;
*Fix: Fixed several syntax problems and crashes in /Gen.&lt;br /&gt;
*Fix: Fixed a bug that reset a world&#039;s BackupInterval to default and IsLocked flag to false after changing the map (backport from 0.700).&lt;br /&gt;
*Fix: Fixed a bug that prevented kicks/bans/promotions/demotions from being announced on IRC if no reason was given.&lt;br /&gt;
*Change: Capped all user-entered time spans at 9999 days.&lt;br /&gt;
*Change: Shortened and clarified some confirmation prompts ([[/Gen]], [[/WLoad]], [[/ZRemove]], [[/Import]], [[/MassRank]]).&lt;br /&gt;
&lt;br /&gt;
===0.611===&lt;br /&gt;
&#039;&#039;3 December 2011 - r1282&#039;&#039;&lt;br /&gt;
*Feature: Added information about periodic backups to [[/WInfo]].&lt;br /&gt;
*Fix: Fixed [[/Players]] not working properly if both world name and offset were given.&lt;br /&gt;
*Fix: Fixed [[/WAccess]], [[/WBuild]], and [[/ZEdit]] not working with one-letter rank names.&lt;br /&gt;
*Fix: Fixed [[/BanIP]], /BanAll, /UnbanIP, and /UnbanAll treating fully numeric player names as IPs.&lt;br /&gt;
*Fix: Fixed [[/SetInfo]] not resetting PlayerInfo.LastModified date.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] populated&amp;quot; revealing worlds with hidden players.&lt;br /&gt;
*Fix: Fixed [[/BringAll]] ignoring per-rank limits in some cases (thanks ferny530)&lt;br /&gt;
*Fix: Fixed appearance of black and white blocks in [[/Env]] edges (thanks Jonty)&lt;br /&gt;
*Fix: Fixed a bug in Position.Equals&amp;lt;Position&amp;gt;(), which may have caused unnecessary position updates in Player.UpdateVisibleEntities (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed a little crash in Chat.GetRawMessageType (thanks ruggedbear)&lt;br /&gt;
*Fix: Fixed a case where Player.CanPlace checked permissions against the wrong world&#039;s BuildSecurity controller (thanks Xesdra)&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Commands]] @Rank&amp;quot; showing hidden commands (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed a typo in [[/Worlds]] (thanks Kevinsweijen)&lt;br /&gt;
*Fix: Fixed BlockDBAutoEnable and BlockDBAutoEnableRank config keys being placed in the &amp;quot;General&amp;quot; section.&lt;br /&gt;
*Change: Improved config.xml format (now version 152). Configs created with fCraft 0.611+ will not be usable with older versions of fCraft.&lt;br /&gt;
*Change: Rewrote ServerGUI startup code to make it more responsive (thanks to 800craft for the idea).&lt;br /&gt;
*Change: Added information about command-line options to the README, and fixed some typos.&lt;br /&gt;
*Change: MaxConnectionsPerIP restriction no longer applies to localhost.&lt;br /&gt;
*Change: Increased block-ratio limit for &amp;quot;random&amp;quot;, &amp;quot;cloudy&amp;quot;, and &amp;quot;marbled&amp;quot; brushes from 1000 to 10,000.&lt;br /&gt;
&lt;br /&gt;
===0.610===&lt;br /&gt;
&#039;&#039;18 November 2011 - r1240&#039;&#039;&lt;br /&gt;
*Feature: Added [[/Fill2D]] (/f2d), [[/Triangle]] (/t), and [[/TriangleW]] (/tw) draw commands.&lt;br /&gt;
*Feature: Added ability to filter [[/Worlds]] by rank.&lt;br /&gt;
*Feature: Added [[/Static]] (a way to repeat selection commands).&lt;br /&gt;
*Feature: Added MaxUndoStates config key (how many steps back can [[/Undo]] go), and ConfigGUI bindings.&lt;br /&gt;
*Feature: Added experimental IP-range lookup to [[/Info]] (CIDR notation). Changed /Info pattern-matching single-character symbol from &#039;.&#039; to &#039;?&#039;&lt;br /&gt;
*Feature: Added pagination to [[/Players]].&lt;br /&gt;
*Feature: [[/Spectate]] and [[/SpecPatrol]] now show what commands, PMs, and rank messages the target types in.&lt;br /&gt;
*Feature: Added a way to change server salt without needing a restart, using &amp;lt;code&amp;gt;[[/Reload]] Salt&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: [[/Measure]] now shows statistics about block types in the selection.&lt;br /&gt;
*Feature: [[/Gen]] now has two new templates: &amp;quot;ocean&amp;quot; and &amp;quot;empty&amp;quot;&lt;br /&gt;
*Fix: Many fixes in name-retyping functionality.&lt;br /&gt;
*Fix: Addressed stability issues in LineWrapper and Undo/Redo.&lt;br /&gt;
*Fix: Fixed [[/WLock]] not canceling all draw commands (as intended).&lt;br /&gt;
*Fix: Fixed some outdated descriptions, links, and tooltips in ConfigGUI.&lt;br /&gt;
*Fix: Fixed being able to BanIP/BanAll/UnbanIP/UnbanAll invalid IP addresses (0.0.0.0 and 255.255.255.255).&lt;br /&gt;
*Fix: Fixed [[/Info]] printing a blank page (instead of the last page) if given offset is greater than the total number of matches.&lt;br /&gt;
*Fix: Fixed rank prefixes being appended to players&#039; names if DisplayedName is set.&lt;br /&gt;
*Fix: Fixed a couple rare crashes/hangs in ServerGUI when parsing console commands.&lt;br /&gt;
*Fix: Fixed [[/Ban]] and [[/Unban]] announcing when they&#039;re not supposed to.&lt;br /&gt;
*Fix: Fixed a potential crash in [[/BanInfo]] when looking up an IP address directly (no player name).&lt;br /&gt;
*Fix: Fixed another obscure way of revealing hidden players.&lt;br /&gt;
*Fix: Fixed Beta client kick message (thanks Voziv).&lt;br /&gt;
*Fix: Fixed [[/Commands]] defaulting to printing ALL commands.&lt;br /&gt;
*Fix: Fixed [[/Undo]] trying to re-cancel canceled commands.&lt;br /&gt;
*Fix: Fixed uncaught &amp;quot;Illegal characters in path.&amp;quot; exception when trying to save a [[/Gen]]&#039;erated map to an invalid filename.&lt;br /&gt;
*Fix: Fixed typos in [[/ReplaceNot]] and [[/UndoArea]].&lt;br /&gt;
*Change: Added a warning on startup if name verification is disabled.&lt;br /&gt;
*Change: Tweaks and improvements to [[/Info]], [[/WInfo]], [[/BanInfo]], [[/SetInfo]], and [[/Commands]].&lt;br /&gt;
*Change: Removed code that tries next port if the given one could not be used. Now fCraft either starts on the port specified in config, or dies.&lt;br /&gt;
*Change: Commands now complain about being given too many parameters (in addition to complaining about too few parameters). This should help catch mistyped commands.&lt;br /&gt;
*Change: Added an option to disable giant-tree generation in ConfigGUI&#039;s map generator.&lt;br /&gt;
*Change: Changed log format for bans/kicks to include more information, and fixed log message format for &amp;quot;Player ____ logged in from an IP shared by banned players...&amp;quot;&lt;br /&gt;
*Change: Included config.xml in the automated data backup.&lt;br /&gt;
*Change: ConfigGUI tweaks and improvements.&lt;br /&gt;
*Change: Changes some aliases:&lt;br /&gt;
**Added /Whois and /WhoWas as aliases for [[/Info]].&lt;br /&gt;
**Set &amp;quot;/B&amp;quot; and &amp;quot;/About&amp;quot; to be aliases for [[/BInfo]].&lt;br /&gt;
*Change: Changed some ConfigKey defaults:&lt;br /&gt;
**BlockDBEnabled defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
**WomEnableEnvExtensions defaults to &amp;quot;false&amp;quot;&lt;br /&gt;
**IRCBotAnnounceServerEvents defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
*Change: Discontinued ServerWinService (formerly fCraftWinService) subproject.&lt;br /&gt;
*API: Improved Vector3I, Vector3F, and Position classes a bit.&lt;br /&gt;
*API: New events: DrawOperation.Beginning / Began / Ended&lt;br /&gt;
*API: Changed the way PlayerInfo stores empty string fields. Instead of a 0-length string, it now uses nulls.&lt;br /&gt;
*Optimization: Sped up PlayerDB loading/saving, and boolean ConfigKey lookup.&lt;br /&gt;
&lt;br /&gt;
===0.604===&lt;br /&gt;
&#039;&#039;23 October 2011 - r1155&#039;&#039;&lt;br /&gt;
*Feature: Added support for repeating previously-entered player and world names. Just put a dash (-) in place of the player/world name when using a command, and fCraft will fill in the most-recently-used name.&lt;br /&gt;
*Fix: Fixed an occasional SecurityController-related crash in [[/Gen]], [[/WLoad]], and ConfigGUI world editor.&lt;br /&gt;
*Fix: Fixed an very rare problem in shutdown/restart commands.&lt;br /&gt;
*Fix: Fixed a rare crash that only happened if: MaxPlayers&amp;gt;128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.&lt;br /&gt;
*Fix: Fixed naming of paste/pastenot and pastex/pastenotx&lt;br /&gt;
*Fix: Fixed a permission exploit in /wbring (thanks to panda100123)&lt;br /&gt;
*Fix: Fixed [[/Rules]] section finder accidentally being case-sensitive.&lt;br /&gt;
*Fix: Fixed an issue with MCSharp/MCZall/MCLawl/MCQuai/MCStorm/MCForge/MCWhatever importer.&lt;br /&gt;
*Change: Decreased shading strength in IsoCat renderer.&lt;br /&gt;
*Change: Added /Who as an alias for [[/Players]], by request.&lt;br /&gt;
*Change: Clarified ConfigGUI description of name verification settings.&lt;br /&gt;
*Change: Normalized command name capitalization. Command names must now start with an uppercase letter, for consistency.&lt;br /&gt;
*API: Fixed inconsistencies in PlayerDB.txt header row format declaration.&lt;br /&gt;
&lt;br /&gt;
===0.603===&lt;br /&gt;
&#039;&#039;20 October 2011 - r1142&#039;&#039;&lt;br /&gt;
*Fix: [[/Cancel]] can no longer be repeated with &amp;quot;/&amp;quot; (no longer replaces previously-called command).&lt;br /&gt;
*Fix: Fixed [[/Rotate]] and [[/Mirror]] messing up if a paste command is in progress.&lt;br /&gt;
*Fix: Re-enabled crash interception and reporting.&lt;br /&gt;
&lt;br /&gt;
===0.602===&lt;br /&gt;
&#039;&#039;18 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Feature: One-click paste commands are now the default. Two-click aligned paste commands are now known as [[/PasteX]] (/PX) and [[/PasteNotX]].&lt;br /&gt;
*Feature: Added [[/ReplaceBrush]] (/RB) command (shortcut for &amp;lt;code&amp;gt;[[/Brush]] ReplaceBrush&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;[[/Cuboid]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: Added a way to change number of copy/paste slots per rank from ConfigGUI.&lt;br /&gt;
*Fix: Fixed a few typos and missing help entries.&lt;br /&gt;
*Fix: Fixed DrawOp completion message and log entry.&lt;br /&gt;
*Fix: Fixed [[/Paste]] and [[/PasteNot]] not properly clipping against world boundaries.&lt;br /&gt;
*Fix: Fixed ConfigGUI not preserving environment settings for worlds.&lt;br /&gt;
*Fix: Fixed ConfigGUI losing some worlds and showing some errors when importing from 0.5xx.&lt;br /&gt;
*Fix: Fixed [[/Bring]] not being usable from console.&lt;br /&gt;
*Fix: Fixed [[/WRename]] crashing if invalid characters (from filesystem&#039;s point of view) are present in the new name.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking for Spectate permission.&lt;br /&gt;
*Fix: Fixed [[/UndoArea]]&#039;d and [[/UndoPlayer]]&#039;ed blocks having &amp;quot;Restored&amp;quot; flag set in /bi&lt;br /&gt;
*Fix: Fixed a detached checkbox on &amp;quot;Worlds&amp;quot; tab of ConfigGUI.&lt;br /&gt;
*Fix: Fixed [[/Say]], [[/Staff]], and [[/Me]] getting logged twice.&lt;br /&gt;
*Fix: Fixed per-world backup settings being cleared on server restart.&lt;br /&gt;
*Fix: Fixed a rare NullReferenceException in WorldManager.LoadWorldList that occurred if the main world was missing, and the fallback world had access restrictions.&lt;br /&gt;
*Fix: Fixed some issues with BlockDB settings in &amp;quot;Add World&amp;quot; and &amp;quot;Edit World&amp;quot; popups of ConfiGUI.&lt;br /&gt;
*Fix: Fixed a rare ConfigGUI crash when resetting the rank tab whole one of the old ranks is selected.&lt;br /&gt;
*Change: Sped up [[/EllipsoidH]] and [[/SphereH]] slightly (thanks to Redshift).&lt;br /&gt;
*Change: Improved error handling in [[/Env]] when setting level.&lt;br /&gt;
*Change: Double-buffered the preview on &amp;quot;Chat&amp;quot; tab of ConfigGUI, to get rid of flicker.&lt;br /&gt;
*Change: Clarified auto-freeze message when trying to kick/ban someone without a required reason string.&lt;br /&gt;
&lt;br /&gt;
===0.601===&lt;br /&gt;
&#039;&#039;15 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Fixed several issues with [[/Undo]] and drawing commands.&lt;br /&gt;
&lt;br /&gt;
===0.600===&lt;br /&gt;
&#039;&#039;14 October 2011 - r1107&#039;&#039;&lt;br /&gt;
:&#039;&#039;See [http://www.fcraft.net/0.600/ http://www.fCraft.net/0.600] for a summary of changes, and upgrade notes.&#039;&#039;&lt;br /&gt;
*Chat: Added a {{cmd|Timer}} command for creating publicly-announced countdowns/timers.&lt;br /&gt;
*Chat: Added a way to cancel partial messages: &amp;lt;code&amp;gt;/Nvm&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Chat: Removed &amp;quot;Banned player ___ tried to log in&amp;quot; and &amp;quot;Player ___ tried to log in from a banned IP&amp;quot; messages.&lt;br /&gt;
*Chat: {{cmd|Say}}, {{cmd|Staff}}, and {{cmd|Me}} commands can no longer repeated using &amp;quot;/&amp;quot; shortcut.&lt;br /&gt;
*Chat: Added a warning when trying to PM deafened players.&lt;br /&gt;
*Chat: Added a shortcut for chatting to same rank: &amp;quot;@@ Message&amp;quot;&lt;br /&gt;
*Chat: Increased the number of blank lines sent by {{cmd|Clear}} to 30, to accommodate players with smaller-than-normal font sizes.&lt;br /&gt;
*Chat Fix: Fixed {{cmd|Say}}, {{cmd|Roll}}, {{cmd|Staff}}, and {{cmd|Me}} sometimes bypassing {{perm|Chat}} permission, mute check, or spam detection check.&lt;br /&gt;
*Chat Fix: Fixed rank chat being logged twice.&lt;br /&gt;
*Chat Fix: Fixed some system messages getting through to deafened players.&lt;br /&gt;
*Chat Fix: {{cmd|Deafen}} now clears the screen when toggled on.&lt;br /&gt;
*Commands: Rank and zone names now autocomplete.&lt;br /&gt;
*Commands: Players can no longer freeze, mute, kick, ban, unban, promote, or demote themselves.&lt;br /&gt;
*Commands: {{cmd|Players}} can now be called with an optional WorldName parameter, to only list players in a particular world.&lt;br /&gt;
*Commands: {{cmd|WLoad}} now takes two more optional parameters: build rank and access rank names.&lt;br /&gt;
*Commands: {{cmd|Info}} now shows last leave reason, idle time, freeze/mute information, and ban exemption status.&lt;br /&gt;
*Commands: Augmented {{cmd|Rules}} to support several rule categories.&lt;br /&gt;
*Commands: Added {{cmd|Spectate}} and {{cmd|SpecPatrol}} (&amp;lt;code&amp;gt;/SPat&amp;lt;/code&amp;gt;) commands.&lt;br /&gt;
*Commands: Added {{cmd|WBring}} (brings target player to a world);&lt;br /&gt;
*Commands: Added {{cmd|Spawn}} command (brings you to spawn). Typing &amp;quot;{{cmd|TP}}&amp;quot; no longer does the same thing, and {{cmd|TP}} now always requires {{perm|Teleport}} permission.&lt;br /&gt;
*Commands: Algorithm that {{cmd|Patrol}} uses to pick the next target was improved.&lt;br /&gt;
*Commands: Renamed Lock/Unlock commands to {{cmd|WLock}}/{{cmd|WUnlock}}, for consistency.&lt;br /&gt;
*Commands: Merged &amp;lt;code&amp;gt;/ReloadConfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/AutoRankReload&amp;lt;/code&amp;gt; into {{cmd|Reload}} command. Merged &amp;lt;code&amp;gt;/ImportRanks&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/ImportBans&amp;lt;/code&amp;gt; into {{cmd|Import}} command. Combined functionality of &amp;lt;code&amp;gt;/LockAll&amp;lt;/code&amp;gt; into {{cmd|WLock}}, and functionality of &amp;lt;code&amp;gt;/UnlockAll&amp;lt;/code&amp;gt; into {{cmd|WUnlock}}.&lt;br /&gt;
*Commands: {{cmd|Info}} and {{cmd|Worlds}} now support pagination.&lt;br /&gt;
*Commands: When world access permissions are changed with {{cmd|WAccess}}, players who lost ability to join the world will automatically be moved to main.&lt;br /&gt;
*Commands: Frozen player can no longer call most commands, with exception of: {{cmd|Clear}}, {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|RankInfo}}, {{cmd|ServerInfo}}, {{cmd|Ranks}}, {{cmd|Rules}}, {{cmd|Where}}, {{cmd|Help}}, {{cmd|Commands}}, {{cmd|Colors}}, {{cmd|Worlds}}, {{cmd|Zones}}, and {{cmd|ZInfo}}.&lt;br /&gt;
*Commands: {{cmd|Bring}} and {{cmd|WBring}} now give the option of overriding worlds&#039; access minimum-rank. Explicitly blacklisted players will continue to be barred.&lt;br /&gt;
*Commands: Added {{cmd|InfoSwap}} command, for swapping two players&#039; ranks and PlayerDB records.&lt;br /&gt;
*Commands: Added a way to abort a server shutdown or restart (&amp;quot;{{cmd|Shutdown|abort}}&amp;quot; or &amp;quot;{{cmd|Restart|abort}}&amp;quot;).&lt;br /&gt;
*Commands: {{cmd|RankInfo}} now shows copy/paste slots, idle kick time, and permission limits.&lt;br /&gt;
*Commands: Most time-related commands now take the [[Time formatting|compact format]] (e.g. 1m30s, 45s, 24h, etc).&lt;br /&gt;
*Commands: Color-coded {{cmd|Commands}}.&lt;br /&gt;
*Commands: Limited {{cmd|Mute}} duration to range between 1 second and 700 days (100 weeks).&lt;br /&gt;
*Commands: {{cmd|SetInfo}} now allows changing players&#039; DisplayedName.&lt;br /&gt;
*Commands: A warning is now shown when a player is kicked/banned, and other players are still connected from the IP.&lt;br /&gt;
*Commands: Added a way to add IP ban exemptions using {{cmd|BanEx}} (banning all players from IP except a particular one).&lt;br /&gt;
*Commands: Added automatic countdowns to {{cmd|Shutdown}} and {{cmd|Restart}}.&lt;br /&gt;
*Commands: Added more stats to {{cmd|ServerInfo}}.&lt;br /&gt;
*Commands: {{cmd|MassRank}} now defaults to silent, and takes a &amp;quot;reason&amp;quot; parameter.&lt;br /&gt;
*Commands: Added &amp;quot;/St&amp;quot; as an alias for {{cmd|Staff}}. Changed &amp;quot;/L&amp;quot; from being alias for {{cmd|Join}}, to being alias for {{cmd|Lava}}. Removed &amp;quot;/Cub&amp;quot; alias for {{cmd|Cuboid}}.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|UnbanIP}} and {{cmd|UnbanAll}} not announcing the unban reason.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Info}} not formatting names of offline players.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Restart}} breaking under Mono if working path contains spaces.&lt;br /&gt;
*Commands Fix: Fixed freeze/unfreeze printing wrong ranks in &amp;quot;You can only freeze players ranked ____ or lower&amp;quot; messages.&lt;br /&gt;
*Commands Fix: Fixed a rare crash in {{cmd|Rules}} when used from console.&lt;br /&gt;
*Commands Fix: {{cmd|BanIP}} and {{cmd|BanAll}} no longer allow to ban the IP if it&#039;s shared by any players whom caller is not allowed to ban.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Ignore}} and {{cmd|Unignore}} printing all matches at once on autocompletion.&lt;br /&gt;
*Commands Fix: Fixed a case where {{cmd|BringAll}} could reveal hidden players.&lt;br /&gt;
*Commands Fix: Fixed a few bugs in {{cmd|DumpStats}}, expanded player listing to top-5/bottom-5, and added &amp;quot;BlocksDrawn&amp;quot; stat.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Rank}} and {{cmd|TP}} commands showing up in {{cmd|Commands}} for ALL players.&lt;br /&gt;
*Commands Fix: Fixed a couple rare bugs in {{cmd|Roll}}.&lt;br /&gt;
*Commands Fix: Fixed broken {{cmd|BringAll}} support for bringing multiple ranks at once.&lt;br /&gt;
*Commands Fix: Fixed several obscure ways of revealing presence of hidden players via commands like {{cmd|ServerInfo}} and {{cmd|Worlds}}.&lt;br /&gt;
*Config: New config keys: BackupDataOnStartup (default: true), RestartInterval (default: 0), HeartbeatToWoMDirect (default: true), BlockDBEnabled (default: true), BlockDBAutoEnable (default: true), and BlockDBAutoEnableRank (default: DefaultRank), WoMEnableEnvExtensions (default: false).&lt;br /&gt;
*Config: Added {{perm|Spectate}} permission that covers {{cmd|Spectate}} and {{cmd|SpecPatrol}}.&lt;br /&gt;
*Config: Added {{perm|DrawAdvanced}} permission that covers {{cmd|Brush}}, {{cmd|Sphere, {{cmd|SphereH}}, {{cmd|Torus}}, and {{cmd|Restore}} commands.&lt;br /&gt;
*Config: Added {{perm|ManageBlockDB}} permission that covers {{cmd|BlockDB}}.&lt;br /&gt;
*Config: Added {{perm|UndoOthersActions}} permission that covers {{cmd|UndoPlayer}} and {{cmd|UndoArea}}.&lt;br /&gt;
*Config: {{cmd|Reload}} can now update more config keys without needing a restart: AutoRankEnabled, BandwidthUseMode, ConsoleName, DefaultRank, DefaultBuildRank, PatrolledRank.&lt;br /&gt;
*Config: Removed obsolete ShowBannedConnectionMessages config key.&lt;br /&gt;
*Config Fix: Fixed DefaultRank/DefaultBuildRank/PatrolledRank settings not being applied.&lt;br /&gt;
*ConfigGUI: Added BlockDB settings to &amp;quot;Worlds&amp;quot; tab and &amp;quot;Add/Edit World&amp;quot; dialog.&lt;br /&gt;
*ConfigGUI: Reorganized Rank tab.&lt;br /&gt;
*ConfigGUI: Relaxed restrictions on rank prefixes.&lt;br /&gt;
*ConfigGUI: Added &amp;quot;Insert Color&amp;quot; and &amp;quot;Insert Keyword&amp;quot; buttons to announce/rule/greeting editors in ConfigGUI, and a &amp;quot;Reset&amp;quot; button to revert edits.&lt;br /&gt;
*ConfigGUI: Any errors/warnings that are produced while loading &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt; in ConfigGUI are now displayed at startup.&lt;br /&gt;
*ConfigGUI Fix: ConfigGUI no longer loses worlds&#039; whitelists/blacklists.&lt;br /&gt;
*ConfigGUI Fix: Fixed several bugs related to renaming worlds.&lt;br /&gt;
*ConfigGUI Fix: Fixed several &amp;quot;Reset&amp;quot; bugs.&lt;br /&gt;
*ConfigGUI Fix: Fixed &amp;quot;Enable colors in IRC&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*ConfigGUI Fix: Fixed ConfigTool&#039;s Chat tab not updating to reflect changes in rank colors/prefixes.&lt;br /&gt;
*ConfigGUI Fix: Fixed sort order in Worlds tab when sorting by world size.&lt;br /&gt;
*ConfigGUI Fix: Fixed some rank dropdown menus in ConfigGUI showing &amp;quot;(lowest rank)&amp;quot; instead of &amp;quot;(default rank)&amp;quot; as the default option.&lt;br /&gt;
*Drawing: Introduced a brush/pattern system for draw commands. Rewrote (almost) all existing draw commands to take advantage of that new infrastructure. Brushes are: Normal (default), Checkered, Random, Cloudy, Marbled, Replace, ReplaceNot, ReplaceBrush.&lt;br /&gt;
*Drawing: Added a way to {{cmd|Undo}} up to five commands back. Use {{cmd|Redo to reverse it.&lt;br /&gt;
*Drawing: Added {{cmd|Torus}} drawing command, written and contributed by M1_Abrams.&lt;br /&gt;
*Drawing: Added support for multiple copy/paste slots, using {{cmd|CopySlot}}. Number of slots of configurable per-rank.&lt;br /&gt;
*Drawing: {{cmd|Replace}} and {{cmd|ReplaceNot}} can now take just one blocktype. The replacement type is inferred from the type of block player is holding when clicking.&lt;br /&gt;
*Drawing: {{cmd|Undo}} now cancels the last drawing commands.&lt;br /&gt;
*Drawing: Added a new [[Blocks|block name aliases]]: &amp;quot;g&amp;quot; for grass, &amp;quot;w&amp;quot; for water, &amp;quot;a&amp;quot; for air.&lt;br /&gt;
*Drawing Fix: Added a missing volume check to {{cmd|Line}}, and fixed {{cmd|CuboidW}} volume calculations.&lt;br /&gt;
*Drawing Fix: Fixed {{cmd|Copy}} and {{cmd|Cut}} reporting incorrect orientation.&lt;br /&gt;
*FrontEnd: Colored ConfigCLI log messages: red for errors, yellow for warnings, dark gray for debug, default (gray) for everything else. Call with &amp;quot;--noconsolecolor&amp;quot; parameter to disable.&lt;br /&gt;
*FrontEnd: ServerCLI now handles all updater modes properly, and downloads updater/restarts if needed.&lt;br /&gt;
*FrontEnd: Improved window titles.&lt;br /&gt;
*FrontEnd Fix: Fixed ServerCLI writing errors to stdout instead of stderr.&lt;br /&gt;
*Misc: Players who log out hidden will now log in silently, still hidden.&lt;br /&gt;
*Misc: More [[Constants|keywords]] are now usable in announcements, rules, and greeting files: {SERVER_NAME}, {MOTD}, {RANK}, {PLAYER_NAME}, {TIME}, {WORLD}, {PLAYERS}, and {WORLDS}&lt;br /&gt;
*Misc: Kicked or disconnected players no longer have their TotalTime increased for the time idled.&lt;br /&gt;
*Misc: fCraft will refuse to start up if running old versions of mono (2.4 or earlier).&lt;br /&gt;
*Misc: Crash reporter now prints a reference number for submitted reports.&lt;br /&gt;
*Misc: AutoRank now only evaluates online players on a timer. A full database sweep will only be done on startup or on-demand. This should notably reduce average CPU use on large databases.&lt;br /&gt;
*Misc: Added AutoRank pseudoplayer (similar to Console), who is now credited with all autorank promotions/demotions.&lt;br /&gt;
*Misc: Increased the allowed clicking distance when manually clicking blocks, to account for lag.&lt;br /&gt;
*Misc: IRC bot now announces channel kicks and nick changes.&lt;br /&gt;
*Misc: When a player with a reserved slot tries to join a full world, the longest-idle player will be kicked to make room.&lt;br /&gt;
*Misc: Frozen, demoted, and banned players are now automatically unhidden. Frozen players are undeafened. Banned players are also automatically unfrozen and unmuted.&lt;br /&gt;
*Misc: When a player&#039;s rank is changed, their bindings are now reset (to avoid issues with {{cmd|Water}}, {{cmd|Lava}}, and {{cmd|Solid}}), and any in-progress selection is canceled ([[:Category:Requires Draw|draw]] commands, {{cmd|Zone}}, {{cmd|ZTest}}, {{cmd|BInfo}}, {{cmd|Measure}}, etc)&lt;br /&gt;
*Misc: Frozen players now have a little blue star appended to their names, similar to the red star for banned players.&lt;br /&gt;
*Misc: Moved all heartbeat-related operations to the background thread (fixes lag spikes when minecraft.net times out).&lt;br /&gt;
*Misc: Added a dynamically updated compass at the top-right of the screen, visible to players who use WoM 1.8.8+&lt;br /&gt;
*Misc: Added a check for libMonoPosix on server startup. This allows catching misconfigured Mono setups early.&lt;br /&gt;
*Misc: Ranks now default to &amp;quot;white&amp;quot; color (&amp;quot;&amp;amp;f&amp;quot;) instead of &amp;quot;none&amp;quot; color (&amp;quot;&amp;quot;).&lt;br /&gt;
*Misc: Edited the &amp;quot;failed to load main world&amp;quot; message to sound less menacing, since it&#039;s usually caused just by main world filling up.&lt;br /&gt;
*Misc: Sped up {{cmd|PruneDB}}, {{cmd|MassRank}}, map generation. Reduced memory use of draw commands, undo buffers, and ConfigGUI.&lt;br /&gt;
*Misc Fix: Fixed &amp;quot;duplicate metadata key&amp;quot; warning in FCMv3 maps.&lt;br /&gt;
*Misc Fix: Fixed a zone-related race condition when exporting to Opticraft map format.&lt;br /&gt;
*Misc Fix: Fixed fCraft being unable to start if fCraft.dll is in the root directory of a drive (e.g. in &amp;quot;C:/&amp;quot;)&lt;br /&gt;
*Misc Fix: Fixed a bug that caused bandwidth to sometimes be wasted on needlessly updating position of non-moving players.&lt;br /&gt;
*Misc Fix: Fixed a clock drift problem in periodic SchedulerTasks.&lt;br /&gt;
*Misc Fix: Fixed a case where, in some rank configurations, players would see themselves as offline when hidden (in {{cmd|Info}}, {{cmd|BInfo}}, {{cmd|Players}}, etc).&lt;br /&gt;
*PlayerDB: Added 46th column: PlayerInfo.IsHidden (&#039;h&#039; if hidden, otherwise blank).&lt;br /&gt;
*PlayerDB: Added 47th column: PlayerInfo.LastModified (UTC unix timestamp). Accuracy is not yet guaranteed.&lt;br /&gt;
*PlayerDB: Added 48th column: PlayerInfo.DisplayedName (string or blank). Overrides &amp;quot;Name&amp;quot; field for purposes of displaying formatted name (ClassyName).&lt;br /&gt;
*PlayerDB: Removed 14th column (FailedLoginCount) due to disuse.&lt;br /&gt;
*PlayerDB: PlayerDB now writes out changes to TotalTime incrementally for online players, instead of applying the change on-logout.&lt;br /&gt;
*Worlds: Added a way to change some environment and texture settings per-map, using {{cmd|Env}}.&lt;br /&gt;
*Worlds: Per-world settings on backup intervals now work.&lt;br /&gt;
*Worlds: Added BlockDB - a system for tracking edits per-block. Added related {{cmd|BlockDB}} and {{cmd|BInfo}} commands.&lt;br /&gt;
*Worlds: Added {{cmd|UndoPlayer}} and {{cmd|UndoArea}} commands for undoing players&#039; actions using BlockDB.&lt;br /&gt;
*Worlds: If a world has a missing map file, a warning is now shown, and a default flatgrass map is created.&lt;br /&gt;
*Worlds: Added a way to set per-rank main world, using {{cmd|WMain}}.&lt;br /&gt;
*Worlds: Added {{cmd|Restore}} command, inspired by good old MinerCPP. Selectively loads a map from another file or backup.&lt;br /&gt;
*Worlds: Allowed non-standard dimensions (neither multiples of 16, nor powers of 2). Added a warning about glitches when using nonstandard dimensions.&lt;br /&gt;
*Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to {{cmd|WInfo}} and to &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worlds: MapGenerator tweaks: &amp;quot;default&amp;quot; template is now known as &amp;quot;random,&amp;quot; &amp;quot;mountains&amp;quot; template now has more cliffs and snow on mountaintops, &amp;quot;island&amp;quot; template is less rough and has nice beaches, and water is now automatically removed from &amp;quot;desert&amp;quot; maps.&lt;br /&gt;
*Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.&lt;br /&gt;
*Worlds Fix: Fixed an exploit that allowed players to bypass world access permissions in certain rank configurations.&lt;br /&gt;
*Worlds Fix: Fixed some rare crashes in {{cmd|WLoad}}.&lt;br /&gt;
*Worlds Fix: Fixed {{cmd|WAccess}} and {{cmd|WBuild}} occasionally not saving the world list after adding players to the access/build whitelists.&lt;br /&gt;
*Worlds Fix: Fixed being unable to change just the capitalization when renaming worlds from ConfigGUI, under Windows.&lt;br /&gt;
*Zones: Added {{cmd|ZRename}} command to rename zones.&lt;br /&gt;
*Zones: Added {{cmd|ZMark}} command to use zone boundaries for drawing or making selections.&lt;br /&gt;
*Zones Fix: Fixed {{cmd|ZAdd}} crash when adding more than one personal zone for the same player ({{cmd|ZAdd|+Name}}).&lt;br /&gt;
*Zones Fix: Fixed a rare case where two players could simultaneously create a zone with the same name on the same world, which would crash one of the players.&lt;br /&gt;
*Zones Fix: {{cmd|Zones}} no longer crashes if used on a world with a missing or corrupt map file.&lt;br /&gt;
*Zones Fix: Tightened security checks of {{cmd|ZAdd}} and {{cmd|ZRemove}} to prevent a permission exploit.&lt;br /&gt;
*API: Added specialized MetadataCollection class to manage per-map and per-player metadata, and ZoneCollection for zones.&lt;br /&gt;
*API: Added ReSharper-compatible annotations and more argument checks throughout the codebase.&lt;br /&gt;
*API: fCraft now consistently uses [X,Y,Z] for coordinates (where X/Y are horizontal, and Z is vertical), and [Width,Length,Height] for dimensions (Width/Length horizontal, Height vertical).&lt;br /&gt;
*API: Merged Session and Player classes. All session-related functionality is in Player.Networking.cs file.&lt;br /&gt;
*API: New line-wrapping algorithm provides better performance and safety. Now using &amp;quot;\n&amp;quot; instead of &amp;quot;&amp;amp;N&amp;quot; to force a newline.&lt;br /&gt;
*API: Renamed World.PlayerList to World.Players, Server.PlayerList to Server.Players, and added PlayerDB.PlayerInfoList&lt;br /&gt;
*API: New LINQ-style API for working with sets of players. This API is now used for all messaging and packet-sending. Old API (Server.Send* and World.Send*) was removed.&lt;br /&gt;
*API: New unified API for handling player-generated chat (Chat static class), and new events (Chat.Sending and Chat.Sent).&lt;br /&gt;
*API: All cancellable events now implement ICancellableEvent.&lt;br /&gt;
*API: MapDAT and MapNBT now implement IMapConverter.LoadHeader.&lt;br /&gt;
*API: Converted IClassy.GetClassyName(), Rank.GetFullName(), and Player.GetListName() to properties.&lt;br /&gt;
*API: Renamed ConfigKey.GetBool() to ConfigKey.Enabled(). Added ConfigKey.TryGetInt() and ConfigKey.TryGetBool() methods.&lt;br /&gt;
*API: CommandManager.RegisterCommand() now checks for reserved command names (currently &amp;quot;ok&amp;quot; and &amp;quot;nvm&amp;quot;), and does a better job at handling command name capitalization differences.&lt;br /&gt;
*API: Added ability to override Player.MaxBlockPlacementRange, Player.SocketTimeout, Heartbeat.Delay, and Heartbeat.Timeout.&lt;br /&gt;
*API: Renamed RankManager.ParseRank(string) to Rank.Parse(string)&lt;br /&gt;
*API: All draw/undo/copy/paste commands have been moved to fCraft.Drawing namespace.&lt;br /&gt;
*API: Added support for multiple {{cmd|Help}} sections per command.&lt;br /&gt;
*API: Added CommandCategory.Debug, removed CommandDescriptor.HelpHander and HelpHandler delegate.&lt;br /&gt;
*API: Moved Server.Player* events to Player.* and Server.PlayerInfo* to PlayerInfo.*&lt;br /&gt;
*API: Expanded the confirmation system (&amp;lt;code&amp;gt;/OK&amp;lt;/code&amp;gt;) to allow custom callbacks, decoupled from the command system.&lt;br /&gt;
*API Fix: &amp;quot;Bad heartbeat&amp;quot; reply from minecraft.net no longer triggers UrlChanged event.&lt;br /&gt;
*API Fix: Fixed a couple bugs in BoundingBox.GetIntersection and BoundingBox.Contains.&lt;br /&gt;
*API Fix: Fixed {{cmd|Replace}} and {{cmd|ReplaceNot}} not firing Player.PlacedBlock&lt;br /&gt;
*events.&lt;br /&gt;
*API Fix: Uncaught exceptions that occur while parsing player messages no longer send crash reports when in DEBUG configuration.&lt;br /&gt;
&lt;br /&gt;
=0.5xx=&lt;br /&gt;
&lt;br /&gt;
===0.537===&lt;br /&gt;
&#039;&#039;14 September 2011 - r991&#039;&#039;&lt;br /&gt;
*Fixed another heartbeat-related issue caused by minecraft.net updates.&lt;br /&gt;
&lt;br /&gt;
===0.536===&lt;br /&gt;
&#039;&#039;14 September 2011 - r988&#039;&#039;&lt;br /&gt;
*Fix: Fixed a rare crash in DoChangeRank when promoting/demoting offline players.&lt;br /&gt;
*Fix: Fixed a case where world access/build whitelist additions were not immediately saved.&lt;br /&gt;
*Fix: Fixed several errors in the way time spans were displayed.&lt;br /&gt;
*Fix: Unhandled exceptions in background task callbacks will no longer take down the server&lt;br /&gt;
*Change: Changed the heartbeat handler to use GET instead of POST (workaround for minecraft.net problems).&lt;br /&gt;
*Change: Removed AutoLauncher.&lt;br /&gt;
&lt;br /&gt;
===0.535===&lt;br /&gt;
&#039;&#039;1 July 2011 - r702&#039;&#039;&lt;br /&gt;
*Workaround for minecraft.net heartbeat changes.&lt;br /&gt;
&lt;br /&gt;
===0.534===&lt;br /&gt;
&#039;&#039;18 June 2011 - r668&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;lt;RestartInterval&amp;gt; config key (in seconds). It should help people who are suffering from Mono memory leaks. This setting can only currently be modified by editing config.xml&lt;br /&gt;
*Fix: Fixed /wload and /gen resetting the world&#039;s hidden status.&lt;br /&gt;
*Fix: Fixed &amp;quot;Apply&amp;quot; button not getting enabled in ConfigTool when world list is changed.&lt;br /&gt;
*Fix: Fixed /cw reporting incorrect volume (fixes #3308137).&lt;br /&gt;
*Fix: Added a confirmation when /wrename will result in overwriting a map file, and fixed a related crash (fixes #3311994).&lt;br /&gt;
*Fix: Fixed FormatException in error handling code in World.AcceptPlayer&lt;br /&gt;
*Fix: Fixed /info not showing formatted names for players who appear offline.&lt;br /&gt;
*Fix: Fixed several issues with renaming worlds from ConfigTool.&lt;br /&gt;
*Fix: Fixed /restart breaking under Mono if path contains spaces.&lt;br /&gt;
*Fix: Fixed /staff, /me, and /roll commands not requiring the Chat permission.&lt;br /&gt;
*Fix: Fixed &amp;quot;Use IRC colors&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*Change: Allowed all printable ASCII characters in chat except &#039;&amp;amp;&#039;.&lt;br /&gt;
*Change: Heartbeat tweaks to prevent &amp;quot;Bad heartbeat&amp;quot; from popping up.&lt;br /&gt;
*Optimization: ConfigTool starts up faster, and uses much less memory.&lt;br /&gt;
&lt;br /&gt;
===0.533===&lt;br /&gt;
&#039;&#039;24 May 2011 - r614&#039;&#039;&lt;br /&gt;
*Fix: Fixed a regression in 0.530 that erased some strings in PlayerInfo and IPBanInfo objects, such as ban reasons.&lt;br /&gt;
*Change: Increased heartbeat interval to 27.5 seconds.&lt;br /&gt;
*Change: Reduced jitter of player movement.&lt;br /&gt;
&lt;br /&gt;
===0.532===&lt;br /&gt;
&#039;&#039;23 May 2011 - r611&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;quot;/worlds loaded&amp;quot; command.&lt;br /&gt;
*Fix: Fixed a bug that prevented worlds from accepting any block changes after a map change (/wload or /gen)&lt;br /&gt;
*Fix: Fixed &amp;quot;Player _____ joined main.&amp;quot; displaying twice when players connect.&lt;br /&gt;
*Change: Added /colours as an alias to /colors&lt;br /&gt;
*Change: Adjusted /dumpstats security checks, and made it require EditPlayerDB permission (instead of Import).&lt;br /&gt;
&lt;br /&gt;
===0.531===&lt;br /&gt;
&#039;&#039;20 May 2011 - r603&#039;&#039;&lt;br /&gt;
*Feature: /SInfo now shows bandwidth use, fCraft version, and .NET/Mono version.&lt;br /&gt;
*Feature: Added ability to use coordinates with mark (e.g. &amp;quot;/Mark 0 0 0&amp;quot;).&lt;br /&gt;
*Fix: Fixed non-default rank settings not saving properly from ConfigTool.&lt;br /&gt;
*Fix: Fixed a serialization bug in IPBanList that happened if a ban reason was not given, or if an IP address was not associated with any player.&lt;br /&gt;
*Fix: Fixed a few minor bugs in /WMain.&lt;br /&gt;
*Change: Allowed the caret (^) in chat messages.&lt;br /&gt;
*Change: Reduced movement lag.&lt;br /&gt;
*Change: /version command has been removed due to redundancy with /sinfo.&lt;br /&gt;
*Change: Detailed reasons of player disconnects are now logged better.&lt;br /&gt;
*Change: Increased Minecraft.net heartbeat interval slightly.&lt;br /&gt;
*API: Added new events: Scheduler.TaskAdded, Scheduler.TaskExecuting, Scheduler.TaskExecuted, and Scheduler.TaskRemoved. These events are only available when fCraft.dll is built with DEBUG_SCHEDULER flag because of their performance impact.&lt;br /&gt;
*Optimization: Removed the scheduler overhead from having unloaded worlds.&lt;br /&gt;
*Optimization: Sped up MapGenerator by about 10%.&lt;br /&gt;
&lt;br /&gt;
===0.530===&lt;br /&gt;
&#039;&#039;7 May 2011 - r583&#039;&#039;&lt;br /&gt;
*Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.&lt;br /&gt;
*Feature: Added OptiCraft blocktype names and blocks&#039; numeric IDs as aliases.&lt;br /&gt;
*Fix: Fixed block bindings not being applied to drawing commands.&lt;br /&gt;
*Fix: Fixed fCraft getting confused if worlds.xml contains duplicates.&lt;br /&gt;
*Fix: Fixed &amp;quot;/&amp;quot; (repeat last command) not rewinding the command, which caused some issues with command arguments.&lt;br /&gt;
*Fix: Fixed &amp;quot;Max connections per IP&amp;quot; setting not saving in ConfigTool.&lt;br /&gt;
*Fix: Fixed AnnounceRankChangeReasons checkbox being erroneously tied to RequireRankChangeReasons key in ConfigTool.&lt;br /&gt;
*Fix: Added some missing tooltips to ConfigTool.&lt;br /&gt;
*Fix: Marked 10.0.0.0/8 IP range as LAN.&lt;br /&gt;
*Fix: Fixed an issue with balanced name verification (thanks wootalyzer).&lt;br /&gt;
*Fix: Fixed server announcing hidden players&#039; departure (#3292633). Thanks to Hellenion.&lt;br /&gt;
*Fix: Fixed /bring not checking per-rank permissions (#3292303). Thanks to Denny&lt;br /&gt;
*Fix: Fixed some header bugs in the D3 map converter.&lt;br /&gt;
*Fix: Fixed /wload crashing instead of printing an error message under Mono if the path was malformed.&lt;br /&gt;
*Fix: Fixed /banip not recognizing invalid IPs (e.g. broadcast).&lt;br /&gt;
*Fix: Fixed antispam resetting players&#039; mute time.&lt;br /&gt;
*Fix: Fixed Scheduler being able to add tasks after the shutdown process started.&lt;br /&gt;
*Fix: Reduced problems associated with players trying to connect while the server is shutting down.&lt;br /&gt;
*Fix: Added autorank.xml to the list of protected files.&lt;br /&gt;
*Fix: Fixed a crash in backup system that happened if two backups ran simultaneously and the total size or number of backup files was limited.&lt;br /&gt;
*Fix: Fixed a case where duplicate worlds could be created.&lt;br /&gt;
*Change: When players rejoin a world (e.g. /wflush or /wload), &amp;quot;joined world&amp;quot; message is no longer shown.&lt;br /&gt;
*Change: /mute no longer allows shortening players&#039; mute time, only to extend it.&lt;br /&gt;
*Change: Allowed player names with periods.&lt;br /&gt;
*Change: Removed SaveOnShutdown config key, tweaked range checks on some keys, grouped key tags into section tags.&lt;br /&gt;
*Change: When saving config.xml, keys with default values are now commented out.&lt;br /&gt;
*API: New events! PlayerHideChanged, PlayerInfoCreating, PlayerInfoCreated, PlayerInfoRankChanging, and PlayerInfoRankChanged.&lt;br /&gt;
*API: Server.StartServer() now throws specific exceptions on failure, instead of returning false.&lt;br /&gt;
*API: Removed some obsolete Server events.&lt;br /&gt;
*API: Switched to 100% Utc dates/times internally. PlayerDB now uses UTC Unix timestamps to serialize all dates/times.&lt;br /&gt;
*Optimization: Sped up map generation.&lt;br /&gt;
*Optimization: Reduced PlayerDB saving interval, reduced PlayerDB filesize, reduced CPU and memory use of PlayerDB saving, reduced memory footprint of loaded PlayerDB, improved IPAddress lookup performance in PlayerDB.&lt;br /&gt;
&lt;br /&gt;
===0.522===&lt;br /&gt;
&#039;&#039;16 April 2011 - r546&#039;&#039;&lt;br /&gt;
*Feature: Added more functionality to hollow ellipsoid and sphere, thanks to Redshift. Now it is possible to define outer/inner blocktypes.&lt;br /&gt;
*Feature: Added OptiCraft map format support, courtesy of LgZ-optical&lt;br /&gt;
*Fix: Fixed a serious error that caused a crash when main world became full. This bug affected 0.520 and 0.521.&lt;br /&gt;
*Fix: Fixed AutoLauncher not working under Mono (thanks to ven000m for spotting).&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog crashing if closed while generating a world.&lt;br /&gt;
*Fix: Fixed /restart using ShutdownReason.ShuttingDown (instead of ShutdownReason.Restarting) &lt;br /&gt;
*Fix: Fixed a crash in ConfigTool if MaxPlayers was set to be less than MaxPlayersPerWorld.&lt;br /&gt;
*Fix: When loading old configs (pre-0.520), MaxPlayersPerWorld is automatically set to match MaxPlayers, to avoid unexpected side effects.&lt;br /&gt;
*API: Added WorldCreating and WorldCreated events.&lt;br /&gt;
*API: Moved world-related commands from Server to a new class, WorldManager.&lt;br /&gt;
*API: Renamed RankList to RankManager, and CommandList to CommandManager, for consistency.&lt;br /&gt;
&lt;br /&gt;
===0.521===&lt;br /&gt;
&#039;&#039;12 April 2011 - r534&#039;&#039;&lt;br /&gt;
*Feature: Added a /Clear command, to clear in-game chat. Also works from fCraftConsole and fCraftUI.&lt;br /&gt;
*Fix: Added missing chat commands.&lt;br /&gt;
*Fix: Cosmetic fixes in /ZRemove.&lt;br /&gt;
&lt;br /&gt;
===0.520===&lt;br /&gt;
&#039;&#039;12 April 2011 - r532&#039;&#039;&lt;br /&gt;
*Feature: Removed the server-wide 128 player limit. Now the limit is per-world.&lt;br /&gt;
*Feature: You can now repeat the last command by typing &amp;quot;/&amp;quot;&lt;br /&gt;
*Feature: Added a way to use color codes in chat (with % instead of &amp;amp;), a UseColorCodes permission, and a /colors command.&lt;br /&gt;
*Feature: Added support for multi-line messages or commands. Add &amp;quot; /&amp;quot; to the end of a line to continue typing it.&lt;br /&gt;
*Feature: Added &amp;quot;/commands&amp;quot;, to replace &amp;quot;/help commands&amp;quot;. It allows filtering commands by rank, category, permissions, etc. Aliases: /cmdlist, /cmds&lt;br /&gt;
*Feature: New permissions: ViewPlayerIPs, BringAll&lt;br /&gt;
*Feature: New config switches: AnnounceRankChangeReasons and RequireKickReason.&lt;br /&gt;
*Feature: Replaced LimitOneConnectionPerIP config key (boolean) with a more flexible MaxConnectionsPerIP (int).&lt;br /&gt;
*Feature: Added /bringall command, for moving everyone (or only certain ranks) from your world (or optionally all worlds, or a list of other worlds) to your location.&lt;br /&gt;
*Feature: /bring can be limited per-rank&lt;br /&gt;
*Feature: When file is not found on case-sensitive filesystems, fCraft tries to syggest similar filenames.&lt;br /&gt;
*Feature: Added new constants to use in greeting.txt: {TIME}, {PLAYER_NAME}, {WORLD}, {PLAYERS}, {WORLDS}, {MOTD}&lt;br /&gt;
*Feature: Improved compatibility with SurvivalTest clients.&lt;br /&gt;
*Fix: Fixed /banip not kicking other players from the same IP (besides the named player)&lt;br /&gt;
*Fix: Added missing blocktype validation to MapFCMv2, MapFCMv3, MapMyne, and MapNBT.&lt;br /&gt;
*Fix: Fixed a rare shutdown crash in fCraftUI.&lt;br /&gt;
*Fix: Improved the way PlayerDB.Load handles errors in individual records. A single corrupted entry will no longer prevent the rest from loading.&lt;br /&gt;
*Fix: Fixed fCraftUI abruptly quitting on crash / failure to start, instead of showing the error message. Use &amp;quot;--exitoncrash&amp;quot; command-line switch to reproduce old behavior.&lt;br /&gt;
*Fix: Fixed ConfigTool&#039;s World tab not prompting to delete map files when deleting worlds.&lt;br /&gt;
*Fix: Fixed a bug in MCSharp importer (#3281305)&lt;br /&gt;
*Fix: Fixed a list of permissions in /rinfo not being sorted.&lt;br /&gt;
*Fix: Fixed /mute rank limit dropdown sometimes getting out of sync.&lt;br /&gt;
*Fix: Fixed IRC bot redundantly announcing kicks when someone has been banned.&lt;br /&gt;
*Fix: Fixed a bug where fCraft would fail to start if PlayerDB.txt was truncated/empty.&lt;br /&gt;
*Change: Moved &amp;quot;IP&amp;quot; config key from General to Advanced.&lt;br /&gt;
*Change: Added /spin as an alias to /rotate (for MCLawl users)&lt;br /&gt;
*API: New events: PlayerClicking, PlayerClicked, PlayerPlacingBlock, PlayerPlacedBlock, PlayerListChanged, PlayerBeingKicked, PlayerKicked&lt;br /&gt;
*Optimization: Reduced CPU use of draw commands by ~30%. Sped up PlayerDB loading by ~8%, and reduced memory use when saving. Also reduced PlayerDB filesize by about 15%&lt;br /&gt;
&lt;br /&gt;
===0.512===&lt;br /&gt;
&#039;&#039;2 April 2011 - r508&#039;&#039;&lt;br /&gt;
*Feature: /zones can now be used from console, and can be used on any world (active or inactive).&lt;br /&gt;
*Feature: Improved D3 map importer.&lt;br /&gt;
*Fix: Added missing filename sanity/safety checks to /dumpstats (#3267362, thanks to Hellenion)&lt;br /&gt;
*Fix: Fixed mixed up messages shown in /waccess and /wbuild (#3179189)&lt;br /&gt;
*Fix: Fixed crash reports sometimes failing to submit.&lt;br /&gt;
*Fix: Fixed /dumpstats crashing if a rank had 0 players.&lt;br /&gt;
*Fix: Made Mono version detection less crashy (#3267476, thanks to Hellenion again)&lt;br /&gt;
*Fix: Fixed MapUtility.LoadHeader terminating early, before going through all fallback converters.&lt;br /&gt;
*Fix: Fixed ConfigTool tab order.&lt;br /&gt;
*Fix: Fixed fCraft reporting inaccurate CPU usage figures.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in /rank if an invalid player name was given.&lt;br /&gt;
*Fix: Fixed fCraft project not building under Windows if path contains spaces.&lt;br /&gt;
*Change: Added &amp;quot;/serverreport&amp;quot; as an alias for &amp;quot;/sinfo&amp;quot;&lt;br /&gt;
*Change: Improved the way fCraft handles and reports map loading errors.&lt;br /&gt;
*API Change: Moved all filename constants (e.g. &amp;quot;PlayerDB.txt&amp;quot;) to Paths class.&lt;br /&gt;
&lt;br /&gt;
===0.511===&lt;br /&gt;
&#039;&#039;31 March 2011 - r497&#039;&#039;&lt;br /&gt;
*Feature: Further improvements to Mono support. fCraft will now utilize mono-sgen whenever possible.&lt;br /&gt;
*Fix: Fixed fCraftUI ignoring command-line arguments.&lt;br /&gt;
*Fix: Fixed broken /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed crash reports failing to submit.&lt;br /&gt;
*Fix: Fixed a timezone-related bug that messed up players&#039; &amp;quot;total time on server&amp;quot; stat.&lt;br /&gt;
*Change: Added a warning if running on old versions of Mono (2.6 or lower). &lt;br /&gt;
&lt;br /&gt;
===0.510_r489===&lt;br /&gt;
&#039;&#039;29 March 2011 - r489&#039;&#039;&lt;br /&gt;
*Fix: Fixed unnecessary GDI+ dependence in fCraftConsole under Mono&lt;br /&gt;
*Fix: Fixed EnumKeyAttribute not taking blank values (as in case of ProcessPriority config key).&lt;br /&gt;
&lt;br /&gt;
===0.510===&lt;br /&gt;
&#039;&#039;29 March 2011 - r488&#039;&#039;&lt;br /&gt;
*Feature: The fCraft updater has been rewritten and expanded. It now works under all OSes, and provides more features.&lt;br /&gt;
*Feature: fCraft now handles differences between case-sensitive and case-insensitive filesystems much better. /wrename and /wload are also aware of the filesystem.&lt;br /&gt;
*Feature: fCraft now checks presence, filename capitalization, and integrity of all map files on the world list at startup.&lt;br /&gt;
*Feature: New ConfigTool settings for updater, checkbox for showing &amp;quot;player connected/left&amp;quot; messages, and &amp;quot;/mute&amp;quot; permission settings.&lt;br /&gt;
*Feature: Added &amp;quot;/credits&amp;quot; command to ConfigUI.&lt;br /&gt;
*Feature: Implemented &amp;quot;--norestart&amp;quot; and &amp;quot;--exitoncrash&amp;quot; command-line switches for fCraft.&lt;br /&gt;
*Feature: fCraft event system is being rewritten with modding support in mind.&lt;br /&gt;
*Feature: Improved MCSharp/MCZall/MCLawl map support.&lt;br /&gt;
*Fix: Software errors that happen while parsing player and console commands will no longer cause disconnects/crashes.&lt;br /&gt;
*Fix: IPBanList will attempt to recover records lost due to a recent regression in 0.505.&lt;br /&gt;
*Fix: Fixed /wrename errors in cases where names differ only in capitalization.&lt;br /&gt;
*Fix: Fixed &amp;quot;Copy Existing World&amp;quot; showing the current world on the list in AddWorldPopup.&lt;br /&gt;
*Fix: Fixed &amp;quot;Chat&amp;quot; tab preview not updating when settings are reset.&lt;br /&gt;
*Fix: Fixed per-world whitelist/blacklist not saving when worlds are edited with AddWorldPopup.&lt;br /&gt;
*Fix: Fixed non-verified connections that get kicked from affecting that name&#039;s PlayerInfo.&lt;br /&gt;
*Fix: Server.GenerateSalt() now uses a cryptographically secure PRNG.&lt;br /&gt;
*Fix: Fixed verification problems on servers with HeartbeatEnabled=false.&lt;br /&gt;
*Fix: Fixed a wrong message being shown by /rank if the target is already same or higher/lower rank.&lt;br /&gt;
*Fix: Fixed /winfo showing incorrect information for last lock/unlock event.&lt;br /&gt;
*Fix: Fixed tabbing order on ConfigUI.&lt;br /&gt;
*Fix: Improved the way Server.InitLibrary and Logger.Log errors are handled.&lt;br /&gt;
*Fix: Added missing validation checks to LoadHeader in several map converters.&lt;br /&gt;
*Fix: Fixed players being able to complete a draw command or /zadd, if they were demoted before clicking for the second time.&lt;br /&gt;
*Fix: Added missing /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed a bug in /zinfo that showed incorrect creation/editing times.&lt;br /&gt;
*Fix: Better error messages for unrecognized block names in command parameters.&lt;br /&gt;
*Fix: /restart now works from ConfigUI under Mono (but still broken in fCraftConsole).&lt;br /&gt;
*Fix: Fixed handling of command-line arguments surrounded with quotes.&lt;br /&gt;
*Fix: Fixed a bug at ConfigTool.ConfigUI.xAllowSecurityCircumvention_CheckedChanged (#3181907, thanks to clhdrums87).&lt;br /&gt;
*Fix: Fixed /winfo counting hidden players (#3237877, thanks to Hellenion).&lt;br /&gt;
*Fix: Fixed MCSharp map exporter mixing up map dimensions (#3159501, thanks to dogwatch).&lt;br /&gt;
*Change: Improved the way fCraft project is built. Now all binaries are copied to /trunk/bin/Release or /trunk/bin/Debug.&lt;br /&gt;
*Change: Improved error tolerance of Scheduler.EndShutdown().&lt;br /&gt;
*Change: Expanded Logger.CheckForCommonErrors().&lt;br /&gt;
*Change: Renamed config keys (old ones can still be loaded): IRCBot to IRCBotEnabled, AutomaticUpdates to UpdaterMode.&lt;br /&gt;
*Change: Added /wadd as an alias for /wload.&lt;br /&gt;
*Change: Renamed Mcc namespace to fCraft.MapConversion.&lt;br /&gt;
*Change: Decreased timeout for fCraft update check.&lt;br /&gt;
*Change: Added a confirmation prompt to /rank when adding an unrecognized player name to the database.&lt;br /&gt;
*Optimization: Sped up heartbeat sending and world-related operations, increased world saving interval to 90 seconds, reduced per-player idle CPU usage, halved CPU usage of draw commands.&lt;br /&gt;
&lt;br /&gt;
===0.506===&lt;br /&gt;
&#039;&#039;11 February 2011 - r427&#039;&#039;&lt;br /&gt;
*Feature: Added hollow ellipsoid drawing (/eh) and hollow sphere drawing (/sph), contributed by Conrad &amp;quot;Redshift&amp;quot; Morgan.&lt;br /&gt;
*Fix: Fixed a regression in 0.503 that caused some IP ban records to be lost. I am terribly sorry!&lt;br /&gt;
*Fix: Fixed a path-related error in Map.SaveBackup&lt;br /&gt;
*Fix: Fixed a possible disconnect in Player.CheckBlockSpam is antigrief was not configured properly.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool.SaveWorldList.&lt;br /&gt;
*Fix: Fixed &amp;quot;Limit the number of blocks that can be undone&amp;quot; checkbox misbehaving (thanks to ven000m for bug report).&lt;br /&gt;
*Change: By popular demand /sphere2 is now the default behavior of /sphere.&lt;br /&gt;
*Change: Removed &amp;quot;oldSalt&amp;quot; check for name verification, to avoid having the server write to config.xml unnecessarily.&lt;br /&gt;
*Change: Removed &amp;quot;.backup&amp;quot; file creation, by popular demand. It was kinda useless.&lt;br /&gt;
&lt;br /&gt;
===0.505===&lt;br /&gt;
&#039;&#039;8 February 2011 - r422&#039;&#039;&lt;br /&gt;
*Feature: All draw commands now inform player if any blocks were skipped due to local permission issues (e.g. zones).&lt;br /&gt;
*Fix: Fixed a regression that caused backups to be saved in the wrong path. Backups were being saved to ./backups/ instead of ./maps/backups/&lt;br /&gt;
*Fix: Fixed a permission issue in /replace and /replacenot.&lt;br /&gt;
*Fix: Fixed /info not displaying a list of players from same IP.&lt;br /&gt;
*Fix: Addressed a security issue with salt generation.&lt;br /&gt;
&lt;br /&gt;
===0.504===&lt;br /&gt;
&#039;&#039;3 February 2011 - r419&#039;&#039;&lt;br /&gt;
*Fixed a crash bug related to SecurityController.MinRank&lt;br /&gt;
&lt;br /&gt;
===0.503===&lt;br /&gt;
&#039;&#039;3 February 2011 - r418&#039;&#039;&lt;br /&gt;
*Feature: Added /deafen command. It temporarily blocks all incoming messages (makes you go &amp;quot;deaf&amp;quot;), to allow taking screenshots, recording videos, or just playing without the wall of text.&lt;br /&gt;
*Feature: Added ShowBannedConnectionMessages config key (default: true). When disabled, no &amp;quot;banned player tried to log in&amp;quot; messages are shown.&lt;br /&gt;
*Fix: Fixed PlayerInfo.frozenOn not being set.&lt;br /&gt;
*Fix: Fixed kick messages for players affected by /banall&lt;br /&gt;
*Fix: Fixed /unbanall reason not being shown.&lt;br /&gt;
*Fix: /where now shows what world you are on.&lt;br /&gt;
*Fix: Fixed a couple minor bugs in /waccess and /wbuild.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in SecurityController constructor.&lt;br /&gt;
*Fix: Made several tweaks to improve the first-run experience.&lt;br /&gt;
&lt;br /&gt;
===0.502===&lt;br /&gt;
&#039;&#039;31 January 2011 - r411&#039;&#039;&lt;br /&gt;
*Fix: Adjusted for yet another change in the way minecraft.net replies to heartbeats (should fix all heartbeat issues for now).&lt;br /&gt;
*Fix: Added a check to /zremove to prevent players from deleting zones to gain access to areas from which they&#039;re barred.&lt;br /&gt;
*Fix: Fixed being able to use /me or /staff to write empty messages.&lt;br /&gt;
*Fix: Fixed frozen players not getting defrosted when kicked.&lt;br /&gt;
*Fix: Formatting fixes in &amp;quot;___ was previously frozen&amp;quot; message&lt;br /&gt;
*Fix: Fixed a mini-bug in Map.ValidateHeader()&lt;br /&gt;
*Change: Renamed /wremove to /wunload for consistency. &amp;quot;/wremove&amp;quot; is still usable as an alias.&lt;br /&gt;
&lt;br /&gt;
===0.501===&lt;br /&gt;
&#039;&#039;30 January 2011 - r408&#039;&#039;&lt;br /&gt;
*Feature: Added /sphere and /sphere2, based on code contributed by SystemX17.&lt;br /&gt;
*Feature: Added new config setting: ShowConnectedMessages (default: true)&lt;br /&gt;
*Feature: Added a notification for players who logged in frozen.&lt;br /&gt;
*Fix: Fixed frozen players twitching.&lt;br /&gt;
*Fix: Fixed IRC bot not stripping color codes in messages relayed from IRC to the game.&lt;br /&gt;
*Fix: Fixed lastSeen and lastLoginDate not being set for first-time players who failed to log in (e.g. IP-banned).&lt;br /&gt;
*Fix: Fixed /bring not working properly on frozen players.&lt;br /&gt;
*Fix: Fixed a case where it was possible to add access restrictions to main map.&lt;br /&gt;
*Fix: Fixed per-world whitelists/blacklists being lost when editing worlds.xml via ConfigTool.&lt;br /&gt;
*Fix: Fixed AutoRankAll showing wrong number of players promoted/demoted (just a formatting bug, no promotions were affected)&lt;br /&gt;
&lt;br /&gt;
===0.500===&lt;br /&gt;
&#039;&#039;25 January 2011 - r399&#039;&#039;&lt;br /&gt;
*Commands: Added /line drawing command, kindly contributed by SystemX17&lt;br /&gt;
*Commands: Added /restart command, to restart the server remotely (NOTE: does not work for fCraftWinService yet)&lt;br /&gt;
*Commands: Added /unmute command (same as &amp;quot;/mute name 0&amp;quot;)&lt;br /&gt;
*Commands: Added an option to silently hide (no disconnect/connect message).&lt;br /&gt;
*Commands: Added /ignore and /unignore commands to block chat from another player (for the duration of your visit).&lt;br /&gt;
*Commands: /whide and /wunhide commands added to hide/unhide worlds from the list.&lt;br /&gt;
*Commands: /worlds now takes an optional param: &amp;quot;/worlds all&amp;quot; lists visible+hidden worlds, and &amp;quot;/worlds hidden&amp;quot; lists hidden worlds only.&lt;br /&gt;
*Commands: List of player names from the same IP is now shown in /info.&lt;br /&gt;
*Commands: /help now shows what rank you need to be to use a command (for most commands).&lt;br /&gt;
*Commands: /bring now works on frozen players.&lt;br /&gt;
*Commands: /bring now takes an optional second name/parameter, to teleport someone to someone&lt;br /&gt;
*Commands: /info now shows whether a player is hidden (if the command caller has permission to see).&lt;br /&gt;
*Commands: Fixed a case where teleporting to a player who is currently changing worlds brings one to a wrong location.&lt;br /&gt;
*Commands: Fixed bindings (/water, /lava, /solid, and /bind) not being applied to draw commands.&lt;br /&gt;
*Commands: /wsave and /gen can now create directories if needed.&lt;br /&gt;
*Commands: Fixed a bug in /roll&lt;br /&gt;
*Commands: Sped up /paste, /pastenot, /replace, and /replacenot slightly.&lt;br /&gt;
*ConfigTool: New &amp;quot;Chat&amp;quot; tab for controlling appearance and content of in-game chat.&lt;br /&gt;
*ConfigTool: Added ability to customize MeColor (for /me messages, default: purple) and WarningColor (for major errors/warnings, default: red) in config.&lt;br /&gt;
*ConfigTool: AddWorldPopup can now show detailed info for maps of all supported formats.&lt;br /&gt;
*ConfigTool: Improved tooltips for several items in ConfigUI.&lt;br /&gt;
*FrontEnd: Uncaught exceptions that happen while executing commands from fCraftUI console are now handled by the crash reporter (instead of actually crashing).&lt;br /&gt;
*FrontEnd: Added /clear command for fCraftUI and fCraftConsole - clears log screen.&lt;br /&gt;
*FrontEnd: The URL is no longer highlighted after first heartbeat, to avoid stealing focus from console.&lt;br /&gt;
*Generator: Fixed &amp;quot;flatgrass&amp;quot; template&lt;br /&gt;
*Generator: Fixed alphabetical order in the list of templates&lt;br /&gt;
*Generator: MapGenerator now embeds generation parameters into the map file metadata&lt;br /&gt;
*Generator: Fixed several template loading bugs.&lt;br /&gt;
*Generator: Optimized AddBeaches to be about 2x faster&lt;br /&gt;
*Generator: Added a missing dimension check to /gen&lt;br /&gt;
*IRC: Messages relayed from game to IRC now have color codes preserved.&lt;br /&gt;
*IRC: Kicks, Bans, unbans, promotions, and demotions can now be relayed to IRC.&lt;br /&gt;
*IRC: IRC bot now relays /say messages, and /me messages (both /me on IRC and /me on the server).&lt;br /&gt;
*IRC: IRC Error handling is greatly improved.&lt;br /&gt;
*IRC: (Threaded) If one of the bots loses connection, one of the other bots take over parsing input.&lt;br /&gt;
*IRC: Increased IRC reconnect delay to 15 seconds.&lt;br /&gt;
*Maps: Switched to a new file format (FCMv3) that allows for future additions like block tracking and physics.&lt;br /&gt;
*Maps: Much of MCC (map conversion) API was rewritten for better consistency and performance.&lt;br /&gt;
*Maps: Improved support for loading indev (pre-infinite) maps, including Omen-generated maps.&lt;br /&gt;
*Maps: Improved resilience for loading maps with unknown blocktypes. Instead of failing, it just replaces any unknown blocks with air.&lt;br /&gt;
*Maps: Added consistent header validation to all map format loaders.&lt;br /&gt;
*Maps: Fixed maps not autosaving when zones are added or removed.&lt;br /&gt;
*Maps: Zone definitions are now serialized to XML. Zones saved with this revision of fCraft will no longer be readable by older version of fCraft.&lt;br /&gt;
*Maps: Fixed a bug when loading JTE&#039;s format maps.&lt;br /&gt;
*Maps: Fixed format of backup filenames.&lt;br /&gt;
*PlayerDB: Added new fields: bannedUntil, frozenOn, frozenBy, mutedUntil, mutedBy, IRCPassword, online, leaveReason&lt;br /&gt;
*PlayerDB: Fixed PlayerInfo.ID not being assigned for new players until sever restart / DB reload.&lt;br /&gt;
*PlayerDB: Fixed off-by-one error with PlayerInfo.timesVisited&lt;br /&gt;
*PlayerDB: Fixed /me, /say, rank chat, and /staff not counting towards PlayerInfo.linesWritten&lt;br /&gt;
*PlayerDB: Made PlayerDB more resilient to errors. Reduced filesize slightly by omitting default values for more date fields, and removing milliseconds from &amp;quot;totalTime&amp;quot;&lt;br /&gt;
*PlayerDB: Improved forwards compatibility of PlayerDB by removing maximum-field-count check.&lt;br /&gt;
*Security: Worlds can now have player whitelists and blacklists (just like zones) for access and build permissions.&lt;br /&gt;
*Security: Added a security check to /wsave, /wload, and /gen to prevent reading or overwriting files outside the map folder.&lt;br /&gt;
*Security: Added a per-rank security option to prevent players from whitelisting themselves, removing themselves from blacklists, or lowering their rank&#039;s restrictions on worlds and zones.&lt;br /&gt;
*Security: /mute and /freeze are now persistent even if the player reconnects.&lt;br /&gt;
*Security: Relaxed SetTile packet checks. Players will no longer be kicked due to Minecraft client bugs.&lt;br /&gt;
*Security: Fixed an exploit that allowed changing steps to doublesteps even inside zoned areas.&lt;br /&gt;
*Security: Improved consistency of permission dependencies.&lt;br /&gt;
*Security: Fixed a security exploit in /wmain that allowed players with ManageWorlds permission to gain access to restricted worlds.&lt;br /&gt;
*Security: Fixed a bug that prevented banning players who were not yet in PlayerDB.&lt;br /&gt;
*Security: Added an option to only allow paid players (PaidPlayersOnly)&lt;br /&gt;
*Stability: Made crash reporting more reliable. A failed crash report will no longer prevent error message from being logged and displayed.&lt;br /&gt;
*Stability: Fixed a crash in AddWorldPopup if dialog is closed while a map is still loading.&lt;br /&gt;
*Stability: To improve compatibility with some bots, removed &amp;quot;almost there...&amp;quot; message on the loading screen&lt;br /&gt;
*Stability: Disabled error reporting of common non-fCraft-related errors (like wrong runtime versions, or wrong Mono permissions).&lt;br /&gt;
*Stability: Added &amp;quot;libMonoPosixHelper.so&amp;quot; and &amp;quot;UnauthorizedAccessException&amp;quot; to Logger.CheckForCommonErrors, and made &amp;quot;Could not load file or assembly&amp;quot; check locale-independent.&lt;br /&gt;
*Stability: A backup file is now created whenever PlayerDB, IP ban list, config, or world list are saved (e.g. PlayerDB.txt.backup)&lt;br /&gt;
*Stability: Crash reporter now sends last 25 lines of the log.&lt;br /&gt;
*Stability: Added a fallback overload for Player.Message() that bypasses string format, to make the whole thing less prone to format errors.&lt;br /&gt;
*System: fCraft now takes command-line arguments (at startup) to override the following:&lt;br /&gt;
**working directory (--path=/your/path/here)&lt;br /&gt;
**log directory (--logpath=/your/path/here)&lt;br /&gt;
**map directory (--logpath=/your/path/here) - also overridable in a more user-friendly way via ConfigTool (MapPath key)&lt;br /&gt;
**config file location (--config=/your/path/and/filename.xml)&lt;br /&gt;
*System: Added an option to change the name of Console pseudoplayer in the config.&lt;br /&gt;
*System: Player.GetClassyName() and PlayerInfo.GetClassyName() now add an asterisk after banned players&#039; names&lt;br /&gt;
*System: Fixed hidden players remaining hidden in some cases.&lt;br /&gt;
*System: Fixed PacketWriter.MakeWrappedMessage ignoring uppercase hex colorcodes&lt;br /&gt;
*System: Implemented NoPartialPositionUpdates and RelayAllUpdates config keys.&lt;br /&gt;
*System: Several little glitches and inefficiencies fixed in movement handling code.&lt;br /&gt;
*System: Fixed &amp;quot;player connected&amp;quot; and other messages showing up too early in-game (before map loaded).&lt;br /&gt;
*System: Fixed kick message for players affected by /banall&lt;br /&gt;
*System: Added HeartbeatEnabled config key (default: true)&lt;br /&gt;
*System: Fixed a case where heartbeat could be sent from a different IP than the listening port on systems with multiple NICs/IPs and no configured static IP.&lt;br /&gt;
*System: Increased the write buffer for writing out PlayerDB, reducing I/O time by ~20% on .NET, and ~35% on Mono&lt;br /&gt;
*System: New Scheduler API.&lt;br /&gt;
*System: Modified /wload to avoid loading the map twice in case confirmation is needed.&lt;br /&gt;
*System: Changes to AutoRankEnabled will now be applied when /reloadconfig is called.&lt;br /&gt;
*System: Fixed unnecessary confirmation being asked when world name matches file name in /wload&lt;br /&gt;
*System: Eliminated the heartbeat thread by switching to async i/o.&lt;br /&gt;
*System: Improved startup and shutdown speed.&lt;br /&gt;
*System: Added a &amp;quot;how to promote yourself&amp;quot; message for fresh installations of fCraft.&lt;br /&gt;
*System: Fixed Server.OnPlayerDisconnected event firing for unregistered sessions.&lt;br /&gt;
*System: Made Color.Parse() and Color.GetName() translate fCraft-specific color assignments (e.g &amp;quot;&amp;amp;S&amp;quot; for &amp;quot;System&amp;quot;)&lt;br /&gt;
*System: Added better detection for SMP/Alpha clients trying to connect.&lt;br /&gt;
*System: Sped up AutoRankAll&lt;br /&gt;
&lt;br /&gt;
=0.4xx=&lt;br /&gt;
===0.499===&lt;br /&gt;
&#039;&#039;6 November 2010 - r311&#039;&#039;&lt;br /&gt;
*Feature: Added an option to disable name verification for players connecting from LAN.&lt;br /&gt;
*Feature: Added &#039;flat&#039; template to MapGenerator, allowing to make flat maps with any theme.&lt;br /&gt;
*Feature: Added &#039;grass&#039; pseudotheme to /gen command, which is basically the &#039;Forest&#039; theme with trees disabled.&lt;br /&gt;
*Fix: Fixed /wflush leaving ghosts/clones behind.&lt;br /&gt;
*Fix: Fixed muted players being able to use /say and /staff&lt;br /&gt;
*Fix: Fixed /baninfo ignoring permission checks.&lt;br /&gt;
*Fix: Fixed &amp;quot;draw limit&amp;quot; checkbox getting disabled in ConfigTool if a player had &#039;CopyAndPaste&#039; permission but no &#039;Draw&#039; permission.&lt;br /&gt;
*Fix: Fixed several off-by-1 errors involving random number generation, notably in MapGenerator and Server.GenerateSalt()&lt;br /&gt;
*Fix: Fixed potential crash in MapGenerator.SealLiquids&lt;br /&gt;
*Fix: Fixed a potential crash in Map.SaveBackup() if the map filename contained brackets.&lt;br /&gt;
*Fix: Fixed a forced disconnect when trying to feed /gen a theme or template with brackets in the name.&lt;br /&gt;
&lt;br /&gt;
===0.498===&lt;br /&gt;
&#039;&#039;4 November 2010 - r308&#039;&#039;&lt;br /&gt;
*Change: Disabled zlib support due to more potential memory leaks. fffuuuuu....&lt;br /&gt;
*Fix: Fixed Island, Bay, and Ice templates broken by the last patch.&lt;br /&gt;
*Fix: MapGeneratorArgs: snowTransition was interpreted as absolute (instead of relative) altitude, and marbledHeightmap incorrectly defaulted to &#039;true&#039;.&lt;br /&gt;
*Change: Updated readme and changelog.&lt;br /&gt;
&lt;br /&gt;
===0.497===&lt;br /&gt;
&#039;&#039;4 November 2010 - r306&#039;&#039;&lt;br /&gt;
*Feature: Added accurate progress reporting from MapGenerator. Coming soon: cancellation.&lt;br /&gt;
*Feature: New MapGenerator options: BeachHeight, CliffSmoothing, LandSlope, UnderwaterSlope, MaxHeightVariation, MaxDepthVariation.&lt;br /&gt;
*Feature: Added UI controls for snow/cliff/beach settings to AddWorldPopup.&lt;br /&gt;
*Feature: Added a list of popular IRC networks to ConfigTool.&lt;br /&gt;
*Change: Improved PlayerDB lookup performance by reducing locking.&lt;br /&gt;
*Fix: Fixed MapGenerator calculating slope incorrectly at the water boundary.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add Ore&amp;quot; requiring &amp;quot;Add Caves&amp;quot; in MapGenerator.&lt;br /&gt;
*Fix: Fixed water/lava caves not sealing liquids properly. &lt;br /&gt;
*Change: Set MapGenerator to default to 256x256x96&lt;br /&gt;
*Change: AddWorldPopup Generator tab layout overhaul&lt;br /&gt;
*Change: Organized MapGeneratorArgs and added serialization/deserialization for all the new options.&lt;br /&gt;
&lt;br /&gt;
===0.496===&lt;br /&gt;
&#039;&#039;3 November 2010 - r301&#039;&#039;&lt;br /&gt;
*Fix: Fixed File.Replace() failing if fCraft was set up on a partition/volume other than the one where temp folder is.&lt;br /&gt;
*Fix: Added missing tooltip for &amp;quot;Edit Greeting&amp;quot;&lt;br /&gt;
*Fix: Fixed /sinfo including hidden players in the player count.&lt;br /&gt;
&lt;br /&gt;
===0.495===&lt;br /&gt;
&#039;&#039;2 November 2010 - r300&#039;&#039;&lt;br /&gt;
*Feature: Added a way to edit the greeting message, by editing &amp;quot;greeting.txt&amp;quot;&lt;br /&gt;
*Feature: When a player gets banned, any previously-banned accounts from same IP are listed.&lt;br /&gt;
*Fix: Fixed renaming worlds from ConfigTool&#039;s &amp;quot;worlds&amp;quot; tab not always working.&lt;br /&gt;
*Fix: Fixed several filesystem-related errors on non-Windows systems by using Path.Combine() instead of string concatenation.&lt;br /&gt;
*Fix: Possible workaround for missing heartbeats.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;default build rank&amp;quot; controls in ConfigTools.&lt;br /&gt;
*Fix: Fixed overwrite confirmation popping up for /wload when loading map into an unloaded world with the same name.&lt;br /&gt;
*Fix: Fixed a case where Forester could get into an infinite loop when there&#039;s not enough room to place requested number of trees.&lt;br /&gt;
&lt;br /&gt;
===0.494===&lt;br /&gt;
&#039;&#039;31 October 2010 - r297&#039;&#039;&lt;br /&gt;
*Feature: New map generator features:&lt;br /&gt;
**Adjustable water level.&lt;br /&gt;
**Realistic trees (powered by Forester)&lt;br /&gt;
**Snow on mountaintops&lt;br /&gt;
**Realistic cliffs&lt;br /&gt;
**Beaches&lt;br /&gt;
**New template (peninsula) and theme (swamp).&lt;br /&gt;
**Option to delay heightmap bias until after marbling/inversion.&lt;br /&gt;
*Feature: Added a way to load .mine maps.&lt;br /&gt;
*Feature: Added confirmation for potentially destructive commands: /importranks, /importbans, /massrank, /wload overwrites, /gen overwrites, /wsave overwrites, /zremove.&lt;br /&gt;
*Feature: Added /staff chat and ReadStaffChat permission.&lt;br /&gt;
*Feature: Added wireframe cuboid (/cw)&lt;br /&gt;
*Feature: Added an optional second param for /ch (cuboid hollow) that specifies the blocktype of the &amp;quot;filling&amp;quot;.&lt;br /&gt;
*Feature: Added a way to specify default build permission for new worlds.&lt;br /&gt;
*Fix: Fixed /info, /baninfo, and /banip not handling players whose name contain only digits.&lt;br /&gt;
*Fix: Fixed DoChangeRank mixing up RankChangeType.&lt;br /&gt;
*Fix: Added missing fields to MapGeneratorArgs serializer.&lt;br /&gt;
*Fix: Fixed per-rank draw limits not being calculated correctly in some cases.&lt;br /&gt;
*Fix: Replaced File.Delete/File.Move calls with a more reliable File.Replace call. This should slightly improve reliability of map/playerdb.txt/ipbans.txt/worlds.xml saving.&lt;br /&gt;
*Fix: Fixed a little ConfigTool bug that did not properly reset PatrolledRank after a rank deletion.&lt;br /&gt;
*Fix: Fixed terminal colors not resetting in fCraftConsole after a fatal crash under Mono.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;Play&amp;quot; button in fCraftUI.&lt;br /&gt;
*Fix: Added some basic error reporting to fCraftWinService.&lt;br /&gt;
*Change: Tweaked AddWorldPopup layout to accommodate more options.&lt;br /&gt;
&lt;br /&gt;
===0.493===&lt;br /&gt;
&#039;&#039;27 October 2010 - r290&#039;&#039;&lt;br /&gt;
*Feature: /info now supports autocompletion, wildcards, and IP search.&lt;br /&gt;
*Feature: Experimental service wrapper for fCraft.&lt;br /&gt;
*Feature: Added more editable properties to /setinfo: RankChangeType, BanReason, UnbanReason, RankChangeReason, LastKickReason&lt;br /&gt;
*Feature: Various improvements to /info, including hide-aware &amp;quot;online&amp;quot; indicator.&lt;br /&gt;
*Feature: Made Player.NoAccessMessage() print the minimum required rank, instead of just permission name(s).&lt;br /&gt;
*Feature: Added wootalyzer&#039;s chunk rendering code to IsoCat.&lt;br /&gt;
*Fix: Fixed ConfigTool not taking advantage of ZLibStream &lt;br /&gt;
*Fix: Fixed a very improbable case of a thread getting spinlocked when calling IRC.Send() is preemptied, and if there are at least 2 IRC threads.&lt;br /&gt;
*Fix: Fixed kick packets occasionally not being delivered due to a missing Flush() - thanks to wootalyzer for catching.&lt;br /&gt;
*Fix: Excluded banned and inactive players from DumpStats&lt;br /&gt;
*Fix: Fixed PlayerDB.Save() not escaping LastKickReason &lt;br /&gt;
*Fix: Cleaned up extra messages sent by /unhide.&lt;br /&gt;
*Fix: Fixed LastSeen not updating on-login (only on-logout).&lt;br /&gt;
*Fix: Improved the way fCraft checks for ghost/leftover sessions. Thanks to wootalyzer.&lt;br /&gt;
*Fix: If a player&#039;s name starts with a number, and you try to /tp to a coordinate that starts with the same number, you are no longer teleported to that player instead.&lt;br /&gt;
*Fix: Fixed hidden players being detectable by checking LastSeen in /info.&lt;br /&gt;
*Fix: To avoid performance degradation, GC calls have been centralized, delayed, limited to 1/minute, and moved to the tasks thread.&lt;br /&gt;
*Fix: Added delay between recurring calls to PlayerDB.Save, AutoRankAll, and DoGC - to balance load.&lt;br /&gt;
*Fix: Fixed rankChangeType not being updated.&lt;br /&gt;
*Fix: Fixed some typos reported by tvc. &lt;br /&gt;
*Change: Added &amp;quot;/uf&amp;quot; as an alias for &amp;quot;/unfreeze&amp;quot;, by popular demand. &lt;br /&gt;
*Change: Modified PlayerDB not to use ReaderWriterLockSlim, to avoid Mono issues with recursion.&lt;br /&gt;
*Change: Renamed /editplayerinfo to /setinfo&lt;br /&gt;
*Change: Made enum values in AutoRank (CriterionType, ConditionField, ComparisonOperation, ConditionScopeType, RankChangeType) case-insensitive.&lt;br /&gt;
*Change: Added a reference to /baninfo in /info&lt;br /&gt;
*Change: Made DetectMovementPacketSpam warn players instead of kicking.&lt;br /&gt;
&lt;br /&gt;
===0.492===&lt;br /&gt;
&#039;&#039;19 October 2010 - r280&#039;&#039;&lt;br /&gt;
*Feature: Added EditPlayerDB permission. This permission affects the upcoming AutoRank commands, /editplayerinfo, and ability to promote/demote/ban unrecognized players.&lt;br /&gt;
*Feature: When you kick a player, you are now shown the number of kicks they already have.&lt;br /&gt;
*Feature: More stats are now logged! RankType, TimeSinceLastKick, LastSeen, BlocksDrawn, LastKickBy, LastKickReason.&lt;br /&gt;
*Feature: Added &amp;quot;MaxUndo&amp;quot; config key for changing the default undo limit of 2,000,000 blocks per player.&lt;br /&gt;
*Feature: /info command is augmented with new stats (if available).&lt;br /&gt;
*Fix: Fixed ellipsoid command calculating volume incorrectly for draw limit checks.&lt;br /&gt;
*Fix: Fixed overflowing color code in &amp;quot;Player logged in from an IP previously used by banned players&amp;quot; message.&lt;br /&gt;
*Fix: Fixed PM recipient&#039;s name not getting logged properly.&lt;br /&gt;
*Fix: Previously-unseen players no longer have their FirstLoginDate, LastLoginDate, or TimesVisited set.&lt;br /&gt;
*Fix: /importranks now works correctly on players who are online at the time of import.&lt;br /&gt;
*Change: Added block aliases by popular demand: &amp;quot;bedrock&amp;quot; as an alias for admincrete, &amp;quot;cotton&amp;quot; as alias for &amp;quot;white&amp;quot;, and &amp;quot;aire&amp;quot; as alias for &amp;quot;air&amp;quot;&lt;br /&gt;
*Change: PlayerDB.txt format changes:&lt;br /&gt;
**MaxFieldCount raised to 36&lt;br /&gt;
**New fields added: UID (Int32), RankChangeType (enum, serialized as Int32), LastKickDate (DateTime), LastSeen (DateTime), BlocksDrawn (Int64), LastKickBy (string), LastKickReason (string).&lt;br /&gt;
**RankChangeBy, BannedBy, UnbannedBy, BanReason, UnbanReason, and RankChangeReason now default to empty string instead of &amp;quot;-&amp;quot; or null.&lt;br /&gt;
**If LastIP==IPAddress.None, empty string is saved instead of &amp;quot;255.255.255.255&amp;quot;.&lt;br /&gt;
**DateTime and TimeSpan format shortened to exclude microseconds. See PlayerDB.ToCompactString() for details.&lt;br /&gt;
*Change: AutoRank improvements (disabled in stable builds):&lt;br /&gt;
**Added /editplayerinfo command for easy editing of PlayerDB.&lt;br /&gt;
**Made AutoRank check players in-login (to accelerate promotion).&lt;br /&gt;
**AutoRank now runs on a scheduler.&lt;br /&gt;
**Fixed ConditionPreviousRank crash for played with default rank.&lt;br /&gt;
**Fixed banned players getting promoted by AutoRank.&lt;br /&gt;
**Fixed several serialization/loading issues in AutoRank.&lt;br /&gt;
**New fields added to ConditionIntRange: LastSeen, BlocksDrawn, TimeSinceRankChange, TimeSinceLastKick&lt;br /&gt;
**ConditionRankStatus renamed to ConditionRankChangeType&lt;br /&gt;
&lt;br /&gt;
===0.491===&lt;br /&gt;
&#039;&#039;17 October 2010 - r274&#039;&#039;&lt;br /&gt;
*Feature: Added ability to run multiple parallel IRC bots, to help high-traffic servers deal with IRC lag. This also makes it possible to connect to multiple networks in the future.&lt;br /&gt;
*Feature: Added new block aliases, by popular demand: &amp;quot;emerald&amp;quot;=teal, &amp;quot;fuchsia&amp;quot;=magenta, &amp;quot;cloth&amp;quot;=white, &amp;quot;lightgray&amp;quot;=gray, &amp;quot;lightgrey&amp;quot;=gray, &amp;quot;darkgray&amp;quot;=black, &amp;quot;darkgrey&amp;quot;=black, &amp;quot;brass&amp;quot;=gold&lt;br /&gt;
*Fix: Temporarily disabled 64-bit zlib support while I track down memory leaks. Should fix OutOfMemoryException, I&#039;m very sorry about overlooking that.&lt;br /&gt;
*Fix: Fixed a bug in /info that displayed incorrect &amp;quot;total time on server&amp;quot;.&lt;br /&gt;
*Fix: Per-rank permission checks for /freeze now apply as intended&lt;br /&gt;
*Fix: Fixed several improbable (but not impossible) threading deadlocks/crashes. Thanks to wootalyzer for catching these.&lt;br /&gt;
*Change: Added IRCThreads config key (default: 1, allowed range: 1-3)&lt;br /&gt;
&lt;br /&gt;
===0.490===&lt;br /&gt;
&#039;&#039;14 October 2010 - r264&#039;&#039;&lt;br /&gt;
*Feature: Testing a new map compressor/decompressor: ZLibStream. It should provide 50-200% speed increase, smaller map sizes, lower bandwidth use, and faster map loading.&lt;br /&gt;
*Fix: Fixed /shutdown not waiting the right amount and mixing up seconds/milliseconds.&lt;br /&gt;
*Fix: Fixed &amp;quot;No world found with the name...&amp;quot; showing player&#039;s own name.&lt;br /&gt;
*Fix: Added a fail-safe exception handler to Player.WaitForKick() - a temporary fix.&lt;br /&gt;
*Change: Previous verification salt is now stored, to allow players to validate even right after the server restarts.&lt;br /&gt;
*Change: Restructured SVN. Stable code is now always in /trunk/&lt;br /&gt;
&lt;br /&gt;
===0.487===&lt;br /&gt;
&#039;&#039;12 October 2010 - r255&#039;&#039;&lt;br /&gt;
*Feature: Added contextual help (tooltips) for all of ConfigTool. Help for &amp;quot;Add World&amp;quot; popup is coming in next version.&lt;br /&gt;
*Feature: Added rank limits for Freeze permission&lt;br /&gt;
*Fix: Fixed /mute being unusable from console.&lt;br /&gt;
*Change: Removed ViewOthersInfo requirement from /sinfo&lt;br /&gt;
*Change: Added ViewOthersInfo requirement to /where&lt;br /&gt;
*Change: Improvements to IRC tab layout in ConfigTool.&lt;br /&gt;
&lt;br /&gt;
===0.486===&lt;br /&gt;
&#039;&#039;11 October 2010 - r250&#039;&#039;&lt;br /&gt;
*Quick fix for IRC Bot bug that made server unconnectable.&lt;br /&gt;
&lt;br /&gt;
===0.485===&lt;br /&gt;
&#039;&#039;11 October 2010 - r249&#039;&#039;&lt;br /&gt;
*Feature: Added optional &amp;quot;delay&amp;quot; parameter to /shutdown (default: 5)&lt;br /&gt;
*Feature: World names can now be autocompleted for many commands (like /join and /lock)&lt;br /&gt;
*Fix: Fixed /unhide failing to reveal the player in certain situations.&lt;br /&gt;
*Fix: Fixed /setspawn being usable on players from other worlds.&lt;br /&gt;
*Fix: Fixed player names appearing white for all players.&lt;br /&gt;
*Fix: Fixed a recursion loop in NoWorldMessage()&lt;br /&gt;
*Fix: Fixed help entries for /setspawn and /shutdown&lt;br /&gt;
*Fix: Fixed potential crash in Server.Shutdown() if called after failed initialization/startup.&lt;br /&gt;
*Fix: Fixed potential deadlock/freeze in fCraftUI on shutdown.&lt;br /&gt;
*Change: Improved crash reporting for TargetInvokationException and TypeInitializerException errors.&lt;br /&gt;
*Change: All assemblies are now once again x86/x86_64/IA64 compatible.&lt;br /&gt;
*Change: Server.OnPlayerConnected event now supports cancellation.&lt;br /&gt;
&lt;br /&gt;
===0.484===&lt;br /&gt;
&#039;&#039;10 October 2010 - r245&#039;&#039;&lt;br /&gt;
*Feature: Added a way for IRC bot to use registered nicknames.&lt;br /&gt;
*Feature: /banall-related kicks are now announced in chat.&lt;br /&gt;
*Feature: /setspawn now actually changes player&#039;s spawn. Also, an optional PlayerName param allows temporarily changing other players&#039; spawn point.&lt;br /&gt;
*Feature: Several improvements to /info. Info now shows whether player&#039;s nick or IP was banned, and hides undefined information for players who haven&#039;t ever logged in.&lt;br /&gt;
*Fix: Fixed crash in ConfigTool if announcements were disabled.&lt;br /&gt;
*Fix: Fixed /banall not matching IPs properly, and not counting kicks towards PlayerInfo.&lt;br /&gt;
*Fix: Fixed ConfigUI not shutting down properly if Server.Init() or Server.Start() failed.&lt;br /&gt;
*Fix: Fixed Config.LoadLogOptions() always leaving Debug enabled.&lt;br /&gt;
*Fix: Added Process.GetCurrentProcess().Refresh() to ServerInfo to improve accuracy of /sinfo stat reporting.&lt;br /&gt;
*Fix: Improved /wsave and /wload path handling on non-Windows platforms.&lt;br /&gt;
*Fix: Replaced some potentially unsafe string concatenation in Player.Message() with proper formatting.&lt;br /&gt;
*Fix: Attempting a workaround for Mono memory leak in World.UnloadMap&lt;br /&gt;
*Fix: Fixed ranks from pre-0.480 configs being loaded in wrong order. Sorry!&lt;br /&gt;
*Change: Added a brief delay before reconnecting IRC bot after getting kicked from a channel. &lt;br /&gt;
*Change: PlayerDB is now saved every 60 seconds (instead of every 30).&lt;br /&gt;
*Change: Removed unused IRCBotQuitMsg config key, and added IRCRegisteredNick, IRCNickServ, and IRCNickServMessage keys.&lt;br /&gt;
*Change: Added a popup with crash information to ConfigTool.&lt;br /&gt;
*Change: Made announcements disabled by default.&lt;br /&gt;
&lt;br /&gt;
===0.483===&lt;br /&gt;
&#039;&#039;8 October 2010 - r242&#039;&#039;&lt;br /&gt;
*Feature: Myne/MyneCraft/Hyvebuild/iCraft maps can now be loaded from ConfigTool&#039;s &amp;quot;Add World&amp;quot; dialog.&lt;br /&gt;
*Fix: Fixed incorrect range checks for AnnouncementInterval and SaveInterval config keys (thanks to Shcaap for reporting).&lt;br /&gt;
*Fix: Fixed /hide showing a slightly different &amp;quot;player left&amp;quot; message compared to normal disconnect (thanks to Silverrock for reporting).&lt;br /&gt;
*Change: Added MC#-style &amp;quot;/z&amp;quot; alias for cuboid, by popular demand.&lt;br /&gt;
*Change: Hidden players can now receive PMs. The sender still gets the &amp;quot;No player found&amp;quot; message, but PMs are actually sent.&lt;br /&gt;
&lt;br /&gt;
===0.482===&lt;br /&gt;
&#039;&#039;7 October 2010 - r241&#039;&#039;&lt;br /&gt;
*Feature: Added new command aliases: &amp;quot;f&amp;quot; for &amp;quot;freeze&amp;quot;, and &amp;quot;pat&amp;quot; for &amp;quot;patrol&amp;quot;.&lt;br /&gt;
*Fix: Fixed typos in mute-related messages.&lt;br /&gt;
*Fix: Added missing triggers for OnPlayerListChanged event.&lt;br /&gt;
*Fix: Fixed /reloadconfig not changing several variables (like colors).&lt;br /&gt;
*Fix: Fixed antigrief defaulting to 35/5 (instead of unmetered).&lt;br /&gt;
*Fix: Fixed heartbeat counting hidden players.&lt;br /&gt;
*Fix: Fixed a rare ObjectDisposedException crash on shutdown when running fCraftUI.&lt;br /&gt;
*Change: Added a more informative disconnect message to players connecting with Alpha client.&lt;br /&gt;
*Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.&lt;br /&gt;
*Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.&lt;br /&gt;
&lt;br /&gt;
===0.481===&lt;br /&gt;
&#039;&#039;2 October 2010 - r237&#039;&#039;&lt;br /&gt;
*Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).&lt;br /&gt;
*Fixed a few more references to &amp;quot;player class&amp;quot; terminology instead of &amp;quot;rank&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.480===&lt;br /&gt;
&#039;&#039;2 October 2010 - r236&#039;&#039;&lt;br /&gt;
*Feature: Changed all &amp;quot;player classes&amp;quot; terminology to &amp;quot;ranks&amp;quot; for consistency with other servers. Several commands have been renamed to reflect that: /classes to /ranks, /user to /rank, /class to /rankinfo. All rank-related messages have also been updated.&lt;br /&gt;
*Feature: Added &amp;quot;Raise&amp;quot;/&amp;quot;Lower&amp;quot; buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a &amp;quot;rank&amp;quot; number to reorder ranks.&lt;br /&gt;
*Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.&lt;br /&gt;
*Fix: Improved fCraftUI responsiveness on-startup.&lt;br /&gt;
*Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.&lt;br /&gt;
*Fix: /wremove now always saves the map before unloading.&lt;br /&gt;
*Fix: Fixed Console being affected by chat spam/flood checks.&lt;br /&gt;
*Fix: Fixed /zinfo not showing any separators between player names.&lt;br /&gt;
*Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.&lt;br /&gt;
*Fix: Fixed Security and IRC tabs not being reset by &amp;quot;Reset All Defaults&amp;quot;&lt;br /&gt;
*Fix: Fixed bugged error messages in /tp and /bring when world access permission check fails.&lt;br /&gt;
*Fix: If any class limits were set to default/&amp;quot;(own class)&amp;quot;, the setting is now preserved.&lt;br /&gt;
*Fix: Fixed a bug that didn&#039;t reset Hide limit if it was set to a deleted rank.&lt;br /&gt;
*Change: Removed legacy zone loading code for pre-0.420 maps (due to changes in rank definition format).&lt;br /&gt;
*Change: Added a more informative disconnect message for players trying to connect with Minecraft Alpha clients.&lt;br /&gt;
*Change: Improved rank-based coloring in world list to check both access and build permissions.&lt;br /&gt;
*Change: Added &amp;quot;/fetch&amp;quot; as alias for /bring, and renamed &amp;quot;/save&amp;quot; to &amp;quot;/wsave&amp;quot;.&lt;br /&gt;
*Change: Deleted some obsolete/disabled controls from ConfigTool, removed PingInterval config key, and removed placeholder ControlPhysics and AddLandmarks permissions.&lt;br /&gt;
*Change: Made several changes to improve disconnect detection:&lt;br /&gt;
**Added occasional pings (every 5 seconds or so, depending on activity/inactivity).&lt;br /&gt;
**Reduced socket send/receive timeout from 12 to 10 seconds.&lt;br /&gt;
**Increased socket polling interval to improve performance.&lt;br /&gt;
*Change: If a player tries to connect to a server twice, the FIRST connection is dropped instead of the LAST connection.&lt;br /&gt;
*Refactor: Major changes were made to the way ranks are stored, and to RankList (formerly ClassList) API.&lt;br /&gt;
*Optimization: Made IsoCat rendering faster, and made draw commands use less CPU.&lt;br /&gt;
&lt;br /&gt;
===0.475===&lt;br /&gt;
&#039;&#039;17 September 2010 - r229&#039;&#039;&lt;br /&gt;
*Feature: /ztest now distinguishes between being allowed/denied by rank/class vs by whitelist/blacklist.&lt;br /&gt;
*Fix: Fixed being unable to change rank/class restrictions with /zedit&lt;br /&gt;
*Fix: Fixed a bug that reported wrong average CPU usage&lt;br /&gt;
*Fix: Fixed a crash on saving in ConfigTool, related to new PatrolledClass config key.&lt;br /&gt;
&lt;br /&gt;
===0.474===&lt;br /&gt;
&#039;&#039;16 September 2010 - r228&#039;&#039;&lt;br /&gt;
*Feature: &amp;quot;/mute&amp;quot; command to temporarily stop players from chatting. A new class permission (Mute) is added, granted to op+ by default.&lt;br /&gt;
*Feature: &amp;quot;/shutdown&amp;quot; command to gracefully shutdown the server remotely. A new class permission (ShutdownServer) is added, granted to owner by default.&lt;br /&gt;
*Feature: Added CPU usage information and loaded world count to /sinfo.&lt;br /&gt;
*Fix: Added a way to edit &amp;quot;PatrolledClass&amp;quot; from ConfigTool.&lt;br /&gt;
*Fix: Fixed zone whitelist/blacklist not updated correctly when edited.&lt;br /&gt;
*Fix: Made teleporting to spawn (with /spawn or /tp, no parameters) accessible to all classes.&lt;br /&gt;
*Fix: Adjusted for Notch&#039;s errors in handling player positions in teleport packets. Slightly improves accuracy of /tp, /bring, initial spawning, /patrol, frozen players, and speedhack detection.&lt;br /&gt;
*Fix: Removed &amp;quot;/tp&amp;quot; bounds check when used with typed-in coordinates numbers.&lt;br /&gt;
*Fix: Fixed an extremely unlikely case of PlayerDB/IPBanList overwriting on shutdown if server initialization failed.&lt;br /&gt;
*Fix: Made &amp;quot;server shutting down&amp;quot; packets deliver more reliably (but still not guaranteed).&lt;br /&gt;
*Fix: Fixed Console possibly not seeing hidden players.&lt;br /&gt;
*Change: Added a basic file check to AutoLauncher&lt;br /&gt;
*Change: Added error logging and crash reporting to Server.Shutdown&lt;br /&gt;
*API: Renamed Server.ShutdownStart to Server.ShutdownBegin (for consistency).&lt;br /&gt;
&lt;br /&gt;
===0.473===&lt;br /&gt;
&#039;&#039;15 September 2010 - r227&#039;&#039;&lt;br /&gt;
*Feature: Added zone coordinates to /zinfo&lt;br /&gt;
*Fix: Fixed cross-world /tp teleporting the wrong player.&lt;br /&gt;
*Fix: Fixed odd date formatting in /zinfo&lt;br /&gt;
&lt;br /&gt;
===0.472===&lt;br /&gt;
&#039;&#039;15 September 2010 - r226&#039;&#039;&lt;br /&gt;
*Feature: Added /cut command&lt;br /&gt;
*Feature: Added a new /patrol command. It allows cycling through low-ranked players on a map (with teleportation). The order is determined by how long it&#039;s been since someone checked on a player. A &amp;quot;Patrol&amp;quot; permission and &amp;quot;PatrolledClass&amp;quot; config key were added.&lt;br /&gt;
*Feature: Added a shorthand notation to /zone for making personal zones: &amp;quot;/zone +PlayerName&amp;quot; creates a zone named after the player, with rank limit just above player&#039;s, and with player whitelisted.&lt;br /&gt;
*Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.&lt;br /&gt;
*Fix: Fixed server always binding to IPAddress.Any regardless of config settings.&lt;br /&gt;
*Fix: TP/Bring no longer allow teleporting to hidden players on other worlds.&lt;br /&gt;
*Fix: Server.GetPlayerList(string) now stops searching the list when it finds an exact match.&lt;br /&gt;
*Fix: Fixed client-crash in /zedit when changing class.&lt;br /&gt;
*Fix: Fixed possible corruption of edited zones upon map saving.&lt;br /&gt;
*Fix: Fixed a range of improbable synchronization issues in the way Zone whitelist/blacklist is updated. As a fortunate side-effect, significantly reduced Zone.CanBuild() overhead.&lt;br /&gt;
*Fix: Temporarily added mainThread.Abort() to Server.Shutdown() that&#039;s kicked in if mainThread does not stop within 5s of being notified of shutdown. I am investigating the real cause of the hang.&lt;br /&gt;
*Fix: Fixed hidden players being revealed by promotion/demotion.&lt;br /&gt;
*Change: Added less threatening error messages to IRC bot on network errors (SocketException and IOException).&lt;br /&gt;
*Change: Disabled movement handling code while changing maps.&lt;br /&gt;
*Refactor: Merged StandardCommands and ImportCommands into AdminCommands&lt;br /&gt;
&lt;br /&gt;
===0.471===&lt;br /&gt;
&#039;&#039;14 September 2010 - r224&#039;&#039;&lt;br /&gt;
*Feature: Added ability to specify the server&#039;s IP (to bind to) manually, for machines with multiple NICs. A new config key &amp;quot;IP&amp;quot; (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.&lt;br /&gt;
*Fix: Fixed a bug with player ghosts being left behind when switching worlds.&lt;br /&gt;
*Fix: Fixed a case with kicked players&#039; connections not being terminated at once (thanks to wootalyzer).&lt;br /&gt;
*Fix: Fixed several bugs in hide/unhide functionality.&lt;br /&gt;
*Fix: Fixed a rare crash in AddWorldPopup related to missing maps for existing worlds.&lt;br /&gt;
*Fix: AddWorldPopup will no longer allow adding a world with a duplicate name.&lt;br /&gt;
*Fix: Capped maximum players at the newly-discovered protocol limit of 128 (thanks to wootalyzer).&lt;br /&gt;
*Change: ConfigTool fields now provide better feedback if validation fails.&lt;br /&gt;
*Change: Changed heartbeat interval to 40 seconds (down from 50).&lt;br /&gt;
*Change: Added a special error handler for rare/impossible case of mainWorld not being joinable.&lt;br /&gt;
*Change: Made fatal error messages in fCraftConsole print in red. Better color support coming soon.&lt;br /&gt;
&lt;br /&gt;
===0.470===&lt;br /&gt;
&#039;&#039;13 September 2010 - r223&#039;&#039;&lt;br /&gt;
*Feature: Personal zones - per-zone whitelist and blacklist of individual players. The lists can now be defined with /zadd and edited with /zedit.&lt;br /&gt;
*Feature: Added cave/ore generator from Omen (BETA).&lt;br /&gt;
*Feature: Added &amp;quot;/maps&amp;quot; and &amp;quot;/levels&amp;quot; as aliases for &amp;quot;/worlds&amp;quot;.&lt;br /&gt;
*Feature: Added a way to limit the &amp;quot;Hide&amp;quot; permission per-class. Now you can specify whom can a class hide from.&lt;br /&gt;
*Feature: Zones now remember date/time of creation and last edit, and names of original creator and last editor.&lt;br /&gt;
*Fix: Unauthorized players can no longer PM or use bring/freeze/unfreeze/kick/tp/where on hidden players. They get the standard &amp;quot;player not found&amp;quot; message.&lt;br /&gt;
*Fix: Fixed hidden players being counter towards /players total.&lt;br /&gt;
*Fix: Fixed a potential crash in /wflush when using on unloaded maps.&lt;br /&gt;
*Fix: Doing /banip or /banall on unrecognized players no longer ip-bans 255.255.255.255. Old IPBanList entries relating to 255.255.255.255 will be automatically discarded.&lt;br /&gt;
*Fix: Fixed /replace command uses not being logged.&lt;br /&gt;
*Fix: Fixed /worlds command not showing world count.&lt;br /&gt;
*Fix: Fixed a client-disconnect when trying to unban a player who is not in the database.&lt;br /&gt;
*Fix: Fixed &amp;quot;/join PlayerName&amp;quot; not translating to &amp;quot;/tp PlayerName&amp;quot; correctly.&lt;br /&gt;
*Fix: Fixed a very unlikely client-disconnect in ChangeClass if the entered class name contains curved braces.&lt;br /&gt;
*Change: Changed default name for &amp;quot;/flip&amp;quot; command to &amp;quot;/mirror&amp;quot;, and fixed command&#039;s help. Either term still works.&lt;br /&gt;
*Change: Added more block name aliases:&lt;br /&gt;
**Air: delete, erase&lt;br /&gt;
**Stone: cement, concrete&lt;br /&gt;
**Grass: gras (common typo)&lt;br /&gt;
**Obsidian: onyx&lt;br /&gt;
*Change: Improved formatting of /players, /worlds, and draw command messages.&lt;br /&gt;
&lt;br /&gt;
===0.463===&lt;br /&gt;
&#039;&#039;9 September 2010 - r218&#039;&#039;&lt;br /&gt;
*Fix: Fixed special colors showing up even if ClassColorsInChat is disabled.&lt;br /&gt;
*Fix: Fixed potential client-crash in World.SendToAll(), and related client-crash in lock/unlock.&lt;br /&gt;
&lt;br /&gt;
===0.462===&lt;br /&gt;
&#039;&#039;8 September 2010 - r217&#039;&#039;&lt;br /&gt;
*Fix: The &amp;quot;OK&amp;quot; button in AddWorldPopup no longer stays grayed out.&lt;br /&gt;
*Fix: Fixed &amp;quot;Error occured while loading&amp;quot; in the file information dialog for non-FCM files.&lt;br /&gt;
*Fix: Fixed a crash in /bring when used without any parameters.&lt;br /&gt;
*Fix: Fixed Server.UrlEncode not escaping 0x00-0x0F characters properly.&lt;br /&gt;
*Change: Slightly reduced default tree density in MapGenerator.&lt;br /&gt;
&lt;br /&gt;
===0.461===&lt;br /&gt;
&#039;&#039;8 September 2010 - r216&#039;&#039;&lt;br /&gt;
*Feature: New EXPERIMENTAL &amp;quot;/reloadconfig&amp;quot; command, and associated ReloadConfig permission. Use with caution!&lt;br /&gt;
*Fix: Fixed a case where AddWorldPopup would allow clicking &amp;quot;OK&amp;quot; with a null map.&lt;br /&gt;
*Fix: Fixed player crash if /freeze or /unfreeze is used without arguments.&lt;br /&gt;
*Fix: Fixed player crash on FormatException in /zones and Server.ShowPlayerConnectedMessage.&lt;br /&gt;
*Fix: Fixed potential player crash if LimitOneConnectionPerIP is enabled.&lt;br /&gt;
&lt;br /&gt;
===0.460===&lt;br /&gt;
&#039;&#039;8 September 2010 - r214&#039;&#039;&lt;br /&gt;
*Feature: Added ShowPlayerConnectedMessage and ClassColorsInWorldNames settings to config.&lt;br /&gt;
*Feature: Added /measure command.&lt;br /&gt;
*Feature: Class colors and prefixes are now applied consistently EVERYWHERE.&lt;br /&gt;
*Feature: Banned players now see their ban reason/memo when they get kicked.&lt;br /&gt;
*Feature: A special error message is shown to players trying to connect with Alpha/SMP client.&lt;br /&gt;
*Feature: IsoCat (ConfigTool isometric preview) rendering quality improved: better shadows and slight altitude-based gradient.&lt;br /&gt;
*Feature: Added new blocktype name aliases: &amp;quot;solid&amp;quot;, &amp;quot;golden&amp;quot;, &amp;quot;halfstep&amp;quot;, &amp;quot;halfblock&amp;quot;, &amp;quot;steps&amp;quot;.&lt;br /&gt;
*Feature: Added player count for each class in /classes&lt;br /&gt;
*Fix: Fixed wrong &amp;quot;MaxBackupsSize&amp;quot; range in ConfigTool.&lt;br /&gt;
*Fix: MaxBackupsSize setting is now applied correctly.&lt;br /&gt;
*Fix: IRC color codes are now stripped from forwarded messages.&lt;br /&gt;
*Fix: IRC bot now uses ServerName for &amp;quot;real name&amp;quot;.&lt;br /&gt;
*Fix: Formatting improved in many error messages.&lt;br /&gt;
*Fix: Commas in ban/unban/promote/demote reasons no longer cause problems with PlayerDB.&lt;br /&gt;
*Fix: Removed extra comma from /worlds list that showed in place of hidden/inaccessible worlds.&lt;br /&gt;
*Change: Added 5-second delay between retries in AutoLauncher&lt;br /&gt;
*Change: &amp;quot;Player connected&amp;quot; message condensed to a single line by absorbing &amp;quot;joined world&amp;quot; message.&lt;br /&gt;
*Change: Removed ChangeName permission (and the ability to change names) due to possibility of abuse and confusion. Related /nick and /whois commands were also removed.&lt;br /&gt;
*Change: /tp can now fall back to behave like /join if player name is not found (for all those times when you mistype /tp instead of /join). Conversely, /join falls back to /tp if player was not found.&lt;br /&gt;
*Optimization: Reduced bandwidth use with an adaptive movement packet skipping algorithm. Should reduced outbound traffic by at least 15%.&lt;br /&gt;
*Optimization: BlockUpdate memory usage slightly reduced.&lt;br /&gt;
&lt;br /&gt;
===0.455===&lt;br /&gt;
&#039;&#039;8 September 2010 - r213&#039;&#039;&lt;br /&gt;
*Feature: AutoLauncher (BETA) allows restarting the fCraftConsole server if it crashed. Although it honestly shouldn&#039;t crash at all!&lt;br /&gt;
*Fix: Allowed renaming worlds in cases where only capitalization is different.&lt;br /&gt;
*Fix: If an ip-banned player has more than one connection, all connections are now terminated.&lt;br /&gt;
*Fix: Fixed nonrectangular MCSharp maps getting messed up by the loader.&lt;br /&gt;
*Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.&lt;br /&gt;
*Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of &amp;quot;no player found&amp;quot; message). Affects PMs, {{cmd|TP}}, {{cmd|Bring}}, {{cmd|Freeze}}, {{cmd|Unfreeze}}, {{cmd|Kick}}.&lt;br /&gt;
*Change: Improved OS detection in crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.454===&lt;br /&gt;
*Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.&lt;br /&gt;
*Fix: Replace no longer behaves same as replacenot.&lt;br /&gt;
*Fix: Spaces in IRC messages are now preserved.&lt;br /&gt;
*Fix: Help entries for paste/pastenot corrected.&lt;br /&gt;
*Fix: /cinfo (without parameters) now shows player&#039;s own class info.&lt;br /&gt;
&lt;br /&gt;
===0.453===&lt;br /&gt;
*Feature: It is now possible to reverse last /undo (by typing /undo again).&lt;br /&gt;
*Change: IRC message colors are applied slightly differently now.&lt;br /&gt;
*Change: Added more automated crash reporting hooks - to MainLoop and Tasks.&lt;br /&gt;
*Change: More help messages improved.&lt;br /&gt;
*Change: Added a more informative message for people running outdated versions of Mono and .Net runtime.&lt;br /&gt;
*Optimization: Slightly reduced memory usage of /undo, /paste, and PlayerDB.Load()&lt;br /&gt;
&lt;br /&gt;
===0.452===&lt;br /&gt;
*Feature: New /replacenot command allows replacing all blocks EXCEPT the specified one.&lt;br /&gt;
*Feature: New /flip and /rotate commands to manipulate copied blocks.&lt;br /&gt;
*Feature: /players list is now in alphabetical order.&lt;br /&gt;
*Fix: Trying to specify an unrecognized block type for draw commands (e.g. &amp;quot;/c ai&amp;quot; instead of &amp;quot;/c air&amp;quot;) now shows a proper error message.&lt;br /&gt;
*Fix: Fixed /gen command crashing players if coordinates are typed in before theme/template.&lt;br /&gt;
*Fix: Fixed /e ellipsoids coming out crooked.&lt;br /&gt;
*Fix: &amp;quot;joined for the first time&amp;quot; messages are now shown correctly.&lt;br /&gt;
*Fix: Fixed /replace not working correctly with /undo&lt;br /&gt;
*Fix: Made IRC bot strip nonprintable characters from messages, and ignore empty messages.&lt;br /&gt;
*Fix: World permissions are no longer reset when doing /wload. Also a permission reminder is now shown when creating new worlds.&lt;br /&gt;
*Change: Improved some help messages.&lt;br /&gt;
*Change: Improved IRC error reporting.&lt;br /&gt;
*Change: Added world name back to &amp;quot;Almost there...&amp;quot; join screen.&lt;br /&gt;
*Change: /pasteonly is now called /paste, and /paste is now called /pastenot (for consistency with other custom servers)&lt;br /&gt;
*Optimization: Slightly reduced memory usage of massive drawing commands (over undo limit).&lt;br /&gt;
&lt;br /&gt;
===0.451===&lt;br /&gt;
*Feature: Improved the way fCraft handles fatal errors (crashes). Crash logs are now created more reliably.&lt;br /&gt;
*Feature: Added automated crash reporting to fragmer.net (opt-out).&lt;br /&gt;
*Feature: Added an announcement for players logging in from IPs associated with other previously-banned players.&lt;br /&gt;
*Fix: Curved braces - &amp;quot;{}&amp;quot; - in server name no longer cause problems.&lt;br /&gt;
*Fix: &amp;quot;Leaving the map&amp;quot; kick disabled temporarily, will be made configurable per-class soon.&lt;br /&gt;
*Fix: banall/unbanall commands produce less chat spam.&lt;br /&gt;
*Fix: AFK kicks no longer count towards /info number-of-times-kicked.&lt;br /&gt;
*Change: Added class colors to /info, and fixed formatting bug.&lt;br /&gt;
*Change: Cleaned up &amp;quot;Advanced&amp;quot; tab in ConfigTool.&lt;br /&gt;
**Removed obsolete config keys: PolicyColorCodesInChat, PolicyIllegalCharacters, and RunOnStartup&lt;br /&gt;
**Added SubmitCrashReports and IRCDelay config keys.&lt;br /&gt;
&lt;br /&gt;
===0.450===&lt;br /&gt;
&#039;&#039;26 August 2010&#039;&#039;&lt;br /&gt;
*Feature: IRC bot rewritten for better performance, flexibility, and safety.&lt;br /&gt;
*Feature: New IRC options: IRCBotAnnounceIRCJoins and IRCBotAnnounceServerJoins.&lt;br /&gt;
*Fix: Fixed messages containing only a single slash (&#039;/&#039;) crashing client thread.&lt;br /&gt;
*Change: Removed obsolete IRCBotMsgs config key.&lt;br /&gt;
*Change: Added OnPlayerSentMessage event to Server.&lt;br /&gt;
*Change: IRC bot&#039;s commands (e.g. !status) are temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
===0.445===&lt;br /&gt;
&#039;&#039;25 August 2010&#039;&#039;&lt;br /&gt;
*IMPORTANT! Please update ASAP, a security issue was identified in previous version.&lt;br /&gt;
*Fix: If you need to start message with a slash, you can now escape the slash (type &amp;quot;//&amp;quot;)&lt;br /&gt;
*Fix: Fixed endless update loop (if automatic updates were enabled)&lt;br /&gt;
*Fix: Private messages with a space between &#039;@&#039; and the player name now work.&lt;br /&gt;
*Fix: Hacking-related kicks are not announced globally.&lt;br /&gt;
*Fix: Fixed &amp;quot;/help&amp;quot; giving wrong message if help entry was not found.&lt;br /&gt;
*Change: Minor changes in MapGenerator/Noise&lt;br /&gt;
&lt;br /&gt;
===0.444===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*Feature: New stat command, /sinfo (server info).&lt;br /&gt;
*Fix: Ban reason/memo now shown for normal bans.&lt;br /&gt;
*Fix: /cinfo for unlimited classes no longer shows &amp;quot;draw limit: 0&amp;quot;&lt;br /&gt;
*Fix: Fixed IRC message colors, and removed IRC color codes from log.&lt;br /&gt;
&lt;br /&gt;
===0.443===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New {{cmd|WFlush}} command. It allows finishing all in-progress draw commands at maximum speed (over 100k blocks/second) then forces a map rejoin.&lt;br /&gt;
*Feature: Added more customization options for colors: PrivateMessageColor and IRCMessageColor in Config.&lt;br /&gt;
*Feature: {{cmd|Players}} list is now sorted alphabetically.&lt;br /&gt;
*Feature: Added &amp;quot;Check Port&amp;quot; button to ConfigTool to see if port is open. Uses www.utorrent.com/testport&lt;br /&gt;
*Feature: Added &amp;quot;Play&amp;quot; button to fCraftUI to open server URL in the browser&lt;br /&gt;
*Feature: World names in {{cmd|Worlds}} list are now colored according to each world&#039;s build permission. &lt;br /&gt;
*Feature: Added speedhack detection &amp;amp; prevention (BETA) and corresponding Permission.UseSpeedHack. All your classes will be granted this permission by default. Edit the config to customize it.&lt;br /&gt;
*Fix: When using {{cmd|Mark}} outside of map boundaries, draw limits are no longer calculated incorrectly (thanks to Darnest).&lt;br /&gt;
*Fix: Fixed possible crash in Map.CheckZones() on maps created with {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed compilation issue with &amp;quot;tileset.png&amp;quot; on case-sensitive filesystems.&lt;br /&gt;
*Fix: Fixed class-wide messages not wrapping correctly.&lt;br /&gt;
*Optimization: antigrief and antispam checking overhead reduced.&lt;br /&gt;
&lt;br /&gt;
===0.442===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Fix: Addresses a security issue.&lt;br /&gt;
*Fix: &amp;quot;OK&amp;quot; button in AddWorldPopup is now always disabled if no map is set.&lt;br /&gt;
*Fix: &amp;quot;Feature size&amp;quot; label is now updater correctly when map dimensions are changed.&lt;br /&gt;
*Fix: Added missing player notifications for {{cmd|Undo}} and {{cmd|Cancel}} commands.&lt;br /&gt;
*Change: MapGenerator&#039;s default map size changed to 128x128x80&lt;br /&gt;
&lt;br /&gt;
===0.441===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added cuboid limits to /cinfo&lt;br /&gt;
*Fix: Fixed a bug in BoundingBox that made /paste and zones behave incorrectly&lt;br /&gt;
*Fix: Fixed ban/unban commands not kicking the player if entered name capitalization did not match actual capitalization&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; being broken when using {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed {{cmd|Ban}} rank checks affecting {{cmd|Unban}}&lt;br /&gt;
*Change: Optimized zone permission checks&lt;br /&gt;
&lt;br /&gt;
===0.440===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New MapGenerator with tons of options. You can also save/load custom templates for it.&lt;br /&gt;
*FEATURE: AddWorldPopup interface overhaul.&lt;br /&gt;
*FEATURE: JTE, D3, and Myne/Mynecraft/Hyvebuild/iCraft map format converters added.&lt;br /&gt;
*Feature: Improved syntax of the {{cmd|Gen}} command. See &amp;quot;{{cmd|Help|gen}}&amp;quot; for details.&lt;br /&gt;
*Feature: Reason/memo is now shown publicly when someone gets banned, unbanned, or kicked.&lt;br /&gt;
*Feature: Teleport and Bring work across worlds - world permissions still apply.&lt;br /&gt;
*Feature: Added 4 new Config keys: RequireBanReason, RequireClassChangeReason, AnnounceKickAndBanReasons, AnnounceClassChanges. By default &amp;quot;AnnounceKickAndBanReasons&amp;quot; and &amp;quot;AnnounceClassChanges&amp;quot; are enabled.&lt;br /&gt;
*Feature: Added 5 new fields to PlayerDB: previousClass, classChangeReason, timesKicked, timesKickedOthers, timesBannedOthers.&lt;br /&gt;
*Feature: Added a lot of new information to {{cmd|Info}}.&lt;br /&gt;
*Feature: You can now save map preview images (isometric) from AddWorldPopup.&lt;br /&gt;
*Feature: ConfigTool now shows warnings about any errors logged during Config.Load&lt;br /&gt;
*Fix: Yet another workaround for VerifyNames false negatives (thanks to SpaceManiac).&lt;br /&gt;
*Fix: Fixed being able to paste admincrete/water/lava without permission (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Trying to go over class draw limit no longer causes &amp;quot;Another drawing command is in progress&amp;quot; error.&lt;br /&gt;
*Fix: Mcc.MapUtility.TryLoading() and Map.LoadHeaderOnly() now release file handles as soon as possible. This should fix some &amp;quot;file is being used by another process&amp;quot; errors.&lt;br /&gt;
*Fix: Map spawn should be parsed correctly for MCSharp/MCZall maps&lt;br /&gt;
*Fix: If a map doesn&#039;t start with a gzip header, it no longer has a chance to abort the whole load process.&lt;br /&gt;
*Fix: Fixed blocktype names being case-sensitive.&lt;br /&gt;
*Fix: Added a more informative message when idle players are kicked.&lt;br /&gt;
*Fix: Fixed undo buffer not getting cleared when doing paste/pasteonly&lt;br /&gt;
*Fix: Fixed {{cmd|WAccess}} exception kicking players.&lt;br /&gt;
*Fix: 100% Empty maps no longer crash AddWorldPopup with OutOfMemoryException&lt;br /&gt;
*Fix: Fixed &amp;quot;player is already banned&amp;quot; message when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed no public message appearing when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed cuboid/ellipsoid/cuboidh logging blocktype code instead of blocktype name.&lt;br /&gt;
*Fix: Improved the message that&#039;s shown when idle players are kicked.&lt;br /&gt;
*Fix: Documented ability to {{cmd|TP}} to specific coordinates.&lt;br /&gt;
*Fix: AddWorldPopup no longer crashes if user closes &amp;quot;Load Map&amp;quot; dialog before selecting any file.&lt;br /&gt;
*Fix: When drawing affects (in part or in full) a restricted zone, the zone is left untouched, and the rest of draw command finishes (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Fixed crash in AddWorldPopup.AsyncLoad() if map loading failed.&lt;br /&gt;
*Fix: LegacyRankMapping is now parsed correctly&lt;br /&gt;
*Fix: Renaming a class no longer causes &amp;quot;Worlds&amp;quot; tab dropdown menus to go out-of-sync.&lt;br /&gt;
*Change: AddWorldPopup preview image quality improved.&lt;br /&gt;
*Change: Updated to newest version of NBTag library.&lt;br /&gt;
*Change: Frozen players can no longer build/delete.&lt;br /&gt;
*Change: Removed public {{cmd|Undo}} message, added log message instead.&lt;br /&gt;
*Change: Removed AnnounceUnverifiedNames settings.&lt;br /&gt;
*Change: When building/deleting permission is denied, the exact reason is given (instead of a vague &amp;quot;you cannot do that&amp;quot; message) (part of Player.CanPlace overhaul).&lt;br /&gt;
&lt;br /&gt;
===0.435===&lt;br /&gt;
&#039;&#039;12 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Copy}}, {{cmd|Paste}}, and {{cmd|PasteOnly}} commands. Rotation coming soon.&lt;br /&gt;
*Feature: Added {{perm|CopyAndPaste}} permission, granted to op and owner by default.&lt;br /&gt;
*Feature: Added MapGenType.Cliffs - similar to Mountains type, but with cliffs!&lt;br /&gt;
*Fix: Fixed {{cmd|Paint}} command&lt;br /&gt;
*Fix: Fixed {{cmd|BanInfo}} now showing any information if used without parameters.&lt;br /&gt;
*Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.&lt;br /&gt;
&lt;br /&gt;
===0.434===&lt;br /&gt;
&#039;&#039;11 August 2010&#039;&#039;&lt;br /&gt;
*Feature: new {{cmd|Bind}} command allows mapping any block to any other. Now you can place those unbuildable blocks (water, lava, grass, double-step) in any way you wish. For compatibility, old commands ({{cmd|Water}}, {{cmd|Solid}}, {{cmd|Lava}}, {{cmd|Grass}}) have been preserved.&lt;br /&gt;
*Change: &amp;quot;step&amp;quot; added as an alias for Stair block. &amp;quot;doublestep&amp;quot; added as an alias for DoubleStair.&lt;br /&gt;
&lt;br /&gt;
===0.433===&lt;br /&gt;
&#039;&#039;8 August 2010&#039;&#039;&lt;br /&gt;
*Feature: {{cmd|WInfo}} now shows who locked/unlocked the map, and how long ago.&lt;br /&gt;
*Fix: Fixed a error message that showed up when announcements.txt was blank.&lt;br /&gt;
*Fix: Permission check added back to lock/unlock commands.&lt;br /&gt;
*Fix: &amp;quot;mapinfo&amp;quot; added back as alias for {{cmd|WInfo}}&lt;br /&gt;
*Fix: Fixed locked maps not getting unloaded when all players left&lt;br /&gt;
&lt;br /&gt;
===0.432===&lt;br /&gt;
&#039;&#039;6 August 2010&#039;&#039;&lt;br /&gt;
*Fix: List of worlds printed by {{cmd|Worlds}} is now sorted alphabetically.&lt;br /&gt;
*Fix: Fixed an obscure half-disconnect bug that left players with id=0 who happened to be on the main world in a semi-disconnected state IF someone else was kicked halfway through the login process before it was assigned an id.&lt;br /&gt;
&lt;br /&gt;
===0.431===&lt;br /&gt;
&#039;&#039;5 August 2010 - r146&#039;&#039;&lt;br /&gt;
*Fix: Fixed still messed-up {{cmd|Worlds}} command.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.430===&lt;br /&gt;
&#039;&#039;4 August 2010 - r144&#039;&#039;&lt;br /&gt;
*Fix: Fixed messed-up {{cmd|Worlds}} command. Sorry about that.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.429===&lt;br /&gt;
*Feature: Command-handler infrastructure has been redesigned. This will allow much more flexibility for devs and plugin makers later.&lt;br /&gt;
*Feature: &amp;quot;/help commands&amp;quot; now only shows available commands by default. Type &amp;quot;/help commands all&amp;quot; to see all commands.&lt;br /&gt;
*Feature: /worlds command now only available worlds by default. Type &amp;quot;/worlds all&amp;quot; to include worlds inaccessible to you.&lt;br /&gt;
*Feature: Help entries added for /zedit, /mark, /version, /rules, and /say.&lt;br /&gt;
*Feature: ConfigTool World tab columns are now sortable.&lt;br /&gt;
*Fix: Fixed &amp;quot;max backups&amp;quot; in ConfigTool being limited to 100. Now it&#039;s at a more reasonable limit of 100000.&lt;br /&gt;
*Fix: Fixed Map.Backup() deleting the newest (instead of the oldest) backup if the total number of files was limited.&lt;br /&gt;
*Fix: Fixed an ERROR that popped up if a player got disconnected during the login process (while player=null).&lt;br /&gt;
*Fix: FormatException crash fixed that caused whole server to go down instead of a player thread.&lt;br /&gt;
*Fix: Several draw-related bugs and crashes fixed.&lt;br /&gt;
*Fix: Fixed crash in /winfo when used on unloaded worlds.&lt;br /&gt;
*Fix: Fixed a bug in Config that caused antigrief to be re-enabled every load.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool that didn&#039;t update AntiGriefSeconds properly when changing between classes.&lt;br /&gt;
*Change: Many /help entries have been improved.&lt;br /&gt;
*Change: Split /class command into two: /classes (aka /ranks) shows a list of classes, and /class (aka /cinfo or /classinfo) shows permission list (missed from last release notes).&lt;br /&gt;
*Change: Added /spawn as an alias for /tp (missed from last release notes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.428===&lt;br /&gt;
*Feature: Line wrapping. Yes, finally.&lt;br /&gt;
*Feature: Per-class draw limits. Defaults are: owner unlimited, op unlimited, regular 4096 (16x16x16), guest 512 (8*8*8)&lt;br /&gt;
*Feature: Per-class antigrief detection. Defaults are: owner unmetered, op umetered, regular 45/6 (7.5 blocks/second), guest 35/5 (7 blocks/second)&lt;br /&gt;
*Feature: Memory usage of draw commands has been reduced by 6 bytes per block (37% improvement).&lt;br /&gt;
*Fix: Extra color codes fixed in /players command.&lt;br /&gt;
*Fix: Fixed a bug with /undo that caused more than one command to be undone at once.&lt;br /&gt;
*Fix: Fixed maps generated with &amp;quot;Realistic terrain&amp;quot; (MapGenerator) having an empty layer at the bottom of the map.&lt;br /&gt;
*Change: Default classes have been tweaked:&lt;br /&gt;
**regular can now use draw commands&lt;br /&gt;
**op can now lock/unlock&lt;br /&gt;
*Change: Improved arrangement of Permission list items.&lt;br /&gt;
*Change: Removed obsolete ConfigKey variables AntigriefBlockCount and AntigriefBlockInterval&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.427===&lt;br /&gt;
*Feature: Added /zedit command for changing zone permissions after creation&lt;br /&gt;
*Feature: New aliases for drawing commands: /c /e /h /r /m&lt;br /&gt;
*Fix: Fix for cuboid command kicking players with &amp;quot;Block.Undefined&amp;quot; if called with no optional BlockType parameter&lt;br /&gt;
*Fix: Fixed zone definitions getting corrupted.&lt;br /&gt;
*Fix: Allowed /save command to be used from console and from remote worlds. Previously you had to join the world to save it.&lt;br /&gt;
*Fix: Fixed potential crash in /winfo when looking up unloaded worlds.&lt;br /&gt;
*Fix: Fixed /zone allowing duplicate names, then kicking the client.&lt;br /&gt;
*Fix: Fixed /ztest showing the standard &amp;quot;you are not allowed to build in this zone&amp;quot; message instead of the expected zone list.&lt;br /&gt;
*Fix: Fixed incorrect description of draw log messages, and backup error messages&lt;br /&gt;
*Fix: Fixed false triggering of &amp;quot;Player asked to be released from its world, but the world did not contain the player&amp;quot; error&lt;br /&gt;
*Change: Fruitified fragmer&#039;s name &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.426===&lt;br /&gt;
*Feature: Announcements! You can define a list of announcements to show periodically. A random line from announcements.txt will be shown to all players at specified interval (in minutes).&lt;br /&gt;
*Feature: /replace command.&lt;br /&gt;
*Feature: /undo command has been improved for more flexibility and better performance.&lt;br /&gt;
*Feature: /winfo (alias: /mapinfo) is added for displaying world name, player count, map dimensions, and access/build permissions.&lt;br /&gt;
*Fix: Fixed a bug that caused duplicate entries to be added to PlayerDB when doing /importranks or /importbans.&lt;br /&gt;
*Change: New ConfigKeys: AnnouncementColor (default: green) and AnnouncementInterval (default: 5 minutes).&lt;br /&gt;
*Change: Draw command stride increased to 16x16x16, for better theoretical performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.425===&lt;br /&gt;
*Feature: Added hollow draw command (/cubh) and aliases (/cuboidh and /bhb)&lt;br /&gt;
*Feature: /players now shows class colors and a total number of players. Breakdown of /players by world is coming soon&lt;br /&gt;
*Feature: Added &amp;quot;Joined world WorldName&amp;quot; message that shows when changing worlds&lt;br /&gt;
*Fix: Improved several /help entries&lt;br /&gt;
*Fix: Fixed a bug in Map.SaveBackup() that could cause a crash if MaxBackups was set&lt;br /&gt;
*Fix: Fixed a bug in ConfigUI where &amp;quot;Delete World&amp;quot; button could leave the map file behind and/or cause an error&lt;br /&gt;
*Fix: Calling lock/unlock from console without a WorldName now shows a nicer error message&lt;br /&gt;
*Change: Improved safety checks of /join command&lt;br /&gt;
*Change: Added a catch-all exception handler into Server.MainLoop&lt;br /&gt;
*Change: Added exception handlers for EVERY single piece of code that requires file access&lt;br /&gt;
*Change: Added more thread safety in MapCommands.WorldRename that resolves a potential race condition with Map.Save&lt;br /&gt;
*Change: Modified IPBanList to use the standard temp folder (instead of fCraft working path) for its temp files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.424===&lt;br /&gt;
*Fix: Fixed /unhide and normal connection getting different messages&lt;br /&gt;
*Fix: Fixed client crash when viewing /rules if the rule file has blank lines&lt;br /&gt;
*Fix: Worlds with capital letters in the name are joinable again&lt;br /&gt;
*Fix: Potential crash in DoClassChange() if target player is already same rank AND is not currently on the server&lt;br /&gt;
*Change: Moved the command list to /help commands&lt;br /&gt;
*Change: Performance and thread-safety improvements to PlayerDB&lt;br /&gt;
*Change: Disabled some more debugging code to avoid taking up unnecessary resources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.423===&lt;br /&gt;
*Feature: /importbans now also supports &amp;quot;banned-ip.txt&amp;quot;&lt;br /&gt;
*Feature: Logs are now stored in /logs/ folder. Your fCraft.log file will be moved there automatically and renamed to &amp;quot;_OldLog.log&amp;quot;&lt;br /&gt;
*Feature: Log splitting now works by day or by session. Set &amp;quot;LogMode&amp;quot; key in config.xml or see Logging tab in ConfigTool.&lt;br /&gt;
*Feature: All maps are now stored in /maps/ folder. Your map files will be moved automatically first time you start ConfigTool/fCraftConsole/fCraftUI&lt;br /&gt;
*Feature: Reserved slots now work&lt;br /&gt;
*Fix: Fixed a bug in fCraft.Server.LoadWorldListXML that could make all worlds hidden.&lt;br /&gt;
*Fix: &amp;quot;player connected&amp;quot; message shown when someone connects, instead of just &amp;quot;player joined world&amp;quot;&lt;br /&gt;
*Fix: &amp;quot;player left the server&amp;quot; message is not shown if the player got kicked before LoginSequence finished (e.g. if server was full)&lt;br /&gt;
*Fix: Added back IP logging for incoming connections&lt;br /&gt;
*Fix: Fixed ConfigTool-generated maps not having correct spawn point&lt;br /&gt;
*Fix: Fixed /user showing both promote and demote messages at once&lt;br /&gt;
*Fix: Removed references to old &amp;quot;/drawundo&amp;quot; command name in &amp;quot;/undo&amp;quot; messages&lt;br /&gt;
*Fix: Fixed &amp;quot;Unrecognized entry ignored: LegacyRankMapping =&amp;quot; warning&lt;br /&gt;
*Change: Made /importbans and /importranks save PlayerDB at once&lt;br /&gt;
*Change: fCraft now forcibly resets its working directory to the same path where the executable is&lt;br /&gt;
*Change: Removed &amp;quot;delete old file?&amp;quot; prompt when renaming worlds in AddWorldPopup. Now it just does it, to match tabWorlds&#039; DataGridView behavior&lt;br /&gt;
*Change: Added additional error checks to Map.Backup() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.422===&lt;br /&gt;
*Feature: Further improved network performance by introducing nonblocking (lock-free) data structure to packet output buffer&lt;br /&gt;
*Fix: Fixed &amp;quot;world creation failed&amp;quot; error if worlds.xml defined a non-existing world to be main&lt;br /&gt;
*Fix: Added back missing messages when doing /user on offline users&lt;br /&gt;
*Fix: Fixed player name color not being updated when their class changes&lt;br /&gt;
*Fix: Added missing /help entries for /importbans and /importranks&lt;br /&gt;
*Change: Improved help messages for /lock, /unban, /unbanip, /undo, /wload, /wmain, and /wremove&lt;br /&gt;
*Change: Tweaked default values of BlockUpdateThrottling and maxBlockUpdatesPerTick for maximum lag-free performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.421===&lt;br /&gt;
*Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players&lt;br /&gt;
*Feature: Added the ability to ban unseen players&lt;br /&gt;
*Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated &amp;quot;Import&amp;quot; permission was added. See &amp;quot;/help importbans&amp;quot; and &amp;quot;/help importranks&amp;quot; for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.&lt;br /&gt;
*Feature: Improved BlockUpdateQueue performance (faster drawing commands!) by switching to a lock-free data structure&lt;br /&gt;
*Fix: Fixed startup errors not being logged if config.xml has not been parsed yet&lt;br /&gt;
*Fix: Fixed ConfigUI input box not aligning properly when window is resized&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; generated maps being 1 block off vertically&lt;br /&gt;
*Change: Updated PlayerDB and IPBanList to use standard temporary folder (instead of dumping temp files into fCraft directory)&lt;br /&gt;
*Change: Added &amp;quot;logging starts&amp;quot; marker that&#039;s written to console and log on-startup&lt;br /&gt;
*Change: fCraftUI log now displays the last 2000 lines (up from 1000 lines)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.420===&lt;br /&gt;
*Feature: New &amp;quot;Worlds&amp;quot; tab in ConfigTool for managing your world list&lt;br /&gt;
*Feature: Isometric map previews and map generation in ConfigTool&lt;br /&gt;
*Feature: Implemented a class-ID system that allows adding/renaming/deleting classes without breaking compatibility. DeleteClassPopup was added for this&lt;br /&gt;
*Feature: Added LimitOneConnectionPerIP option to config &amp;amp; configtool&lt;br /&gt;
*Feature: Worlds can now be hidden from the /worlds list&lt;br /&gt;
*Feature: Added /whois command for checking if a player is using real name or nickname. BE CAREFUL WITH &amp;quot;ChangeName&amp;quot; PERMISSION!&lt;br /&gt;
*Feature: fCraft now generates crash.txt on unhandled fatal errors&lt;br /&gt;
*Feature: Implemented theme support, and added 2 new terrain types (Coast and River) for MapGenerator. See &amp;quot;/help gen&amp;quot; for details, or use ConfigTool.&lt;br /&gt;
*Feature: Pressing Up/Down keys in fCraftUI will show previously typed commands.&lt;br /&gt;
*Fix: Fixed a bug in /wmain and /wload that sometimes made the server unconnectable after changing map&lt;br /&gt;
*Fix: Limits on the /kick command now apply correctly&lt;br /&gt;
*Fix: Fixed /wbuild and /waccess showing wrong messages&lt;br /&gt;
*Fix: Fixed hidden players unable to build due to grief protection&lt;br /&gt;
*Fix: Added /nick and /whois entries to /help&lt;br /&gt;
*Fix: Removed the ability to call draw commands from console (caused crash)&lt;br /&gt;
*Fix: Fixed /lava checking PlaceWater permission instead of PlaceLava&lt;br /&gt;
*Fix: A debug message about &amp;quot;attempting to unregister an non-existent player&amp;quot; is no longer logged every time VerifyNames fails&lt;br /&gt;
*Fix: When using /where command on other players, correct coordinates are now shown]&lt;br /&gt;
*Fix: Player&#039;s classes are now updated in fCraftUI list when promoted/demoted&lt;br /&gt;
*Fix: PMs are now logged as LogType.PrivateChat (instead of generic LogType.WorldChat)&lt;br /&gt;
*Fix: /hide and /unhide now use Color.Sys instead of hardcoded Color.Yellow&lt;br /&gt;
*Fix: Player&#039;s nicknames (as set by /nick) are applied correctly and preserved when changing worlds&lt;br /&gt;
*Fix: Added missing checks for &amp;quot;Chat&amp;quot; permissions&lt;br /&gt;
*Fix: Color buttons in ConfigTool now show correct background color under Mono&lt;br /&gt;
*Fix: Fixed help entry to /freeze showing incorrect information&lt;br /&gt;
*Fix: Corrected tab order in all ConfigTool forms&lt;br /&gt;
*Change: Added /blb as another alias for /cuboid&lt;br /&gt;
*Change: Removed ReservedSlotBehavior config key&lt;br /&gt;
*Change: Disabled word wrapping in rules.txt editor popup&lt;br /&gt;
*Change: /unhide now resets the player&#039;s nick&lt;br /&gt;
*Change: Both player&#039;s real name and nickname (if any) are now recorded in the log&lt;br /&gt;
*Change: Added a warning to /info when looking up nicknames (instead of real names)&lt;br /&gt;
*Change: Heartbeat salt generation (used to verify names) is now more secure&lt;br /&gt;
*Change: Removed CanPlaceHardenedBlocks from permission list&lt;br /&gt;
*Change: All map generator terrain types have been tweaked for improved appearence&lt;br /&gt;
*Change: Centered all ConfigTool popup windows (AddWorldPopup, ColorPicker, DeleteClassPopup, TextEditorPopup)&lt;br /&gt;
*Change: Hid unneeded icons and buttons from ConfigTool popups&lt;br /&gt;
*Change: Changed the way zones store rank restriction (as part of the compatibility assurance), and added versioning to zone definitions&lt;br /&gt;
*Change: Map.Save() now creates temporary files in the OS-specific temporary folder, not in same folder where fCraft is installed&lt;br /&gt;
*Change: World permissions are now updated automatically when a class is deleted&lt;br /&gt;
*Refactor: Improved consistency in code naming conventions, especially in IRC code&lt;br /&gt;
*Refactor: Improved code organization in many areas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.410===&lt;br /&gt;
*Implemented per-world access and build permissions.&lt;br /&gt;
*Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.&lt;br /&gt;
*New world-related commands:&lt;br /&gt;
**/wmain changes the main world&lt;br /&gt;
**/waccess and /wbuild allow setting per-world permissions&lt;br /&gt;
**/wremove allows deleting worlds&lt;br /&gt;
**/wrename allows renaming worlds without reloading&lt;br /&gt;
**/wload command is significantly improved (see /help wload for more info). The functionality of the old /load command has been merged with /wload. Now /load is an alias for /join, together with /l, /j, and /goto.&lt;br /&gt;
*Removed SaveAndLoad permission - it became redundant with ManageWorlds. Please check your config to ensure that permissions remain consistent.&lt;br /&gt;
*Added new and previously-missing (/lockall, /unlockall, /where, /me, /rules, /setspawn) commands to /help.&lt;br /&gt;
*Disabled verify-names check for localhost (127.0.0.1) when running in Balanced mode.&lt;br /&gt;
*When player is denied access to some command, server now names the specific permission that&#039;s needed.&lt;br /&gt;
*Fixed a potential desync issue when one player rejoins a world, and another joins it simultaneously.&lt;br /&gt;
*Removed /genh command and /compass alias for the /where command.&lt;br /&gt;
*Added a fail-safe exception check when executing console commands. Now the server will stay up even if an exception occurs while executing console command.&lt;br /&gt;
*Improved the way server reacts to fatal errors on startup. Now there is a clear indication that server cannot start.&lt;br /&gt;
*&amp;quot;default map&amp;quot; is now referred to as &amp;quot;main world&amp;quot; for consistency. &lt;br /&gt;
*Improved garbage collection.&lt;br /&gt;
&lt;br /&gt;
===0.405===&lt;br /&gt;
*Added back support for vanilla (server_level.dat) maps.&lt;br /&gt;
*Fixed MCSharp importer leaving nonstandard blocks in the map, causing client crashes. Now all MCSharp-specific blocks are converted to normal types.&lt;br /&gt;
*Fixed visual player list not updating in fCraftUI.&lt;br /&gt;
*Added /players command to list ALL players on the server (in all worlds)&lt;br /&gt;
*Made the BlockType parameter optional for /cuboid and /ellipsoid. Now it takes blocktype of the second click (or last-previously-used-blocktype when using /mark) in the absence of the optional parameter.&lt;br /&gt;
*ConfigTool: Added a new tab for IRC setting.&lt;br /&gt;
*ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.&lt;br /&gt;
*IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.&lt;br /&gt;
*IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot. &lt;br /&gt;
*IRC: Fixed a bug with infinite reconnects on receiving error 433 Nickname already in use.&lt;br /&gt;
*Zones: Changed behavior of overlapping zones:&lt;br /&gt;
**Before: To touch a block, AT LEAST ONE zone has to allow it&lt;br /&gt;
**Now: To touch a block, ALL ZONES have to allow it&lt;br /&gt;
*Zones: Added /ztest command that lists all zones affecting a particular block. It can be used to detect and resolve zone overlaps.&lt;br /&gt;
*Zones: Added proper /help entries for /zone, /zones, /zremove, and /ztest, and contextual help for /zone and /zones.&lt;br /&gt;
*Zones: Made zone commands inaccessible from console (it would cause a crash, since zones are world-specific).&lt;br /&gt;
*Fixed OnPlayerDisconnected and OnPlayerListChanged sometimes firing at the wrong time.&lt;br /&gt;
*Added better error handling to Map.Save() in case the target file is not writable.&lt;br /&gt;
*Updated /help entries for /lock, /unlock, and /load commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.404===&lt;br /&gt;
*Fixed zone borders being off by 1 block.&lt;br /&gt;
*Fixed a rare crash on shutdown.&lt;br /&gt;
*Fixed heartbeat reporting incorrect port number to heartbeat if the port specified in config was not available.&lt;br /&gt;
*Adjusted default class permissions slightly, by popular demand:&lt;br /&gt;
**regulars can now place Water and Lava&lt;br /&gt;
**ops can now use draw commands&lt;br /&gt;
*IRC: Added a config option &#039;IRCMsgs&#039; to toggle join/leave messages on/off. Default is disabled to prevent massive spam.&lt;br /&gt;
*IRC: Fixed a possible crash in IRCComm, related to static initializers.&lt;br /&gt;
*ConfigTool: Fixed many bugs in permission checkbox list.&lt;br /&gt;
*ConfigTool: Added visual editor for rules.txt&lt;br /&gt;
*ConfigTool: Added stub tab for IRC settings (coming soon).&lt;br /&gt;
&lt;br /&gt;
===0.403===&lt;br /&gt;
*Fixed spawnpoint being read incorrectly when using /load.&lt;br /&gt;
*Added a note to ban*/unban* commands that&#039;s shown when player name is not found: &amp;quot;Use the FULL player name for ban/unban commands.&amp;quot;&lt;br /&gt;
*Fixed a thread crash (not server-wide crash) in Session.IoLoop that can be caused by corrupted or malicious handshake packets.&lt;br /&gt;
*Fixed a potential crash when using /info on offline players from console.&lt;br /&gt;
*Fixed a potential crash when using /gen from console.&lt;br /&gt;
*Added more fail-safe checks that ensure that map spawn point is always within the map boundaries.&lt;br /&gt;
*Started logging IPs of connections that try sending corrupted or malicious handshake packets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.402===&lt;br /&gt;
*Added back /load command, and hooked up MCC. Currenly supported: fCraft/fcm, MCSharp/lvl, indev/mclevel, MinerCPP and LuaCraft (dat). Vanilla support coming soon.&lt;br /&gt;
*Fixed worlds being unloaded before all block updates are processed (thus aborting draw commands).&lt;br /&gt;
*Fixed several potential multiworld-related crashes and freezes.&lt;br /&gt;
*Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.&lt;br /&gt;
*IRC: Added an information message to notify users of the IRC Bot&#039;s online status when joining the server.&lt;br /&gt;
*IRC: Added the ability to send NOTICES.&lt;br /&gt;
*IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.&lt;br /&gt;
*IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.&lt;br /&gt;
*Drawing-related state is now reset when changing worlds.&lt;br /&gt;
*Added a limiter to the number of block updates that can be processed per tick (even if there are no players in a world). Fixes server becoming unresponsive when doing enormous drawing commands (millions of blocks).&lt;br /&gt;
*Allowed players to /join the world that they are already on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.401===&lt;br /&gt;
*&#039;&#039;&#039;IDLE/AFK CHECKING&#039;&#039;&#039; This is configurable per-class.&lt;br /&gt;
*Added /version command, and added revision to the version string.&lt;br /&gt;
*Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands. &lt;br /&gt;
*Removed all references to the old pre-multiworld &amp;quot;map.fcm.&amp;quot; Backups now work again. &lt;br /&gt;
*Fixed players not spawning in the right place when changing worlds.&lt;br /&gt;
*IRC Bot will now handle terminations by the IRCd and restart itself upon any errors. &lt;br /&gt;
*IRC Bot can now send from inside the server TO IRC! Use the prefix &#039;#&#039; in-game to send any message to IRC. Forwarding all server chat may be added if requested. To send from the bot to the server, use the bot&#039;s nickname and either &#039;:&#039;, &#039;,&#039; or nothing, then your message.&lt;br /&gt;
*Improved performance of the IRC bot and the task scheduler.&lt;br /&gt;
*Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn&#039;t exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.&lt;br /&gt;
*Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after &#039;#&#039; in server chat.&lt;br /&gt;
*Handshake packet is now written when doing /join, to replace MOTD with a more informative &amp;quot;Now loading [worldname]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.400===&lt;br /&gt;
*&#039;&#039;&#039;MULTIWORLD&#039;&#039;&#039; It&#039;s finally here. See /help for information on new commands: /worlds, /wload, /join&lt;br /&gt;
*Added a persistent world list, saved in worlds.txt - this is subject to change. The file contains a list of world names, each corresponding to an .fcm file. The first world listed at the top of worlds.txt is the default/main one.&lt;br /&gt;
*&#039;&#039;&#039;IRC BOT&#039;&#039;&#039; Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.&lt;br /&gt;
*A field has been added in the config to allow forwarding ALL IRC CHANNEL TRAFFIC to the server. This will override the prefix and make it inactive. &#039;IRCBotForwardAll&#039; is set to false by default.&lt;br /&gt;
*&#039;&#039;&#039;ZONES&#039;&#039;&#039; It is now possible to make guest zones and op zones (and anything in-between) on any map. See /help for information on new commands: /zones, /zone, /zremove.&lt;br /&gt;
*Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.&lt;br /&gt;
*Added /compass command (aka /where).&lt;br /&gt;
*Fixed players sometimes not seeing their /kick message.&lt;br /&gt;
*Added a way to teleport to specific coordinates (/tp x y h)&lt;br /&gt;
*Fixed heartbeats timing out when running fCraft under Mono.&lt;br /&gt;
*Fixed Config.ApplyConfig setting the wrong server throttling variables.&lt;br /&gt;
*Fixed air blocks appearing underwater when using /gen&lt;br /&gt;
*Tweaked /gen parameters to make &amp;quot;island&amp;quot; a bit less ugly.&lt;br /&gt;
*Updated text in fCraftConsole.&lt;br /&gt;
&lt;br /&gt;
=0.3xx=&lt;br /&gt;
===0.330===&lt;br /&gt;
*Added /cuboid and /ellipsoid drawing commands.&lt;br /&gt;
*Improved memory usage.&lt;br /&gt;
*Added &amp;quot;Draw&amp;quot; permission, and made /draw check &amp;quot;DeleteAdmincrete&amp;quot; permission when replacing blocks, and removed unused &amp;quot;PlaceGlitchedSand&amp;quot; permission.&lt;br /&gt;
*Added &amp;quot;Port&amp;quot; and &amp;quot;BackupOnlyWhenChanged&amp;quot; config lines, and corresponding ConfigTool fields.&lt;br /&gt;
*Fixed bug that deleted ALL backups when you check &amp;quot;don&#039;t delete old backups.&amp;quot; That was embarrassing.&lt;br /&gt;
&lt;br /&gt;
===0.325===&lt;br /&gt;
*Added an experimental low-latency mode (faster server response, but more bandwidth required).&lt;br /&gt;
*Improved hacking detection: added anti-chat-spam and anti-grief (block spam) checks.&lt;br /&gt;
*New more aggressive anti-hacking checks for incoming movement and SetTile packets.&lt;br /&gt;
*Fixed an issue with fCraftUI console log getting truncated in the wrong places.&lt;br /&gt;
*Improved Mono compatibility (fixes HttpWebRequest failures).&lt;br /&gt;
&lt;br /&gt;
===0.324===&lt;br /&gt;
*Added /me command.&lt;br /&gt;
*Added step stacking.&lt;br /&gt;
*Fixed a case where disconnected players would leave a ghost behind.&lt;br /&gt;
*Improved shutdown speed.&lt;br /&gt;
*Implemented ProcessPriority setting.&lt;br /&gt;
&lt;br /&gt;
===0.323===&lt;br /&gt;
*Fixed players not being able to delete admincrete after promotion.&lt;br /&gt;
*Fixed a bug that allowed players to noclip into walls when using /tp or /bring.&lt;br /&gt;
*Fixed a security issue with &amp;quot;VerifyNames: Balanced&amp;quot;&lt;br /&gt;
*Added prototype of the security tab in ConfigTool (work in progress).&lt;br /&gt;
&lt;br /&gt;
===0.322===&lt;br /&gt;
*Added a range check to Player.SetTile, to prevent certain types of grief bots.&lt;br /&gt;
*Fixed a bug where map spawnpoint did not change after doing /load.&lt;br /&gt;
*Fixed some typos.&lt;br /&gt;
&lt;br /&gt;
===0.321===&lt;br /&gt;
*Fixed welcome messages not showing.&lt;br /&gt;
*Renamed /alias to /nick, and added a permission check.&lt;br /&gt;
&lt;br /&gt;
===0.320===&lt;br /&gt;
*Finally last fix for the disconnect problem. Sorry about that.&lt;br /&gt;
&lt;br /&gt;
===0.319===&lt;br /&gt;
*Quick fix for disconnect problem.&lt;br /&gt;
&lt;br /&gt;
===0.318===&lt;br /&gt;
*Fixed VerifyNames not saving properly when using ConfigTool.&lt;br /&gt;
*Fixed several potential crashers in Session and World.&lt;br /&gt;
*Fixed a bug that sometimes wrongly showed &amp;quot;class name not recognized&amp;quot;.&lt;br /&gt;
*Added class name autocompletion for class chat (@@classname blah)&lt;br /&gt;
*Started working on the new /load mode that allows loading different sized maps, and loading much faster (not done yet).&lt;br /&gt;
&lt;br /&gt;
===0.317===&lt;br /&gt;
*Optimized handling of player movement and some block/tile updates, making servers more responsive and less laggy.&lt;br /&gt;
*Fixed a possible crash that sometimes happened when server has 1 slot left and 2 people tried to join at once.&lt;br /&gt;
*Fixed a case where a Session object was not properly disposed.&lt;br /&gt;
*Fixed resizing issue in UpdateWindow and reduced connection timeout in Updater&lt;br /&gt;
*Disabled ShowPrefixesInChat and ShowPrefixesInList by default (breaks skin support)&lt;br /&gt;
*Added Player.Send, a safe wrapper for Player.session.Send&lt;br /&gt;
*Fixed /tp, /bring, and /setspawn commands that were broken in the last revision.&lt;br /&gt;
*Fixed ConfigTool not saving &amp;quot;IsPublic&amp;quot; setting correctly.&lt;br /&gt;
&lt;br /&gt;
===0.316===&lt;br /&gt;
*Added partial class-name matching for /class and /user commands.&lt;br /&gt;
*Fixed /banip and /banall not kicking the banned players immediately.&lt;br /&gt;
*Added /rules command. Create &amp;quot;rules.txt&amp;quot; in the server folder to specify.&lt;br /&gt;
*Fixed a bug where player movement sometimes got a little out of sync.&lt;br /&gt;
*Optimized /load speed a bit.&lt;br /&gt;
*Added nicer application icons.&lt;br /&gt;
&lt;br /&gt;
===0.315===&lt;br /&gt;
*Added visual color picker to ConfigTool&lt;br /&gt;
*Added lightweight console interface for fCraft&lt;br /&gt;
*Refactored the main update loop&lt;br /&gt;
&lt;br /&gt;
===0.314===&lt;br /&gt;
*Added AutomaticUpdates option.&lt;br /&gt;
*Integrated the color picker to ConfigTool.&lt;br /&gt;
*Improved hacking detection.&lt;br /&gt;
&lt;br /&gt;
===0.313===&lt;br /&gt;
*Fixed a few glitches left after switching file formats.&lt;br /&gt;
*Improved memory usage when saving maps.&lt;br /&gt;
*Fixed an updater-related crash.&lt;br /&gt;
&lt;br /&gt;
===0.312===&lt;br /&gt;
*New map format (FCM v2) should provide faster loading times.&lt;br /&gt;
*server_level.dat loader is now functional.&lt;br /&gt;
*Fixed possible crash if the default port was not available.&lt;br /&gt;
*Automatic updater should now work properly. More update options to come.&lt;br /&gt;
&lt;br /&gt;
===0.311===&lt;br /&gt;
*Preview version of automatic updater.&lt;br /&gt;
&lt;br /&gt;
===0.310===&lt;br /&gt;
*Cleaned up some VC# crapfiles.&lt;br /&gt;
*Added class prefixes and colors.&lt;br /&gt;
*Added PlaceWater and PlaceLava back to permissions.&lt;br /&gt;
*Fixed rank-limited permissions.&lt;br /&gt;
*Other assorted glitches fixed.&lt;br /&gt;
&lt;br /&gt;
===0.305===&lt;br /&gt;
*removed config.xml from svn.&lt;br /&gt;
&lt;br /&gt;
===0.304===&lt;br /&gt;
*More potential crashes fixed.&lt;br /&gt;
&lt;br /&gt;
===0.303===&lt;br /&gt;
*Fixed a couple potential crashes in ConfigTool and Config.DefineClass&lt;br /&gt;
&lt;br /&gt;
===0.302===&lt;br /&gt;
*Fixed a few minor ConfigTool bugs.&lt;br /&gt;
&lt;br /&gt;
===0.301===&lt;br /&gt;
*Forgot to save config from World.cs after parsing. Minor update.&lt;br /&gt;
&lt;br /&gt;
===0.300===&lt;br /&gt;
*ConfigTool finished. Note that some of the options do not have an effect yet.&lt;br /&gt;
&lt;br /&gt;
=Before 0.3xx=&lt;br /&gt;
*Version history was not kept before this point.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Version_history&amp;diff=2643</id>
		<title>Version history</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Version_history&amp;diff=2643"/>
		<updated>2017-04-30T06:50:30Z</updated>

		<summary type="html">&lt;p&gt;F: /* 0.430 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
=0.6xx=&lt;br /&gt;
===0.644===&lt;br /&gt;
&#039;&#039;27 January 2014 - r2327&#039;&#039;&lt;br /&gt;
*Fix: Fixed a bug that caused character &#039;@&#039; in player names to be treated same as &#039;_&#039; (thanks Dingus)&lt;br /&gt;
*Fix: Fixed a rare crash in {{cmd|ZEdit}} when using the command improperly.&lt;br /&gt;
*Fix: Fixed a DataError being thrown in ConfigGUI&#039;s &amp;quot;Worlds&amp;quot; tab after toggling rank prefixes on/off.&lt;br /&gt;
*Fix: Improved error reporting.&lt;br /&gt;
*Change: Improved reliability of external IP checks.&lt;br /&gt;
&lt;br /&gt;
===0.643===&lt;br /&gt;
&#039;&#039;15 October 2013 - r2234&#039;&#039;&lt;br /&gt;
*Fix: Fixed sometimes wrapping last word of a chat message to the next line, when the whole message could fit on one line (thanks AndrewPH).&lt;br /&gt;
*Fix: Installing updates no longer causes UAC prompts under Windows Vista.&lt;br /&gt;
*Fix: Fixed IRC periodically crashing if someone quits with an empty message.&lt;br /&gt;
*Fix: Fixed IRC-related crashes not being submitted to the crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.642===&lt;br /&gt;
&#039;&#039;27 August 2013 - r2180&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Fill3D}}.&lt;br /&gt;
*Feature: Added caret (^), tilde (~), and grave accent (`) to [[emotes]].&lt;br /&gt;
*Fix: Emotes work via IRC once again.&lt;br /&gt;
*Fix: ConfigGUI: Fixed &amp;quot;Add world&amp;quot; and &amp;quot;Edit world&amp;quot; popups sometimes locking up.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving LastFailedLoginIP properly.&lt;br /&gt;
*Change: Made it easy to switch heartbeat servers (minecraft.net to classicube or back) via ConfigGUI.&lt;br /&gt;
*Change: Added an optional second parameter to {{cmd|DumpStats}}, which allows specifying period of inactivity for filtering players.&lt;br /&gt;
*Change: Improved startup and shutdown times, and reduced CPU use.&lt;br /&gt;
*Change: {{cmd|Hide}} and {{cmd|Unhide}} now indicate when they are silent or not.&lt;br /&gt;
&lt;br /&gt;
===0.641===&lt;br /&gt;
&#039;&#039;17 August 2013 - r2150&#039;&#039;&lt;br /&gt;
*Feature: Improved the way {{cmd|EllipsoidH}} works on flat surfaces. Instead of filled ellipses, it now makes rings.&lt;br /&gt;
*Feature: Added {{cmd|Reply}} (&amp;lt;code&amp;gt;/re&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: {{cmd|Fill2D}} can now fill with any brush, not just solid color.&lt;br /&gt;
*Feature: Added &#039;&#039;HeartbeatUrl&#039;&#039; [[List of config keys#Advanced|config key]], to allow alternative heartbeat/authentication services. &#039;&#039;&#039;Note: [[HeartbeatSaver]] only needs to be updated IF you plan on using something other than minecraft.net&#039;&#039;&#039;&lt;br /&gt;
*Fix: Fixed a InvalidOperationException in ConfigGUI when re-drawing the map preview (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;Realistic&amp;quot; MapGen help (thanks Jonty800).&lt;br /&gt;
*Fix: Now correctly kicking custom premium-MC clients.&lt;br /&gt;
*Fix: Fixed help messages in [[HeartbeatSaver]] and {{cmd|MassRank}}.&lt;br /&gt;
*Fix: Fixed a potential way of revealing hidden players by messaging them.&lt;br /&gt;
*Change: ConfigGUI&#039;s port checker works again.&lt;br /&gt;
*Change: IRC bot will now retry for its primary nick every 30 seconds (thanks Dankirk).&lt;br /&gt;
&lt;br /&gt;
===0.640===&lt;br /&gt;
&#039;&#039;30 July 2013 - r2124&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Feature: [[Mojang accounts|Mojang account]] (email) support.&#039;&#039;&#039; Added {{perm|ViewEmails}} permission and a config option to disallow email users.&lt;br /&gt;
*Feature: Overhauled map generation! Improved {{cmd|Gen}}, new {{cmd|SetGen}} command, more options, preset loading/saving, redesigned ConfigGUI interface, and two new map generation modes: Vanilla (from [http://femto.fcraft.net FemtoCraft]) and FloatingIsland.&lt;br /&gt;
*Feature: Optional [http://www.regular-expressions.info/quickstart.html RegEx] filtering of filenames for [[MapRenderer]] and [[MapConverter]], enabled by &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Feature: Added &amp;lt;i&amp;gt;&amp;quot;Player ___ logged in from an IP shared by frozen players...&amp;quot;&amp;lt;/i&amp;gt; announcement.&lt;br /&gt;
*Feature: Added an optional parameter to toggle commands (grass, water, lava, solid, paint, static) &amp;amp;mdash; &amp;quot;on&amp;quot;/&amp;quot;1&amp;quot; or &amp;quot;off&amp;quot;/&amp;quot;0&amp;quot;.&lt;br /&gt;
*Feature: Added BackupOnMapChange config key, which automates backups when a world&#039;s map is replaced by /Gen or /WLoad (enabled by default).&lt;br /&gt;
*Feature: Added &amp;lt;code&amp;gt;/To&amp;lt;/code&amp;gt; as an alias of {{cmd|TP}}, and &amp;lt;code&amp;gt;/Flush&amp;lt;/code&amp;gt; as an alias for {{cmd|WFlush}}.&lt;br /&gt;
*Feature: [[MapRenderer]] is now much quicker, thanks to optimization and multithreading.&lt;br /&gt;
*Feature: Added ability to change capitalization of player&#039;s name using {{cmd|SetInfo}}.&lt;br /&gt;
*Fix: Fixed MapGenerator sometimes locking up when working with tiny 16x16 maps (thanks 123DMWM).&lt;br /&gt;
*Fix: Fixed world greetings not being saved between restarts (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed {{cmd|WLoad}} showing incorrect map file names when prompting to replace files (thanks Smokeybacon).&lt;br /&gt;
*Fix: Fixed [[Command_Tips#Restricting_player_name_search|online-only name prefix]] revealing hidden players in some commands (thanks Intertoothh and recon).&lt;br /&gt;
*Fix: When a spectating player gets frozen, they are no longer stuck spectating (thanks ruggedbear and NuclearWaffle121).&lt;br /&gt;
*Fix: IRC now handles two-number color codes and reset codes correctly (thanks Liam).&lt;br /&gt;
*Fix: Fixed map changes sometimes leaving behind &amp;quot;ghost maps&amp;quot; for players with rank-specific main maps set (thanks Jonty800).&lt;br /&gt;
*Fix: PlayerDB name autocompletion now correctly handles players with &#039;.&#039; in their names.&lt;br /&gt;
*Fix: Timed backups no longer drift slightly every hour.&lt;br /&gt;
*Fix: Players can now {{cmd|Clear}} their chat even while [[/Deafen|deaf]].&lt;br /&gt;
*Fix: Fixed a rare serialization issue with PlayerDB&#039;s RankChangedBy field.&lt;br /&gt;
*Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Now only allow either one directory, or one-or-more files to be specified. Multiple directories, and mixed directories/files are no longer allowed.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Disabled slow fallback conversion by default (which caused non-map files to take forever to skip in recursive mode). Old behavior can be reenabled with &amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Change: When auto-updating or restarting under Mono, fCraft no longer tries to use &amp;quot;mono-sgen&amp;quot;, now just using &amp;quot;mono&amp;quot; and assuming that runtime is properly configured.&lt;br /&gt;
*Change: {{cmd|WBuild}} and {{cmd|WAccess}} can optionally now take &amp;quot;@&amp;quot; in front of rank name.&lt;br /&gt;
*Change: Removed BackupOnJoin config key.&lt;br /&gt;
*Change: UpdateInstaller&#039;s &amp;lt;code&amp;gt;--restart&amp;lt;/code&amp;gt; parameter is more flexible.&lt;br /&gt;
*Change: Dropped Mono 2.6 support.&lt;br /&gt;
*Change: Optimizations in player movement code, PlayerDB loading/saving, IP ban list loading, map generation, map rendering, {{cmd|Ellipsoid}}, and {{cmd|Sphere}}.&lt;br /&gt;
&lt;br /&gt;
===0.639===&lt;br /&gt;
&#039;&#039;10 December 2012 - r1917&#039;&#039;&lt;br /&gt;
*Feature: Added RankPrefixesOnDisplayedNames config key (default: false), which controls whether to prepend rank prefixes to names of players with a custom DisplayedName set.&lt;br /&gt;
*Feature: Added BypassHttpsCertificateValidation config key (default: false), to ease HTTPS-related pains under Mono.&lt;br /&gt;
*Feature: Added MoveEmoteDotToEndOfMessage config key (default: true), which slightly changes emote formatting, by BobKare&#039;s request.&lt;br /&gt;
*Fix: Fixed a stability issue in the IRC bot.&lt;br /&gt;
*Fix: Fixed incorrect runtime version detection for Mono versions older than 2.6.&lt;br /&gt;
*Fix: Server now gives more informative messages when you try to do something disallowed to yourself (mute, unfreeze, ban, kick, etc).&lt;br /&gt;
*Fix: Fixed being able to teleport to hidden players (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed {{cmd|Unhide}} not faking a join message for hidden players (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed IRC bot sending USER before NICK (fixes occasional error 451) (thanks Hellenion).&lt;br /&gt;
*Change: Added ability to set players&#039; BandwidthUseMode via {{cmd|SetInfo}}.&lt;br /&gt;
*Change: Improved {{cmd|Env}}, {{cmd|UndoAreaNot}}, and {{cmd|Help}} messages.&lt;br /&gt;
*Change: Players&#039; connection messages in logs now include TimesVisited stat.&lt;br /&gt;
*Change: {{cmd|Help|commands}} is no longer an alias for {{cmd|Commands}} (thanks ruggedbear).&lt;br /&gt;
&lt;br /&gt;
===0.638===&lt;br /&gt;
&#039;&#039;29 November 2012 - r1887&#039;&#039;&lt;br /&gt;
*Feature: [[Emotes|Emote]] keywords and their Unicode equivalents can now be included in announcement and rule files.&lt;br /&gt;
*Feature: IRC bot now sends a quit message consisting of server name and shutdown reason.&lt;br /&gt;
*Fix: Fixed a very small chance of PlayerInfo.TimeMutedLeft returning negative time spans.&lt;br /&gt;
*Fix: Leading and trailing spaces are now trimmed from kick/ban/unban reasons.&lt;br /&gt;
*Fix: Fixed some emotes getting trimmed from {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} (thanks Intertoothh)&lt;br /&gt;
*Fix: Fixed RestartInterval starting two chat timers (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed ServerCLI using console colors for the first few messages even if &amp;lt;code&amp;gt;--noconsolecolor&amp;lt;/code&amp;gt; [[List of command-line options|command-line switch]] was given (thanks Hellenion)&lt;br /&gt;
*Change: Added &amp;lt;code&amp;gt;--noupdater&amp;lt;/code&amp;gt; command line switch, which stops fCraft from launching update installer binaries (although all other update-related behavior remains the same)&lt;br /&gt;
*Change: Player&#039;s own name is no longer considered in autocompletion/searches for commands that are not applicable to self (e.g. {{cmd|Ban}}, {{cmd|Mute}}, {{cmd|Ignore}}, {{cmd|TP}}, etc)&lt;br /&gt;
*Change: Logged global chat messages now have &amp;quot;(global)&amp;quot; prepended before player&#039;s name.&lt;br /&gt;
*API: Updated trunk project files to VisualStudio 2010. Target runtime remains .NET 3.5 Client Profile.&lt;br /&gt;
&lt;br /&gt;
===0.637===&lt;br /&gt;
&#039;&#039;16 October 2012 - r1847&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Emotes}} command, to list emotes and their keywords.&lt;br /&gt;
*Fix: Fixed IRC bot cutting off very long messages.&lt;br /&gt;
*Fix: Fixed {{cmd|Info}} not working with some IP ranges (thanks _BjorN64_).&lt;br /&gt;
*Fix: Fixed single-letter emote keywords not working (thanks Wundsalz).&lt;br /&gt;
*Fix: Improved the way IRC bot handles nick conflicts (thanks Jonty800).&lt;br /&gt;
*Fix: {{cmd|DumpStats}} no longer dies when an invalid file name is given (thanks Hellenion).&lt;br /&gt;
*Change: Added a new build configuration, DEBUG_NETWORKING, which traces all incoming and outgoing packets.&lt;br /&gt;
*Change: IRC bot now logs all outgoing messages when built in DEBUG_IRC configuration.&lt;br /&gt;
&lt;br /&gt;
===0.636===&lt;br /&gt;
&#039;&#039;10 October 2012 - r1832&#039;&#039;&lt;br /&gt;
*Feature: Check your configs! New options were added to control display of colors and emotes to/from IRC.&lt;br /&gt;
*Feature: Added {house} [[emotes|emote]]: ⌂ (0x7F).&lt;br /&gt;
*Fix: Fixed newline codes %n/%N not being parsed properly.&lt;br /&gt;
*Fix: Fixed a crash in Color.StripColors (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed random symbols appearing in stack traces in console (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed couple problems with Player.Moving event (thanks 00pol).&lt;br /&gt;
*Fix: Spawn points of MCSharp map files are now loaded correctly (thanks 00pol).&lt;br /&gt;
*Change: Players&#039; DisplayedNames may no longer contains line breaks.&lt;br /&gt;
&lt;br /&gt;
===0.635===&lt;br /&gt;
&#039;&#039;8 October 2012 - r1822&#039;&#039;&lt;br /&gt;
*Feature: Added support for &amp;quot;[[emotes]]&amp;quot; (chat symbols). New permission ({{perm|UseEmotes}}) and config key (IRCAllowEmotes) were added.&lt;br /&gt;
*Fix: Fixed numbers sometimes being accepted as valid (e.g. by {{cmd|Mute}}), although counted as 0-length time spans.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving strings with newlines properly.&lt;br /&gt;
*Fix: Fixed IRC bot sometimes producing messages that are a couple characters over the IRC message size limit (512 chars).&lt;br /&gt;
*Fix: Fixed players being able to use newline codes (&amp;amp;N/&amp;amp;n) on IRC.&lt;br /&gt;
*Fix: Fixed problems with UpdaterMode and BackupOnStartup settings in ConfigGUI.&lt;br /&gt;
*Fix: Fixed fCraft not building in DEBUG_IRC configuration.&lt;br /&gt;
*Change: Added a workaround for TermInfoDriver-related exceptions under Mono (thanks Hellenion)&lt;br /&gt;
*Change: Symbolic [[colors|color codes]] (e.g. %S) can now be used in chat.&lt;br /&gt;
*Change: Backslash can now be used to escape percent [[colors|color codes]] (e.g. \%C).&lt;br /&gt;
*Change: fCraft will now retry looking up the external IP up to 3 times.&lt;br /&gt;
*Change: Lots of documentation, annotation, and API improvements.&lt;br /&gt;
&lt;br /&gt;
===0.634===&lt;br /&gt;
&#039;&#039;30 September 2012 - r1796&#039;&#039;&lt;br /&gt;
*Fix: Fixed an occasional InvalidOperationException when auto-updating in ServerGUI.&lt;br /&gt;
*Fix: Fixed ConfigGUI showing misleading information in &amp;quot;unrecognized entry ignore&amp;quot; errors.&lt;br /&gt;
*Fix: Fixed Logger trying to write to file in [[MapConverter]] and [[MapRenderer]].&lt;br /&gt;
*Fix: Fixed [[MapRenderer]] and [[MapConverter]] spamming zone-related errors (thanks Hellenion and AndrewPH)&lt;br /&gt;
*Fix: Fixed {{cmd|UndoPlayerNot}} help entry (thanks ruggedbear)&lt;br /&gt;
*Change: Heartbeat code now uses HTTPS, as mandated by Mojang. If you use Mono, see http://www.mono-project.com/FAQ:_Security&lt;br /&gt;
*Change: Removed support for the malfunctioning WoM Direct heartbeat service.&lt;br /&gt;
*Change: RankChangeReason is now shown as a &amp;quot;Rank note&amp;quot; in {{cmd|Info}}, even if no other data (PreviousRank/RankChangedBy/RankChangeDate) exists (thanks Wundsalz)&lt;br /&gt;
&lt;br /&gt;
===0.633===&lt;br /&gt;
&#039;&#039;26 September 2012 - r1788&#039;&#039;&lt;br /&gt;
*Feature: Added checkbox for HeartbeatEnabled config key to ConfigGUI, on the advanced tab.&lt;br /&gt;
*Fix: Fixed heartbeat/verification issues caused by &amp;quot;no-www&amp;quot; changes made by Mojang at minecraft.net&lt;br /&gt;
*Fix: Fixed VisualStudio designer being unable to load ConfigGUI.MainForm.&lt;br /&gt;
*Fix: Fixed {{cmd|ZMark}} being spammy (thanks ruggedbear).&lt;br /&gt;
*Fix: Binding &amp;quot;air&amp;quot; block to something now works as expected (deleted blocks are replaced with the binding) (thanks Hellenion).&lt;br /&gt;
*Fix: Added missing tooltips to &amp;quot;Data Backup&amp;quot; checkbox in ConfigGUI (thanks PhoneBook_).&lt;br /&gt;
*Fix: Added [[HeartbeatSaver]] to UpdateInstaller and list of protected filenames.&lt;br /&gt;
*Fix: Fixed occasional startup crash in [[HeartbeatSaver]].&lt;br /&gt;
*Change: {{cmd|Reload|Autorank}} now triggers a re-scan of the whole PlayerDB.&lt;br /&gt;
*Change: Added code to BlockDB to recover misaligned .fbdb files. BlockDB files are supposed to be aligned to 20 bytes. Misalignment might happen if writing didn&#039;t finish properly - e.g. power outage, or ungraceful shutdown.&lt;br /&gt;
*Change: Improved consistency of exit codes in [[HeartbeatSaver]], [[MapConverter]], and [[MapRenderer]].&lt;br /&gt;
&lt;br /&gt;
===0.632===&lt;br /&gt;
&#039;&#039;14 September 2012 - r1765&#039;&#039;&lt;br /&gt;
*Feature: Added standalone [[HeartbeatSaver]] utility, a heartbeat-sending daemon.&lt;br /&gt;
*Feature: Added a way to specify scale/turbulence/seed for cloudy brush.&lt;br /&gt;
*Feature: Renamed &amp;quot;IRC&amp;quot; LogType to &amp;quot;IRCStatus&amp;quot;, and added &amp;quot;IRCChat&amp;quot; LogType. Check your configs.&lt;br /&gt;
*Fix: Fixed the updater. You&#039;ll have to update from version 0.631 manually (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed a bug related to multiple players trying to join an almost-full server at the same time.&lt;br /&gt;
*Fix: Fixed a rare InvalidOperationException crash in ConfigGUI.&lt;br /&gt;
*Fix: Fixed reversed order in {{cmd|BlockInfo}} (thanks recon_).&lt;br /&gt;
*Fix: Fixed a few formatting errors in feedback messages.&lt;br /&gt;
*Fix: Fixed a rare disconnect related to a spectator trying to follow a spectatee to a full world.&lt;br /&gt;
*Fix: Fixed {{cmd|Hide}} not showing a fake disconnect message when needed.&lt;br /&gt;
*Fix: Fixed {{cmd|WRename}} prompting for file overwrite when changing capitalization in a world name.&lt;br /&gt;
*Fix: Fixed UndoArea/UndoAreaNot and UndoPlayer/UndoPlayerNot messages occasionally getting mixed up.&lt;br /&gt;
*Fix: Fixed players being unable to join the server if access restrictions prevent them from joining the rank-specific main world.&lt;br /&gt;
*Fix: {{cmd|WRemove}} now correctly handles removing rank-main worlds.&lt;br /&gt;
*Fix: Fixed a case where newlines in PlayerInfo or IPBanInfo fields would cause record corruption.&lt;br /&gt;
*Fix: Fixed reversed messages in {{cmd|DoNotMark}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed ServerCLI sometimes staying open, waiting on console input, when it&#039;s supposed to shut down or restart.&lt;br /&gt;
*Change: Sped up &amp;quot;cloudy&amp;quot; brush when working with large draw commands.&lt;br /&gt;
*Change: Crash reporter now submits list of names and versions of all loaded assemblies, to help identify mismatched or missing dependencies.&lt;br /&gt;
*Change: Added logging to every confirmation prompt, &amp;quot;/ok&amp;quot;, {{cmd|BlockDB}} enabling/disabling/clearing, {{cmd|ZRemove}}, {{cmd|InfoSwap}}, and {{cmd|Env}}.&lt;br /&gt;
*Change: Any pending confirmations are now reset on world change.&lt;br /&gt;
*Change: Added /I as an alias for {{cmd|Info}}, and /CS as an alias for {{cmd|CopySlot}}.&lt;br /&gt;
*Change: Removed &amp;quot;marbled&amp;quot; brush (&amp;quot;cloudy&amp;quot; works just as well) and FCMv4 map format support (development canceled).&lt;br /&gt;
*Change: {{cmd|Where}} command now only requires {{perm|ViewOthersInfo}} permission to see other players&#039; whereabouts. It can be used by anyone on self.&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.631===&lt;br /&gt;
&#039;&#039;5 September 2012 - r1741&#039;&#039;&lt;br /&gt;
*Feature: Added a way to restrict commands to match online players&#039; names only, by prefixing the name with an exclamation mark (!). See [[Command Tips]] for more.&lt;br /&gt;
*Feature: Added {{cmd|DoNotMark}} command. When toggled on, clicking on blocks does not cause marks to be added to a selection.&lt;br /&gt;
*Fix: Included MapConverter.exe and MapRenderer.exe in list of protected filenames.&lt;br /&gt;
*Fix: Fixed a potential crash in Paths.FileExists when working in case-sensitive mode in a root directory.&lt;br /&gt;
*Fix: Fixed ConfigGUI not loading permission limits properly (thanks recon_).&lt;br /&gt;
*Fix: Added missing fake connection message when using non-silent {{cmd|Unhide}} (thanks Wundsalz).&lt;br /&gt;
*Change: Improvements to fCraft&#039;s built-in crash reporter.&lt;br /&gt;
*Change: Blocks redone with {{cmd|Redo}} are now flagged as &amp;quot;Redone&amp;quot; in /BlockInfo (instead of &amp;quot;UndoneSelf&amp;quot;), [[/Paint|painted]] blocks as &amp;quot;Painted&amp;quot; (instead of &amp;quot;Manual, Replaced&amp;quot;).&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.630===&lt;br /&gt;
&#039;&#039;4 September 2012 - r1727&#039;&#039;&lt;br /&gt;
*Feature: New permissions! {{perm|FlushWorlds}} (previously part of {{perm|ManageWorlds}}), {{perm|UseTimers}} (previously part of {{perm|Say}}), and {{perm|UndoAll}}.&lt;br /&gt;
*Feature: Added ability to undo multiple players&#039; actions at once, or EVERYONE&#039;s actions at once, using {{cmd|UndoPlayer}} and {{cmd|UndoArea}}. Command syntax changed, see wiki.&lt;br /&gt;
*Feature: {{cmd|Info}} now shows whether minecraft.net accounts are free or paid.&lt;br /&gt;
*Feature: Added special &amp;quot;skip&amp;quot;/&amp;quot;none&amp;quot; blocktype, usable with brushes and draw commands.&lt;br /&gt;
*Feature: Added ability to clear world/zone whitelists and blacklists. Use &amp;quot;-*&amp;quot; in place of player name to clear whitelist, and &amp;quot;+*&amp;quot; to clear blacklist.&lt;br /&gt;
*Feature: Added a way to remove all zones in a world, {{cmd|ZRemove|*}}.&lt;br /&gt;
*Feature: Added {{cmd|UndoAreaNot}} (/uan) and {{cmd|UndoPlayerNot}} (/upn), which reverse changes made by everyone EXCEPT the given player(s).&lt;br /&gt;
*Feature: Added [[MapConverter]] and [[MapRenderer]] utilities.&lt;br /&gt;
*Feature: {{cmd|CuboidW}} now supports optionally filling sides and center with different blocktypes, e.g. &amp;quot;/cw white blue red&amp;quot;.&lt;br /&gt;
*Fix: Fixed ServerCLI launching the wrong fCraft binary after running the updater.&lt;br /&gt;
*Fix: Fixed a missing warning in {{cmd|Gen}} when map height is not a multiple of 16.&lt;br /&gt;
*Fix: Fixed a rare case of players receiving desynchronized copies of maps where draw commands are in progress.&lt;br /&gt;
*Fix: Fixed a crash in {{cmd|Commands|&amp;lt;Category&amp;gt;}}&lt;br /&gt;
*Fix: Fixed potential crashes when working with files in root directories (e.g. C:/)&lt;br /&gt;
*Fix: Improved {{cmd|BanEx}} logging.&lt;br /&gt;
*Fix: Improved support for Myne/MyneCraft/HyveBuild/iCraft maps.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog in ConfigGUI defaulting to 20 minutes, instead of &amp;quot;(default)&amp;quot;.&lt;br /&gt;
*Fix: Fixed SaveInterval and BackupInterval being limited to just 100 seconds/minutes in ConfigGUI (thanks Hellenion).&lt;br /&gt;
*Fix: Improved consistency of timestamp format in logs (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed being unable to remove world greetings via {{cmd|WSet}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed IRC bot cutting off long messages (thanks Hellenion).&lt;br /&gt;
*Change: Improved performance of {{cmd|Gen}}, {{cmd|WLoad}}, world loading, and all BlockDB-related commands.&lt;br /&gt;
*Change: Adjustments to block names and aliases, as well as command aliases.&lt;br /&gt;
*Change: Merged {{cmd|Cancel}} and /Nvm commands.&lt;br /&gt;
*Change: &amp;quot;&amp;amp;N&amp;quot; is now usable as a &amp;quot;newline&amp;quot; constant in all configurable strings (rules, announcements, greetings, etc), and &amp;quot;%N&amp;quot; is usable by players with {{perm|UseColorCode}} permissions.&lt;br /&gt;
*Change: Made {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} usable by frozen players.&lt;br /&gt;
*Change: Added a warning to /Colors regarding the minimum rank required to use colorcodes in chat (thanks Jonty800).&lt;br /&gt;
*Change: Ignoring a player no longer prevents you from seeing {{cmd|Say}} messages written by them.&lt;br /&gt;
*Change: {{cmd|Paint}}, {{cmd|Solid}}, {{cmd|Grass}}, {{cmd|Water}}, and {{cmd|Lava}} are no longer usable by players without Build permission, and dont show up in /Commands for them.&lt;br /&gt;
*Change: Clarified {{cmd|ZEdit}} messages when trying to remove self from blacklist, or add yourself to whitelist.&lt;br /&gt;
*Change: {{cmd|Mute}}, {{cmd|Unmute}}, {{cmd|Freeze}}, and {{cmd|Unfreeze}} are now also usable on offline players.&lt;br /&gt;
*Change: Session threads are no longer marked as &amp;quot;background&amp;quot;, to prevent unexpected side effects from session threads being aborted on shutdown. This might slow down shutdown a bit, but there is less to go wrong.&lt;br /&gt;
*Change: World greetings can now support constants.&lt;br /&gt;
*Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.&lt;br /&gt;
*Change: Process exit code is now set to match ShutdownReason.&lt;br /&gt;
*API: Added ChatTimer.Started and ChatTimer.Stopped events, rewrote BlockDB, MapConversion, and IsoCat APIs.&lt;br /&gt;
*API: Many documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.624===&lt;br /&gt;
&#039;&#039;16 July 2012 - r1636&#039;&#039;&lt;br /&gt;
*Fix: Fixed BlockDB time-limiting code trimming too much data from the database.&lt;br /&gt;
*Fix: CommandBook ban import now accepts any filename that ends with &amp;quot;.csv&amp;quot;, not just &amp;quot;bans.csv&amp;quot;.&lt;br /&gt;
*Fix: ServerCLI no longer crashes upon receiving EOF from console.&lt;br /&gt;
*Fix: Fixed a rare case of hidden players being revealed (briefly) when their rank is changed.&lt;br /&gt;
*Fix: Fixed [[/Spectate]] leaving ghost players behind on world change (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed a couple typos in [[/WLock]] and [[/WUnlock]] (thanks ImNoobSoWhat).&lt;br /&gt;
*Change: Added server name to [[/ServerInfo]]&lt;br /&gt;
*Change: If opening a link fails (from ConfigGUI or ServerGUI), the URL is copied to clipboard, instead of crashing.&lt;br /&gt;
*Change: &amp;quot;[[/Import]] bans&amp;quot; no longer prints a message for every player who&#039;s already banned, instead showing a total number of already-banned players at the end.&lt;br /&gt;
*Change: Added a missing &amp;quot;Copy&amp;quot; context menu to the ServerGUI&#039;s log box (thanks to Jonty800).&lt;br /&gt;
*Change: fCraft front-ends now check fCraft.dll&#039;s assembly version, and refuse to start if there is a mismatch (Thanks Zaneo).&lt;br /&gt;
&lt;br /&gt;
===0.623===&lt;br /&gt;
&#039;&#039;9 July 2012 - r1624&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in [[/PasteX]] and [[/PasteNotX]].&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] crash when given a non-banned IP address.&lt;br /&gt;
*Fix: Fixed a crash in Player.DetectChatSpam if AntiSpam was supposed to be disabled.&lt;br /&gt;
*Fix: Fixed typos in comments and messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed a crash in [[/ZAdd]] (thanks thelonedrummer18).&lt;br /&gt;
&lt;br /&gt;
===0.622===&lt;br /&gt;
&#039;&#039;6 July 2012 - r1619&#039;&#039;&lt;br /&gt;
*Feature: ServerGUI message log is now color-coded, easier to select/copy/paste, and featuring clickable links.&lt;br /&gt;
*Fix: Fixed several regressions in [[/Hide]] and [[/Spectate]] that were introduced in 0.620-0.621 (thanks mark_b).&lt;br /&gt;
*Fix: Fixed [[/Deafen]] being usable from console (thanks phonebookguy).&lt;br /&gt;
*Fix: Fixed a crash in Paste/PasteNot/PasteX/PasteNotX (thanks Grant).&lt;br /&gt;
*Misc: Updated some draw command messages, credits, help entries, warnings.&lt;br /&gt;
&lt;br /&gt;
===0.621===&lt;br /&gt;
&#039;&#039;5 July 2012 - r1612&#039;&#039;&lt;br /&gt;
*Feature: Added CommandBook banlist (bans.csv) support to [[/Import]].&lt;br /&gt;
*Feature: Added a way to list all players of a certain rank with &amp;quot;[[/Info]] @ClassName&amp;quot;.&lt;br /&gt;
*Feature: Added {PLAYER_LIST} variable, for use in greetings/announcements/rules.&lt;br /&gt;
*Fix: Fixed changes to DefaultBackupInterval config key not being applied.&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] showing &amp;quot;players on same IP&amp;quot; for players without a recorded IP address.&lt;br /&gt;
*Fix: Fixed fCraft occasionally using localized datetime and number formatting.&lt;br /&gt;
*Fix: Fixed [[/Cut]] storing the selected blocks before checking player&#039;s draw limit (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed [[/Fill2D]] starting a selection even if command parameters could not be parsed (thanks David00143).&lt;br /&gt;
*Fix: Fixed [[/Copy]] and [[/Cut]] reporting incorrect origin information (thanks nope__avi).&lt;br /&gt;
*Fix: Players who are spectating or being spectated by you are no longer hidden from the tab player list (thanks ruggedbear).&lt;br /&gt;
*Change: If multiple players are spectating the same player, they no longer see each other (thanks Hellenion).&lt;br /&gt;
*Change: Small improvements and fixes to [[/WSet]] and to AntiSpam functionality.&lt;br /&gt;
*Change: Sped up PlayerDB loading on startup.&lt;br /&gt;
*Change: Added shortcuts for [[/SetInfo]] field names.&lt;br /&gt;
&lt;br /&gt;
===0.620===&lt;br /&gt;
&#039;&#039;17 June 2012 - r1592&#039;&#039;&lt;br /&gt;
*Feature: WoM Direct description and flags can now be set from config, without the need to go to WoM Direct website.&lt;br /&gt;
*Feature: Added a new [[/WSet]] command, that allows hiding worlds, changing backup settings, and setting greeting messages.&lt;br /&gt;
*Feature: More [[/WInfo]] information is persisted across server restarts: IsLocked, LockedBy, UnlockedBy, LoadedBy, LoadedOn, MapChangedBy, MapChangedOn.&lt;br /&gt;
*Feature: Added IRCStripMinecraftColors config key (default: true). It determines whether Minecraft colorcodes (ampersand codes) entered on IRC should be removed before showing the message in-game.&lt;br /&gt;
*Fix: Fixed incorrect percentages occasional being printed by [[/Measure]], [[/Cancel]], and [[/Undo]].&lt;br /&gt;
*Fix: Locked worlds remain locked after server restart.&lt;br /&gt;
*Fix: Addressed many flaws and glitches in the backup system.&lt;br /&gt;
*Fix: Fixed a case where draw commands that affected no blocks caused division by zero&lt;br /&gt;
*Fix: Fixed a PlayerDB record corruption bug that affected numbers over 100,000,000.&lt;br /&gt;
*Fix: Fixed a stability issue related to LineWrapper (thanks Kevinsweijen and Mc_MrCat).&lt;br /&gt;
*Fix: Fixed IRC markup codes being forwarded to the server in IRC&#039;s channel-kick messages.&lt;br /&gt;
*Fix: Fixed [[/Unmute]] not checking rank limits (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;IP&amp;gt;&amp;quot; and &amp;quot;[[/BanAll]] &amp;lt;PlayerName&amp;gt;&amp;quot; not checking ban exemptions when kicking players (thanks BobKare).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;PlayerName&amp;gt;&amp;quot; not kicking all the players from IP address.&lt;br /&gt;
*Fix: Fixed Undo/Redo messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed compatibility with Mono 2.10.8.1 (thanks Hawkzeh).&lt;br /&gt;
*Change: Removed [[/WHide]] and [[/WUnhide]] (obsoleted by [[/WSet]]).&lt;br /&gt;
&lt;br /&gt;
===0.618===&lt;br /&gt;
&#039;&#039;22 April 2012 - r1568&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in ConfigGUI when trying to sort by map size and a map file is missing (thanks Moose).&lt;br /&gt;
*Change: Ampersands are no longer allowed in chat, even escaped, due to unpredictable Minecraft client behavior.&lt;br /&gt;
&lt;br /&gt;
===0.617===&lt;br /&gt;
&#039;&#039;21 April 2012 - r1564&#039;&#039;&lt;br /&gt;
*Feature: [[/BInfo]] now accepts optional XYZ coordinates, like [[/Mark]].&lt;br /&gt;
*Fix: Added a workaround for &amp;quot;Internal error Flush&amp;quot; under Mono.&lt;br /&gt;
*Fix: Fixed [[/WBring]] printing incorrect usage syntax (thanks recon_)&lt;br /&gt;
*Fix: Fixed typo in [[/BlockDB]] (thanks xN8Gx)&lt;br /&gt;
*Fix: Fixed IRC bots not binding to the specified local endpoint.&lt;br /&gt;
*Fix: Fixed &amp;quot;PreviousRank&amp;quot; not getting updated by [[/SetInfo]] working (thanks nope__avi)&lt;br /&gt;
*Fix: Fixed several rare stability issues (thanks Kevinsweijen).&lt;br /&gt;
*Fix: Fixed [[/Undo]] and [[/Redo]] producing odd log messages if 0 blocks have been changed.&lt;br /&gt;
*&amp;lt;s&amp;gt;Change: Allowed &#039;&amp;amp;&#039; character (ampersand) to be entered in chat, which is now escaped.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===0.616===&lt;br /&gt;
&#039;&#039;10 March 2012 - r1498&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Import]] terminating when importing bans, if a player with the given name is already banned.&lt;br /&gt;
*Fix: Fixed a formatting error in [[/Bring]] and [[/WBring]] confirmation messages.&lt;br /&gt;
*Fix: Fixed mixed-up messages in [[/WAccess]] and [[/WBuild]] when removing players from blacklist/whitelist (thanks ruggedbear and xN8Gx)&lt;br /&gt;
*Fix: Fixed [[/Static]] not turning off after switching worlds (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed [[/Rotate]] printing incorrect copyslot number (thanks Mc_MrCat)&lt;br /&gt;
*Fix: Fixed a ServerGUI crash when pressing the down arrow key after typing in the first console message (thanks Jason)&lt;br /&gt;
*Fix: [[/Me]] messages no longer count towards stats twice (thanks recon_)&lt;br /&gt;
*Fix: [[/Mute]] and [[/Unmute]] now usable with &amp;quot;-&amp;quot; in place of player name (thanks thelonedrummer18)&lt;br /&gt;
*Fix: Fixed README.txt typo (thanks Wolfmade)&lt;br /&gt;
&lt;br /&gt;
===0.615===&lt;br /&gt;
&#039;&#039;2 February 2012 - r1445&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Patrol]] checking Spectate permission, and [[/SpecPatrol]] not checking it.&lt;br /&gt;
*Fix: Fixed [[/WRename]] not updating player&#039;s last-used-world-name (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed colorcodes (%-codes) not getting applied consistently (thanks BobKare)&lt;br /&gt;
*Fix: Fixed a rare name-verification issue that only affected players whose ranks have been imported (thanks Mc_MrCat)&lt;br /&gt;
*Fix: ServerGUI now correctly interprets &amp;quot;Notify&amp;quot; and &amp;quot;Auto&amp;quot; updater settings.&lt;br /&gt;
*Change: Data backups are now stored in ./databackups/ directory.&lt;br /&gt;
&lt;br /&gt;
===0.614===&lt;br /&gt;
&#039;&#039;24 January 2012 - r1426&#039;&#039;&lt;br /&gt;
*Fix: Fixed server crashing if PlayerDB.txt exists but is empty.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Join]] -&amp;quot; using player names, and &amp;quot;[[/TP]] -&amp;quot; using world names.&lt;br /&gt;
*Fix: Solved File.Replace-related errors, which caused occasional save failures.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking caller&#039;s Spectate permission limit when selecting the next target.&lt;br /&gt;
*Fix: Fixed &amp;quot;random&amp;quot; brush producing obvious repeating patterns.&lt;br /&gt;
*Fix: Fixed auto-updater occasionally freezing when attempting to &amp;quot;Restart Now&amp;quot;.&lt;br /&gt;
*Fix: Added permission limit check to [[/Unfreeze]] (thanks Xb0x4d4m)&lt;br /&gt;
*Fix: Improved the way [[/Bring]] and [[/WBring]] enforce access permissions (thanks Hellenion)&lt;br /&gt;
*Change: Added more information about player connects/disconnects to log file.&lt;br /&gt;
&lt;br /&gt;
===0.613===&lt;br /&gt;
&#039;&#039;11 January 2012 - r1401&#039;&#039;&lt;br /&gt;
*Fix: Fixed ConfigGUI not saving changes to ShowConnectionMessages key.&lt;br /&gt;
*Fix: Fixed a case where ConfigGUI could crash while attempting to rename a world.&lt;br /&gt;
*Fix: All spectate permissions are now re-checked when someone gets promoted or demoted.&lt;br /&gt;
*Fix: Fixed ConfigGUI Worlds tab crash when dealing with zoned maps.&lt;br /&gt;
*Fix: Fixed IRC bot not retrying for desired nickname after reconnecting&lt;br /&gt;
*Fix: Fixed a case where editing a world via ConfigGUI would clear security whitelists/blacklists.&lt;br /&gt;
*Fix: Fixed spectating players not being treated as hidden (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed formatting in &amp;quot;Player ___ got auto-kicked&amp;quot; message (thanks BobKare)&lt;br /&gt;
*Fix: Fixed auto-kick revealing hidden players (thanks BobKare)&lt;br /&gt;
*Fix: Fixed RandomBrush-related [[/Undo]] artifacts in [[/Triangle]] (thanks Lunara_Noctis)&lt;br /&gt;
&lt;br /&gt;
===0.612===&lt;br /&gt;
&#039;&#039;14 December 2011 - r1307&#039;&#039;&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] @Rank&amp;quot; not autocompleting rank names.&lt;br /&gt;
*Fix: Fixed compatibility with legacy PlayerDB format versions. PlayerDB files created by fCraft 0.400+ will work again.&lt;br /&gt;
*Fix: Fixed several syntax problems and crashes in /Gen.&lt;br /&gt;
*Fix: Fixed a bug that reset a world&#039;s BackupInterval to default and IsLocked flag to false after changing the map (backport from 0.700).&lt;br /&gt;
*Fix: Fixed a bug that prevented kicks/bans/promotions/demotions from being announced on IRC if no reason was given.&lt;br /&gt;
*Change: Capped all user-entered time spans at 9999 days.&lt;br /&gt;
*Change: Shortened and clarified some confirmation prompts ([[/Gen]], [[/WLoad]], [[/ZRemove]], [[/Import]], [[/MassRank]]).&lt;br /&gt;
&lt;br /&gt;
===0.611===&lt;br /&gt;
&#039;&#039;3 December 2011 - r1282&#039;&#039;&lt;br /&gt;
*Feature: Added information about periodic backups to [[/WInfo]].&lt;br /&gt;
*Fix: Fixed [[/Players]] not working properly if both world name and offset were given.&lt;br /&gt;
*Fix: Fixed [[/WAccess]], [[/WBuild]], and [[/ZEdit]] not working with one-letter rank names.&lt;br /&gt;
*Fix: Fixed [[/BanIP]], /BanAll, /UnbanIP, and /UnbanAll treating fully numeric player names as IPs.&lt;br /&gt;
*Fix: Fixed [[/SetInfo]] not resetting PlayerInfo.LastModified date.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] populated&amp;quot; revealing worlds with hidden players.&lt;br /&gt;
*Fix: Fixed [[/BringAll]] ignoring per-rank limits in some cases (thanks ferny530)&lt;br /&gt;
*Fix: Fixed appearance of black and white blocks in [[/Env]] edges (thanks Jonty)&lt;br /&gt;
*Fix: Fixed a bug in Position.Equals&amp;lt;Position&amp;gt;(), which may have caused unnecessary position updates in Player.UpdateVisibleEntities (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed a little crash in Chat.GetRawMessageType (thanks ruggedbear)&lt;br /&gt;
*Fix: Fixed a case where Player.CanPlace checked permissions against the wrong world&#039;s BuildSecurity controller (thanks Xesdra)&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Commands]] @Rank&amp;quot; showing hidden commands (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed a typo in [[/Worlds]] (thanks Kevinsweijen)&lt;br /&gt;
*Fix: Fixed BlockDBAutoEnable and BlockDBAutoEnableRank config keys being placed in the &amp;quot;General&amp;quot; section.&lt;br /&gt;
*Change: Improved config.xml format (now version 152). Configs created with fCraft 0.611+ will not be usable with older versions of fCraft.&lt;br /&gt;
*Change: Rewrote ServerGUI startup code to make it more responsive (thanks to 800craft for the idea).&lt;br /&gt;
*Change: Added information about command-line options to the README, and fixed some typos.&lt;br /&gt;
*Change: MaxConnectionsPerIP restriction no longer applies to localhost.&lt;br /&gt;
*Change: Increased block-ratio limit for &amp;quot;random&amp;quot;, &amp;quot;cloudy&amp;quot;, and &amp;quot;marbled&amp;quot; brushes from 1000 to 10,000.&lt;br /&gt;
&lt;br /&gt;
===0.610===&lt;br /&gt;
&#039;&#039;18 November 2011 - r1240&#039;&#039;&lt;br /&gt;
*Feature: Added [[/Fill2D]] (/f2d), [[/Triangle]] (/t), and [[/TriangleW]] (/tw) draw commands.&lt;br /&gt;
*Feature: Added ability to filter [[/Worlds]] by rank.&lt;br /&gt;
*Feature: Added [[/Static]] (a way to repeat selection commands).&lt;br /&gt;
*Feature: Added MaxUndoStates config key (how many steps back can [[/Undo]] go), and ConfigGUI bindings.&lt;br /&gt;
*Feature: Added experimental IP-range lookup to [[/Info]] (CIDR notation). Changed /Info pattern-matching single-character symbol from &#039;.&#039; to &#039;?&#039;&lt;br /&gt;
*Feature: Added pagination to [[/Players]].&lt;br /&gt;
*Feature: [[/Spectate]] and [[/SpecPatrol]] now show what commands, PMs, and rank messages the target types in.&lt;br /&gt;
*Feature: Added a way to change server salt without needing a restart, using &amp;lt;code&amp;gt;[[/Reload]] Salt&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: [[/Measure]] now shows statistics about block types in the selection.&lt;br /&gt;
*Feature: [[/Gen]] now has two new templates: &amp;quot;ocean&amp;quot; and &amp;quot;empty&amp;quot;&lt;br /&gt;
*Fix: Many fixes in name-retyping functionality.&lt;br /&gt;
*Fix: Addressed stability issues in LineWrapper and Undo/Redo.&lt;br /&gt;
*Fix: Fixed [[/WLock]] not canceling all draw commands (as intended).&lt;br /&gt;
*Fix: Fixed some outdated descriptions, links, and tooltips in ConfigGUI.&lt;br /&gt;
*Fix: Fixed being able to BanIP/BanAll/UnbanIP/UnbanAll invalid IP addresses (0.0.0.0 and 255.255.255.255).&lt;br /&gt;
*Fix: Fixed [[/Info]] printing a blank page (instead of the last page) if given offset is greater than the total number of matches.&lt;br /&gt;
*Fix: Fixed rank prefixes being appended to players&#039; names if DisplayedName is set.&lt;br /&gt;
*Fix: Fixed a couple rare crashes/hangs in ServerGUI when parsing console commands.&lt;br /&gt;
*Fix: Fixed [[/Ban]] and [[/Unban]] announcing when they&#039;re not supposed to.&lt;br /&gt;
*Fix: Fixed a potential crash in [[/BanInfo]] when looking up an IP address directly (no player name).&lt;br /&gt;
*Fix: Fixed another obscure way of revealing hidden players.&lt;br /&gt;
*Fix: Fixed Beta client kick message (thanks Voziv).&lt;br /&gt;
*Fix: Fixed [[/Commands]] defaulting to printing ALL commands.&lt;br /&gt;
*Fix: Fixed [[/Undo]] trying to re-cancel canceled commands.&lt;br /&gt;
*Fix: Fixed uncaught &amp;quot;Illegal characters in path.&amp;quot; exception when trying to save a [[/Gen]]&#039;erated map to an invalid filename.&lt;br /&gt;
*Fix: Fixed typos in [[/ReplaceNot]] and [[/UndoArea]].&lt;br /&gt;
*Change: Added a warning on startup if name verification is disabled.&lt;br /&gt;
*Change: Tweaks and improvements to [[/Info]], [[/WInfo]], [[/BanInfo]], [[/SetInfo]], and [[/Commands]].&lt;br /&gt;
*Change: Removed code that tries next port if the given one could not be used. Now fCraft either starts on the port specified in config, or dies.&lt;br /&gt;
*Change: Commands now complain about being given too many parameters (in addition to complaining about too few parameters). This should help catch mistyped commands.&lt;br /&gt;
*Change: Added an option to disable giant-tree generation in ConfigGUI&#039;s map generator.&lt;br /&gt;
*Change: Changed log format for bans/kicks to include more information, and fixed log message format for &amp;quot;Player ____ logged in from an IP shared by banned players...&amp;quot;&lt;br /&gt;
*Change: Included config.xml in the automated data backup.&lt;br /&gt;
*Change: ConfigGUI tweaks and improvements.&lt;br /&gt;
*Change: Changes some aliases:&lt;br /&gt;
**Added /Whois and /WhoWas as aliases for [[/Info]].&lt;br /&gt;
**Set &amp;quot;/B&amp;quot; and &amp;quot;/About&amp;quot; to be aliases for [[/BInfo]].&lt;br /&gt;
*Change: Changed some ConfigKey defaults:&lt;br /&gt;
**BlockDBEnabled defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
**WomEnableEnvExtensions defaults to &amp;quot;false&amp;quot;&lt;br /&gt;
**IRCBotAnnounceServerEvents defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
*Change: Discontinued ServerWinService (formerly fCraftWinService) subproject.&lt;br /&gt;
*API: Improved Vector3I, Vector3F, and Position classes a bit.&lt;br /&gt;
*API: New events: DrawOperation.Beginning / Began / Ended&lt;br /&gt;
*API: Changed the way PlayerInfo stores empty string fields. Instead of a 0-length string, it now uses nulls.&lt;br /&gt;
*Optimization: Sped up PlayerDB loading/saving, and boolean ConfigKey lookup.&lt;br /&gt;
&lt;br /&gt;
===0.604===&lt;br /&gt;
&#039;&#039;23 October 2011 - r1155&#039;&#039;&lt;br /&gt;
*Feature: Added support for repeating previously-entered player and world names. Just put a dash (-) in place of the player/world name when using a command, and fCraft will fill in the most-recently-used name.&lt;br /&gt;
*Fix: Fixed an occasional SecurityController-related crash in [[/Gen]], [[/WLoad]], and ConfigGUI world editor.&lt;br /&gt;
*Fix: Fixed an very rare problem in shutdown/restart commands.&lt;br /&gt;
*Fix: Fixed a rare crash that only happened if: MaxPlayers&amp;gt;128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.&lt;br /&gt;
*Fix: Fixed naming of paste/pastenot and pastex/pastenotx&lt;br /&gt;
*Fix: Fixed a permission exploit in /wbring (thanks to panda100123)&lt;br /&gt;
*Fix: Fixed [[/Rules]] section finder accidentally being case-sensitive.&lt;br /&gt;
*Fix: Fixed an issue with MCSharp/MCZall/MCLawl/MCQuai/MCStorm/MCForge/MCWhatever importer.&lt;br /&gt;
*Change: Decreased shading strength in IsoCat renderer.&lt;br /&gt;
*Change: Added /Who as an alias for [[/Players]], by request.&lt;br /&gt;
*Change: Clarified ConfigGUI description of name verification settings.&lt;br /&gt;
*Change: Normalized command name capitalization. Command names must now start with an uppercase letter, for consistency.&lt;br /&gt;
*API: Fixed inconsistencies in PlayerDB.txt header row format declaration.&lt;br /&gt;
&lt;br /&gt;
===0.603===&lt;br /&gt;
&#039;&#039;20 October 2011 - r1142&#039;&#039;&lt;br /&gt;
*Fix: [[/Cancel]] can no longer be repeated with &amp;quot;/&amp;quot; (no longer replaces previously-called command).&lt;br /&gt;
*Fix: Fixed [[/Rotate]] and [[/Mirror]] messing up if a paste command is in progress.&lt;br /&gt;
*Fix: Re-enabled crash interception and reporting.&lt;br /&gt;
&lt;br /&gt;
===0.602===&lt;br /&gt;
&#039;&#039;18 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Feature: One-click paste commands are now the default. Two-click aligned paste commands are now known as [[/PasteX]] (/PX) and [[/PasteNotX]].&lt;br /&gt;
*Feature: Added [[/ReplaceBrush]] (/RB) command (shortcut for &amp;lt;code&amp;gt;[[/Brush]] ReplaceBrush&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;[[/Cuboid]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: Added a way to change number of copy/paste slots per rank from ConfigGUI.&lt;br /&gt;
*Fix: Fixed a few typos and missing help entries.&lt;br /&gt;
*Fix: Fixed DrawOp completion message and log entry.&lt;br /&gt;
*Fix: Fixed [[/Paste]] and [[/PasteNot]] not properly clipping against world boundaries.&lt;br /&gt;
*Fix: Fixed ConfigGUI not preserving environment settings for worlds.&lt;br /&gt;
*Fix: Fixed ConfigGUI losing some worlds and showing some errors when importing from 0.5xx.&lt;br /&gt;
*Fix: Fixed [[/Bring]] not being usable from console.&lt;br /&gt;
*Fix: Fixed [[/WRename]] crashing if invalid characters (from filesystem&#039;s point of view) are present in the new name.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking for Spectate permission.&lt;br /&gt;
*Fix: Fixed [[/UndoArea]]&#039;d and [[/UndoPlayer]]&#039;ed blocks having &amp;quot;Restored&amp;quot; flag set in /bi&lt;br /&gt;
*Fix: Fixed a detached checkbox on &amp;quot;Worlds&amp;quot; tab of ConfigGUI.&lt;br /&gt;
*Fix: Fixed [[/Say]], [[/Staff]], and [[/Me]] getting logged twice.&lt;br /&gt;
*Fix: Fixed per-world backup settings being cleared on server restart.&lt;br /&gt;
*Fix: Fixed a rare NullReferenceException in WorldManager.LoadWorldList that occurred if the main world was missing, and the fallback world had access restrictions.&lt;br /&gt;
*Fix: Fixed some issues with BlockDB settings in &amp;quot;Add World&amp;quot; and &amp;quot;Edit World&amp;quot; popups of ConfiGUI.&lt;br /&gt;
*Fix: Fixed a rare ConfigGUI crash when resetting the rank tab whole one of the old ranks is selected.&lt;br /&gt;
*Change: Sped up [[/EllipsoidH]] and [[/SphereH]] slightly (thanks to Redshift).&lt;br /&gt;
*Change: Improved error handling in [[/Env]] when setting level.&lt;br /&gt;
*Change: Double-buffered the preview on &amp;quot;Chat&amp;quot; tab of ConfigGUI, to get rid of flicker.&lt;br /&gt;
*Change: Clarified auto-freeze message when trying to kick/ban someone without a required reason string.&lt;br /&gt;
&lt;br /&gt;
===0.601===&lt;br /&gt;
&#039;&#039;15 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Fixed several issues with [[/Undo]] and drawing commands.&lt;br /&gt;
&lt;br /&gt;
===0.600===&lt;br /&gt;
&#039;&#039;14 October 2011 - r1107&#039;&#039;&lt;br /&gt;
:&#039;&#039;See [http://www.fcraft.net/0.600/ http://www.fCraft.net/0.600] for a summary of changes, and upgrade notes.&#039;&#039;&lt;br /&gt;
*Chat: Added a {{cmd|Timer}} command for creating publicly-announced countdowns/timers.&lt;br /&gt;
*Chat: Added a way to cancel partial messages: &amp;lt;code&amp;gt;/Nvm&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Chat: Removed &amp;quot;Banned player ___ tried to log in&amp;quot; and &amp;quot;Player ___ tried to log in from a banned IP&amp;quot; messages.&lt;br /&gt;
*Chat: {{cmd|Say}}, {{cmd|Staff}}, and {{cmd|Me}} commands can no longer repeated using &amp;quot;/&amp;quot; shortcut.&lt;br /&gt;
*Chat: Added a warning when trying to PM deafened players.&lt;br /&gt;
*Chat: Added a shortcut for chatting to same rank: &amp;quot;@@ Message&amp;quot;&lt;br /&gt;
*Chat: Increased the number of blank lines sent by {{cmd|Clear}} to 30, to accommodate players with smaller-than-normal font sizes.&lt;br /&gt;
*Chat Fix: Fixed {{cmd|Say}}, {{cmd|Roll}}, {{cmd|Staff}}, and {{cmd|Me}} sometimes bypassing {{perm|Chat}} permission, mute check, or spam detection check.&lt;br /&gt;
*Chat Fix: Fixed rank chat being logged twice.&lt;br /&gt;
*Chat Fix: Fixed some system messages getting through to deafened players.&lt;br /&gt;
*Chat Fix: {{cmd|Deafen}} now clears the screen when toggled on.&lt;br /&gt;
*Commands: Rank and zone names now autocomplete.&lt;br /&gt;
*Commands: Players can no longer freeze, mute, kick, ban, unban, promote, or demote themselves.&lt;br /&gt;
*Commands: {{cmd|Players}} can now be called with an optional WorldName parameter, to only list players in a particular world.&lt;br /&gt;
*Commands: {{cmd|WLoad}} now takes two more optional parameters: build rank and access rank names.&lt;br /&gt;
*Commands: {{cmd|Info}} now shows last leave reason, idle time, freeze/mute information, and ban exemption status.&lt;br /&gt;
*Commands: Augmented {{cmd|Rules}} to support several rule categories.&lt;br /&gt;
*Commands: Added {{cmd|Spectate}} and {{cmd|SpecPatrol}} (&amp;lt;code&amp;gt;/SPat&amp;lt;/code&amp;gt;) commands.&lt;br /&gt;
*Commands: Added {{cmd|WBring}} (brings target player to a world);&lt;br /&gt;
*Commands: Added {{cmd|Spawn}} command (brings you to spawn). Typing &amp;quot;{{cmd|TP}}&amp;quot; no longer does the same thing, and {{cmd|TP}} now always requires {{perm|Teleport}} permission.&lt;br /&gt;
*Commands: Algorithm that {{cmd|Patrol}} uses to pick the next target was improved.&lt;br /&gt;
*Commands: Renamed Lock/Unlock commands to {{cmd|WLock}}/{{cmd|WUnlock}}, for consistency.&lt;br /&gt;
*Commands: Merged &amp;lt;code&amp;gt;/ReloadConfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/AutoRankReload&amp;lt;/code&amp;gt; into {{cmd|Reload}} command. Merged &amp;lt;code&amp;gt;/ImportRanks&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/ImportBans&amp;lt;/code&amp;gt; into {{cmd|Import}} command. Combined functionality of &amp;lt;code&amp;gt;/LockAll&amp;lt;/code&amp;gt; into {{cmd|WLock}}, and functionality of &amp;lt;code&amp;gt;/UnlockAll&amp;lt;/code&amp;gt; into {{cmd|WUnlock}}.&lt;br /&gt;
*Commands: {{cmd|Info}} and {{cmd|Worlds}} now support pagination.&lt;br /&gt;
*Commands: When world access permissions are changed with {{cmd|WAccess}}, players who lost ability to join the world will automatically be moved to main.&lt;br /&gt;
*Commands: Frozen player can no longer call most commands, with exception of: {{cmd|Clear}}, {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|RankInfo}}, {{cmd|ServerInfo}}, {{cmd|Ranks}}, {{cmd|Rules}}, {{cmd|Where}}, {{cmd|Help}}, {{cmd|Commands}}, {{cmd|Colors}}, {{cmd|Worlds}}, {{cmd|Zones}}, and {{cmd|ZInfo}}.&lt;br /&gt;
*Commands: {{cmd|Bring}} and {{cmd|WBring}} now give the option of overriding worlds&#039; access minimum-rank. Explicitly blacklisted players will continue to be barred.&lt;br /&gt;
*Commands: Added {{cmd|InfoSwap}} command, for swapping two players&#039; ranks and PlayerDB records.&lt;br /&gt;
*Commands: Added a way to abort a server shutdown or restart (&amp;quot;{{cmd|Shutdown|abort}}&amp;quot; or &amp;quot;{{cmd|Restart|abort}}&amp;quot;).&lt;br /&gt;
*Commands: {{cmd|RankInfo}} now shows copy/paste slots, idle kick time, and permission limits.&lt;br /&gt;
*Commands: Most time-related commands now take the [[Time formatting|compact format]] (e.g. 1m30s, 45s, 24h, etc).&lt;br /&gt;
*Commands: Color-coded {{cmd|Commands}}.&lt;br /&gt;
*Commands: Limited {{cmd|Mute}} duration to range between 1 second and 700 days (100 weeks).&lt;br /&gt;
*Commands: {{cmd|SetInfo}} now allows changing players&#039; DisplayedName.&lt;br /&gt;
*Commands: A warning is now shown when a player is kicked/banned, and other players are still connected from the IP.&lt;br /&gt;
*Commands: Added a way to add IP ban exemptions using {{cmd|BanEx}} (banning all players from IP except a particular one).&lt;br /&gt;
*Commands: Added automatic countdowns to {{cmd|Shutdown}} and {{cmd|Restart}}.&lt;br /&gt;
*Commands: Added more stats to {{cmd|ServerInfo}}.&lt;br /&gt;
*Commands: {{cmd|MassRank}} now defaults to silent, and takes a &amp;quot;reason&amp;quot; parameter.&lt;br /&gt;
*Commands: Added &amp;quot;/St&amp;quot; as an alias for {{cmd|Staff}}. Changed &amp;quot;/L&amp;quot; from being alias for {{cmd|Join}}, to being alias for {{cmd|Lava}}. Removed &amp;quot;/Cub&amp;quot; alias for {{cmd|Cuboid}}.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|UnbanIP}} and {{cmd|UnbanAll}} not announcing the unban reason.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Info}} not formatting names of offline players.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Restart}} breaking under Mono if working path contains spaces.&lt;br /&gt;
*Commands Fix: Fixed freeze/unfreeze printing wrong ranks in &amp;quot;You can only freeze players ranked ____ or lower&amp;quot; messages.&lt;br /&gt;
*Commands Fix: Fixed a rare crash in {{cmd|Rules}} when used from console.&lt;br /&gt;
*Commands Fix: {{cmd|BanIP}} and {{cmd|BanAll}} no longer allow to ban the IP if it&#039;s shared by any players whom caller is not allowed to ban.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Ignore}} and {{cmd|Unignore}} printing all matches at once on autocompletion.&lt;br /&gt;
*Commands Fix: Fixed a case where {{cmd|BringAll}} could reveal hidden players.&lt;br /&gt;
*Commands Fix: Fixed a few bugs in {{cmd|DumpStats}}, expanded player listing to top-5/bottom-5, and added &amp;quot;BlocksDrawn&amp;quot; stat.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Rank}} and {{cmd|TP}} commands showing up in {{cmd|Commands}} for ALL players.&lt;br /&gt;
*Commands Fix: Fixed a couple rare bugs in {{cmd|Roll}}.&lt;br /&gt;
*Commands Fix: Fixed broken {{cmd|BringAll}} support for bringing multiple ranks at once.&lt;br /&gt;
*Commands Fix: Fixed several obscure ways of revealing presence of hidden players via commands like {{cmd|ServerInfo}} and {{cmd|Worlds}}.&lt;br /&gt;
*Config: New config keys: BackupDataOnStartup (default: true), RestartInterval (default: 0), HeartbeatToWoMDirect (default: true), BlockDBEnabled (default: true), BlockDBAutoEnable (default: true), and BlockDBAutoEnableRank (default: DefaultRank), WoMEnableEnvExtensions (default: false).&lt;br /&gt;
*Config: Added {{perm|Spectate}} permission that covers {{cmd|Spectate}} and {{cmd|SpecPatrol}}.&lt;br /&gt;
*Config: Added {{perm|DrawAdvanced}} permission that covers {{cmd|Brush}}, {{cmd|Sphere, {{cmd|SphereH}}, {{cmd|Torus}}, and {{cmd|Restore}} commands.&lt;br /&gt;
*Config: Added {{perm|ManageBlockDB}} permission that covers {{cmd|BlockDB}}.&lt;br /&gt;
*Config: Added {{perm|UndoOthersActions}} permission that covers {{cmd|UndoPlayer}} and {{cmd|UndoArea}}.&lt;br /&gt;
*Config: {{cmd|Reload}} can now update more config keys without needing a restart: AutoRankEnabled, BandwidthUseMode, ConsoleName, DefaultRank, DefaultBuildRank, PatrolledRank.&lt;br /&gt;
*Config: Removed obsolete ShowBannedConnectionMessages config key.&lt;br /&gt;
*Config Fix: Fixed DefaultRank/DefaultBuildRank/PatrolledRank settings not being applied.&lt;br /&gt;
*ConfigGUI: Added BlockDB settings to &amp;quot;Worlds&amp;quot; tab and &amp;quot;Add/Edit World&amp;quot; dialog.&lt;br /&gt;
*ConfigGUI: Reorganized Rank tab.&lt;br /&gt;
*ConfigGUI: Relaxed restrictions on rank prefixes.&lt;br /&gt;
*ConfigGUI: Added &amp;quot;Insert Color&amp;quot; and &amp;quot;Insert Keyword&amp;quot; buttons to announce/rule/greeting editors in ConfigGUI, and a &amp;quot;Reset&amp;quot; button to revert edits.&lt;br /&gt;
*ConfigGUI: Any errors/warnings that are produced while loading &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt; in ConfigGUI are now displayed at startup.&lt;br /&gt;
*ConfigGUI Fix: ConfigGUI no longer loses worlds&#039; whitelists/blacklists.&lt;br /&gt;
*ConfigGUI Fix: Fixed several bugs related to renaming worlds.&lt;br /&gt;
*ConfigGUI Fix: Fixed several &amp;quot;Reset&amp;quot; bugs.&lt;br /&gt;
*ConfigGUI Fix: Fixed &amp;quot;Enable colors in IRC&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*ConfigGUI Fix: Fixed ConfigTool&#039;s Chat tab not updating to reflect changes in rank colors/prefixes.&lt;br /&gt;
*ConfigGUI Fix: Fixed sort order in Worlds tab when sorting by world size.&lt;br /&gt;
*ConfigGUI Fix: Fixed some rank dropdown menus in ConfigGUI showing &amp;quot;(lowest rank)&amp;quot; instead of &amp;quot;(default rank)&amp;quot; as the default option.&lt;br /&gt;
*Drawing: Introduced a brush/pattern system for draw commands. Rewrote (almost) all existing draw commands to take advantage of that new infrastructure. Brushes are: Normal (default), Checkered, Random, Cloudy, Marbled, Replace, ReplaceNot, ReplaceBrush.&lt;br /&gt;
*Drawing: Added a way to {{cmd|Undo}} up to five commands back. Use {{cmd|Redo to reverse it.&lt;br /&gt;
*Drawing: Added {{cmd|Torus}} drawing command, written and contributed by M1_Abrams.&lt;br /&gt;
*Drawing: Added support for multiple copy/paste slots, using {{cmd|CopySlot}}. Number of slots of configurable per-rank.&lt;br /&gt;
*Drawing: {{cmd|Replace}} and {{cmd|ReplaceNot}} can now take just one blocktype. The replacement type is inferred from the type of block player is holding when clicking.&lt;br /&gt;
*Drawing: {{cmd|Undo}} now cancels the last drawing commands.&lt;br /&gt;
*Drawing: Added a new [[Blocks|block name aliases]]: &amp;quot;g&amp;quot; for grass, &amp;quot;w&amp;quot; for water, &amp;quot;a&amp;quot; for air.&lt;br /&gt;
*Drawing Fix: Added a missing volume check to {{cmd|Line}}, and fixed {{cmd|CuboidW}} volume calculations.&lt;br /&gt;
*Drawing Fix: Fixed {{cmd|Copy}} and {{cmd|Cut}} reporting incorrect orientation.&lt;br /&gt;
*FrontEnd: Colored ConfigCLI log messages: red for errors, yellow for warnings, dark gray for debug, default (gray) for everything else. Call with &amp;quot;--noconsolecolor&amp;quot; parameter to disable.&lt;br /&gt;
*FrontEnd: ServerCLI now handles all updater modes properly, and downloads updater/restarts if needed.&lt;br /&gt;
*FrontEnd: Improved window titles.&lt;br /&gt;
*FrontEnd Fix: Fixed ServerCLI writing errors to stdout instead of stderr.&lt;br /&gt;
*Misc: Players who log out hidden will now log in silently, still hidden.&lt;br /&gt;
*Misc: More [[Constants|keywords]] are now usable in announcements, rules, and greeting files: {SERVER_NAME}, {MOTD}, {RANK}, {PLAYER_NAME}, {TIME}, {WORLD}, {PLAYERS}, and {WORLDS}&lt;br /&gt;
*Misc: Kicked or disconnected players no longer have their TotalTime increased for the time idled.&lt;br /&gt;
*Misc: fCraft will refuse to start up if running old versions of mono (2.4 or earlier).&lt;br /&gt;
*Misc: Crash reporter now prints a reference number for submitted reports.&lt;br /&gt;
*Misc: AutoRank now only evaluates online players on a timer. A full database sweep will only be done on startup or on-demand. This should notably reduce average CPU use on large databases.&lt;br /&gt;
*Misc: Added AutoRank pseudoplayer (similar to Console), who is now credited with all autorank promotions/demotions.&lt;br /&gt;
*Misc: Increased the allowed clicking distance when manually clicking blocks, to account for lag.&lt;br /&gt;
*Misc: IRC bot now announces channel kicks and nick changes.&lt;br /&gt;
*Misc: When a player with a reserved slot tries to join a full world, the longest-idle player will be kicked to make room.&lt;br /&gt;
*Misc: Frozen, demoted, and banned players are now automatically unhidden. Frozen players are undeafened. Banned players are also automatically unfrozen and unmuted.&lt;br /&gt;
*Misc: When a player&#039;s rank is changed, their bindings are now reset (to avoid issues with {{cmd|Water}}, {{cmd|Lava}}, and {{cmd|Solid}}), and any in-progress selection is canceled ([[:Category:Requires Draw|draw]] commands, {{cmd|Zone}}, {{cmd|ZTest}}, {{cmd|BInfo}}, {{cmd|Measure}}, etc)&lt;br /&gt;
*Misc: Frozen players now have a little blue star appended to their names, similar to the red star for banned players.&lt;br /&gt;
*Misc: Moved all heartbeat-related operations to the background thread (fixes lag spikes when minecraft.net times out).&lt;br /&gt;
*Misc: Added a dynamically updated compass at the top-right of the screen, visible to players who use WoM 1.8.8+&lt;br /&gt;
*Misc: Added a check for libMonoPosix on server startup. This allows catching misconfigured Mono setups early.&lt;br /&gt;
*Misc: Ranks now default to &amp;quot;white&amp;quot; color (&amp;quot;&amp;amp;f&amp;quot;) instead of &amp;quot;none&amp;quot; color (&amp;quot;&amp;quot;).&lt;br /&gt;
*Misc: Edited the &amp;quot;failed to load main world&amp;quot; message to sound less menacing, since it&#039;s usually caused just by main world filling up.&lt;br /&gt;
*Misc: Sped up {{cmd|PruneDB}}, {{cmd|MassRank}}, map generation. Reduced memory use of draw commands, undo buffers, and ConfigGUI.&lt;br /&gt;
*Misc Fix: Fixed &amp;quot;duplicate metadata key&amp;quot; warning in FCMv3 maps.&lt;br /&gt;
*Misc Fix: Fixed a zone-related race condition when exporting to Opticraft map format.&lt;br /&gt;
*Misc Fix: Fixed fCraft being unable to start if fCraft.dll is in the root directory of a drive (e.g. in &amp;quot;C:/&amp;quot;)&lt;br /&gt;
*Misc Fix: Fixed a bug that caused bandwidth to sometimes be wasted on needlessly updating position of non-moving players.&lt;br /&gt;
*Misc Fix: Fixed a clock drift problem in periodic SchedulerTasks.&lt;br /&gt;
*Misc Fix: Fixed a case where, in some rank configurations, players would see themselves as offline when hidden (in {{cmd|Info}}, {{cmd|BInfo}}, {{cmd|Players}}, etc).&lt;br /&gt;
*PlayerDB: Added 46th column: PlayerInfo.IsHidden (&#039;h&#039; if hidden, otherwise blank).&lt;br /&gt;
*PlayerDB: Added 47th column: PlayerInfo.LastModified (UTC unix timestamp). Accuracy is not yet guaranteed.&lt;br /&gt;
*PlayerDB: Added 48th column: PlayerInfo.DisplayedName (string or blank). Overrides &amp;quot;Name&amp;quot; field for purposes of displaying formatted name (ClassyName).&lt;br /&gt;
*PlayerDB: Removed 14th column (FailedLoginCount) due to disuse.&lt;br /&gt;
*PlayerDB: PlayerDB now writes out changes to TotalTime incrementally for online players, instead of applying the change on-logout.&lt;br /&gt;
*Worlds: Added a way to change some environment and texture settings per-map, using {{cmd|Env}}.&lt;br /&gt;
*Worlds: Per-world settings on backup intervals now work.&lt;br /&gt;
*Worlds: Added BlockDB - a system for tracking edits per-block. Added related {{cmd|BlockDB}} and {{cmd|BInfo}} commands.&lt;br /&gt;
*Worlds: Added {{cmd|UndoPlayer}} and {{cmd|UndoArea}} commands for undoing players&#039; actions using BlockDB.&lt;br /&gt;
*Worlds: If a world has a missing map file, a warning is now shown, and a default flatgrass map is created.&lt;br /&gt;
*Worlds: Added a way to set per-rank main world, using {{cmd|WMain}}.&lt;br /&gt;
*Worlds: Added {{cmd|Restore}} command, inspired by good old MinerCPP. Selectively loads a map from another file or backup.&lt;br /&gt;
*Worlds: Allowed non-standard dimensions (neither multiples of 16, nor powers of 2). Added a warning about glitches when using nonstandard dimensions.&lt;br /&gt;
*Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to {{cmd|WInfo}} and to &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worlds: MapGenerator tweaks: &amp;quot;default&amp;quot; template is now known as &amp;quot;random,&amp;quot; &amp;quot;mountains&amp;quot; template now has more cliffs and snow on mountaintops, &amp;quot;island&amp;quot; template is less rough and has nice beaches, and water is now automatically removed from &amp;quot;desert&amp;quot; maps.&lt;br /&gt;
*Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.&lt;br /&gt;
*Worlds Fix: Fixed an exploit that allowed players to bypass world access permissions in certain rank configurations.&lt;br /&gt;
*Worlds Fix: Fixed some rare crashes in {{cmd|WLoad}}.&lt;br /&gt;
*Worlds Fix: Fixed {{cmd|WAccess}} and {{cmd|WBuild}} occasionally not saving the world list after adding players to the access/build whitelists.&lt;br /&gt;
*Worlds Fix: Fixed being unable to change just the capitalization when renaming worlds from ConfigGUI, under Windows.&lt;br /&gt;
*Zones: Added {{cmd|ZRename}} command to rename zones.&lt;br /&gt;
*Zones: Added {{cmd|ZMark}} command to use zone boundaries for drawing or making selections.&lt;br /&gt;
*Zones Fix: Fixed {{cmd|ZAdd}} crash when adding more than one personal zone for the same player ({{cmd|ZAdd|+Name}}).&lt;br /&gt;
*Zones Fix: Fixed a rare case where two players could simultaneously create a zone with the same name on the same world, which would crash one of the players.&lt;br /&gt;
*Zones Fix: {{cmd|Zones}} no longer crashes if used on a world with a missing or corrupt map file.&lt;br /&gt;
*Zones Fix: Tightened security checks of {{cmd|ZAdd}} and {{cmd|ZRemove}} to prevent a permission exploit.&lt;br /&gt;
*API: Added specialized MetadataCollection class to manage per-map and per-player metadata, and ZoneCollection for zones.&lt;br /&gt;
*API: Added ReSharper-compatible annotations and more argument checks throughout the codebase.&lt;br /&gt;
*API: fCraft now consistently uses [X,Y,Z] for coordinates (where X/Y are horizontal, and Z is vertical), and [Width,Length,Height] for dimensions (Width/Length horizontal, Height vertical).&lt;br /&gt;
*API: Merged Session and Player classes. All session-related functionality is in Player.Networking.cs file.&lt;br /&gt;
*API: New line-wrapping algorithm provides better performance and safety. Now using &amp;quot;\n&amp;quot; instead of &amp;quot;&amp;amp;N&amp;quot; to force a newline.&lt;br /&gt;
*API: Renamed World.PlayerList to World.Players, Server.PlayerList to Server.Players, and added PlayerDB.PlayerInfoList&lt;br /&gt;
*API: New LINQ-style API for working with sets of players. This API is now used for all messaging and packet-sending. Old API (Server.Send* and World.Send*) was removed.&lt;br /&gt;
*API: New unified API for handling player-generated chat (Chat static class), and new events (Chat.Sending and Chat.Sent).&lt;br /&gt;
*API: All cancellable events now implement ICancellableEvent.&lt;br /&gt;
*API: MapDAT and MapNBT now implement IMapConverter.LoadHeader.&lt;br /&gt;
*API: Converted IClassy.GetClassyName(), Rank.GetFullName(), and Player.GetListName() to properties.&lt;br /&gt;
*API: Renamed ConfigKey.GetBool() to ConfigKey.Enabled(). Added ConfigKey.TryGetInt() and ConfigKey.TryGetBool() methods.&lt;br /&gt;
*API: CommandManager.RegisterCommand() now checks for reserved command names (currently &amp;quot;ok&amp;quot; and &amp;quot;nvm&amp;quot;), and does a better job at handling command name capitalization differences.&lt;br /&gt;
*API: Added ability to override Player.MaxBlockPlacementRange, Player.SocketTimeout, Heartbeat.Delay, and Heartbeat.Timeout.&lt;br /&gt;
*API: Renamed RankManager.ParseRank(string) to Rank.Parse(string)&lt;br /&gt;
*API: All draw/undo/copy/paste commands have been moved to fCraft.Drawing namespace.&lt;br /&gt;
*API: Added support for multiple {{cmd|Help}} sections per command.&lt;br /&gt;
*API: Added CommandCategory.Debug, removed CommandDescriptor.HelpHander and HelpHandler delegate.&lt;br /&gt;
*API: Moved Server.Player* events to Player.* and Server.PlayerInfo* to PlayerInfo.*&lt;br /&gt;
*API: Expanded the confirmation system (&amp;lt;code&amp;gt;/OK&amp;lt;/code&amp;gt;) to allow custom callbacks, decoupled from the command system.&lt;br /&gt;
*API Fix: &amp;quot;Bad heartbeat&amp;quot; reply from minecraft.net no longer triggers UrlChanged event.&lt;br /&gt;
*API Fix: Fixed a couple bugs in BoundingBox.GetIntersection and BoundingBox.Contains.&lt;br /&gt;
*API Fix: Fixed {{cmd|Replace}} and {{cmd|ReplaceNot}} not firing Player.PlacedBlock&lt;br /&gt;
*events.&lt;br /&gt;
*API Fix: Uncaught exceptions that occur while parsing player messages no longer send crash reports when in DEBUG configuration.&lt;br /&gt;
&lt;br /&gt;
=0.5xx=&lt;br /&gt;
&lt;br /&gt;
===0.537===&lt;br /&gt;
&#039;&#039;14 September 2011 - r991&#039;&#039;&lt;br /&gt;
*Fixed another heartbeat-related issue caused by minecraft.net updates.&lt;br /&gt;
&lt;br /&gt;
===0.536===&lt;br /&gt;
&#039;&#039;14 September 2011 - r988&#039;&#039;&lt;br /&gt;
*Fix: Fixed a rare crash in DoChangeRank when promoting/demoting offline players.&lt;br /&gt;
*Fix: Fixed a case where world access/build whitelist additions were not immediately saved.&lt;br /&gt;
*Fix: Fixed several errors in the way time spans were displayed.&lt;br /&gt;
*Fix: Unhandled exceptions in background task callbacks will no longer take down the server&lt;br /&gt;
*Change: Changed the heartbeat handler to use GET instead of POST (workaround for minecraft.net problems).&lt;br /&gt;
*Change: Removed AutoLauncher.&lt;br /&gt;
&lt;br /&gt;
===0.535===&lt;br /&gt;
&#039;&#039;1 July 2011 - r702&#039;&#039;&lt;br /&gt;
*Workaround for minecraft.net heartbeat changes.&lt;br /&gt;
&lt;br /&gt;
===0.534===&lt;br /&gt;
&#039;&#039;18 June 2011 - r668&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;lt;RestartInterval&amp;gt; config key (in seconds). It should help people who are suffering from Mono memory leaks. This setting can only currently be modified by editing config.xml&lt;br /&gt;
*Fix: Fixed /wload and /gen resetting the world&#039;s hidden status.&lt;br /&gt;
*Fix: Fixed &amp;quot;Apply&amp;quot; button not getting enabled in ConfigTool when world list is changed.&lt;br /&gt;
*Fix: Fixed /cw reporting incorrect volume (fixes #3308137).&lt;br /&gt;
*Fix: Added a confirmation when /wrename will result in overwriting a map file, and fixed a related crash (fixes #3311994).&lt;br /&gt;
*Fix: Fixed FormatException in error handling code in World.AcceptPlayer&lt;br /&gt;
*Fix: Fixed /info not showing formatted names for players who appear offline.&lt;br /&gt;
*Fix: Fixed several issues with renaming worlds from ConfigTool.&lt;br /&gt;
*Fix: Fixed /restart breaking under Mono if path contains spaces.&lt;br /&gt;
*Fix: Fixed /staff, /me, and /roll commands not requiring the Chat permission.&lt;br /&gt;
*Fix: Fixed &amp;quot;Use IRC colors&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*Change: Allowed all printable ASCII characters in chat except &#039;&amp;amp;&#039;.&lt;br /&gt;
*Change: Heartbeat tweaks to prevent &amp;quot;Bad heartbeat&amp;quot; from popping up.&lt;br /&gt;
*Optimization: ConfigTool starts up faster, and uses much less memory.&lt;br /&gt;
&lt;br /&gt;
===0.533===&lt;br /&gt;
&#039;&#039;24 May 2011 - r614&#039;&#039;&lt;br /&gt;
*Fix: Fixed a regression in 0.530 that erased some strings in PlayerInfo and IPBanInfo objects, such as ban reasons.&lt;br /&gt;
*Change: Increased heartbeat interval to 27.5 seconds.&lt;br /&gt;
*Change: Reduced jitter of player movement.&lt;br /&gt;
&lt;br /&gt;
===0.532===&lt;br /&gt;
&#039;&#039;23 May 2011 - r611&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;quot;/worlds loaded&amp;quot; command.&lt;br /&gt;
*Fix: Fixed a bug that prevented worlds from accepting any block changes after a map change (/wload or /gen)&lt;br /&gt;
*Fix: Fixed &amp;quot;Player _____ joined main.&amp;quot; displaying twice when players connect.&lt;br /&gt;
*Change: Added /colours as an alias to /colors&lt;br /&gt;
*Change: Adjusted /dumpstats security checks, and made it require EditPlayerDB permission (instead of Import).&lt;br /&gt;
&lt;br /&gt;
===0.531===&lt;br /&gt;
&#039;&#039;20 May 2011 - r603&#039;&#039;&lt;br /&gt;
*Feature: /SInfo now shows bandwidth use, fCraft version, and .NET/Mono version.&lt;br /&gt;
*Feature: Added ability to use coordinates with mark (e.g. &amp;quot;/Mark 0 0 0&amp;quot;).&lt;br /&gt;
*Fix: Fixed non-default rank settings not saving properly from ConfigTool.&lt;br /&gt;
*Fix: Fixed a serialization bug in IPBanList that happened if a ban reason was not given, or if an IP address was not associated with any player.&lt;br /&gt;
*Fix: Fixed a few minor bugs in /WMain.&lt;br /&gt;
*Change: Allowed the caret (^) in chat messages.&lt;br /&gt;
*Change: Reduced movement lag.&lt;br /&gt;
*Change: /version command has been removed due to redundancy with /sinfo.&lt;br /&gt;
*Change: Detailed reasons of player disconnects are now logged better.&lt;br /&gt;
*Change: Increased Minecraft.net heartbeat interval slightly.&lt;br /&gt;
*API: Added new events: Scheduler.TaskAdded, Scheduler.TaskExecuting, Scheduler.TaskExecuted, and Scheduler.TaskRemoved. These events are only available when fCraft.dll is built with DEBUG_SCHEDULER flag because of their performance impact.&lt;br /&gt;
*Optimization: Removed the scheduler overhead from having unloaded worlds.&lt;br /&gt;
*Optimization: Sped up MapGenerator by about 10%.&lt;br /&gt;
&lt;br /&gt;
===0.530===&lt;br /&gt;
&#039;&#039;7 May 2011 - r583&#039;&#039;&lt;br /&gt;
*Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.&lt;br /&gt;
*Feature: Added OptiCraft blocktype names and blocks&#039; numeric IDs as aliases.&lt;br /&gt;
*Fix: Fixed block bindings not being applied to drawing commands.&lt;br /&gt;
*Fix: Fixed fCraft getting confused if worlds.xml contains duplicates.&lt;br /&gt;
*Fix: Fixed &amp;quot;/&amp;quot; (repeat last command) not rewinding the command, which caused some issues with command arguments.&lt;br /&gt;
*Fix: Fixed &amp;quot;Max connections per IP&amp;quot; setting not saving in ConfigTool.&lt;br /&gt;
*Fix: Fixed AnnounceRankChangeReasons checkbox being erroneously tied to RequireRankChangeReasons key in ConfigTool.&lt;br /&gt;
*Fix: Added some missing tooltips to ConfigTool.&lt;br /&gt;
*Fix: Marked 10.0.0.0/8 IP range as LAN.&lt;br /&gt;
*Fix: Fixed an issue with balanced name verification (thanks wootalyzer).&lt;br /&gt;
*Fix: Fixed server announcing hidden players&#039; departure (#3292633). Thanks to Hellenion.&lt;br /&gt;
*Fix: Fixed /bring not checking per-rank permissions (#3292303). Thanks to Denny&lt;br /&gt;
*Fix: Fixed some header bugs in the D3 map converter.&lt;br /&gt;
*Fix: Fixed /wload crashing instead of printing an error message under Mono if the path was malformed.&lt;br /&gt;
*Fix: Fixed /banip not recognizing invalid IPs (e.g. broadcast).&lt;br /&gt;
*Fix: Fixed antispam resetting players&#039; mute time.&lt;br /&gt;
*Fix: Fixed Scheduler being able to add tasks after the shutdown process started.&lt;br /&gt;
*Fix: Reduced problems associated with players trying to connect while the server is shutting down.&lt;br /&gt;
*Fix: Added autorank.xml to the list of protected files.&lt;br /&gt;
*Fix: Fixed a crash in backup system that happened if two backups ran simultaneously and the total size or number of backup files was limited.&lt;br /&gt;
*Fix: Fixed a case where duplicate worlds could be created.&lt;br /&gt;
*Change: When players rejoin a world (e.g. /wflush or /wload), &amp;quot;joined world&amp;quot; message is no longer shown.&lt;br /&gt;
*Change: /mute no longer allows shortening players&#039; mute time, only to extend it.&lt;br /&gt;
*Change: Allowed player names with periods.&lt;br /&gt;
*Change: Removed SaveOnShutdown config key, tweaked range checks on some keys, grouped key tags into section tags.&lt;br /&gt;
*Change: When saving config.xml, keys with default values are now commented out.&lt;br /&gt;
*API: New events! PlayerHideChanged, PlayerInfoCreating, PlayerInfoCreated, PlayerInfoRankChanging, and PlayerInfoRankChanged.&lt;br /&gt;
*API: Server.StartServer() now throws specific exceptions on failure, instead of returning false.&lt;br /&gt;
*API: Removed some obsolete Server events.&lt;br /&gt;
*API: Switched to 100% Utc dates/times internally. PlayerDB now uses UTC Unix timestamps to serialize all dates/times.&lt;br /&gt;
*Optimization: Sped up map generation.&lt;br /&gt;
*Optimization: Reduced PlayerDB saving interval, reduced PlayerDB filesize, reduced CPU and memory use of PlayerDB saving, reduced memory footprint of loaded PlayerDB, improved IPAddress lookup performance in PlayerDB.&lt;br /&gt;
&lt;br /&gt;
===0.522===&lt;br /&gt;
&#039;&#039;16 April 2011 - r546&#039;&#039;&lt;br /&gt;
*Feature: Added more functionality to hollow ellipsoid and sphere, thanks to Redshift. Now it is possible to define outer/inner blocktypes.&lt;br /&gt;
*Feature: Added OptiCraft map format support, courtesy of LgZ-optical&lt;br /&gt;
*Fix: Fixed a serious error that caused a crash when main world became full. This bug affected 0.520 and 0.521.&lt;br /&gt;
*Fix: Fixed AutoLauncher not working under Mono (thanks to ven000m for spotting).&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog crashing if closed while generating a world.&lt;br /&gt;
*Fix: Fixed /restart using ShutdownReason.ShuttingDown (instead of ShutdownReason.Restarting) &lt;br /&gt;
*Fix: Fixed a crash in ConfigTool if MaxPlayers was set to be less than MaxPlayersPerWorld.&lt;br /&gt;
*Fix: When loading old configs (pre-0.520), MaxPlayersPerWorld is automatically set to match MaxPlayers, to avoid unexpected side effects.&lt;br /&gt;
*API: Added WorldCreating and WorldCreated events.&lt;br /&gt;
*API: Moved world-related commands from Server to a new class, WorldManager.&lt;br /&gt;
*API: Renamed RankList to RankManager, and CommandList to CommandManager, for consistency.&lt;br /&gt;
&lt;br /&gt;
===0.521===&lt;br /&gt;
&#039;&#039;12 April 2011 - r534&#039;&#039;&lt;br /&gt;
*Feature: Added a /Clear command, to clear in-game chat. Also works from fCraftConsole and fCraftUI.&lt;br /&gt;
*Fix: Added missing chat commands.&lt;br /&gt;
*Fix: Cosmetic fixes in /ZRemove.&lt;br /&gt;
&lt;br /&gt;
===0.520===&lt;br /&gt;
&#039;&#039;12 April 2011 - r532&#039;&#039;&lt;br /&gt;
*Feature: Removed the server-wide 128 player limit. Now the limit is per-world.&lt;br /&gt;
*Feature: You can now repeat the last command by typing &amp;quot;/&amp;quot;&lt;br /&gt;
*Feature: Added a way to use color codes in chat (with % instead of &amp;amp;), a UseColorCodes permission, and a /colors command.&lt;br /&gt;
*Feature: Added support for multi-line messages or commands. Add &amp;quot; /&amp;quot; to the end of a line to continue typing it.&lt;br /&gt;
*Feature: Added &amp;quot;/commands&amp;quot;, to replace &amp;quot;/help commands&amp;quot;. It allows filtering commands by rank, category, permissions, etc. Aliases: /cmdlist, /cmds&lt;br /&gt;
*Feature: New permissions: ViewPlayerIPs, BringAll&lt;br /&gt;
*Feature: New config switches: AnnounceRankChangeReasons and RequireKickReason.&lt;br /&gt;
*Feature: Replaced LimitOneConnectionPerIP config key (boolean) with a more flexible MaxConnectionsPerIP (int).&lt;br /&gt;
*Feature: Added /bringall command, for moving everyone (or only certain ranks) from your world (or optionally all worlds, or a list of other worlds) to your location.&lt;br /&gt;
*Feature: /bring can be limited per-rank&lt;br /&gt;
*Feature: When file is not found on case-sensitive filesystems, fCraft tries to syggest similar filenames.&lt;br /&gt;
*Feature: Added new constants to use in greeting.txt: {TIME}, {PLAYER_NAME}, {WORLD}, {PLAYERS}, {WORLDS}, {MOTD}&lt;br /&gt;
*Feature: Improved compatibility with SurvivalTest clients.&lt;br /&gt;
*Fix: Fixed /banip not kicking other players from the same IP (besides the named player)&lt;br /&gt;
*Fix: Added missing blocktype validation to MapFCMv2, MapFCMv3, MapMyne, and MapNBT.&lt;br /&gt;
*Fix: Fixed a rare shutdown crash in fCraftUI.&lt;br /&gt;
*Fix: Improved the way PlayerDB.Load handles errors in individual records. A single corrupted entry will no longer prevent the rest from loading.&lt;br /&gt;
*Fix: Fixed fCraftUI abruptly quitting on crash / failure to start, instead of showing the error message. Use &amp;quot;--exitoncrash&amp;quot; command-line switch to reproduce old behavior.&lt;br /&gt;
*Fix: Fixed ConfigTool&#039;s World tab not prompting to delete map files when deleting worlds.&lt;br /&gt;
*Fix: Fixed a bug in MCSharp importer (#3281305)&lt;br /&gt;
*Fix: Fixed a list of permissions in /rinfo not being sorted.&lt;br /&gt;
*Fix: Fixed /mute rank limit dropdown sometimes getting out of sync.&lt;br /&gt;
*Fix: Fixed IRC bot redundantly announcing kicks when someone has been banned.&lt;br /&gt;
*Fix: Fixed a bug where fCraft would fail to start if PlayerDB.txt was truncated/empty.&lt;br /&gt;
*Change: Moved &amp;quot;IP&amp;quot; config key from General to Advanced.&lt;br /&gt;
*Change: Added /spin as an alias to /rotate (for MCLawl users)&lt;br /&gt;
*API: New events: PlayerClicking, PlayerClicked, PlayerPlacingBlock, PlayerPlacedBlock, PlayerListChanged, PlayerBeingKicked, PlayerKicked&lt;br /&gt;
*Optimization: Reduced CPU use of draw commands by ~30%. Sped up PlayerDB loading by ~8%, and reduced memory use when saving. Also reduced PlayerDB filesize by about 15%&lt;br /&gt;
&lt;br /&gt;
===0.512===&lt;br /&gt;
&#039;&#039;2 April 2011 - r508&#039;&#039;&lt;br /&gt;
*Feature: /zones can now be used from console, and can be used on any world (active or inactive).&lt;br /&gt;
*Feature: Improved D3 map importer.&lt;br /&gt;
*Fix: Added missing filename sanity/safety checks to /dumpstats (#3267362, thanks to Hellenion)&lt;br /&gt;
*Fix: Fixed mixed up messages shown in /waccess and /wbuild (#3179189)&lt;br /&gt;
*Fix: Fixed crash reports sometimes failing to submit.&lt;br /&gt;
*Fix: Fixed /dumpstats crashing if a rank had 0 players.&lt;br /&gt;
*Fix: Made Mono version detection less crashy (#3267476, thanks to Hellenion again)&lt;br /&gt;
*Fix: Fixed MapUtility.LoadHeader terminating early, before going through all fallback converters.&lt;br /&gt;
*Fix: Fixed ConfigTool tab order.&lt;br /&gt;
*Fix: Fixed fCraft reporting inaccurate CPU usage figures.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in /rank if an invalid player name was given.&lt;br /&gt;
*Fix: Fixed fCraft project not building under Windows if path contains spaces.&lt;br /&gt;
*Change: Added &amp;quot;/serverreport&amp;quot; as an alias for &amp;quot;/sinfo&amp;quot;&lt;br /&gt;
*Change: Improved the way fCraft handles and reports map loading errors.&lt;br /&gt;
*API Change: Moved all filename constants (e.g. &amp;quot;PlayerDB.txt&amp;quot;) to Paths class.&lt;br /&gt;
&lt;br /&gt;
===0.511===&lt;br /&gt;
&#039;&#039;31 March 2011 - r497&#039;&#039;&lt;br /&gt;
*Feature: Further improvements to Mono support. fCraft will now utilize mono-sgen whenever possible.&lt;br /&gt;
*Fix: Fixed fCraftUI ignoring command-line arguments.&lt;br /&gt;
*Fix: Fixed broken /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed crash reports failing to submit.&lt;br /&gt;
*Fix: Fixed a timezone-related bug that messed up players&#039; &amp;quot;total time on server&amp;quot; stat.&lt;br /&gt;
*Change: Added a warning if running on old versions of Mono (2.6 or lower). &lt;br /&gt;
&lt;br /&gt;
===0.510_r489===&lt;br /&gt;
&#039;&#039;29 March 2011 - r489&#039;&#039;&lt;br /&gt;
*Fix: Fixed unnecessary GDI+ dependence in fCraftConsole under Mono&lt;br /&gt;
*Fix: Fixed EnumKeyAttribute not taking blank values (as in case of ProcessPriority config key).&lt;br /&gt;
&lt;br /&gt;
===0.510===&lt;br /&gt;
&#039;&#039;29 March 2011 - r488&#039;&#039;&lt;br /&gt;
*Feature: The fCraft updater has been rewritten and expanded. It now works under all OSes, and provides more features.&lt;br /&gt;
*Feature: fCraft now handles differences between case-sensitive and case-insensitive filesystems much better. /wrename and /wload are also aware of the filesystem.&lt;br /&gt;
*Feature: fCraft now checks presence, filename capitalization, and integrity of all map files on the world list at startup.&lt;br /&gt;
*Feature: New ConfigTool settings for updater, checkbox for showing &amp;quot;player connected/left&amp;quot; messages, and &amp;quot;/mute&amp;quot; permission settings.&lt;br /&gt;
*Feature: Added &amp;quot;/credits&amp;quot; command to ConfigUI.&lt;br /&gt;
*Feature: Implemented &amp;quot;--norestart&amp;quot; and &amp;quot;--exitoncrash&amp;quot; command-line switches for fCraft.&lt;br /&gt;
*Feature: fCraft event system is being rewritten with modding support in mind.&lt;br /&gt;
*Feature: Improved MCSharp/MCZall/MCLawl map support.&lt;br /&gt;
*Fix: Software errors that happen while parsing player and console commands will no longer cause disconnects/crashes.&lt;br /&gt;
*Fix: IPBanList will attempt to recover records lost due to a recent regression in 0.505.&lt;br /&gt;
*Fix: Fixed /wrename errors in cases where names differ only in capitalization.&lt;br /&gt;
*Fix: Fixed &amp;quot;Copy Existing World&amp;quot; showing the current world on the list in AddWorldPopup.&lt;br /&gt;
*Fix: Fixed &amp;quot;Chat&amp;quot; tab preview not updating when settings are reset.&lt;br /&gt;
*Fix: Fixed per-world whitelist/blacklist not saving when worlds are edited with AddWorldPopup.&lt;br /&gt;
*Fix: Fixed non-verified connections that get kicked from affecting that name&#039;s PlayerInfo.&lt;br /&gt;
*Fix: Server.GenerateSalt() now uses a cryptographically secure PRNG.&lt;br /&gt;
*Fix: Fixed verification problems on servers with HeartbeatEnabled=false.&lt;br /&gt;
*Fix: Fixed a wrong message being shown by /rank if the target is already same or higher/lower rank.&lt;br /&gt;
*Fix: Fixed /winfo showing incorrect information for last lock/unlock event.&lt;br /&gt;
*Fix: Fixed tabbing order on ConfigUI.&lt;br /&gt;
*Fix: Improved the way Server.InitLibrary and Logger.Log errors are handled.&lt;br /&gt;
*Fix: Added missing validation checks to LoadHeader in several map converters.&lt;br /&gt;
*Fix: Fixed players being able to complete a draw command or /zadd, if they were demoted before clicking for the second time.&lt;br /&gt;
*Fix: Added missing /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed a bug in /zinfo that showed incorrect creation/editing times.&lt;br /&gt;
*Fix: Better error messages for unrecognized block names in command parameters.&lt;br /&gt;
*Fix: /restart now works from ConfigUI under Mono (but still broken in fCraftConsole).&lt;br /&gt;
*Fix: Fixed handling of command-line arguments surrounded with quotes.&lt;br /&gt;
*Fix: Fixed a bug at ConfigTool.ConfigUI.xAllowSecurityCircumvention_CheckedChanged (#3181907, thanks to clhdrums87).&lt;br /&gt;
*Fix: Fixed /winfo counting hidden players (#3237877, thanks to Hellenion).&lt;br /&gt;
*Fix: Fixed MCSharp map exporter mixing up map dimensions (#3159501, thanks to dogwatch).&lt;br /&gt;
*Change: Improved the way fCraft project is built. Now all binaries are copied to /trunk/bin/Release or /trunk/bin/Debug.&lt;br /&gt;
*Change: Improved error tolerance of Scheduler.EndShutdown().&lt;br /&gt;
*Change: Expanded Logger.CheckForCommonErrors().&lt;br /&gt;
*Change: Renamed config keys (old ones can still be loaded): IRCBot to IRCBotEnabled, AutomaticUpdates to UpdaterMode.&lt;br /&gt;
*Change: Added /wadd as an alias for /wload.&lt;br /&gt;
*Change: Renamed Mcc namespace to fCraft.MapConversion.&lt;br /&gt;
*Change: Decreased timeout for fCraft update check.&lt;br /&gt;
*Change: Added a confirmation prompt to /rank when adding an unrecognized player name to the database.&lt;br /&gt;
*Optimization: Sped up heartbeat sending and world-related operations, increased world saving interval to 90 seconds, reduced per-player idle CPU usage, halved CPU usage of draw commands.&lt;br /&gt;
&lt;br /&gt;
===0.506===&lt;br /&gt;
&#039;&#039;11 February 2011 - r427&#039;&#039;&lt;br /&gt;
*Feature: Added hollow ellipsoid drawing (/eh) and hollow sphere drawing (/sph), contributed by Conrad &amp;quot;Redshift&amp;quot; Morgan.&lt;br /&gt;
*Fix: Fixed a regression in 0.503 that caused some IP ban records to be lost. I am terribly sorry!&lt;br /&gt;
*Fix: Fixed a path-related error in Map.SaveBackup&lt;br /&gt;
*Fix: Fixed a possible disconnect in Player.CheckBlockSpam is antigrief was not configured properly.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool.SaveWorldList.&lt;br /&gt;
*Fix: Fixed &amp;quot;Limit the number of blocks that can be undone&amp;quot; checkbox misbehaving (thanks to ven000m for bug report).&lt;br /&gt;
*Change: By popular demand /sphere2 is now the default behavior of /sphere.&lt;br /&gt;
*Change: Removed &amp;quot;oldSalt&amp;quot; check for name verification, to avoid having the server write to config.xml unnecessarily.&lt;br /&gt;
*Change: Removed &amp;quot;.backup&amp;quot; file creation, by popular demand. It was kinda useless.&lt;br /&gt;
&lt;br /&gt;
===0.505===&lt;br /&gt;
&#039;&#039;8 February 2011 - r422&#039;&#039;&lt;br /&gt;
*Feature: All draw commands now inform player if any blocks were skipped due to local permission issues (e.g. zones).&lt;br /&gt;
*Fix: Fixed a regression that caused backups to be saved in the wrong path. Backups were being saved to ./backups/ instead of ./maps/backups/&lt;br /&gt;
*Fix: Fixed a permission issue in /replace and /replacenot.&lt;br /&gt;
*Fix: Fixed /info not displaying a list of players from same IP.&lt;br /&gt;
*Fix: Addressed a security issue with salt generation.&lt;br /&gt;
&lt;br /&gt;
===0.504===&lt;br /&gt;
&#039;&#039;3 February 2011 - r419&#039;&#039;&lt;br /&gt;
*Fixed a crash bug related to SecurityController.MinRank&lt;br /&gt;
&lt;br /&gt;
===0.503===&lt;br /&gt;
&#039;&#039;3 February 2011 - r418&#039;&#039;&lt;br /&gt;
*Feature: Added /deafen command. It temporarily blocks all incoming messages (makes you go &amp;quot;deaf&amp;quot;), to allow taking screenshots, recording videos, or just playing without the wall of text.&lt;br /&gt;
*Feature: Added ShowBannedConnectionMessages config key (default: true). When disabled, no &amp;quot;banned player tried to log in&amp;quot; messages are shown.&lt;br /&gt;
*Fix: Fixed PlayerInfo.frozenOn not being set.&lt;br /&gt;
*Fix: Fixed kick messages for players affected by /banall&lt;br /&gt;
*Fix: Fixed /unbanall reason not being shown.&lt;br /&gt;
*Fix: /where now shows what world you are on.&lt;br /&gt;
*Fix: Fixed a couple minor bugs in /waccess and /wbuild.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in SecurityController constructor.&lt;br /&gt;
*Fix: Made several tweaks to improve the first-run experience.&lt;br /&gt;
&lt;br /&gt;
===0.502===&lt;br /&gt;
&#039;&#039;31 January 2011 - r411&#039;&#039;&lt;br /&gt;
*Fix: Adjusted for yet another change in the way minecraft.net replies to heartbeats (should fix all heartbeat issues for now).&lt;br /&gt;
*Fix: Added a check to /zremove to prevent players from deleting zones to gain access to areas from which they&#039;re barred.&lt;br /&gt;
*Fix: Fixed being able to use /me or /staff to write empty messages.&lt;br /&gt;
*Fix: Fixed frozen players not getting defrosted when kicked.&lt;br /&gt;
*Fix: Formatting fixes in &amp;quot;___ was previously frozen&amp;quot; message&lt;br /&gt;
*Fix: Fixed a mini-bug in Map.ValidateHeader()&lt;br /&gt;
*Change: Renamed /wremove to /wunload for consistency. &amp;quot;/wremove&amp;quot; is still usable as an alias.&lt;br /&gt;
&lt;br /&gt;
===0.501===&lt;br /&gt;
&#039;&#039;30 January 2011 - r408&#039;&#039;&lt;br /&gt;
*Feature: Added /sphere and /sphere2, based on code contributed by SystemX17.&lt;br /&gt;
*Feature: Added new config setting: ShowConnectedMessages (default: true)&lt;br /&gt;
*Feature: Added a notification for players who logged in frozen.&lt;br /&gt;
*Fix: Fixed frozen players twitching.&lt;br /&gt;
*Fix: Fixed IRC bot not stripping color codes in messages relayed from IRC to the game.&lt;br /&gt;
*Fix: Fixed lastSeen and lastLoginDate not being set for first-time players who failed to log in (e.g. IP-banned).&lt;br /&gt;
*Fix: Fixed /bring not working properly on frozen players.&lt;br /&gt;
*Fix: Fixed a case where it was possible to add access restrictions to main map.&lt;br /&gt;
*Fix: Fixed per-world whitelists/blacklists being lost when editing worlds.xml via ConfigTool.&lt;br /&gt;
*Fix: Fixed AutoRankAll showing wrong number of players promoted/demoted (just a formatting bug, no promotions were affected)&lt;br /&gt;
&lt;br /&gt;
===0.500===&lt;br /&gt;
&#039;&#039;25 January 2011 - r399&#039;&#039;&lt;br /&gt;
*Commands: Added /line drawing command, kindly contributed by SystemX17&lt;br /&gt;
*Commands: Added /restart command, to restart the server remotely (NOTE: does not work for fCraftWinService yet)&lt;br /&gt;
*Commands: Added /unmute command (same as &amp;quot;/mute name 0&amp;quot;)&lt;br /&gt;
*Commands: Added an option to silently hide (no disconnect/connect message).&lt;br /&gt;
*Commands: Added /ignore and /unignore commands to block chat from another player (for the duration of your visit).&lt;br /&gt;
*Commands: /whide and /wunhide commands added to hide/unhide worlds from the list.&lt;br /&gt;
*Commands: /worlds now takes an optional param: &amp;quot;/worlds all&amp;quot; lists visible+hidden worlds, and &amp;quot;/worlds hidden&amp;quot; lists hidden worlds only.&lt;br /&gt;
*Commands: List of player names from the same IP is now shown in /info.&lt;br /&gt;
*Commands: /help now shows what rank you need to be to use a command (for most commands).&lt;br /&gt;
*Commands: /bring now works on frozen players.&lt;br /&gt;
*Commands: /bring now takes an optional second name/parameter, to teleport someone to someone&lt;br /&gt;
*Commands: /info now shows whether a player is hidden (if the command caller has permission to see).&lt;br /&gt;
*Commands: Fixed a case where teleporting to a player who is currently changing worlds brings one to a wrong location.&lt;br /&gt;
*Commands: Fixed bindings (/water, /lava, /solid, and /bind) not being applied to draw commands.&lt;br /&gt;
*Commands: /wsave and /gen can now create directories if needed.&lt;br /&gt;
*Commands: Fixed a bug in /roll&lt;br /&gt;
*Commands: Sped up /paste, /pastenot, /replace, and /replacenot slightly.&lt;br /&gt;
*ConfigTool: New &amp;quot;Chat&amp;quot; tab for controlling appearance and content of in-game chat.&lt;br /&gt;
*ConfigTool: Added ability to customize MeColor (for /me messages, default: purple) and WarningColor (for major errors/warnings, default: red) in config.&lt;br /&gt;
*ConfigTool: AddWorldPopup can now show detailed info for maps of all supported formats.&lt;br /&gt;
*ConfigTool: Improved tooltips for several items in ConfigUI.&lt;br /&gt;
*FrontEnd: Uncaught exceptions that happen while executing commands from fCraftUI console are now handled by the crash reporter (instead of actually crashing).&lt;br /&gt;
*FrontEnd: Added /clear command for fCraftUI and fCraftConsole - clears log screen.&lt;br /&gt;
*FrontEnd: The URL is no longer highlighted after first heartbeat, to avoid stealing focus from console.&lt;br /&gt;
*Generator: Fixed &amp;quot;flatgrass&amp;quot; template&lt;br /&gt;
*Generator: Fixed alphabetical order in the list of templates&lt;br /&gt;
*Generator: MapGenerator now embeds generation parameters into the map file metadata&lt;br /&gt;
*Generator: Fixed several template loading bugs.&lt;br /&gt;
*Generator: Optimized AddBeaches to be about 2x faster&lt;br /&gt;
*Generator: Added a missing dimension check to /gen&lt;br /&gt;
*IRC: Messages relayed from game to IRC now have color codes preserved.&lt;br /&gt;
*IRC: Kicks, Bans, unbans, promotions, and demotions can now be relayed to IRC.&lt;br /&gt;
*IRC: IRC bot now relays /say messages, and /me messages (both /me on IRC and /me on the server).&lt;br /&gt;
*IRC: IRC Error handling is greatly improved.&lt;br /&gt;
*IRC: (Threaded) If one of the bots loses connection, one of the other bots take over parsing input.&lt;br /&gt;
*IRC: Increased IRC reconnect delay to 15 seconds.&lt;br /&gt;
*Maps: Switched to a new file format (FCMv3) that allows for future additions like block tracking and physics.&lt;br /&gt;
*Maps: Much of MCC (map conversion) API was rewritten for better consistency and performance.&lt;br /&gt;
*Maps: Improved support for loading indev (pre-infinite) maps, including Omen-generated maps.&lt;br /&gt;
*Maps: Improved resilience for loading maps with unknown blocktypes. Instead of failing, it just replaces any unknown blocks with air.&lt;br /&gt;
*Maps: Added consistent header validation to all map format loaders.&lt;br /&gt;
*Maps: Fixed maps not autosaving when zones are added or removed.&lt;br /&gt;
*Maps: Zone definitions are now serialized to XML. Zones saved with this revision of fCraft will no longer be readable by older version of fCraft.&lt;br /&gt;
*Maps: Fixed a bug when loading JTE&#039;s format maps.&lt;br /&gt;
*Maps: Fixed format of backup filenames.&lt;br /&gt;
*PlayerDB: Added new fields: bannedUntil, frozenOn, frozenBy, mutedUntil, mutedBy, IRCPassword, online, leaveReason&lt;br /&gt;
*PlayerDB: Fixed PlayerInfo.ID not being assigned for new players until sever restart / DB reload.&lt;br /&gt;
*PlayerDB: Fixed off-by-one error with PlayerInfo.timesVisited&lt;br /&gt;
*PlayerDB: Fixed /me, /say, rank chat, and /staff not counting towards PlayerInfo.linesWritten&lt;br /&gt;
*PlayerDB: Made PlayerDB more resilient to errors. Reduced filesize slightly by omitting default values for more date fields, and removing milliseconds from &amp;quot;totalTime&amp;quot;&lt;br /&gt;
*PlayerDB: Improved forwards compatibility of PlayerDB by removing maximum-field-count check.&lt;br /&gt;
*Security: Worlds can now have player whitelists and blacklists (just like zones) for access and build permissions.&lt;br /&gt;
*Security: Added a security check to /wsave, /wload, and /gen to prevent reading or overwriting files outside the map folder.&lt;br /&gt;
*Security: Added a per-rank security option to prevent players from whitelisting themselves, removing themselves from blacklists, or lowering their rank&#039;s restrictions on worlds and zones.&lt;br /&gt;
*Security: /mute and /freeze are now persistent even if the player reconnects.&lt;br /&gt;
*Security: Relaxed SetTile packet checks. Players will no longer be kicked due to Minecraft client bugs.&lt;br /&gt;
*Security: Fixed an exploit that allowed changing steps to doublesteps even inside zoned areas.&lt;br /&gt;
*Security: Improved consistency of permission dependencies.&lt;br /&gt;
*Security: Fixed a security exploit in /wmain that allowed players with ManageWorlds permission to gain access to restricted worlds.&lt;br /&gt;
*Security: Fixed a bug that prevented banning players who were not yet in PlayerDB.&lt;br /&gt;
*Security: Added an option to only allow paid players (PaidPlayersOnly)&lt;br /&gt;
*Stability: Made crash reporting more reliable. A failed crash report will no longer prevent error message from being logged and displayed.&lt;br /&gt;
*Stability: Fixed a crash in AddWorldPopup if dialog is closed while a map is still loading.&lt;br /&gt;
*Stability: To improve compatibility with some bots, removed &amp;quot;almost there...&amp;quot; message on the loading screen&lt;br /&gt;
*Stability: Disabled error reporting of common non-fCraft-related errors (like wrong runtime versions, or wrong Mono permissions).&lt;br /&gt;
*Stability: Added &amp;quot;libMonoPosixHelper.so&amp;quot; and &amp;quot;UnauthorizedAccessException&amp;quot; to Logger.CheckForCommonErrors, and made &amp;quot;Could not load file or assembly&amp;quot; check locale-independent.&lt;br /&gt;
*Stability: A backup file is now created whenever PlayerDB, IP ban list, config, or world list are saved (e.g. PlayerDB.txt.backup)&lt;br /&gt;
*Stability: Crash reporter now sends last 25 lines of the log.&lt;br /&gt;
*Stability: Added a fallback overload for Player.Message() that bypasses string format, to make the whole thing less prone to format errors.&lt;br /&gt;
*System: fCraft now takes command-line arguments (at startup) to override the following:&lt;br /&gt;
**working directory (--path=/your/path/here)&lt;br /&gt;
**log directory (--logpath=/your/path/here)&lt;br /&gt;
**map directory (--logpath=/your/path/here) - also overridable in a more user-friendly way via ConfigTool (MapPath key)&lt;br /&gt;
**config file location (--config=/your/path/and/filename.xml)&lt;br /&gt;
*System: Added an option to change the name of Console pseudoplayer in the config.&lt;br /&gt;
*System: Player.GetClassyName() and PlayerInfo.GetClassyName() now add an asterisk after banned players&#039; names&lt;br /&gt;
*System: Fixed hidden players remaining hidden in some cases.&lt;br /&gt;
*System: Fixed PacketWriter.MakeWrappedMessage ignoring uppercase hex colorcodes&lt;br /&gt;
*System: Implemented NoPartialPositionUpdates and RelayAllUpdates config keys.&lt;br /&gt;
*System: Several little glitches and inefficiencies fixed in movement handling code.&lt;br /&gt;
*System: Fixed &amp;quot;player connected&amp;quot; and other messages showing up too early in-game (before map loaded).&lt;br /&gt;
*System: Fixed kick message for players affected by /banall&lt;br /&gt;
*System: Added HeartbeatEnabled config key (default: true)&lt;br /&gt;
*System: Fixed a case where heartbeat could be sent from a different IP than the listening port on systems with multiple NICs/IPs and no configured static IP.&lt;br /&gt;
*System: Increased the write buffer for writing out PlayerDB, reducing I/O time by ~20% on .NET, and ~35% on Mono&lt;br /&gt;
*System: New Scheduler API.&lt;br /&gt;
*System: Modified /wload to avoid loading the map twice in case confirmation is needed.&lt;br /&gt;
*System: Changes to AutoRankEnabled will now be applied when /reloadconfig is called.&lt;br /&gt;
*System: Fixed unnecessary confirmation being asked when world name matches file name in /wload&lt;br /&gt;
*System: Eliminated the heartbeat thread by switching to async i/o.&lt;br /&gt;
*System: Improved startup and shutdown speed.&lt;br /&gt;
*System: Added a &amp;quot;how to promote yourself&amp;quot; message for fresh installations of fCraft.&lt;br /&gt;
*System: Fixed Server.OnPlayerDisconnected event firing for unregistered sessions.&lt;br /&gt;
*System: Made Color.Parse() and Color.GetName() translate fCraft-specific color assignments (e.g &amp;quot;&amp;amp;S&amp;quot; for &amp;quot;System&amp;quot;)&lt;br /&gt;
*System: Added better detection for SMP/Alpha clients trying to connect.&lt;br /&gt;
*System: Sped up AutoRankAll&lt;br /&gt;
&lt;br /&gt;
=0.4xx=&lt;br /&gt;
===0.499===&lt;br /&gt;
&#039;&#039;6 November 2010 - r311&#039;&#039;&lt;br /&gt;
*Feature: Added an option to disable name verification for players connecting from LAN.&lt;br /&gt;
*Feature: Added &#039;flat&#039; template to MapGenerator, allowing to make flat maps with any theme.&lt;br /&gt;
*Feature: Added &#039;grass&#039; pseudotheme to /gen command, which is basically the &#039;Forest&#039; theme with trees disabled.&lt;br /&gt;
*Fix: Fixed /wflush leaving ghosts/clones behind.&lt;br /&gt;
*Fix: Fixed muted players being able to use /say and /staff&lt;br /&gt;
*Fix: Fixed /baninfo ignoring permission checks.&lt;br /&gt;
*Fix: Fixed &amp;quot;draw limit&amp;quot; checkbox getting disabled in ConfigTool if a player had &#039;CopyAndPaste&#039; permission but no &#039;Draw&#039; permission.&lt;br /&gt;
*Fix: Fixed several off-by-1 errors involving random number generation, notably in MapGenerator and Server.GenerateSalt()&lt;br /&gt;
*Fix: Fixed potential crash in MapGenerator.SealLiquids&lt;br /&gt;
*Fix: Fixed a potential crash in Map.SaveBackup() if the map filename contained brackets.&lt;br /&gt;
*Fix: Fixed a forced disconnect when trying to feed /gen a theme or template with brackets in the name.&lt;br /&gt;
&lt;br /&gt;
===0.498===&lt;br /&gt;
&#039;&#039;4 November 2010 - r308&#039;&#039;&lt;br /&gt;
*Change: Disabled zlib support due to more potential memory leaks. fffuuuuu....&lt;br /&gt;
*Fix: Fixed Island, Bay, and Ice templates broken by the last patch.&lt;br /&gt;
*Fix: MapGeneratorArgs: snowTransition was interpreted as absolute (instead of relative) altitude, and marbledHeightmap incorrectly defaulted to &#039;true&#039;.&lt;br /&gt;
*Change: Updated readme and changelog.&lt;br /&gt;
&lt;br /&gt;
===0.497===&lt;br /&gt;
&#039;&#039;4 November 2010 - r306&#039;&#039;&lt;br /&gt;
*Feature: Added accurate progress reporting from MapGenerator. Coming soon: cancellation.&lt;br /&gt;
*Feature: New MapGenerator options: BeachHeight, CliffSmoothing, LandSlope, UnderwaterSlope, MaxHeightVariation, MaxDepthVariation.&lt;br /&gt;
*Feature: Added UI controls for snow/cliff/beach settings to AddWorldPopup.&lt;br /&gt;
*Feature: Added a list of popular IRC networks to ConfigTool.&lt;br /&gt;
*Change: Improved PlayerDB lookup performance by reducing locking.&lt;br /&gt;
*Fix: Fixed MapGenerator calculating slope incorrectly at the water boundary.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add Ore&amp;quot; requiring &amp;quot;Add Caves&amp;quot; in MapGenerator.&lt;br /&gt;
*Fix: Fixed water/lava caves not sealing liquids properly. &lt;br /&gt;
*Change: Set MapGenerator to default to 256x256x96&lt;br /&gt;
*Change: AddWorldPopup Generator tab layout overhaul&lt;br /&gt;
*Change: Organized MapGeneratorArgs and added serialization/deserialization for all the new options.&lt;br /&gt;
&lt;br /&gt;
===0.496===&lt;br /&gt;
&#039;&#039;3 November 2010 - r301&#039;&#039;&lt;br /&gt;
*Fix: Fixed File.Replace() failing if fCraft was set up on a partition/volume other than the one where temp folder is.&lt;br /&gt;
*Fix: Added missing tooltip for &amp;quot;Edit Greeting&amp;quot;&lt;br /&gt;
*Fix: Fixed /sinfo including hidden players in the player count.&lt;br /&gt;
&lt;br /&gt;
===0.495===&lt;br /&gt;
&#039;&#039;2 November 2010 - r300&#039;&#039;&lt;br /&gt;
*Feature: Added a way to edit the greeting message, by editing &amp;quot;greeting.txt&amp;quot;&lt;br /&gt;
*Feature: When a player gets banned, any previously-banned accounts from same IP are listed.&lt;br /&gt;
*Fix: Fixed renaming worlds from ConfigTool&#039;s &amp;quot;worlds&amp;quot; tab not always working.&lt;br /&gt;
*Fix: Fixed several filesystem-related errors on non-Windows systems by using Path.Combine() instead of string concatenation.&lt;br /&gt;
*Fix: Possible workaround for missing heartbeats.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;default build rank&amp;quot; controls in ConfigTools.&lt;br /&gt;
*Fix: Fixed overwrite confirmation popping up for /wload when loading map into an unloaded world with the same name.&lt;br /&gt;
*Fix: Fixed a case where Forester could get into an infinite loop when there&#039;s not enough room to place requested number of trees.&lt;br /&gt;
&lt;br /&gt;
===0.494===&lt;br /&gt;
&#039;&#039;31 October 2010 - r297&#039;&#039;&lt;br /&gt;
*Feature: New map generator features:&lt;br /&gt;
**Adjustable water level.&lt;br /&gt;
**Realistic trees (powered by Forester)&lt;br /&gt;
**Snow on mountaintops&lt;br /&gt;
**Realistic cliffs&lt;br /&gt;
**Beaches&lt;br /&gt;
**New template (peninsula) and theme (swamp).&lt;br /&gt;
**Option to delay heightmap bias until after marbling/inversion.&lt;br /&gt;
*Feature: Added a way to load .mine maps.&lt;br /&gt;
*Feature: Added confirmation for potentially destructive commands: /importranks, /importbans, /massrank, /wload overwrites, /gen overwrites, /wsave overwrites, /zremove.&lt;br /&gt;
*Feature: Added /staff chat and ReadStaffChat permission.&lt;br /&gt;
*Feature: Added wireframe cuboid (/cw)&lt;br /&gt;
*Feature: Added an optional second param for /ch (cuboid hollow) that specifies the blocktype of the &amp;quot;filling&amp;quot;.&lt;br /&gt;
*Feature: Added a way to specify default build permission for new worlds.&lt;br /&gt;
*Fix: Fixed /info, /baninfo, and /banip not handling players whose name contain only digits.&lt;br /&gt;
*Fix: Fixed DoChangeRank mixing up RankChangeType.&lt;br /&gt;
*Fix: Added missing fields to MapGeneratorArgs serializer.&lt;br /&gt;
*Fix: Fixed per-rank draw limits not being calculated correctly in some cases.&lt;br /&gt;
*Fix: Replaced File.Delete/File.Move calls with a more reliable File.Replace call. This should slightly improve reliability of map/playerdb.txt/ipbans.txt/worlds.xml saving.&lt;br /&gt;
*Fix: Fixed a little ConfigTool bug that did not properly reset PatrolledRank after a rank deletion.&lt;br /&gt;
*Fix: Fixed terminal colors not resetting in fCraftConsole after a fatal crash under Mono.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;Play&amp;quot; button in fCraftUI.&lt;br /&gt;
*Fix: Added some basic error reporting to fCraftWinService.&lt;br /&gt;
*Change: Tweaked AddWorldPopup layout to accommodate more options.&lt;br /&gt;
&lt;br /&gt;
===0.493===&lt;br /&gt;
&#039;&#039;27 October 2010 - r290&#039;&#039;&lt;br /&gt;
*Feature: /info now supports autocompletion, wildcards, and IP search.&lt;br /&gt;
*Feature: Experimental service wrapper for fCraft.&lt;br /&gt;
*Feature: Added more editable properties to /setinfo: RankChangeType, BanReason, UnbanReason, RankChangeReason, LastKickReason&lt;br /&gt;
*Feature: Various improvements to /info, including hide-aware &amp;quot;online&amp;quot; indicator.&lt;br /&gt;
*Feature: Made Player.NoAccessMessage() print the minimum required rank, instead of just permission name(s).&lt;br /&gt;
*Feature: Added wootalyzer&#039;s chunk rendering code to IsoCat.&lt;br /&gt;
*Fix: Fixed ConfigTool not taking advantage of ZLibStream &lt;br /&gt;
*Fix: Fixed a very improbable case of a thread getting spinlocked when calling IRC.Send() is preemptied, and if there are at least 2 IRC threads.&lt;br /&gt;
*Fix: Fixed kick packets occasionally not being delivered due to a missing Flush() - thanks to wootalyzer for catching.&lt;br /&gt;
*Fix: Excluded banned and inactive players from DumpStats&lt;br /&gt;
*Fix: Fixed PlayerDB.Save() not escaping LastKickReason &lt;br /&gt;
*Fix: Cleaned up extra messages sent by /unhide.&lt;br /&gt;
*Fix: Fixed LastSeen not updating on-login (only on-logout).&lt;br /&gt;
*Fix: Improved the way fCraft checks for ghost/leftover sessions. Thanks to wootalyzer.&lt;br /&gt;
*Fix: If a player&#039;s name starts with a number, and you try to /tp to a coordinate that starts with the same number, you are no longer teleported to that player instead.&lt;br /&gt;
*Fix: Fixed hidden players being detectable by checking LastSeen in /info.&lt;br /&gt;
*Fix: To avoid performance degradation, GC calls have been centralized, delayed, limited to 1/minute, and moved to the tasks thread.&lt;br /&gt;
*Fix: Added delay between recurring calls to PlayerDB.Save, AutoRankAll, and DoGC - to balance load.&lt;br /&gt;
*Fix: Fixed rankChangeType not being updated.&lt;br /&gt;
*Fix: Fixed some typos reported by tvc. &lt;br /&gt;
*Change: Added &amp;quot;/uf&amp;quot; as an alias for &amp;quot;/unfreeze&amp;quot;, by popular demand. &lt;br /&gt;
*Change: Modified PlayerDB not to use ReaderWriterLockSlim, to avoid Mono issues with recursion.&lt;br /&gt;
*Change: Renamed /editplayerinfo to /setinfo&lt;br /&gt;
*Change: Made enum values in AutoRank (CriterionType, ConditionField, ComparisonOperation, ConditionScopeType, RankChangeType) case-insensitive.&lt;br /&gt;
*Change: Added a reference to /baninfo in /info&lt;br /&gt;
*Change: Made DetectMovementPacketSpam warn players instead of kicking.&lt;br /&gt;
&lt;br /&gt;
===0.492===&lt;br /&gt;
&#039;&#039;19 October 2010 - r280&#039;&#039;&lt;br /&gt;
*Feature: Added EditPlayerDB permission. This permission affects the upcoming AutoRank commands, /editplayerinfo, and ability to promote/demote/ban unrecognized players.&lt;br /&gt;
*Feature: When you kick a player, you are now shown the number of kicks they already have.&lt;br /&gt;
*Feature: More stats are now logged! RankType, TimeSinceLastKick, LastSeen, BlocksDrawn, LastKickBy, LastKickReason.&lt;br /&gt;
*Feature: Added &amp;quot;MaxUndo&amp;quot; config key for changing the default undo limit of 2,000,000 blocks per player.&lt;br /&gt;
*Feature: /info command is augmented with new stats (if available).&lt;br /&gt;
*Fix: Fixed ellipsoid command calculating volume incorrectly for draw limit checks.&lt;br /&gt;
*Fix: Fixed overflowing color code in &amp;quot;Player logged in from an IP previously used by banned players&amp;quot; message.&lt;br /&gt;
*Fix: Fixed PM recipient&#039;s name not getting logged properly.&lt;br /&gt;
*Fix: Previously-unseen players no longer have their FirstLoginDate, LastLoginDate, or TimesVisited set.&lt;br /&gt;
*Fix: /importranks now works correctly on players who are online at the time of import.&lt;br /&gt;
*Change: Added block aliases by popular demand: &amp;quot;bedrock&amp;quot; as an alias for admincrete, &amp;quot;cotton&amp;quot; as alias for &amp;quot;white&amp;quot;, and &amp;quot;aire&amp;quot; as alias for &amp;quot;air&amp;quot;&lt;br /&gt;
*Change: PlayerDB.txt format changes:&lt;br /&gt;
**MaxFieldCount raised to 36&lt;br /&gt;
**New fields added: UID (Int32), RankChangeType (enum, serialized as Int32), LastKickDate (DateTime), LastSeen (DateTime), BlocksDrawn (Int64), LastKickBy (string), LastKickReason (string).&lt;br /&gt;
**RankChangeBy, BannedBy, UnbannedBy, BanReason, UnbanReason, and RankChangeReason now default to empty string instead of &amp;quot;-&amp;quot; or null.&lt;br /&gt;
**If LastIP==IPAddress.None, empty string is saved instead of &amp;quot;255.255.255.255&amp;quot;.&lt;br /&gt;
**DateTime and TimeSpan format shortened to exclude microseconds. See PlayerDB.ToCompactString() for details.&lt;br /&gt;
*Change: AutoRank improvements (disabled in stable builds):&lt;br /&gt;
**Added /editplayerinfo command for easy editing of PlayerDB.&lt;br /&gt;
**Made AutoRank check players in-login (to accelerate promotion).&lt;br /&gt;
**AutoRank now runs on a scheduler.&lt;br /&gt;
**Fixed ConditionPreviousRank crash for played with default rank.&lt;br /&gt;
**Fixed banned players getting promoted by AutoRank.&lt;br /&gt;
**Fixed several serialization/loading issues in AutoRank.&lt;br /&gt;
**New fields added to ConditionIntRange: LastSeen, BlocksDrawn, TimeSinceRankChange, TimeSinceLastKick&lt;br /&gt;
**ConditionRankStatus renamed to ConditionRankChangeType&lt;br /&gt;
&lt;br /&gt;
===0.491===&lt;br /&gt;
&#039;&#039;17 October 2010 - r274&#039;&#039;&lt;br /&gt;
*Feature: Added ability to run multiple parallel IRC bots, to help high-traffic servers deal with IRC lag. This also makes it possible to connect to multiple networks in the future.&lt;br /&gt;
*Feature: Added new block aliases, by popular demand: &amp;quot;emerald&amp;quot;=teal, &amp;quot;fuchsia&amp;quot;=magenta, &amp;quot;cloth&amp;quot;=white, &amp;quot;lightgray&amp;quot;=gray, &amp;quot;lightgrey&amp;quot;=gray, &amp;quot;darkgray&amp;quot;=black, &amp;quot;darkgrey&amp;quot;=black, &amp;quot;brass&amp;quot;=gold&lt;br /&gt;
*Fix: Temporarily disabled 64-bit zlib support while I track down memory leaks. Should fix OutOfMemoryException, I&#039;m very sorry about overlooking that.&lt;br /&gt;
*Fix: Fixed a bug in /info that displayed incorrect &amp;quot;total time on server&amp;quot;.&lt;br /&gt;
*Fix: Per-rank permission checks for /freeze now apply as intended&lt;br /&gt;
*Fix: Fixed several improbable (but not impossible) threading deadlocks/crashes. Thanks to wootalyzer for catching these.&lt;br /&gt;
*Change: Added IRCThreads config key (default: 1, allowed range: 1-3)&lt;br /&gt;
&lt;br /&gt;
===0.490===&lt;br /&gt;
&#039;&#039;14 October 2010 - r264&#039;&#039;&lt;br /&gt;
*Feature: Testing a new map compressor/decompressor: ZLibStream. It should provide 50-200% speed increase, smaller map sizes, lower bandwidth use, and faster map loading.&lt;br /&gt;
*Fix: Fixed /shutdown not waiting the right amount and mixing up seconds/milliseconds.&lt;br /&gt;
*Fix: Fixed &amp;quot;No world found with the name...&amp;quot; showing player&#039;s own name.&lt;br /&gt;
*Fix: Added a fail-safe exception handler to Player.WaitForKick() - a temporary fix.&lt;br /&gt;
*Change: Previous verification salt is now stored, to allow players to validate even right after the server restarts.&lt;br /&gt;
*Change: Restructured SVN. Stable code is now always in /trunk/&lt;br /&gt;
&lt;br /&gt;
===0.487===&lt;br /&gt;
&#039;&#039;12 October 2010 - r255&#039;&#039;&lt;br /&gt;
*Feature: Added contextual help (tooltips) for all of ConfigTool. Help for &amp;quot;Add World&amp;quot; popup is coming in next version.&lt;br /&gt;
*Feature: Added rank limits for Freeze permission&lt;br /&gt;
*Fix: Fixed /mute being unusable from console.&lt;br /&gt;
*Change: Removed ViewOthersInfo requirement from /sinfo&lt;br /&gt;
*Change: Added ViewOthersInfo requirement to /where&lt;br /&gt;
*Change: Improvements to IRC tab layout in ConfigTool.&lt;br /&gt;
&lt;br /&gt;
===0.486===&lt;br /&gt;
&#039;&#039;11 October 2010 - r250&#039;&#039;&lt;br /&gt;
*Quick fix for IRC Bot bug that made server unconnectable.&lt;br /&gt;
&lt;br /&gt;
===0.485===&lt;br /&gt;
&#039;&#039;11 October 2010 - r249&#039;&#039;&lt;br /&gt;
*Feature: Added optional &amp;quot;delay&amp;quot; parameter to /shutdown (default: 5)&lt;br /&gt;
*Feature: World names can now be autocompleted for many commands (like /join and /lock)&lt;br /&gt;
*Fix: Fixed /unhide failing to reveal the player in certain situations.&lt;br /&gt;
*Fix: Fixed /setspawn being usable on players from other worlds.&lt;br /&gt;
*Fix: Fixed player names appearing white for all players.&lt;br /&gt;
*Fix: Fixed a recursion loop in NoWorldMessage()&lt;br /&gt;
*Fix: Fixed help entries for /setspawn and /shutdown&lt;br /&gt;
*Fix: Fixed potential crash in Server.Shutdown() if called after failed initialization/startup.&lt;br /&gt;
*Fix: Fixed potential deadlock/freeze in fCraftUI on shutdown.&lt;br /&gt;
*Change: Improved crash reporting for TargetInvokationException and TypeInitializerException errors.&lt;br /&gt;
*Change: All assemblies are now once again x86/x86_64/IA64 compatible.&lt;br /&gt;
*Change: Server.OnPlayerConnected event now supports cancellation.&lt;br /&gt;
&lt;br /&gt;
===0.484===&lt;br /&gt;
&#039;&#039;10 October 2010 - r245&#039;&#039;&lt;br /&gt;
*Feature: Added a way for IRC bot to use registered nicknames.&lt;br /&gt;
*Feature: /banall-related kicks are now announced in chat.&lt;br /&gt;
*Feature: /setspawn now actually changes player&#039;s spawn. Also, an optional PlayerName param allows temporarily changing other players&#039; spawn point.&lt;br /&gt;
*Feature: Several improvements to /info. Info now shows whether player&#039;s nick or IP was banned, and hides undefined information for players who haven&#039;t ever logged in.&lt;br /&gt;
*Fix: Fixed crash in ConfigTool if announcements were disabled.&lt;br /&gt;
*Fix: Fixed /banall not matching IPs properly, and not counting kicks towards PlayerInfo.&lt;br /&gt;
*Fix: Fixed ConfigUI not shutting down properly if Server.Init() or Server.Start() failed.&lt;br /&gt;
*Fix: Fixed Config.LoadLogOptions() always leaving Debug enabled.&lt;br /&gt;
*Fix: Added Process.GetCurrentProcess().Refresh() to ServerInfo to improve accuracy of /sinfo stat reporting.&lt;br /&gt;
*Fix: Improved /wsave and /wload path handling on non-Windows platforms.&lt;br /&gt;
*Fix: Replaced some potentially unsafe string concatenation in Player.Message() with proper formatting.&lt;br /&gt;
*Fix: Attempting a workaround for Mono memory leak in World.UnloadMap&lt;br /&gt;
*Fix: Fixed ranks from pre-0.480 configs being loaded in wrong order. Sorry!&lt;br /&gt;
*Change: Added a brief delay before reconnecting IRC bot after getting kicked from a channel. &lt;br /&gt;
*Change: PlayerDB is now saved every 60 seconds (instead of every 30).&lt;br /&gt;
*Change: Removed unused IRCBotQuitMsg config key, and added IRCRegisteredNick, IRCNickServ, and IRCNickServMessage keys.&lt;br /&gt;
*Change: Added a popup with crash information to ConfigTool.&lt;br /&gt;
*Change: Made announcements disabled by default.&lt;br /&gt;
&lt;br /&gt;
===0.483===&lt;br /&gt;
&#039;&#039;8 October 2010 - r242&#039;&#039;&lt;br /&gt;
*Feature: Myne/MyneCraft/Hyvebuild/iCraft maps can now be loaded from ConfigTool&#039;s &amp;quot;Add World&amp;quot; dialog.&lt;br /&gt;
*Fix: Fixed incorrect range checks for AnnouncementInterval and SaveInterval config keys (thanks to Shcaap for reporting).&lt;br /&gt;
*Fix: Fixed /hide showing a slightly different &amp;quot;player left&amp;quot; message compared to normal disconnect (thanks to Silverrock for reporting).&lt;br /&gt;
*Change: Added MC#-style &amp;quot;/z&amp;quot; alias for cuboid, by popular demand.&lt;br /&gt;
*Change: Hidden players can now receive PMs. The sender still gets the &amp;quot;No player found&amp;quot; message, but PMs are actually sent.&lt;br /&gt;
&lt;br /&gt;
===0.482===&lt;br /&gt;
&#039;&#039;7 October 2010 - r241&#039;&#039;&lt;br /&gt;
*Feature: Added new command aliases: &amp;quot;f&amp;quot; for &amp;quot;freeze&amp;quot;, and &amp;quot;pat&amp;quot; for &amp;quot;patrol&amp;quot;.&lt;br /&gt;
*Fix: Fixed typos in mute-related messages.&lt;br /&gt;
*Fix: Added missing triggers for OnPlayerListChanged event.&lt;br /&gt;
*Fix: Fixed /reloadconfig not changing several variables (like colors).&lt;br /&gt;
*Fix: Fixed antigrief defaulting to 35/5 (instead of unmetered).&lt;br /&gt;
*Fix: Fixed heartbeat counting hidden players.&lt;br /&gt;
*Fix: Fixed a rare ObjectDisposedException crash on shutdown when running fCraftUI.&lt;br /&gt;
*Change: Added a more informative disconnect message to players connecting with Alpha client.&lt;br /&gt;
*Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.&lt;br /&gt;
*Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.&lt;br /&gt;
&lt;br /&gt;
===0.481===&lt;br /&gt;
&#039;&#039;2 October 2010 - r237&#039;&#039;&lt;br /&gt;
*Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).&lt;br /&gt;
*Fixed a few more references to &amp;quot;player class&amp;quot; terminology instead of &amp;quot;rank&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.480===&lt;br /&gt;
&#039;&#039;2 October 2010 - r236&#039;&#039;&lt;br /&gt;
*Feature: Changed all &amp;quot;player classes&amp;quot; terminology to &amp;quot;ranks&amp;quot; for consistency with other servers. Several commands have been renamed to reflect that: /classes to /ranks, /user to /rank, /class to /rankinfo. All rank-related messages have also been updated.&lt;br /&gt;
*Feature: Added &amp;quot;Raise&amp;quot;/&amp;quot;Lower&amp;quot; buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a &amp;quot;rank&amp;quot; number to reorder ranks.&lt;br /&gt;
*Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.&lt;br /&gt;
*Fix: Improved fCraftUI responsiveness on-startup.&lt;br /&gt;
*Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.&lt;br /&gt;
*Fix: /wremove now always saves the map before unloading.&lt;br /&gt;
*Fix: Fixed Console being affected by chat spam/flood checks.&lt;br /&gt;
*Fix: Fixed /zinfo not showing any separators between player names.&lt;br /&gt;
*Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.&lt;br /&gt;
*Fix: Fixed Security and IRC tabs not being reset by &amp;quot;Reset All Defaults&amp;quot;&lt;br /&gt;
*Fix: Fixed bugged error messages in /tp and /bring when world access permission check fails.&lt;br /&gt;
*Fix: If any class limits were set to default/&amp;quot;(own class)&amp;quot;, the setting is now preserved.&lt;br /&gt;
*Fix: Fixed a bug that didn&#039;t reset Hide limit if it was set to a deleted rank.&lt;br /&gt;
*Change: Removed legacy zone loading code for pre-0.420 maps (due to changes in rank definition format).&lt;br /&gt;
*Change: Added a more informative disconnect message for players trying to connect with Minecraft Alpha clients.&lt;br /&gt;
*Change: Improved rank-based coloring in world list to check both access and build permissions.&lt;br /&gt;
*Change: Added &amp;quot;/fetch&amp;quot; as alias for /bring, and renamed &amp;quot;/save&amp;quot; to &amp;quot;/wsave&amp;quot;.&lt;br /&gt;
*Change: Deleted some obsolete/disabled controls from ConfigTool, removed PingInterval config key, and removed placeholder ControlPhysics and AddLandmarks permissions.&lt;br /&gt;
*Change: Made several changes to improve disconnect detection:&lt;br /&gt;
**Added occasional pings (every 5 seconds or so, depending on activity/inactivity).&lt;br /&gt;
**Reduced socket send/receive timeout from 12 to 10 seconds.&lt;br /&gt;
**Increased socket polling interval to improve performance.&lt;br /&gt;
*Change: If a player tries to connect to a server twice, the FIRST connection is dropped instead of the LAST connection.&lt;br /&gt;
*Refactor: Major changes were made to the way ranks are stored, and to RankList (formerly ClassList) API.&lt;br /&gt;
*Optimization: Made IsoCat rendering faster, and made draw commands use less CPU.&lt;br /&gt;
&lt;br /&gt;
===0.475===&lt;br /&gt;
&#039;&#039;17 September 2010 - r229&#039;&#039;&lt;br /&gt;
*Feature: /ztest now distinguishes between being allowed/denied by rank/class vs by whitelist/blacklist.&lt;br /&gt;
*Fix: Fixed being unable to change rank/class restrictions with /zedit&lt;br /&gt;
*Fix: Fixed a bug that reported wrong average CPU usage&lt;br /&gt;
*Fix: Fixed a crash on saving in ConfigTool, related to new PatrolledClass config key.&lt;br /&gt;
&lt;br /&gt;
===0.474===&lt;br /&gt;
&#039;&#039;16 September 2010 - r228&#039;&#039;&lt;br /&gt;
*Feature: &amp;quot;/mute&amp;quot; command to temporarily stop players from chatting. A new class permission (Mute) is added, granted to op+ by default.&lt;br /&gt;
*Feature: &amp;quot;/shutdown&amp;quot; command to gracefully shutdown the server remotely. A new class permission (ShutdownServer) is added, granted to owner by default.&lt;br /&gt;
*Feature: Added CPU usage information and loaded world count to /sinfo.&lt;br /&gt;
*Fix: Added a way to edit &amp;quot;PatrolledClass&amp;quot; from ConfigTool.&lt;br /&gt;
*Fix: Fixed zone whitelist/blacklist not updated correctly when edited.&lt;br /&gt;
*Fix: Made teleporting to spawn (with /spawn or /tp, no parameters) accessible to all classes.&lt;br /&gt;
*Fix: Adjusted for Notch&#039;s errors in handling player positions in teleport packets. Slightly improves accuracy of /tp, /bring, initial spawning, /patrol, frozen players, and speedhack detection.&lt;br /&gt;
*Fix: Removed &amp;quot;/tp&amp;quot; bounds check when used with typed-in coordinates numbers.&lt;br /&gt;
*Fix: Fixed an extremely unlikely case of PlayerDB/IPBanList overwriting on shutdown if server initialization failed.&lt;br /&gt;
*Fix: Made &amp;quot;server shutting down&amp;quot; packets deliver more reliably (but still not guaranteed).&lt;br /&gt;
*Fix: Fixed Console possibly not seeing hidden players.&lt;br /&gt;
*Change: Added a basic file check to AutoLauncher&lt;br /&gt;
*Change: Added error logging and crash reporting to Server.Shutdown&lt;br /&gt;
*API: Renamed Server.ShutdownStart to Server.ShutdownBegin (for consistency).&lt;br /&gt;
&lt;br /&gt;
===0.473===&lt;br /&gt;
&#039;&#039;15 September 2010 - r227&#039;&#039;&lt;br /&gt;
*Feature: Added zone coordinates to /zinfo&lt;br /&gt;
*Fix: Fixed cross-world /tp teleporting the wrong player.&lt;br /&gt;
*Fix: Fixed odd date formatting in /zinfo&lt;br /&gt;
&lt;br /&gt;
===0.472===&lt;br /&gt;
&#039;&#039;15 September 2010 - r226&#039;&#039;&lt;br /&gt;
*Feature: Added /cut command&lt;br /&gt;
*Feature: Added a new /patrol command. It allows cycling through low-ranked players on a map (with teleportation). The order is determined by how long it&#039;s been since someone checked on a player. A &amp;quot;Patrol&amp;quot; permission and &amp;quot;PatrolledClass&amp;quot; config key were added.&lt;br /&gt;
*Feature: Added a shorthand notation to /zone for making personal zones: &amp;quot;/zone +PlayerName&amp;quot; creates a zone named after the player, with rank limit just above player&#039;s, and with player whitelisted.&lt;br /&gt;
*Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.&lt;br /&gt;
*Fix: Fixed server always binding to IPAddress.Any regardless of config settings.&lt;br /&gt;
*Fix: TP/Bring no longer allow teleporting to hidden players on other worlds.&lt;br /&gt;
*Fix: Server.GetPlayerList(string) now stops searching the list when it finds an exact match.&lt;br /&gt;
*Fix: Fixed client-crash in /zedit when changing class.&lt;br /&gt;
*Fix: Fixed possible corruption of edited zones upon map saving.&lt;br /&gt;
*Fix: Fixed a range of improbable synchronization issues in the way Zone whitelist/blacklist is updated. As a fortunate side-effect, significantly reduced Zone.CanBuild() overhead.&lt;br /&gt;
*Fix: Temporarily added mainThread.Abort() to Server.Shutdown() that&#039;s kicked in if mainThread does not stop within 5s of being notified of shutdown. I am investigating the real cause of the hang.&lt;br /&gt;
*Fix: Fixed hidden players being revealed by promotion/demotion.&lt;br /&gt;
*Change: Added less threatening error messages to IRC bot on network errors (SocketException and IOException).&lt;br /&gt;
*Change: Disabled movement handling code while changing maps.&lt;br /&gt;
*Refactor: Merged StandardCommands and ImportCommands into AdminCommands&lt;br /&gt;
&lt;br /&gt;
===0.471===&lt;br /&gt;
&#039;&#039;14 September 2010 - r224&#039;&#039;&lt;br /&gt;
*Feature: Added ability to specify the server&#039;s IP (to bind to) manually, for machines with multiple NICs. A new config key &amp;quot;IP&amp;quot; (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.&lt;br /&gt;
*Fix: Fixed a bug with player ghosts being left behind when switching worlds.&lt;br /&gt;
*Fix: Fixed a case with kicked players&#039; connections not being terminated at once (thanks to wootalyzer).&lt;br /&gt;
*Fix: Fixed several bugs in hide/unhide functionality.&lt;br /&gt;
*Fix: Fixed a rare crash in AddWorldPopup related to missing maps for existing worlds.&lt;br /&gt;
*Fix: AddWorldPopup will no longer allow adding a world with a duplicate name.&lt;br /&gt;
*Fix: Capped maximum players at the newly-discovered protocol limit of 128 (thanks to wootalyzer).&lt;br /&gt;
*Change: ConfigTool fields now provide better feedback if validation fails.&lt;br /&gt;
*Change: Changed heartbeat interval to 40 seconds (down from 50).&lt;br /&gt;
*Change: Added a special error handler for rare/impossible case of mainWorld not being joinable.&lt;br /&gt;
*Change: Made fatal error messages in fCraftConsole print in red. Better color support coming soon.&lt;br /&gt;
&lt;br /&gt;
===0.470===&lt;br /&gt;
&#039;&#039;13 September 2010 - r223&#039;&#039;&lt;br /&gt;
*Feature: Personal zones - per-zone whitelist and blacklist of individual players. The lists can now be defined with /zadd and edited with /zedit.&lt;br /&gt;
*Feature: Added cave/ore generator from Omen (BETA).&lt;br /&gt;
*Feature: Added &amp;quot;/maps&amp;quot; and &amp;quot;/levels&amp;quot; as aliases for &amp;quot;/worlds&amp;quot;.&lt;br /&gt;
*Feature: Added a way to limit the &amp;quot;Hide&amp;quot; permission per-class. Now you can specify whom can a class hide from.&lt;br /&gt;
*Feature: Zones now remember date/time of creation and last edit, and names of original creator and last editor.&lt;br /&gt;
*Fix: Unauthorized players can no longer PM or use bring/freeze/unfreeze/kick/tp/where on hidden players. They get the standard &amp;quot;player not found&amp;quot; message.&lt;br /&gt;
*Fix: Fixed hidden players being counter towards /players total.&lt;br /&gt;
*Fix: Fixed a potential crash in /wflush when using on unloaded maps.&lt;br /&gt;
*Fix: Doing /banip or /banall on unrecognized players no longer ip-bans 255.255.255.255. Old IPBanList entries relating to 255.255.255.255 will be automatically discarded.&lt;br /&gt;
*Fix: Fixed /replace command uses not being logged.&lt;br /&gt;
*Fix: Fixed /worlds command not showing world count.&lt;br /&gt;
*Fix: Fixed a client-disconnect when trying to unban a player who is not in the database.&lt;br /&gt;
*Fix: Fixed &amp;quot;/join PlayerName&amp;quot; not translating to &amp;quot;/tp PlayerName&amp;quot; correctly.&lt;br /&gt;
*Fix: Fixed a very unlikely client-disconnect in ChangeClass if the entered class name contains curved braces.&lt;br /&gt;
*Change: Changed default name for &amp;quot;/flip&amp;quot; command to &amp;quot;/mirror&amp;quot;, and fixed command&#039;s help. Either term still works.&lt;br /&gt;
*Change: Added more block name aliases:&lt;br /&gt;
**Air: delete, erase&lt;br /&gt;
**Stone: cement, concrete&lt;br /&gt;
**Grass: gras (common typo)&lt;br /&gt;
**Obsidian: onyx&lt;br /&gt;
*Change: Improved formatting of /players, /worlds, and draw command messages.&lt;br /&gt;
&lt;br /&gt;
===0.463===&lt;br /&gt;
&#039;&#039;9 September 2010 - r218&#039;&#039;&lt;br /&gt;
*Fix: Fixed special colors showing up even if ClassColorsInChat is disabled.&lt;br /&gt;
*Fix: Fixed potential client-crash in World.SendToAll(), and related client-crash in lock/unlock.&lt;br /&gt;
&lt;br /&gt;
===0.462===&lt;br /&gt;
&#039;&#039;8 September 2010 - r217&#039;&#039;&lt;br /&gt;
*Fix: The &amp;quot;OK&amp;quot; button in AddWorldPopup no longer stays grayed out.&lt;br /&gt;
*Fix: Fixed &amp;quot;Error occured while loading&amp;quot; in the file information dialog for non-FCM files.&lt;br /&gt;
*Fix: Fixed a crash in /bring when used without any parameters.&lt;br /&gt;
*Fix: Fixed Server.UrlEncode not escaping 0x00-0x0F characters properly.&lt;br /&gt;
*Change: Slightly reduced default tree density in MapGenerator.&lt;br /&gt;
&lt;br /&gt;
===0.461===&lt;br /&gt;
&#039;&#039;8 September 2010 - r216&#039;&#039;&lt;br /&gt;
*Feature: New EXPERIMENTAL &amp;quot;/reloadconfig&amp;quot; command, and associated ReloadConfig permission. Use with caution!&lt;br /&gt;
*Fix: Fixed a case where AddWorldPopup would allow clicking &amp;quot;OK&amp;quot; with a null map.&lt;br /&gt;
*Fix: Fixed player crash if /freeze or /unfreeze is used without arguments.&lt;br /&gt;
*Fix: Fixed player crash on FormatException in /zones and Server.ShowPlayerConnectedMessage.&lt;br /&gt;
*Fix: Fixed potential player crash if LimitOneConnectionPerIP is enabled.&lt;br /&gt;
&lt;br /&gt;
===0.460===&lt;br /&gt;
&#039;&#039;8 September 2010 - r214&#039;&#039;&lt;br /&gt;
*Feature: Added ShowPlayerConnectedMessage and ClassColorsInWorldNames settings to config.&lt;br /&gt;
*Feature: Added /measure command.&lt;br /&gt;
*Feature: Class colors and prefixes are now applied consistently EVERYWHERE.&lt;br /&gt;
*Feature: Banned players now see their ban reason/memo when they get kicked.&lt;br /&gt;
*Feature: A special error message is shown to players trying to connect with Alpha/SMP client.&lt;br /&gt;
*Feature: IsoCat (ConfigTool isometric preview) rendering quality improved: better shadows and slight altitude-based gradient.&lt;br /&gt;
*Feature: Added new blocktype name aliases: &amp;quot;solid&amp;quot;, &amp;quot;golden&amp;quot;, &amp;quot;halfstep&amp;quot;, &amp;quot;halfblock&amp;quot;, &amp;quot;steps&amp;quot;.&lt;br /&gt;
*Feature: Added player count for each class in /classes&lt;br /&gt;
*Fix: Fixed wrong &amp;quot;MaxBackupsSize&amp;quot; range in ConfigTool.&lt;br /&gt;
*Fix: MaxBackupsSize setting is now applied correctly.&lt;br /&gt;
*Fix: IRC color codes are now stripped from forwarded messages.&lt;br /&gt;
*Fix: IRC bot now uses ServerName for &amp;quot;real name&amp;quot;.&lt;br /&gt;
*Fix: Formatting improved in many error messages.&lt;br /&gt;
*Fix: Commas in ban/unban/promote/demote reasons no longer cause problems with PlayerDB.&lt;br /&gt;
*Fix: Removed extra comma from /worlds list that showed in place of hidden/inaccessible worlds.&lt;br /&gt;
*Change: Added 5-second delay between retries in AutoLauncher&lt;br /&gt;
*Change: &amp;quot;Player connected&amp;quot; message condensed to a single line by absorbing &amp;quot;joined world&amp;quot; message.&lt;br /&gt;
*Change: Removed ChangeName permission (and the ability to change names) due to possibility of abuse and confusion. Related /nick and /whois commands were also removed.&lt;br /&gt;
*Change: /tp can now fall back to behave like /join if player name is not found (for all those times when you mistype /tp instead of /join). Conversely, /join falls back to /tp if player was not found.&lt;br /&gt;
*Optimization: Reduced bandwidth use with an adaptive movement packet skipping algorithm. Should reduced outbound traffic by at least 15%.&lt;br /&gt;
*Optimization: BlockUpdate memory usage slightly reduced.&lt;br /&gt;
&lt;br /&gt;
===0.455===&lt;br /&gt;
&#039;&#039;8 September 2010 - r213&#039;&#039;&lt;br /&gt;
*Feature: AutoLauncher (BETA) allows restarting the fCraftConsole server if it crashed. Although it honestly shouldn&#039;t crash at all!&lt;br /&gt;
*Fix: Allowed renaming worlds in cases where only capitalization is different.&lt;br /&gt;
*Fix: If an ip-banned player has more than one connection, all connections are now terminated.&lt;br /&gt;
*Fix: Fixed nonrectangular MCSharp maps getting messed up by the loader.&lt;br /&gt;
*Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.&lt;br /&gt;
*Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of &amp;quot;no player found&amp;quot; message). Affects PMs, {{cmd|TP}}, {{cmd|Bring}}, {{cmd|Freeze}}, {{cmd|Unfreeze}}, {{cmd|Kick}}.&lt;br /&gt;
*Change: Improved OS detection in crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.454===&lt;br /&gt;
*Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.&lt;br /&gt;
*Fix: Replace no longer behaves same as replacenot.&lt;br /&gt;
*Fix: Spaces in IRC messages are now preserved.&lt;br /&gt;
*Fix: Help entries for paste/pastenot corrected.&lt;br /&gt;
*Fix: /cinfo (without parameters) now shows player&#039;s own class info.&lt;br /&gt;
&lt;br /&gt;
===0.453===&lt;br /&gt;
*Feature: It is now possible to reverse last /undo (by typing /undo again).&lt;br /&gt;
*Change: IRC message colors are applied slightly differently now.&lt;br /&gt;
*Change: Added more automated crash reporting hooks - to MainLoop and Tasks.&lt;br /&gt;
*Change: More help messages improved.&lt;br /&gt;
*Change: Added a more informative message for people running outdated versions of Mono and .Net runtime.&lt;br /&gt;
*Optimization: Slightly reduced memory usage of /undo, /paste, and PlayerDB.Load()&lt;br /&gt;
&lt;br /&gt;
===0.452===&lt;br /&gt;
*Feature: New /replacenot command allows replacing all blocks EXCEPT the specified one.&lt;br /&gt;
*Feature: New /flip and /rotate commands to manipulate copied blocks.&lt;br /&gt;
*Feature: /players list is now in alphabetical order.&lt;br /&gt;
*Fix: Trying to specify an unrecognized block type for draw commands (e.g. &amp;quot;/c ai&amp;quot; instead of &amp;quot;/c air&amp;quot;) now shows a proper error message.&lt;br /&gt;
*Fix: Fixed /gen command crashing players if coordinates are typed in before theme/template.&lt;br /&gt;
*Fix: Fixed /e ellipsoids coming out crooked.&lt;br /&gt;
*Fix: &amp;quot;joined for the first time&amp;quot; messages are now shown correctly.&lt;br /&gt;
*Fix: Fixed /replace not working correctly with /undo&lt;br /&gt;
*Fix: Made IRC bot strip nonprintable characters from messages, and ignore empty messages.&lt;br /&gt;
*Fix: World permissions are no longer reset when doing /wload. Also a permission reminder is now shown when creating new worlds.&lt;br /&gt;
*Change: Improved some help messages.&lt;br /&gt;
*Change: Improved IRC error reporting.&lt;br /&gt;
*Change: Added world name back to &amp;quot;Almost there...&amp;quot; join screen.&lt;br /&gt;
*Change: /pasteonly is now called /paste, and /paste is now called /pastenot (for consistency with other custom servers)&lt;br /&gt;
*Optimization: Slightly reduced memory usage of massive drawing commands (over undo limit).&lt;br /&gt;
&lt;br /&gt;
===0.451===&lt;br /&gt;
*Feature: Improved the way fCraft handles fatal errors (crashes). Crash logs are now created more reliably.&lt;br /&gt;
*Feature: Added automated crash reporting to fragmer.net (opt-out).&lt;br /&gt;
*Feature: Added an announcement for players logging in from IPs associated with other previously-banned players.&lt;br /&gt;
*Fix: Curved braces - &amp;quot;{}&amp;quot; - in server name no longer cause problems.&lt;br /&gt;
*Fix: &amp;quot;Leaving the map&amp;quot; kick disabled temporarily, will be made configurable per-class soon.&lt;br /&gt;
*Fix: banall/unbanall commands produce less chat spam.&lt;br /&gt;
*Fix: AFK kicks no longer count towards /info number-of-times-kicked.&lt;br /&gt;
*Change: Added class colors to /info, and fixed formatting bug.&lt;br /&gt;
*Change: Cleaned up &amp;quot;Advanced&amp;quot; tab in ConfigTool.&lt;br /&gt;
**Removed obsolete config keys: PolicyColorCodesInChat, PolicyIllegalCharacters, and RunOnStartup&lt;br /&gt;
**Added SubmitCrashReports and IRCDelay config keys.&lt;br /&gt;
&lt;br /&gt;
===0.450===&lt;br /&gt;
&#039;&#039;26 August 2010&#039;&#039;&lt;br /&gt;
*Feature: IRC bot rewritten for better performance, flexibility, and safety.&lt;br /&gt;
*Feature: New IRC options: IRCBotAnnounceIRCJoins and IRCBotAnnounceServerJoins.&lt;br /&gt;
*Fix: Fixed messages containing only a single slash (&#039;/&#039;) crashing client thread.&lt;br /&gt;
*Change: Removed obsolete IRCBotMsgs config key.&lt;br /&gt;
*Change: Added OnPlayerSentMessage event to Server.&lt;br /&gt;
*Change: IRC bot&#039;s commands (e.g. !status) are temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
===0.445===&lt;br /&gt;
&#039;&#039;25 August 2010&#039;&#039;&lt;br /&gt;
*IMPORTANT! Please update ASAP, a security issue was identified in previous version.&lt;br /&gt;
*Fix: If you need to start message with a slash, you can now escape the slash (type &amp;quot;//&amp;quot;)&lt;br /&gt;
*Fix: Fixed endless update loop (if automatic updates were enabled)&lt;br /&gt;
*Fix: Private messages with a space between &#039;@&#039; and the player name now work.&lt;br /&gt;
*Fix: Hacking-related kicks are not announced globally.&lt;br /&gt;
*Fix: Fixed &amp;quot;/help&amp;quot; giving wrong message if help entry was not found.&lt;br /&gt;
*Change: Minor changes in MapGenerator/Noise&lt;br /&gt;
&lt;br /&gt;
===0.444===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*Feature: New stat command, /sinfo (server info).&lt;br /&gt;
*Fix: Ban reason/memo now shown for normal bans.&lt;br /&gt;
*Fix: /cinfo for unlimited classes no longer shows &amp;quot;draw limit: 0&amp;quot;&lt;br /&gt;
*Fix: Fixed IRC message colors, and removed IRC color codes from log.&lt;br /&gt;
&lt;br /&gt;
===0.443===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New {{cmd|WFlush}} command. It allows finishing all in-progress draw commands at maximum speed (over 100k blocks/second) then forces a map rejoin.&lt;br /&gt;
*Feature: Added more customization options for colors: PrivateMessageColor and IRCMessageColor in Config.&lt;br /&gt;
*Feature: {{cmd|Players}} list is now sorted alphabetically.&lt;br /&gt;
*Feature: Added &amp;quot;Check Port&amp;quot; button to ConfigTool to see if port is open. Uses www.utorrent.com/testport&lt;br /&gt;
*Feature: Added &amp;quot;Play&amp;quot; button to fCraftUI to open server URL in the browser&lt;br /&gt;
*Feature: World names in {{cmd|Worlds}} list are now colored according to each world&#039;s build permission. &lt;br /&gt;
*Feature: Added speedhack detection &amp;amp; prevention (BETA) and corresponding Permission.UseSpeedHack. All your classes will be granted this permission by default. Edit the config to customize it.&lt;br /&gt;
*Fix: When using {{cmd|Mark}} outside of map boundaries, draw limits are no longer calculated incorrectly (thanks to Darnest).&lt;br /&gt;
*Fix: Fixed possible crash in Map.CheckZones() on maps created with {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed compilation issue with &amp;quot;tileset.png&amp;quot; on case-sensitive filesystems.&lt;br /&gt;
*Fix: Fixed class-wide messages not wrapping correctly.&lt;br /&gt;
*Optimization: antigrief and antispam checking overhead reduced.&lt;br /&gt;
&lt;br /&gt;
===0.442===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Fix: Addresses a security issue.&lt;br /&gt;
*Fix: &amp;quot;OK&amp;quot; button in AddWorldPopup is now always disabled if no map is set.&lt;br /&gt;
*Fix: &amp;quot;Feature size&amp;quot; label is now updater correctly when map dimensions are changed.&lt;br /&gt;
*Fix: Added missing player notifications for {{cmd|Undo}} and {{cmd|Cancel}} commands.&lt;br /&gt;
*Change: MapGenerator&#039;s default map size changed to 128x128x80&lt;br /&gt;
&lt;br /&gt;
===0.441===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added cuboid limits to /cinfo&lt;br /&gt;
*Fix: Fixed a bug in BoundingBox that made /paste and zones behave incorrectly&lt;br /&gt;
*Fix: Fixed ban/unban commands not kicking the player if entered name capitalization did not match actual capitalization&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; being broken when using {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed {{cmd|Ban}} rank checks affecting {{cmd|Unban}}&lt;br /&gt;
*Change: Optimized zone permission checks&lt;br /&gt;
&lt;br /&gt;
===0.440===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New MapGenerator with tons of options. You can also save/load custom templates for it.&lt;br /&gt;
*FEATURE: AddWorldPopup interface overhaul.&lt;br /&gt;
*FEATURE: JTE, D3, and Myne/Mynecraft/Hyvebuild/iCraft map format converters added.&lt;br /&gt;
*Feature: Improved syntax of the {{cmd|Gen}} command. See &amp;quot;{{cmd|Help|gen}}&amp;quot; for details.&lt;br /&gt;
*Feature: Reason/memo is now shown publicly when someone gets banned, unbanned, or kicked.&lt;br /&gt;
*Feature: Teleport and Bring work across worlds - world permissions still apply.&lt;br /&gt;
*Feature: Added 4 new Config keys: RequireBanReason, RequireClassChangeReason, AnnounceKickAndBanReasons, AnnounceClassChanges. By default &amp;quot;AnnounceKickAndBanReasons&amp;quot; and &amp;quot;AnnounceClassChanges&amp;quot; are enabled.&lt;br /&gt;
*Feature: Added 5 new fields to PlayerDB: previousClass, classChangeReason, timesKicked, timesKickedOthers, timesBannedOthers.&lt;br /&gt;
*Feature: Added a lot of new information to {{cmd|Info}}.&lt;br /&gt;
*Feature: You can now save map preview images (isometric) from AddWorldPopup.&lt;br /&gt;
*Feature: ConfigTool now shows warnings about any errors logged during Config.Load&lt;br /&gt;
*Fix: Yet another workaround for VerifyNames false negatives (thanks to SpaceManiac).&lt;br /&gt;
*Fix: Fixed being able to paste admincrete/water/lava without permission (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Trying to go over class draw limit no longer causes &amp;quot;Another drawing command is in progress&amp;quot; error.&lt;br /&gt;
*Fix: Mcc.MapUtility.TryLoading() and Map.LoadHeaderOnly() now release file handles as soon as possible. This should fix some &amp;quot;file is being used by another process&amp;quot; errors.&lt;br /&gt;
*Fix: Map spawn should be parsed correctly for MCSharp/MCZall maps&lt;br /&gt;
*Fix: If a map doesn&#039;t start with a gzip header, it no longer has a chance to abort the whole load process.&lt;br /&gt;
*Fix: Fixed blocktype names being case-sensitive.&lt;br /&gt;
*Fix: Added a more informative message when idle players are kicked.&lt;br /&gt;
*Fix: Fixed undo buffer not getting cleared when doing paste/pasteonly&lt;br /&gt;
*Fix: Fixed {{cmd|WAccess}} exception kicking players.&lt;br /&gt;
*Fix: 100% Empty maps no longer crash AddWorldPopup with OutOfMemoryException&lt;br /&gt;
*Fix: Fixed &amp;quot;player is already banned&amp;quot; message when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed no public message appearing when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed cuboid/ellipsoid/cuboidh logging blocktype code instead of blocktype name.&lt;br /&gt;
*Fix: Improved the message that&#039;s shown when idle players are kicked.&lt;br /&gt;
*Fix: Documented ability to {{cmd|TP}} to specific coordinates.&lt;br /&gt;
*Fix: AddWorldPopup no longer crashes if user closes &amp;quot;Load Map&amp;quot; dialog before selecting any file.&lt;br /&gt;
*Fix: When drawing affects (in part or in full) a restricted zone, the zone is left untouched, and the rest of draw command finishes (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Fixed crash in AddWorldPopup.AsyncLoad() if map loading failed.&lt;br /&gt;
*Fix: LegacyRankMapping is now parsed correctly&lt;br /&gt;
*Fix: Renaming a class no longer causes &amp;quot;Worlds&amp;quot; tab dropdown menus to go out-of-sync.&lt;br /&gt;
*Change: AddWorldPopup preview image quality improved.&lt;br /&gt;
*Change: Updated to newest version of NBTag library.&lt;br /&gt;
*Change: Frozen players can no longer build/delete.&lt;br /&gt;
*Change: Removed public {{cmd|Undo}} message, added log message instead.&lt;br /&gt;
*Change: Removed AnnounceUnverifiedNames settings.&lt;br /&gt;
*Change: When building/deleting permission is denied, the exact reason is given (instead of a vague &amp;quot;you cannot do that&amp;quot; message) (part of Player.CanPlace overhaul).&lt;br /&gt;
&lt;br /&gt;
===0.435===&lt;br /&gt;
&#039;&#039;12 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Copy}}, {{cmd|Paste}}, and {{cmd|PasteOnly}} commands. Rotation coming soon.&lt;br /&gt;
*Feature: Added {{perm|CopyAndPaste}} permission, granted to op and owner by default.&lt;br /&gt;
*Feature: Added MapGenType.Cliffs - similar to Mountains type, but with cliffs!&lt;br /&gt;
*Fix: Fixed {{cmd|Paint}} command&lt;br /&gt;
*Fix: Fixed {{cmd|BanInfo}} now showing any information if used without parameters.&lt;br /&gt;
*Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.&lt;br /&gt;
&lt;br /&gt;
===0.434===&lt;br /&gt;
&#039;&#039;11 August 2010&#039;&#039;&lt;br /&gt;
*Feature: new {{cmd|Bind}} command allows mapping any block to any other. Now you can place those unbuildable blocks (water, lava, grass, double-step) in any way you wish. For compatibility, old commands ({{cmd|Water}}, {{cmd|Solid}}, {{cmd|Lava}}, {{cmd|Grass}}) have been preserved.&lt;br /&gt;
*Change: &amp;quot;step&amp;quot; added as an alias for Stair block. &amp;quot;doublestep&amp;quot; added as an alias for DoubleStair.&lt;br /&gt;
&lt;br /&gt;
===0.433===&lt;br /&gt;
&#039;&#039;8 August 2010&#039;&#039;&lt;br /&gt;
*Feature: {{cmd|WInfo}} now shows who locked/unlocked the map, and how long ago.&lt;br /&gt;
*Fix: Fixed a error message that showed up when announcements.txt was blank.&lt;br /&gt;
*Fix: Permission check added back to lock/unlock commands.&lt;br /&gt;
*Fix: &amp;quot;mapinfo&amp;quot; added back as alias for {{cmd|WInfo}}&lt;br /&gt;
*Fix: Fixed locked maps not getting unloaded when all players left&lt;br /&gt;
&lt;br /&gt;
===0.432===&lt;br /&gt;
&#039;&#039;6 August 2010&#039;&#039;&lt;br /&gt;
*Fix: List of worlds printed by {{cmd|Worlds}} is now sorted alphabetically.&lt;br /&gt;
*Fix: Fixed an obscure half-disconnect bug that left players with id=0 who happened to be on the main world in a semi-disconnected state IF someone else was kicked halfway through the login process before it was assigned an id.&lt;br /&gt;
&lt;br /&gt;
===0.431===&lt;br /&gt;
*Fix: Fixed still messed-up /worlds command.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.430===&lt;br /&gt;
&#039;&#039;4 August 2010 - r144&#039;&#039;&lt;br /&gt;
*Fix: Fixed messed-up {{cmd|Worlds}} command. Sorry about that.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.429===&lt;br /&gt;
*Feature: Command-handler infrastructure has been redesigned. This will allow much more flexibility for devs and plugin makers later.&lt;br /&gt;
*Feature: &amp;quot;/help commands&amp;quot; now only shows available commands by default. Type &amp;quot;/help commands all&amp;quot; to see all commands.&lt;br /&gt;
*Feature: /worlds command now only available worlds by default. Type &amp;quot;/worlds all&amp;quot; to include worlds inaccessible to you.&lt;br /&gt;
*Feature: Help entries added for /zedit, /mark, /version, /rules, and /say.&lt;br /&gt;
*Feature: ConfigTool World tab columns are now sortable.&lt;br /&gt;
*Fix: Fixed &amp;quot;max backups&amp;quot; in ConfigTool being limited to 100. Now it&#039;s at a more reasonable limit of 100000.&lt;br /&gt;
*Fix: Fixed Map.Backup() deleting the newest (instead of the oldest) backup if the total number of files was limited.&lt;br /&gt;
*Fix: Fixed an ERROR that popped up if a player got disconnected during the login process (while player=null).&lt;br /&gt;
*Fix: FormatException crash fixed that caused whole server to go down instead of a player thread.&lt;br /&gt;
*Fix: Several draw-related bugs and crashes fixed.&lt;br /&gt;
*Fix: Fixed crash in /winfo when used on unloaded worlds.&lt;br /&gt;
*Fix: Fixed a bug in Config that caused antigrief to be re-enabled every load.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool that didn&#039;t update AntiGriefSeconds properly when changing between classes.&lt;br /&gt;
*Change: Many /help entries have been improved.&lt;br /&gt;
*Change: Split /class command into two: /classes (aka /ranks) shows a list of classes, and /class (aka /cinfo or /classinfo) shows permission list (missed from last release notes).&lt;br /&gt;
*Change: Added /spawn as an alias for /tp (missed from last release notes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.428===&lt;br /&gt;
*Feature: Line wrapping. Yes, finally.&lt;br /&gt;
*Feature: Per-class draw limits. Defaults are: owner unlimited, op unlimited, regular 4096 (16x16x16), guest 512 (8*8*8)&lt;br /&gt;
*Feature: Per-class antigrief detection. Defaults are: owner unmetered, op umetered, regular 45/6 (7.5 blocks/second), guest 35/5 (7 blocks/second)&lt;br /&gt;
*Feature: Memory usage of draw commands has been reduced by 6 bytes per block (37% improvement).&lt;br /&gt;
*Fix: Extra color codes fixed in /players command.&lt;br /&gt;
*Fix: Fixed a bug with /undo that caused more than one command to be undone at once.&lt;br /&gt;
*Fix: Fixed maps generated with &amp;quot;Realistic terrain&amp;quot; (MapGenerator) having an empty layer at the bottom of the map.&lt;br /&gt;
*Change: Default classes have been tweaked:&lt;br /&gt;
**regular can now use draw commands&lt;br /&gt;
**op can now lock/unlock&lt;br /&gt;
*Change: Improved arrangement of Permission list items.&lt;br /&gt;
*Change: Removed obsolete ConfigKey variables AntigriefBlockCount and AntigriefBlockInterval&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.427===&lt;br /&gt;
*Feature: Added /zedit command for changing zone permissions after creation&lt;br /&gt;
*Feature: New aliases for drawing commands: /c /e /h /r /m&lt;br /&gt;
*Fix: Fix for cuboid command kicking players with &amp;quot;Block.Undefined&amp;quot; if called with no optional BlockType parameter&lt;br /&gt;
*Fix: Fixed zone definitions getting corrupted.&lt;br /&gt;
*Fix: Allowed /save command to be used from console and from remote worlds. Previously you had to join the world to save it.&lt;br /&gt;
*Fix: Fixed potential crash in /winfo when looking up unloaded worlds.&lt;br /&gt;
*Fix: Fixed /zone allowing duplicate names, then kicking the client.&lt;br /&gt;
*Fix: Fixed /ztest showing the standard &amp;quot;you are not allowed to build in this zone&amp;quot; message instead of the expected zone list.&lt;br /&gt;
*Fix: Fixed incorrect description of draw log messages, and backup error messages&lt;br /&gt;
*Fix: Fixed false triggering of &amp;quot;Player asked to be released from its world, but the world did not contain the player&amp;quot; error&lt;br /&gt;
*Change: Fruitified fragmer&#039;s name &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.426===&lt;br /&gt;
*Feature: Announcements! You can define a list of announcements to show periodically. A random line from announcements.txt will be shown to all players at specified interval (in minutes).&lt;br /&gt;
*Feature: /replace command.&lt;br /&gt;
*Feature: /undo command has been improved for more flexibility and better performance.&lt;br /&gt;
*Feature: /winfo (alias: /mapinfo) is added for displaying world name, player count, map dimensions, and access/build permissions.&lt;br /&gt;
*Fix: Fixed a bug that caused duplicate entries to be added to PlayerDB when doing /importranks or /importbans.&lt;br /&gt;
*Change: New ConfigKeys: AnnouncementColor (default: green) and AnnouncementInterval (default: 5 minutes).&lt;br /&gt;
*Change: Draw command stride increased to 16x16x16, for better theoretical performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.425===&lt;br /&gt;
*Feature: Added hollow draw command (/cubh) and aliases (/cuboidh and /bhb)&lt;br /&gt;
*Feature: /players now shows class colors and a total number of players. Breakdown of /players by world is coming soon&lt;br /&gt;
*Feature: Added &amp;quot;Joined world WorldName&amp;quot; message that shows when changing worlds&lt;br /&gt;
*Fix: Improved several /help entries&lt;br /&gt;
*Fix: Fixed a bug in Map.SaveBackup() that could cause a crash if MaxBackups was set&lt;br /&gt;
*Fix: Fixed a bug in ConfigUI where &amp;quot;Delete World&amp;quot; button could leave the map file behind and/or cause an error&lt;br /&gt;
*Fix: Calling lock/unlock from console without a WorldName now shows a nicer error message&lt;br /&gt;
*Change: Improved safety checks of /join command&lt;br /&gt;
*Change: Added a catch-all exception handler into Server.MainLoop&lt;br /&gt;
*Change: Added exception handlers for EVERY single piece of code that requires file access&lt;br /&gt;
*Change: Added more thread safety in MapCommands.WorldRename that resolves a potential race condition with Map.Save&lt;br /&gt;
*Change: Modified IPBanList to use the standard temp folder (instead of fCraft working path) for its temp files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.424===&lt;br /&gt;
*Fix: Fixed /unhide and normal connection getting different messages&lt;br /&gt;
*Fix: Fixed client crash when viewing /rules if the rule file has blank lines&lt;br /&gt;
*Fix: Worlds with capital letters in the name are joinable again&lt;br /&gt;
*Fix: Potential crash in DoClassChange() if target player is already same rank AND is not currently on the server&lt;br /&gt;
*Change: Moved the command list to /help commands&lt;br /&gt;
*Change: Performance and thread-safety improvements to PlayerDB&lt;br /&gt;
*Change: Disabled some more debugging code to avoid taking up unnecessary resources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.423===&lt;br /&gt;
*Feature: /importbans now also supports &amp;quot;banned-ip.txt&amp;quot;&lt;br /&gt;
*Feature: Logs are now stored in /logs/ folder. Your fCraft.log file will be moved there automatically and renamed to &amp;quot;_OldLog.log&amp;quot;&lt;br /&gt;
*Feature: Log splitting now works by day or by session. Set &amp;quot;LogMode&amp;quot; key in config.xml or see Logging tab in ConfigTool.&lt;br /&gt;
*Feature: All maps are now stored in /maps/ folder. Your map files will be moved automatically first time you start ConfigTool/fCraftConsole/fCraftUI&lt;br /&gt;
*Feature: Reserved slots now work&lt;br /&gt;
*Fix: Fixed a bug in fCraft.Server.LoadWorldListXML that could make all worlds hidden.&lt;br /&gt;
*Fix: &amp;quot;player connected&amp;quot; message shown when someone connects, instead of just &amp;quot;player joined world&amp;quot;&lt;br /&gt;
*Fix: &amp;quot;player left the server&amp;quot; message is not shown if the player got kicked before LoginSequence finished (e.g. if server was full)&lt;br /&gt;
*Fix: Added back IP logging for incoming connections&lt;br /&gt;
*Fix: Fixed ConfigTool-generated maps not having correct spawn point&lt;br /&gt;
*Fix: Fixed /user showing both promote and demote messages at once&lt;br /&gt;
*Fix: Removed references to old &amp;quot;/drawundo&amp;quot; command name in &amp;quot;/undo&amp;quot; messages&lt;br /&gt;
*Fix: Fixed &amp;quot;Unrecognized entry ignored: LegacyRankMapping =&amp;quot; warning&lt;br /&gt;
*Change: Made /importbans and /importranks save PlayerDB at once&lt;br /&gt;
*Change: fCraft now forcibly resets its working directory to the same path where the executable is&lt;br /&gt;
*Change: Removed &amp;quot;delete old file?&amp;quot; prompt when renaming worlds in AddWorldPopup. Now it just does it, to match tabWorlds&#039; DataGridView behavior&lt;br /&gt;
*Change: Added additional error checks to Map.Backup() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.422===&lt;br /&gt;
*Feature: Further improved network performance by introducing nonblocking (lock-free) data structure to packet output buffer&lt;br /&gt;
*Fix: Fixed &amp;quot;world creation failed&amp;quot; error if worlds.xml defined a non-existing world to be main&lt;br /&gt;
*Fix: Added back missing messages when doing /user on offline users&lt;br /&gt;
*Fix: Fixed player name color not being updated when their class changes&lt;br /&gt;
*Fix: Added missing /help entries for /importbans and /importranks&lt;br /&gt;
*Change: Improved help messages for /lock, /unban, /unbanip, /undo, /wload, /wmain, and /wremove&lt;br /&gt;
*Change: Tweaked default values of BlockUpdateThrottling and maxBlockUpdatesPerTick for maximum lag-free performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.421===&lt;br /&gt;
*Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players&lt;br /&gt;
*Feature: Added the ability to ban unseen players&lt;br /&gt;
*Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated &amp;quot;Import&amp;quot; permission was added. See &amp;quot;/help importbans&amp;quot; and &amp;quot;/help importranks&amp;quot; for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.&lt;br /&gt;
*Feature: Improved BlockUpdateQueue performance (faster drawing commands!) by switching to a lock-free data structure&lt;br /&gt;
*Fix: Fixed startup errors not being logged if config.xml has not been parsed yet&lt;br /&gt;
*Fix: Fixed ConfigUI input box not aligning properly when window is resized&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; generated maps being 1 block off vertically&lt;br /&gt;
*Change: Updated PlayerDB and IPBanList to use standard temporary folder (instead of dumping temp files into fCraft directory)&lt;br /&gt;
*Change: Added &amp;quot;logging starts&amp;quot; marker that&#039;s written to console and log on-startup&lt;br /&gt;
*Change: fCraftUI log now displays the last 2000 lines (up from 1000 lines)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.420===&lt;br /&gt;
*Feature: New &amp;quot;Worlds&amp;quot; tab in ConfigTool for managing your world list&lt;br /&gt;
*Feature: Isometric map previews and map generation in ConfigTool&lt;br /&gt;
*Feature: Implemented a class-ID system that allows adding/renaming/deleting classes without breaking compatibility. DeleteClassPopup was added for this&lt;br /&gt;
*Feature: Added LimitOneConnectionPerIP option to config &amp;amp; configtool&lt;br /&gt;
*Feature: Worlds can now be hidden from the /worlds list&lt;br /&gt;
*Feature: Added /whois command for checking if a player is using real name or nickname. BE CAREFUL WITH &amp;quot;ChangeName&amp;quot; PERMISSION!&lt;br /&gt;
*Feature: fCraft now generates crash.txt on unhandled fatal errors&lt;br /&gt;
*Feature: Implemented theme support, and added 2 new terrain types (Coast and River) for MapGenerator. See &amp;quot;/help gen&amp;quot; for details, or use ConfigTool.&lt;br /&gt;
*Feature: Pressing Up/Down keys in fCraftUI will show previously typed commands.&lt;br /&gt;
*Fix: Fixed a bug in /wmain and /wload that sometimes made the server unconnectable after changing map&lt;br /&gt;
*Fix: Limits on the /kick command now apply correctly&lt;br /&gt;
*Fix: Fixed /wbuild and /waccess showing wrong messages&lt;br /&gt;
*Fix: Fixed hidden players unable to build due to grief protection&lt;br /&gt;
*Fix: Added /nick and /whois entries to /help&lt;br /&gt;
*Fix: Removed the ability to call draw commands from console (caused crash)&lt;br /&gt;
*Fix: Fixed /lava checking PlaceWater permission instead of PlaceLava&lt;br /&gt;
*Fix: A debug message about &amp;quot;attempting to unregister an non-existent player&amp;quot; is no longer logged every time VerifyNames fails&lt;br /&gt;
*Fix: When using /where command on other players, correct coordinates are now shown]&lt;br /&gt;
*Fix: Player&#039;s classes are now updated in fCraftUI list when promoted/demoted&lt;br /&gt;
*Fix: PMs are now logged as LogType.PrivateChat (instead of generic LogType.WorldChat)&lt;br /&gt;
*Fix: /hide and /unhide now use Color.Sys instead of hardcoded Color.Yellow&lt;br /&gt;
*Fix: Player&#039;s nicknames (as set by /nick) are applied correctly and preserved when changing worlds&lt;br /&gt;
*Fix: Added missing checks for &amp;quot;Chat&amp;quot; permissions&lt;br /&gt;
*Fix: Color buttons in ConfigTool now show correct background color under Mono&lt;br /&gt;
*Fix: Fixed help entry to /freeze showing incorrect information&lt;br /&gt;
*Fix: Corrected tab order in all ConfigTool forms&lt;br /&gt;
*Change: Added /blb as another alias for /cuboid&lt;br /&gt;
*Change: Removed ReservedSlotBehavior config key&lt;br /&gt;
*Change: Disabled word wrapping in rules.txt editor popup&lt;br /&gt;
*Change: /unhide now resets the player&#039;s nick&lt;br /&gt;
*Change: Both player&#039;s real name and nickname (if any) are now recorded in the log&lt;br /&gt;
*Change: Added a warning to /info when looking up nicknames (instead of real names)&lt;br /&gt;
*Change: Heartbeat salt generation (used to verify names) is now more secure&lt;br /&gt;
*Change: Removed CanPlaceHardenedBlocks from permission list&lt;br /&gt;
*Change: All map generator terrain types have been tweaked for improved appearence&lt;br /&gt;
*Change: Centered all ConfigTool popup windows (AddWorldPopup, ColorPicker, DeleteClassPopup, TextEditorPopup)&lt;br /&gt;
*Change: Hid unneeded icons and buttons from ConfigTool popups&lt;br /&gt;
*Change: Changed the way zones store rank restriction (as part of the compatibility assurance), and added versioning to zone definitions&lt;br /&gt;
*Change: Map.Save() now creates temporary files in the OS-specific temporary folder, not in same folder where fCraft is installed&lt;br /&gt;
*Change: World permissions are now updated automatically when a class is deleted&lt;br /&gt;
*Refactor: Improved consistency in code naming conventions, especially in IRC code&lt;br /&gt;
*Refactor: Improved code organization in many areas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.410===&lt;br /&gt;
*Implemented per-world access and build permissions.&lt;br /&gt;
*Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.&lt;br /&gt;
*New world-related commands:&lt;br /&gt;
**/wmain changes the main world&lt;br /&gt;
**/waccess and /wbuild allow setting per-world permissions&lt;br /&gt;
**/wremove allows deleting worlds&lt;br /&gt;
**/wrename allows renaming worlds without reloading&lt;br /&gt;
**/wload command is significantly improved (see /help wload for more info). The functionality of the old /load command has been merged with /wload. Now /load is an alias for /join, together with /l, /j, and /goto.&lt;br /&gt;
*Removed SaveAndLoad permission - it became redundant with ManageWorlds. Please check your config to ensure that permissions remain consistent.&lt;br /&gt;
*Added new and previously-missing (/lockall, /unlockall, /where, /me, /rules, /setspawn) commands to /help.&lt;br /&gt;
*Disabled verify-names check for localhost (127.0.0.1) when running in Balanced mode.&lt;br /&gt;
*When player is denied access to some command, server now names the specific permission that&#039;s needed.&lt;br /&gt;
*Fixed a potential desync issue when one player rejoins a world, and another joins it simultaneously.&lt;br /&gt;
*Removed /genh command and /compass alias for the /where command.&lt;br /&gt;
*Added a fail-safe exception check when executing console commands. Now the server will stay up even if an exception occurs while executing console command.&lt;br /&gt;
*Improved the way server reacts to fatal errors on startup. Now there is a clear indication that server cannot start.&lt;br /&gt;
*&amp;quot;default map&amp;quot; is now referred to as &amp;quot;main world&amp;quot; for consistency. &lt;br /&gt;
*Improved garbage collection.&lt;br /&gt;
&lt;br /&gt;
===0.405===&lt;br /&gt;
*Added back support for vanilla (server_level.dat) maps.&lt;br /&gt;
*Fixed MCSharp importer leaving nonstandard blocks in the map, causing client crashes. Now all MCSharp-specific blocks are converted to normal types.&lt;br /&gt;
*Fixed visual player list not updating in fCraftUI.&lt;br /&gt;
*Added /players command to list ALL players on the server (in all worlds)&lt;br /&gt;
*Made the BlockType parameter optional for /cuboid and /ellipsoid. Now it takes blocktype of the second click (or last-previously-used-blocktype when using /mark) in the absence of the optional parameter.&lt;br /&gt;
*ConfigTool: Added a new tab for IRC setting.&lt;br /&gt;
*ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.&lt;br /&gt;
*IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.&lt;br /&gt;
*IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot. &lt;br /&gt;
*IRC: Fixed a bug with infinite reconnects on receiving error 433 Nickname already in use.&lt;br /&gt;
*Zones: Changed behavior of overlapping zones:&lt;br /&gt;
**Before: To touch a block, AT LEAST ONE zone has to allow it&lt;br /&gt;
**Now: To touch a block, ALL ZONES have to allow it&lt;br /&gt;
*Zones: Added /ztest command that lists all zones affecting a particular block. It can be used to detect and resolve zone overlaps.&lt;br /&gt;
*Zones: Added proper /help entries for /zone, /zones, /zremove, and /ztest, and contextual help for /zone and /zones.&lt;br /&gt;
*Zones: Made zone commands inaccessible from console (it would cause a crash, since zones are world-specific).&lt;br /&gt;
*Fixed OnPlayerDisconnected and OnPlayerListChanged sometimes firing at the wrong time.&lt;br /&gt;
*Added better error handling to Map.Save() in case the target file is not writable.&lt;br /&gt;
*Updated /help entries for /lock, /unlock, and /load commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.404===&lt;br /&gt;
*Fixed zone borders being off by 1 block.&lt;br /&gt;
*Fixed a rare crash on shutdown.&lt;br /&gt;
*Fixed heartbeat reporting incorrect port number to heartbeat if the port specified in config was not available.&lt;br /&gt;
*Adjusted default class permissions slightly, by popular demand:&lt;br /&gt;
**regulars can now place Water and Lava&lt;br /&gt;
**ops can now use draw commands&lt;br /&gt;
*IRC: Added a config option &#039;IRCMsgs&#039; to toggle join/leave messages on/off. Default is disabled to prevent massive spam.&lt;br /&gt;
*IRC: Fixed a possible crash in IRCComm, related to static initializers.&lt;br /&gt;
*ConfigTool: Fixed many bugs in permission checkbox list.&lt;br /&gt;
*ConfigTool: Added visual editor for rules.txt&lt;br /&gt;
*ConfigTool: Added stub tab for IRC settings (coming soon).&lt;br /&gt;
&lt;br /&gt;
===0.403===&lt;br /&gt;
*Fixed spawnpoint being read incorrectly when using /load.&lt;br /&gt;
*Added a note to ban*/unban* commands that&#039;s shown when player name is not found: &amp;quot;Use the FULL player name for ban/unban commands.&amp;quot;&lt;br /&gt;
*Fixed a thread crash (not server-wide crash) in Session.IoLoop that can be caused by corrupted or malicious handshake packets.&lt;br /&gt;
*Fixed a potential crash when using /info on offline players from console.&lt;br /&gt;
*Fixed a potential crash when using /gen from console.&lt;br /&gt;
*Added more fail-safe checks that ensure that map spawn point is always within the map boundaries.&lt;br /&gt;
*Started logging IPs of connections that try sending corrupted or malicious handshake packets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.402===&lt;br /&gt;
*Added back /load command, and hooked up MCC. Currenly supported: fCraft/fcm, MCSharp/lvl, indev/mclevel, MinerCPP and LuaCraft (dat). Vanilla support coming soon.&lt;br /&gt;
*Fixed worlds being unloaded before all block updates are processed (thus aborting draw commands).&lt;br /&gt;
*Fixed several potential multiworld-related crashes and freezes.&lt;br /&gt;
*Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.&lt;br /&gt;
*IRC: Added an information message to notify users of the IRC Bot&#039;s online status when joining the server.&lt;br /&gt;
*IRC: Added the ability to send NOTICES.&lt;br /&gt;
*IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.&lt;br /&gt;
*IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.&lt;br /&gt;
*Drawing-related state is now reset when changing worlds.&lt;br /&gt;
*Added a limiter to the number of block updates that can be processed per tick (even if there are no players in a world). Fixes server becoming unresponsive when doing enormous drawing commands (millions of blocks).&lt;br /&gt;
*Allowed players to /join the world that they are already on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.401===&lt;br /&gt;
*&#039;&#039;&#039;IDLE/AFK CHECKING&#039;&#039;&#039; This is configurable per-class.&lt;br /&gt;
*Added /version command, and added revision to the version string.&lt;br /&gt;
*Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands. &lt;br /&gt;
*Removed all references to the old pre-multiworld &amp;quot;map.fcm.&amp;quot; Backups now work again. &lt;br /&gt;
*Fixed players not spawning in the right place when changing worlds.&lt;br /&gt;
*IRC Bot will now handle terminations by the IRCd and restart itself upon any errors. &lt;br /&gt;
*IRC Bot can now send from inside the server TO IRC! Use the prefix &#039;#&#039; in-game to send any message to IRC. Forwarding all server chat may be added if requested. To send from the bot to the server, use the bot&#039;s nickname and either &#039;:&#039;, &#039;,&#039; or nothing, then your message.&lt;br /&gt;
*Improved performance of the IRC bot and the task scheduler.&lt;br /&gt;
*Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn&#039;t exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.&lt;br /&gt;
*Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after &#039;#&#039; in server chat.&lt;br /&gt;
*Handshake packet is now written when doing /join, to replace MOTD with a more informative &amp;quot;Now loading [worldname]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.400===&lt;br /&gt;
*&#039;&#039;&#039;MULTIWORLD&#039;&#039;&#039; It&#039;s finally here. See /help for information on new commands: /worlds, /wload, /join&lt;br /&gt;
*Added a persistent world list, saved in worlds.txt - this is subject to change. The file contains a list of world names, each corresponding to an .fcm file. The first world listed at the top of worlds.txt is the default/main one.&lt;br /&gt;
*&#039;&#039;&#039;IRC BOT&#039;&#039;&#039; Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.&lt;br /&gt;
*A field has been added in the config to allow forwarding ALL IRC CHANNEL TRAFFIC to the server. This will override the prefix and make it inactive. &#039;IRCBotForwardAll&#039; is set to false by default.&lt;br /&gt;
*&#039;&#039;&#039;ZONES&#039;&#039;&#039; It is now possible to make guest zones and op zones (and anything in-between) on any map. See /help for information on new commands: /zones, /zone, /zremove.&lt;br /&gt;
*Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.&lt;br /&gt;
*Added /compass command (aka /where).&lt;br /&gt;
*Fixed players sometimes not seeing their /kick message.&lt;br /&gt;
*Added a way to teleport to specific coordinates (/tp x y h)&lt;br /&gt;
*Fixed heartbeats timing out when running fCraft under Mono.&lt;br /&gt;
*Fixed Config.ApplyConfig setting the wrong server throttling variables.&lt;br /&gt;
*Fixed air blocks appearing underwater when using /gen&lt;br /&gt;
*Tweaked /gen parameters to make &amp;quot;island&amp;quot; a bit less ugly.&lt;br /&gt;
*Updated text in fCraftConsole.&lt;br /&gt;
&lt;br /&gt;
=0.3xx=&lt;br /&gt;
===0.330===&lt;br /&gt;
*Added /cuboid and /ellipsoid drawing commands.&lt;br /&gt;
*Improved memory usage.&lt;br /&gt;
*Added &amp;quot;Draw&amp;quot; permission, and made /draw check &amp;quot;DeleteAdmincrete&amp;quot; permission when replacing blocks, and removed unused &amp;quot;PlaceGlitchedSand&amp;quot; permission.&lt;br /&gt;
*Added &amp;quot;Port&amp;quot; and &amp;quot;BackupOnlyWhenChanged&amp;quot; config lines, and corresponding ConfigTool fields.&lt;br /&gt;
*Fixed bug that deleted ALL backups when you check &amp;quot;don&#039;t delete old backups.&amp;quot; That was embarrassing.&lt;br /&gt;
&lt;br /&gt;
===0.325===&lt;br /&gt;
*Added an experimental low-latency mode (faster server response, but more bandwidth required).&lt;br /&gt;
*Improved hacking detection: added anti-chat-spam and anti-grief (block spam) checks.&lt;br /&gt;
*New more aggressive anti-hacking checks for incoming movement and SetTile packets.&lt;br /&gt;
*Fixed an issue with fCraftUI console log getting truncated in the wrong places.&lt;br /&gt;
*Improved Mono compatibility (fixes HttpWebRequest failures).&lt;br /&gt;
&lt;br /&gt;
===0.324===&lt;br /&gt;
*Added /me command.&lt;br /&gt;
*Added step stacking.&lt;br /&gt;
*Fixed a case where disconnected players would leave a ghost behind.&lt;br /&gt;
*Improved shutdown speed.&lt;br /&gt;
*Implemented ProcessPriority setting.&lt;br /&gt;
&lt;br /&gt;
===0.323===&lt;br /&gt;
*Fixed players not being able to delete admincrete after promotion.&lt;br /&gt;
*Fixed a bug that allowed players to noclip into walls when using /tp or /bring.&lt;br /&gt;
*Fixed a security issue with &amp;quot;VerifyNames: Balanced&amp;quot;&lt;br /&gt;
*Added prototype of the security tab in ConfigTool (work in progress).&lt;br /&gt;
&lt;br /&gt;
===0.322===&lt;br /&gt;
*Added a range check to Player.SetTile, to prevent certain types of grief bots.&lt;br /&gt;
*Fixed a bug where map spawnpoint did not change after doing /load.&lt;br /&gt;
*Fixed some typos.&lt;br /&gt;
&lt;br /&gt;
===0.321===&lt;br /&gt;
*Fixed welcome messages not showing.&lt;br /&gt;
*Renamed /alias to /nick, and added a permission check.&lt;br /&gt;
&lt;br /&gt;
===0.320===&lt;br /&gt;
*Finally last fix for the disconnect problem. Sorry about that.&lt;br /&gt;
&lt;br /&gt;
===0.319===&lt;br /&gt;
*Quick fix for disconnect problem.&lt;br /&gt;
&lt;br /&gt;
===0.318===&lt;br /&gt;
*Fixed VerifyNames not saving properly when using ConfigTool.&lt;br /&gt;
*Fixed several potential crashers in Session and World.&lt;br /&gt;
*Fixed a bug that sometimes wrongly showed &amp;quot;class name not recognized&amp;quot;.&lt;br /&gt;
*Added class name autocompletion for class chat (@@classname blah)&lt;br /&gt;
*Started working on the new /load mode that allows loading different sized maps, and loading much faster (not done yet).&lt;br /&gt;
&lt;br /&gt;
===0.317===&lt;br /&gt;
*Optimized handling of player movement and some block/tile updates, making servers more responsive and less laggy.&lt;br /&gt;
*Fixed a possible crash that sometimes happened when server has 1 slot left and 2 people tried to join at once.&lt;br /&gt;
*Fixed a case where a Session object was not properly disposed.&lt;br /&gt;
*Fixed resizing issue in UpdateWindow and reduced connection timeout in Updater&lt;br /&gt;
*Disabled ShowPrefixesInChat and ShowPrefixesInList by default (breaks skin support)&lt;br /&gt;
*Added Player.Send, a safe wrapper for Player.session.Send&lt;br /&gt;
*Fixed /tp, /bring, and /setspawn commands that were broken in the last revision.&lt;br /&gt;
*Fixed ConfigTool not saving &amp;quot;IsPublic&amp;quot; setting correctly.&lt;br /&gt;
&lt;br /&gt;
===0.316===&lt;br /&gt;
*Added partial class-name matching for /class and /user commands.&lt;br /&gt;
*Fixed /banip and /banall not kicking the banned players immediately.&lt;br /&gt;
*Added /rules command. Create &amp;quot;rules.txt&amp;quot; in the server folder to specify.&lt;br /&gt;
*Fixed a bug where player movement sometimes got a little out of sync.&lt;br /&gt;
*Optimized /load speed a bit.&lt;br /&gt;
*Added nicer application icons.&lt;br /&gt;
&lt;br /&gt;
===0.315===&lt;br /&gt;
*Added visual color picker to ConfigTool&lt;br /&gt;
*Added lightweight console interface for fCraft&lt;br /&gt;
*Refactored the main update loop&lt;br /&gt;
&lt;br /&gt;
===0.314===&lt;br /&gt;
*Added AutomaticUpdates option.&lt;br /&gt;
*Integrated the color picker to ConfigTool.&lt;br /&gt;
*Improved hacking detection.&lt;br /&gt;
&lt;br /&gt;
===0.313===&lt;br /&gt;
*Fixed a few glitches left after switching file formats.&lt;br /&gt;
*Improved memory usage when saving maps.&lt;br /&gt;
*Fixed an updater-related crash.&lt;br /&gt;
&lt;br /&gt;
===0.312===&lt;br /&gt;
*New map format (FCM v2) should provide faster loading times.&lt;br /&gt;
*server_level.dat loader is now functional.&lt;br /&gt;
*Fixed possible crash if the default port was not available.&lt;br /&gt;
*Automatic updater should now work properly. More update options to come.&lt;br /&gt;
&lt;br /&gt;
===0.311===&lt;br /&gt;
*Preview version of automatic updater.&lt;br /&gt;
&lt;br /&gt;
===0.310===&lt;br /&gt;
*Cleaned up some VC# crapfiles.&lt;br /&gt;
*Added class prefixes and colors.&lt;br /&gt;
*Added PlaceWater and PlaceLava back to permissions.&lt;br /&gt;
*Fixed rank-limited permissions.&lt;br /&gt;
*Other assorted glitches fixed.&lt;br /&gt;
&lt;br /&gt;
===0.305===&lt;br /&gt;
*removed config.xml from svn.&lt;br /&gt;
&lt;br /&gt;
===0.304===&lt;br /&gt;
*More potential crashes fixed.&lt;br /&gt;
&lt;br /&gt;
===0.303===&lt;br /&gt;
*Fixed a couple potential crashes in ConfigTool and Config.DefineClass&lt;br /&gt;
&lt;br /&gt;
===0.302===&lt;br /&gt;
*Fixed a few minor ConfigTool bugs.&lt;br /&gt;
&lt;br /&gt;
===0.301===&lt;br /&gt;
*Forgot to save config from World.cs after parsing. Minor update.&lt;br /&gt;
&lt;br /&gt;
===0.300===&lt;br /&gt;
*ConfigTool finished. Note that some of the options do not have an effect yet.&lt;br /&gt;
&lt;br /&gt;
=Before 0.3xx=&lt;br /&gt;
*Version history was not kept before this point.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Version_history&amp;diff=2642</id>
		<title>Version history</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Version_history&amp;diff=2642"/>
		<updated>2017-04-30T06:49:20Z</updated>

		<summary type="html">&lt;p&gt;F: /* 0.432 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
=0.6xx=&lt;br /&gt;
===0.644===&lt;br /&gt;
&#039;&#039;27 January 2014 - r2327&#039;&#039;&lt;br /&gt;
*Fix: Fixed a bug that caused character &#039;@&#039; in player names to be treated same as &#039;_&#039; (thanks Dingus)&lt;br /&gt;
*Fix: Fixed a rare crash in {{cmd|ZEdit}} when using the command improperly.&lt;br /&gt;
*Fix: Fixed a DataError being thrown in ConfigGUI&#039;s &amp;quot;Worlds&amp;quot; tab after toggling rank prefixes on/off.&lt;br /&gt;
*Fix: Improved error reporting.&lt;br /&gt;
*Change: Improved reliability of external IP checks.&lt;br /&gt;
&lt;br /&gt;
===0.643===&lt;br /&gt;
&#039;&#039;15 October 2013 - r2234&#039;&#039;&lt;br /&gt;
*Fix: Fixed sometimes wrapping last word of a chat message to the next line, when the whole message could fit on one line (thanks AndrewPH).&lt;br /&gt;
*Fix: Installing updates no longer causes UAC prompts under Windows Vista.&lt;br /&gt;
*Fix: Fixed IRC periodically crashing if someone quits with an empty message.&lt;br /&gt;
*Fix: Fixed IRC-related crashes not being submitted to the crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.642===&lt;br /&gt;
&#039;&#039;27 August 2013 - r2180&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Fill3D}}.&lt;br /&gt;
*Feature: Added caret (^), tilde (~), and grave accent (`) to [[emotes]].&lt;br /&gt;
*Fix: Emotes work via IRC once again.&lt;br /&gt;
*Fix: ConfigGUI: Fixed &amp;quot;Add world&amp;quot; and &amp;quot;Edit world&amp;quot; popups sometimes locking up.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving LastFailedLoginIP properly.&lt;br /&gt;
*Change: Made it easy to switch heartbeat servers (minecraft.net to classicube or back) via ConfigGUI.&lt;br /&gt;
*Change: Added an optional second parameter to {{cmd|DumpStats}}, which allows specifying period of inactivity for filtering players.&lt;br /&gt;
*Change: Improved startup and shutdown times, and reduced CPU use.&lt;br /&gt;
*Change: {{cmd|Hide}} and {{cmd|Unhide}} now indicate when they are silent or not.&lt;br /&gt;
&lt;br /&gt;
===0.641===&lt;br /&gt;
&#039;&#039;17 August 2013 - r2150&#039;&#039;&lt;br /&gt;
*Feature: Improved the way {{cmd|EllipsoidH}} works on flat surfaces. Instead of filled ellipses, it now makes rings.&lt;br /&gt;
*Feature: Added {{cmd|Reply}} (&amp;lt;code&amp;gt;/re&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: {{cmd|Fill2D}} can now fill with any brush, not just solid color.&lt;br /&gt;
*Feature: Added &#039;&#039;HeartbeatUrl&#039;&#039; [[List of config keys#Advanced|config key]], to allow alternative heartbeat/authentication services. &#039;&#039;&#039;Note: [[HeartbeatSaver]] only needs to be updated IF you plan on using something other than minecraft.net&#039;&#039;&#039;&lt;br /&gt;
*Fix: Fixed a InvalidOperationException in ConfigGUI when re-drawing the map preview (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;Realistic&amp;quot; MapGen help (thanks Jonty800).&lt;br /&gt;
*Fix: Now correctly kicking custom premium-MC clients.&lt;br /&gt;
*Fix: Fixed help messages in [[HeartbeatSaver]] and {{cmd|MassRank}}.&lt;br /&gt;
*Fix: Fixed a potential way of revealing hidden players by messaging them.&lt;br /&gt;
*Change: ConfigGUI&#039;s port checker works again.&lt;br /&gt;
*Change: IRC bot will now retry for its primary nick every 30 seconds (thanks Dankirk).&lt;br /&gt;
&lt;br /&gt;
===0.640===&lt;br /&gt;
&#039;&#039;30 July 2013 - r2124&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Feature: [[Mojang accounts|Mojang account]] (email) support.&#039;&#039;&#039; Added {{perm|ViewEmails}} permission and a config option to disallow email users.&lt;br /&gt;
*Feature: Overhauled map generation! Improved {{cmd|Gen}}, new {{cmd|SetGen}} command, more options, preset loading/saving, redesigned ConfigGUI interface, and two new map generation modes: Vanilla (from [http://femto.fcraft.net FemtoCraft]) and FloatingIsland.&lt;br /&gt;
*Feature: Optional [http://www.regular-expressions.info/quickstart.html RegEx] filtering of filenames for [[MapRenderer]] and [[MapConverter]], enabled by &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Feature: Added &amp;lt;i&amp;gt;&amp;quot;Player ___ logged in from an IP shared by frozen players...&amp;quot;&amp;lt;/i&amp;gt; announcement.&lt;br /&gt;
*Feature: Added an optional parameter to toggle commands (grass, water, lava, solid, paint, static) &amp;amp;mdash; &amp;quot;on&amp;quot;/&amp;quot;1&amp;quot; or &amp;quot;off&amp;quot;/&amp;quot;0&amp;quot;.&lt;br /&gt;
*Feature: Added BackupOnMapChange config key, which automates backups when a world&#039;s map is replaced by /Gen or /WLoad (enabled by default).&lt;br /&gt;
*Feature: Added &amp;lt;code&amp;gt;/To&amp;lt;/code&amp;gt; as an alias of {{cmd|TP}}, and &amp;lt;code&amp;gt;/Flush&amp;lt;/code&amp;gt; as an alias for {{cmd|WFlush}}.&lt;br /&gt;
*Feature: [[MapRenderer]] is now much quicker, thanks to optimization and multithreading.&lt;br /&gt;
*Feature: Added ability to change capitalization of player&#039;s name using {{cmd|SetInfo}}.&lt;br /&gt;
*Fix: Fixed MapGenerator sometimes locking up when working with tiny 16x16 maps (thanks 123DMWM).&lt;br /&gt;
*Fix: Fixed world greetings not being saved between restarts (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed {{cmd|WLoad}} showing incorrect map file names when prompting to replace files (thanks Smokeybacon).&lt;br /&gt;
*Fix: Fixed [[Command_Tips#Restricting_player_name_search|online-only name prefix]] revealing hidden players in some commands (thanks Intertoothh and recon).&lt;br /&gt;
*Fix: When a spectating player gets frozen, they are no longer stuck spectating (thanks ruggedbear and NuclearWaffle121).&lt;br /&gt;
*Fix: IRC now handles two-number color codes and reset codes correctly (thanks Liam).&lt;br /&gt;
*Fix: Fixed map changes sometimes leaving behind &amp;quot;ghost maps&amp;quot; for players with rank-specific main maps set (thanks Jonty800).&lt;br /&gt;
*Fix: PlayerDB name autocompletion now correctly handles players with &#039;.&#039; in their names.&lt;br /&gt;
*Fix: Timed backups no longer drift slightly every hour.&lt;br /&gt;
*Fix: Players can now {{cmd|Clear}} their chat even while [[/Deafen|deaf]].&lt;br /&gt;
*Fix: Fixed a rare serialization issue with PlayerDB&#039;s RankChangedBy field.&lt;br /&gt;
*Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Now only allow either one directory, or one-or-more files to be specified. Multiple directories, and mixed directories/files are no longer allowed.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Disabled slow fallback conversion by default (which caused non-map files to take forever to skip in recursive mode). Old behavior can be reenabled with &amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Change: When auto-updating or restarting under Mono, fCraft no longer tries to use &amp;quot;mono-sgen&amp;quot;, now just using &amp;quot;mono&amp;quot; and assuming that runtime is properly configured.&lt;br /&gt;
*Change: {{cmd|WBuild}} and {{cmd|WAccess}} can optionally now take &amp;quot;@&amp;quot; in front of rank name.&lt;br /&gt;
*Change: Removed BackupOnJoin config key.&lt;br /&gt;
*Change: UpdateInstaller&#039;s &amp;lt;code&amp;gt;--restart&amp;lt;/code&amp;gt; parameter is more flexible.&lt;br /&gt;
*Change: Dropped Mono 2.6 support.&lt;br /&gt;
*Change: Optimizations in player movement code, PlayerDB loading/saving, IP ban list loading, map generation, map rendering, {{cmd|Ellipsoid}}, and {{cmd|Sphere}}.&lt;br /&gt;
&lt;br /&gt;
===0.639===&lt;br /&gt;
&#039;&#039;10 December 2012 - r1917&#039;&#039;&lt;br /&gt;
*Feature: Added RankPrefixesOnDisplayedNames config key (default: false), which controls whether to prepend rank prefixes to names of players with a custom DisplayedName set.&lt;br /&gt;
*Feature: Added BypassHttpsCertificateValidation config key (default: false), to ease HTTPS-related pains under Mono.&lt;br /&gt;
*Feature: Added MoveEmoteDotToEndOfMessage config key (default: true), which slightly changes emote formatting, by BobKare&#039;s request.&lt;br /&gt;
*Fix: Fixed a stability issue in the IRC bot.&lt;br /&gt;
*Fix: Fixed incorrect runtime version detection for Mono versions older than 2.6.&lt;br /&gt;
*Fix: Server now gives more informative messages when you try to do something disallowed to yourself (mute, unfreeze, ban, kick, etc).&lt;br /&gt;
*Fix: Fixed being able to teleport to hidden players (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed {{cmd|Unhide}} not faking a join message for hidden players (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed IRC bot sending USER before NICK (fixes occasional error 451) (thanks Hellenion).&lt;br /&gt;
*Change: Added ability to set players&#039; BandwidthUseMode via {{cmd|SetInfo}}.&lt;br /&gt;
*Change: Improved {{cmd|Env}}, {{cmd|UndoAreaNot}}, and {{cmd|Help}} messages.&lt;br /&gt;
*Change: Players&#039; connection messages in logs now include TimesVisited stat.&lt;br /&gt;
*Change: {{cmd|Help|commands}} is no longer an alias for {{cmd|Commands}} (thanks ruggedbear).&lt;br /&gt;
&lt;br /&gt;
===0.638===&lt;br /&gt;
&#039;&#039;29 November 2012 - r1887&#039;&#039;&lt;br /&gt;
*Feature: [[Emotes|Emote]] keywords and their Unicode equivalents can now be included in announcement and rule files.&lt;br /&gt;
*Feature: IRC bot now sends a quit message consisting of server name and shutdown reason.&lt;br /&gt;
*Fix: Fixed a very small chance of PlayerInfo.TimeMutedLeft returning negative time spans.&lt;br /&gt;
*Fix: Leading and trailing spaces are now trimmed from kick/ban/unban reasons.&lt;br /&gt;
*Fix: Fixed some emotes getting trimmed from {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} (thanks Intertoothh)&lt;br /&gt;
*Fix: Fixed RestartInterval starting two chat timers (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed ServerCLI using console colors for the first few messages even if &amp;lt;code&amp;gt;--noconsolecolor&amp;lt;/code&amp;gt; [[List of command-line options|command-line switch]] was given (thanks Hellenion)&lt;br /&gt;
*Change: Added &amp;lt;code&amp;gt;--noupdater&amp;lt;/code&amp;gt; command line switch, which stops fCraft from launching update installer binaries (although all other update-related behavior remains the same)&lt;br /&gt;
*Change: Player&#039;s own name is no longer considered in autocompletion/searches for commands that are not applicable to self (e.g. {{cmd|Ban}}, {{cmd|Mute}}, {{cmd|Ignore}}, {{cmd|TP}}, etc)&lt;br /&gt;
*Change: Logged global chat messages now have &amp;quot;(global)&amp;quot; prepended before player&#039;s name.&lt;br /&gt;
*API: Updated trunk project files to VisualStudio 2010. Target runtime remains .NET 3.5 Client Profile.&lt;br /&gt;
&lt;br /&gt;
===0.637===&lt;br /&gt;
&#039;&#039;16 October 2012 - r1847&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Emotes}} command, to list emotes and their keywords.&lt;br /&gt;
*Fix: Fixed IRC bot cutting off very long messages.&lt;br /&gt;
*Fix: Fixed {{cmd|Info}} not working with some IP ranges (thanks _BjorN64_).&lt;br /&gt;
*Fix: Fixed single-letter emote keywords not working (thanks Wundsalz).&lt;br /&gt;
*Fix: Improved the way IRC bot handles nick conflicts (thanks Jonty800).&lt;br /&gt;
*Fix: {{cmd|DumpStats}} no longer dies when an invalid file name is given (thanks Hellenion).&lt;br /&gt;
*Change: Added a new build configuration, DEBUG_NETWORKING, which traces all incoming and outgoing packets.&lt;br /&gt;
*Change: IRC bot now logs all outgoing messages when built in DEBUG_IRC configuration.&lt;br /&gt;
&lt;br /&gt;
===0.636===&lt;br /&gt;
&#039;&#039;10 October 2012 - r1832&#039;&#039;&lt;br /&gt;
*Feature: Check your configs! New options were added to control display of colors and emotes to/from IRC.&lt;br /&gt;
*Feature: Added {house} [[emotes|emote]]: ⌂ (0x7F).&lt;br /&gt;
*Fix: Fixed newline codes %n/%N not being parsed properly.&lt;br /&gt;
*Fix: Fixed a crash in Color.StripColors (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed random symbols appearing in stack traces in console (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed couple problems with Player.Moving event (thanks 00pol).&lt;br /&gt;
*Fix: Spawn points of MCSharp map files are now loaded correctly (thanks 00pol).&lt;br /&gt;
*Change: Players&#039; DisplayedNames may no longer contains line breaks.&lt;br /&gt;
&lt;br /&gt;
===0.635===&lt;br /&gt;
&#039;&#039;8 October 2012 - r1822&#039;&#039;&lt;br /&gt;
*Feature: Added support for &amp;quot;[[emotes]]&amp;quot; (chat symbols). New permission ({{perm|UseEmotes}}) and config key (IRCAllowEmotes) were added.&lt;br /&gt;
*Fix: Fixed numbers sometimes being accepted as valid (e.g. by {{cmd|Mute}}), although counted as 0-length time spans.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving strings with newlines properly.&lt;br /&gt;
*Fix: Fixed IRC bot sometimes producing messages that are a couple characters over the IRC message size limit (512 chars).&lt;br /&gt;
*Fix: Fixed players being able to use newline codes (&amp;amp;N/&amp;amp;n) on IRC.&lt;br /&gt;
*Fix: Fixed problems with UpdaterMode and BackupOnStartup settings in ConfigGUI.&lt;br /&gt;
*Fix: Fixed fCraft not building in DEBUG_IRC configuration.&lt;br /&gt;
*Change: Added a workaround for TermInfoDriver-related exceptions under Mono (thanks Hellenion)&lt;br /&gt;
*Change: Symbolic [[colors|color codes]] (e.g. %S) can now be used in chat.&lt;br /&gt;
*Change: Backslash can now be used to escape percent [[colors|color codes]] (e.g. \%C).&lt;br /&gt;
*Change: fCraft will now retry looking up the external IP up to 3 times.&lt;br /&gt;
*Change: Lots of documentation, annotation, and API improvements.&lt;br /&gt;
&lt;br /&gt;
===0.634===&lt;br /&gt;
&#039;&#039;30 September 2012 - r1796&#039;&#039;&lt;br /&gt;
*Fix: Fixed an occasional InvalidOperationException when auto-updating in ServerGUI.&lt;br /&gt;
*Fix: Fixed ConfigGUI showing misleading information in &amp;quot;unrecognized entry ignore&amp;quot; errors.&lt;br /&gt;
*Fix: Fixed Logger trying to write to file in [[MapConverter]] and [[MapRenderer]].&lt;br /&gt;
*Fix: Fixed [[MapRenderer]] and [[MapConverter]] spamming zone-related errors (thanks Hellenion and AndrewPH)&lt;br /&gt;
*Fix: Fixed {{cmd|UndoPlayerNot}} help entry (thanks ruggedbear)&lt;br /&gt;
*Change: Heartbeat code now uses HTTPS, as mandated by Mojang. If you use Mono, see http://www.mono-project.com/FAQ:_Security&lt;br /&gt;
*Change: Removed support for the malfunctioning WoM Direct heartbeat service.&lt;br /&gt;
*Change: RankChangeReason is now shown as a &amp;quot;Rank note&amp;quot; in {{cmd|Info}}, even if no other data (PreviousRank/RankChangedBy/RankChangeDate) exists (thanks Wundsalz)&lt;br /&gt;
&lt;br /&gt;
===0.633===&lt;br /&gt;
&#039;&#039;26 September 2012 - r1788&#039;&#039;&lt;br /&gt;
*Feature: Added checkbox for HeartbeatEnabled config key to ConfigGUI, on the advanced tab.&lt;br /&gt;
*Fix: Fixed heartbeat/verification issues caused by &amp;quot;no-www&amp;quot; changes made by Mojang at minecraft.net&lt;br /&gt;
*Fix: Fixed VisualStudio designer being unable to load ConfigGUI.MainForm.&lt;br /&gt;
*Fix: Fixed {{cmd|ZMark}} being spammy (thanks ruggedbear).&lt;br /&gt;
*Fix: Binding &amp;quot;air&amp;quot; block to something now works as expected (deleted blocks are replaced with the binding) (thanks Hellenion).&lt;br /&gt;
*Fix: Added missing tooltips to &amp;quot;Data Backup&amp;quot; checkbox in ConfigGUI (thanks PhoneBook_).&lt;br /&gt;
*Fix: Added [[HeartbeatSaver]] to UpdateInstaller and list of protected filenames.&lt;br /&gt;
*Fix: Fixed occasional startup crash in [[HeartbeatSaver]].&lt;br /&gt;
*Change: {{cmd|Reload|Autorank}} now triggers a re-scan of the whole PlayerDB.&lt;br /&gt;
*Change: Added code to BlockDB to recover misaligned .fbdb files. BlockDB files are supposed to be aligned to 20 bytes. Misalignment might happen if writing didn&#039;t finish properly - e.g. power outage, or ungraceful shutdown.&lt;br /&gt;
*Change: Improved consistency of exit codes in [[HeartbeatSaver]], [[MapConverter]], and [[MapRenderer]].&lt;br /&gt;
&lt;br /&gt;
===0.632===&lt;br /&gt;
&#039;&#039;14 September 2012 - r1765&#039;&#039;&lt;br /&gt;
*Feature: Added standalone [[HeartbeatSaver]] utility, a heartbeat-sending daemon.&lt;br /&gt;
*Feature: Added a way to specify scale/turbulence/seed for cloudy brush.&lt;br /&gt;
*Feature: Renamed &amp;quot;IRC&amp;quot; LogType to &amp;quot;IRCStatus&amp;quot;, and added &amp;quot;IRCChat&amp;quot; LogType. Check your configs.&lt;br /&gt;
*Fix: Fixed the updater. You&#039;ll have to update from version 0.631 manually (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed a bug related to multiple players trying to join an almost-full server at the same time.&lt;br /&gt;
*Fix: Fixed a rare InvalidOperationException crash in ConfigGUI.&lt;br /&gt;
*Fix: Fixed reversed order in {{cmd|BlockInfo}} (thanks recon_).&lt;br /&gt;
*Fix: Fixed a few formatting errors in feedback messages.&lt;br /&gt;
*Fix: Fixed a rare disconnect related to a spectator trying to follow a spectatee to a full world.&lt;br /&gt;
*Fix: Fixed {{cmd|Hide}} not showing a fake disconnect message when needed.&lt;br /&gt;
*Fix: Fixed {{cmd|WRename}} prompting for file overwrite when changing capitalization in a world name.&lt;br /&gt;
*Fix: Fixed UndoArea/UndoAreaNot and UndoPlayer/UndoPlayerNot messages occasionally getting mixed up.&lt;br /&gt;
*Fix: Fixed players being unable to join the server if access restrictions prevent them from joining the rank-specific main world.&lt;br /&gt;
*Fix: {{cmd|WRemove}} now correctly handles removing rank-main worlds.&lt;br /&gt;
*Fix: Fixed a case where newlines in PlayerInfo or IPBanInfo fields would cause record corruption.&lt;br /&gt;
*Fix: Fixed reversed messages in {{cmd|DoNotMark}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed ServerCLI sometimes staying open, waiting on console input, when it&#039;s supposed to shut down or restart.&lt;br /&gt;
*Change: Sped up &amp;quot;cloudy&amp;quot; brush when working with large draw commands.&lt;br /&gt;
*Change: Crash reporter now submits list of names and versions of all loaded assemblies, to help identify mismatched or missing dependencies.&lt;br /&gt;
*Change: Added logging to every confirmation prompt, &amp;quot;/ok&amp;quot;, {{cmd|BlockDB}} enabling/disabling/clearing, {{cmd|ZRemove}}, {{cmd|InfoSwap}}, and {{cmd|Env}}.&lt;br /&gt;
*Change: Any pending confirmations are now reset on world change.&lt;br /&gt;
*Change: Added /I as an alias for {{cmd|Info}}, and /CS as an alias for {{cmd|CopySlot}}.&lt;br /&gt;
*Change: Removed &amp;quot;marbled&amp;quot; brush (&amp;quot;cloudy&amp;quot; works just as well) and FCMv4 map format support (development canceled).&lt;br /&gt;
*Change: {{cmd|Where}} command now only requires {{perm|ViewOthersInfo}} permission to see other players&#039; whereabouts. It can be used by anyone on self.&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.631===&lt;br /&gt;
&#039;&#039;5 September 2012 - r1741&#039;&#039;&lt;br /&gt;
*Feature: Added a way to restrict commands to match online players&#039; names only, by prefixing the name with an exclamation mark (!). See [[Command Tips]] for more.&lt;br /&gt;
*Feature: Added {{cmd|DoNotMark}} command. When toggled on, clicking on blocks does not cause marks to be added to a selection.&lt;br /&gt;
*Fix: Included MapConverter.exe and MapRenderer.exe in list of protected filenames.&lt;br /&gt;
*Fix: Fixed a potential crash in Paths.FileExists when working in case-sensitive mode in a root directory.&lt;br /&gt;
*Fix: Fixed ConfigGUI not loading permission limits properly (thanks recon_).&lt;br /&gt;
*Fix: Added missing fake connection message when using non-silent {{cmd|Unhide}} (thanks Wundsalz).&lt;br /&gt;
*Change: Improvements to fCraft&#039;s built-in crash reporter.&lt;br /&gt;
*Change: Blocks redone with {{cmd|Redo}} are now flagged as &amp;quot;Redone&amp;quot; in /BlockInfo (instead of &amp;quot;UndoneSelf&amp;quot;), [[/Paint|painted]] blocks as &amp;quot;Painted&amp;quot; (instead of &amp;quot;Manual, Replaced&amp;quot;).&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.630===&lt;br /&gt;
&#039;&#039;4 September 2012 - r1727&#039;&#039;&lt;br /&gt;
*Feature: New permissions! {{perm|FlushWorlds}} (previously part of {{perm|ManageWorlds}}), {{perm|UseTimers}} (previously part of {{perm|Say}}), and {{perm|UndoAll}}.&lt;br /&gt;
*Feature: Added ability to undo multiple players&#039; actions at once, or EVERYONE&#039;s actions at once, using {{cmd|UndoPlayer}} and {{cmd|UndoArea}}. Command syntax changed, see wiki.&lt;br /&gt;
*Feature: {{cmd|Info}} now shows whether minecraft.net accounts are free or paid.&lt;br /&gt;
*Feature: Added special &amp;quot;skip&amp;quot;/&amp;quot;none&amp;quot; blocktype, usable with brushes and draw commands.&lt;br /&gt;
*Feature: Added ability to clear world/zone whitelists and blacklists. Use &amp;quot;-*&amp;quot; in place of player name to clear whitelist, and &amp;quot;+*&amp;quot; to clear blacklist.&lt;br /&gt;
*Feature: Added a way to remove all zones in a world, {{cmd|ZRemove|*}}.&lt;br /&gt;
*Feature: Added {{cmd|UndoAreaNot}} (/uan) and {{cmd|UndoPlayerNot}} (/upn), which reverse changes made by everyone EXCEPT the given player(s).&lt;br /&gt;
*Feature: Added [[MapConverter]] and [[MapRenderer]] utilities.&lt;br /&gt;
*Feature: {{cmd|CuboidW}} now supports optionally filling sides and center with different blocktypes, e.g. &amp;quot;/cw white blue red&amp;quot;.&lt;br /&gt;
*Fix: Fixed ServerCLI launching the wrong fCraft binary after running the updater.&lt;br /&gt;
*Fix: Fixed a missing warning in {{cmd|Gen}} when map height is not a multiple of 16.&lt;br /&gt;
*Fix: Fixed a rare case of players receiving desynchronized copies of maps where draw commands are in progress.&lt;br /&gt;
*Fix: Fixed a crash in {{cmd|Commands|&amp;lt;Category&amp;gt;}}&lt;br /&gt;
*Fix: Fixed potential crashes when working with files in root directories (e.g. C:/)&lt;br /&gt;
*Fix: Improved {{cmd|BanEx}} logging.&lt;br /&gt;
*Fix: Improved support for Myne/MyneCraft/HyveBuild/iCraft maps.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog in ConfigGUI defaulting to 20 minutes, instead of &amp;quot;(default)&amp;quot;.&lt;br /&gt;
*Fix: Fixed SaveInterval and BackupInterval being limited to just 100 seconds/minutes in ConfigGUI (thanks Hellenion).&lt;br /&gt;
*Fix: Improved consistency of timestamp format in logs (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed being unable to remove world greetings via {{cmd|WSet}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed IRC bot cutting off long messages (thanks Hellenion).&lt;br /&gt;
*Change: Improved performance of {{cmd|Gen}}, {{cmd|WLoad}}, world loading, and all BlockDB-related commands.&lt;br /&gt;
*Change: Adjustments to block names and aliases, as well as command aliases.&lt;br /&gt;
*Change: Merged {{cmd|Cancel}} and /Nvm commands.&lt;br /&gt;
*Change: &amp;quot;&amp;amp;N&amp;quot; is now usable as a &amp;quot;newline&amp;quot; constant in all configurable strings (rules, announcements, greetings, etc), and &amp;quot;%N&amp;quot; is usable by players with {{perm|UseColorCode}} permissions.&lt;br /&gt;
*Change: Made {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} usable by frozen players.&lt;br /&gt;
*Change: Added a warning to /Colors regarding the minimum rank required to use colorcodes in chat (thanks Jonty800).&lt;br /&gt;
*Change: Ignoring a player no longer prevents you from seeing {{cmd|Say}} messages written by them.&lt;br /&gt;
*Change: {{cmd|Paint}}, {{cmd|Solid}}, {{cmd|Grass}}, {{cmd|Water}}, and {{cmd|Lava}} are no longer usable by players without Build permission, and dont show up in /Commands for them.&lt;br /&gt;
*Change: Clarified {{cmd|ZEdit}} messages when trying to remove self from blacklist, or add yourself to whitelist.&lt;br /&gt;
*Change: {{cmd|Mute}}, {{cmd|Unmute}}, {{cmd|Freeze}}, and {{cmd|Unfreeze}} are now also usable on offline players.&lt;br /&gt;
*Change: Session threads are no longer marked as &amp;quot;background&amp;quot;, to prevent unexpected side effects from session threads being aborted on shutdown. This might slow down shutdown a bit, but there is less to go wrong.&lt;br /&gt;
*Change: World greetings can now support constants.&lt;br /&gt;
*Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.&lt;br /&gt;
*Change: Process exit code is now set to match ShutdownReason.&lt;br /&gt;
*API: Added ChatTimer.Started and ChatTimer.Stopped events, rewrote BlockDB, MapConversion, and IsoCat APIs.&lt;br /&gt;
*API: Many documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.624===&lt;br /&gt;
&#039;&#039;16 July 2012 - r1636&#039;&#039;&lt;br /&gt;
*Fix: Fixed BlockDB time-limiting code trimming too much data from the database.&lt;br /&gt;
*Fix: CommandBook ban import now accepts any filename that ends with &amp;quot;.csv&amp;quot;, not just &amp;quot;bans.csv&amp;quot;.&lt;br /&gt;
*Fix: ServerCLI no longer crashes upon receiving EOF from console.&lt;br /&gt;
*Fix: Fixed a rare case of hidden players being revealed (briefly) when their rank is changed.&lt;br /&gt;
*Fix: Fixed [[/Spectate]] leaving ghost players behind on world change (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed a couple typos in [[/WLock]] and [[/WUnlock]] (thanks ImNoobSoWhat).&lt;br /&gt;
*Change: Added server name to [[/ServerInfo]]&lt;br /&gt;
*Change: If opening a link fails (from ConfigGUI or ServerGUI), the URL is copied to clipboard, instead of crashing.&lt;br /&gt;
*Change: &amp;quot;[[/Import]] bans&amp;quot; no longer prints a message for every player who&#039;s already banned, instead showing a total number of already-banned players at the end.&lt;br /&gt;
*Change: Added a missing &amp;quot;Copy&amp;quot; context menu to the ServerGUI&#039;s log box (thanks to Jonty800).&lt;br /&gt;
*Change: fCraft front-ends now check fCraft.dll&#039;s assembly version, and refuse to start if there is a mismatch (Thanks Zaneo).&lt;br /&gt;
&lt;br /&gt;
===0.623===&lt;br /&gt;
&#039;&#039;9 July 2012 - r1624&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in [[/PasteX]] and [[/PasteNotX]].&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] crash when given a non-banned IP address.&lt;br /&gt;
*Fix: Fixed a crash in Player.DetectChatSpam if AntiSpam was supposed to be disabled.&lt;br /&gt;
*Fix: Fixed typos in comments and messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed a crash in [[/ZAdd]] (thanks thelonedrummer18).&lt;br /&gt;
&lt;br /&gt;
===0.622===&lt;br /&gt;
&#039;&#039;6 July 2012 - r1619&#039;&#039;&lt;br /&gt;
*Feature: ServerGUI message log is now color-coded, easier to select/copy/paste, and featuring clickable links.&lt;br /&gt;
*Fix: Fixed several regressions in [[/Hide]] and [[/Spectate]] that were introduced in 0.620-0.621 (thanks mark_b).&lt;br /&gt;
*Fix: Fixed [[/Deafen]] being usable from console (thanks phonebookguy).&lt;br /&gt;
*Fix: Fixed a crash in Paste/PasteNot/PasteX/PasteNotX (thanks Grant).&lt;br /&gt;
*Misc: Updated some draw command messages, credits, help entries, warnings.&lt;br /&gt;
&lt;br /&gt;
===0.621===&lt;br /&gt;
&#039;&#039;5 July 2012 - r1612&#039;&#039;&lt;br /&gt;
*Feature: Added CommandBook banlist (bans.csv) support to [[/Import]].&lt;br /&gt;
*Feature: Added a way to list all players of a certain rank with &amp;quot;[[/Info]] @ClassName&amp;quot;.&lt;br /&gt;
*Feature: Added {PLAYER_LIST} variable, for use in greetings/announcements/rules.&lt;br /&gt;
*Fix: Fixed changes to DefaultBackupInterval config key not being applied.&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] showing &amp;quot;players on same IP&amp;quot; for players without a recorded IP address.&lt;br /&gt;
*Fix: Fixed fCraft occasionally using localized datetime and number formatting.&lt;br /&gt;
*Fix: Fixed [[/Cut]] storing the selected blocks before checking player&#039;s draw limit (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed [[/Fill2D]] starting a selection even if command parameters could not be parsed (thanks David00143).&lt;br /&gt;
*Fix: Fixed [[/Copy]] and [[/Cut]] reporting incorrect origin information (thanks nope__avi).&lt;br /&gt;
*Fix: Players who are spectating or being spectated by you are no longer hidden from the tab player list (thanks ruggedbear).&lt;br /&gt;
*Change: If multiple players are spectating the same player, they no longer see each other (thanks Hellenion).&lt;br /&gt;
*Change: Small improvements and fixes to [[/WSet]] and to AntiSpam functionality.&lt;br /&gt;
*Change: Sped up PlayerDB loading on startup.&lt;br /&gt;
*Change: Added shortcuts for [[/SetInfo]] field names.&lt;br /&gt;
&lt;br /&gt;
===0.620===&lt;br /&gt;
&#039;&#039;17 June 2012 - r1592&#039;&#039;&lt;br /&gt;
*Feature: WoM Direct description and flags can now be set from config, without the need to go to WoM Direct website.&lt;br /&gt;
*Feature: Added a new [[/WSet]] command, that allows hiding worlds, changing backup settings, and setting greeting messages.&lt;br /&gt;
*Feature: More [[/WInfo]] information is persisted across server restarts: IsLocked, LockedBy, UnlockedBy, LoadedBy, LoadedOn, MapChangedBy, MapChangedOn.&lt;br /&gt;
*Feature: Added IRCStripMinecraftColors config key (default: true). It determines whether Minecraft colorcodes (ampersand codes) entered on IRC should be removed before showing the message in-game.&lt;br /&gt;
*Fix: Fixed incorrect percentages occasional being printed by [[/Measure]], [[/Cancel]], and [[/Undo]].&lt;br /&gt;
*Fix: Locked worlds remain locked after server restart.&lt;br /&gt;
*Fix: Addressed many flaws and glitches in the backup system.&lt;br /&gt;
*Fix: Fixed a case where draw commands that affected no blocks caused division by zero&lt;br /&gt;
*Fix: Fixed a PlayerDB record corruption bug that affected numbers over 100,000,000.&lt;br /&gt;
*Fix: Fixed a stability issue related to LineWrapper (thanks Kevinsweijen and Mc_MrCat).&lt;br /&gt;
*Fix: Fixed IRC markup codes being forwarded to the server in IRC&#039;s channel-kick messages.&lt;br /&gt;
*Fix: Fixed [[/Unmute]] not checking rank limits (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;IP&amp;gt;&amp;quot; and &amp;quot;[[/BanAll]] &amp;lt;PlayerName&amp;gt;&amp;quot; not checking ban exemptions when kicking players (thanks BobKare).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;PlayerName&amp;gt;&amp;quot; not kicking all the players from IP address.&lt;br /&gt;
*Fix: Fixed Undo/Redo messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed compatibility with Mono 2.10.8.1 (thanks Hawkzeh).&lt;br /&gt;
*Change: Removed [[/WHide]] and [[/WUnhide]] (obsoleted by [[/WSet]]).&lt;br /&gt;
&lt;br /&gt;
===0.618===&lt;br /&gt;
&#039;&#039;22 April 2012 - r1568&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in ConfigGUI when trying to sort by map size and a map file is missing (thanks Moose).&lt;br /&gt;
*Change: Ampersands are no longer allowed in chat, even escaped, due to unpredictable Minecraft client behavior.&lt;br /&gt;
&lt;br /&gt;
===0.617===&lt;br /&gt;
&#039;&#039;21 April 2012 - r1564&#039;&#039;&lt;br /&gt;
*Feature: [[/BInfo]] now accepts optional XYZ coordinates, like [[/Mark]].&lt;br /&gt;
*Fix: Added a workaround for &amp;quot;Internal error Flush&amp;quot; under Mono.&lt;br /&gt;
*Fix: Fixed [[/WBring]] printing incorrect usage syntax (thanks recon_)&lt;br /&gt;
*Fix: Fixed typo in [[/BlockDB]] (thanks xN8Gx)&lt;br /&gt;
*Fix: Fixed IRC bots not binding to the specified local endpoint.&lt;br /&gt;
*Fix: Fixed &amp;quot;PreviousRank&amp;quot; not getting updated by [[/SetInfo]] working (thanks nope__avi)&lt;br /&gt;
*Fix: Fixed several rare stability issues (thanks Kevinsweijen).&lt;br /&gt;
*Fix: Fixed [[/Undo]] and [[/Redo]] producing odd log messages if 0 blocks have been changed.&lt;br /&gt;
*&amp;lt;s&amp;gt;Change: Allowed &#039;&amp;amp;&#039; character (ampersand) to be entered in chat, which is now escaped.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===0.616===&lt;br /&gt;
&#039;&#039;10 March 2012 - r1498&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Import]] terminating when importing bans, if a player with the given name is already banned.&lt;br /&gt;
*Fix: Fixed a formatting error in [[/Bring]] and [[/WBring]] confirmation messages.&lt;br /&gt;
*Fix: Fixed mixed-up messages in [[/WAccess]] and [[/WBuild]] when removing players from blacklist/whitelist (thanks ruggedbear and xN8Gx)&lt;br /&gt;
*Fix: Fixed [[/Static]] not turning off after switching worlds (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed [[/Rotate]] printing incorrect copyslot number (thanks Mc_MrCat)&lt;br /&gt;
*Fix: Fixed a ServerGUI crash when pressing the down arrow key after typing in the first console message (thanks Jason)&lt;br /&gt;
*Fix: [[/Me]] messages no longer count towards stats twice (thanks recon_)&lt;br /&gt;
*Fix: [[/Mute]] and [[/Unmute]] now usable with &amp;quot;-&amp;quot; in place of player name (thanks thelonedrummer18)&lt;br /&gt;
*Fix: Fixed README.txt typo (thanks Wolfmade)&lt;br /&gt;
&lt;br /&gt;
===0.615===&lt;br /&gt;
&#039;&#039;2 February 2012 - r1445&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Patrol]] checking Spectate permission, and [[/SpecPatrol]] not checking it.&lt;br /&gt;
*Fix: Fixed [[/WRename]] not updating player&#039;s last-used-world-name (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed colorcodes (%-codes) not getting applied consistently (thanks BobKare)&lt;br /&gt;
*Fix: Fixed a rare name-verification issue that only affected players whose ranks have been imported (thanks Mc_MrCat)&lt;br /&gt;
*Fix: ServerGUI now correctly interprets &amp;quot;Notify&amp;quot; and &amp;quot;Auto&amp;quot; updater settings.&lt;br /&gt;
*Change: Data backups are now stored in ./databackups/ directory.&lt;br /&gt;
&lt;br /&gt;
===0.614===&lt;br /&gt;
&#039;&#039;24 January 2012 - r1426&#039;&#039;&lt;br /&gt;
*Fix: Fixed server crashing if PlayerDB.txt exists but is empty.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Join]] -&amp;quot; using player names, and &amp;quot;[[/TP]] -&amp;quot; using world names.&lt;br /&gt;
*Fix: Solved File.Replace-related errors, which caused occasional save failures.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking caller&#039;s Spectate permission limit when selecting the next target.&lt;br /&gt;
*Fix: Fixed &amp;quot;random&amp;quot; brush producing obvious repeating patterns.&lt;br /&gt;
*Fix: Fixed auto-updater occasionally freezing when attempting to &amp;quot;Restart Now&amp;quot;.&lt;br /&gt;
*Fix: Added permission limit check to [[/Unfreeze]] (thanks Xb0x4d4m)&lt;br /&gt;
*Fix: Improved the way [[/Bring]] and [[/WBring]] enforce access permissions (thanks Hellenion)&lt;br /&gt;
*Change: Added more information about player connects/disconnects to log file.&lt;br /&gt;
&lt;br /&gt;
===0.613===&lt;br /&gt;
&#039;&#039;11 January 2012 - r1401&#039;&#039;&lt;br /&gt;
*Fix: Fixed ConfigGUI not saving changes to ShowConnectionMessages key.&lt;br /&gt;
*Fix: Fixed a case where ConfigGUI could crash while attempting to rename a world.&lt;br /&gt;
*Fix: All spectate permissions are now re-checked when someone gets promoted or demoted.&lt;br /&gt;
*Fix: Fixed ConfigGUI Worlds tab crash when dealing with zoned maps.&lt;br /&gt;
*Fix: Fixed IRC bot not retrying for desired nickname after reconnecting&lt;br /&gt;
*Fix: Fixed a case where editing a world via ConfigGUI would clear security whitelists/blacklists.&lt;br /&gt;
*Fix: Fixed spectating players not being treated as hidden (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed formatting in &amp;quot;Player ___ got auto-kicked&amp;quot; message (thanks BobKare)&lt;br /&gt;
*Fix: Fixed auto-kick revealing hidden players (thanks BobKare)&lt;br /&gt;
*Fix: Fixed RandomBrush-related [[/Undo]] artifacts in [[/Triangle]] (thanks Lunara_Noctis)&lt;br /&gt;
&lt;br /&gt;
===0.612===&lt;br /&gt;
&#039;&#039;14 December 2011 - r1307&#039;&#039;&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] @Rank&amp;quot; not autocompleting rank names.&lt;br /&gt;
*Fix: Fixed compatibility with legacy PlayerDB format versions. PlayerDB files created by fCraft 0.400+ will work again.&lt;br /&gt;
*Fix: Fixed several syntax problems and crashes in /Gen.&lt;br /&gt;
*Fix: Fixed a bug that reset a world&#039;s BackupInterval to default and IsLocked flag to false after changing the map (backport from 0.700).&lt;br /&gt;
*Fix: Fixed a bug that prevented kicks/bans/promotions/demotions from being announced on IRC if no reason was given.&lt;br /&gt;
*Change: Capped all user-entered time spans at 9999 days.&lt;br /&gt;
*Change: Shortened and clarified some confirmation prompts ([[/Gen]], [[/WLoad]], [[/ZRemove]], [[/Import]], [[/MassRank]]).&lt;br /&gt;
&lt;br /&gt;
===0.611===&lt;br /&gt;
&#039;&#039;3 December 2011 - r1282&#039;&#039;&lt;br /&gt;
*Feature: Added information about periodic backups to [[/WInfo]].&lt;br /&gt;
*Fix: Fixed [[/Players]] not working properly if both world name and offset were given.&lt;br /&gt;
*Fix: Fixed [[/WAccess]], [[/WBuild]], and [[/ZEdit]] not working with one-letter rank names.&lt;br /&gt;
*Fix: Fixed [[/BanIP]], /BanAll, /UnbanIP, and /UnbanAll treating fully numeric player names as IPs.&lt;br /&gt;
*Fix: Fixed [[/SetInfo]] not resetting PlayerInfo.LastModified date.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] populated&amp;quot; revealing worlds with hidden players.&lt;br /&gt;
*Fix: Fixed [[/BringAll]] ignoring per-rank limits in some cases (thanks ferny530)&lt;br /&gt;
*Fix: Fixed appearance of black and white blocks in [[/Env]] edges (thanks Jonty)&lt;br /&gt;
*Fix: Fixed a bug in Position.Equals&amp;lt;Position&amp;gt;(), which may have caused unnecessary position updates in Player.UpdateVisibleEntities (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed a little crash in Chat.GetRawMessageType (thanks ruggedbear)&lt;br /&gt;
*Fix: Fixed a case where Player.CanPlace checked permissions against the wrong world&#039;s BuildSecurity controller (thanks Xesdra)&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Commands]] @Rank&amp;quot; showing hidden commands (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed a typo in [[/Worlds]] (thanks Kevinsweijen)&lt;br /&gt;
*Fix: Fixed BlockDBAutoEnable and BlockDBAutoEnableRank config keys being placed in the &amp;quot;General&amp;quot; section.&lt;br /&gt;
*Change: Improved config.xml format (now version 152). Configs created with fCraft 0.611+ will not be usable with older versions of fCraft.&lt;br /&gt;
*Change: Rewrote ServerGUI startup code to make it more responsive (thanks to 800craft for the idea).&lt;br /&gt;
*Change: Added information about command-line options to the README, and fixed some typos.&lt;br /&gt;
*Change: MaxConnectionsPerIP restriction no longer applies to localhost.&lt;br /&gt;
*Change: Increased block-ratio limit for &amp;quot;random&amp;quot;, &amp;quot;cloudy&amp;quot;, and &amp;quot;marbled&amp;quot; brushes from 1000 to 10,000.&lt;br /&gt;
&lt;br /&gt;
===0.610===&lt;br /&gt;
&#039;&#039;18 November 2011 - r1240&#039;&#039;&lt;br /&gt;
*Feature: Added [[/Fill2D]] (/f2d), [[/Triangle]] (/t), and [[/TriangleW]] (/tw) draw commands.&lt;br /&gt;
*Feature: Added ability to filter [[/Worlds]] by rank.&lt;br /&gt;
*Feature: Added [[/Static]] (a way to repeat selection commands).&lt;br /&gt;
*Feature: Added MaxUndoStates config key (how many steps back can [[/Undo]] go), and ConfigGUI bindings.&lt;br /&gt;
*Feature: Added experimental IP-range lookup to [[/Info]] (CIDR notation). Changed /Info pattern-matching single-character symbol from &#039;.&#039; to &#039;?&#039;&lt;br /&gt;
*Feature: Added pagination to [[/Players]].&lt;br /&gt;
*Feature: [[/Spectate]] and [[/SpecPatrol]] now show what commands, PMs, and rank messages the target types in.&lt;br /&gt;
*Feature: Added a way to change server salt without needing a restart, using &amp;lt;code&amp;gt;[[/Reload]] Salt&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: [[/Measure]] now shows statistics about block types in the selection.&lt;br /&gt;
*Feature: [[/Gen]] now has two new templates: &amp;quot;ocean&amp;quot; and &amp;quot;empty&amp;quot;&lt;br /&gt;
*Fix: Many fixes in name-retyping functionality.&lt;br /&gt;
*Fix: Addressed stability issues in LineWrapper and Undo/Redo.&lt;br /&gt;
*Fix: Fixed [[/WLock]] not canceling all draw commands (as intended).&lt;br /&gt;
*Fix: Fixed some outdated descriptions, links, and tooltips in ConfigGUI.&lt;br /&gt;
*Fix: Fixed being able to BanIP/BanAll/UnbanIP/UnbanAll invalid IP addresses (0.0.0.0 and 255.255.255.255).&lt;br /&gt;
*Fix: Fixed [[/Info]] printing a blank page (instead of the last page) if given offset is greater than the total number of matches.&lt;br /&gt;
*Fix: Fixed rank prefixes being appended to players&#039; names if DisplayedName is set.&lt;br /&gt;
*Fix: Fixed a couple rare crashes/hangs in ServerGUI when parsing console commands.&lt;br /&gt;
*Fix: Fixed [[/Ban]] and [[/Unban]] announcing when they&#039;re not supposed to.&lt;br /&gt;
*Fix: Fixed a potential crash in [[/BanInfo]] when looking up an IP address directly (no player name).&lt;br /&gt;
*Fix: Fixed another obscure way of revealing hidden players.&lt;br /&gt;
*Fix: Fixed Beta client kick message (thanks Voziv).&lt;br /&gt;
*Fix: Fixed [[/Commands]] defaulting to printing ALL commands.&lt;br /&gt;
*Fix: Fixed [[/Undo]] trying to re-cancel canceled commands.&lt;br /&gt;
*Fix: Fixed uncaught &amp;quot;Illegal characters in path.&amp;quot; exception when trying to save a [[/Gen]]&#039;erated map to an invalid filename.&lt;br /&gt;
*Fix: Fixed typos in [[/ReplaceNot]] and [[/UndoArea]].&lt;br /&gt;
*Change: Added a warning on startup if name verification is disabled.&lt;br /&gt;
*Change: Tweaks and improvements to [[/Info]], [[/WInfo]], [[/BanInfo]], [[/SetInfo]], and [[/Commands]].&lt;br /&gt;
*Change: Removed code that tries next port if the given one could not be used. Now fCraft either starts on the port specified in config, or dies.&lt;br /&gt;
*Change: Commands now complain about being given too many parameters (in addition to complaining about too few parameters). This should help catch mistyped commands.&lt;br /&gt;
*Change: Added an option to disable giant-tree generation in ConfigGUI&#039;s map generator.&lt;br /&gt;
*Change: Changed log format for bans/kicks to include more information, and fixed log message format for &amp;quot;Player ____ logged in from an IP shared by banned players...&amp;quot;&lt;br /&gt;
*Change: Included config.xml in the automated data backup.&lt;br /&gt;
*Change: ConfigGUI tweaks and improvements.&lt;br /&gt;
*Change: Changes some aliases:&lt;br /&gt;
**Added /Whois and /WhoWas as aliases for [[/Info]].&lt;br /&gt;
**Set &amp;quot;/B&amp;quot; and &amp;quot;/About&amp;quot; to be aliases for [[/BInfo]].&lt;br /&gt;
*Change: Changed some ConfigKey defaults:&lt;br /&gt;
**BlockDBEnabled defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
**WomEnableEnvExtensions defaults to &amp;quot;false&amp;quot;&lt;br /&gt;
**IRCBotAnnounceServerEvents defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
*Change: Discontinued ServerWinService (formerly fCraftWinService) subproject.&lt;br /&gt;
*API: Improved Vector3I, Vector3F, and Position classes a bit.&lt;br /&gt;
*API: New events: DrawOperation.Beginning / Began / Ended&lt;br /&gt;
*API: Changed the way PlayerInfo stores empty string fields. Instead of a 0-length string, it now uses nulls.&lt;br /&gt;
*Optimization: Sped up PlayerDB loading/saving, and boolean ConfigKey lookup.&lt;br /&gt;
&lt;br /&gt;
===0.604===&lt;br /&gt;
&#039;&#039;23 October 2011 - r1155&#039;&#039;&lt;br /&gt;
*Feature: Added support for repeating previously-entered player and world names. Just put a dash (-) in place of the player/world name when using a command, and fCraft will fill in the most-recently-used name.&lt;br /&gt;
*Fix: Fixed an occasional SecurityController-related crash in [[/Gen]], [[/WLoad]], and ConfigGUI world editor.&lt;br /&gt;
*Fix: Fixed an very rare problem in shutdown/restart commands.&lt;br /&gt;
*Fix: Fixed a rare crash that only happened if: MaxPlayers&amp;gt;128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.&lt;br /&gt;
*Fix: Fixed naming of paste/pastenot and pastex/pastenotx&lt;br /&gt;
*Fix: Fixed a permission exploit in /wbring (thanks to panda100123)&lt;br /&gt;
*Fix: Fixed [[/Rules]] section finder accidentally being case-sensitive.&lt;br /&gt;
*Fix: Fixed an issue with MCSharp/MCZall/MCLawl/MCQuai/MCStorm/MCForge/MCWhatever importer.&lt;br /&gt;
*Change: Decreased shading strength in IsoCat renderer.&lt;br /&gt;
*Change: Added /Who as an alias for [[/Players]], by request.&lt;br /&gt;
*Change: Clarified ConfigGUI description of name verification settings.&lt;br /&gt;
*Change: Normalized command name capitalization. Command names must now start with an uppercase letter, for consistency.&lt;br /&gt;
*API: Fixed inconsistencies in PlayerDB.txt header row format declaration.&lt;br /&gt;
&lt;br /&gt;
===0.603===&lt;br /&gt;
&#039;&#039;20 October 2011 - r1142&#039;&#039;&lt;br /&gt;
*Fix: [[/Cancel]] can no longer be repeated with &amp;quot;/&amp;quot; (no longer replaces previously-called command).&lt;br /&gt;
*Fix: Fixed [[/Rotate]] and [[/Mirror]] messing up if a paste command is in progress.&lt;br /&gt;
*Fix: Re-enabled crash interception and reporting.&lt;br /&gt;
&lt;br /&gt;
===0.602===&lt;br /&gt;
&#039;&#039;18 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Feature: One-click paste commands are now the default. Two-click aligned paste commands are now known as [[/PasteX]] (/PX) and [[/PasteNotX]].&lt;br /&gt;
*Feature: Added [[/ReplaceBrush]] (/RB) command (shortcut for &amp;lt;code&amp;gt;[[/Brush]] ReplaceBrush&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;[[/Cuboid]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: Added a way to change number of copy/paste slots per rank from ConfigGUI.&lt;br /&gt;
*Fix: Fixed a few typos and missing help entries.&lt;br /&gt;
*Fix: Fixed DrawOp completion message and log entry.&lt;br /&gt;
*Fix: Fixed [[/Paste]] and [[/PasteNot]] not properly clipping against world boundaries.&lt;br /&gt;
*Fix: Fixed ConfigGUI not preserving environment settings for worlds.&lt;br /&gt;
*Fix: Fixed ConfigGUI losing some worlds and showing some errors when importing from 0.5xx.&lt;br /&gt;
*Fix: Fixed [[/Bring]] not being usable from console.&lt;br /&gt;
*Fix: Fixed [[/WRename]] crashing if invalid characters (from filesystem&#039;s point of view) are present in the new name.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking for Spectate permission.&lt;br /&gt;
*Fix: Fixed [[/UndoArea]]&#039;d and [[/UndoPlayer]]&#039;ed blocks having &amp;quot;Restored&amp;quot; flag set in /bi&lt;br /&gt;
*Fix: Fixed a detached checkbox on &amp;quot;Worlds&amp;quot; tab of ConfigGUI.&lt;br /&gt;
*Fix: Fixed [[/Say]], [[/Staff]], and [[/Me]] getting logged twice.&lt;br /&gt;
*Fix: Fixed per-world backup settings being cleared on server restart.&lt;br /&gt;
*Fix: Fixed a rare NullReferenceException in WorldManager.LoadWorldList that occurred if the main world was missing, and the fallback world had access restrictions.&lt;br /&gt;
*Fix: Fixed some issues with BlockDB settings in &amp;quot;Add World&amp;quot; and &amp;quot;Edit World&amp;quot; popups of ConfiGUI.&lt;br /&gt;
*Fix: Fixed a rare ConfigGUI crash when resetting the rank tab whole one of the old ranks is selected.&lt;br /&gt;
*Change: Sped up [[/EllipsoidH]] and [[/SphereH]] slightly (thanks to Redshift).&lt;br /&gt;
*Change: Improved error handling in [[/Env]] when setting level.&lt;br /&gt;
*Change: Double-buffered the preview on &amp;quot;Chat&amp;quot; tab of ConfigGUI, to get rid of flicker.&lt;br /&gt;
*Change: Clarified auto-freeze message when trying to kick/ban someone without a required reason string.&lt;br /&gt;
&lt;br /&gt;
===0.601===&lt;br /&gt;
&#039;&#039;15 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Fixed several issues with [[/Undo]] and drawing commands.&lt;br /&gt;
&lt;br /&gt;
===0.600===&lt;br /&gt;
&#039;&#039;14 October 2011 - r1107&#039;&#039;&lt;br /&gt;
:&#039;&#039;See [http://www.fcraft.net/0.600/ http://www.fCraft.net/0.600] for a summary of changes, and upgrade notes.&#039;&#039;&lt;br /&gt;
*Chat: Added a {{cmd|Timer}} command for creating publicly-announced countdowns/timers.&lt;br /&gt;
*Chat: Added a way to cancel partial messages: &amp;lt;code&amp;gt;/Nvm&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Chat: Removed &amp;quot;Banned player ___ tried to log in&amp;quot; and &amp;quot;Player ___ tried to log in from a banned IP&amp;quot; messages.&lt;br /&gt;
*Chat: {{cmd|Say}}, {{cmd|Staff}}, and {{cmd|Me}} commands can no longer repeated using &amp;quot;/&amp;quot; shortcut.&lt;br /&gt;
*Chat: Added a warning when trying to PM deafened players.&lt;br /&gt;
*Chat: Added a shortcut for chatting to same rank: &amp;quot;@@ Message&amp;quot;&lt;br /&gt;
*Chat: Increased the number of blank lines sent by {{cmd|Clear}} to 30, to accommodate players with smaller-than-normal font sizes.&lt;br /&gt;
*Chat Fix: Fixed {{cmd|Say}}, {{cmd|Roll}}, {{cmd|Staff}}, and {{cmd|Me}} sometimes bypassing {{perm|Chat}} permission, mute check, or spam detection check.&lt;br /&gt;
*Chat Fix: Fixed rank chat being logged twice.&lt;br /&gt;
*Chat Fix: Fixed some system messages getting through to deafened players.&lt;br /&gt;
*Chat Fix: {{cmd|Deafen}} now clears the screen when toggled on.&lt;br /&gt;
*Commands: Rank and zone names now autocomplete.&lt;br /&gt;
*Commands: Players can no longer freeze, mute, kick, ban, unban, promote, or demote themselves.&lt;br /&gt;
*Commands: {{cmd|Players}} can now be called with an optional WorldName parameter, to only list players in a particular world.&lt;br /&gt;
*Commands: {{cmd|WLoad}} now takes two more optional parameters: build rank and access rank names.&lt;br /&gt;
*Commands: {{cmd|Info}} now shows last leave reason, idle time, freeze/mute information, and ban exemption status.&lt;br /&gt;
*Commands: Augmented {{cmd|Rules}} to support several rule categories.&lt;br /&gt;
*Commands: Added {{cmd|Spectate}} and {{cmd|SpecPatrol}} (&amp;lt;code&amp;gt;/SPat&amp;lt;/code&amp;gt;) commands.&lt;br /&gt;
*Commands: Added {{cmd|WBring}} (brings target player to a world);&lt;br /&gt;
*Commands: Added {{cmd|Spawn}} command (brings you to spawn). Typing &amp;quot;{{cmd|TP}}&amp;quot; no longer does the same thing, and {{cmd|TP}} now always requires {{perm|Teleport}} permission.&lt;br /&gt;
*Commands: Algorithm that {{cmd|Patrol}} uses to pick the next target was improved.&lt;br /&gt;
*Commands: Renamed Lock/Unlock commands to {{cmd|WLock}}/{{cmd|WUnlock}}, for consistency.&lt;br /&gt;
*Commands: Merged &amp;lt;code&amp;gt;/ReloadConfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/AutoRankReload&amp;lt;/code&amp;gt; into {{cmd|Reload}} command. Merged &amp;lt;code&amp;gt;/ImportRanks&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/ImportBans&amp;lt;/code&amp;gt; into {{cmd|Import}} command. Combined functionality of &amp;lt;code&amp;gt;/LockAll&amp;lt;/code&amp;gt; into {{cmd|WLock}}, and functionality of &amp;lt;code&amp;gt;/UnlockAll&amp;lt;/code&amp;gt; into {{cmd|WUnlock}}.&lt;br /&gt;
*Commands: {{cmd|Info}} and {{cmd|Worlds}} now support pagination.&lt;br /&gt;
*Commands: When world access permissions are changed with {{cmd|WAccess}}, players who lost ability to join the world will automatically be moved to main.&lt;br /&gt;
*Commands: Frozen player can no longer call most commands, with exception of: {{cmd|Clear}}, {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|RankInfo}}, {{cmd|ServerInfo}}, {{cmd|Ranks}}, {{cmd|Rules}}, {{cmd|Where}}, {{cmd|Help}}, {{cmd|Commands}}, {{cmd|Colors}}, {{cmd|Worlds}}, {{cmd|Zones}}, and {{cmd|ZInfo}}.&lt;br /&gt;
*Commands: {{cmd|Bring}} and {{cmd|WBring}} now give the option of overriding worlds&#039; access minimum-rank. Explicitly blacklisted players will continue to be barred.&lt;br /&gt;
*Commands: Added {{cmd|InfoSwap}} command, for swapping two players&#039; ranks and PlayerDB records.&lt;br /&gt;
*Commands: Added a way to abort a server shutdown or restart (&amp;quot;{{cmd|Shutdown|abort}}&amp;quot; or &amp;quot;{{cmd|Restart|abort}}&amp;quot;).&lt;br /&gt;
*Commands: {{cmd|RankInfo}} now shows copy/paste slots, idle kick time, and permission limits.&lt;br /&gt;
*Commands: Most time-related commands now take the [[Time formatting|compact format]] (e.g. 1m30s, 45s, 24h, etc).&lt;br /&gt;
*Commands: Color-coded {{cmd|Commands}}.&lt;br /&gt;
*Commands: Limited {{cmd|Mute}} duration to range between 1 second and 700 days (100 weeks).&lt;br /&gt;
*Commands: {{cmd|SetInfo}} now allows changing players&#039; DisplayedName.&lt;br /&gt;
*Commands: A warning is now shown when a player is kicked/banned, and other players are still connected from the IP.&lt;br /&gt;
*Commands: Added a way to add IP ban exemptions using {{cmd|BanEx}} (banning all players from IP except a particular one).&lt;br /&gt;
*Commands: Added automatic countdowns to {{cmd|Shutdown}} and {{cmd|Restart}}.&lt;br /&gt;
*Commands: Added more stats to {{cmd|ServerInfo}}.&lt;br /&gt;
*Commands: {{cmd|MassRank}} now defaults to silent, and takes a &amp;quot;reason&amp;quot; parameter.&lt;br /&gt;
*Commands: Added &amp;quot;/St&amp;quot; as an alias for {{cmd|Staff}}. Changed &amp;quot;/L&amp;quot; from being alias for {{cmd|Join}}, to being alias for {{cmd|Lava}}. Removed &amp;quot;/Cub&amp;quot; alias for {{cmd|Cuboid}}.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|UnbanIP}} and {{cmd|UnbanAll}} not announcing the unban reason.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Info}} not formatting names of offline players.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Restart}} breaking under Mono if working path contains spaces.&lt;br /&gt;
*Commands Fix: Fixed freeze/unfreeze printing wrong ranks in &amp;quot;You can only freeze players ranked ____ or lower&amp;quot; messages.&lt;br /&gt;
*Commands Fix: Fixed a rare crash in {{cmd|Rules}} when used from console.&lt;br /&gt;
*Commands Fix: {{cmd|BanIP}} and {{cmd|BanAll}} no longer allow to ban the IP if it&#039;s shared by any players whom caller is not allowed to ban.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Ignore}} and {{cmd|Unignore}} printing all matches at once on autocompletion.&lt;br /&gt;
*Commands Fix: Fixed a case where {{cmd|BringAll}} could reveal hidden players.&lt;br /&gt;
*Commands Fix: Fixed a few bugs in {{cmd|DumpStats}}, expanded player listing to top-5/bottom-5, and added &amp;quot;BlocksDrawn&amp;quot; stat.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Rank}} and {{cmd|TP}} commands showing up in {{cmd|Commands}} for ALL players.&lt;br /&gt;
*Commands Fix: Fixed a couple rare bugs in {{cmd|Roll}}.&lt;br /&gt;
*Commands Fix: Fixed broken {{cmd|BringAll}} support for bringing multiple ranks at once.&lt;br /&gt;
*Commands Fix: Fixed several obscure ways of revealing presence of hidden players via commands like {{cmd|ServerInfo}} and {{cmd|Worlds}}.&lt;br /&gt;
*Config: New config keys: BackupDataOnStartup (default: true), RestartInterval (default: 0), HeartbeatToWoMDirect (default: true), BlockDBEnabled (default: true), BlockDBAutoEnable (default: true), and BlockDBAutoEnableRank (default: DefaultRank), WoMEnableEnvExtensions (default: false).&lt;br /&gt;
*Config: Added {{perm|Spectate}} permission that covers {{cmd|Spectate}} and {{cmd|SpecPatrol}}.&lt;br /&gt;
*Config: Added {{perm|DrawAdvanced}} permission that covers {{cmd|Brush}}, {{cmd|Sphere, {{cmd|SphereH}}, {{cmd|Torus}}, and {{cmd|Restore}} commands.&lt;br /&gt;
*Config: Added {{perm|ManageBlockDB}} permission that covers {{cmd|BlockDB}}.&lt;br /&gt;
*Config: Added {{perm|UndoOthersActions}} permission that covers {{cmd|UndoPlayer}} and {{cmd|UndoArea}}.&lt;br /&gt;
*Config: {{cmd|Reload}} can now update more config keys without needing a restart: AutoRankEnabled, BandwidthUseMode, ConsoleName, DefaultRank, DefaultBuildRank, PatrolledRank.&lt;br /&gt;
*Config: Removed obsolete ShowBannedConnectionMessages config key.&lt;br /&gt;
*Config Fix: Fixed DefaultRank/DefaultBuildRank/PatrolledRank settings not being applied.&lt;br /&gt;
*ConfigGUI: Added BlockDB settings to &amp;quot;Worlds&amp;quot; tab and &amp;quot;Add/Edit World&amp;quot; dialog.&lt;br /&gt;
*ConfigGUI: Reorganized Rank tab.&lt;br /&gt;
*ConfigGUI: Relaxed restrictions on rank prefixes.&lt;br /&gt;
*ConfigGUI: Added &amp;quot;Insert Color&amp;quot; and &amp;quot;Insert Keyword&amp;quot; buttons to announce/rule/greeting editors in ConfigGUI, and a &amp;quot;Reset&amp;quot; button to revert edits.&lt;br /&gt;
*ConfigGUI: Any errors/warnings that are produced while loading &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt; in ConfigGUI are now displayed at startup.&lt;br /&gt;
*ConfigGUI Fix: ConfigGUI no longer loses worlds&#039; whitelists/blacklists.&lt;br /&gt;
*ConfigGUI Fix: Fixed several bugs related to renaming worlds.&lt;br /&gt;
*ConfigGUI Fix: Fixed several &amp;quot;Reset&amp;quot; bugs.&lt;br /&gt;
*ConfigGUI Fix: Fixed &amp;quot;Enable colors in IRC&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*ConfigGUI Fix: Fixed ConfigTool&#039;s Chat tab not updating to reflect changes in rank colors/prefixes.&lt;br /&gt;
*ConfigGUI Fix: Fixed sort order in Worlds tab when sorting by world size.&lt;br /&gt;
*ConfigGUI Fix: Fixed some rank dropdown menus in ConfigGUI showing &amp;quot;(lowest rank)&amp;quot; instead of &amp;quot;(default rank)&amp;quot; as the default option.&lt;br /&gt;
*Drawing: Introduced a brush/pattern system for draw commands. Rewrote (almost) all existing draw commands to take advantage of that new infrastructure. Brushes are: Normal (default), Checkered, Random, Cloudy, Marbled, Replace, ReplaceNot, ReplaceBrush.&lt;br /&gt;
*Drawing: Added a way to {{cmd|Undo}} up to five commands back. Use {{cmd|Redo to reverse it.&lt;br /&gt;
*Drawing: Added {{cmd|Torus}} drawing command, written and contributed by M1_Abrams.&lt;br /&gt;
*Drawing: Added support for multiple copy/paste slots, using {{cmd|CopySlot}}. Number of slots of configurable per-rank.&lt;br /&gt;
*Drawing: {{cmd|Replace}} and {{cmd|ReplaceNot}} can now take just one blocktype. The replacement type is inferred from the type of block player is holding when clicking.&lt;br /&gt;
*Drawing: {{cmd|Undo}} now cancels the last drawing commands.&lt;br /&gt;
*Drawing: Added a new [[Blocks|block name aliases]]: &amp;quot;g&amp;quot; for grass, &amp;quot;w&amp;quot; for water, &amp;quot;a&amp;quot; for air.&lt;br /&gt;
*Drawing Fix: Added a missing volume check to {{cmd|Line}}, and fixed {{cmd|CuboidW}} volume calculations.&lt;br /&gt;
*Drawing Fix: Fixed {{cmd|Copy}} and {{cmd|Cut}} reporting incorrect orientation.&lt;br /&gt;
*FrontEnd: Colored ConfigCLI log messages: red for errors, yellow for warnings, dark gray for debug, default (gray) for everything else. Call with &amp;quot;--noconsolecolor&amp;quot; parameter to disable.&lt;br /&gt;
*FrontEnd: ServerCLI now handles all updater modes properly, and downloads updater/restarts if needed.&lt;br /&gt;
*FrontEnd: Improved window titles.&lt;br /&gt;
*FrontEnd Fix: Fixed ServerCLI writing errors to stdout instead of stderr.&lt;br /&gt;
*Misc: Players who log out hidden will now log in silently, still hidden.&lt;br /&gt;
*Misc: More [[Constants|keywords]] are now usable in announcements, rules, and greeting files: {SERVER_NAME}, {MOTD}, {RANK}, {PLAYER_NAME}, {TIME}, {WORLD}, {PLAYERS}, and {WORLDS}&lt;br /&gt;
*Misc: Kicked or disconnected players no longer have their TotalTime increased for the time idled.&lt;br /&gt;
*Misc: fCraft will refuse to start up if running old versions of mono (2.4 or earlier).&lt;br /&gt;
*Misc: Crash reporter now prints a reference number for submitted reports.&lt;br /&gt;
*Misc: AutoRank now only evaluates online players on a timer. A full database sweep will only be done on startup or on-demand. This should notably reduce average CPU use on large databases.&lt;br /&gt;
*Misc: Added AutoRank pseudoplayer (similar to Console), who is now credited with all autorank promotions/demotions.&lt;br /&gt;
*Misc: Increased the allowed clicking distance when manually clicking blocks, to account for lag.&lt;br /&gt;
*Misc: IRC bot now announces channel kicks and nick changes.&lt;br /&gt;
*Misc: When a player with a reserved slot tries to join a full world, the longest-idle player will be kicked to make room.&lt;br /&gt;
*Misc: Frozen, demoted, and banned players are now automatically unhidden. Frozen players are undeafened. Banned players are also automatically unfrozen and unmuted.&lt;br /&gt;
*Misc: When a player&#039;s rank is changed, their bindings are now reset (to avoid issues with {{cmd|Water}}, {{cmd|Lava}}, and {{cmd|Solid}}), and any in-progress selection is canceled ([[:Category:Requires Draw|draw]] commands, {{cmd|Zone}}, {{cmd|ZTest}}, {{cmd|BInfo}}, {{cmd|Measure}}, etc)&lt;br /&gt;
*Misc: Frozen players now have a little blue star appended to their names, similar to the red star for banned players.&lt;br /&gt;
*Misc: Moved all heartbeat-related operations to the background thread (fixes lag spikes when minecraft.net times out).&lt;br /&gt;
*Misc: Added a dynamically updated compass at the top-right of the screen, visible to players who use WoM 1.8.8+&lt;br /&gt;
*Misc: Added a check for libMonoPosix on server startup. This allows catching misconfigured Mono setups early.&lt;br /&gt;
*Misc: Ranks now default to &amp;quot;white&amp;quot; color (&amp;quot;&amp;amp;f&amp;quot;) instead of &amp;quot;none&amp;quot; color (&amp;quot;&amp;quot;).&lt;br /&gt;
*Misc: Edited the &amp;quot;failed to load main world&amp;quot; message to sound less menacing, since it&#039;s usually caused just by main world filling up.&lt;br /&gt;
*Misc: Sped up {{cmd|PruneDB}}, {{cmd|MassRank}}, map generation. Reduced memory use of draw commands, undo buffers, and ConfigGUI.&lt;br /&gt;
*Misc Fix: Fixed &amp;quot;duplicate metadata key&amp;quot; warning in FCMv3 maps.&lt;br /&gt;
*Misc Fix: Fixed a zone-related race condition when exporting to Opticraft map format.&lt;br /&gt;
*Misc Fix: Fixed fCraft being unable to start if fCraft.dll is in the root directory of a drive (e.g. in &amp;quot;C:/&amp;quot;)&lt;br /&gt;
*Misc Fix: Fixed a bug that caused bandwidth to sometimes be wasted on needlessly updating position of non-moving players.&lt;br /&gt;
*Misc Fix: Fixed a clock drift problem in periodic SchedulerTasks.&lt;br /&gt;
*Misc Fix: Fixed a case where, in some rank configurations, players would see themselves as offline when hidden (in {{cmd|Info}}, {{cmd|BInfo}}, {{cmd|Players}}, etc).&lt;br /&gt;
*PlayerDB: Added 46th column: PlayerInfo.IsHidden (&#039;h&#039; if hidden, otherwise blank).&lt;br /&gt;
*PlayerDB: Added 47th column: PlayerInfo.LastModified (UTC unix timestamp). Accuracy is not yet guaranteed.&lt;br /&gt;
*PlayerDB: Added 48th column: PlayerInfo.DisplayedName (string or blank). Overrides &amp;quot;Name&amp;quot; field for purposes of displaying formatted name (ClassyName).&lt;br /&gt;
*PlayerDB: Removed 14th column (FailedLoginCount) due to disuse.&lt;br /&gt;
*PlayerDB: PlayerDB now writes out changes to TotalTime incrementally for online players, instead of applying the change on-logout.&lt;br /&gt;
*Worlds: Added a way to change some environment and texture settings per-map, using {{cmd|Env}}.&lt;br /&gt;
*Worlds: Per-world settings on backup intervals now work.&lt;br /&gt;
*Worlds: Added BlockDB - a system for tracking edits per-block. Added related {{cmd|BlockDB}} and {{cmd|BInfo}} commands.&lt;br /&gt;
*Worlds: Added {{cmd|UndoPlayer}} and {{cmd|UndoArea}} commands for undoing players&#039; actions using BlockDB.&lt;br /&gt;
*Worlds: If a world has a missing map file, a warning is now shown, and a default flatgrass map is created.&lt;br /&gt;
*Worlds: Added a way to set per-rank main world, using {{cmd|WMain}}.&lt;br /&gt;
*Worlds: Added {{cmd|Restore}} command, inspired by good old MinerCPP. Selectively loads a map from another file or backup.&lt;br /&gt;
*Worlds: Allowed non-standard dimensions (neither multiples of 16, nor powers of 2). Added a warning about glitches when using nonstandard dimensions.&lt;br /&gt;
*Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to {{cmd|WInfo}} and to &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worlds: MapGenerator tweaks: &amp;quot;default&amp;quot; template is now known as &amp;quot;random,&amp;quot; &amp;quot;mountains&amp;quot; template now has more cliffs and snow on mountaintops, &amp;quot;island&amp;quot; template is less rough and has nice beaches, and water is now automatically removed from &amp;quot;desert&amp;quot; maps.&lt;br /&gt;
*Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.&lt;br /&gt;
*Worlds Fix: Fixed an exploit that allowed players to bypass world access permissions in certain rank configurations.&lt;br /&gt;
*Worlds Fix: Fixed some rare crashes in {{cmd|WLoad}}.&lt;br /&gt;
*Worlds Fix: Fixed {{cmd|WAccess}} and {{cmd|WBuild}} occasionally not saving the world list after adding players to the access/build whitelists.&lt;br /&gt;
*Worlds Fix: Fixed being unable to change just the capitalization when renaming worlds from ConfigGUI, under Windows.&lt;br /&gt;
*Zones: Added {{cmd|ZRename}} command to rename zones.&lt;br /&gt;
*Zones: Added {{cmd|ZMark}} command to use zone boundaries for drawing or making selections.&lt;br /&gt;
*Zones Fix: Fixed {{cmd|ZAdd}} crash when adding more than one personal zone for the same player ({{cmd|ZAdd|+Name}}).&lt;br /&gt;
*Zones Fix: Fixed a rare case where two players could simultaneously create a zone with the same name on the same world, which would crash one of the players.&lt;br /&gt;
*Zones Fix: {{cmd|Zones}} no longer crashes if used on a world with a missing or corrupt map file.&lt;br /&gt;
*Zones Fix: Tightened security checks of {{cmd|ZAdd}} and {{cmd|ZRemove}} to prevent a permission exploit.&lt;br /&gt;
*API: Added specialized MetadataCollection class to manage per-map and per-player metadata, and ZoneCollection for zones.&lt;br /&gt;
*API: Added ReSharper-compatible annotations and more argument checks throughout the codebase.&lt;br /&gt;
*API: fCraft now consistently uses [X,Y,Z] for coordinates (where X/Y are horizontal, and Z is vertical), and [Width,Length,Height] for dimensions (Width/Length horizontal, Height vertical).&lt;br /&gt;
*API: Merged Session and Player classes. All session-related functionality is in Player.Networking.cs file.&lt;br /&gt;
*API: New line-wrapping algorithm provides better performance and safety. Now using &amp;quot;\n&amp;quot; instead of &amp;quot;&amp;amp;N&amp;quot; to force a newline.&lt;br /&gt;
*API: Renamed World.PlayerList to World.Players, Server.PlayerList to Server.Players, and added PlayerDB.PlayerInfoList&lt;br /&gt;
*API: New LINQ-style API for working with sets of players. This API is now used for all messaging and packet-sending. Old API (Server.Send* and World.Send*) was removed.&lt;br /&gt;
*API: New unified API for handling player-generated chat (Chat static class), and new events (Chat.Sending and Chat.Sent).&lt;br /&gt;
*API: All cancellable events now implement ICancellableEvent.&lt;br /&gt;
*API: MapDAT and MapNBT now implement IMapConverter.LoadHeader.&lt;br /&gt;
*API: Converted IClassy.GetClassyName(), Rank.GetFullName(), and Player.GetListName() to properties.&lt;br /&gt;
*API: Renamed ConfigKey.GetBool() to ConfigKey.Enabled(). Added ConfigKey.TryGetInt() and ConfigKey.TryGetBool() methods.&lt;br /&gt;
*API: CommandManager.RegisterCommand() now checks for reserved command names (currently &amp;quot;ok&amp;quot; and &amp;quot;nvm&amp;quot;), and does a better job at handling command name capitalization differences.&lt;br /&gt;
*API: Added ability to override Player.MaxBlockPlacementRange, Player.SocketTimeout, Heartbeat.Delay, and Heartbeat.Timeout.&lt;br /&gt;
*API: Renamed RankManager.ParseRank(string) to Rank.Parse(string)&lt;br /&gt;
*API: All draw/undo/copy/paste commands have been moved to fCraft.Drawing namespace.&lt;br /&gt;
*API: Added support for multiple {{cmd|Help}} sections per command.&lt;br /&gt;
*API: Added CommandCategory.Debug, removed CommandDescriptor.HelpHander and HelpHandler delegate.&lt;br /&gt;
*API: Moved Server.Player* events to Player.* and Server.PlayerInfo* to PlayerInfo.*&lt;br /&gt;
*API: Expanded the confirmation system (&amp;lt;code&amp;gt;/OK&amp;lt;/code&amp;gt;) to allow custom callbacks, decoupled from the command system.&lt;br /&gt;
*API Fix: &amp;quot;Bad heartbeat&amp;quot; reply from minecraft.net no longer triggers UrlChanged event.&lt;br /&gt;
*API Fix: Fixed a couple bugs in BoundingBox.GetIntersection and BoundingBox.Contains.&lt;br /&gt;
*API Fix: Fixed {{cmd|Replace}} and {{cmd|ReplaceNot}} not firing Player.PlacedBlock&lt;br /&gt;
*events.&lt;br /&gt;
*API Fix: Uncaught exceptions that occur while parsing player messages no longer send crash reports when in DEBUG configuration.&lt;br /&gt;
&lt;br /&gt;
=0.5xx=&lt;br /&gt;
&lt;br /&gt;
===0.537===&lt;br /&gt;
&#039;&#039;14 September 2011 - r991&#039;&#039;&lt;br /&gt;
*Fixed another heartbeat-related issue caused by minecraft.net updates.&lt;br /&gt;
&lt;br /&gt;
===0.536===&lt;br /&gt;
&#039;&#039;14 September 2011 - r988&#039;&#039;&lt;br /&gt;
*Fix: Fixed a rare crash in DoChangeRank when promoting/demoting offline players.&lt;br /&gt;
*Fix: Fixed a case where world access/build whitelist additions were not immediately saved.&lt;br /&gt;
*Fix: Fixed several errors in the way time spans were displayed.&lt;br /&gt;
*Fix: Unhandled exceptions in background task callbacks will no longer take down the server&lt;br /&gt;
*Change: Changed the heartbeat handler to use GET instead of POST (workaround for minecraft.net problems).&lt;br /&gt;
*Change: Removed AutoLauncher.&lt;br /&gt;
&lt;br /&gt;
===0.535===&lt;br /&gt;
&#039;&#039;1 July 2011 - r702&#039;&#039;&lt;br /&gt;
*Workaround for minecraft.net heartbeat changes.&lt;br /&gt;
&lt;br /&gt;
===0.534===&lt;br /&gt;
&#039;&#039;18 June 2011 - r668&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;lt;RestartInterval&amp;gt; config key (in seconds). It should help people who are suffering from Mono memory leaks. This setting can only currently be modified by editing config.xml&lt;br /&gt;
*Fix: Fixed /wload and /gen resetting the world&#039;s hidden status.&lt;br /&gt;
*Fix: Fixed &amp;quot;Apply&amp;quot; button not getting enabled in ConfigTool when world list is changed.&lt;br /&gt;
*Fix: Fixed /cw reporting incorrect volume (fixes #3308137).&lt;br /&gt;
*Fix: Added a confirmation when /wrename will result in overwriting a map file, and fixed a related crash (fixes #3311994).&lt;br /&gt;
*Fix: Fixed FormatException in error handling code in World.AcceptPlayer&lt;br /&gt;
*Fix: Fixed /info not showing formatted names for players who appear offline.&lt;br /&gt;
*Fix: Fixed several issues with renaming worlds from ConfigTool.&lt;br /&gt;
*Fix: Fixed /restart breaking under Mono if path contains spaces.&lt;br /&gt;
*Fix: Fixed /staff, /me, and /roll commands not requiring the Chat permission.&lt;br /&gt;
*Fix: Fixed &amp;quot;Use IRC colors&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*Change: Allowed all printable ASCII characters in chat except &#039;&amp;amp;&#039;.&lt;br /&gt;
*Change: Heartbeat tweaks to prevent &amp;quot;Bad heartbeat&amp;quot; from popping up.&lt;br /&gt;
*Optimization: ConfigTool starts up faster, and uses much less memory.&lt;br /&gt;
&lt;br /&gt;
===0.533===&lt;br /&gt;
&#039;&#039;24 May 2011 - r614&#039;&#039;&lt;br /&gt;
*Fix: Fixed a regression in 0.530 that erased some strings in PlayerInfo and IPBanInfo objects, such as ban reasons.&lt;br /&gt;
*Change: Increased heartbeat interval to 27.5 seconds.&lt;br /&gt;
*Change: Reduced jitter of player movement.&lt;br /&gt;
&lt;br /&gt;
===0.532===&lt;br /&gt;
&#039;&#039;23 May 2011 - r611&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;quot;/worlds loaded&amp;quot; command.&lt;br /&gt;
*Fix: Fixed a bug that prevented worlds from accepting any block changes after a map change (/wload or /gen)&lt;br /&gt;
*Fix: Fixed &amp;quot;Player _____ joined main.&amp;quot; displaying twice when players connect.&lt;br /&gt;
*Change: Added /colours as an alias to /colors&lt;br /&gt;
*Change: Adjusted /dumpstats security checks, and made it require EditPlayerDB permission (instead of Import).&lt;br /&gt;
&lt;br /&gt;
===0.531===&lt;br /&gt;
&#039;&#039;20 May 2011 - r603&#039;&#039;&lt;br /&gt;
*Feature: /SInfo now shows bandwidth use, fCraft version, and .NET/Mono version.&lt;br /&gt;
*Feature: Added ability to use coordinates with mark (e.g. &amp;quot;/Mark 0 0 0&amp;quot;).&lt;br /&gt;
*Fix: Fixed non-default rank settings not saving properly from ConfigTool.&lt;br /&gt;
*Fix: Fixed a serialization bug in IPBanList that happened if a ban reason was not given, or if an IP address was not associated with any player.&lt;br /&gt;
*Fix: Fixed a few minor bugs in /WMain.&lt;br /&gt;
*Change: Allowed the caret (^) in chat messages.&lt;br /&gt;
*Change: Reduced movement lag.&lt;br /&gt;
*Change: /version command has been removed due to redundancy with /sinfo.&lt;br /&gt;
*Change: Detailed reasons of player disconnects are now logged better.&lt;br /&gt;
*Change: Increased Minecraft.net heartbeat interval slightly.&lt;br /&gt;
*API: Added new events: Scheduler.TaskAdded, Scheduler.TaskExecuting, Scheduler.TaskExecuted, and Scheduler.TaskRemoved. These events are only available when fCraft.dll is built with DEBUG_SCHEDULER flag because of their performance impact.&lt;br /&gt;
*Optimization: Removed the scheduler overhead from having unloaded worlds.&lt;br /&gt;
*Optimization: Sped up MapGenerator by about 10%.&lt;br /&gt;
&lt;br /&gt;
===0.530===&lt;br /&gt;
&#039;&#039;7 May 2011 - r583&#039;&#039;&lt;br /&gt;
*Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.&lt;br /&gt;
*Feature: Added OptiCraft blocktype names and blocks&#039; numeric IDs as aliases.&lt;br /&gt;
*Fix: Fixed block bindings not being applied to drawing commands.&lt;br /&gt;
*Fix: Fixed fCraft getting confused if worlds.xml contains duplicates.&lt;br /&gt;
*Fix: Fixed &amp;quot;/&amp;quot; (repeat last command) not rewinding the command, which caused some issues with command arguments.&lt;br /&gt;
*Fix: Fixed &amp;quot;Max connections per IP&amp;quot; setting not saving in ConfigTool.&lt;br /&gt;
*Fix: Fixed AnnounceRankChangeReasons checkbox being erroneously tied to RequireRankChangeReasons key in ConfigTool.&lt;br /&gt;
*Fix: Added some missing tooltips to ConfigTool.&lt;br /&gt;
*Fix: Marked 10.0.0.0/8 IP range as LAN.&lt;br /&gt;
*Fix: Fixed an issue with balanced name verification (thanks wootalyzer).&lt;br /&gt;
*Fix: Fixed server announcing hidden players&#039; departure (#3292633). Thanks to Hellenion.&lt;br /&gt;
*Fix: Fixed /bring not checking per-rank permissions (#3292303). Thanks to Denny&lt;br /&gt;
*Fix: Fixed some header bugs in the D3 map converter.&lt;br /&gt;
*Fix: Fixed /wload crashing instead of printing an error message under Mono if the path was malformed.&lt;br /&gt;
*Fix: Fixed /banip not recognizing invalid IPs (e.g. broadcast).&lt;br /&gt;
*Fix: Fixed antispam resetting players&#039; mute time.&lt;br /&gt;
*Fix: Fixed Scheduler being able to add tasks after the shutdown process started.&lt;br /&gt;
*Fix: Reduced problems associated with players trying to connect while the server is shutting down.&lt;br /&gt;
*Fix: Added autorank.xml to the list of protected files.&lt;br /&gt;
*Fix: Fixed a crash in backup system that happened if two backups ran simultaneously and the total size or number of backup files was limited.&lt;br /&gt;
*Fix: Fixed a case where duplicate worlds could be created.&lt;br /&gt;
*Change: When players rejoin a world (e.g. /wflush or /wload), &amp;quot;joined world&amp;quot; message is no longer shown.&lt;br /&gt;
*Change: /mute no longer allows shortening players&#039; mute time, only to extend it.&lt;br /&gt;
*Change: Allowed player names with periods.&lt;br /&gt;
*Change: Removed SaveOnShutdown config key, tweaked range checks on some keys, grouped key tags into section tags.&lt;br /&gt;
*Change: When saving config.xml, keys with default values are now commented out.&lt;br /&gt;
*API: New events! PlayerHideChanged, PlayerInfoCreating, PlayerInfoCreated, PlayerInfoRankChanging, and PlayerInfoRankChanged.&lt;br /&gt;
*API: Server.StartServer() now throws specific exceptions on failure, instead of returning false.&lt;br /&gt;
*API: Removed some obsolete Server events.&lt;br /&gt;
*API: Switched to 100% Utc dates/times internally. PlayerDB now uses UTC Unix timestamps to serialize all dates/times.&lt;br /&gt;
*Optimization: Sped up map generation.&lt;br /&gt;
*Optimization: Reduced PlayerDB saving interval, reduced PlayerDB filesize, reduced CPU and memory use of PlayerDB saving, reduced memory footprint of loaded PlayerDB, improved IPAddress lookup performance in PlayerDB.&lt;br /&gt;
&lt;br /&gt;
===0.522===&lt;br /&gt;
&#039;&#039;16 April 2011 - r546&#039;&#039;&lt;br /&gt;
*Feature: Added more functionality to hollow ellipsoid and sphere, thanks to Redshift. Now it is possible to define outer/inner blocktypes.&lt;br /&gt;
*Feature: Added OptiCraft map format support, courtesy of LgZ-optical&lt;br /&gt;
*Fix: Fixed a serious error that caused a crash when main world became full. This bug affected 0.520 and 0.521.&lt;br /&gt;
*Fix: Fixed AutoLauncher not working under Mono (thanks to ven000m for spotting).&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog crashing if closed while generating a world.&lt;br /&gt;
*Fix: Fixed /restart using ShutdownReason.ShuttingDown (instead of ShutdownReason.Restarting) &lt;br /&gt;
*Fix: Fixed a crash in ConfigTool if MaxPlayers was set to be less than MaxPlayersPerWorld.&lt;br /&gt;
*Fix: When loading old configs (pre-0.520), MaxPlayersPerWorld is automatically set to match MaxPlayers, to avoid unexpected side effects.&lt;br /&gt;
*API: Added WorldCreating and WorldCreated events.&lt;br /&gt;
*API: Moved world-related commands from Server to a new class, WorldManager.&lt;br /&gt;
*API: Renamed RankList to RankManager, and CommandList to CommandManager, for consistency.&lt;br /&gt;
&lt;br /&gt;
===0.521===&lt;br /&gt;
&#039;&#039;12 April 2011 - r534&#039;&#039;&lt;br /&gt;
*Feature: Added a /Clear command, to clear in-game chat. Also works from fCraftConsole and fCraftUI.&lt;br /&gt;
*Fix: Added missing chat commands.&lt;br /&gt;
*Fix: Cosmetic fixes in /ZRemove.&lt;br /&gt;
&lt;br /&gt;
===0.520===&lt;br /&gt;
&#039;&#039;12 April 2011 - r532&#039;&#039;&lt;br /&gt;
*Feature: Removed the server-wide 128 player limit. Now the limit is per-world.&lt;br /&gt;
*Feature: You can now repeat the last command by typing &amp;quot;/&amp;quot;&lt;br /&gt;
*Feature: Added a way to use color codes in chat (with % instead of &amp;amp;), a UseColorCodes permission, and a /colors command.&lt;br /&gt;
*Feature: Added support for multi-line messages or commands. Add &amp;quot; /&amp;quot; to the end of a line to continue typing it.&lt;br /&gt;
*Feature: Added &amp;quot;/commands&amp;quot;, to replace &amp;quot;/help commands&amp;quot;. It allows filtering commands by rank, category, permissions, etc. Aliases: /cmdlist, /cmds&lt;br /&gt;
*Feature: New permissions: ViewPlayerIPs, BringAll&lt;br /&gt;
*Feature: New config switches: AnnounceRankChangeReasons and RequireKickReason.&lt;br /&gt;
*Feature: Replaced LimitOneConnectionPerIP config key (boolean) with a more flexible MaxConnectionsPerIP (int).&lt;br /&gt;
*Feature: Added /bringall command, for moving everyone (or only certain ranks) from your world (or optionally all worlds, or a list of other worlds) to your location.&lt;br /&gt;
*Feature: /bring can be limited per-rank&lt;br /&gt;
*Feature: When file is not found on case-sensitive filesystems, fCraft tries to syggest similar filenames.&lt;br /&gt;
*Feature: Added new constants to use in greeting.txt: {TIME}, {PLAYER_NAME}, {WORLD}, {PLAYERS}, {WORLDS}, {MOTD}&lt;br /&gt;
*Feature: Improved compatibility with SurvivalTest clients.&lt;br /&gt;
*Fix: Fixed /banip not kicking other players from the same IP (besides the named player)&lt;br /&gt;
*Fix: Added missing blocktype validation to MapFCMv2, MapFCMv3, MapMyne, and MapNBT.&lt;br /&gt;
*Fix: Fixed a rare shutdown crash in fCraftUI.&lt;br /&gt;
*Fix: Improved the way PlayerDB.Load handles errors in individual records. A single corrupted entry will no longer prevent the rest from loading.&lt;br /&gt;
*Fix: Fixed fCraftUI abruptly quitting on crash / failure to start, instead of showing the error message. Use &amp;quot;--exitoncrash&amp;quot; command-line switch to reproduce old behavior.&lt;br /&gt;
*Fix: Fixed ConfigTool&#039;s World tab not prompting to delete map files when deleting worlds.&lt;br /&gt;
*Fix: Fixed a bug in MCSharp importer (#3281305)&lt;br /&gt;
*Fix: Fixed a list of permissions in /rinfo not being sorted.&lt;br /&gt;
*Fix: Fixed /mute rank limit dropdown sometimes getting out of sync.&lt;br /&gt;
*Fix: Fixed IRC bot redundantly announcing kicks when someone has been banned.&lt;br /&gt;
*Fix: Fixed a bug where fCraft would fail to start if PlayerDB.txt was truncated/empty.&lt;br /&gt;
*Change: Moved &amp;quot;IP&amp;quot; config key from General to Advanced.&lt;br /&gt;
*Change: Added /spin as an alias to /rotate (for MCLawl users)&lt;br /&gt;
*API: New events: PlayerClicking, PlayerClicked, PlayerPlacingBlock, PlayerPlacedBlock, PlayerListChanged, PlayerBeingKicked, PlayerKicked&lt;br /&gt;
*Optimization: Reduced CPU use of draw commands by ~30%. Sped up PlayerDB loading by ~8%, and reduced memory use when saving. Also reduced PlayerDB filesize by about 15%&lt;br /&gt;
&lt;br /&gt;
===0.512===&lt;br /&gt;
&#039;&#039;2 April 2011 - r508&#039;&#039;&lt;br /&gt;
*Feature: /zones can now be used from console, and can be used on any world (active or inactive).&lt;br /&gt;
*Feature: Improved D3 map importer.&lt;br /&gt;
*Fix: Added missing filename sanity/safety checks to /dumpstats (#3267362, thanks to Hellenion)&lt;br /&gt;
*Fix: Fixed mixed up messages shown in /waccess and /wbuild (#3179189)&lt;br /&gt;
*Fix: Fixed crash reports sometimes failing to submit.&lt;br /&gt;
*Fix: Fixed /dumpstats crashing if a rank had 0 players.&lt;br /&gt;
*Fix: Made Mono version detection less crashy (#3267476, thanks to Hellenion again)&lt;br /&gt;
*Fix: Fixed MapUtility.LoadHeader terminating early, before going through all fallback converters.&lt;br /&gt;
*Fix: Fixed ConfigTool tab order.&lt;br /&gt;
*Fix: Fixed fCraft reporting inaccurate CPU usage figures.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in /rank if an invalid player name was given.&lt;br /&gt;
*Fix: Fixed fCraft project not building under Windows if path contains spaces.&lt;br /&gt;
*Change: Added &amp;quot;/serverreport&amp;quot; as an alias for &amp;quot;/sinfo&amp;quot;&lt;br /&gt;
*Change: Improved the way fCraft handles and reports map loading errors.&lt;br /&gt;
*API Change: Moved all filename constants (e.g. &amp;quot;PlayerDB.txt&amp;quot;) to Paths class.&lt;br /&gt;
&lt;br /&gt;
===0.511===&lt;br /&gt;
&#039;&#039;31 March 2011 - r497&#039;&#039;&lt;br /&gt;
*Feature: Further improvements to Mono support. fCraft will now utilize mono-sgen whenever possible.&lt;br /&gt;
*Fix: Fixed fCraftUI ignoring command-line arguments.&lt;br /&gt;
*Fix: Fixed broken /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed crash reports failing to submit.&lt;br /&gt;
*Fix: Fixed a timezone-related bug that messed up players&#039; &amp;quot;total time on server&amp;quot; stat.&lt;br /&gt;
*Change: Added a warning if running on old versions of Mono (2.6 or lower). &lt;br /&gt;
&lt;br /&gt;
===0.510_r489===&lt;br /&gt;
&#039;&#039;29 March 2011 - r489&#039;&#039;&lt;br /&gt;
*Fix: Fixed unnecessary GDI+ dependence in fCraftConsole under Mono&lt;br /&gt;
*Fix: Fixed EnumKeyAttribute not taking blank values (as in case of ProcessPriority config key).&lt;br /&gt;
&lt;br /&gt;
===0.510===&lt;br /&gt;
&#039;&#039;29 March 2011 - r488&#039;&#039;&lt;br /&gt;
*Feature: The fCraft updater has been rewritten and expanded. It now works under all OSes, and provides more features.&lt;br /&gt;
*Feature: fCraft now handles differences between case-sensitive and case-insensitive filesystems much better. /wrename and /wload are also aware of the filesystem.&lt;br /&gt;
*Feature: fCraft now checks presence, filename capitalization, and integrity of all map files on the world list at startup.&lt;br /&gt;
*Feature: New ConfigTool settings for updater, checkbox for showing &amp;quot;player connected/left&amp;quot; messages, and &amp;quot;/mute&amp;quot; permission settings.&lt;br /&gt;
*Feature: Added &amp;quot;/credits&amp;quot; command to ConfigUI.&lt;br /&gt;
*Feature: Implemented &amp;quot;--norestart&amp;quot; and &amp;quot;--exitoncrash&amp;quot; command-line switches for fCraft.&lt;br /&gt;
*Feature: fCraft event system is being rewritten with modding support in mind.&lt;br /&gt;
*Feature: Improved MCSharp/MCZall/MCLawl map support.&lt;br /&gt;
*Fix: Software errors that happen while parsing player and console commands will no longer cause disconnects/crashes.&lt;br /&gt;
*Fix: IPBanList will attempt to recover records lost due to a recent regression in 0.505.&lt;br /&gt;
*Fix: Fixed /wrename errors in cases where names differ only in capitalization.&lt;br /&gt;
*Fix: Fixed &amp;quot;Copy Existing World&amp;quot; showing the current world on the list in AddWorldPopup.&lt;br /&gt;
*Fix: Fixed &amp;quot;Chat&amp;quot; tab preview not updating when settings are reset.&lt;br /&gt;
*Fix: Fixed per-world whitelist/blacklist not saving when worlds are edited with AddWorldPopup.&lt;br /&gt;
*Fix: Fixed non-verified connections that get kicked from affecting that name&#039;s PlayerInfo.&lt;br /&gt;
*Fix: Server.GenerateSalt() now uses a cryptographically secure PRNG.&lt;br /&gt;
*Fix: Fixed verification problems on servers with HeartbeatEnabled=false.&lt;br /&gt;
*Fix: Fixed a wrong message being shown by /rank if the target is already same or higher/lower rank.&lt;br /&gt;
*Fix: Fixed /winfo showing incorrect information for last lock/unlock event.&lt;br /&gt;
*Fix: Fixed tabbing order on ConfigUI.&lt;br /&gt;
*Fix: Improved the way Server.InitLibrary and Logger.Log errors are handled.&lt;br /&gt;
*Fix: Added missing validation checks to LoadHeader in several map converters.&lt;br /&gt;
*Fix: Fixed players being able to complete a draw command or /zadd, if they were demoted before clicking for the second time.&lt;br /&gt;
*Fix: Added missing /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed a bug in /zinfo that showed incorrect creation/editing times.&lt;br /&gt;
*Fix: Better error messages for unrecognized block names in command parameters.&lt;br /&gt;
*Fix: /restart now works from ConfigUI under Mono (but still broken in fCraftConsole).&lt;br /&gt;
*Fix: Fixed handling of command-line arguments surrounded with quotes.&lt;br /&gt;
*Fix: Fixed a bug at ConfigTool.ConfigUI.xAllowSecurityCircumvention_CheckedChanged (#3181907, thanks to clhdrums87).&lt;br /&gt;
*Fix: Fixed /winfo counting hidden players (#3237877, thanks to Hellenion).&lt;br /&gt;
*Fix: Fixed MCSharp map exporter mixing up map dimensions (#3159501, thanks to dogwatch).&lt;br /&gt;
*Change: Improved the way fCraft project is built. Now all binaries are copied to /trunk/bin/Release or /trunk/bin/Debug.&lt;br /&gt;
*Change: Improved error tolerance of Scheduler.EndShutdown().&lt;br /&gt;
*Change: Expanded Logger.CheckForCommonErrors().&lt;br /&gt;
*Change: Renamed config keys (old ones can still be loaded): IRCBot to IRCBotEnabled, AutomaticUpdates to UpdaterMode.&lt;br /&gt;
*Change: Added /wadd as an alias for /wload.&lt;br /&gt;
*Change: Renamed Mcc namespace to fCraft.MapConversion.&lt;br /&gt;
*Change: Decreased timeout for fCraft update check.&lt;br /&gt;
*Change: Added a confirmation prompt to /rank when adding an unrecognized player name to the database.&lt;br /&gt;
*Optimization: Sped up heartbeat sending and world-related operations, increased world saving interval to 90 seconds, reduced per-player idle CPU usage, halved CPU usage of draw commands.&lt;br /&gt;
&lt;br /&gt;
===0.506===&lt;br /&gt;
&#039;&#039;11 February 2011 - r427&#039;&#039;&lt;br /&gt;
*Feature: Added hollow ellipsoid drawing (/eh) and hollow sphere drawing (/sph), contributed by Conrad &amp;quot;Redshift&amp;quot; Morgan.&lt;br /&gt;
*Fix: Fixed a regression in 0.503 that caused some IP ban records to be lost. I am terribly sorry!&lt;br /&gt;
*Fix: Fixed a path-related error in Map.SaveBackup&lt;br /&gt;
*Fix: Fixed a possible disconnect in Player.CheckBlockSpam is antigrief was not configured properly.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool.SaveWorldList.&lt;br /&gt;
*Fix: Fixed &amp;quot;Limit the number of blocks that can be undone&amp;quot; checkbox misbehaving (thanks to ven000m for bug report).&lt;br /&gt;
*Change: By popular demand /sphere2 is now the default behavior of /sphere.&lt;br /&gt;
*Change: Removed &amp;quot;oldSalt&amp;quot; check for name verification, to avoid having the server write to config.xml unnecessarily.&lt;br /&gt;
*Change: Removed &amp;quot;.backup&amp;quot; file creation, by popular demand. It was kinda useless.&lt;br /&gt;
&lt;br /&gt;
===0.505===&lt;br /&gt;
&#039;&#039;8 February 2011 - r422&#039;&#039;&lt;br /&gt;
*Feature: All draw commands now inform player if any blocks were skipped due to local permission issues (e.g. zones).&lt;br /&gt;
*Fix: Fixed a regression that caused backups to be saved in the wrong path. Backups were being saved to ./backups/ instead of ./maps/backups/&lt;br /&gt;
*Fix: Fixed a permission issue in /replace and /replacenot.&lt;br /&gt;
*Fix: Fixed /info not displaying a list of players from same IP.&lt;br /&gt;
*Fix: Addressed a security issue with salt generation.&lt;br /&gt;
&lt;br /&gt;
===0.504===&lt;br /&gt;
&#039;&#039;3 February 2011 - r419&#039;&#039;&lt;br /&gt;
*Fixed a crash bug related to SecurityController.MinRank&lt;br /&gt;
&lt;br /&gt;
===0.503===&lt;br /&gt;
&#039;&#039;3 February 2011 - r418&#039;&#039;&lt;br /&gt;
*Feature: Added /deafen command. It temporarily blocks all incoming messages (makes you go &amp;quot;deaf&amp;quot;), to allow taking screenshots, recording videos, or just playing without the wall of text.&lt;br /&gt;
*Feature: Added ShowBannedConnectionMessages config key (default: true). When disabled, no &amp;quot;banned player tried to log in&amp;quot; messages are shown.&lt;br /&gt;
*Fix: Fixed PlayerInfo.frozenOn not being set.&lt;br /&gt;
*Fix: Fixed kick messages for players affected by /banall&lt;br /&gt;
*Fix: Fixed /unbanall reason not being shown.&lt;br /&gt;
*Fix: /where now shows what world you are on.&lt;br /&gt;
*Fix: Fixed a couple minor bugs in /waccess and /wbuild.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in SecurityController constructor.&lt;br /&gt;
*Fix: Made several tweaks to improve the first-run experience.&lt;br /&gt;
&lt;br /&gt;
===0.502===&lt;br /&gt;
&#039;&#039;31 January 2011 - r411&#039;&#039;&lt;br /&gt;
*Fix: Adjusted for yet another change in the way minecraft.net replies to heartbeats (should fix all heartbeat issues for now).&lt;br /&gt;
*Fix: Added a check to /zremove to prevent players from deleting zones to gain access to areas from which they&#039;re barred.&lt;br /&gt;
*Fix: Fixed being able to use /me or /staff to write empty messages.&lt;br /&gt;
*Fix: Fixed frozen players not getting defrosted when kicked.&lt;br /&gt;
*Fix: Formatting fixes in &amp;quot;___ was previously frozen&amp;quot; message&lt;br /&gt;
*Fix: Fixed a mini-bug in Map.ValidateHeader()&lt;br /&gt;
*Change: Renamed /wremove to /wunload for consistency. &amp;quot;/wremove&amp;quot; is still usable as an alias.&lt;br /&gt;
&lt;br /&gt;
===0.501===&lt;br /&gt;
&#039;&#039;30 January 2011 - r408&#039;&#039;&lt;br /&gt;
*Feature: Added /sphere and /sphere2, based on code contributed by SystemX17.&lt;br /&gt;
*Feature: Added new config setting: ShowConnectedMessages (default: true)&lt;br /&gt;
*Feature: Added a notification for players who logged in frozen.&lt;br /&gt;
*Fix: Fixed frozen players twitching.&lt;br /&gt;
*Fix: Fixed IRC bot not stripping color codes in messages relayed from IRC to the game.&lt;br /&gt;
*Fix: Fixed lastSeen and lastLoginDate not being set for first-time players who failed to log in (e.g. IP-banned).&lt;br /&gt;
*Fix: Fixed /bring not working properly on frozen players.&lt;br /&gt;
*Fix: Fixed a case where it was possible to add access restrictions to main map.&lt;br /&gt;
*Fix: Fixed per-world whitelists/blacklists being lost when editing worlds.xml via ConfigTool.&lt;br /&gt;
*Fix: Fixed AutoRankAll showing wrong number of players promoted/demoted (just a formatting bug, no promotions were affected)&lt;br /&gt;
&lt;br /&gt;
===0.500===&lt;br /&gt;
&#039;&#039;25 January 2011 - r399&#039;&#039;&lt;br /&gt;
*Commands: Added /line drawing command, kindly contributed by SystemX17&lt;br /&gt;
*Commands: Added /restart command, to restart the server remotely (NOTE: does not work for fCraftWinService yet)&lt;br /&gt;
*Commands: Added /unmute command (same as &amp;quot;/mute name 0&amp;quot;)&lt;br /&gt;
*Commands: Added an option to silently hide (no disconnect/connect message).&lt;br /&gt;
*Commands: Added /ignore and /unignore commands to block chat from another player (for the duration of your visit).&lt;br /&gt;
*Commands: /whide and /wunhide commands added to hide/unhide worlds from the list.&lt;br /&gt;
*Commands: /worlds now takes an optional param: &amp;quot;/worlds all&amp;quot; lists visible+hidden worlds, and &amp;quot;/worlds hidden&amp;quot; lists hidden worlds only.&lt;br /&gt;
*Commands: List of player names from the same IP is now shown in /info.&lt;br /&gt;
*Commands: /help now shows what rank you need to be to use a command (for most commands).&lt;br /&gt;
*Commands: /bring now works on frozen players.&lt;br /&gt;
*Commands: /bring now takes an optional second name/parameter, to teleport someone to someone&lt;br /&gt;
*Commands: /info now shows whether a player is hidden (if the command caller has permission to see).&lt;br /&gt;
*Commands: Fixed a case where teleporting to a player who is currently changing worlds brings one to a wrong location.&lt;br /&gt;
*Commands: Fixed bindings (/water, /lava, /solid, and /bind) not being applied to draw commands.&lt;br /&gt;
*Commands: /wsave and /gen can now create directories if needed.&lt;br /&gt;
*Commands: Fixed a bug in /roll&lt;br /&gt;
*Commands: Sped up /paste, /pastenot, /replace, and /replacenot slightly.&lt;br /&gt;
*ConfigTool: New &amp;quot;Chat&amp;quot; tab for controlling appearance and content of in-game chat.&lt;br /&gt;
*ConfigTool: Added ability to customize MeColor (for /me messages, default: purple) and WarningColor (for major errors/warnings, default: red) in config.&lt;br /&gt;
*ConfigTool: AddWorldPopup can now show detailed info for maps of all supported formats.&lt;br /&gt;
*ConfigTool: Improved tooltips for several items in ConfigUI.&lt;br /&gt;
*FrontEnd: Uncaught exceptions that happen while executing commands from fCraftUI console are now handled by the crash reporter (instead of actually crashing).&lt;br /&gt;
*FrontEnd: Added /clear command for fCraftUI and fCraftConsole - clears log screen.&lt;br /&gt;
*FrontEnd: The URL is no longer highlighted after first heartbeat, to avoid stealing focus from console.&lt;br /&gt;
*Generator: Fixed &amp;quot;flatgrass&amp;quot; template&lt;br /&gt;
*Generator: Fixed alphabetical order in the list of templates&lt;br /&gt;
*Generator: MapGenerator now embeds generation parameters into the map file metadata&lt;br /&gt;
*Generator: Fixed several template loading bugs.&lt;br /&gt;
*Generator: Optimized AddBeaches to be about 2x faster&lt;br /&gt;
*Generator: Added a missing dimension check to /gen&lt;br /&gt;
*IRC: Messages relayed from game to IRC now have color codes preserved.&lt;br /&gt;
*IRC: Kicks, Bans, unbans, promotions, and demotions can now be relayed to IRC.&lt;br /&gt;
*IRC: IRC bot now relays /say messages, and /me messages (both /me on IRC and /me on the server).&lt;br /&gt;
*IRC: IRC Error handling is greatly improved.&lt;br /&gt;
*IRC: (Threaded) If one of the bots loses connection, one of the other bots take over parsing input.&lt;br /&gt;
*IRC: Increased IRC reconnect delay to 15 seconds.&lt;br /&gt;
*Maps: Switched to a new file format (FCMv3) that allows for future additions like block tracking and physics.&lt;br /&gt;
*Maps: Much of MCC (map conversion) API was rewritten for better consistency and performance.&lt;br /&gt;
*Maps: Improved support for loading indev (pre-infinite) maps, including Omen-generated maps.&lt;br /&gt;
*Maps: Improved resilience for loading maps with unknown blocktypes. Instead of failing, it just replaces any unknown blocks with air.&lt;br /&gt;
*Maps: Added consistent header validation to all map format loaders.&lt;br /&gt;
*Maps: Fixed maps not autosaving when zones are added or removed.&lt;br /&gt;
*Maps: Zone definitions are now serialized to XML. Zones saved with this revision of fCraft will no longer be readable by older version of fCraft.&lt;br /&gt;
*Maps: Fixed a bug when loading JTE&#039;s format maps.&lt;br /&gt;
*Maps: Fixed format of backup filenames.&lt;br /&gt;
*PlayerDB: Added new fields: bannedUntil, frozenOn, frozenBy, mutedUntil, mutedBy, IRCPassword, online, leaveReason&lt;br /&gt;
*PlayerDB: Fixed PlayerInfo.ID not being assigned for new players until sever restart / DB reload.&lt;br /&gt;
*PlayerDB: Fixed off-by-one error with PlayerInfo.timesVisited&lt;br /&gt;
*PlayerDB: Fixed /me, /say, rank chat, and /staff not counting towards PlayerInfo.linesWritten&lt;br /&gt;
*PlayerDB: Made PlayerDB more resilient to errors. Reduced filesize slightly by omitting default values for more date fields, and removing milliseconds from &amp;quot;totalTime&amp;quot;&lt;br /&gt;
*PlayerDB: Improved forwards compatibility of PlayerDB by removing maximum-field-count check.&lt;br /&gt;
*Security: Worlds can now have player whitelists and blacklists (just like zones) for access and build permissions.&lt;br /&gt;
*Security: Added a security check to /wsave, /wload, and /gen to prevent reading or overwriting files outside the map folder.&lt;br /&gt;
*Security: Added a per-rank security option to prevent players from whitelisting themselves, removing themselves from blacklists, or lowering their rank&#039;s restrictions on worlds and zones.&lt;br /&gt;
*Security: /mute and /freeze are now persistent even if the player reconnects.&lt;br /&gt;
*Security: Relaxed SetTile packet checks. Players will no longer be kicked due to Minecraft client bugs.&lt;br /&gt;
*Security: Fixed an exploit that allowed changing steps to doublesteps even inside zoned areas.&lt;br /&gt;
*Security: Improved consistency of permission dependencies.&lt;br /&gt;
*Security: Fixed a security exploit in /wmain that allowed players with ManageWorlds permission to gain access to restricted worlds.&lt;br /&gt;
*Security: Fixed a bug that prevented banning players who were not yet in PlayerDB.&lt;br /&gt;
*Security: Added an option to only allow paid players (PaidPlayersOnly)&lt;br /&gt;
*Stability: Made crash reporting more reliable. A failed crash report will no longer prevent error message from being logged and displayed.&lt;br /&gt;
*Stability: Fixed a crash in AddWorldPopup if dialog is closed while a map is still loading.&lt;br /&gt;
*Stability: To improve compatibility with some bots, removed &amp;quot;almost there...&amp;quot; message on the loading screen&lt;br /&gt;
*Stability: Disabled error reporting of common non-fCraft-related errors (like wrong runtime versions, or wrong Mono permissions).&lt;br /&gt;
*Stability: Added &amp;quot;libMonoPosixHelper.so&amp;quot; and &amp;quot;UnauthorizedAccessException&amp;quot; to Logger.CheckForCommonErrors, and made &amp;quot;Could not load file or assembly&amp;quot; check locale-independent.&lt;br /&gt;
*Stability: A backup file is now created whenever PlayerDB, IP ban list, config, or world list are saved (e.g. PlayerDB.txt.backup)&lt;br /&gt;
*Stability: Crash reporter now sends last 25 lines of the log.&lt;br /&gt;
*Stability: Added a fallback overload for Player.Message() that bypasses string format, to make the whole thing less prone to format errors.&lt;br /&gt;
*System: fCraft now takes command-line arguments (at startup) to override the following:&lt;br /&gt;
**working directory (--path=/your/path/here)&lt;br /&gt;
**log directory (--logpath=/your/path/here)&lt;br /&gt;
**map directory (--logpath=/your/path/here) - also overridable in a more user-friendly way via ConfigTool (MapPath key)&lt;br /&gt;
**config file location (--config=/your/path/and/filename.xml)&lt;br /&gt;
*System: Added an option to change the name of Console pseudoplayer in the config.&lt;br /&gt;
*System: Player.GetClassyName() and PlayerInfo.GetClassyName() now add an asterisk after banned players&#039; names&lt;br /&gt;
*System: Fixed hidden players remaining hidden in some cases.&lt;br /&gt;
*System: Fixed PacketWriter.MakeWrappedMessage ignoring uppercase hex colorcodes&lt;br /&gt;
*System: Implemented NoPartialPositionUpdates and RelayAllUpdates config keys.&lt;br /&gt;
*System: Several little glitches and inefficiencies fixed in movement handling code.&lt;br /&gt;
*System: Fixed &amp;quot;player connected&amp;quot; and other messages showing up too early in-game (before map loaded).&lt;br /&gt;
*System: Fixed kick message for players affected by /banall&lt;br /&gt;
*System: Added HeartbeatEnabled config key (default: true)&lt;br /&gt;
*System: Fixed a case where heartbeat could be sent from a different IP than the listening port on systems with multiple NICs/IPs and no configured static IP.&lt;br /&gt;
*System: Increased the write buffer for writing out PlayerDB, reducing I/O time by ~20% on .NET, and ~35% on Mono&lt;br /&gt;
*System: New Scheduler API.&lt;br /&gt;
*System: Modified /wload to avoid loading the map twice in case confirmation is needed.&lt;br /&gt;
*System: Changes to AutoRankEnabled will now be applied when /reloadconfig is called.&lt;br /&gt;
*System: Fixed unnecessary confirmation being asked when world name matches file name in /wload&lt;br /&gt;
*System: Eliminated the heartbeat thread by switching to async i/o.&lt;br /&gt;
*System: Improved startup and shutdown speed.&lt;br /&gt;
*System: Added a &amp;quot;how to promote yourself&amp;quot; message for fresh installations of fCraft.&lt;br /&gt;
*System: Fixed Server.OnPlayerDisconnected event firing for unregistered sessions.&lt;br /&gt;
*System: Made Color.Parse() and Color.GetName() translate fCraft-specific color assignments (e.g &amp;quot;&amp;amp;S&amp;quot; for &amp;quot;System&amp;quot;)&lt;br /&gt;
*System: Added better detection for SMP/Alpha clients trying to connect.&lt;br /&gt;
*System: Sped up AutoRankAll&lt;br /&gt;
&lt;br /&gt;
=0.4xx=&lt;br /&gt;
===0.499===&lt;br /&gt;
&#039;&#039;6 November 2010 - r311&#039;&#039;&lt;br /&gt;
*Feature: Added an option to disable name verification for players connecting from LAN.&lt;br /&gt;
*Feature: Added &#039;flat&#039; template to MapGenerator, allowing to make flat maps with any theme.&lt;br /&gt;
*Feature: Added &#039;grass&#039; pseudotheme to /gen command, which is basically the &#039;Forest&#039; theme with trees disabled.&lt;br /&gt;
*Fix: Fixed /wflush leaving ghosts/clones behind.&lt;br /&gt;
*Fix: Fixed muted players being able to use /say and /staff&lt;br /&gt;
*Fix: Fixed /baninfo ignoring permission checks.&lt;br /&gt;
*Fix: Fixed &amp;quot;draw limit&amp;quot; checkbox getting disabled in ConfigTool if a player had &#039;CopyAndPaste&#039; permission but no &#039;Draw&#039; permission.&lt;br /&gt;
*Fix: Fixed several off-by-1 errors involving random number generation, notably in MapGenerator and Server.GenerateSalt()&lt;br /&gt;
*Fix: Fixed potential crash in MapGenerator.SealLiquids&lt;br /&gt;
*Fix: Fixed a potential crash in Map.SaveBackup() if the map filename contained brackets.&lt;br /&gt;
*Fix: Fixed a forced disconnect when trying to feed /gen a theme or template with brackets in the name.&lt;br /&gt;
&lt;br /&gt;
===0.498===&lt;br /&gt;
&#039;&#039;4 November 2010 - r308&#039;&#039;&lt;br /&gt;
*Change: Disabled zlib support due to more potential memory leaks. fffuuuuu....&lt;br /&gt;
*Fix: Fixed Island, Bay, and Ice templates broken by the last patch.&lt;br /&gt;
*Fix: MapGeneratorArgs: snowTransition was interpreted as absolute (instead of relative) altitude, and marbledHeightmap incorrectly defaulted to &#039;true&#039;.&lt;br /&gt;
*Change: Updated readme and changelog.&lt;br /&gt;
&lt;br /&gt;
===0.497===&lt;br /&gt;
&#039;&#039;4 November 2010 - r306&#039;&#039;&lt;br /&gt;
*Feature: Added accurate progress reporting from MapGenerator. Coming soon: cancellation.&lt;br /&gt;
*Feature: New MapGenerator options: BeachHeight, CliffSmoothing, LandSlope, UnderwaterSlope, MaxHeightVariation, MaxDepthVariation.&lt;br /&gt;
*Feature: Added UI controls for snow/cliff/beach settings to AddWorldPopup.&lt;br /&gt;
*Feature: Added a list of popular IRC networks to ConfigTool.&lt;br /&gt;
*Change: Improved PlayerDB lookup performance by reducing locking.&lt;br /&gt;
*Fix: Fixed MapGenerator calculating slope incorrectly at the water boundary.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add Ore&amp;quot; requiring &amp;quot;Add Caves&amp;quot; in MapGenerator.&lt;br /&gt;
*Fix: Fixed water/lava caves not sealing liquids properly. &lt;br /&gt;
*Change: Set MapGenerator to default to 256x256x96&lt;br /&gt;
*Change: AddWorldPopup Generator tab layout overhaul&lt;br /&gt;
*Change: Organized MapGeneratorArgs and added serialization/deserialization for all the new options.&lt;br /&gt;
&lt;br /&gt;
===0.496===&lt;br /&gt;
&#039;&#039;3 November 2010 - r301&#039;&#039;&lt;br /&gt;
*Fix: Fixed File.Replace() failing if fCraft was set up on a partition/volume other than the one where temp folder is.&lt;br /&gt;
*Fix: Added missing tooltip for &amp;quot;Edit Greeting&amp;quot;&lt;br /&gt;
*Fix: Fixed /sinfo including hidden players in the player count.&lt;br /&gt;
&lt;br /&gt;
===0.495===&lt;br /&gt;
&#039;&#039;2 November 2010 - r300&#039;&#039;&lt;br /&gt;
*Feature: Added a way to edit the greeting message, by editing &amp;quot;greeting.txt&amp;quot;&lt;br /&gt;
*Feature: When a player gets banned, any previously-banned accounts from same IP are listed.&lt;br /&gt;
*Fix: Fixed renaming worlds from ConfigTool&#039;s &amp;quot;worlds&amp;quot; tab not always working.&lt;br /&gt;
*Fix: Fixed several filesystem-related errors on non-Windows systems by using Path.Combine() instead of string concatenation.&lt;br /&gt;
*Fix: Possible workaround for missing heartbeats.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;default build rank&amp;quot; controls in ConfigTools.&lt;br /&gt;
*Fix: Fixed overwrite confirmation popping up for /wload when loading map into an unloaded world with the same name.&lt;br /&gt;
*Fix: Fixed a case where Forester could get into an infinite loop when there&#039;s not enough room to place requested number of trees.&lt;br /&gt;
&lt;br /&gt;
===0.494===&lt;br /&gt;
&#039;&#039;31 October 2010 - r297&#039;&#039;&lt;br /&gt;
*Feature: New map generator features:&lt;br /&gt;
**Adjustable water level.&lt;br /&gt;
**Realistic trees (powered by Forester)&lt;br /&gt;
**Snow on mountaintops&lt;br /&gt;
**Realistic cliffs&lt;br /&gt;
**Beaches&lt;br /&gt;
**New template (peninsula) and theme (swamp).&lt;br /&gt;
**Option to delay heightmap bias until after marbling/inversion.&lt;br /&gt;
*Feature: Added a way to load .mine maps.&lt;br /&gt;
*Feature: Added confirmation for potentially destructive commands: /importranks, /importbans, /massrank, /wload overwrites, /gen overwrites, /wsave overwrites, /zremove.&lt;br /&gt;
*Feature: Added /staff chat and ReadStaffChat permission.&lt;br /&gt;
*Feature: Added wireframe cuboid (/cw)&lt;br /&gt;
*Feature: Added an optional second param for /ch (cuboid hollow) that specifies the blocktype of the &amp;quot;filling&amp;quot;.&lt;br /&gt;
*Feature: Added a way to specify default build permission for new worlds.&lt;br /&gt;
*Fix: Fixed /info, /baninfo, and /banip not handling players whose name contain only digits.&lt;br /&gt;
*Fix: Fixed DoChangeRank mixing up RankChangeType.&lt;br /&gt;
*Fix: Added missing fields to MapGeneratorArgs serializer.&lt;br /&gt;
*Fix: Fixed per-rank draw limits not being calculated correctly in some cases.&lt;br /&gt;
*Fix: Replaced File.Delete/File.Move calls with a more reliable File.Replace call. This should slightly improve reliability of map/playerdb.txt/ipbans.txt/worlds.xml saving.&lt;br /&gt;
*Fix: Fixed a little ConfigTool bug that did not properly reset PatrolledRank after a rank deletion.&lt;br /&gt;
*Fix: Fixed terminal colors not resetting in fCraftConsole after a fatal crash under Mono.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;Play&amp;quot; button in fCraftUI.&lt;br /&gt;
*Fix: Added some basic error reporting to fCraftWinService.&lt;br /&gt;
*Change: Tweaked AddWorldPopup layout to accommodate more options.&lt;br /&gt;
&lt;br /&gt;
===0.493===&lt;br /&gt;
&#039;&#039;27 October 2010 - r290&#039;&#039;&lt;br /&gt;
*Feature: /info now supports autocompletion, wildcards, and IP search.&lt;br /&gt;
*Feature: Experimental service wrapper for fCraft.&lt;br /&gt;
*Feature: Added more editable properties to /setinfo: RankChangeType, BanReason, UnbanReason, RankChangeReason, LastKickReason&lt;br /&gt;
*Feature: Various improvements to /info, including hide-aware &amp;quot;online&amp;quot; indicator.&lt;br /&gt;
*Feature: Made Player.NoAccessMessage() print the minimum required rank, instead of just permission name(s).&lt;br /&gt;
*Feature: Added wootalyzer&#039;s chunk rendering code to IsoCat.&lt;br /&gt;
*Fix: Fixed ConfigTool not taking advantage of ZLibStream &lt;br /&gt;
*Fix: Fixed a very improbable case of a thread getting spinlocked when calling IRC.Send() is preemptied, and if there are at least 2 IRC threads.&lt;br /&gt;
*Fix: Fixed kick packets occasionally not being delivered due to a missing Flush() - thanks to wootalyzer for catching.&lt;br /&gt;
*Fix: Excluded banned and inactive players from DumpStats&lt;br /&gt;
*Fix: Fixed PlayerDB.Save() not escaping LastKickReason &lt;br /&gt;
*Fix: Cleaned up extra messages sent by /unhide.&lt;br /&gt;
*Fix: Fixed LastSeen not updating on-login (only on-logout).&lt;br /&gt;
*Fix: Improved the way fCraft checks for ghost/leftover sessions. Thanks to wootalyzer.&lt;br /&gt;
*Fix: If a player&#039;s name starts with a number, and you try to /tp to a coordinate that starts with the same number, you are no longer teleported to that player instead.&lt;br /&gt;
*Fix: Fixed hidden players being detectable by checking LastSeen in /info.&lt;br /&gt;
*Fix: To avoid performance degradation, GC calls have been centralized, delayed, limited to 1/minute, and moved to the tasks thread.&lt;br /&gt;
*Fix: Added delay between recurring calls to PlayerDB.Save, AutoRankAll, and DoGC - to balance load.&lt;br /&gt;
*Fix: Fixed rankChangeType not being updated.&lt;br /&gt;
*Fix: Fixed some typos reported by tvc. &lt;br /&gt;
*Change: Added &amp;quot;/uf&amp;quot; as an alias for &amp;quot;/unfreeze&amp;quot;, by popular demand. &lt;br /&gt;
*Change: Modified PlayerDB not to use ReaderWriterLockSlim, to avoid Mono issues with recursion.&lt;br /&gt;
*Change: Renamed /editplayerinfo to /setinfo&lt;br /&gt;
*Change: Made enum values in AutoRank (CriterionType, ConditionField, ComparisonOperation, ConditionScopeType, RankChangeType) case-insensitive.&lt;br /&gt;
*Change: Added a reference to /baninfo in /info&lt;br /&gt;
*Change: Made DetectMovementPacketSpam warn players instead of kicking.&lt;br /&gt;
&lt;br /&gt;
===0.492===&lt;br /&gt;
&#039;&#039;19 October 2010 - r280&#039;&#039;&lt;br /&gt;
*Feature: Added EditPlayerDB permission. This permission affects the upcoming AutoRank commands, /editplayerinfo, and ability to promote/demote/ban unrecognized players.&lt;br /&gt;
*Feature: When you kick a player, you are now shown the number of kicks they already have.&lt;br /&gt;
*Feature: More stats are now logged! RankType, TimeSinceLastKick, LastSeen, BlocksDrawn, LastKickBy, LastKickReason.&lt;br /&gt;
*Feature: Added &amp;quot;MaxUndo&amp;quot; config key for changing the default undo limit of 2,000,000 blocks per player.&lt;br /&gt;
*Feature: /info command is augmented with new stats (if available).&lt;br /&gt;
*Fix: Fixed ellipsoid command calculating volume incorrectly for draw limit checks.&lt;br /&gt;
*Fix: Fixed overflowing color code in &amp;quot;Player logged in from an IP previously used by banned players&amp;quot; message.&lt;br /&gt;
*Fix: Fixed PM recipient&#039;s name not getting logged properly.&lt;br /&gt;
*Fix: Previously-unseen players no longer have their FirstLoginDate, LastLoginDate, or TimesVisited set.&lt;br /&gt;
*Fix: /importranks now works correctly on players who are online at the time of import.&lt;br /&gt;
*Change: Added block aliases by popular demand: &amp;quot;bedrock&amp;quot; as an alias for admincrete, &amp;quot;cotton&amp;quot; as alias for &amp;quot;white&amp;quot;, and &amp;quot;aire&amp;quot; as alias for &amp;quot;air&amp;quot;&lt;br /&gt;
*Change: PlayerDB.txt format changes:&lt;br /&gt;
**MaxFieldCount raised to 36&lt;br /&gt;
**New fields added: UID (Int32), RankChangeType (enum, serialized as Int32), LastKickDate (DateTime), LastSeen (DateTime), BlocksDrawn (Int64), LastKickBy (string), LastKickReason (string).&lt;br /&gt;
**RankChangeBy, BannedBy, UnbannedBy, BanReason, UnbanReason, and RankChangeReason now default to empty string instead of &amp;quot;-&amp;quot; or null.&lt;br /&gt;
**If LastIP==IPAddress.None, empty string is saved instead of &amp;quot;255.255.255.255&amp;quot;.&lt;br /&gt;
**DateTime and TimeSpan format shortened to exclude microseconds. See PlayerDB.ToCompactString() for details.&lt;br /&gt;
*Change: AutoRank improvements (disabled in stable builds):&lt;br /&gt;
**Added /editplayerinfo command for easy editing of PlayerDB.&lt;br /&gt;
**Made AutoRank check players in-login (to accelerate promotion).&lt;br /&gt;
**AutoRank now runs on a scheduler.&lt;br /&gt;
**Fixed ConditionPreviousRank crash for played with default rank.&lt;br /&gt;
**Fixed banned players getting promoted by AutoRank.&lt;br /&gt;
**Fixed several serialization/loading issues in AutoRank.&lt;br /&gt;
**New fields added to ConditionIntRange: LastSeen, BlocksDrawn, TimeSinceRankChange, TimeSinceLastKick&lt;br /&gt;
**ConditionRankStatus renamed to ConditionRankChangeType&lt;br /&gt;
&lt;br /&gt;
===0.491===&lt;br /&gt;
&#039;&#039;17 October 2010 - r274&#039;&#039;&lt;br /&gt;
*Feature: Added ability to run multiple parallel IRC bots, to help high-traffic servers deal with IRC lag. This also makes it possible to connect to multiple networks in the future.&lt;br /&gt;
*Feature: Added new block aliases, by popular demand: &amp;quot;emerald&amp;quot;=teal, &amp;quot;fuchsia&amp;quot;=magenta, &amp;quot;cloth&amp;quot;=white, &amp;quot;lightgray&amp;quot;=gray, &amp;quot;lightgrey&amp;quot;=gray, &amp;quot;darkgray&amp;quot;=black, &amp;quot;darkgrey&amp;quot;=black, &amp;quot;brass&amp;quot;=gold&lt;br /&gt;
*Fix: Temporarily disabled 64-bit zlib support while I track down memory leaks. Should fix OutOfMemoryException, I&#039;m very sorry about overlooking that.&lt;br /&gt;
*Fix: Fixed a bug in /info that displayed incorrect &amp;quot;total time on server&amp;quot;.&lt;br /&gt;
*Fix: Per-rank permission checks for /freeze now apply as intended&lt;br /&gt;
*Fix: Fixed several improbable (but not impossible) threading deadlocks/crashes. Thanks to wootalyzer for catching these.&lt;br /&gt;
*Change: Added IRCThreads config key (default: 1, allowed range: 1-3)&lt;br /&gt;
&lt;br /&gt;
===0.490===&lt;br /&gt;
&#039;&#039;14 October 2010 - r264&#039;&#039;&lt;br /&gt;
*Feature: Testing a new map compressor/decompressor: ZLibStream. It should provide 50-200% speed increase, smaller map sizes, lower bandwidth use, and faster map loading.&lt;br /&gt;
*Fix: Fixed /shutdown not waiting the right amount and mixing up seconds/milliseconds.&lt;br /&gt;
*Fix: Fixed &amp;quot;No world found with the name...&amp;quot; showing player&#039;s own name.&lt;br /&gt;
*Fix: Added a fail-safe exception handler to Player.WaitForKick() - a temporary fix.&lt;br /&gt;
*Change: Previous verification salt is now stored, to allow players to validate even right after the server restarts.&lt;br /&gt;
*Change: Restructured SVN. Stable code is now always in /trunk/&lt;br /&gt;
&lt;br /&gt;
===0.487===&lt;br /&gt;
&#039;&#039;12 October 2010 - r255&#039;&#039;&lt;br /&gt;
*Feature: Added contextual help (tooltips) for all of ConfigTool. Help for &amp;quot;Add World&amp;quot; popup is coming in next version.&lt;br /&gt;
*Feature: Added rank limits for Freeze permission&lt;br /&gt;
*Fix: Fixed /mute being unusable from console.&lt;br /&gt;
*Change: Removed ViewOthersInfo requirement from /sinfo&lt;br /&gt;
*Change: Added ViewOthersInfo requirement to /where&lt;br /&gt;
*Change: Improvements to IRC tab layout in ConfigTool.&lt;br /&gt;
&lt;br /&gt;
===0.486===&lt;br /&gt;
&#039;&#039;11 October 2010 - r250&#039;&#039;&lt;br /&gt;
*Quick fix for IRC Bot bug that made server unconnectable.&lt;br /&gt;
&lt;br /&gt;
===0.485===&lt;br /&gt;
&#039;&#039;11 October 2010 - r249&#039;&#039;&lt;br /&gt;
*Feature: Added optional &amp;quot;delay&amp;quot; parameter to /shutdown (default: 5)&lt;br /&gt;
*Feature: World names can now be autocompleted for many commands (like /join and /lock)&lt;br /&gt;
*Fix: Fixed /unhide failing to reveal the player in certain situations.&lt;br /&gt;
*Fix: Fixed /setspawn being usable on players from other worlds.&lt;br /&gt;
*Fix: Fixed player names appearing white for all players.&lt;br /&gt;
*Fix: Fixed a recursion loop in NoWorldMessage()&lt;br /&gt;
*Fix: Fixed help entries for /setspawn and /shutdown&lt;br /&gt;
*Fix: Fixed potential crash in Server.Shutdown() if called after failed initialization/startup.&lt;br /&gt;
*Fix: Fixed potential deadlock/freeze in fCraftUI on shutdown.&lt;br /&gt;
*Change: Improved crash reporting for TargetInvokationException and TypeInitializerException errors.&lt;br /&gt;
*Change: All assemblies are now once again x86/x86_64/IA64 compatible.&lt;br /&gt;
*Change: Server.OnPlayerConnected event now supports cancellation.&lt;br /&gt;
&lt;br /&gt;
===0.484===&lt;br /&gt;
&#039;&#039;10 October 2010 - r245&#039;&#039;&lt;br /&gt;
*Feature: Added a way for IRC bot to use registered nicknames.&lt;br /&gt;
*Feature: /banall-related kicks are now announced in chat.&lt;br /&gt;
*Feature: /setspawn now actually changes player&#039;s spawn. Also, an optional PlayerName param allows temporarily changing other players&#039; spawn point.&lt;br /&gt;
*Feature: Several improvements to /info. Info now shows whether player&#039;s nick or IP was banned, and hides undefined information for players who haven&#039;t ever logged in.&lt;br /&gt;
*Fix: Fixed crash in ConfigTool if announcements were disabled.&lt;br /&gt;
*Fix: Fixed /banall not matching IPs properly, and not counting kicks towards PlayerInfo.&lt;br /&gt;
*Fix: Fixed ConfigUI not shutting down properly if Server.Init() or Server.Start() failed.&lt;br /&gt;
*Fix: Fixed Config.LoadLogOptions() always leaving Debug enabled.&lt;br /&gt;
*Fix: Added Process.GetCurrentProcess().Refresh() to ServerInfo to improve accuracy of /sinfo stat reporting.&lt;br /&gt;
*Fix: Improved /wsave and /wload path handling on non-Windows platforms.&lt;br /&gt;
*Fix: Replaced some potentially unsafe string concatenation in Player.Message() with proper formatting.&lt;br /&gt;
*Fix: Attempting a workaround for Mono memory leak in World.UnloadMap&lt;br /&gt;
*Fix: Fixed ranks from pre-0.480 configs being loaded in wrong order. Sorry!&lt;br /&gt;
*Change: Added a brief delay before reconnecting IRC bot after getting kicked from a channel. &lt;br /&gt;
*Change: PlayerDB is now saved every 60 seconds (instead of every 30).&lt;br /&gt;
*Change: Removed unused IRCBotQuitMsg config key, and added IRCRegisteredNick, IRCNickServ, and IRCNickServMessage keys.&lt;br /&gt;
*Change: Added a popup with crash information to ConfigTool.&lt;br /&gt;
*Change: Made announcements disabled by default.&lt;br /&gt;
&lt;br /&gt;
===0.483===&lt;br /&gt;
&#039;&#039;8 October 2010 - r242&#039;&#039;&lt;br /&gt;
*Feature: Myne/MyneCraft/Hyvebuild/iCraft maps can now be loaded from ConfigTool&#039;s &amp;quot;Add World&amp;quot; dialog.&lt;br /&gt;
*Fix: Fixed incorrect range checks for AnnouncementInterval and SaveInterval config keys (thanks to Shcaap for reporting).&lt;br /&gt;
*Fix: Fixed /hide showing a slightly different &amp;quot;player left&amp;quot; message compared to normal disconnect (thanks to Silverrock for reporting).&lt;br /&gt;
*Change: Added MC#-style &amp;quot;/z&amp;quot; alias for cuboid, by popular demand.&lt;br /&gt;
*Change: Hidden players can now receive PMs. The sender still gets the &amp;quot;No player found&amp;quot; message, but PMs are actually sent.&lt;br /&gt;
&lt;br /&gt;
===0.482===&lt;br /&gt;
&#039;&#039;7 October 2010 - r241&#039;&#039;&lt;br /&gt;
*Feature: Added new command aliases: &amp;quot;f&amp;quot; for &amp;quot;freeze&amp;quot;, and &amp;quot;pat&amp;quot; for &amp;quot;patrol&amp;quot;.&lt;br /&gt;
*Fix: Fixed typos in mute-related messages.&lt;br /&gt;
*Fix: Added missing triggers for OnPlayerListChanged event.&lt;br /&gt;
*Fix: Fixed /reloadconfig not changing several variables (like colors).&lt;br /&gt;
*Fix: Fixed antigrief defaulting to 35/5 (instead of unmetered).&lt;br /&gt;
*Fix: Fixed heartbeat counting hidden players.&lt;br /&gt;
*Fix: Fixed a rare ObjectDisposedException crash on shutdown when running fCraftUI.&lt;br /&gt;
*Change: Added a more informative disconnect message to players connecting with Alpha client.&lt;br /&gt;
*Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.&lt;br /&gt;
*Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.&lt;br /&gt;
&lt;br /&gt;
===0.481===&lt;br /&gt;
&#039;&#039;2 October 2010 - r237&#039;&#039;&lt;br /&gt;
*Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).&lt;br /&gt;
*Fixed a few more references to &amp;quot;player class&amp;quot; terminology instead of &amp;quot;rank&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.480===&lt;br /&gt;
&#039;&#039;2 October 2010 - r236&#039;&#039;&lt;br /&gt;
*Feature: Changed all &amp;quot;player classes&amp;quot; terminology to &amp;quot;ranks&amp;quot; for consistency with other servers. Several commands have been renamed to reflect that: /classes to /ranks, /user to /rank, /class to /rankinfo. All rank-related messages have also been updated.&lt;br /&gt;
*Feature: Added &amp;quot;Raise&amp;quot;/&amp;quot;Lower&amp;quot; buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a &amp;quot;rank&amp;quot; number to reorder ranks.&lt;br /&gt;
*Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.&lt;br /&gt;
*Fix: Improved fCraftUI responsiveness on-startup.&lt;br /&gt;
*Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.&lt;br /&gt;
*Fix: /wremove now always saves the map before unloading.&lt;br /&gt;
*Fix: Fixed Console being affected by chat spam/flood checks.&lt;br /&gt;
*Fix: Fixed /zinfo not showing any separators between player names.&lt;br /&gt;
*Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.&lt;br /&gt;
*Fix: Fixed Security and IRC tabs not being reset by &amp;quot;Reset All Defaults&amp;quot;&lt;br /&gt;
*Fix: Fixed bugged error messages in /tp and /bring when world access permission check fails.&lt;br /&gt;
*Fix: If any class limits were set to default/&amp;quot;(own class)&amp;quot;, the setting is now preserved.&lt;br /&gt;
*Fix: Fixed a bug that didn&#039;t reset Hide limit if it was set to a deleted rank.&lt;br /&gt;
*Change: Removed legacy zone loading code for pre-0.420 maps (due to changes in rank definition format).&lt;br /&gt;
*Change: Added a more informative disconnect message for players trying to connect with Minecraft Alpha clients.&lt;br /&gt;
*Change: Improved rank-based coloring in world list to check both access and build permissions.&lt;br /&gt;
*Change: Added &amp;quot;/fetch&amp;quot; as alias for /bring, and renamed &amp;quot;/save&amp;quot; to &amp;quot;/wsave&amp;quot;.&lt;br /&gt;
*Change: Deleted some obsolete/disabled controls from ConfigTool, removed PingInterval config key, and removed placeholder ControlPhysics and AddLandmarks permissions.&lt;br /&gt;
*Change: Made several changes to improve disconnect detection:&lt;br /&gt;
**Added occasional pings (every 5 seconds or so, depending on activity/inactivity).&lt;br /&gt;
**Reduced socket send/receive timeout from 12 to 10 seconds.&lt;br /&gt;
**Increased socket polling interval to improve performance.&lt;br /&gt;
*Change: If a player tries to connect to a server twice, the FIRST connection is dropped instead of the LAST connection.&lt;br /&gt;
*Refactor: Major changes were made to the way ranks are stored, and to RankList (formerly ClassList) API.&lt;br /&gt;
*Optimization: Made IsoCat rendering faster, and made draw commands use less CPU.&lt;br /&gt;
&lt;br /&gt;
===0.475===&lt;br /&gt;
&#039;&#039;17 September 2010 - r229&#039;&#039;&lt;br /&gt;
*Feature: /ztest now distinguishes between being allowed/denied by rank/class vs by whitelist/blacklist.&lt;br /&gt;
*Fix: Fixed being unable to change rank/class restrictions with /zedit&lt;br /&gt;
*Fix: Fixed a bug that reported wrong average CPU usage&lt;br /&gt;
*Fix: Fixed a crash on saving in ConfigTool, related to new PatrolledClass config key.&lt;br /&gt;
&lt;br /&gt;
===0.474===&lt;br /&gt;
&#039;&#039;16 September 2010 - r228&#039;&#039;&lt;br /&gt;
*Feature: &amp;quot;/mute&amp;quot; command to temporarily stop players from chatting. A new class permission (Mute) is added, granted to op+ by default.&lt;br /&gt;
*Feature: &amp;quot;/shutdown&amp;quot; command to gracefully shutdown the server remotely. A new class permission (ShutdownServer) is added, granted to owner by default.&lt;br /&gt;
*Feature: Added CPU usage information and loaded world count to /sinfo.&lt;br /&gt;
*Fix: Added a way to edit &amp;quot;PatrolledClass&amp;quot; from ConfigTool.&lt;br /&gt;
*Fix: Fixed zone whitelist/blacklist not updated correctly when edited.&lt;br /&gt;
*Fix: Made teleporting to spawn (with /spawn or /tp, no parameters) accessible to all classes.&lt;br /&gt;
*Fix: Adjusted for Notch&#039;s errors in handling player positions in teleport packets. Slightly improves accuracy of /tp, /bring, initial spawning, /patrol, frozen players, and speedhack detection.&lt;br /&gt;
*Fix: Removed &amp;quot;/tp&amp;quot; bounds check when used with typed-in coordinates numbers.&lt;br /&gt;
*Fix: Fixed an extremely unlikely case of PlayerDB/IPBanList overwriting on shutdown if server initialization failed.&lt;br /&gt;
*Fix: Made &amp;quot;server shutting down&amp;quot; packets deliver more reliably (but still not guaranteed).&lt;br /&gt;
*Fix: Fixed Console possibly not seeing hidden players.&lt;br /&gt;
*Change: Added a basic file check to AutoLauncher&lt;br /&gt;
*Change: Added error logging and crash reporting to Server.Shutdown&lt;br /&gt;
*API: Renamed Server.ShutdownStart to Server.ShutdownBegin (for consistency).&lt;br /&gt;
&lt;br /&gt;
===0.473===&lt;br /&gt;
&#039;&#039;15 September 2010 - r227&#039;&#039;&lt;br /&gt;
*Feature: Added zone coordinates to /zinfo&lt;br /&gt;
*Fix: Fixed cross-world /tp teleporting the wrong player.&lt;br /&gt;
*Fix: Fixed odd date formatting in /zinfo&lt;br /&gt;
&lt;br /&gt;
===0.472===&lt;br /&gt;
&#039;&#039;15 September 2010 - r226&#039;&#039;&lt;br /&gt;
*Feature: Added /cut command&lt;br /&gt;
*Feature: Added a new /patrol command. It allows cycling through low-ranked players on a map (with teleportation). The order is determined by how long it&#039;s been since someone checked on a player. A &amp;quot;Patrol&amp;quot; permission and &amp;quot;PatrolledClass&amp;quot; config key were added.&lt;br /&gt;
*Feature: Added a shorthand notation to /zone for making personal zones: &amp;quot;/zone +PlayerName&amp;quot; creates a zone named after the player, with rank limit just above player&#039;s, and with player whitelisted.&lt;br /&gt;
*Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.&lt;br /&gt;
*Fix: Fixed server always binding to IPAddress.Any regardless of config settings.&lt;br /&gt;
*Fix: TP/Bring no longer allow teleporting to hidden players on other worlds.&lt;br /&gt;
*Fix: Server.GetPlayerList(string) now stops searching the list when it finds an exact match.&lt;br /&gt;
*Fix: Fixed client-crash in /zedit when changing class.&lt;br /&gt;
*Fix: Fixed possible corruption of edited zones upon map saving.&lt;br /&gt;
*Fix: Fixed a range of improbable synchronization issues in the way Zone whitelist/blacklist is updated. As a fortunate side-effect, significantly reduced Zone.CanBuild() overhead.&lt;br /&gt;
*Fix: Temporarily added mainThread.Abort() to Server.Shutdown() that&#039;s kicked in if mainThread does not stop within 5s of being notified of shutdown. I am investigating the real cause of the hang.&lt;br /&gt;
*Fix: Fixed hidden players being revealed by promotion/demotion.&lt;br /&gt;
*Change: Added less threatening error messages to IRC bot on network errors (SocketException and IOException).&lt;br /&gt;
*Change: Disabled movement handling code while changing maps.&lt;br /&gt;
*Refactor: Merged StandardCommands and ImportCommands into AdminCommands&lt;br /&gt;
&lt;br /&gt;
===0.471===&lt;br /&gt;
&#039;&#039;14 September 2010 - r224&#039;&#039;&lt;br /&gt;
*Feature: Added ability to specify the server&#039;s IP (to bind to) manually, for machines with multiple NICs. A new config key &amp;quot;IP&amp;quot; (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.&lt;br /&gt;
*Fix: Fixed a bug with player ghosts being left behind when switching worlds.&lt;br /&gt;
*Fix: Fixed a case with kicked players&#039; connections not being terminated at once (thanks to wootalyzer).&lt;br /&gt;
*Fix: Fixed several bugs in hide/unhide functionality.&lt;br /&gt;
*Fix: Fixed a rare crash in AddWorldPopup related to missing maps for existing worlds.&lt;br /&gt;
*Fix: AddWorldPopup will no longer allow adding a world with a duplicate name.&lt;br /&gt;
*Fix: Capped maximum players at the newly-discovered protocol limit of 128 (thanks to wootalyzer).&lt;br /&gt;
*Change: ConfigTool fields now provide better feedback if validation fails.&lt;br /&gt;
*Change: Changed heartbeat interval to 40 seconds (down from 50).&lt;br /&gt;
*Change: Added a special error handler for rare/impossible case of mainWorld not being joinable.&lt;br /&gt;
*Change: Made fatal error messages in fCraftConsole print in red. Better color support coming soon.&lt;br /&gt;
&lt;br /&gt;
===0.470===&lt;br /&gt;
&#039;&#039;13 September 2010 - r223&#039;&#039;&lt;br /&gt;
*Feature: Personal zones - per-zone whitelist and blacklist of individual players. The lists can now be defined with /zadd and edited with /zedit.&lt;br /&gt;
*Feature: Added cave/ore generator from Omen (BETA).&lt;br /&gt;
*Feature: Added &amp;quot;/maps&amp;quot; and &amp;quot;/levels&amp;quot; as aliases for &amp;quot;/worlds&amp;quot;.&lt;br /&gt;
*Feature: Added a way to limit the &amp;quot;Hide&amp;quot; permission per-class. Now you can specify whom can a class hide from.&lt;br /&gt;
*Feature: Zones now remember date/time of creation and last edit, and names of original creator and last editor.&lt;br /&gt;
*Fix: Unauthorized players can no longer PM or use bring/freeze/unfreeze/kick/tp/where on hidden players. They get the standard &amp;quot;player not found&amp;quot; message.&lt;br /&gt;
*Fix: Fixed hidden players being counter towards /players total.&lt;br /&gt;
*Fix: Fixed a potential crash in /wflush when using on unloaded maps.&lt;br /&gt;
*Fix: Doing /banip or /banall on unrecognized players no longer ip-bans 255.255.255.255. Old IPBanList entries relating to 255.255.255.255 will be automatically discarded.&lt;br /&gt;
*Fix: Fixed /replace command uses not being logged.&lt;br /&gt;
*Fix: Fixed /worlds command not showing world count.&lt;br /&gt;
*Fix: Fixed a client-disconnect when trying to unban a player who is not in the database.&lt;br /&gt;
*Fix: Fixed &amp;quot;/join PlayerName&amp;quot; not translating to &amp;quot;/tp PlayerName&amp;quot; correctly.&lt;br /&gt;
*Fix: Fixed a very unlikely client-disconnect in ChangeClass if the entered class name contains curved braces.&lt;br /&gt;
*Change: Changed default name for &amp;quot;/flip&amp;quot; command to &amp;quot;/mirror&amp;quot;, and fixed command&#039;s help. Either term still works.&lt;br /&gt;
*Change: Added more block name aliases:&lt;br /&gt;
**Air: delete, erase&lt;br /&gt;
**Stone: cement, concrete&lt;br /&gt;
**Grass: gras (common typo)&lt;br /&gt;
**Obsidian: onyx&lt;br /&gt;
*Change: Improved formatting of /players, /worlds, and draw command messages.&lt;br /&gt;
&lt;br /&gt;
===0.463===&lt;br /&gt;
&#039;&#039;9 September 2010 - r218&#039;&#039;&lt;br /&gt;
*Fix: Fixed special colors showing up even if ClassColorsInChat is disabled.&lt;br /&gt;
*Fix: Fixed potential client-crash in World.SendToAll(), and related client-crash in lock/unlock.&lt;br /&gt;
&lt;br /&gt;
===0.462===&lt;br /&gt;
&#039;&#039;8 September 2010 - r217&#039;&#039;&lt;br /&gt;
*Fix: The &amp;quot;OK&amp;quot; button in AddWorldPopup no longer stays grayed out.&lt;br /&gt;
*Fix: Fixed &amp;quot;Error occured while loading&amp;quot; in the file information dialog for non-FCM files.&lt;br /&gt;
*Fix: Fixed a crash in /bring when used without any parameters.&lt;br /&gt;
*Fix: Fixed Server.UrlEncode not escaping 0x00-0x0F characters properly.&lt;br /&gt;
*Change: Slightly reduced default tree density in MapGenerator.&lt;br /&gt;
&lt;br /&gt;
===0.461===&lt;br /&gt;
&#039;&#039;8 September 2010 - r216&#039;&#039;&lt;br /&gt;
*Feature: New EXPERIMENTAL &amp;quot;/reloadconfig&amp;quot; command, and associated ReloadConfig permission. Use with caution!&lt;br /&gt;
*Fix: Fixed a case where AddWorldPopup would allow clicking &amp;quot;OK&amp;quot; with a null map.&lt;br /&gt;
*Fix: Fixed player crash if /freeze or /unfreeze is used without arguments.&lt;br /&gt;
*Fix: Fixed player crash on FormatException in /zones and Server.ShowPlayerConnectedMessage.&lt;br /&gt;
*Fix: Fixed potential player crash if LimitOneConnectionPerIP is enabled.&lt;br /&gt;
&lt;br /&gt;
===0.460===&lt;br /&gt;
&#039;&#039;8 September 2010 - r214&#039;&#039;&lt;br /&gt;
*Feature: Added ShowPlayerConnectedMessage and ClassColorsInWorldNames settings to config.&lt;br /&gt;
*Feature: Added /measure command.&lt;br /&gt;
*Feature: Class colors and prefixes are now applied consistently EVERYWHERE.&lt;br /&gt;
*Feature: Banned players now see their ban reason/memo when they get kicked.&lt;br /&gt;
*Feature: A special error message is shown to players trying to connect with Alpha/SMP client.&lt;br /&gt;
*Feature: IsoCat (ConfigTool isometric preview) rendering quality improved: better shadows and slight altitude-based gradient.&lt;br /&gt;
*Feature: Added new blocktype name aliases: &amp;quot;solid&amp;quot;, &amp;quot;golden&amp;quot;, &amp;quot;halfstep&amp;quot;, &amp;quot;halfblock&amp;quot;, &amp;quot;steps&amp;quot;.&lt;br /&gt;
*Feature: Added player count for each class in /classes&lt;br /&gt;
*Fix: Fixed wrong &amp;quot;MaxBackupsSize&amp;quot; range in ConfigTool.&lt;br /&gt;
*Fix: MaxBackupsSize setting is now applied correctly.&lt;br /&gt;
*Fix: IRC color codes are now stripped from forwarded messages.&lt;br /&gt;
*Fix: IRC bot now uses ServerName for &amp;quot;real name&amp;quot;.&lt;br /&gt;
*Fix: Formatting improved in many error messages.&lt;br /&gt;
*Fix: Commas in ban/unban/promote/demote reasons no longer cause problems with PlayerDB.&lt;br /&gt;
*Fix: Removed extra comma from /worlds list that showed in place of hidden/inaccessible worlds.&lt;br /&gt;
*Change: Added 5-second delay between retries in AutoLauncher&lt;br /&gt;
*Change: &amp;quot;Player connected&amp;quot; message condensed to a single line by absorbing &amp;quot;joined world&amp;quot; message.&lt;br /&gt;
*Change: Removed ChangeName permission (and the ability to change names) due to possibility of abuse and confusion. Related /nick and /whois commands were also removed.&lt;br /&gt;
*Change: /tp can now fall back to behave like /join if player name is not found (for all those times when you mistype /tp instead of /join). Conversely, /join falls back to /tp if player was not found.&lt;br /&gt;
*Optimization: Reduced bandwidth use with an adaptive movement packet skipping algorithm. Should reduced outbound traffic by at least 15%.&lt;br /&gt;
*Optimization: BlockUpdate memory usage slightly reduced.&lt;br /&gt;
&lt;br /&gt;
===0.455===&lt;br /&gt;
&#039;&#039;8 September 2010 - r213&#039;&#039;&lt;br /&gt;
*Feature: AutoLauncher (BETA) allows restarting the fCraftConsole server if it crashed. Although it honestly shouldn&#039;t crash at all!&lt;br /&gt;
*Fix: Allowed renaming worlds in cases where only capitalization is different.&lt;br /&gt;
*Fix: If an ip-banned player has more than one connection, all connections are now terminated.&lt;br /&gt;
*Fix: Fixed nonrectangular MCSharp maps getting messed up by the loader.&lt;br /&gt;
*Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.&lt;br /&gt;
*Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of &amp;quot;no player found&amp;quot; message). Affects PMs, {{cmd|TP}}, {{cmd|Bring}}, {{cmd|Freeze}}, {{cmd|Unfreeze}}, {{cmd|Kick}}.&lt;br /&gt;
*Change: Improved OS detection in crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.454===&lt;br /&gt;
*Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.&lt;br /&gt;
*Fix: Replace no longer behaves same as replacenot.&lt;br /&gt;
*Fix: Spaces in IRC messages are now preserved.&lt;br /&gt;
*Fix: Help entries for paste/pastenot corrected.&lt;br /&gt;
*Fix: /cinfo (without parameters) now shows player&#039;s own class info.&lt;br /&gt;
&lt;br /&gt;
===0.453===&lt;br /&gt;
*Feature: It is now possible to reverse last /undo (by typing /undo again).&lt;br /&gt;
*Change: IRC message colors are applied slightly differently now.&lt;br /&gt;
*Change: Added more automated crash reporting hooks - to MainLoop and Tasks.&lt;br /&gt;
*Change: More help messages improved.&lt;br /&gt;
*Change: Added a more informative message for people running outdated versions of Mono and .Net runtime.&lt;br /&gt;
*Optimization: Slightly reduced memory usage of /undo, /paste, and PlayerDB.Load()&lt;br /&gt;
&lt;br /&gt;
===0.452===&lt;br /&gt;
*Feature: New /replacenot command allows replacing all blocks EXCEPT the specified one.&lt;br /&gt;
*Feature: New /flip and /rotate commands to manipulate copied blocks.&lt;br /&gt;
*Feature: /players list is now in alphabetical order.&lt;br /&gt;
*Fix: Trying to specify an unrecognized block type for draw commands (e.g. &amp;quot;/c ai&amp;quot; instead of &amp;quot;/c air&amp;quot;) now shows a proper error message.&lt;br /&gt;
*Fix: Fixed /gen command crashing players if coordinates are typed in before theme/template.&lt;br /&gt;
*Fix: Fixed /e ellipsoids coming out crooked.&lt;br /&gt;
*Fix: &amp;quot;joined for the first time&amp;quot; messages are now shown correctly.&lt;br /&gt;
*Fix: Fixed /replace not working correctly with /undo&lt;br /&gt;
*Fix: Made IRC bot strip nonprintable characters from messages, and ignore empty messages.&lt;br /&gt;
*Fix: World permissions are no longer reset when doing /wload. Also a permission reminder is now shown when creating new worlds.&lt;br /&gt;
*Change: Improved some help messages.&lt;br /&gt;
*Change: Improved IRC error reporting.&lt;br /&gt;
*Change: Added world name back to &amp;quot;Almost there...&amp;quot; join screen.&lt;br /&gt;
*Change: /pasteonly is now called /paste, and /paste is now called /pastenot (for consistency with other custom servers)&lt;br /&gt;
*Optimization: Slightly reduced memory usage of massive drawing commands (over undo limit).&lt;br /&gt;
&lt;br /&gt;
===0.451===&lt;br /&gt;
*Feature: Improved the way fCraft handles fatal errors (crashes). Crash logs are now created more reliably.&lt;br /&gt;
*Feature: Added automated crash reporting to fragmer.net (opt-out).&lt;br /&gt;
*Feature: Added an announcement for players logging in from IPs associated with other previously-banned players.&lt;br /&gt;
*Fix: Curved braces - &amp;quot;{}&amp;quot; - in server name no longer cause problems.&lt;br /&gt;
*Fix: &amp;quot;Leaving the map&amp;quot; kick disabled temporarily, will be made configurable per-class soon.&lt;br /&gt;
*Fix: banall/unbanall commands produce less chat spam.&lt;br /&gt;
*Fix: AFK kicks no longer count towards /info number-of-times-kicked.&lt;br /&gt;
*Change: Added class colors to /info, and fixed formatting bug.&lt;br /&gt;
*Change: Cleaned up &amp;quot;Advanced&amp;quot; tab in ConfigTool.&lt;br /&gt;
**Removed obsolete config keys: PolicyColorCodesInChat, PolicyIllegalCharacters, and RunOnStartup&lt;br /&gt;
**Added SubmitCrashReports and IRCDelay config keys.&lt;br /&gt;
&lt;br /&gt;
===0.450===&lt;br /&gt;
&#039;&#039;26 August 2010&#039;&#039;&lt;br /&gt;
*Feature: IRC bot rewritten for better performance, flexibility, and safety.&lt;br /&gt;
*Feature: New IRC options: IRCBotAnnounceIRCJoins and IRCBotAnnounceServerJoins.&lt;br /&gt;
*Fix: Fixed messages containing only a single slash (&#039;/&#039;) crashing client thread.&lt;br /&gt;
*Change: Removed obsolete IRCBotMsgs config key.&lt;br /&gt;
*Change: Added OnPlayerSentMessage event to Server.&lt;br /&gt;
*Change: IRC bot&#039;s commands (e.g. !status) are temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
===0.445===&lt;br /&gt;
&#039;&#039;25 August 2010&#039;&#039;&lt;br /&gt;
*IMPORTANT! Please update ASAP, a security issue was identified in previous version.&lt;br /&gt;
*Fix: If you need to start message with a slash, you can now escape the slash (type &amp;quot;//&amp;quot;)&lt;br /&gt;
*Fix: Fixed endless update loop (if automatic updates were enabled)&lt;br /&gt;
*Fix: Private messages with a space between &#039;@&#039; and the player name now work.&lt;br /&gt;
*Fix: Hacking-related kicks are not announced globally.&lt;br /&gt;
*Fix: Fixed &amp;quot;/help&amp;quot; giving wrong message if help entry was not found.&lt;br /&gt;
*Change: Minor changes in MapGenerator/Noise&lt;br /&gt;
&lt;br /&gt;
===0.444===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*Feature: New stat command, /sinfo (server info).&lt;br /&gt;
*Fix: Ban reason/memo now shown for normal bans.&lt;br /&gt;
*Fix: /cinfo for unlimited classes no longer shows &amp;quot;draw limit: 0&amp;quot;&lt;br /&gt;
*Fix: Fixed IRC message colors, and removed IRC color codes from log.&lt;br /&gt;
&lt;br /&gt;
===0.443===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New {{cmd|WFlush}} command. It allows finishing all in-progress draw commands at maximum speed (over 100k blocks/second) then forces a map rejoin.&lt;br /&gt;
*Feature: Added more customization options for colors: PrivateMessageColor and IRCMessageColor in Config.&lt;br /&gt;
*Feature: {{cmd|Players}} list is now sorted alphabetically.&lt;br /&gt;
*Feature: Added &amp;quot;Check Port&amp;quot; button to ConfigTool to see if port is open. Uses www.utorrent.com/testport&lt;br /&gt;
*Feature: Added &amp;quot;Play&amp;quot; button to fCraftUI to open server URL in the browser&lt;br /&gt;
*Feature: World names in {{cmd|Worlds}} list are now colored according to each world&#039;s build permission. &lt;br /&gt;
*Feature: Added speedhack detection &amp;amp; prevention (BETA) and corresponding Permission.UseSpeedHack. All your classes will be granted this permission by default. Edit the config to customize it.&lt;br /&gt;
*Fix: When using {{cmd|Mark}} outside of map boundaries, draw limits are no longer calculated incorrectly (thanks to Darnest).&lt;br /&gt;
*Fix: Fixed possible crash in Map.CheckZones() on maps created with {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed compilation issue with &amp;quot;tileset.png&amp;quot; on case-sensitive filesystems.&lt;br /&gt;
*Fix: Fixed class-wide messages not wrapping correctly.&lt;br /&gt;
*Optimization: antigrief and antispam checking overhead reduced.&lt;br /&gt;
&lt;br /&gt;
===0.442===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Fix: Addresses a security issue.&lt;br /&gt;
*Fix: &amp;quot;OK&amp;quot; button in AddWorldPopup is now always disabled if no map is set.&lt;br /&gt;
*Fix: &amp;quot;Feature size&amp;quot; label is now updater correctly when map dimensions are changed.&lt;br /&gt;
*Fix: Added missing player notifications for {{cmd|Undo}} and {{cmd|Cancel}} commands.&lt;br /&gt;
*Change: MapGenerator&#039;s default map size changed to 128x128x80&lt;br /&gt;
&lt;br /&gt;
===0.441===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added cuboid limits to /cinfo&lt;br /&gt;
*Fix: Fixed a bug in BoundingBox that made /paste and zones behave incorrectly&lt;br /&gt;
*Fix: Fixed ban/unban commands not kicking the player if entered name capitalization did not match actual capitalization&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; being broken when using {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed {{cmd|Ban}} rank checks affecting {{cmd|Unban}}&lt;br /&gt;
*Change: Optimized zone permission checks&lt;br /&gt;
&lt;br /&gt;
===0.440===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New MapGenerator with tons of options. You can also save/load custom templates for it.&lt;br /&gt;
*FEATURE: AddWorldPopup interface overhaul.&lt;br /&gt;
*FEATURE: JTE, D3, and Myne/Mynecraft/Hyvebuild/iCraft map format converters added.&lt;br /&gt;
*Feature: Improved syntax of the {{cmd|Gen}} command. See &amp;quot;{{cmd|Help|gen}}&amp;quot; for details.&lt;br /&gt;
*Feature: Reason/memo is now shown publicly when someone gets banned, unbanned, or kicked.&lt;br /&gt;
*Feature: Teleport and Bring work across worlds - world permissions still apply.&lt;br /&gt;
*Feature: Added 4 new Config keys: RequireBanReason, RequireClassChangeReason, AnnounceKickAndBanReasons, AnnounceClassChanges. By default &amp;quot;AnnounceKickAndBanReasons&amp;quot; and &amp;quot;AnnounceClassChanges&amp;quot; are enabled.&lt;br /&gt;
*Feature: Added 5 new fields to PlayerDB: previousClass, classChangeReason, timesKicked, timesKickedOthers, timesBannedOthers.&lt;br /&gt;
*Feature: Added a lot of new information to {{cmd|Info}}.&lt;br /&gt;
*Feature: You can now save map preview images (isometric) from AddWorldPopup.&lt;br /&gt;
*Feature: ConfigTool now shows warnings about any errors logged during Config.Load&lt;br /&gt;
*Fix: Yet another workaround for VerifyNames false negatives (thanks to SpaceManiac).&lt;br /&gt;
*Fix: Fixed being able to paste admincrete/water/lava without permission (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Trying to go over class draw limit no longer causes &amp;quot;Another drawing command is in progress&amp;quot; error.&lt;br /&gt;
*Fix: Mcc.MapUtility.TryLoading() and Map.LoadHeaderOnly() now release file handles as soon as possible. This should fix some &amp;quot;file is being used by another process&amp;quot; errors.&lt;br /&gt;
*Fix: Map spawn should be parsed correctly for MCSharp/MCZall maps&lt;br /&gt;
*Fix: If a map doesn&#039;t start with a gzip header, it no longer has a chance to abort the whole load process.&lt;br /&gt;
*Fix: Fixed blocktype names being case-sensitive.&lt;br /&gt;
*Fix: Added a more informative message when idle players are kicked.&lt;br /&gt;
*Fix: Fixed undo buffer not getting cleared when doing paste/pasteonly&lt;br /&gt;
*Fix: Fixed {{cmd|WAccess}} exception kicking players.&lt;br /&gt;
*Fix: 100% Empty maps no longer crash AddWorldPopup with OutOfMemoryException&lt;br /&gt;
*Fix: Fixed &amp;quot;player is already banned&amp;quot; message when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed no public message appearing when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed cuboid/ellipsoid/cuboidh logging blocktype code instead of blocktype name.&lt;br /&gt;
*Fix: Improved the message that&#039;s shown when idle players are kicked.&lt;br /&gt;
*Fix: Documented ability to {{cmd|TP}} to specific coordinates.&lt;br /&gt;
*Fix: AddWorldPopup no longer crashes if user closes &amp;quot;Load Map&amp;quot; dialog before selecting any file.&lt;br /&gt;
*Fix: When drawing affects (in part or in full) a restricted zone, the zone is left untouched, and the rest of draw command finishes (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Fixed crash in AddWorldPopup.AsyncLoad() if map loading failed.&lt;br /&gt;
*Fix: LegacyRankMapping is now parsed correctly&lt;br /&gt;
*Fix: Renaming a class no longer causes &amp;quot;Worlds&amp;quot; tab dropdown menus to go out-of-sync.&lt;br /&gt;
*Change: AddWorldPopup preview image quality improved.&lt;br /&gt;
*Change: Updated to newest version of NBTag library.&lt;br /&gt;
*Change: Frozen players can no longer build/delete.&lt;br /&gt;
*Change: Removed public {{cmd|Undo}} message, added log message instead.&lt;br /&gt;
*Change: Removed AnnounceUnverifiedNames settings.&lt;br /&gt;
*Change: When building/deleting permission is denied, the exact reason is given (instead of a vague &amp;quot;you cannot do that&amp;quot; message) (part of Player.CanPlace overhaul).&lt;br /&gt;
&lt;br /&gt;
===0.435===&lt;br /&gt;
&#039;&#039;12 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Copy}}, {{cmd|Paste}}, and {{cmd|PasteOnly}} commands. Rotation coming soon.&lt;br /&gt;
*Feature: Added {{perm|CopyAndPaste}} permission, granted to op and owner by default.&lt;br /&gt;
*Feature: Added MapGenType.Cliffs - similar to Mountains type, but with cliffs!&lt;br /&gt;
*Fix: Fixed {{cmd|Paint}} command&lt;br /&gt;
*Fix: Fixed {{cmd|BanInfo}} now showing any information if used without parameters.&lt;br /&gt;
*Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.&lt;br /&gt;
&lt;br /&gt;
===0.434===&lt;br /&gt;
&#039;&#039;11 August 2010&#039;&#039;&lt;br /&gt;
*Feature: new {{cmd|Bind}} command allows mapping any block to any other. Now you can place those unbuildable blocks (water, lava, grass, double-step) in any way you wish. For compatibility, old commands ({{cmd|Water}}, {{cmd|Solid}}, {{cmd|Lava}}, {{cmd|Grass}}) have been preserved.&lt;br /&gt;
*Change: &amp;quot;step&amp;quot; added as an alias for Stair block. &amp;quot;doublestep&amp;quot; added as an alias for DoubleStair.&lt;br /&gt;
&lt;br /&gt;
===0.433===&lt;br /&gt;
&#039;&#039;8 August 2010&#039;&#039;&lt;br /&gt;
*Feature: {{cmd|WInfo}} now shows who locked/unlocked the map, and how long ago.&lt;br /&gt;
*Fix: Fixed a error message that showed up when announcements.txt was blank.&lt;br /&gt;
*Fix: Permission check added back to lock/unlock commands.&lt;br /&gt;
*Fix: &amp;quot;mapinfo&amp;quot; added back as alias for {{cmd|WInfo}}&lt;br /&gt;
*Fix: Fixed locked maps not getting unloaded when all players left&lt;br /&gt;
&lt;br /&gt;
===0.432===&lt;br /&gt;
&#039;&#039;6 August 2010&#039;&#039;&lt;br /&gt;
*Fix: List of worlds printed by {{cmd|Worlds}} is now sorted alphabetically.&lt;br /&gt;
*Fix: Fixed an obscure half-disconnect bug that left players with id=0 who happened to be on the main world in a semi-disconnected state IF someone else was kicked halfway through the login process before it was assigned an id.&lt;br /&gt;
&lt;br /&gt;
===0.431===&lt;br /&gt;
*Fix: Fixed still messed-up /worlds command.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.430===&lt;br /&gt;
*Fix: Fixed messed-up /worlds command. Sorry about that.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.429===&lt;br /&gt;
*Feature: Command-handler infrastructure has been redesigned. This will allow much more flexibility for devs and plugin makers later.&lt;br /&gt;
*Feature: &amp;quot;/help commands&amp;quot; now only shows available commands by default. Type &amp;quot;/help commands all&amp;quot; to see all commands.&lt;br /&gt;
*Feature: /worlds command now only available worlds by default. Type &amp;quot;/worlds all&amp;quot; to include worlds inaccessible to you.&lt;br /&gt;
*Feature: Help entries added for /zedit, /mark, /version, /rules, and /say.&lt;br /&gt;
*Feature: ConfigTool World tab columns are now sortable.&lt;br /&gt;
*Fix: Fixed &amp;quot;max backups&amp;quot; in ConfigTool being limited to 100. Now it&#039;s at a more reasonable limit of 100000.&lt;br /&gt;
*Fix: Fixed Map.Backup() deleting the newest (instead of the oldest) backup if the total number of files was limited.&lt;br /&gt;
*Fix: Fixed an ERROR that popped up if a player got disconnected during the login process (while player=null).&lt;br /&gt;
*Fix: FormatException crash fixed that caused whole server to go down instead of a player thread.&lt;br /&gt;
*Fix: Several draw-related bugs and crashes fixed.&lt;br /&gt;
*Fix: Fixed crash in /winfo when used on unloaded worlds.&lt;br /&gt;
*Fix: Fixed a bug in Config that caused antigrief to be re-enabled every load.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool that didn&#039;t update AntiGriefSeconds properly when changing between classes.&lt;br /&gt;
*Change: Many /help entries have been improved.&lt;br /&gt;
*Change: Split /class command into two: /classes (aka /ranks) shows a list of classes, and /class (aka /cinfo or /classinfo) shows permission list (missed from last release notes).&lt;br /&gt;
*Change: Added /spawn as an alias for /tp (missed from last release notes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.428===&lt;br /&gt;
*Feature: Line wrapping. Yes, finally.&lt;br /&gt;
*Feature: Per-class draw limits. Defaults are: owner unlimited, op unlimited, regular 4096 (16x16x16), guest 512 (8*8*8)&lt;br /&gt;
*Feature: Per-class antigrief detection. Defaults are: owner unmetered, op umetered, regular 45/6 (7.5 blocks/second), guest 35/5 (7 blocks/second)&lt;br /&gt;
*Feature: Memory usage of draw commands has been reduced by 6 bytes per block (37% improvement).&lt;br /&gt;
*Fix: Extra color codes fixed in /players command.&lt;br /&gt;
*Fix: Fixed a bug with /undo that caused more than one command to be undone at once.&lt;br /&gt;
*Fix: Fixed maps generated with &amp;quot;Realistic terrain&amp;quot; (MapGenerator) having an empty layer at the bottom of the map.&lt;br /&gt;
*Change: Default classes have been tweaked:&lt;br /&gt;
**regular can now use draw commands&lt;br /&gt;
**op can now lock/unlock&lt;br /&gt;
*Change: Improved arrangement of Permission list items.&lt;br /&gt;
*Change: Removed obsolete ConfigKey variables AntigriefBlockCount and AntigriefBlockInterval&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.427===&lt;br /&gt;
*Feature: Added /zedit command for changing zone permissions after creation&lt;br /&gt;
*Feature: New aliases for drawing commands: /c /e /h /r /m&lt;br /&gt;
*Fix: Fix for cuboid command kicking players with &amp;quot;Block.Undefined&amp;quot; if called with no optional BlockType parameter&lt;br /&gt;
*Fix: Fixed zone definitions getting corrupted.&lt;br /&gt;
*Fix: Allowed /save command to be used from console and from remote worlds. Previously you had to join the world to save it.&lt;br /&gt;
*Fix: Fixed potential crash in /winfo when looking up unloaded worlds.&lt;br /&gt;
*Fix: Fixed /zone allowing duplicate names, then kicking the client.&lt;br /&gt;
*Fix: Fixed /ztest showing the standard &amp;quot;you are not allowed to build in this zone&amp;quot; message instead of the expected zone list.&lt;br /&gt;
*Fix: Fixed incorrect description of draw log messages, and backup error messages&lt;br /&gt;
*Fix: Fixed false triggering of &amp;quot;Player asked to be released from its world, but the world did not contain the player&amp;quot; error&lt;br /&gt;
*Change: Fruitified fragmer&#039;s name &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.426===&lt;br /&gt;
*Feature: Announcements! You can define a list of announcements to show periodically. A random line from announcements.txt will be shown to all players at specified interval (in minutes).&lt;br /&gt;
*Feature: /replace command.&lt;br /&gt;
*Feature: /undo command has been improved for more flexibility and better performance.&lt;br /&gt;
*Feature: /winfo (alias: /mapinfo) is added for displaying world name, player count, map dimensions, and access/build permissions.&lt;br /&gt;
*Fix: Fixed a bug that caused duplicate entries to be added to PlayerDB when doing /importranks or /importbans.&lt;br /&gt;
*Change: New ConfigKeys: AnnouncementColor (default: green) and AnnouncementInterval (default: 5 minutes).&lt;br /&gt;
*Change: Draw command stride increased to 16x16x16, for better theoretical performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.425===&lt;br /&gt;
*Feature: Added hollow draw command (/cubh) and aliases (/cuboidh and /bhb)&lt;br /&gt;
*Feature: /players now shows class colors and a total number of players. Breakdown of /players by world is coming soon&lt;br /&gt;
*Feature: Added &amp;quot;Joined world WorldName&amp;quot; message that shows when changing worlds&lt;br /&gt;
*Fix: Improved several /help entries&lt;br /&gt;
*Fix: Fixed a bug in Map.SaveBackup() that could cause a crash if MaxBackups was set&lt;br /&gt;
*Fix: Fixed a bug in ConfigUI where &amp;quot;Delete World&amp;quot; button could leave the map file behind and/or cause an error&lt;br /&gt;
*Fix: Calling lock/unlock from console without a WorldName now shows a nicer error message&lt;br /&gt;
*Change: Improved safety checks of /join command&lt;br /&gt;
*Change: Added a catch-all exception handler into Server.MainLoop&lt;br /&gt;
*Change: Added exception handlers for EVERY single piece of code that requires file access&lt;br /&gt;
*Change: Added more thread safety in MapCommands.WorldRename that resolves a potential race condition with Map.Save&lt;br /&gt;
*Change: Modified IPBanList to use the standard temp folder (instead of fCraft working path) for its temp files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.424===&lt;br /&gt;
*Fix: Fixed /unhide and normal connection getting different messages&lt;br /&gt;
*Fix: Fixed client crash when viewing /rules if the rule file has blank lines&lt;br /&gt;
*Fix: Worlds with capital letters in the name are joinable again&lt;br /&gt;
*Fix: Potential crash in DoClassChange() if target player is already same rank AND is not currently on the server&lt;br /&gt;
*Change: Moved the command list to /help commands&lt;br /&gt;
*Change: Performance and thread-safety improvements to PlayerDB&lt;br /&gt;
*Change: Disabled some more debugging code to avoid taking up unnecessary resources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.423===&lt;br /&gt;
*Feature: /importbans now also supports &amp;quot;banned-ip.txt&amp;quot;&lt;br /&gt;
*Feature: Logs are now stored in /logs/ folder. Your fCraft.log file will be moved there automatically and renamed to &amp;quot;_OldLog.log&amp;quot;&lt;br /&gt;
*Feature: Log splitting now works by day or by session. Set &amp;quot;LogMode&amp;quot; key in config.xml or see Logging tab in ConfigTool.&lt;br /&gt;
*Feature: All maps are now stored in /maps/ folder. Your map files will be moved automatically first time you start ConfigTool/fCraftConsole/fCraftUI&lt;br /&gt;
*Feature: Reserved slots now work&lt;br /&gt;
*Fix: Fixed a bug in fCraft.Server.LoadWorldListXML that could make all worlds hidden.&lt;br /&gt;
*Fix: &amp;quot;player connected&amp;quot; message shown when someone connects, instead of just &amp;quot;player joined world&amp;quot;&lt;br /&gt;
*Fix: &amp;quot;player left the server&amp;quot; message is not shown if the player got kicked before LoginSequence finished (e.g. if server was full)&lt;br /&gt;
*Fix: Added back IP logging for incoming connections&lt;br /&gt;
*Fix: Fixed ConfigTool-generated maps not having correct spawn point&lt;br /&gt;
*Fix: Fixed /user showing both promote and demote messages at once&lt;br /&gt;
*Fix: Removed references to old &amp;quot;/drawundo&amp;quot; command name in &amp;quot;/undo&amp;quot; messages&lt;br /&gt;
*Fix: Fixed &amp;quot;Unrecognized entry ignored: LegacyRankMapping =&amp;quot; warning&lt;br /&gt;
*Change: Made /importbans and /importranks save PlayerDB at once&lt;br /&gt;
*Change: fCraft now forcibly resets its working directory to the same path where the executable is&lt;br /&gt;
*Change: Removed &amp;quot;delete old file?&amp;quot; prompt when renaming worlds in AddWorldPopup. Now it just does it, to match tabWorlds&#039; DataGridView behavior&lt;br /&gt;
*Change: Added additional error checks to Map.Backup() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.422===&lt;br /&gt;
*Feature: Further improved network performance by introducing nonblocking (lock-free) data structure to packet output buffer&lt;br /&gt;
*Fix: Fixed &amp;quot;world creation failed&amp;quot; error if worlds.xml defined a non-existing world to be main&lt;br /&gt;
*Fix: Added back missing messages when doing /user on offline users&lt;br /&gt;
*Fix: Fixed player name color not being updated when their class changes&lt;br /&gt;
*Fix: Added missing /help entries for /importbans and /importranks&lt;br /&gt;
*Change: Improved help messages for /lock, /unban, /unbanip, /undo, /wload, /wmain, and /wremove&lt;br /&gt;
*Change: Tweaked default values of BlockUpdateThrottling and maxBlockUpdatesPerTick for maximum lag-free performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.421===&lt;br /&gt;
*Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players&lt;br /&gt;
*Feature: Added the ability to ban unseen players&lt;br /&gt;
*Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated &amp;quot;Import&amp;quot; permission was added. See &amp;quot;/help importbans&amp;quot; and &amp;quot;/help importranks&amp;quot; for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.&lt;br /&gt;
*Feature: Improved BlockUpdateQueue performance (faster drawing commands!) by switching to a lock-free data structure&lt;br /&gt;
*Fix: Fixed startup errors not being logged if config.xml has not been parsed yet&lt;br /&gt;
*Fix: Fixed ConfigUI input box not aligning properly when window is resized&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; generated maps being 1 block off vertically&lt;br /&gt;
*Change: Updated PlayerDB and IPBanList to use standard temporary folder (instead of dumping temp files into fCraft directory)&lt;br /&gt;
*Change: Added &amp;quot;logging starts&amp;quot; marker that&#039;s written to console and log on-startup&lt;br /&gt;
*Change: fCraftUI log now displays the last 2000 lines (up from 1000 lines)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.420===&lt;br /&gt;
*Feature: New &amp;quot;Worlds&amp;quot; tab in ConfigTool for managing your world list&lt;br /&gt;
*Feature: Isometric map previews and map generation in ConfigTool&lt;br /&gt;
*Feature: Implemented a class-ID system that allows adding/renaming/deleting classes without breaking compatibility. DeleteClassPopup was added for this&lt;br /&gt;
*Feature: Added LimitOneConnectionPerIP option to config &amp;amp; configtool&lt;br /&gt;
*Feature: Worlds can now be hidden from the /worlds list&lt;br /&gt;
*Feature: Added /whois command for checking if a player is using real name or nickname. BE CAREFUL WITH &amp;quot;ChangeName&amp;quot; PERMISSION!&lt;br /&gt;
*Feature: fCraft now generates crash.txt on unhandled fatal errors&lt;br /&gt;
*Feature: Implemented theme support, and added 2 new terrain types (Coast and River) for MapGenerator. See &amp;quot;/help gen&amp;quot; for details, or use ConfigTool.&lt;br /&gt;
*Feature: Pressing Up/Down keys in fCraftUI will show previously typed commands.&lt;br /&gt;
*Fix: Fixed a bug in /wmain and /wload that sometimes made the server unconnectable after changing map&lt;br /&gt;
*Fix: Limits on the /kick command now apply correctly&lt;br /&gt;
*Fix: Fixed /wbuild and /waccess showing wrong messages&lt;br /&gt;
*Fix: Fixed hidden players unable to build due to grief protection&lt;br /&gt;
*Fix: Added /nick and /whois entries to /help&lt;br /&gt;
*Fix: Removed the ability to call draw commands from console (caused crash)&lt;br /&gt;
*Fix: Fixed /lava checking PlaceWater permission instead of PlaceLava&lt;br /&gt;
*Fix: A debug message about &amp;quot;attempting to unregister an non-existent player&amp;quot; is no longer logged every time VerifyNames fails&lt;br /&gt;
*Fix: When using /where command on other players, correct coordinates are now shown]&lt;br /&gt;
*Fix: Player&#039;s classes are now updated in fCraftUI list when promoted/demoted&lt;br /&gt;
*Fix: PMs are now logged as LogType.PrivateChat (instead of generic LogType.WorldChat)&lt;br /&gt;
*Fix: /hide and /unhide now use Color.Sys instead of hardcoded Color.Yellow&lt;br /&gt;
*Fix: Player&#039;s nicknames (as set by /nick) are applied correctly and preserved when changing worlds&lt;br /&gt;
*Fix: Added missing checks for &amp;quot;Chat&amp;quot; permissions&lt;br /&gt;
*Fix: Color buttons in ConfigTool now show correct background color under Mono&lt;br /&gt;
*Fix: Fixed help entry to /freeze showing incorrect information&lt;br /&gt;
*Fix: Corrected tab order in all ConfigTool forms&lt;br /&gt;
*Change: Added /blb as another alias for /cuboid&lt;br /&gt;
*Change: Removed ReservedSlotBehavior config key&lt;br /&gt;
*Change: Disabled word wrapping in rules.txt editor popup&lt;br /&gt;
*Change: /unhide now resets the player&#039;s nick&lt;br /&gt;
*Change: Both player&#039;s real name and nickname (if any) are now recorded in the log&lt;br /&gt;
*Change: Added a warning to /info when looking up nicknames (instead of real names)&lt;br /&gt;
*Change: Heartbeat salt generation (used to verify names) is now more secure&lt;br /&gt;
*Change: Removed CanPlaceHardenedBlocks from permission list&lt;br /&gt;
*Change: All map generator terrain types have been tweaked for improved appearence&lt;br /&gt;
*Change: Centered all ConfigTool popup windows (AddWorldPopup, ColorPicker, DeleteClassPopup, TextEditorPopup)&lt;br /&gt;
*Change: Hid unneeded icons and buttons from ConfigTool popups&lt;br /&gt;
*Change: Changed the way zones store rank restriction (as part of the compatibility assurance), and added versioning to zone definitions&lt;br /&gt;
*Change: Map.Save() now creates temporary files in the OS-specific temporary folder, not in same folder where fCraft is installed&lt;br /&gt;
*Change: World permissions are now updated automatically when a class is deleted&lt;br /&gt;
*Refactor: Improved consistency in code naming conventions, especially in IRC code&lt;br /&gt;
*Refactor: Improved code organization in many areas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.410===&lt;br /&gt;
*Implemented per-world access and build permissions.&lt;br /&gt;
*Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.&lt;br /&gt;
*New world-related commands:&lt;br /&gt;
**/wmain changes the main world&lt;br /&gt;
**/waccess and /wbuild allow setting per-world permissions&lt;br /&gt;
**/wremove allows deleting worlds&lt;br /&gt;
**/wrename allows renaming worlds without reloading&lt;br /&gt;
**/wload command is significantly improved (see /help wload for more info). The functionality of the old /load command has been merged with /wload. Now /load is an alias for /join, together with /l, /j, and /goto.&lt;br /&gt;
*Removed SaveAndLoad permission - it became redundant with ManageWorlds. Please check your config to ensure that permissions remain consistent.&lt;br /&gt;
*Added new and previously-missing (/lockall, /unlockall, /where, /me, /rules, /setspawn) commands to /help.&lt;br /&gt;
*Disabled verify-names check for localhost (127.0.0.1) when running in Balanced mode.&lt;br /&gt;
*When player is denied access to some command, server now names the specific permission that&#039;s needed.&lt;br /&gt;
*Fixed a potential desync issue when one player rejoins a world, and another joins it simultaneously.&lt;br /&gt;
*Removed /genh command and /compass alias for the /where command.&lt;br /&gt;
*Added a fail-safe exception check when executing console commands. Now the server will stay up even if an exception occurs while executing console command.&lt;br /&gt;
*Improved the way server reacts to fatal errors on startup. Now there is a clear indication that server cannot start.&lt;br /&gt;
*&amp;quot;default map&amp;quot; is now referred to as &amp;quot;main world&amp;quot; for consistency. &lt;br /&gt;
*Improved garbage collection.&lt;br /&gt;
&lt;br /&gt;
===0.405===&lt;br /&gt;
*Added back support for vanilla (server_level.dat) maps.&lt;br /&gt;
*Fixed MCSharp importer leaving nonstandard blocks in the map, causing client crashes. Now all MCSharp-specific blocks are converted to normal types.&lt;br /&gt;
*Fixed visual player list not updating in fCraftUI.&lt;br /&gt;
*Added /players command to list ALL players on the server (in all worlds)&lt;br /&gt;
*Made the BlockType parameter optional for /cuboid and /ellipsoid. Now it takes blocktype of the second click (or last-previously-used-blocktype when using /mark) in the absence of the optional parameter.&lt;br /&gt;
*ConfigTool: Added a new tab for IRC setting.&lt;br /&gt;
*ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.&lt;br /&gt;
*IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.&lt;br /&gt;
*IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot. &lt;br /&gt;
*IRC: Fixed a bug with infinite reconnects on receiving error 433 Nickname already in use.&lt;br /&gt;
*Zones: Changed behavior of overlapping zones:&lt;br /&gt;
**Before: To touch a block, AT LEAST ONE zone has to allow it&lt;br /&gt;
**Now: To touch a block, ALL ZONES have to allow it&lt;br /&gt;
*Zones: Added /ztest command that lists all zones affecting a particular block. It can be used to detect and resolve zone overlaps.&lt;br /&gt;
*Zones: Added proper /help entries for /zone, /zones, /zremove, and /ztest, and contextual help for /zone and /zones.&lt;br /&gt;
*Zones: Made zone commands inaccessible from console (it would cause a crash, since zones are world-specific).&lt;br /&gt;
*Fixed OnPlayerDisconnected and OnPlayerListChanged sometimes firing at the wrong time.&lt;br /&gt;
*Added better error handling to Map.Save() in case the target file is not writable.&lt;br /&gt;
*Updated /help entries for /lock, /unlock, and /load commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.404===&lt;br /&gt;
*Fixed zone borders being off by 1 block.&lt;br /&gt;
*Fixed a rare crash on shutdown.&lt;br /&gt;
*Fixed heartbeat reporting incorrect port number to heartbeat if the port specified in config was not available.&lt;br /&gt;
*Adjusted default class permissions slightly, by popular demand:&lt;br /&gt;
**regulars can now place Water and Lava&lt;br /&gt;
**ops can now use draw commands&lt;br /&gt;
*IRC: Added a config option &#039;IRCMsgs&#039; to toggle join/leave messages on/off. Default is disabled to prevent massive spam.&lt;br /&gt;
*IRC: Fixed a possible crash in IRCComm, related to static initializers.&lt;br /&gt;
*ConfigTool: Fixed many bugs in permission checkbox list.&lt;br /&gt;
*ConfigTool: Added visual editor for rules.txt&lt;br /&gt;
*ConfigTool: Added stub tab for IRC settings (coming soon).&lt;br /&gt;
&lt;br /&gt;
===0.403===&lt;br /&gt;
*Fixed spawnpoint being read incorrectly when using /load.&lt;br /&gt;
*Added a note to ban*/unban* commands that&#039;s shown when player name is not found: &amp;quot;Use the FULL player name for ban/unban commands.&amp;quot;&lt;br /&gt;
*Fixed a thread crash (not server-wide crash) in Session.IoLoop that can be caused by corrupted or malicious handshake packets.&lt;br /&gt;
*Fixed a potential crash when using /info on offline players from console.&lt;br /&gt;
*Fixed a potential crash when using /gen from console.&lt;br /&gt;
*Added more fail-safe checks that ensure that map spawn point is always within the map boundaries.&lt;br /&gt;
*Started logging IPs of connections that try sending corrupted or malicious handshake packets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.402===&lt;br /&gt;
*Added back /load command, and hooked up MCC. Currenly supported: fCraft/fcm, MCSharp/lvl, indev/mclevel, MinerCPP and LuaCraft (dat). Vanilla support coming soon.&lt;br /&gt;
*Fixed worlds being unloaded before all block updates are processed (thus aborting draw commands).&lt;br /&gt;
*Fixed several potential multiworld-related crashes and freezes.&lt;br /&gt;
*Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.&lt;br /&gt;
*IRC: Added an information message to notify users of the IRC Bot&#039;s online status when joining the server.&lt;br /&gt;
*IRC: Added the ability to send NOTICES.&lt;br /&gt;
*IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.&lt;br /&gt;
*IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.&lt;br /&gt;
*Drawing-related state is now reset when changing worlds.&lt;br /&gt;
*Added a limiter to the number of block updates that can be processed per tick (even if there are no players in a world). Fixes server becoming unresponsive when doing enormous drawing commands (millions of blocks).&lt;br /&gt;
*Allowed players to /join the world that they are already on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.401===&lt;br /&gt;
*&#039;&#039;&#039;IDLE/AFK CHECKING&#039;&#039;&#039; This is configurable per-class.&lt;br /&gt;
*Added /version command, and added revision to the version string.&lt;br /&gt;
*Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands. &lt;br /&gt;
*Removed all references to the old pre-multiworld &amp;quot;map.fcm.&amp;quot; Backups now work again. &lt;br /&gt;
*Fixed players not spawning in the right place when changing worlds.&lt;br /&gt;
*IRC Bot will now handle terminations by the IRCd and restart itself upon any errors. &lt;br /&gt;
*IRC Bot can now send from inside the server TO IRC! Use the prefix &#039;#&#039; in-game to send any message to IRC. Forwarding all server chat may be added if requested. To send from the bot to the server, use the bot&#039;s nickname and either &#039;:&#039;, &#039;,&#039; or nothing, then your message.&lt;br /&gt;
*Improved performance of the IRC bot and the task scheduler.&lt;br /&gt;
*Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn&#039;t exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.&lt;br /&gt;
*Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after &#039;#&#039; in server chat.&lt;br /&gt;
*Handshake packet is now written when doing /join, to replace MOTD with a more informative &amp;quot;Now loading [worldname]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.400===&lt;br /&gt;
*&#039;&#039;&#039;MULTIWORLD&#039;&#039;&#039; It&#039;s finally here. See /help for information on new commands: /worlds, /wload, /join&lt;br /&gt;
*Added a persistent world list, saved in worlds.txt - this is subject to change. The file contains a list of world names, each corresponding to an .fcm file. The first world listed at the top of worlds.txt is the default/main one.&lt;br /&gt;
*&#039;&#039;&#039;IRC BOT&#039;&#039;&#039; Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.&lt;br /&gt;
*A field has been added in the config to allow forwarding ALL IRC CHANNEL TRAFFIC to the server. This will override the prefix and make it inactive. &#039;IRCBotForwardAll&#039; is set to false by default.&lt;br /&gt;
*&#039;&#039;&#039;ZONES&#039;&#039;&#039; It is now possible to make guest zones and op zones (and anything in-between) on any map. See /help for information on new commands: /zones, /zone, /zremove.&lt;br /&gt;
*Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.&lt;br /&gt;
*Added /compass command (aka /where).&lt;br /&gt;
*Fixed players sometimes not seeing their /kick message.&lt;br /&gt;
*Added a way to teleport to specific coordinates (/tp x y h)&lt;br /&gt;
*Fixed heartbeats timing out when running fCraft under Mono.&lt;br /&gt;
*Fixed Config.ApplyConfig setting the wrong server throttling variables.&lt;br /&gt;
*Fixed air blocks appearing underwater when using /gen&lt;br /&gt;
*Tweaked /gen parameters to make &amp;quot;island&amp;quot; a bit less ugly.&lt;br /&gt;
*Updated text in fCraftConsole.&lt;br /&gt;
&lt;br /&gt;
=0.3xx=&lt;br /&gt;
===0.330===&lt;br /&gt;
*Added /cuboid and /ellipsoid drawing commands.&lt;br /&gt;
*Improved memory usage.&lt;br /&gt;
*Added &amp;quot;Draw&amp;quot; permission, and made /draw check &amp;quot;DeleteAdmincrete&amp;quot; permission when replacing blocks, and removed unused &amp;quot;PlaceGlitchedSand&amp;quot; permission.&lt;br /&gt;
*Added &amp;quot;Port&amp;quot; and &amp;quot;BackupOnlyWhenChanged&amp;quot; config lines, and corresponding ConfigTool fields.&lt;br /&gt;
*Fixed bug that deleted ALL backups when you check &amp;quot;don&#039;t delete old backups.&amp;quot; That was embarrassing.&lt;br /&gt;
&lt;br /&gt;
===0.325===&lt;br /&gt;
*Added an experimental low-latency mode (faster server response, but more bandwidth required).&lt;br /&gt;
*Improved hacking detection: added anti-chat-spam and anti-grief (block spam) checks.&lt;br /&gt;
*New more aggressive anti-hacking checks for incoming movement and SetTile packets.&lt;br /&gt;
*Fixed an issue with fCraftUI console log getting truncated in the wrong places.&lt;br /&gt;
*Improved Mono compatibility (fixes HttpWebRequest failures).&lt;br /&gt;
&lt;br /&gt;
===0.324===&lt;br /&gt;
*Added /me command.&lt;br /&gt;
*Added step stacking.&lt;br /&gt;
*Fixed a case where disconnected players would leave a ghost behind.&lt;br /&gt;
*Improved shutdown speed.&lt;br /&gt;
*Implemented ProcessPriority setting.&lt;br /&gt;
&lt;br /&gt;
===0.323===&lt;br /&gt;
*Fixed players not being able to delete admincrete after promotion.&lt;br /&gt;
*Fixed a bug that allowed players to noclip into walls when using /tp or /bring.&lt;br /&gt;
*Fixed a security issue with &amp;quot;VerifyNames: Balanced&amp;quot;&lt;br /&gt;
*Added prototype of the security tab in ConfigTool (work in progress).&lt;br /&gt;
&lt;br /&gt;
===0.322===&lt;br /&gt;
*Added a range check to Player.SetTile, to prevent certain types of grief bots.&lt;br /&gt;
*Fixed a bug where map spawnpoint did not change after doing /load.&lt;br /&gt;
*Fixed some typos.&lt;br /&gt;
&lt;br /&gt;
===0.321===&lt;br /&gt;
*Fixed welcome messages not showing.&lt;br /&gt;
*Renamed /alias to /nick, and added a permission check.&lt;br /&gt;
&lt;br /&gt;
===0.320===&lt;br /&gt;
*Finally last fix for the disconnect problem. Sorry about that.&lt;br /&gt;
&lt;br /&gt;
===0.319===&lt;br /&gt;
*Quick fix for disconnect problem.&lt;br /&gt;
&lt;br /&gt;
===0.318===&lt;br /&gt;
*Fixed VerifyNames not saving properly when using ConfigTool.&lt;br /&gt;
*Fixed several potential crashers in Session and World.&lt;br /&gt;
*Fixed a bug that sometimes wrongly showed &amp;quot;class name not recognized&amp;quot;.&lt;br /&gt;
*Added class name autocompletion for class chat (@@classname blah)&lt;br /&gt;
*Started working on the new /load mode that allows loading different sized maps, and loading much faster (not done yet).&lt;br /&gt;
&lt;br /&gt;
===0.317===&lt;br /&gt;
*Optimized handling of player movement and some block/tile updates, making servers more responsive and less laggy.&lt;br /&gt;
*Fixed a possible crash that sometimes happened when server has 1 slot left and 2 people tried to join at once.&lt;br /&gt;
*Fixed a case where a Session object was not properly disposed.&lt;br /&gt;
*Fixed resizing issue in UpdateWindow and reduced connection timeout in Updater&lt;br /&gt;
*Disabled ShowPrefixesInChat and ShowPrefixesInList by default (breaks skin support)&lt;br /&gt;
*Added Player.Send, a safe wrapper for Player.session.Send&lt;br /&gt;
*Fixed /tp, /bring, and /setspawn commands that were broken in the last revision.&lt;br /&gt;
*Fixed ConfigTool not saving &amp;quot;IsPublic&amp;quot; setting correctly.&lt;br /&gt;
&lt;br /&gt;
===0.316===&lt;br /&gt;
*Added partial class-name matching for /class and /user commands.&lt;br /&gt;
*Fixed /banip and /banall not kicking the banned players immediately.&lt;br /&gt;
*Added /rules command. Create &amp;quot;rules.txt&amp;quot; in the server folder to specify.&lt;br /&gt;
*Fixed a bug where player movement sometimes got a little out of sync.&lt;br /&gt;
*Optimized /load speed a bit.&lt;br /&gt;
*Added nicer application icons.&lt;br /&gt;
&lt;br /&gt;
===0.315===&lt;br /&gt;
*Added visual color picker to ConfigTool&lt;br /&gt;
*Added lightweight console interface for fCraft&lt;br /&gt;
*Refactored the main update loop&lt;br /&gt;
&lt;br /&gt;
===0.314===&lt;br /&gt;
*Added AutomaticUpdates option.&lt;br /&gt;
*Integrated the color picker to ConfigTool.&lt;br /&gt;
*Improved hacking detection.&lt;br /&gt;
&lt;br /&gt;
===0.313===&lt;br /&gt;
*Fixed a few glitches left after switching file formats.&lt;br /&gt;
*Improved memory usage when saving maps.&lt;br /&gt;
*Fixed an updater-related crash.&lt;br /&gt;
&lt;br /&gt;
===0.312===&lt;br /&gt;
*New map format (FCM v2) should provide faster loading times.&lt;br /&gt;
*server_level.dat loader is now functional.&lt;br /&gt;
*Fixed possible crash if the default port was not available.&lt;br /&gt;
*Automatic updater should now work properly. More update options to come.&lt;br /&gt;
&lt;br /&gt;
===0.311===&lt;br /&gt;
*Preview version of automatic updater.&lt;br /&gt;
&lt;br /&gt;
===0.310===&lt;br /&gt;
*Cleaned up some VC# crapfiles.&lt;br /&gt;
*Added class prefixes and colors.&lt;br /&gt;
*Added PlaceWater and PlaceLava back to permissions.&lt;br /&gt;
*Fixed rank-limited permissions.&lt;br /&gt;
*Other assorted glitches fixed.&lt;br /&gt;
&lt;br /&gt;
===0.305===&lt;br /&gt;
*removed config.xml from svn.&lt;br /&gt;
&lt;br /&gt;
===0.304===&lt;br /&gt;
*More potential crashes fixed.&lt;br /&gt;
&lt;br /&gt;
===0.303===&lt;br /&gt;
*Fixed a couple potential crashes in ConfigTool and Config.DefineClass&lt;br /&gt;
&lt;br /&gt;
===0.302===&lt;br /&gt;
*Fixed a few minor ConfigTool bugs.&lt;br /&gt;
&lt;br /&gt;
===0.301===&lt;br /&gt;
*Forgot to save config from World.cs after parsing. Minor update.&lt;br /&gt;
&lt;br /&gt;
===0.300===&lt;br /&gt;
*ConfigTool finished. Note that some of the options do not have an effect yet.&lt;br /&gt;
&lt;br /&gt;
=Before 0.3xx=&lt;br /&gt;
*Version history was not kept before this point.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Version_history&amp;diff=2641</id>
		<title>Version history</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Version_history&amp;diff=2641"/>
		<updated>2017-04-30T06:48:42Z</updated>

		<summary type="html">&lt;p&gt;F: /* 0.433 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
=0.6xx=&lt;br /&gt;
===0.644===&lt;br /&gt;
&#039;&#039;27 January 2014 - r2327&#039;&#039;&lt;br /&gt;
*Fix: Fixed a bug that caused character &#039;@&#039; in player names to be treated same as &#039;_&#039; (thanks Dingus)&lt;br /&gt;
*Fix: Fixed a rare crash in {{cmd|ZEdit}} when using the command improperly.&lt;br /&gt;
*Fix: Fixed a DataError being thrown in ConfigGUI&#039;s &amp;quot;Worlds&amp;quot; tab after toggling rank prefixes on/off.&lt;br /&gt;
*Fix: Improved error reporting.&lt;br /&gt;
*Change: Improved reliability of external IP checks.&lt;br /&gt;
&lt;br /&gt;
===0.643===&lt;br /&gt;
&#039;&#039;15 October 2013 - r2234&#039;&#039;&lt;br /&gt;
*Fix: Fixed sometimes wrapping last word of a chat message to the next line, when the whole message could fit on one line (thanks AndrewPH).&lt;br /&gt;
*Fix: Installing updates no longer causes UAC prompts under Windows Vista.&lt;br /&gt;
*Fix: Fixed IRC periodically crashing if someone quits with an empty message.&lt;br /&gt;
*Fix: Fixed IRC-related crashes not being submitted to the crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.642===&lt;br /&gt;
&#039;&#039;27 August 2013 - r2180&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Fill3D}}.&lt;br /&gt;
*Feature: Added caret (^), tilde (~), and grave accent (`) to [[emotes]].&lt;br /&gt;
*Fix: Emotes work via IRC once again.&lt;br /&gt;
*Fix: ConfigGUI: Fixed &amp;quot;Add world&amp;quot; and &amp;quot;Edit world&amp;quot; popups sometimes locking up.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving LastFailedLoginIP properly.&lt;br /&gt;
*Change: Made it easy to switch heartbeat servers (minecraft.net to classicube or back) via ConfigGUI.&lt;br /&gt;
*Change: Added an optional second parameter to {{cmd|DumpStats}}, which allows specifying period of inactivity for filtering players.&lt;br /&gt;
*Change: Improved startup and shutdown times, and reduced CPU use.&lt;br /&gt;
*Change: {{cmd|Hide}} and {{cmd|Unhide}} now indicate when they are silent or not.&lt;br /&gt;
&lt;br /&gt;
===0.641===&lt;br /&gt;
&#039;&#039;17 August 2013 - r2150&#039;&#039;&lt;br /&gt;
*Feature: Improved the way {{cmd|EllipsoidH}} works on flat surfaces. Instead of filled ellipses, it now makes rings.&lt;br /&gt;
*Feature: Added {{cmd|Reply}} (&amp;lt;code&amp;gt;/re&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: {{cmd|Fill2D}} can now fill with any brush, not just solid color.&lt;br /&gt;
*Feature: Added &#039;&#039;HeartbeatUrl&#039;&#039; [[List of config keys#Advanced|config key]], to allow alternative heartbeat/authentication services. &#039;&#039;&#039;Note: [[HeartbeatSaver]] only needs to be updated IF you plan on using something other than minecraft.net&#039;&#039;&#039;&lt;br /&gt;
*Fix: Fixed a InvalidOperationException in ConfigGUI when re-drawing the map preview (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;Realistic&amp;quot; MapGen help (thanks Jonty800).&lt;br /&gt;
*Fix: Now correctly kicking custom premium-MC clients.&lt;br /&gt;
*Fix: Fixed help messages in [[HeartbeatSaver]] and {{cmd|MassRank}}.&lt;br /&gt;
*Fix: Fixed a potential way of revealing hidden players by messaging them.&lt;br /&gt;
*Change: ConfigGUI&#039;s port checker works again.&lt;br /&gt;
*Change: IRC bot will now retry for its primary nick every 30 seconds (thanks Dankirk).&lt;br /&gt;
&lt;br /&gt;
===0.640===&lt;br /&gt;
&#039;&#039;30 July 2013 - r2124&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Feature: [[Mojang accounts|Mojang account]] (email) support.&#039;&#039;&#039; Added {{perm|ViewEmails}} permission and a config option to disallow email users.&lt;br /&gt;
*Feature: Overhauled map generation! Improved {{cmd|Gen}}, new {{cmd|SetGen}} command, more options, preset loading/saving, redesigned ConfigGUI interface, and two new map generation modes: Vanilla (from [http://femto.fcraft.net FemtoCraft]) and FloatingIsland.&lt;br /&gt;
*Feature: Optional [http://www.regular-expressions.info/quickstart.html RegEx] filtering of filenames for [[MapRenderer]] and [[MapConverter]], enabled by &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Feature: Added &amp;lt;i&amp;gt;&amp;quot;Player ___ logged in from an IP shared by frozen players...&amp;quot;&amp;lt;/i&amp;gt; announcement.&lt;br /&gt;
*Feature: Added an optional parameter to toggle commands (grass, water, lava, solid, paint, static) &amp;amp;mdash; &amp;quot;on&amp;quot;/&amp;quot;1&amp;quot; or &amp;quot;off&amp;quot;/&amp;quot;0&amp;quot;.&lt;br /&gt;
*Feature: Added BackupOnMapChange config key, which automates backups when a world&#039;s map is replaced by /Gen or /WLoad (enabled by default).&lt;br /&gt;
*Feature: Added &amp;lt;code&amp;gt;/To&amp;lt;/code&amp;gt; as an alias of {{cmd|TP}}, and &amp;lt;code&amp;gt;/Flush&amp;lt;/code&amp;gt; as an alias for {{cmd|WFlush}}.&lt;br /&gt;
*Feature: [[MapRenderer]] is now much quicker, thanks to optimization and multithreading.&lt;br /&gt;
*Feature: Added ability to change capitalization of player&#039;s name using {{cmd|SetInfo}}.&lt;br /&gt;
*Fix: Fixed MapGenerator sometimes locking up when working with tiny 16x16 maps (thanks 123DMWM).&lt;br /&gt;
*Fix: Fixed world greetings not being saved between restarts (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed {{cmd|WLoad}} showing incorrect map file names when prompting to replace files (thanks Smokeybacon).&lt;br /&gt;
*Fix: Fixed [[Command_Tips#Restricting_player_name_search|online-only name prefix]] revealing hidden players in some commands (thanks Intertoothh and recon).&lt;br /&gt;
*Fix: When a spectating player gets frozen, they are no longer stuck spectating (thanks ruggedbear and NuclearWaffle121).&lt;br /&gt;
*Fix: IRC now handles two-number color codes and reset codes correctly (thanks Liam).&lt;br /&gt;
*Fix: Fixed map changes sometimes leaving behind &amp;quot;ghost maps&amp;quot; for players with rank-specific main maps set (thanks Jonty800).&lt;br /&gt;
*Fix: PlayerDB name autocompletion now correctly handles players with &#039;.&#039; in their names.&lt;br /&gt;
*Fix: Timed backups no longer drift slightly every hour.&lt;br /&gt;
*Fix: Players can now {{cmd|Clear}} their chat even while [[/Deafen|deaf]].&lt;br /&gt;
*Fix: Fixed a rare serialization issue with PlayerDB&#039;s RankChangedBy field.&lt;br /&gt;
*Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Now only allow either one directory, or one-or-more files to be specified. Multiple directories, and mixed directories/files are no longer allowed.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Disabled slow fallback conversion by default (which caused non-map files to take forever to skip in recursive mode). Old behavior can be reenabled with &amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Change: When auto-updating or restarting under Mono, fCraft no longer tries to use &amp;quot;mono-sgen&amp;quot;, now just using &amp;quot;mono&amp;quot; and assuming that runtime is properly configured.&lt;br /&gt;
*Change: {{cmd|WBuild}} and {{cmd|WAccess}} can optionally now take &amp;quot;@&amp;quot; in front of rank name.&lt;br /&gt;
*Change: Removed BackupOnJoin config key.&lt;br /&gt;
*Change: UpdateInstaller&#039;s &amp;lt;code&amp;gt;--restart&amp;lt;/code&amp;gt; parameter is more flexible.&lt;br /&gt;
*Change: Dropped Mono 2.6 support.&lt;br /&gt;
*Change: Optimizations in player movement code, PlayerDB loading/saving, IP ban list loading, map generation, map rendering, {{cmd|Ellipsoid}}, and {{cmd|Sphere}}.&lt;br /&gt;
&lt;br /&gt;
===0.639===&lt;br /&gt;
&#039;&#039;10 December 2012 - r1917&#039;&#039;&lt;br /&gt;
*Feature: Added RankPrefixesOnDisplayedNames config key (default: false), which controls whether to prepend rank prefixes to names of players with a custom DisplayedName set.&lt;br /&gt;
*Feature: Added BypassHttpsCertificateValidation config key (default: false), to ease HTTPS-related pains under Mono.&lt;br /&gt;
*Feature: Added MoveEmoteDotToEndOfMessage config key (default: true), which slightly changes emote formatting, by BobKare&#039;s request.&lt;br /&gt;
*Fix: Fixed a stability issue in the IRC bot.&lt;br /&gt;
*Fix: Fixed incorrect runtime version detection for Mono versions older than 2.6.&lt;br /&gt;
*Fix: Server now gives more informative messages when you try to do something disallowed to yourself (mute, unfreeze, ban, kick, etc).&lt;br /&gt;
*Fix: Fixed being able to teleport to hidden players (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed {{cmd|Unhide}} not faking a join message for hidden players (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed IRC bot sending USER before NICK (fixes occasional error 451) (thanks Hellenion).&lt;br /&gt;
*Change: Added ability to set players&#039; BandwidthUseMode via {{cmd|SetInfo}}.&lt;br /&gt;
*Change: Improved {{cmd|Env}}, {{cmd|UndoAreaNot}}, and {{cmd|Help}} messages.&lt;br /&gt;
*Change: Players&#039; connection messages in logs now include TimesVisited stat.&lt;br /&gt;
*Change: {{cmd|Help|commands}} is no longer an alias for {{cmd|Commands}} (thanks ruggedbear).&lt;br /&gt;
&lt;br /&gt;
===0.638===&lt;br /&gt;
&#039;&#039;29 November 2012 - r1887&#039;&#039;&lt;br /&gt;
*Feature: [[Emotes|Emote]] keywords and their Unicode equivalents can now be included in announcement and rule files.&lt;br /&gt;
*Feature: IRC bot now sends a quit message consisting of server name and shutdown reason.&lt;br /&gt;
*Fix: Fixed a very small chance of PlayerInfo.TimeMutedLeft returning negative time spans.&lt;br /&gt;
*Fix: Leading and trailing spaces are now trimmed from kick/ban/unban reasons.&lt;br /&gt;
*Fix: Fixed some emotes getting trimmed from {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} (thanks Intertoothh)&lt;br /&gt;
*Fix: Fixed RestartInterval starting two chat timers (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed ServerCLI using console colors for the first few messages even if &amp;lt;code&amp;gt;--noconsolecolor&amp;lt;/code&amp;gt; [[List of command-line options|command-line switch]] was given (thanks Hellenion)&lt;br /&gt;
*Change: Added &amp;lt;code&amp;gt;--noupdater&amp;lt;/code&amp;gt; command line switch, which stops fCraft from launching update installer binaries (although all other update-related behavior remains the same)&lt;br /&gt;
*Change: Player&#039;s own name is no longer considered in autocompletion/searches for commands that are not applicable to self (e.g. {{cmd|Ban}}, {{cmd|Mute}}, {{cmd|Ignore}}, {{cmd|TP}}, etc)&lt;br /&gt;
*Change: Logged global chat messages now have &amp;quot;(global)&amp;quot; prepended before player&#039;s name.&lt;br /&gt;
*API: Updated trunk project files to VisualStudio 2010. Target runtime remains .NET 3.5 Client Profile.&lt;br /&gt;
&lt;br /&gt;
===0.637===&lt;br /&gt;
&#039;&#039;16 October 2012 - r1847&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Emotes}} command, to list emotes and their keywords.&lt;br /&gt;
*Fix: Fixed IRC bot cutting off very long messages.&lt;br /&gt;
*Fix: Fixed {{cmd|Info}} not working with some IP ranges (thanks _BjorN64_).&lt;br /&gt;
*Fix: Fixed single-letter emote keywords not working (thanks Wundsalz).&lt;br /&gt;
*Fix: Improved the way IRC bot handles nick conflicts (thanks Jonty800).&lt;br /&gt;
*Fix: {{cmd|DumpStats}} no longer dies when an invalid file name is given (thanks Hellenion).&lt;br /&gt;
*Change: Added a new build configuration, DEBUG_NETWORKING, which traces all incoming and outgoing packets.&lt;br /&gt;
*Change: IRC bot now logs all outgoing messages when built in DEBUG_IRC configuration.&lt;br /&gt;
&lt;br /&gt;
===0.636===&lt;br /&gt;
&#039;&#039;10 October 2012 - r1832&#039;&#039;&lt;br /&gt;
*Feature: Check your configs! New options were added to control display of colors and emotes to/from IRC.&lt;br /&gt;
*Feature: Added {house} [[emotes|emote]]: ⌂ (0x7F).&lt;br /&gt;
*Fix: Fixed newline codes %n/%N not being parsed properly.&lt;br /&gt;
*Fix: Fixed a crash in Color.StripColors (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed random symbols appearing in stack traces in console (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed couple problems with Player.Moving event (thanks 00pol).&lt;br /&gt;
*Fix: Spawn points of MCSharp map files are now loaded correctly (thanks 00pol).&lt;br /&gt;
*Change: Players&#039; DisplayedNames may no longer contains line breaks.&lt;br /&gt;
&lt;br /&gt;
===0.635===&lt;br /&gt;
&#039;&#039;8 October 2012 - r1822&#039;&#039;&lt;br /&gt;
*Feature: Added support for &amp;quot;[[emotes]]&amp;quot; (chat symbols). New permission ({{perm|UseEmotes}}) and config key (IRCAllowEmotes) were added.&lt;br /&gt;
*Fix: Fixed numbers sometimes being accepted as valid (e.g. by {{cmd|Mute}}), although counted as 0-length time spans.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving strings with newlines properly.&lt;br /&gt;
*Fix: Fixed IRC bot sometimes producing messages that are a couple characters over the IRC message size limit (512 chars).&lt;br /&gt;
*Fix: Fixed players being able to use newline codes (&amp;amp;N/&amp;amp;n) on IRC.&lt;br /&gt;
*Fix: Fixed problems with UpdaterMode and BackupOnStartup settings in ConfigGUI.&lt;br /&gt;
*Fix: Fixed fCraft not building in DEBUG_IRC configuration.&lt;br /&gt;
*Change: Added a workaround for TermInfoDriver-related exceptions under Mono (thanks Hellenion)&lt;br /&gt;
*Change: Symbolic [[colors|color codes]] (e.g. %S) can now be used in chat.&lt;br /&gt;
*Change: Backslash can now be used to escape percent [[colors|color codes]] (e.g. \%C).&lt;br /&gt;
*Change: fCraft will now retry looking up the external IP up to 3 times.&lt;br /&gt;
*Change: Lots of documentation, annotation, and API improvements.&lt;br /&gt;
&lt;br /&gt;
===0.634===&lt;br /&gt;
&#039;&#039;30 September 2012 - r1796&#039;&#039;&lt;br /&gt;
*Fix: Fixed an occasional InvalidOperationException when auto-updating in ServerGUI.&lt;br /&gt;
*Fix: Fixed ConfigGUI showing misleading information in &amp;quot;unrecognized entry ignore&amp;quot; errors.&lt;br /&gt;
*Fix: Fixed Logger trying to write to file in [[MapConverter]] and [[MapRenderer]].&lt;br /&gt;
*Fix: Fixed [[MapRenderer]] and [[MapConverter]] spamming zone-related errors (thanks Hellenion and AndrewPH)&lt;br /&gt;
*Fix: Fixed {{cmd|UndoPlayerNot}} help entry (thanks ruggedbear)&lt;br /&gt;
*Change: Heartbeat code now uses HTTPS, as mandated by Mojang. If you use Mono, see http://www.mono-project.com/FAQ:_Security&lt;br /&gt;
*Change: Removed support for the malfunctioning WoM Direct heartbeat service.&lt;br /&gt;
*Change: RankChangeReason is now shown as a &amp;quot;Rank note&amp;quot; in {{cmd|Info}}, even if no other data (PreviousRank/RankChangedBy/RankChangeDate) exists (thanks Wundsalz)&lt;br /&gt;
&lt;br /&gt;
===0.633===&lt;br /&gt;
&#039;&#039;26 September 2012 - r1788&#039;&#039;&lt;br /&gt;
*Feature: Added checkbox for HeartbeatEnabled config key to ConfigGUI, on the advanced tab.&lt;br /&gt;
*Fix: Fixed heartbeat/verification issues caused by &amp;quot;no-www&amp;quot; changes made by Mojang at minecraft.net&lt;br /&gt;
*Fix: Fixed VisualStudio designer being unable to load ConfigGUI.MainForm.&lt;br /&gt;
*Fix: Fixed {{cmd|ZMark}} being spammy (thanks ruggedbear).&lt;br /&gt;
*Fix: Binding &amp;quot;air&amp;quot; block to something now works as expected (deleted blocks are replaced with the binding) (thanks Hellenion).&lt;br /&gt;
*Fix: Added missing tooltips to &amp;quot;Data Backup&amp;quot; checkbox in ConfigGUI (thanks PhoneBook_).&lt;br /&gt;
*Fix: Added [[HeartbeatSaver]] to UpdateInstaller and list of protected filenames.&lt;br /&gt;
*Fix: Fixed occasional startup crash in [[HeartbeatSaver]].&lt;br /&gt;
*Change: {{cmd|Reload|Autorank}} now triggers a re-scan of the whole PlayerDB.&lt;br /&gt;
*Change: Added code to BlockDB to recover misaligned .fbdb files. BlockDB files are supposed to be aligned to 20 bytes. Misalignment might happen if writing didn&#039;t finish properly - e.g. power outage, or ungraceful shutdown.&lt;br /&gt;
*Change: Improved consistency of exit codes in [[HeartbeatSaver]], [[MapConverter]], and [[MapRenderer]].&lt;br /&gt;
&lt;br /&gt;
===0.632===&lt;br /&gt;
&#039;&#039;14 September 2012 - r1765&#039;&#039;&lt;br /&gt;
*Feature: Added standalone [[HeartbeatSaver]] utility, a heartbeat-sending daemon.&lt;br /&gt;
*Feature: Added a way to specify scale/turbulence/seed for cloudy brush.&lt;br /&gt;
*Feature: Renamed &amp;quot;IRC&amp;quot; LogType to &amp;quot;IRCStatus&amp;quot;, and added &amp;quot;IRCChat&amp;quot; LogType. Check your configs.&lt;br /&gt;
*Fix: Fixed the updater. You&#039;ll have to update from version 0.631 manually (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed a bug related to multiple players trying to join an almost-full server at the same time.&lt;br /&gt;
*Fix: Fixed a rare InvalidOperationException crash in ConfigGUI.&lt;br /&gt;
*Fix: Fixed reversed order in {{cmd|BlockInfo}} (thanks recon_).&lt;br /&gt;
*Fix: Fixed a few formatting errors in feedback messages.&lt;br /&gt;
*Fix: Fixed a rare disconnect related to a spectator trying to follow a spectatee to a full world.&lt;br /&gt;
*Fix: Fixed {{cmd|Hide}} not showing a fake disconnect message when needed.&lt;br /&gt;
*Fix: Fixed {{cmd|WRename}} prompting for file overwrite when changing capitalization in a world name.&lt;br /&gt;
*Fix: Fixed UndoArea/UndoAreaNot and UndoPlayer/UndoPlayerNot messages occasionally getting mixed up.&lt;br /&gt;
*Fix: Fixed players being unable to join the server if access restrictions prevent them from joining the rank-specific main world.&lt;br /&gt;
*Fix: {{cmd|WRemove}} now correctly handles removing rank-main worlds.&lt;br /&gt;
*Fix: Fixed a case where newlines in PlayerInfo or IPBanInfo fields would cause record corruption.&lt;br /&gt;
*Fix: Fixed reversed messages in {{cmd|DoNotMark}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed ServerCLI sometimes staying open, waiting on console input, when it&#039;s supposed to shut down or restart.&lt;br /&gt;
*Change: Sped up &amp;quot;cloudy&amp;quot; brush when working with large draw commands.&lt;br /&gt;
*Change: Crash reporter now submits list of names and versions of all loaded assemblies, to help identify mismatched or missing dependencies.&lt;br /&gt;
*Change: Added logging to every confirmation prompt, &amp;quot;/ok&amp;quot;, {{cmd|BlockDB}} enabling/disabling/clearing, {{cmd|ZRemove}}, {{cmd|InfoSwap}}, and {{cmd|Env}}.&lt;br /&gt;
*Change: Any pending confirmations are now reset on world change.&lt;br /&gt;
*Change: Added /I as an alias for {{cmd|Info}}, and /CS as an alias for {{cmd|CopySlot}}.&lt;br /&gt;
*Change: Removed &amp;quot;marbled&amp;quot; brush (&amp;quot;cloudy&amp;quot; works just as well) and FCMv4 map format support (development canceled).&lt;br /&gt;
*Change: {{cmd|Where}} command now only requires {{perm|ViewOthersInfo}} permission to see other players&#039; whereabouts. It can be used by anyone on self.&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.631===&lt;br /&gt;
&#039;&#039;5 September 2012 - r1741&#039;&#039;&lt;br /&gt;
*Feature: Added a way to restrict commands to match online players&#039; names only, by prefixing the name with an exclamation mark (!). See [[Command Tips]] for more.&lt;br /&gt;
*Feature: Added {{cmd|DoNotMark}} command. When toggled on, clicking on blocks does not cause marks to be added to a selection.&lt;br /&gt;
*Fix: Included MapConverter.exe and MapRenderer.exe in list of protected filenames.&lt;br /&gt;
*Fix: Fixed a potential crash in Paths.FileExists when working in case-sensitive mode in a root directory.&lt;br /&gt;
*Fix: Fixed ConfigGUI not loading permission limits properly (thanks recon_).&lt;br /&gt;
*Fix: Added missing fake connection message when using non-silent {{cmd|Unhide}} (thanks Wundsalz).&lt;br /&gt;
*Change: Improvements to fCraft&#039;s built-in crash reporter.&lt;br /&gt;
*Change: Blocks redone with {{cmd|Redo}} are now flagged as &amp;quot;Redone&amp;quot; in /BlockInfo (instead of &amp;quot;UndoneSelf&amp;quot;), [[/Paint|painted]] blocks as &amp;quot;Painted&amp;quot; (instead of &amp;quot;Manual, Replaced&amp;quot;).&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.630===&lt;br /&gt;
&#039;&#039;4 September 2012 - r1727&#039;&#039;&lt;br /&gt;
*Feature: New permissions! {{perm|FlushWorlds}} (previously part of {{perm|ManageWorlds}}), {{perm|UseTimers}} (previously part of {{perm|Say}}), and {{perm|UndoAll}}.&lt;br /&gt;
*Feature: Added ability to undo multiple players&#039; actions at once, or EVERYONE&#039;s actions at once, using {{cmd|UndoPlayer}} and {{cmd|UndoArea}}. Command syntax changed, see wiki.&lt;br /&gt;
*Feature: {{cmd|Info}} now shows whether minecraft.net accounts are free or paid.&lt;br /&gt;
*Feature: Added special &amp;quot;skip&amp;quot;/&amp;quot;none&amp;quot; blocktype, usable with brushes and draw commands.&lt;br /&gt;
*Feature: Added ability to clear world/zone whitelists and blacklists. Use &amp;quot;-*&amp;quot; in place of player name to clear whitelist, and &amp;quot;+*&amp;quot; to clear blacklist.&lt;br /&gt;
*Feature: Added a way to remove all zones in a world, {{cmd|ZRemove|*}}.&lt;br /&gt;
*Feature: Added {{cmd|UndoAreaNot}} (/uan) and {{cmd|UndoPlayerNot}} (/upn), which reverse changes made by everyone EXCEPT the given player(s).&lt;br /&gt;
*Feature: Added [[MapConverter]] and [[MapRenderer]] utilities.&lt;br /&gt;
*Feature: {{cmd|CuboidW}} now supports optionally filling sides and center with different blocktypes, e.g. &amp;quot;/cw white blue red&amp;quot;.&lt;br /&gt;
*Fix: Fixed ServerCLI launching the wrong fCraft binary after running the updater.&lt;br /&gt;
*Fix: Fixed a missing warning in {{cmd|Gen}} when map height is not a multiple of 16.&lt;br /&gt;
*Fix: Fixed a rare case of players receiving desynchronized copies of maps where draw commands are in progress.&lt;br /&gt;
*Fix: Fixed a crash in {{cmd|Commands|&amp;lt;Category&amp;gt;}}&lt;br /&gt;
*Fix: Fixed potential crashes when working with files in root directories (e.g. C:/)&lt;br /&gt;
*Fix: Improved {{cmd|BanEx}} logging.&lt;br /&gt;
*Fix: Improved support for Myne/MyneCraft/HyveBuild/iCraft maps.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog in ConfigGUI defaulting to 20 minutes, instead of &amp;quot;(default)&amp;quot;.&lt;br /&gt;
*Fix: Fixed SaveInterval and BackupInterval being limited to just 100 seconds/minutes in ConfigGUI (thanks Hellenion).&lt;br /&gt;
*Fix: Improved consistency of timestamp format in logs (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed being unable to remove world greetings via {{cmd|WSet}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed IRC bot cutting off long messages (thanks Hellenion).&lt;br /&gt;
*Change: Improved performance of {{cmd|Gen}}, {{cmd|WLoad}}, world loading, and all BlockDB-related commands.&lt;br /&gt;
*Change: Adjustments to block names and aliases, as well as command aliases.&lt;br /&gt;
*Change: Merged {{cmd|Cancel}} and /Nvm commands.&lt;br /&gt;
*Change: &amp;quot;&amp;amp;N&amp;quot; is now usable as a &amp;quot;newline&amp;quot; constant in all configurable strings (rules, announcements, greetings, etc), and &amp;quot;%N&amp;quot; is usable by players with {{perm|UseColorCode}} permissions.&lt;br /&gt;
*Change: Made {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} usable by frozen players.&lt;br /&gt;
*Change: Added a warning to /Colors regarding the minimum rank required to use colorcodes in chat (thanks Jonty800).&lt;br /&gt;
*Change: Ignoring a player no longer prevents you from seeing {{cmd|Say}} messages written by them.&lt;br /&gt;
*Change: {{cmd|Paint}}, {{cmd|Solid}}, {{cmd|Grass}}, {{cmd|Water}}, and {{cmd|Lava}} are no longer usable by players without Build permission, and dont show up in /Commands for them.&lt;br /&gt;
*Change: Clarified {{cmd|ZEdit}} messages when trying to remove self from blacklist, or add yourself to whitelist.&lt;br /&gt;
*Change: {{cmd|Mute}}, {{cmd|Unmute}}, {{cmd|Freeze}}, and {{cmd|Unfreeze}} are now also usable on offline players.&lt;br /&gt;
*Change: Session threads are no longer marked as &amp;quot;background&amp;quot;, to prevent unexpected side effects from session threads being aborted on shutdown. This might slow down shutdown a bit, but there is less to go wrong.&lt;br /&gt;
*Change: World greetings can now support constants.&lt;br /&gt;
*Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.&lt;br /&gt;
*Change: Process exit code is now set to match ShutdownReason.&lt;br /&gt;
*API: Added ChatTimer.Started and ChatTimer.Stopped events, rewrote BlockDB, MapConversion, and IsoCat APIs.&lt;br /&gt;
*API: Many documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.624===&lt;br /&gt;
&#039;&#039;16 July 2012 - r1636&#039;&#039;&lt;br /&gt;
*Fix: Fixed BlockDB time-limiting code trimming too much data from the database.&lt;br /&gt;
*Fix: CommandBook ban import now accepts any filename that ends with &amp;quot;.csv&amp;quot;, not just &amp;quot;bans.csv&amp;quot;.&lt;br /&gt;
*Fix: ServerCLI no longer crashes upon receiving EOF from console.&lt;br /&gt;
*Fix: Fixed a rare case of hidden players being revealed (briefly) when their rank is changed.&lt;br /&gt;
*Fix: Fixed [[/Spectate]] leaving ghost players behind on world change (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed a couple typos in [[/WLock]] and [[/WUnlock]] (thanks ImNoobSoWhat).&lt;br /&gt;
*Change: Added server name to [[/ServerInfo]]&lt;br /&gt;
*Change: If opening a link fails (from ConfigGUI or ServerGUI), the URL is copied to clipboard, instead of crashing.&lt;br /&gt;
*Change: &amp;quot;[[/Import]] bans&amp;quot; no longer prints a message for every player who&#039;s already banned, instead showing a total number of already-banned players at the end.&lt;br /&gt;
*Change: Added a missing &amp;quot;Copy&amp;quot; context menu to the ServerGUI&#039;s log box (thanks to Jonty800).&lt;br /&gt;
*Change: fCraft front-ends now check fCraft.dll&#039;s assembly version, and refuse to start if there is a mismatch (Thanks Zaneo).&lt;br /&gt;
&lt;br /&gt;
===0.623===&lt;br /&gt;
&#039;&#039;9 July 2012 - r1624&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in [[/PasteX]] and [[/PasteNotX]].&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] crash when given a non-banned IP address.&lt;br /&gt;
*Fix: Fixed a crash in Player.DetectChatSpam if AntiSpam was supposed to be disabled.&lt;br /&gt;
*Fix: Fixed typos in comments and messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed a crash in [[/ZAdd]] (thanks thelonedrummer18).&lt;br /&gt;
&lt;br /&gt;
===0.622===&lt;br /&gt;
&#039;&#039;6 July 2012 - r1619&#039;&#039;&lt;br /&gt;
*Feature: ServerGUI message log is now color-coded, easier to select/copy/paste, and featuring clickable links.&lt;br /&gt;
*Fix: Fixed several regressions in [[/Hide]] and [[/Spectate]] that were introduced in 0.620-0.621 (thanks mark_b).&lt;br /&gt;
*Fix: Fixed [[/Deafen]] being usable from console (thanks phonebookguy).&lt;br /&gt;
*Fix: Fixed a crash in Paste/PasteNot/PasteX/PasteNotX (thanks Grant).&lt;br /&gt;
*Misc: Updated some draw command messages, credits, help entries, warnings.&lt;br /&gt;
&lt;br /&gt;
===0.621===&lt;br /&gt;
&#039;&#039;5 July 2012 - r1612&#039;&#039;&lt;br /&gt;
*Feature: Added CommandBook banlist (bans.csv) support to [[/Import]].&lt;br /&gt;
*Feature: Added a way to list all players of a certain rank with &amp;quot;[[/Info]] @ClassName&amp;quot;.&lt;br /&gt;
*Feature: Added {PLAYER_LIST} variable, for use in greetings/announcements/rules.&lt;br /&gt;
*Fix: Fixed changes to DefaultBackupInterval config key not being applied.&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] showing &amp;quot;players on same IP&amp;quot; for players without a recorded IP address.&lt;br /&gt;
*Fix: Fixed fCraft occasionally using localized datetime and number formatting.&lt;br /&gt;
*Fix: Fixed [[/Cut]] storing the selected blocks before checking player&#039;s draw limit (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed [[/Fill2D]] starting a selection even if command parameters could not be parsed (thanks David00143).&lt;br /&gt;
*Fix: Fixed [[/Copy]] and [[/Cut]] reporting incorrect origin information (thanks nope__avi).&lt;br /&gt;
*Fix: Players who are spectating or being spectated by you are no longer hidden from the tab player list (thanks ruggedbear).&lt;br /&gt;
*Change: If multiple players are spectating the same player, they no longer see each other (thanks Hellenion).&lt;br /&gt;
*Change: Small improvements and fixes to [[/WSet]] and to AntiSpam functionality.&lt;br /&gt;
*Change: Sped up PlayerDB loading on startup.&lt;br /&gt;
*Change: Added shortcuts for [[/SetInfo]] field names.&lt;br /&gt;
&lt;br /&gt;
===0.620===&lt;br /&gt;
&#039;&#039;17 June 2012 - r1592&#039;&#039;&lt;br /&gt;
*Feature: WoM Direct description and flags can now be set from config, without the need to go to WoM Direct website.&lt;br /&gt;
*Feature: Added a new [[/WSet]] command, that allows hiding worlds, changing backup settings, and setting greeting messages.&lt;br /&gt;
*Feature: More [[/WInfo]] information is persisted across server restarts: IsLocked, LockedBy, UnlockedBy, LoadedBy, LoadedOn, MapChangedBy, MapChangedOn.&lt;br /&gt;
*Feature: Added IRCStripMinecraftColors config key (default: true). It determines whether Minecraft colorcodes (ampersand codes) entered on IRC should be removed before showing the message in-game.&lt;br /&gt;
*Fix: Fixed incorrect percentages occasional being printed by [[/Measure]], [[/Cancel]], and [[/Undo]].&lt;br /&gt;
*Fix: Locked worlds remain locked after server restart.&lt;br /&gt;
*Fix: Addressed many flaws and glitches in the backup system.&lt;br /&gt;
*Fix: Fixed a case where draw commands that affected no blocks caused division by zero&lt;br /&gt;
*Fix: Fixed a PlayerDB record corruption bug that affected numbers over 100,000,000.&lt;br /&gt;
*Fix: Fixed a stability issue related to LineWrapper (thanks Kevinsweijen and Mc_MrCat).&lt;br /&gt;
*Fix: Fixed IRC markup codes being forwarded to the server in IRC&#039;s channel-kick messages.&lt;br /&gt;
*Fix: Fixed [[/Unmute]] not checking rank limits (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;IP&amp;gt;&amp;quot; and &amp;quot;[[/BanAll]] &amp;lt;PlayerName&amp;gt;&amp;quot; not checking ban exemptions when kicking players (thanks BobKare).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;PlayerName&amp;gt;&amp;quot; not kicking all the players from IP address.&lt;br /&gt;
*Fix: Fixed Undo/Redo messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed compatibility with Mono 2.10.8.1 (thanks Hawkzeh).&lt;br /&gt;
*Change: Removed [[/WHide]] and [[/WUnhide]] (obsoleted by [[/WSet]]).&lt;br /&gt;
&lt;br /&gt;
===0.618===&lt;br /&gt;
&#039;&#039;22 April 2012 - r1568&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in ConfigGUI when trying to sort by map size and a map file is missing (thanks Moose).&lt;br /&gt;
*Change: Ampersands are no longer allowed in chat, even escaped, due to unpredictable Minecraft client behavior.&lt;br /&gt;
&lt;br /&gt;
===0.617===&lt;br /&gt;
&#039;&#039;21 April 2012 - r1564&#039;&#039;&lt;br /&gt;
*Feature: [[/BInfo]] now accepts optional XYZ coordinates, like [[/Mark]].&lt;br /&gt;
*Fix: Added a workaround for &amp;quot;Internal error Flush&amp;quot; under Mono.&lt;br /&gt;
*Fix: Fixed [[/WBring]] printing incorrect usage syntax (thanks recon_)&lt;br /&gt;
*Fix: Fixed typo in [[/BlockDB]] (thanks xN8Gx)&lt;br /&gt;
*Fix: Fixed IRC bots not binding to the specified local endpoint.&lt;br /&gt;
*Fix: Fixed &amp;quot;PreviousRank&amp;quot; not getting updated by [[/SetInfo]] working (thanks nope__avi)&lt;br /&gt;
*Fix: Fixed several rare stability issues (thanks Kevinsweijen).&lt;br /&gt;
*Fix: Fixed [[/Undo]] and [[/Redo]] producing odd log messages if 0 blocks have been changed.&lt;br /&gt;
*&amp;lt;s&amp;gt;Change: Allowed &#039;&amp;amp;&#039; character (ampersand) to be entered in chat, which is now escaped.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===0.616===&lt;br /&gt;
&#039;&#039;10 March 2012 - r1498&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Import]] terminating when importing bans, if a player with the given name is already banned.&lt;br /&gt;
*Fix: Fixed a formatting error in [[/Bring]] and [[/WBring]] confirmation messages.&lt;br /&gt;
*Fix: Fixed mixed-up messages in [[/WAccess]] and [[/WBuild]] when removing players from blacklist/whitelist (thanks ruggedbear and xN8Gx)&lt;br /&gt;
*Fix: Fixed [[/Static]] not turning off after switching worlds (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed [[/Rotate]] printing incorrect copyslot number (thanks Mc_MrCat)&lt;br /&gt;
*Fix: Fixed a ServerGUI crash when pressing the down arrow key after typing in the first console message (thanks Jason)&lt;br /&gt;
*Fix: [[/Me]] messages no longer count towards stats twice (thanks recon_)&lt;br /&gt;
*Fix: [[/Mute]] and [[/Unmute]] now usable with &amp;quot;-&amp;quot; in place of player name (thanks thelonedrummer18)&lt;br /&gt;
*Fix: Fixed README.txt typo (thanks Wolfmade)&lt;br /&gt;
&lt;br /&gt;
===0.615===&lt;br /&gt;
&#039;&#039;2 February 2012 - r1445&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Patrol]] checking Spectate permission, and [[/SpecPatrol]] not checking it.&lt;br /&gt;
*Fix: Fixed [[/WRename]] not updating player&#039;s last-used-world-name (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed colorcodes (%-codes) not getting applied consistently (thanks BobKare)&lt;br /&gt;
*Fix: Fixed a rare name-verification issue that only affected players whose ranks have been imported (thanks Mc_MrCat)&lt;br /&gt;
*Fix: ServerGUI now correctly interprets &amp;quot;Notify&amp;quot; and &amp;quot;Auto&amp;quot; updater settings.&lt;br /&gt;
*Change: Data backups are now stored in ./databackups/ directory.&lt;br /&gt;
&lt;br /&gt;
===0.614===&lt;br /&gt;
&#039;&#039;24 January 2012 - r1426&#039;&#039;&lt;br /&gt;
*Fix: Fixed server crashing if PlayerDB.txt exists but is empty.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Join]] -&amp;quot; using player names, and &amp;quot;[[/TP]] -&amp;quot; using world names.&lt;br /&gt;
*Fix: Solved File.Replace-related errors, which caused occasional save failures.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking caller&#039;s Spectate permission limit when selecting the next target.&lt;br /&gt;
*Fix: Fixed &amp;quot;random&amp;quot; brush producing obvious repeating patterns.&lt;br /&gt;
*Fix: Fixed auto-updater occasionally freezing when attempting to &amp;quot;Restart Now&amp;quot;.&lt;br /&gt;
*Fix: Added permission limit check to [[/Unfreeze]] (thanks Xb0x4d4m)&lt;br /&gt;
*Fix: Improved the way [[/Bring]] and [[/WBring]] enforce access permissions (thanks Hellenion)&lt;br /&gt;
*Change: Added more information about player connects/disconnects to log file.&lt;br /&gt;
&lt;br /&gt;
===0.613===&lt;br /&gt;
&#039;&#039;11 January 2012 - r1401&#039;&#039;&lt;br /&gt;
*Fix: Fixed ConfigGUI not saving changes to ShowConnectionMessages key.&lt;br /&gt;
*Fix: Fixed a case where ConfigGUI could crash while attempting to rename a world.&lt;br /&gt;
*Fix: All spectate permissions are now re-checked when someone gets promoted or demoted.&lt;br /&gt;
*Fix: Fixed ConfigGUI Worlds tab crash when dealing with zoned maps.&lt;br /&gt;
*Fix: Fixed IRC bot not retrying for desired nickname after reconnecting&lt;br /&gt;
*Fix: Fixed a case where editing a world via ConfigGUI would clear security whitelists/blacklists.&lt;br /&gt;
*Fix: Fixed spectating players not being treated as hidden (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed formatting in &amp;quot;Player ___ got auto-kicked&amp;quot; message (thanks BobKare)&lt;br /&gt;
*Fix: Fixed auto-kick revealing hidden players (thanks BobKare)&lt;br /&gt;
*Fix: Fixed RandomBrush-related [[/Undo]] artifacts in [[/Triangle]] (thanks Lunara_Noctis)&lt;br /&gt;
&lt;br /&gt;
===0.612===&lt;br /&gt;
&#039;&#039;14 December 2011 - r1307&#039;&#039;&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] @Rank&amp;quot; not autocompleting rank names.&lt;br /&gt;
*Fix: Fixed compatibility with legacy PlayerDB format versions. PlayerDB files created by fCraft 0.400+ will work again.&lt;br /&gt;
*Fix: Fixed several syntax problems and crashes in /Gen.&lt;br /&gt;
*Fix: Fixed a bug that reset a world&#039;s BackupInterval to default and IsLocked flag to false after changing the map (backport from 0.700).&lt;br /&gt;
*Fix: Fixed a bug that prevented kicks/bans/promotions/demotions from being announced on IRC if no reason was given.&lt;br /&gt;
*Change: Capped all user-entered time spans at 9999 days.&lt;br /&gt;
*Change: Shortened and clarified some confirmation prompts ([[/Gen]], [[/WLoad]], [[/ZRemove]], [[/Import]], [[/MassRank]]).&lt;br /&gt;
&lt;br /&gt;
===0.611===&lt;br /&gt;
&#039;&#039;3 December 2011 - r1282&#039;&#039;&lt;br /&gt;
*Feature: Added information about periodic backups to [[/WInfo]].&lt;br /&gt;
*Fix: Fixed [[/Players]] not working properly if both world name and offset were given.&lt;br /&gt;
*Fix: Fixed [[/WAccess]], [[/WBuild]], and [[/ZEdit]] not working with one-letter rank names.&lt;br /&gt;
*Fix: Fixed [[/BanIP]], /BanAll, /UnbanIP, and /UnbanAll treating fully numeric player names as IPs.&lt;br /&gt;
*Fix: Fixed [[/SetInfo]] not resetting PlayerInfo.LastModified date.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] populated&amp;quot; revealing worlds with hidden players.&lt;br /&gt;
*Fix: Fixed [[/BringAll]] ignoring per-rank limits in some cases (thanks ferny530)&lt;br /&gt;
*Fix: Fixed appearance of black and white blocks in [[/Env]] edges (thanks Jonty)&lt;br /&gt;
*Fix: Fixed a bug in Position.Equals&amp;lt;Position&amp;gt;(), which may have caused unnecessary position updates in Player.UpdateVisibleEntities (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed a little crash in Chat.GetRawMessageType (thanks ruggedbear)&lt;br /&gt;
*Fix: Fixed a case where Player.CanPlace checked permissions against the wrong world&#039;s BuildSecurity controller (thanks Xesdra)&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Commands]] @Rank&amp;quot; showing hidden commands (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed a typo in [[/Worlds]] (thanks Kevinsweijen)&lt;br /&gt;
*Fix: Fixed BlockDBAutoEnable and BlockDBAutoEnableRank config keys being placed in the &amp;quot;General&amp;quot; section.&lt;br /&gt;
*Change: Improved config.xml format (now version 152). Configs created with fCraft 0.611+ will not be usable with older versions of fCraft.&lt;br /&gt;
*Change: Rewrote ServerGUI startup code to make it more responsive (thanks to 800craft for the idea).&lt;br /&gt;
*Change: Added information about command-line options to the README, and fixed some typos.&lt;br /&gt;
*Change: MaxConnectionsPerIP restriction no longer applies to localhost.&lt;br /&gt;
*Change: Increased block-ratio limit for &amp;quot;random&amp;quot;, &amp;quot;cloudy&amp;quot;, and &amp;quot;marbled&amp;quot; brushes from 1000 to 10,000.&lt;br /&gt;
&lt;br /&gt;
===0.610===&lt;br /&gt;
&#039;&#039;18 November 2011 - r1240&#039;&#039;&lt;br /&gt;
*Feature: Added [[/Fill2D]] (/f2d), [[/Triangle]] (/t), and [[/TriangleW]] (/tw) draw commands.&lt;br /&gt;
*Feature: Added ability to filter [[/Worlds]] by rank.&lt;br /&gt;
*Feature: Added [[/Static]] (a way to repeat selection commands).&lt;br /&gt;
*Feature: Added MaxUndoStates config key (how many steps back can [[/Undo]] go), and ConfigGUI bindings.&lt;br /&gt;
*Feature: Added experimental IP-range lookup to [[/Info]] (CIDR notation). Changed /Info pattern-matching single-character symbol from &#039;.&#039; to &#039;?&#039;&lt;br /&gt;
*Feature: Added pagination to [[/Players]].&lt;br /&gt;
*Feature: [[/Spectate]] and [[/SpecPatrol]] now show what commands, PMs, and rank messages the target types in.&lt;br /&gt;
*Feature: Added a way to change server salt without needing a restart, using &amp;lt;code&amp;gt;[[/Reload]] Salt&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: [[/Measure]] now shows statistics about block types in the selection.&lt;br /&gt;
*Feature: [[/Gen]] now has two new templates: &amp;quot;ocean&amp;quot; and &amp;quot;empty&amp;quot;&lt;br /&gt;
*Fix: Many fixes in name-retyping functionality.&lt;br /&gt;
*Fix: Addressed stability issues in LineWrapper and Undo/Redo.&lt;br /&gt;
*Fix: Fixed [[/WLock]] not canceling all draw commands (as intended).&lt;br /&gt;
*Fix: Fixed some outdated descriptions, links, and tooltips in ConfigGUI.&lt;br /&gt;
*Fix: Fixed being able to BanIP/BanAll/UnbanIP/UnbanAll invalid IP addresses (0.0.0.0 and 255.255.255.255).&lt;br /&gt;
*Fix: Fixed [[/Info]] printing a blank page (instead of the last page) if given offset is greater than the total number of matches.&lt;br /&gt;
*Fix: Fixed rank prefixes being appended to players&#039; names if DisplayedName is set.&lt;br /&gt;
*Fix: Fixed a couple rare crashes/hangs in ServerGUI when parsing console commands.&lt;br /&gt;
*Fix: Fixed [[/Ban]] and [[/Unban]] announcing when they&#039;re not supposed to.&lt;br /&gt;
*Fix: Fixed a potential crash in [[/BanInfo]] when looking up an IP address directly (no player name).&lt;br /&gt;
*Fix: Fixed another obscure way of revealing hidden players.&lt;br /&gt;
*Fix: Fixed Beta client kick message (thanks Voziv).&lt;br /&gt;
*Fix: Fixed [[/Commands]] defaulting to printing ALL commands.&lt;br /&gt;
*Fix: Fixed [[/Undo]] trying to re-cancel canceled commands.&lt;br /&gt;
*Fix: Fixed uncaught &amp;quot;Illegal characters in path.&amp;quot; exception when trying to save a [[/Gen]]&#039;erated map to an invalid filename.&lt;br /&gt;
*Fix: Fixed typos in [[/ReplaceNot]] and [[/UndoArea]].&lt;br /&gt;
*Change: Added a warning on startup if name verification is disabled.&lt;br /&gt;
*Change: Tweaks and improvements to [[/Info]], [[/WInfo]], [[/BanInfo]], [[/SetInfo]], and [[/Commands]].&lt;br /&gt;
*Change: Removed code that tries next port if the given one could not be used. Now fCraft either starts on the port specified in config, or dies.&lt;br /&gt;
*Change: Commands now complain about being given too many parameters (in addition to complaining about too few parameters). This should help catch mistyped commands.&lt;br /&gt;
*Change: Added an option to disable giant-tree generation in ConfigGUI&#039;s map generator.&lt;br /&gt;
*Change: Changed log format for bans/kicks to include more information, and fixed log message format for &amp;quot;Player ____ logged in from an IP shared by banned players...&amp;quot;&lt;br /&gt;
*Change: Included config.xml in the automated data backup.&lt;br /&gt;
*Change: ConfigGUI tweaks and improvements.&lt;br /&gt;
*Change: Changes some aliases:&lt;br /&gt;
**Added /Whois and /WhoWas as aliases for [[/Info]].&lt;br /&gt;
**Set &amp;quot;/B&amp;quot; and &amp;quot;/About&amp;quot; to be aliases for [[/BInfo]].&lt;br /&gt;
*Change: Changed some ConfigKey defaults:&lt;br /&gt;
**BlockDBEnabled defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
**WomEnableEnvExtensions defaults to &amp;quot;false&amp;quot;&lt;br /&gt;
**IRCBotAnnounceServerEvents defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
*Change: Discontinued ServerWinService (formerly fCraftWinService) subproject.&lt;br /&gt;
*API: Improved Vector3I, Vector3F, and Position classes a bit.&lt;br /&gt;
*API: New events: DrawOperation.Beginning / Began / Ended&lt;br /&gt;
*API: Changed the way PlayerInfo stores empty string fields. Instead of a 0-length string, it now uses nulls.&lt;br /&gt;
*Optimization: Sped up PlayerDB loading/saving, and boolean ConfigKey lookup.&lt;br /&gt;
&lt;br /&gt;
===0.604===&lt;br /&gt;
&#039;&#039;23 October 2011 - r1155&#039;&#039;&lt;br /&gt;
*Feature: Added support for repeating previously-entered player and world names. Just put a dash (-) in place of the player/world name when using a command, and fCraft will fill in the most-recently-used name.&lt;br /&gt;
*Fix: Fixed an occasional SecurityController-related crash in [[/Gen]], [[/WLoad]], and ConfigGUI world editor.&lt;br /&gt;
*Fix: Fixed an very rare problem in shutdown/restart commands.&lt;br /&gt;
*Fix: Fixed a rare crash that only happened if: MaxPlayers&amp;gt;128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.&lt;br /&gt;
*Fix: Fixed naming of paste/pastenot and pastex/pastenotx&lt;br /&gt;
*Fix: Fixed a permission exploit in /wbring (thanks to panda100123)&lt;br /&gt;
*Fix: Fixed [[/Rules]] section finder accidentally being case-sensitive.&lt;br /&gt;
*Fix: Fixed an issue with MCSharp/MCZall/MCLawl/MCQuai/MCStorm/MCForge/MCWhatever importer.&lt;br /&gt;
*Change: Decreased shading strength in IsoCat renderer.&lt;br /&gt;
*Change: Added /Who as an alias for [[/Players]], by request.&lt;br /&gt;
*Change: Clarified ConfigGUI description of name verification settings.&lt;br /&gt;
*Change: Normalized command name capitalization. Command names must now start with an uppercase letter, for consistency.&lt;br /&gt;
*API: Fixed inconsistencies in PlayerDB.txt header row format declaration.&lt;br /&gt;
&lt;br /&gt;
===0.603===&lt;br /&gt;
&#039;&#039;20 October 2011 - r1142&#039;&#039;&lt;br /&gt;
*Fix: [[/Cancel]] can no longer be repeated with &amp;quot;/&amp;quot; (no longer replaces previously-called command).&lt;br /&gt;
*Fix: Fixed [[/Rotate]] and [[/Mirror]] messing up if a paste command is in progress.&lt;br /&gt;
*Fix: Re-enabled crash interception and reporting.&lt;br /&gt;
&lt;br /&gt;
===0.602===&lt;br /&gt;
&#039;&#039;18 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Feature: One-click paste commands are now the default. Two-click aligned paste commands are now known as [[/PasteX]] (/PX) and [[/PasteNotX]].&lt;br /&gt;
*Feature: Added [[/ReplaceBrush]] (/RB) command (shortcut for &amp;lt;code&amp;gt;[[/Brush]] ReplaceBrush&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;[[/Cuboid]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: Added a way to change number of copy/paste slots per rank from ConfigGUI.&lt;br /&gt;
*Fix: Fixed a few typos and missing help entries.&lt;br /&gt;
*Fix: Fixed DrawOp completion message and log entry.&lt;br /&gt;
*Fix: Fixed [[/Paste]] and [[/PasteNot]] not properly clipping against world boundaries.&lt;br /&gt;
*Fix: Fixed ConfigGUI not preserving environment settings for worlds.&lt;br /&gt;
*Fix: Fixed ConfigGUI losing some worlds and showing some errors when importing from 0.5xx.&lt;br /&gt;
*Fix: Fixed [[/Bring]] not being usable from console.&lt;br /&gt;
*Fix: Fixed [[/WRename]] crashing if invalid characters (from filesystem&#039;s point of view) are present in the new name.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking for Spectate permission.&lt;br /&gt;
*Fix: Fixed [[/UndoArea]]&#039;d and [[/UndoPlayer]]&#039;ed blocks having &amp;quot;Restored&amp;quot; flag set in /bi&lt;br /&gt;
*Fix: Fixed a detached checkbox on &amp;quot;Worlds&amp;quot; tab of ConfigGUI.&lt;br /&gt;
*Fix: Fixed [[/Say]], [[/Staff]], and [[/Me]] getting logged twice.&lt;br /&gt;
*Fix: Fixed per-world backup settings being cleared on server restart.&lt;br /&gt;
*Fix: Fixed a rare NullReferenceException in WorldManager.LoadWorldList that occurred if the main world was missing, and the fallback world had access restrictions.&lt;br /&gt;
*Fix: Fixed some issues with BlockDB settings in &amp;quot;Add World&amp;quot; and &amp;quot;Edit World&amp;quot; popups of ConfiGUI.&lt;br /&gt;
*Fix: Fixed a rare ConfigGUI crash when resetting the rank tab whole one of the old ranks is selected.&lt;br /&gt;
*Change: Sped up [[/EllipsoidH]] and [[/SphereH]] slightly (thanks to Redshift).&lt;br /&gt;
*Change: Improved error handling in [[/Env]] when setting level.&lt;br /&gt;
*Change: Double-buffered the preview on &amp;quot;Chat&amp;quot; tab of ConfigGUI, to get rid of flicker.&lt;br /&gt;
*Change: Clarified auto-freeze message when trying to kick/ban someone without a required reason string.&lt;br /&gt;
&lt;br /&gt;
===0.601===&lt;br /&gt;
&#039;&#039;15 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Fixed several issues with [[/Undo]] and drawing commands.&lt;br /&gt;
&lt;br /&gt;
===0.600===&lt;br /&gt;
&#039;&#039;14 October 2011 - r1107&#039;&#039;&lt;br /&gt;
:&#039;&#039;See [http://www.fcraft.net/0.600/ http://www.fCraft.net/0.600] for a summary of changes, and upgrade notes.&#039;&#039;&lt;br /&gt;
*Chat: Added a {{cmd|Timer}} command for creating publicly-announced countdowns/timers.&lt;br /&gt;
*Chat: Added a way to cancel partial messages: &amp;lt;code&amp;gt;/Nvm&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Chat: Removed &amp;quot;Banned player ___ tried to log in&amp;quot; and &amp;quot;Player ___ tried to log in from a banned IP&amp;quot; messages.&lt;br /&gt;
*Chat: {{cmd|Say}}, {{cmd|Staff}}, and {{cmd|Me}} commands can no longer repeated using &amp;quot;/&amp;quot; shortcut.&lt;br /&gt;
*Chat: Added a warning when trying to PM deafened players.&lt;br /&gt;
*Chat: Added a shortcut for chatting to same rank: &amp;quot;@@ Message&amp;quot;&lt;br /&gt;
*Chat: Increased the number of blank lines sent by {{cmd|Clear}} to 30, to accommodate players with smaller-than-normal font sizes.&lt;br /&gt;
*Chat Fix: Fixed {{cmd|Say}}, {{cmd|Roll}}, {{cmd|Staff}}, and {{cmd|Me}} sometimes bypassing {{perm|Chat}} permission, mute check, or spam detection check.&lt;br /&gt;
*Chat Fix: Fixed rank chat being logged twice.&lt;br /&gt;
*Chat Fix: Fixed some system messages getting through to deafened players.&lt;br /&gt;
*Chat Fix: {{cmd|Deafen}} now clears the screen when toggled on.&lt;br /&gt;
*Commands: Rank and zone names now autocomplete.&lt;br /&gt;
*Commands: Players can no longer freeze, mute, kick, ban, unban, promote, or demote themselves.&lt;br /&gt;
*Commands: {{cmd|Players}} can now be called with an optional WorldName parameter, to only list players in a particular world.&lt;br /&gt;
*Commands: {{cmd|WLoad}} now takes two more optional parameters: build rank and access rank names.&lt;br /&gt;
*Commands: {{cmd|Info}} now shows last leave reason, idle time, freeze/mute information, and ban exemption status.&lt;br /&gt;
*Commands: Augmented {{cmd|Rules}} to support several rule categories.&lt;br /&gt;
*Commands: Added {{cmd|Spectate}} and {{cmd|SpecPatrol}} (&amp;lt;code&amp;gt;/SPat&amp;lt;/code&amp;gt;) commands.&lt;br /&gt;
*Commands: Added {{cmd|WBring}} (brings target player to a world);&lt;br /&gt;
*Commands: Added {{cmd|Spawn}} command (brings you to spawn). Typing &amp;quot;{{cmd|TP}}&amp;quot; no longer does the same thing, and {{cmd|TP}} now always requires {{perm|Teleport}} permission.&lt;br /&gt;
*Commands: Algorithm that {{cmd|Patrol}} uses to pick the next target was improved.&lt;br /&gt;
*Commands: Renamed Lock/Unlock commands to {{cmd|WLock}}/{{cmd|WUnlock}}, for consistency.&lt;br /&gt;
*Commands: Merged &amp;lt;code&amp;gt;/ReloadConfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/AutoRankReload&amp;lt;/code&amp;gt; into {{cmd|Reload}} command. Merged &amp;lt;code&amp;gt;/ImportRanks&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/ImportBans&amp;lt;/code&amp;gt; into {{cmd|Import}} command. Combined functionality of &amp;lt;code&amp;gt;/LockAll&amp;lt;/code&amp;gt; into {{cmd|WLock}}, and functionality of &amp;lt;code&amp;gt;/UnlockAll&amp;lt;/code&amp;gt; into {{cmd|WUnlock}}.&lt;br /&gt;
*Commands: {{cmd|Info}} and {{cmd|Worlds}} now support pagination.&lt;br /&gt;
*Commands: When world access permissions are changed with {{cmd|WAccess}}, players who lost ability to join the world will automatically be moved to main.&lt;br /&gt;
*Commands: Frozen player can no longer call most commands, with exception of: {{cmd|Clear}}, {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|RankInfo}}, {{cmd|ServerInfo}}, {{cmd|Ranks}}, {{cmd|Rules}}, {{cmd|Where}}, {{cmd|Help}}, {{cmd|Commands}}, {{cmd|Colors}}, {{cmd|Worlds}}, {{cmd|Zones}}, and {{cmd|ZInfo}}.&lt;br /&gt;
*Commands: {{cmd|Bring}} and {{cmd|WBring}} now give the option of overriding worlds&#039; access minimum-rank. Explicitly blacklisted players will continue to be barred.&lt;br /&gt;
*Commands: Added {{cmd|InfoSwap}} command, for swapping two players&#039; ranks and PlayerDB records.&lt;br /&gt;
*Commands: Added a way to abort a server shutdown or restart (&amp;quot;{{cmd|Shutdown|abort}}&amp;quot; or &amp;quot;{{cmd|Restart|abort}}&amp;quot;).&lt;br /&gt;
*Commands: {{cmd|RankInfo}} now shows copy/paste slots, idle kick time, and permission limits.&lt;br /&gt;
*Commands: Most time-related commands now take the [[Time formatting|compact format]] (e.g. 1m30s, 45s, 24h, etc).&lt;br /&gt;
*Commands: Color-coded {{cmd|Commands}}.&lt;br /&gt;
*Commands: Limited {{cmd|Mute}} duration to range between 1 second and 700 days (100 weeks).&lt;br /&gt;
*Commands: {{cmd|SetInfo}} now allows changing players&#039; DisplayedName.&lt;br /&gt;
*Commands: A warning is now shown when a player is kicked/banned, and other players are still connected from the IP.&lt;br /&gt;
*Commands: Added a way to add IP ban exemptions using {{cmd|BanEx}} (banning all players from IP except a particular one).&lt;br /&gt;
*Commands: Added automatic countdowns to {{cmd|Shutdown}} and {{cmd|Restart}}.&lt;br /&gt;
*Commands: Added more stats to {{cmd|ServerInfo}}.&lt;br /&gt;
*Commands: {{cmd|MassRank}} now defaults to silent, and takes a &amp;quot;reason&amp;quot; parameter.&lt;br /&gt;
*Commands: Added &amp;quot;/St&amp;quot; as an alias for {{cmd|Staff}}. Changed &amp;quot;/L&amp;quot; from being alias for {{cmd|Join}}, to being alias for {{cmd|Lava}}. Removed &amp;quot;/Cub&amp;quot; alias for {{cmd|Cuboid}}.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|UnbanIP}} and {{cmd|UnbanAll}} not announcing the unban reason.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Info}} not formatting names of offline players.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Restart}} breaking under Mono if working path contains spaces.&lt;br /&gt;
*Commands Fix: Fixed freeze/unfreeze printing wrong ranks in &amp;quot;You can only freeze players ranked ____ or lower&amp;quot; messages.&lt;br /&gt;
*Commands Fix: Fixed a rare crash in {{cmd|Rules}} when used from console.&lt;br /&gt;
*Commands Fix: {{cmd|BanIP}} and {{cmd|BanAll}} no longer allow to ban the IP if it&#039;s shared by any players whom caller is not allowed to ban.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Ignore}} and {{cmd|Unignore}} printing all matches at once on autocompletion.&lt;br /&gt;
*Commands Fix: Fixed a case where {{cmd|BringAll}} could reveal hidden players.&lt;br /&gt;
*Commands Fix: Fixed a few bugs in {{cmd|DumpStats}}, expanded player listing to top-5/bottom-5, and added &amp;quot;BlocksDrawn&amp;quot; stat.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Rank}} and {{cmd|TP}} commands showing up in {{cmd|Commands}} for ALL players.&lt;br /&gt;
*Commands Fix: Fixed a couple rare bugs in {{cmd|Roll}}.&lt;br /&gt;
*Commands Fix: Fixed broken {{cmd|BringAll}} support for bringing multiple ranks at once.&lt;br /&gt;
*Commands Fix: Fixed several obscure ways of revealing presence of hidden players via commands like {{cmd|ServerInfo}} and {{cmd|Worlds}}.&lt;br /&gt;
*Config: New config keys: BackupDataOnStartup (default: true), RestartInterval (default: 0), HeartbeatToWoMDirect (default: true), BlockDBEnabled (default: true), BlockDBAutoEnable (default: true), and BlockDBAutoEnableRank (default: DefaultRank), WoMEnableEnvExtensions (default: false).&lt;br /&gt;
*Config: Added {{perm|Spectate}} permission that covers {{cmd|Spectate}} and {{cmd|SpecPatrol}}.&lt;br /&gt;
*Config: Added {{perm|DrawAdvanced}} permission that covers {{cmd|Brush}}, {{cmd|Sphere, {{cmd|SphereH}}, {{cmd|Torus}}, and {{cmd|Restore}} commands.&lt;br /&gt;
*Config: Added {{perm|ManageBlockDB}} permission that covers {{cmd|BlockDB}}.&lt;br /&gt;
*Config: Added {{perm|UndoOthersActions}} permission that covers {{cmd|UndoPlayer}} and {{cmd|UndoArea}}.&lt;br /&gt;
*Config: {{cmd|Reload}} can now update more config keys without needing a restart: AutoRankEnabled, BandwidthUseMode, ConsoleName, DefaultRank, DefaultBuildRank, PatrolledRank.&lt;br /&gt;
*Config: Removed obsolete ShowBannedConnectionMessages config key.&lt;br /&gt;
*Config Fix: Fixed DefaultRank/DefaultBuildRank/PatrolledRank settings not being applied.&lt;br /&gt;
*ConfigGUI: Added BlockDB settings to &amp;quot;Worlds&amp;quot; tab and &amp;quot;Add/Edit World&amp;quot; dialog.&lt;br /&gt;
*ConfigGUI: Reorganized Rank tab.&lt;br /&gt;
*ConfigGUI: Relaxed restrictions on rank prefixes.&lt;br /&gt;
*ConfigGUI: Added &amp;quot;Insert Color&amp;quot; and &amp;quot;Insert Keyword&amp;quot; buttons to announce/rule/greeting editors in ConfigGUI, and a &amp;quot;Reset&amp;quot; button to revert edits.&lt;br /&gt;
*ConfigGUI: Any errors/warnings that are produced while loading &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt; in ConfigGUI are now displayed at startup.&lt;br /&gt;
*ConfigGUI Fix: ConfigGUI no longer loses worlds&#039; whitelists/blacklists.&lt;br /&gt;
*ConfigGUI Fix: Fixed several bugs related to renaming worlds.&lt;br /&gt;
*ConfigGUI Fix: Fixed several &amp;quot;Reset&amp;quot; bugs.&lt;br /&gt;
*ConfigGUI Fix: Fixed &amp;quot;Enable colors in IRC&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*ConfigGUI Fix: Fixed ConfigTool&#039;s Chat tab not updating to reflect changes in rank colors/prefixes.&lt;br /&gt;
*ConfigGUI Fix: Fixed sort order in Worlds tab when sorting by world size.&lt;br /&gt;
*ConfigGUI Fix: Fixed some rank dropdown menus in ConfigGUI showing &amp;quot;(lowest rank)&amp;quot; instead of &amp;quot;(default rank)&amp;quot; as the default option.&lt;br /&gt;
*Drawing: Introduced a brush/pattern system for draw commands. Rewrote (almost) all existing draw commands to take advantage of that new infrastructure. Brushes are: Normal (default), Checkered, Random, Cloudy, Marbled, Replace, ReplaceNot, ReplaceBrush.&lt;br /&gt;
*Drawing: Added a way to {{cmd|Undo}} up to five commands back. Use {{cmd|Redo to reverse it.&lt;br /&gt;
*Drawing: Added {{cmd|Torus}} drawing command, written and contributed by M1_Abrams.&lt;br /&gt;
*Drawing: Added support for multiple copy/paste slots, using {{cmd|CopySlot}}. Number of slots of configurable per-rank.&lt;br /&gt;
*Drawing: {{cmd|Replace}} and {{cmd|ReplaceNot}} can now take just one blocktype. The replacement type is inferred from the type of block player is holding when clicking.&lt;br /&gt;
*Drawing: {{cmd|Undo}} now cancels the last drawing commands.&lt;br /&gt;
*Drawing: Added a new [[Blocks|block name aliases]]: &amp;quot;g&amp;quot; for grass, &amp;quot;w&amp;quot; for water, &amp;quot;a&amp;quot; for air.&lt;br /&gt;
*Drawing Fix: Added a missing volume check to {{cmd|Line}}, and fixed {{cmd|CuboidW}} volume calculations.&lt;br /&gt;
*Drawing Fix: Fixed {{cmd|Copy}} and {{cmd|Cut}} reporting incorrect orientation.&lt;br /&gt;
*FrontEnd: Colored ConfigCLI log messages: red for errors, yellow for warnings, dark gray for debug, default (gray) for everything else. Call with &amp;quot;--noconsolecolor&amp;quot; parameter to disable.&lt;br /&gt;
*FrontEnd: ServerCLI now handles all updater modes properly, and downloads updater/restarts if needed.&lt;br /&gt;
*FrontEnd: Improved window titles.&lt;br /&gt;
*FrontEnd Fix: Fixed ServerCLI writing errors to stdout instead of stderr.&lt;br /&gt;
*Misc: Players who log out hidden will now log in silently, still hidden.&lt;br /&gt;
*Misc: More [[Constants|keywords]] are now usable in announcements, rules, and greeting files: {SERVER_NAME}, {MOTD}, {RANK}, {PLAYER_NAME}, {TIME}, {WORLD}, {PLAYERS}, and {WORLDS}&lt;br /&gt;
*Misc: Kicked or disconnected players no longer have their TotalTime increased for the time idled.&lt;br /&gt;
*Misc: fCraft will refuse to start up if running old versions of mono (2.4 or earlier).&lt;br /&gt;
*Misc: Crash reporter now prints a reference number for submitted reports.&lt;br /&gt;
*Misc: AutoRank now only evaluates online players on a timer. A full database sweep will only be done on startup or on-demand. This should notably reduce average CPU use on large databases.&lt;br /&gt;
*Misc: Added AutoRank pseudoplayer (similar to Console), who is now credited with all autorank promotions/demotions.&lt;br /&gt;
*Misc: Increased the allowed clicking distance when manually clicking blocks, to account for lag.&lt;br /&gt;
*Misc: IRC bot now announces channel kicks and nick changes.&lt;br /&gt;
*Misc: When a player with a reserved slot tries to join a full world, the longest-idle player will be kicked to make room.&lt;br /&gt;
*Misc: Frozen, demoted, and banned players are now automatically unhidden. Frozen players are undeafened. Banned players are also automatically unfrozen and unmuted.&lt;br /&gt;
*Misc: When a player&#039;s rank is changed, their bindings are now reset (to avoid issues with {{cmd|Water}}, {{cmd|Lava}}, and {{cmd|Solid}}), and any in-progress selection is canceled ([[:Category:Requires Draw|draw]] commands, {{cmd|Zone}}, {{cmd|ZTest}}, {{cmd|BInfo}}, {{cmd|Measure}}, etc)&lt;br /&gt;
*Misc: Frozen players now have a little blue star appended to their names, similar to the red star for banned players.&lt;br /&gt;
*Misc: Moved all heartbeat-related operations to the background thread (fixes lag spikes when minecraft.net times out).&lt;br /&gt;
*Misc: Added a dynamically updated compass at the top-right of the screen, visible to players who use WoM 1.8.8+&lt;br /&gt;
*Misc: Added a check for libMonoPosix on server startup. This allows catching misconfigured Mono setups early.&lt;br /&gt;
*Misc: Ranks now default to &amp;quot;white&amp;quot; color (&amp;quot;&amp;amp;f&amp;quot;) instead of &amp;quot;none&amp;quot; color (&amp;quot;&amp;quot;).&lt;br /&gt;
*Misc: Edited the &amp;quot;failed to load main world&amp;quot; message to sound less menacing, since it&#039;s usually caused just by main world filling up.&lt;br /&gt;
*Misc: Sped up {{cmd|PruneDB}}, {{cmd|MassRank}}, map generation. Reduced memory use of draw commands, undo buffers, and ConfigGUI.&lt;br /&gt;
*Misc Fix: Fixed &amp;quot;duplicate metadata key&amp;quot; warning in FCMv3 maps.&lt;br /&gt;
*Misc Fix: Fixed a zone-related race condition when exporting to Opticraft map format.&lt;br /&gt;
*Misc Fix: Fixed fCraft being unable to start if fCraft.dll is in the root directory of a drive (e.g. in &amp;quot;C:/&amp;quot;)&lt;br /&gt;
*Misc Fix: Fixed a bug that caused bandwidth to sometimes be wasted on needlessly updating position of non-moving players.&lt;br /&gt;
*Misc Fix: Fixed a clock drift problem in periodic SchedulerTasks.&lt;br /&gt;
*Misc Fix: Fixed a case where, in some rank configurations, players would see themselves as offline when hidden (in {{cmd|Info}}, {{cmd|BInfo}}, {{cmd|Players}}, etc).&lt;br /&gt;
*PlayerDB: Added 46th column: PlayerInfo.IsHidden (&#039;h&#039; if hidden, otherwise blank).&lt;br /&gt;
*PlayerDB: Added 47th column: PlayerInfo.LastModified (UTC unix timestamp). Accuracy is not yet guaranteed.&lt;br /&gt;
*PlayerDB: Added 48th column: PlayerInfo.DisplayedName (string or blank). Overrides &amp;quot;Name&amp;quot; field for purposes of displaying formatted name (ClassyName).&lt;br /&gt;
*PlayerDB: Removed 14th column (FailedLoginCount) due to disuse.&lt;br /&gt;
*PlayerDB: PlayerDB now writes out changes to TotalTime incrementally for online players, instead of applying the change on-logout.&lt;br /&gt;
*Worlds: Added a way to change some environment and texture settings per-map, using {{cmd|Env}}.&lt;br /&gt;
*Worlds: Per-world settings on backup intervals now work.&lt;br /&gt;
*Worlds: Added BlockDB - a system for tracking edits per-block. Added related {{cmd|BlockDB}} and {{cmd|BInfo}} commands.&lt;br /&gt;
*Worlds: Added {{cmd|UndoPlayer}} and {{cmd|UndoArea}} commands for undoing players&#039; actions using BlockDB.&lt;br /&gt;
*Worlds: If a world has a missing map file, a warning is now shown, and a default flatgrass map is created.&lt;br /&gt;
*Worlds: Added a way to set per-rank main world, using {{cmd|WMain}}.&lt;br /&gt;
*Worlds: Added {{cmd|Restore}} command, inspired by good old MinerCPP. Selectively loads a map from another file or backup.&lt;br /&gt;
*Worlds: Allowed non-standard dimensions (neither multiples of 16, nor powers of 2). Added a warning about glitches when using nonstandard dimensions.&lt;br /&gt;
*Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to {{cmd|WInfo}} and to &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worlds: MapGenerator tweaks: &amp;quot;default&amp;quot; template is now known as &amp;quot;random,&amp;quot; &amp;quot;mountains&amp;quot; template now has more cliffs and snow on mountaintops, &amp;quot;island&amp;quot; template is less rough and has nice beaches, and water is now automatically removed from &amp;quot;desert&amp;quot; maps.&lt;br /&gt;
*Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.&lt;br /&gt;
*Worlds Fix: Fixed an exploit that allowed players to bypass world access permissions in certain rank configurations.&lt;br /&gt;
*Worlds Fix: Fixed some rare crashes in {{cmd|WLoad}}.&lt;br /&gt;
*Worlds Fix: Fixed {{cmd|WAccess}} and {{cmd|WBuild}} occasionally not saving the world list after adding players to the access/build whitelists.&lt;br /&gt;
*Worlds Fix: Fixed being unable to change just the capitalization when renaming worlds from ConfigGUI, under Windows.&lt;br /&gt;
*Zones: Added {{cmd|ZRename}} command to rename zones.&lt;br /&gt;
*Zones: Added {{cmd|ZMark}} command to use zone boundaries for drawing or making selections.&lt;br /&gt;
*Zones Fix: Fixed {{cmd|ZAdd}} crash when adding more than one personal zone for the same player ({{cmd|ZAdd|+Name}}).&lt;br /&gt;
*Zones Fix: Fixed a rare case where two players could simultaneously create a zone with the same name on the same world, which would crash one of the players.&lt;br /&gt;
*Zones Fix: {{cmd|Zones}} no longer crashes if used on a world with a missing or corrupt map file.&lt;br /&gt;
*Zones Fix: Tightened security checks of {{cmd|ZAdd}} and {{cmd|ZRemove}} to prevent a permission exploit.&lt;br /&gt;
*API: Added specialized MetadataCollection class to manage per-map and per-player metadata, and ZoneCollection for zones.&lt;br /&gt;
*API: Added ReSharper-compatible annotations and more argument checks throughout the codebase.&lt;br /&gt;
*API: fCraft now consistently uses [X,Y,Z] for coordinates (where X/Y are horizontal, and Z is vertical), and [Width,Length,Height] for dimensions (Width/Length horizontal, Height vertical).&lt;br /&gt;
*API: Merged Session and Player classes. All session-related functionality is in Player.Networking.cs file.&lt;br /&gt;
*API: New line-wrapping algorithm provides better performance and safety. Now using &amp;quot;\n&amp;quot; instead of &amp;quot;&amp;amp;N&amp;quot; to force a newline.&lt;br /&gt;
*API: Renamed World.PlayerList to World.Players, Server.PlayerList to Server.Players, and added PlayerDB.PlayerInfoList&lt;br /&gt;
*API: New LINQ-style API for working with sets of players. This API is now used for all messaging and packet-sending. Old API (Server.Send* and World.Send*) was removed.&lt;br /&gt;
*API: New unified API for handling player-generated chat (Chat static class), and new events (Chat.Sending and Chat.Sent).&lt;br /&gt;
*API: All cancellable events now implement ICancellableEvent.&lt;br /&gt;
*API: MapDAT and MapNBT now implement IMapConverter.LoadHeader.&lt;br /&gt;
*API: Converted IClassy.GetClassyName(), Rank.GetFullName(), and Player.GetListName() to properties.&lt;br /&gt;
*API: Renamed ConfigKey.GetBool() to ConfigKey.Enabled(). Added ConfigKey.TryGetInt() and ConfigKey.TryGetBool() methods.&lt;br /&gt;
*API: CommandManager.RegisterCommand() now checks for reserved command names (currently &amp;quot;ok&amp;quot; and &amp;quot;nvm&amp;quot;), and does a better job at handling command name capitalization differences.&lt;br /&gt;
*API: Added ability to override Player.MaxBlockPlacementRange, Player.SocketTimeout, Heartbeat.Delay, and Heartbeat.Timeout.&lt;br /&gt;
*API: Renamed RankManager.ParseRank(string) to Rank.Parse(string)&lt;br /&gt;
*API: All draw/undo/copy/paste commands have been moved to fCraft.Drawing namespace.&lt;br /&gt;
*API: Added support for multiple {{cmd|Help}} sections per command.&lt;br /&gt;
*API: Added CommandCategory.Debug, removed CommandDescriptor.HelpHander and HelpHandler delegate.&lt;br /&gt;
*API: Moved Server.Player* events to Player.* and Server.PlayerInfo* to PlayerInfo.*&lt;br /&gt;
*API: Expanded the confirmation system (&amp;lt;code&amp;gt;/OK&amp;lt;/code&amp;gt;) to allow custom callbacks, decoupled from the command system.&lt;br /&gt;
*API Fix: &amp;quot;Bad heartbeat&amp;quot; reply from minecraft.net no longer triggers UrlChanged event.&lt;br /&gt;
*API Fix: Fixed a couple bugs in BoundingBox.GetIntersection and BoundingBox.Contains.&lt;br /&gt;
*API Fix: Fixed {{cmd|Replace}} and {{cmd|ReplaceNot}} not firing Player.PlacedBlock&lt;br /&gt;
*events.&lt;br /&gt;
*API Fix: Uncaught exceptions that occur while parsing player messages no longer send crash reports when in DEBUG configuration.&lt;br /&gt;
&lt;br /&gt;
=0.5xx=&lt;br /&gt;
&lt;br /&gt;
===0.537===&lt;br /&gt;
&#039;&#039;14 September 2011 - r991&#039;&#039;&lt;br /&gt;
*Fixed another heartbeat-related issue caused by minecraft.net updates.&lt;br /&gt;
&lt;br /&gt;
===0.536===&lt;br /&gt;
&#039;&#039;14 September 2011 - r988&#039;&#039;&lt;br /&gt;
*Fix: Fixed a rare crash in DoChangeRank when promoting/demoting offline players.&lt;br /&gt;
*Fix: Fixed a case where world access/build whitelist additions were not immediately saved.&lt;br /&gt;
*Fix: Fixed several errors in the way time spans were displayed.&lt;br /&gt;
*Fix: Unhandled exceptions in background task callbacks will no longer take down the server&lt;br /&gt;
*Change: Changed the heartbeat handler to use GET instead of POST (workaround for minecraft.net problems).&lt;br /&gt;
*Change: Removed AutoLauncher.&lt;br /&gt;
&lt;br /&gt;
===0.535===&lt;br /&gt;
&#039;&#039;1 July 2011 - r702&#039;&#039;&lt;br /&gt;
*Workaround for minecraft.net heartbeat changes.&lt;br /&gt;
&lt;br /&gt;
===0.534===&lt;br /&gt;
&#039;&#039;18 June 2011 - r668&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;lt;RestartInterval&amp;gt; config key (in seconds). It should help people who are suffering from Mono memory leaks. This setting can only currently be modified by editing config.xml&lt;br /&gt;
*Fix: Fixed /wload and /gen resetting the world&#039;s hidden status.&lt;br /&gt;
*Fix: Fixed &amp;quot;Apply&amp;quot; button not getting enabled in ConfigTool when world list is changed.&lt;br /&gt;
*Fix: Fixed /cw reporting incorrect volume (fixes #3308137).&lt;br /&gt;
*Fix: Added a confirmation when /wrename will result in overwriting a map file, and fixed a related crash (fixes #3311994).&lt;br /&gt;
*Fix: Fixed FormatException in error handling code in World.AcceptPlayer&lt;br /&gt;
*Fix: Fixed /info not showing formatted names for players who appear offline.&lt;br /&gt;
*Fix: Fixed several issues with renaming worlds from ConfigTool.&lt;br /&gt;
*Fix: Fixed /restart breaking under Mono if path contains spaces.&lt;br /&gt;
*Fix: Fixed /staff, /me, and /roll commands not requiring the Chat permission.&lt;br /&gt;
*Fix: Fixed &amp;quot;Use IRC colors&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*Change: Allowed all printable ASCII characters in chat except &#039;&amp;amp;&#039;.&lt;br /&gt;
*Change: Heartbeat tweaks to prevent &amp;quot;Bad heartbeat&amp;quot; from popping up.&lt;br /&gt;
*Optimization: ConfigTool starts up faster, and uses much less memory.&lt;br /&gt;
&lt;br /&gt;
===0.533===&lt;br /&gt;
&#039;&#039;24 May 2011 - r614&#039;&#039;&lt;br /&gt;
*Fix: Fixed a regression in 0.530 that erased some strings in PlayerInfo and IPBanInfo objects, such as ban reasons.&lt;br /&gt;
*Change: Increased heartbeat interval to 27.5 seconds.&lt;br /&gt;
*Change: Reduced jitter of player movement.&lt;br /&gt;
&lt;br /&gt;
===0.532===&lt;br /&gt;
&#039;&#039;23 May 2011 - r611&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;quot;/worlds loaded&amp;quot; command.&lt;br /&gt;
*Fix: Fixed a bug that prevented worlds from accepting any block changes after a map change (/wload or /gen)&lt;br /&gt;
*Fix: Fixed &amp;quot;Player _____ joined main.&amp;quot; displaying twice when players connect.&lt;br /&gt;
*Change: Added /colours as an alias to /colors&lt;br /&gt;
*Change: Adjusted /dumpstats security checks, and made it require EditPlayerDB permission (instead of Import).&lt;br /&gt;
&lt;br /&gt;
===0.531===&lt;br /&gt;
&#039;&#039;20 May 2011 - r603&#039;&#039;&lt;br /&gt;
*Feature: /SInfo now shows bandwidth use, fCraft version, and .NET/Mono version.&lt;br /&gt;
*Feature: Added ability to use coordinates with mark (e.g. &amp;quot;/Mark 0 0 0&amp;quot;).&lt;br /&gt;
*Fix: Fixed non-default rank settings not saving properly from ConfigTool.&lt;br /&gt;
*Fix: Fixed a serialization bug in IPBanList that happened if a ban reason was not given, or if an IP address was not associated with any player.&lt;br /&gt;
*Fix: Fixed a few minor bugs in /WMain.&lt;br /&gt;
*Change: Allowed the caret (^) in chat messages.&lt;br /&gt;
*Change: Reduced movement lag.&lt;br /&gt;
*Change: /version command has been removed due to redundancy with /sinfo.&lt;br /&gt;
*Change: Detailed reasons of player disconnects are now logged better.&lt;br /&gt;
*Change: Increased Minecraft.net heartbeat interval slightly.&lt;br /&gt;
*API: Added new events: Scheduler.TaskAdded, Scheduler.TaskExecuting, Scheduler.TaskExecuted, and Scheduler.TaskRemoved. These events are only available when fCraft.dll is built with DEBUG_SCHEDULER flag because of their performance impact.&lt;br /&gt;
*Optimization: Removed the scheduler overhead from having unloaded worlds.&lt;br /&gt;
*Optimization: Sped up MapGenerator by about 10%.&lt;br /&gt;
&lt;br /&gt;
===0.530===&lt;br /&gt;
&#039;&#039;7 May 2011 - r583&#039;&#039;&lt;br /&gt;
*Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.&lt;br /&gt;
*Feature: Added OptiCraft blocktype names and blocks&#039; numeric IDs as aliases.&lt;br /&gt;
*Fix: Fixed block bindings not being applied to drawing commands.&lt;br /&gt;
*Fix: Fixed fCraft getting confused if worlds.xml contains duplicates.&lt;br /&gt;
*Fix: Fixed &amp;quot;/&amp;quot; (repeat last command) not rewinding the command, which caused some issues with command arguments.&lt;br /&gt;
*Fix: Fixed &amp;quot;Max connections per IP&amp;quot; setting not saving in ConfigTool.&lt;br /&gt;
*Fix: Fixed AnnounceRankChangeReasons checkbox being erroneously tied to RequireRankChangeReasons key in ConfigTool.&lt;br /&gt;
*Fix: Added some missing tooltips to ConfigTool.&lt;br /&gt;
*Fix: Marked 10.0.0.0/8 IP range as LAN.&lt;br /&gt;
*Fix: Fixed an issue with balanced name verification (thanks wootalyzer).&lt;br /&gt;
*Fix: Fixed server announcing hidden players&#039; departure (#3292633). Thanks to Hellenion.&lt;br /&gt;
*Fix: Fixed /bring not checking per-rank permissions (#3292303). Thanks to Denny&lt;br /&gt;
*Fix: Fixed some header bugs in the D3 map converter.&lt;br /&gt;
*Fix: Fixed /wload crashing instead of printing an error message under Mono if the path was malformed.&lt;br /&gt;
*Fix: Fixed /banip not recognizing invalid IPs (e.g. broadcast).&lt;br /&gt;
*Fix: Fixed antispam resetting players&#039; mute time.&lt;br /&gt;
*Fix: Fixed Scheduler being able to add tasks after the shutdown process started.&lt;br /&gt;
*Fix: Reduced problems associated with players trying to connect while the server is shutting down.&lt;br /&gt;
*Fix: Added autorank.xml to the list of protected files.&lt;br /&gt;
*Fix: Fixed a crash in backup system that happened if two backups ran simultaneously and the total size or number of backup files was limited.&lt;br /&gt;
*Fix: Fixed a case where duplicate worlds could be created.&lt;br /&gt;
*Change: When players rejoin a world (e.g. /wflush or /wload), &amp;quot;joined world&amp;quot; message is no longer shown.&lt;br /&gt;
*Change: /mute no longer allows shortening players&#039; mute time, only to extend it.&lt;br /&gt;
*Change: Allowed player names with periods.&lt;br /&gt;
*Change: Removed SaveOnShutdown config key, tweaked range checks on some keys, grouped key tags into section tags.&lt;br /&gt;
*Change: When saving config.xml, keys with default values are now commented out.&lt;br /&gt;
*API: New events! PlayerHideChanged, PlayerInfoCreating, PlayerInfoCreated, PlayerInfoRankChanging, and PlayerInfoRankChanged.&lt;br /&gt;
*API: Server.StartServer() now throws specific exceptions on failure, instead of returning false.&lt;br /&gt;
*API: Removed some obsolete Server events.&lt;br /&gt;
*API: Switched to 100% Utc dates/times internally. PlayerDB now uses UTC Unix timestamps to serialize all dates/times.&lt;br /&gt;
*Optimization: Sped up map generation.&lt;br /&gt;
*Optimization: Reduced PlayerDB saving interval, reduced PlayerDB filesize, reduced CPU and memory use of PlayerDB saving, reduced memory footprint of loaded PlayerDB, improved IPAddress lookup performance in PlayerDB.&lt;br /&gt;
&lt;br /&gt;
===0.522===&lt;br /&gt;
&#039;&#039;16 April 2011 - r546&#039;&#039;&lt;br /&gt;
*Feature: Added more functionality to hollow ellipsoid and sphere, thanks to Redshift. Now it is possible to define outer/inner blocktypes.&lt;br /&gt;
*Feature: Added OptiCraft map format support, courtesy of LgZ-optical&lt;br /&gt;
*Fix: Fixed a serious error that caused a crash when main world became full. This bug affected 0.520 and 0.521.&lt;br /&gt;
*Fix: Fixed AutoLauncher not working under Mono (thanks to ven000m for spotting).&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog crashing if closed while generating a world.&lt;br /&gt;
*Fix: Fixed /restart using ShutdownReason.ShuttingDown (instead of ShutdownReason.Restarting) &lt;br /&gt;
*Fix: Fixed a crash in ConfigTool if MaxPlayers was set to be less than MaxPlayersPerWorld.&lt;br /&gt;
*Fix: When loading old configs (pre-0.520), MaxPlayersPerWorld is automatically set to match MaxPlayers, to avoid unexpected side effects.&lt;br /&gt;
*API: Added WorldCreating and WorldCreated events.&lt;br /&gt;
*API: Moved world-related commands from Server to a new class, WorldManager.&lt;br /&gt;
*API: Renamed RankList to RankManager, and CommandList to CommandManager, for consistency.&lt;br /&gt;
&lt;br /&gt;
===0.521===&lt;br /&gt;
&#039;&#039;12 April 2011 - r534&#039;&#039;&lt;br /&gt;
*Feature: Added a /Clear command, to clear in-game chat. Also works from fCraftConsole and fCraftUI.&lt;br /&gt;
*Fix: Added missing chat commands.&lt;br /&gt;
*Fix: Cosmetic fixes in /ZRemove.&lt;br /&gt;
&lt;br /&gt;
===0.520===&lt;br /&gt;
&#039;&#039;12 April 2011 - r532&#039;&#039;&lt;br /&gt;
*Feature: Removed the server-wide 128 player limit. Now the limit is per-world.&lt;br /&gt;
*Feature: You can now repeat the last command by typing &amp;quot;/&amp;quot;&lt;br /&gt;
*Feature: Added a way to use color codes in chat (with % instead of &amp;amp;), a UseColorCodes permission, and a /colors command.&lt;br /&gt;
*Feature: Added support for multi-line messages or commands. Add &amp;quot; /&amp;quot; to the end of a line to continue typing it.&lt;br /&gt;
*Feature: Added &amp;quot;/commands&amp;quot;, to replace &amp;quot;/help commands&amp;quot;. It allows filtering commands by rank, category, permissions, etc. Aliases: /cmdlist, /cmds&lt;br /&gt;
*Feature: New permissions: ViewPlayerIPs, BringAll&lt;br /&gt;
*Feature: New config switches: AnnounceRankChangeReasons and RequireKickReason.&lt;br /&gt;
*Feature: Replaced LimitOneConnectionPerIP config key (boolean) with a more flexible MaxConnectionsPerIP (int).&lt;br /&gt;
*Feature: Added /bringall command, for moving everyone (or only certain ranks) from your world (or optionally all worlds, or a list of other worlds) to your location.&lt;br /&gt;
*Feature: /bring can be limited per-rank&lt;br /&gt;
*Feature: When file is not found on case-sensitive filesystems, fCraft tries to syggest similar filenames.&lt;br /&gt;
*Feature: Added new constants to use in greeting.txt: {TIME}, {PLAYER_NAME}, {WORLD}, {PLAYERS}, {WORLDS}, {MOTD}&lt;br /&gt;
*Feature: Improved compatibility with SurvivalTest clients.&lt;br /&gt;
*Fix: Fixed /banip not kicking other players from the same IP (besides the named player)&lt;br /&gt;
*Fix: Added missing blocktype validation to MapFCMv2, MapFCMv3, MapMyne, and MapNBT.&lt;br /&gt;
*Fix: Fixed a rare shutdown crash in fCraftUI.&lt;br /&gt;
*Fix: Improved the way PlayerDB.Load handles errors in individual records. A single corrupted entry will no longer prevent the rest from loading.&lt;br /&gt;
*Fix: Fixed fCraftUI abruptly quitting on crash / failure to start, instead of showing the error message. Use &amp;quot;--exitoncrash&amp;quot; command-line switch to reproduce old behavior.&lt;br /&gt;
*Fix: Fixed ConfigTool&#039;s World tab not prompting to delete map files when deleting worlds.&lt;br /&gt;
*Fix: Fixed a bug in MCSharp importer (#3281305)&lt;br /&gt;
*Fix: Fixed a list of permissions in /rinfo not being sorted.&lt;br /&gt;
*Fix: Fixed /mute rank limit dropdown sometimes getting out of sync.&lt;br /&gt;
*Fix: Fixed IRC bot redundantly announcing kicks when someone has been banned.&lt;br /&gt;
*Fix: Fixed a bug where fCraft would fail to start if PlayerDB.txt was truncated/empty.&lt;br /&gt;
*Change: Moved &amp;quot;IP&amp;quot; config key from General to Advanced.&lt;br /&gt;
*Change: Added /spin as an alias to /rotate (for MCLawl users)&lt;br /&gt;
*API: New events: PlayerClicking, PlayerClicked, PlayerPlacingBlock, PlayerPlacedBlock, PlayerListChanged, PlayerBeingKicked, PlayerKicked&lt;br /&gt;
*Optimization: Reduced CPU use of draw commands by ~30%. Sped up PlayerDB loading by ~8%, and reduced memory use when saving. Also reduced PlayerDB filesize by about 15%&lt;br /&gt;
&lt;br /&gt;
===0.512===&lt;br /&gt;
&#039;&#039;2 April 2011 - r508&#039;&#039;&lt;br /&gt;
*Feature: /zones can now be used from console, and can be used on any world (active or inactive).&lt;br /&gt;
*Feature: Improved D3 map importer.&lt;br /&gt;
*Fix: Added missing filename sanity/safety checks to /dumpstats (#3267362, thanks to Hellenion)&lt;br /&gt;
*Fix: Fixed mixed up messages shown in /waccess and /wbuild (#3179189)&lt;br /&gt;
*Fix: Fixed crash reports sometimes failing to submit.&lt;br /&gt;
*Fix: Fixed /dumpstats crashing if a rank had 0 players.&lt;br /&gt;
*Fix: Made Mono version detection less crashy (#3267476, thanks to Hellenion again)&lt;br /&gt;
*Fix: Fixed MapUtility.LoadHeader terminating early, before going through all fallback converters.&lt;br /&gt;
*Fix: Fixed ConfigTool tab order.&lt;br /&gt;
*Fix: Fixed fCraft reporting inaccurate CPU usage figures.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in /rank if an invalid player name was given.&lt;br /&gt;
*Fix: Fixed fCraft project not building under Windows if path contains spaces.&lt;br /&gt;
*Change: Added &amp;quot;/serverreport&amp;quot; as an alias for &amp;quot;/sinfo&amp;quot;&lt;br /&gt;
*Change: Improved the way fCraft handles and reports map loading errors.&lt;br /&gt;
*API Change: Moved all filename constants (e.g. &amp;quot;PlayerDB.txt&amp;quot;) to Paths class.&lt;br /&gt;
&lt;br /&gt;
===0.511===&lt;br /&gt;
&#039;&#039;31 March 2011 - r497&#039;&#039;&lt;br /&gt;
*Feature: Further improvements to Mono support. fCraft will now utilize mono-sgen whenever possible.&lt;br /&gt;
*Fix: Fixed fCraftUI ignoring command-line arguments.&lt;br /&gt;
*Fix: Fixed broken /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed crash reports failing to submit.&lt;br /&gt;
*Fix: Fixed a timezone-related bug that messed up players&#039; &amp;quot;total time on server&amp;quot; stat.&lt;br /&gt;
*Change: Added a warning if running on old versions of Mono (2.6 or lower). &lt;br /&gt;
&lt;br /&gt;
===0.510_r489===&lt;br /&gt;
&#039;&#039;29 March 2011 - r489&#039;&#039;&lt;br /&gt;
*Fix: Fixed unnecessary GDI+ dependence in fCraftConsole under Mono&lt;br /&gt;
*Fix: Fixed EnumKeyAttribute not taking blank values (as in case of ProcessPriority config key).&lt;br /&gt;
&lt;br /&gt;
===0.510===&lt;br /&gt;
&#039;&#039;29 March 2011 - r488&#039;&#039;&lt;br /&gt;
*Feature: The fCraft updater has been rewritten and expanded. It now works under all OSes, and provides more features.&lt;br /&gt;
*Feature: fCraft now handles differences between case-sensitive and case-insensitive filesystems much better. /wrename and /wload are also aware of the filesystem.&lt;br /&gt;
*Feature: fCraft now checks presence, filename capitalization, and integrity of all map files on the world list at startup.&lt;br /&gt;
*Feature: New ConfigTool settings for updater, checkbox for showing &amp;quot;player connected/left&amp;quot; messages, and &amp;quot;/mute&amp;quot; permission settings.&lt;br /&gt;
*Feature: Added &amp;quot;/credits&amp;quot; command to ConfigUI.&lt;br /&gt;
*Feature: Implemented &amp;quot;--norestart&amp;quot; and &amp;quot;--exitoncrash&amp;quot; command-line switches for fCraft.&lt;br /&gt;
*Feature: fCraft event system is being rewritten with modding support in mind.&lt;br /&gt;
*Feature: Improved MCSharp/MCZall/MCLawl map support.&lt;br /&gt;
*Fix: Software errors that happen while parsing player and console commands will no longer cause disconnects/crashes.&lt;br /&gt;
*Fix: IPBanList will attempt to recover records lost due to a recent regression in 0.505.&lt;br /&gt;
*Fix: Fixed /wrename errors in cases where names differ only in capitalization.&lt;br /&gt;
*Fix: Fixed &amp;quot;Copy Existing World&amp;quot; showing the current world on the list in AddWorldPopup.&lt;br /&gt;
*Fix: Fixed &amp;quot;Chat&amp;quot; tab preview not updating when settings are reset.&lt;br /&gt;
*Fix: Fixed per-world whitelist/blacklist not saving when worlds are edited with AddWorldPopup.&lt;br /&gt;
*Fix: Fixed non-verified connections that get kicked from affecting that name&#039;s PlayerInfo.&lt;br /&gt;
*Fix: Server.GenerateSalt() now uses a cryptographically secure PRNG.&lt;br /&gt;
*Fix: Fixed verification problems on servers with HeartbeatEnabled=false.&lt;br /&gt;
*Fix: Fixed a wrong message being shown by /rank if the target is already same or higher/lower rank.&lt;br /&gt;
*Fix: Fixed /winfo showing incorrect information for last lock/unlock event.&lt;br /&gt;
*Fix: Fixed tabbing order on ConfigUI.&lt;br /&gt;
*Fix: Improved the way Server.InitLibrary and Logger.Log errors are handled.&lt;br /&gt;
*Fix: Added missing validation checks to LoadHeader in several map converters.&lt;br /&gt;
*Fix: Fixed players being able to complete a draw command or /zadd, if they were demoted before clicking for the second time.&lt;br /&gt;
*Fix: Added missing /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed a bug in /zinfo that showed incorrect creation/editing times.&lt;br /&gt;
*Fix: Better error messages for unrecognized block names in command parameters.&lt;br /&gt;
*Fix: /restart now works from ConfigUI under Mono (but still broken in fCraftConsole).&lt;br /&gt;
*Fix: Fixed handling of command-line arguments surrounded with quotes.&lt;br /&gt;
*Fix: Fixed a bug at ConfigTool.ConfigUI.xAllowSecurityCircumvention_CheckedChanged (#3181907, thanks to clhdrums87).&lt;br /&gt;
*Fix: Fixed /winfo counting hidden players (#3237877, thanks to Hellenion).&lt;br /&gt;
*Fix: Fixed MCSharp map exporter mixing up map dimensions (#3159501, thanks to dogwatch).&lt;br /&gt;
*Change: Improved the way fCraft project is built. Now all binaries are copied to /trunk/bin/Release or /trunk/bin/Debug.&lt;br /&gt;
*Change: Improved error tolerance of Scheduler.EndShutdown().&lt;br /&gt;
*Change: Expanded Logger.CheckForCommonErrors().&lt;br /&gt;
*Change: Renamed config keys (old ones can still be loaded): IRCBot to IRCBotEnabled, AutomaticUpdates to UpdaterMode.&lt;br /&gt;
*Change: Added /wadd as an alias for /wload.&lt;br /&gt;
*Change: Renamed Mcc namespace to fCraft.MapConversion.&lt;br /&gt;
*Change: Decreased timeout for fCraft update check.&lt;br /&gt;
*Change: Added a confirmation prompt to /rank when adding an unrecognized player name to the database.&lt;br /&gt;
*Optimization: Sped up heartbeat sending and world-related operations, increased world saving interval to 90 seconds, reduced per-player idle CPU usage, halved CPU usage of draw commands.&lt;br /&gt;
&lt;br /&gt;
===0.506===&lt;br /&gt;
&#039;&#039;11 February 2011 - r427&#039;&#039;&lt;br /&gt;
*Feature: Added hollow ellipsoid drawing (/eh) and hollow sphere drawing (/sph), contributed by Conrad &amp;quot;Redshift&amp;quot; Morgan.&lt;br /&gt;
*Fix: Fixed a regression in 0.503 that caused some IP ban records to be lost. I am terribly sorry!&lt;br /&gt;
*Fix: Fixed a path-related error in Map.SaveBackup&lt;br /&gt;
*Fix: Fixed a possible disconnect in Player.CheckBlockSpam is antigrief was not configured properly.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool.SaveWorldList.&lt;br /&gt;
*Fix: Fixed &amp;quot;Limit the number of blocks that can be undone&amp;quot; checkbox misbehaving (thanks to ven000m for bug report).&lt;br /&gt;
*Change: By popular demand /sphere2 is now the default behavior of /sphere.&lt;br /&gt;
*Change: Removed &amp;quot;oldSalt&amp;quot; check for name verification, to avoid having the server write to config.xml unnecessarily.&lt;br /&gt;
*Change: Removed &amp;quot;.backup&amp;quot; file creation, by popular demand. It was kinda useless.&lt;br /&gt;
&lt;br /&gt;
===0.505===&lt;br /&gt;
&#039;&#039;8 February 2011 - r422&#039;&#039;&lt;br /&gt;
*Feature: All draw commands now inform player if any blocks were skipped due to local permission issues (e.g. zones).&lt;br /&gt;
*Fix: Fixed a regression that caused backups to be saved in the wrong path. Backups were being saved to ./backups/ instead of ./maps/backups/&lt;br /&gt;
*Fix: Fixed a permission issue in /replace and /replacenot.&lt;br /&gt;
*Fix: Fixed /info not displaying a list of players from same IP.&lt;br /&gt;
*Fix: Addressed a security issue with salt generation.&lt;br /&gt;
&lt;br /&gt;
===0.504===&lt;br /&gt;
&#039;&#039;3 February 2011 - r419&#039;&#039;&lt;br /&gt;
*Fixed a crash bug related to SecurityController.MinRank&lt;br /&gt;
&lt;br /&gt;
===0.503===&lt;br /&gt;
&#039;&#039;3 February 2011 - r418&#039;&#039;&lt;br /&gt;
*Feature: Added /deafen command. It temporarily blocks all incoming messages (makes you go &amp;quot;deaf&amp;quot;), to allow taking screenshots, recording videos, or just playing without the wall of text.&lt;br /&gt;
*Feature: Added ShowBannedConnectionMessages config key (default: true). When disabled, no &amp;quot;banned player tried to log in&amp;quot; messages are shown.&lt;br /&gt;
*Fix: Fixed PlayerInfo.frozenOn not being set.&lt;br /&gt;
*Fix: Fixed kick messages for players affected by /banall&lt;br /&gt;
*Fix: Fixed /unbanall reason not being shown.&lt;br /&gt;
*Fix: /where now shows what world you are on.&lt;br /&gt;
*Fix: Fixed a couple minor bugs in /waccess and /wbuild.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in SecurityController constructor.&lt;br /&gt;
*Fix: Made several tweaks to improve the first-run experience.&lt;br /&gt;
&lt;br /&gt;
===0.502===&lt;br /&gt;
&#039;&#039;31 January 2011 - r411&#039;&#039;&lt;br /&gt;
*Fix: Adjusted for yet another change in the way minecraft.net replies to heartbeats (should fix all heartbeat issues for now).&lt;br /&gt;
*Fix: Added a check to /zremove to prevent players from deleting zones to gain access to areas from which they&#039;re barred.&lt;br /&gt;
*Fix: Fixed being able to use /me or /staff to write empty messages.&lt;br /&gt;
*Fix: Fixed frozen players not getting defrosted when kicked.&lt;br /&gt;
*Fix: Formatting fixes in &amp;quot;___ was previously frozen&amp;quot; message&lt;br /&gt;
*Fix: Fixed a mini-bug in Map.ValidateHeader()&lt;br /&gt;
*Change: Renamed /wremove to /wunload for consistency. &amp;quot;/wremove&amp;quot; is still usable as an alias.&lt;br /&gt;
&lt;br /&gt;
===0.501===&lt;br /&gt;
&#039;&#039;30 January 2011 - r408&#039;&#039;&lt;br /&gt;
*Feature: Added /sphere and /sphere2, based on code contributed by SystemX17.&lt;br /&gt;
*Feature: Added new config setting: ShowConnectedMessages (default: true)&lt;br /&gt;
*Feature: Added a notification for players who logged in frozen.&lt;br /&gt;
*Fix: Fixed frozen players twitching.&lt;br /&gt;
*Fix: Fixed IRC bot not stripping color codes in messages relayed from IRC to the game.&lt;br /&gt;
*Fix: Fixed lastSeen and lastLoginDate not being set for first-time players who failed to log in (e.g. IP-banned).&lt;br /&gt;
*Fix: Fixed /bring not working properly on frozen players.&lt;br /&gt;
*Fix: Fixed a case where it was possible to add access restrictions to main map.&lt;br /&gt;
*Fix: Fixed per-world whitelists/blacklists being lost when editing worlds.xml via ConfigTool.&lt;br /&gt;
*Fix: Fixed AutoRankAll showing wrong number of players promoted/demoted (just a formatting bug, no promotions were affected)&lt;br /&gt;
&lt;br /&gt;
===0.500===&lt;br /&gt;
&#039;&#039;25 January 2011 - r399&#039;&#039;&lt;br /&gt;
*Commands: Added /line drawing command, kindly contributed by SystemX17&lt;br /&gt;
*Commands: Added /restart command, to restart the server remotely (NOTE: does not work for fCraftWinService yet)&lt;br /&gt;
*Commands: Added /unmute command (same as &amp;quot;/mute name 0&amp;quot;)&lt;br /&gt;
*Commands: Added an option to silently hide (no disconnect/connect message).&lt;br /&gt;
*Commands: Added /ignore and /unignore commands to block chat from another player (for the duration of your visit).&lt;br /&gt;
*Commands: /whide and /wunhide commands added to hide/unhide worlds from the list.&lt;br /&gt;
*Commands: /worlds now takes an optional param: &amp;quot;/worlds all&amp;quot; lists visible+hidden worlds, and &amp;quot;/worlds hidden&amp;quot; lists hidden worlds only.&lt;br /&gt;
*Commands: List of player names from the same IP is now shown in /info.&lt;br /&gt;
*Commands: /help now shows what rank you need to be to use a command (for most commands).&lt;br /&gt;
*Commands: /bring now works on frozen players.&lt;br /&gt;
*Commands: /bring now takes an optional second name/parameter, to teleport someone to someone&lt;br /&gt;
*Commands: /info now shows whether a player is hidden (if the command caller has permission to see).&lt;br /&gt;
*Commands: Fixed a case where teleporting to a player who is currently changing worlds brings one to a wrong location.&lt;br /&gt;
*Commands: Fixed bindings (/water, /lava, /solid, and /bind) not being applied to draw commands.&lt;br /&gt;
*Commands: /wsave and /gen can now create directories if needed.&lt;br /&gt;
*Commands: Fixed a bug in /roll&lt;br /&gt;
*Commands: Sped up /paste, /pastenot, /replace, and /replacenot slightly.&lt;br /&gt;
*ConfigTool: New &amp;quot;Chat&amp;quot; tab for controlling appearance and content of in-game chat.&lt;br /&gt;
*ConfigTool: Added ability to customize MeColor (for /me messages, default: purple) and WarningColor (for major errors/warnings, default: red) in config.&lt;br /&gt;
*ConfigTool: AddWorldPopup can now show detailed info for maps of all supported formats.&lt;br /&gt;
*ConfigTool: Improved tooltips for several items in ConfigUI.&lt;br /&gt;
*FrontEnd: Uncaught exceptions that happen while executing commands from fCraftUI console are now handled by the crash reporter (instead of actually crashing).&lt;br /&gt;
*FrontEnd: Added /clear command for fCraftUI and fCraftConsole - clears log screen.&lt;br /&gt;
*FrontEnd: The URL is no longer highlighted after first heartbeat, to avoid stealing focus from console.&lt;br /&gt;
*Generator: Fixed &amp;quot;flatgrass&amp;quot; template&lt;br /&gt;
*Generator: Fixed alphabetical order in the list of templates&lt;br /&gt;
*Generator: MapGenerator now embeds generation parameters into the map file metadata&lt;br /&gt;
*Generator: Fixed several template loading bugs.&lt;br /&gt;
*Generator: Optimized AddBeaches to be about 2x faster&lt;br /&gt;
*Generator: Added a missing dimension check to /gen&lt;br /&gt;
*IRC: Messages relayed from game to IRC now have color codes preserved.&lt;br /&gt;
*IRC: Kicks, Bans, unbans, promotions, and demotions can now be relayed to IRC.&lt;br /&gt;
*IRC: IRC bot now relays /say messages, and /me messages (both /me on IRC and /me on the server).&lt;br /&gt;
*IRC: IRC Error handling is greatly improved.&lt;br /&gt;
*IRC: (Threaded) If one of the bots loses connection, one of the other bots take over parsing input.&lt;br /&gt;
*IRC: Increased IRC reconnect delay to 15 seconds.&lt;br /&gt;
*Maps: Switched to a new file format (FCMv3) that allows for future additions like block tracking and physics.&lt;br /&gt;
*Maps: Much of MCC (map conversion) API was rewritten for better consistency and performance.&lt;br /&gt;
*Maps: Improved support for loading indev (pre-infinite) maps, including Omen-generated maps.&lt;br /&gt;
*Maps: Improved resilience for loading maps with unknown blocktypes. Instead of failing, it just replaces any unknown blocks with air.&lt;br /&gt;
*Maps: Added consistent header validation to all map format loaders.&lt;br /&gt;
*Maps: Fixed maps not autosaving when zones are added or removed.&lt;br /&gt;
*Maps: Zone definitions are now serialized to XML. Zones saved with this revision of fCraft will no longer be readable by older version of fCraft.&lt;br /&gt;
*Maps: Fixed a bug when loading JTE&#039;s format maps.&lt;br /&gt;
*Maps: Fixed format of backup filenames.&lt;br /&gt;
*PlayerDB: Added new fields: bannedUntil, frozenOn, frozenBy, mutedUntil, mutedBy, IRCPassword, online, leaveReason&lt;br /&gt;
*PlayerDB: Fixed PlayerInfo.ID not being assigned for new players until sever restart / DB reload.&lt;br /&gt;
*PlayerDB: Fixed off-by-one error with PlayerInfo.timesVisited&lt;br /&gt;
*PlayerDB: Fixed /me, /say, rank chat, and /staff not counting towards PlayerInfo.linesWritten&lt;br /&gt;
*PlayerDB: Made PlayerDB more resilient to errors. Reduced filesize slightly by omitting default values for more date fields, and removing milliseconds from &amp;quot;totalTime&amp;quot;&lt;br /&gt;
*PlayerDB: Improved forwards compatibility of PlayerDB by removing maximum-field-count check.&lt;br /&gt;
*Security: Worlds can now have player whitelists and blacklists (just like zones) for access and build permissions.&lt;br /&gt;
*Security: Added a security check to /wsave, /wload, and /gen to prevent reading or overwriting files outside the map folder.&lt;br /&gt;
*Security: Added a per-rank security option to prevent players from whitelisting themselves, removing themselves from blacklists, or lowering their rank&#039;s restrictions on worlds and zones.&lt;br /&gt;
*Security: /mute and /freeze are now persistent even if the player reconnects.&lt;br /&gt;
*Security: Relaxed SetTile packet checks. Players will no longer be kicked due to Minecraft client bugs.&lt;br /&gt;
*Security: Fixed an exploit that allowed changing steps to doublesteps even inside zoned areas.&lt;br /&gt;
*Security: Improved consistency of permission dependencies.&lt;br /&gt;
*Security: Fixed a security exploit in /wmain that allowed players with ManageWorlds permission to gain access to restricted worlds.&lt;br /&gt;
*Security: Fixed a bug that prevented banning players who were not yet in PlayerDB.&lt;br /&gt;
*Security: Added an option to only allow paid players (PaidPlayersOnly)&lt;br /&gt;
*Stability: Made crash reporting more reliable. A failed crash report will no longer prevent error message from being logged and displayed.&lt;br /&gt;
*Stability: Fixed a crash in AddWorldPopup if dialog is closed while a map is still loading.&lt;br /&gt;
*Stability: To improve compatibility with some bots, removed &amp;quot;almost there...&amp;quot; message on the loading screen&lt;br /&gt;
*Stability: Disabled error reporting of common non-fCraft-related errors (like wrong runtime versions, or wrong Mono permissions).&lt;br /&gt;
*Stability: Added &amp;quot;libMonoPosixHelper.so&amp;quot; and &amp;quot;UnauthorizedAccessException&amp;quot; to Logger.CheckForCommonErrors, and made &amp;quot;Could not load file or assembly&amp;quot; check locale-independent.&lt;br /&gt;
*Stability: A backup file is now created whenever PlayerDB, IP ban list, config, or world list are saved (e.g. PlayerDB.txt.backup)&lt;br /&gt;
*Stability: Crash reporter now sends last 25 lines of the log.&lt;br /&gt;
*Stability: Added a fallback overload for Player.Message() that bypasses string format, to make the whole thing less prone to format errors.&lt;br /&gt;
*System: fCraft now takes command-line arguments (at startup) to override the following:&lt;br /&gt;
**working directory (--path=/your/path/here)&lt;br /&gt;
**log directory (--logpath=/your/path/here)&lt;br /&gt;
**map directory (--logpath=/your/path/here) - also overridable in a more user-friendly way via ConfigTool (MapPath key)&lt;br /&gt;
**config file location (--config=/your/path/and/filename.xml)&lt;br /&gt;
*System: Added an option to change the name of Console pseudoplayer in the config.&lt;br /&gt;
*System: Player.GetClassyName() and PlayerInfo.GetClassyName() now add an asterisk after banned players&#039; names&lt;br /&gt;
*System: Fixed hidden players remaining hidden in some cases.&lt;br /&gt;
*System: Fixed PacketWriter.MakeWrappedMessage ignoring uppercase hex colorcodes&lt;br /&gt;
*System: Implemented NoPartialPositionUpdates and RelayAllUpdates config keys.&lt;br /&gt;
*System: Several little glitches and inefficiencies fixed in movement handling code.&lt;br /&gt;
*System: Fixed &amp;quot;player connected&amp;quot; and other messages showing up too early in-game (before map loaded).&lt;br /&gt;
*System: Fixed kick message for players affected by /banall&lt;br /&gt;
*System: Added HeartbeatEnabled config key (default: true)&lt;br /&gt;
*System: Fixed a case where heartbeat could be sent from a different IP than the listening port on systems with multiple NICs/IPs and no configured static IP.&lt;br /&gt;
*System: Increased the write buffer for writing out PlayerDB, reducing I/O time by ~20% on .NET, and ~35% on Mono&lt;br /&gt;
*System: New Scheduler API.&lt;br /&gt;
*System: Modified /wload to avoid loading the map twice in case confirmation is needed.&lt;br /&gt;
*System: Changes to AutoRankEnabled will now be applied when /reloadconfig is called.&lt;br /&gt;
*System: Fixed unnecessary confirmation being asked when world name matches file name in /wload&lt;br /&gt;
*System: Eliminated the heartbeat thread by switching to async i/o.&lt;br /&gt;
*System: Improved startup and shutdown speed.&lt;br /&gt;
*System: Added a &amp;quot;how to promote yourself&amp;quot; message for fresh installations of fCraft.&lt;br /&gt;
*System: Fixed Server.OnPlayerDisconnected event firing for unregistered sessions.&lt;br /&gt;
*System: Made Color.Parse() and Color.GetName() translate fCraft-specific color assignments (e.g &amp;quot;&amp;amp;S&amp;quot; for &amp;quot;System&amp;quot;)&lt;br /&gt;
*System: Added better detection for SMP/Alpha clients trying to connect.&lt;br /&gt;
*System: Sped up AutoRankAll&lt;br /&gt;
&lt;br /&gt;
=0.4xx=&lt;br /&gt;
===0.499===&lt;br /&gt;
&#039;&#039;6 November 2010 - r311&#039;&#039;&lt;br /&gt;
*Feature: Added an option to disable name verification for players connecting from LAN.&lt;br /&gt;
*Feature: Added &#039;flat&#039; template to MapGenerator, allowing to make flat maps with any theme.&lt;br /&gt;
*Feature: Added &#039;grass&#039; pseudotheme to /gen command, which is basically the &#039;Forest&#039; theme with trees disabled.&lt;br /&gt;
*Fix: Fixed /wflush leaving ghosts/clones behind.&lt;br /&gt;
*Fix: Fixed muted players being able to use /say and /staff&lt;br /&gt;
*Fix: Fixed /baninfo ignoring permission checks.&lt;br /&gt;
*Fix: Fixed &amp;quot;draw limit&amp;quot; checkbox getting disabled in ConfigTool if a player had &#039;CopyAndPaste&#039; permission but no &#039;Draw&#039; permission.&lt;br /&gt;
*Fix: Fixed several off-by-1 errors involving random number generation, notably in MapGenerator and Server.GenerateSalt()&lt;br /&gt;
*Fix: Fixed potential crash in MapGenerator.SealLiquids&lt;br /&gt;
*Fix: Fixed a potential crash in Map.SaveBackup() if the map filename contained brackets.&lt;br /&gt;
*Fix: Fixed a forced disconnect when trying to feed /gen a theme or template with brackets in the name.&lt;br /&gt;
&lt;br /&gt;
===0.498===&lt;br /&gt;
&#039;&#039;4 November 2010 - r308&#039;&#039;&lt;br /&gt;
*Change: Disabled zlib support due to more potential memory leaks. fffuuuuu....&lt;br /&gt;
*Fix: Fixed Island, Bay, and Ice templates broken by the last patch.&lt;br /&gt;
*Fix: MapGeneratorArgs: snowTransition was interpreted as absolute (instead of relative) altitude, and marbledHeightmap incorrectly defaulted to &#039;true&#039;.&lt;br /&gt;
*Change: Updated readme and changelog.&lt;br /&gt;
&lt;br /&gt;
===0.497===&lt;br /&gt;
&#039;&#039;4 November 2010 - r306&#039;&#039;&lt;br /&gt;
*Feature: Added accurate progress reporting from MapGenerator. Coming soon: cancellation.&lt;br /&gt;
*Feature: New MapGenerator options: BeachHeight, CliffSmoothing, LandSlope, UnderwaterSlope, MaxHeightVariation, MaxDepthVariation.&lt;br /&gt;
*Feature: Added UI controls for snow/cliff/beach settings to AddWorldPopup.&lt;br /&gt;
*Feature: Added a list of popular IRC networks to ConfigTool.&lt;br /&gt;
*Change: Improved PlayerDB lookup performance by reducing locking.&lt;br /&gt;
*Fix: Fixed MapGenerator calculating slope incorrectly at the water boundary.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add Ore&amp;quot; requiring &amp;quot;Add Caves&amp;quot; in MapGenerator.&lt;br /&gt;
*Fix: Fixed water/lava caves not sealing liquids properly. &lt;br /&gt;
*Change: Set MapGenerator to default to 256x256x96&lt;br /&gt;
*Change: AddWorldPopup Generator tab layout overhaul&lt;br /&gt;
*Change: Organized MapGeneratorArgs and added serialization/deserialization for all the new options.&lt;br /&gt;
&lt;br /&gt;
===0.496===&lt;br /&gt;
&#039;&#039;3 November 2010 - r301&#039;&#039;&lt;br /&gt;
*Fix: Fixed File.Replace() failing if fCraft was set up on a partition/volume other than the one where temp folder is.&lt;br /&gt;
*Fix: Added missing tooltip for &amp;quot;Edit Greeting&amp;quot;&lt;br /&gt;
*Fix: Fixed /sinfo including hidden players in the player count.&lt;br /&gt;
&lt;br /&gt;
===0.495===&lt;br /&gt;
&#039;&#039;2 November 2010 - r300&#039;&#039;&lt;br /&gt;
*Feature: Added a way to edit the greeting message, by editing &amp;quot;greeting.txt&amp;quot;&lt;br /&gt;
*Feature: When a player gets banned, any previously-banned accounts from same IP are listed.&lt;br /&gt;
*Fix: Fixed renaming worlds from ConfigTool&#039;s &amp;quot;worlds&amp;quot; tab not always working.&lt;br /&gt;
*Fix: Fixed several filesystem-related errors on non-Windows systems by using Path.Combine() instead of string concatenation.&lt;br /&gt;
*Fix: Possible workaround for missing heartbeats.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;default build rank&amp;quot; controls in ConfigTools.&lt;br /&gt;
*Fix: Fixed overwrite confirmation popping up for /wload when loading map into an unloaded world with the same name.&lt;br /&gt;
*Fix: Fixed a case where Forester could get into an infinite loop when there&#039;s not enough room to place requested number of trees.&lt;br /&gt;
&lt;br /&gt;
===0.494===&lt;br /&gt;
&#039;&#039;31 October 2010 - r297&#039;&#039;&lt;br /&gt;
*Feature: New map generator features:&lt;br /&gt;
**Adjustable water level.&lt;br /&gt;
**Realistic trees (powered by Forester)&lt;br /&gt;
**Snow on mountaintops&lt;br /&gt;
**Realistic cliffs&lt;br /&gt;
**Beaches&lt;br /&gt;
**New template (peninsula) and theme (swamp).&lt;br /&gt;
**Option to delay heightmap bias until after marbling/inversion.&lt;br /&gt;
*Feature: Added a way to load .mine maps.&lt;br /&gt;
*Feature: Added confirmation for potentially destructive commands: /importranks, /importbans, /massrank, /wload overwrites, /gen overwrites, /wsave overwrites, /zremove.&lt;br /&gt;
*Feature: Added /staff chat and ReadStaffChat permission.&lt;br /&gt;
*Feature: Added wireframe cuboid (/cw)&lt;br /&gt;
*Feature: Added an optional second param for /ch (cuboid hollow) that specifies the blocktype of the &amp;quot;filling&amp;quot;.&lt;br /&gt;
*Feature: Added a way to specify default build permission for new worlds.&lt;br /&gt;
*Fix: Fixed /info, /baninfo, and /banip not handling players whose name contain only digits.&lt;br /&gt;
*Fix: Fixed DoChangeRank mixing up RankChangeType.&lt;br /&gt;
*Fix: Added missing fields to MapGeneratorArgs serializer.&lt;br /&gt;
*Fix: Fixed per-rank draw limits not being calculated correctly in some cases.&lt;br /&gt;
*Fix: Replaced File.Delete/File.Move calls with a more reliable File.Replace call. This should slightly improve reliability of map/playerdb.txt/ipbans.txt/worlds.xml saving.&lt;br /&gt;
*Fix: Fixed a little ConfigTool bug that did not properly reset PatrolledRank after a rank deletion.&lt;br /&gt;
*Fix: Fixed terminal colors not resetting in fCraftConsole after a fatal crash under Mono.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;Play&amp;quot; button in fCraftUI.&lt;br /&gt;
*Fix: Added some basic error reporting to fCraftWinService.&lt;br /&gt;
*Change: Tweaked AddWorldPopup layout to accommodate more options.&lt;br /&gt;
&lt;br /&gt;
===0.493===&lt;br /&gt;
&#039;&#039;27 October 2010 - r290&#039;&#039;&lt;br /&gt;
*Feature: /info now supports autocompletion, wildcards, and IP search.&lt;br /&gt;
*Feature: Experimental service wrapper for fCraft.&lt;br /&gt;
*Feature: Added more editable properties to /setinfo: RankChangeType, BanReason, UnbanReason, RankChangeReason, LastKickReason&lt;br /&gt;
*Feature: Various improvements to /info, including hide-aware &amp;quot;online&amp;quot; indicator.&lt;br /&gt;
*Feature: Made Player.NoAccessMessage() print the minimum required rank, instead of just permission name(s).&lt;br /&gt;
*Feature: Added wootalyzer&#039;s chunk rendering code to IsoCat.&lt;br /&gt;
*Fix: Fixed ConfigTool not taking advantage of ZLibStream &lt;br /&gt;
*Fix: Fixed a very improbable case of a thread getting spinlocked when calling IRC.Send() is preemptied, and if there are at least 2 IRC threads.&lt;br /&gt;
*Fix: Fixed kick packets occasionally not being delivered due to a missing Flush() - thanks to wootalyzer for catching.&lt;br /&gt;
*Fix: Excluded banned and inactive players from DumpStats&lt;br /&gt;
*Fix: Fixed PlayerDB.Save() not escaping LastKickReason &lt;br /&gt;
*Fix: Cleaned up extra messages sent by /unhide.&lt;br /&gt;
*Fix: Fixed LastSeen not updating on-login (only on-logout).&lt;br /&gt;
*Fix: Improved the way fCraft checks for ghost/leftover sessions. Thanks to wootalyzer.&lt;br /&gt;
*Fix: If a player&#039;s name starts with a number, and you try to /tp to a coordinate that starts with the same number, you are no longer teleported to that player instead.&lt;br /&gt;
*Fix: Fixed hidden players being detectable by checking LastSeen in /info.&lt;br /&gt;
*Fix: To avoid performance degradation, GC calls have been centralized, delayed, limited to 1/minute, and moved to the tasks thread.&lt;br /&gt;
*Fix: Added delay between recurring calls to PlayerDB.Save, AutoRankAll, and DoGC - to balance load.&lt;br /&gt;
*Fix: Fixed rankChangeType not being updated.&lt;br /&gt;
*Fix: Fixed some typos reported by tvc. &lt;br /&gt;
*Change: Added &amp;quot;/uf&amp;quot; as an alias for &amp;quot;/unfreeze&amp;quot;, by popular demand. &lt;br /&gt;
*Change: Modified PlayerDB not to use ReaderWriterLockSlim, to avoid Mono issues with recursion.&lt;br /&gt;
*Change: Renamed /editplayerinfo to /setinfo&lt;br /&gt;
*Change: Made enum values in AutoRank (CriterionType, ConditionField, ComparisonOperation, ConditionScopeType, RankChangeType) case-insensitive.&lt;br /&gt;
*Change: Added a reference to /baninfo in /info&lt;br /&gt;
*Change: Made DetectMovementPacketSpam warn players instead of kicking.&lt;br /&gt;
&lt;br /&gt;
===0.492===&lt;br /&gt;
&#039;&#039;19 October 2010 - r280&#039;&#039;&lt;br /&gt;
*Feature: Added EditPlayerDB permission. This permission affects the upcoming AutoRank commands, /editplayerinfo, and ability to promote/demote/ban unrecognized players.&lt;br /&gt;
*Feature: When you kick a player, you are now shown the number of kicks they already have.&lt;br /&gt;
*Feature: More stats are now logged! RankType, TimeSinceLastKick, LastSeen, BlocksDrawn, LastKickBy, LastKickReason.&lt;br /&gt;
*Feature: Added &amp;quot;MaxUndo&amp;quot; config key for changing the default undo limit of 2,000,000 blocks per player.&lt;br /&gt;
*Feature: /info command is augmented with new stats (if available).&lt;br /&gt;
*Fix: Fixed ellipsoid command calculating volume incorrectly for draw limit checks.&lt;br /&gt;
*Fix: Fixed overflowing color code in &amp;quot;Player logged in from an IP previously used by banned players&amp;quot; message.&lt;br /&gt;
*Fix: Fixed PM recipient&#039;s name not getting logged properly.&lt;br /&gt;
*Fix: Previously-unseen players no longer have their FirstLoginDate, LastLoginDate, or TimesVisited set.&lt;br /&gt;
*Fix: /importranks now works correctly on players who are online at the time of import.&lt;br /&gt;
*Change: Added block aliases by popular demand: &amp;quot;bedrock&amp;quot; as an alias for admincrete, &amp;quot;cotton&amp;quot; as alias for &amp;quot;white&amp;quot;, and &amp;quot;aire&amp;quot; as alias for &amp;quot;air&amp;quot;&lt;br /&gt;
*Change: PlayerDB.txt format changes:&lt;br /&gt;
**MaxFieldCount raised to 36&lt;br /&gt;
**New fields added: UID (Int32), RankChangeType (enum, serialized as Int32), LastKickDate (DateTime), LastSeen (DateTime), BlocksDrawn (Int64), LastKickBy (string), LastKickReason (string).&lt;br /&gt;
**RankChangeBy, BannedBy, UnbannedBy, BanReason, UnbanReason, and RankChangeReason now default to empty string instead of &amp;quot;-&amp;quot; or null.&lt;br /&gt;
**If LastIP==IPAddress.None, empty string is saved instead of &amp;quot;255.255.255.255&amp;quot;.&lt;br /&gt;
**DateTime and TimeSpan format shortened to exclude microseconds. See PlayerDB.ToCompactString() for details.&lt;br /&gt;
*Change: AutoRank improvements (disabled in stable builds):&lt;br /&gt;
**Added /editplayerinfo command for easy editing of PlayerDB.&lt;br /&gt;
**Made AutoRank check players in-login (to accelerate promotion).&lt;br /&gt;
**AutoRank now runs on a scheduler.&lt;br /&gt;
**Fixed ConditionPreviousRank crash for played with default rank.&lt;br /&gt;
**Fixed banned players getting promoted by AutoRank.&lt;br /&gt;
**Fixed several serialization/loading issues in AutoRank.&lt;br /&gt;
**New fields added to ConditionIntRange: LastSeen, BlocksDrawn, TimeSinceRankChange, TimeSinceLastKick&lt;br /&gt;
**ConditionRankStatus renamed to ConditionRankChangeType&lt;br /&gt;
&lt;br /&gt;
===0.491===&lt;br /&gt;
&#039;&#039;17 October 2010 - r274&#039;&#039;&lt;br /&gt;
*Feature: Added ability to run multiple parallel IRC bots, to help high-traffic servers deal with IRC lag. This also makes it possible to connect to multiple networks in the future.&lt;br /&gt;
*Feature: Added new block aliases, by popular demand: &amp;quot;emerald&amp;quot;=teal, &amp;quot;fuchsia&amp;quot;=magenta, &amp;quot;cloth&amp;quot;=white, &amp;quot;lightgray&amp;quot;=gray, &amp;quot;lightgrey&amp;quot;=gray, &amp;quot;darkgray&amp;quot;=black, &amp;quot;darkgrey&amp;quot;=black, &amp;quot;brass&amp;quot;=gold&lt;br /&gt;
*Fix: Temporarily disabled 64-bit zlib support while I track down memory leaks. Should fix OutOfMemoryException, I&#039;m very sorry about overlooking that.&lt;br /&gt;
*Fix: Fixed a bug in /info that displayed incorrect &amp;quot;total time on server&amp;quot;.&lt;br /&gt;
*Fix: Per-rank permission checks for /freeze now apply as intended&lt;br /&gt;
*Fix: Fixed several improbable (but not impossible) threading deadlocks/crashes. Thanks to wootalyzer for catching these.&lt;br /&gt;
*Change: Added IRCThreads config key (default: 1, allowed range: 1-3)&lt;br /&gt;
&lt;br /&gt;
===0.490===&lt;br /&gt;
&#039;&#039;14 October 2010 - r264&#039;&#039;&lt;br /&gt;
*Feature: Testing a new map compressor/decompressor: ZLibStream. It should provide 50-200% speed increase, smaller map sizes, lower bandwidth use, and faster map loading.&lt;br /&gt;
*Fix: Fixed /shutdown not waiting the right amount and mixing up seconds/milliseconds.&lt;br /&gt;
*Fix: Fixed &amp;quot;No world found with the name...&amp;quot; showing player&#039;s own name.&lt;br /&gt;
*Fix: Added a fail-safe exception handler to Player.WaitForKick() - a temporary fix.&lt;br /&gt;
*Change: Previous verification salt is now stored, to allow players to validate even right after the server restarts.&lt;br /&gt;
*Change: Restructured SVN. Stable code is now always in /trunk/&lt;br /&gt;
&lt;br /&gt;
===0.487===&lt;br /&gt;
&#039;&#039;12 October 2010 - r255&#039;&#039;&lt;br /&gt;
*Feature: Added contextual help (tooltips) for all of ConfigTool. Help for &amp;quot;Add World&amp;quot; popup is coming in next version.&lt;br /&gt;
*Feature: Added rank limits for Freeze permission&lt;br /&gt;
*Fix: Fixed /mute being unusable from console.&lt;br /&gt;
*Change: Removed ViewOthersInfo requirement from /sinfo&lt;br /&gt;
*Change: Added ViewOthersInfo requirement to /where&lt;br /&gt;
*Change: Improvements to IRC tab layout in ConfigTool.&lt;br /&gt;
&lt;br /&gt;
===0.486===&lt;br /&gt;
&#039;&#039;11 October 2010 - r250&#039;&#039;&lt;br /&gt;
*Quick fix for IRC Bot bug that made server unconnectable.&lt;br /&gt;
&lt;br /&gt;
===0.485===&lt;br /&gt;
&#039;&#039;11 October 2010 - r249&#039;&#039;&lt;br /&gt;
*Feature: Added optional &amp;quot;delay&amp;quot; parameter to /shutdown (default: 5)&lt;br /&gt;
*Feature: World names can now be autocompleted for many commands (like /join and /lock)&lt;br /&gt;
*Fix: Fixed /unhide failing to reveal the player in certain situations.&lt;br /&gt;
*Fix: Fixed /setspawn being usable on players from other worlds.&lt;br /&gt;
*Fix: Fixed player names appearing white for all players.&lt;br /&gt;
*Fix: Fixed a recursion loop in NoWorldMessage()&lt;br /&gt;
*Fix: Fixed help entries for /setspawn and /shutdown&lt;br /&gt;
*Fix: Fixed potential crash in Server.Shutdown() if called after failed initialization/startup.&lt;br /&gt;
*Fix: Fixed potential deadlock/freeze in fCraftUI on shutdown.&lt;br /&gt;
*Change: Improved crash reporting for TargetInvokationException and TypeInitializerException errors.&lt;br /&gt;
*Change: All assemblies are now once again x86/x86_64/IA64 compatible.&lt;br /&gt;
*Change: Server.OnPlayerConnected event now supports cancellation.&lt;br /&gt;
&lt;br /&gt;
===0.484===&lt;br /&gt;
&#039;&#039;10 October 2010 - r245&#039;&#039;&lt;br /&gt;
*Feature: Added a way for IRC bot to use registered nicknames.&lt;br /&gt;
*Feature: /banall-related kicks are now announced in chat.&lt;br /&gt;
*Feature: /setspawn now actually changes player&#039;s spawn. Also, an optional PlayerName param allows temporarily changing other players&#039; spawn point.&lt;br /&gt;
*Feature: Several improvements to /info. Info now shows whether player&#039;s nick or IP was banned, and hides undefined information for players who haven&#039;t ever logged in.&lt;br /&gt;
*Fix: Fixed crash in ConfigTool if announcements were disabled.&lt;br /&gt;
*Fix: Fixed /banall not matching IPs properly, and not counting kicks towards PlayerInfo.&lt;br /&gt;
*Fix: Fixed ConfigUI not shutting down properly if Server.Init() or Server.Start() failed.&lt;br /&gt;
*Fix: Fixed Config.LoadLogOptions() always leaving Debug enabled.&lt;br /&gt;
*Fix: Added Process.GetCurrentProcess().Refresh() to ServerInfo to improve accuracy of /sinfo stat reporting.&lt;br /&gt;
*Fix: Improved /wsave and /wload path handling on non-Windows platforms.&lt;br /&gt;
*Fix: Replaced some potentially unsafe string concatenation in Player.Message() with proper formatting.&lt;br /&gt;
*Fix: Attempting a workaround for Mono memory leak in World.UnloadMap&lt;br /&gt;
*Fix: Fixed ranks from pre-0.480 configs being loaded in wrong order. Sorry!&lt;br /&gt;
*Change: Added a brief delay before reconnecting IRC bot after getting kicked from a channel. &lt;br /&gt;
*Change: PlayerDB is now saved every 60 seconds (instead of every 30).&lt;br /&gt;
*Change: Removed unused IRCBotQuitMsg config key, and added IRCRegisteredNick, IRCNickServ, and IRCNickServMessage keys.&lt;br /&gt;
*Change: Added a popup with crash information to ConfigTool.&lt;br /&gt;
*Change: Made announcements disabled by default.&lt;br /&gt;
&lt;br /&gt;
===0.483===&lt;br /&gt;
&#039;&#039;8 October 2010 - r242&#039;&#039;&lt;br /&gt;
*Feature: Myne/MyneCraft/Hyvebuild/iCraft maps can now be loaded from ConfigTool&#039;s &amp;quot;Add World&amp;quot; dialog.&lt;br /&gt;
*Fix: Fixed incorrect range checks for AnnouncementInterval and SaveInterval config keys (thanks to Shcaap for reporting).&lt;br /&gt;
*Fix: Fixed /hide showing a slightly different &amp;quot;player left&amp;quot; message compared to normal disconnect (thanks to Silverrock for reporting).&lt;br /&gt;
*Change: Added MC#-style &amp;quot;/z&amp;quot; alias for cuboid, by popular demand.&lt;br /&gt;
*Change: Hidden players can now receive PMs. The sender still gets the &amp;quot;No player found&amp;quot; message, but PMs are actually sent.&lt;br /&gt;
&lt;br /&gt;
===0.482===&lt;br /&gt;
&#039;&#039;7 October 2010 - r241&#039;&#039;&lt;br /&gt;
*Feature: Added new command aliases: &amp;quot;f&amp;quot; for &amp;quot;freeze&amp;quot;, and &amp;quot;pat&amp;quot; for &amp;quot;patrol&amp;quot;.&lt;br /&gt;
*Fix: Fixed typos in mute-related messages.&lt;br /&gt;
*Fix: Added missing triggers for OnPlayerListChanged event.&lt;br /&gt;
*Fix: Fixed /reloadconfig not changing several variables (like colors).&lt;br /&gt;
*Fix: Fixed antigrief defaulting to 35/5 (instead of unmetered).&lt;br /&gt;
*Fix: Fixed heartbeat counting hidden players.&lt;br /&gt;
*Fix: Fixed a rare ObjectDisposedException crash on shutdown when running fCraftUI.&lt;br /&gt;
*Change: Added a more informative disconnect message to players connecting with Alpha client.&lt;br /&gt;
*Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.&lt;br /&gt;
*Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.&lt;br /&gt;
&lt;br /&gt;
===0.481===&lt;br /&gt;
&#039;&#039;2 October 2010 - r237&#039;&#039;&lt;br /&gt;
*Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).&lt;br /&gt;
*Fixed a few more references to &amp;quot;player class&amp;quot; terminology instead of &amp;quot;rank&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.480===&lt;br /&gt;
&#039;&#039;2 October 2010 - r236&#039;&#039;&lt;br /&gt;
*Feature: Changed all &amp;quot;player classes&amp;quot; terminology to &amp;quot;ranks&amp;quot; for consistency with other servers. Several commands have been renamed to reflect that: /classes to /ranks, /user to /rank, /class to /rankinfo. All rank-related messages have also been updated.&lt;br /&gt;
*Feature: Added &amp;quot;Raise&amp;quot;/&amp;quot;Lower&amp;quot; buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a &amp;quot;rank&amp;quot; number to reorder ranks.&lt;br /&gt;
*Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.&lt;br /&gt;
*Fix: Improved fCraftUI responsiveness on-startup.&lt;br /&gt;
*Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.&lt;br /&gt;
*Fix: /wremove now always saves the map before unloading.&lt;br /&gt;
*Fix: Fixed Console being affected by chat spam/flood checks.&lt;br /&gt;
*Fix: Fixed /zinfo not showing any separators between player names.&lt;br /&gt;
*Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.&lt;br /&gt;
*Fix: Fixed Security and IRC tabs not being reset by &amp;quot;Reset All Defaults&amp;quot;&lt;br /&gt;
*Fix: Fixed bugged error messages in /tp and /bring when world access permission check fails.&lt;br /&gt;
*Fix: If any class limits were set to default/&amp;quot;(own class)&amp;quot;, the setting is now preserved.&lt;br /&gt;
*Fix: Fixed a bug that didn&#039;t reset Hide limit if it was set to a deleted rank.&lt;br /&gt;
*Change: Removed legacy zone loading code for pre-0.420 maps (due to changes in rank definition format).&lt;br /&gt;
*Change: Added a more informative disconnect message for players trying to connect with Minecraft Alpha clients.&lt;br /&gt;
*Change: Improved rank-based coloring in world list to check both access and build permissions.&lt;br /&gt;
*Change: Added &amp;quot;/fetch&amp;quot; as alias for /bring, and renamed &amp;quot;/save&amp;quot; to &amp;quot;/wsave&amp;quot;.&lt;br /&gt;
*Change: Deleted some obsolete/disabled controls from ConfigTool, removed PingInterval config key, and removed placeholder ControlPhysics and AddLandmarks permissions.&lt;br /&gt;
*Change: Made several changes to improve disconnect detection:&lt;br /&gt;
**Added occasional pings (every 5 seconds or so, depending on activity/inactivity).&lt;br /&gt;
**Reduced socket send/receive timeout from 12 to 10 seconds.&lt;br /&gt;
**Increased socket polling interval to improve performance.&lt;br /&gt;
*Change: If a player tries to connect to a server twice, the FIRST connection is dropped instead of the LAST connection.&lt;br /&gt;
*Refactor: Major changes were made to the way ranks are stored, and to RankList (formerly ClassList) API.&lt;br /&gt;
*Optimization: Made IsoCat rendering faster, and made draw commands use less CPU.&lt;br /&gt;
&lt;br /&gt;
===0.475===&lt;br /&gt;
&#039;&#039;17 September 2010 - r229&#039;&#039;&lt;br /&gt;
*Feature: /ztest now distinguishes between being allowed/denied by rank/class vs by whitelist/blacklist.&lt;br /&gt;
*Fix: Fixed being unable to change rank/class restrictions with /zedit&lt;br /&gt;
*Fix: Fixed a bug that reported wrong average CPU usage&lt;br /&gt;
*Fix: Fixed a crash on saving in ConfigTool, related to new PatrolledClass config key.&lt;br /&gt;
&lt;br /&gt;
===0.474===&lt;br /&gt;
&#039;&#039;16 September 2010 - r228&#039;&#039;&lt;br /&gt;
*Feature: &amp;quot;/mute&amp;quot; command to temporarily stop players from chatting. A new class permission (Mute) is added, granted to op+ by default.&lt;br /&gt;
*Feature: &amp;quot;/shutdown&amp;quot; command to gracefully shutdown the server remotely. A new class permission (ShutdownServer) is added, granted to owner by default.&lt;br /&gt;
*Feature: Added CPU usage information and loaded world count to /sinfo.&lt;br /&gt;
*Fix: Added a way to edit &amp;quot;PatrolledClass&amp;quot; from ConfigTool.&lt;br /&gt;
*Fix: Fixed zone whitelist/blacklist not updated correctly when edited.&lt;br /&gt;
*Fix: Made teleporting to spawn (with /spawn or /tp, no parameters) accessible to all classes.&lt;br /&gt;
*Fix: Adjusted for Notch&#039;s errors in handling player positions in teleport packets. Slightly improves accuracy of /tp, /bring, initial spawning, /patrol, frozen players, and speedhack detection.&lt;br /&gt;
*Fix: Removed &amp;quot;/tp&amp;quot; bounds check when used with typed-in coordinates numbers.&lt;br /&gt;
*Fix: Fixed an extremely unlikely case of PlayerDB/IPBanList overwriting on shutdown if server initialization failed.&lt;br /&gt;
*Fix: Made &amp;quot;server shutting down&amp;quot; packets deliver more reliably (but still not guaranteed).&lt;br /&gt;
*Fix: Fixed Console possibly not seeing hidden players.&lt;br /&gt;
*Change: Added a basic file check to AutoLauncher&lt;br /&gt;
*Change: Added error logging and crash reporting to Server.Shutdown&lt;br /&gt;
*API: Renamed Server.ShutdownStart to Server.ShutdownBegin (for consistency).&lt;br /&gt;
&lt;br /&gt;
===0.473===&lt;br /&gt;
&#039;&#039;15 September 2010 - r227&#039;&#039;&lt;br /&gt;
*Feature: Added zone coordinates to /zinfo&lt;br /&gt;
*Fix: Fixed cross-world /tp teleporting the wrong player.&lt;br /&gt;
*Fix: Fixed odd date formatting in /zinfo&lt;br /&gt;
&lt;br /&gt;
===0.472===&lt;br /&gt;
&#039;&#039;15 September 2010 - r226&#039;&#039;&lt;br /&gt;
*Feature: Added /cut command&lt;br /&gt;
*Feature: Added a new /patrol command. It allows cycling through low-ranked players on a map (with teleportation). The order is determined by how long it&#039;s been since someone checked on a player. A &amp;quot;Patrol&amp;quot; permission and &amp;quot;PatrolledClass&amp;quot; config key were added.&lt;br /&gt;
*Feature: Added a shorthand notation to /zone for making personal zones: &amp;quot;/zone +PlayerName&amp;quot; creates a zone named after the player, with rank limit just above player&#039;s, and with player whitelisted.&lt;br /&gt;
*Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.&lt;br /&gt;
*Fix: Fixed server always binding to IPAddress.Any regardless of config settings.&lt;br /&gt;
*Fix: TP/Bring no longer allow teleporting to hidden players on other worlds.&lt;br /&gt;
*Fix: Server.GetPlayerList(string) now stops searching the list when it finds an exact match.&lt;br /&gt;
*Fix: Fixed client-crash in /zedit when changing class.&lt;br /&gt;
*Fix: Fixed possible corruption of edited zones upon map saving.&lt;br /&gt;
*Fix: Fixed a range of improbable synchronization issues in the way Zone whitelist/blacklist is updated. As a fortunate side-effect, significantly reduced Zone.CanBuild() overhead.&lt;br /&gt;
*Fix: Temporarily added mainThread.Abort() to Server.Shutdown() that&#039;s kicked in if mainThread does not stop within 5s of being notified of shutdown. I am investigating the real cause of the hang.&lt;br /&gt;
*Fix: Fixed hidden players being revealed by promotion/demotion.&lt;br /&gt;
*Change: Added less threatening error messages to IRC bot on network errors (SocketException and IOException).&lt;br /&gt;
*Change: Disabled movement handling code while changing maps.&lt;br /&gt;
*Refactor: Merged StandardCommands and ImportCommands into AdminCommands&lt;br /&gt;
&lt;br /&gt;
===0.471===&lt;br /&gt;
&#039;&#039;14 September 2010 - r224&#039;&#039;&lt;br /&gt;
*Feature: Added ability to specify the server&#039;s IP (to bind to) manually, for machines with multiple NICs. A new config key &amp;quot;IP&amp;quot; (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.&lt;br /&gt;
*Fix: Fixed a bug with player ghosts being left behind when switching worlds.&lt;br /&gt;
*Fix: Fixed a case with kicked players&#039; connections not being terminated at once (thanks to wootalyzer).&lt;br /&gt;
*Fix: Fixed several bugs in hide/unhide functionality.&lt;br /&gt;
*Fix: Fixed a rare crash in AddWorldPopup related to missing maps for existing worlds.&lt;br /&gt;
*Fix: AddWorldPopup will no longer allow adding a world with a duplicate name.&lt;br /&gt;
*Fix: Capped maximum players at the newly-discovered protocol limit of 128 (thanks to wootalyzer).&lt;br /&gt;
*Change: ConfigTool fields now provide better feedback if validation fails.&lt;br /&gt;
*Change: Changed heartbeat interval to 40 seconds (down from 50).&lt;br /&gt;
*Change: Added a special error handler for rare/impossible case of mainWorld not being joinable.&lt;br /&gt;
*Change: Made fatal error messages in fCraftConsole print in red. Better color support coming soon.&lt;br /&gt;
&lt;br /&gt;
===0.470===&lt;br /&gt;
&#039;&#039;13 September 2010 - r223&#039;&#039;&lt;br /&gt;
*Feature: Personal zones - per-zone whitelist and blacklist of individual players. The lists can now be defined with /zadd and edited with /zedit.&lt;br /&gt;
*Feature: Added cave/ore generator from Omen (BETA).&lt;br /&gt;
*Feature: Added &amp;quot;/maps&amp;quot; and &amp;quot;/levels&amp;quot; as aliases for &amp;quot;/worlds&amp;quot;.&lt;br /&gt;
*Feature: Added a way to limit the &amp;quot;Hide&amp;quot; permission per-class. Now you can specify whom can a class hide from.&lt;br /&gt;
*Feature: Zones now remember date/time of creation and last edit, and names of original creator and last editor.&lt;br /&gt;
*Fix: Unauthorized players can no longer PM or use bring/freeze/unfreeze/kick/tp/where on hidden players. They get the standard &amp;quot;player not found&amp;quot; message.&lt;br /&gt;
*Fix: Fixed hidden players being counter towards /players total.&lt;br /&gt;
*Fix: Fixed a potential crash in /wflush when using on unloaded maps.&lt;br /&gt;
*Fix: Doing /banip or /banall on unrecognized players no longer ip-bans 255.255.255.255. Old IPBanList entries relating to 255.255.255.255 will be automatically discarded.&lt;br /&gt;
*Fix: Fixed /replace command uses not being logged.&lt;br /&gt;
*Fix: Fixed /worlds command not showing world count.&lt;br /&gt;
*Fix: Fixed a client-disconnect when trying to unban a player who is not in the database.&lt;br /&gt;
*Fix: Fixed &amp;quot;/join PlayerName&amp;quot; not translating to &amp;quot;/tp PlayerName&amp;quot; correctly.&lt;br /&gt;
*Fix: Fixed a very unlikely client-disconnect in ChangeClass if the entered class name contains curved braces.&lt;br /&gt;
*Change: Changed default name for &amp;quot;/flip&amp;quot; command to &amp;quot;/mirror&amp;quot;, and fixed command&#039;s help. Either term still works.&lt;br /&gt;
*Change: Added more block name aliases:&lt;br /&gt;
**Air: delete, erase&lt;br /&gt;
**Stone: cement, concrete&lt;br /&gt;
**Grass: gras (common typo)&lt;br /&gt;
**Obsidian: onyx&lt;br /&gt;
*Change: Improved formatting of /players, /worlds, and draw command messages.&lt;br /&gt;
&lt;br /&gt;
===0.463===&lt;br /&gt;
&#039;&#039;9 September 2010 - r218&#039;&#039;&lt;br /&gt;
*Fix: Fixed special colors showing up even if ClassColorsInChat is disabled.&lt;br /&gt;
*Fix: Fixed potential client-crash in World.SendToAll(), and related client-crash in lock/unlock.&lt;br /&gt;
&lt;br /&gt;
===0.462===&lt;br /&gt;
&#039;&#039;8 September 2010 - r217&#039;&#039;&lt;br /&gt;
*Fix: The &amp;quot;OK&amp;quot; button in AddWorldPopup no longer stays grayed out.&lt;br /&gt;
*Fix: Fixed &amp;quot;Error occured while loading&amp;quot; in the file information dialog for non-FCM files.&lt;br /&gt;
*Fix: Fixed a crash in /bring when used without any parameters.&lt;br /&gt;
*Fix: Fixed Server.UrlEncode not escaping 0x00-0x0F characters properly.&lt;br /&gt;
*Change: Slightly reduced default tree density in MapGenerator.&lt;br /&gt;
&lt;br /&gt;
===0.461===&lt;br /&gt;
&#039;&#039;8 September 2010 - r216&#039;&#039;&lt;br /&gt;
*Feature: New EXPERIMENTAL &amp;quot;/reloadconfig&amp;quot; command, and associated ReloadConfig permission. Use with caution!&lt;br /&gt;
*Fix: Fixed a case where AddWorldPopup would allow clicking &amp;quot;OK&amp;quot; with a null map.&lt;br /&gt;
*Fix: Fixed player crash if /freeze or /unfreeze is used without arguments.&lt;br /&gt;
*Fix: Fixed player crash on FormatException in /zones and Server.ShowPlayerConnectedMessage.&lt;br /&gt;
*Fix: Fixed potential player crash if LimitOneConnectionPerIP is enabled.&lt;br /&gt;
&lt;br /&gt;
===0.460===&lt;br /&gt;
&#039;&#039;8 September 2010 - r214&#039;&#039;&lt;br /&gt;
*Feature: Added ShowPlayerConnectedMessage and ClassColorsInWorldNames settings to config.&lt;br /&gt;
*Feature: Added /measure command.&lt;br /&gt;
*Feature: Class colors and prefixes are now applied consistently EVERYWHERE.&lt;br /&gt;
*Feature: Banned players now see their ban reason/memo when they get kicked.&lt;br /&gt;
*Feature: A special error message is shown to players trying to connect with Alpha/SMP client.&lt;br /&gt;
*Feature: IsoCat (ConfigTool isometric preview) rendering quality improved: better shadows and slight altitude-based gradient.&lt;br /&gt;
*Feature: Added new blocktype name aliases: &amp;quot;solid&amp;quot;, &amp;quot;golden&amp;quot;, &amp;quot;halfstep&amp;quot;, &amp;quot;halfblock&amp;quot;, &amp;quot;steps&amp;quot;.&lt;br /&gt;
*Feature: Added player count for each class in /classes&lt;br /&gt;
*Fix: Fixed wrong &amp;quot;MaxBackupsSize&amp;quot; range in ConfigTool.&lt;br /&gt;
*Fix: MaxBackupsSize setting is now applied correctly.&lt;br /&gt;
*Fix: IRC color codes are now stripped from forwarded messages.&lt;br /&gt;
*Fix: IRC bot now uses ServerName for &amp;quot;real name&amp;quot;.&lt;br /&gt;
*Fix: Formatting improved in many error messages.&lt;br /&gt;
*Fix: Commas in ban/unban/promote/demote reasons no longer cause problems with PlayerDB.&lt;br /&gt;
*Fix: Removed extra comma from /worlds list that showed in place of hidden/inaccessible worlds.&lt;br /&gt;
*Change: Added 5-second delay between retries in AutoLauncher&lt;br /&gt;
*Change: &amp;quot;Player connected&amp;quot; message condensed to a single line by absorbing &amp;quot;joined world&amp;quot; message.&lt;br /&gt;
*Change: Removed ChangeName permission (and the ability to change names) due to possibility of abuse and confusion. Related /nick and /whois commands were also removed.&lt;br /&gt;
*Change: /tp can now fall back to behave like /join if player name is not found (for all those times when you mistype /tp instead of /join). Conversely, /join falls back to /tp if player was not found.&lt;br /&gt;
*Optimization: Reduced bandwidth use with an adaptive movement packet skipping algorithm. Should reduced outbound traffic by at least 15%.&lt;br /&gt;
*Optimization: BlockUpdate memory usage slightly reduced.&lt;br /&gt;
&lt;br /&gt;
===0.455===&lt;br /&gt;
&#039;&#039;8 September 2010 - r213&#039;&#039;&lt;br /&gt;
*Feature: AutoLauncher (BETA) allows restarting the fCraftConsole server if it crashed. Although it honestly shouldn&#039;t crash at all!&lt;br /&gt;
*Fix: Allowed renaming worlds in cases where only capitalization is different.&lt;br /&gt;
*Fix: If an ip-banned player has more than one connection, all connections are now terminated.&lt;br /&gt;
*Fix: Fixed nonrectangular MCSharp maps getting messed up by the loader.&lt;br /&gt;
*Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.&lt;br /&gt;
*Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of &amp;quot;no player found&amp;quot; message). Affects PMs, {{cmd|TP}}, {{cmd|Bring}}, {{cmd|Freeze}}, {{cmd|Unfreeze}}, {{cmd|Kick}}.&lt;br /&gt;
*Change: Improved OS detection in crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.454===&lt;br /&gt;
*Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.&lt;br /&gt;
*Fix: Replace no longer behaves same as replacenot.&lt;br /&gt;
*Fix: Spaces in IRC messages are now preserved.&lt;br /&gt;
*Fix: Help entries for paste/pastenot corrected.&lt;br /&gt;
*Fix: /cinfo (without parameters) now shows player&#039;s own class info.&lt;br /&gt;
&lt;br /&gt;
===0.453===&lt;br /&gt;
*Feature: It is now possible to reverse last /undo (by typing /undo again).&lt;br /&gt;
*Change: IRC message colors are applied slightly differently now.&lt;br /&gt;
*Change: Added more automated crash reporting hooks - to MainLoop and Tasks.&lt;br /&gt;
*Change: More help messages improved.&lt;br /&gt;
*Change: Added a more informative message for people running outdated versions of Mono and .Net runtime.&lt;br /&gt;
*Optimization: Slightly reduced memory usage of /undo, /paste, and PlayerDB.Load()&lt;br /&gt;
&lt;br /&gt;
===0.452===&lt;br /&gt;
*Feature: New /replacenot command allows replacing all blocks EXCEPT the specified one.&lt;br /&gt;
*Feature: New /flip and /rotate commands to manipulate copied blocks.&lt;br /&gt;
*Feature: /players list is now in alphabetical order.&lt;br /&gt;
*Fix: Trying to specify an unrecognized block type for draw commands (e.g. &amp;quot;/c ai&amp;quot; instead of &amp;quot;/c air&amp;quot;) now shows a proper error message.&lt;br /&gt;
*Fix: Fixed /gen command crashing players if coordinates are typed in before theme/template.&lt;br /&gt;
*Fix: Fixed /e ellipsoids coming out crooked.&lt;br /&gt;
*Fix: &amp;quot;joined for the first time&amp;quot; messages are now shown correctly.&lt;br /&gt;
*Fix: Fixed /replace not working correctly with /undo&lt;br /&gt;
*Fix: Made IRC bot strip nonprintable characters from messages, and ignore empty messages.&lt;br /&gt;
*Fix: World permissions are no longer reset when doing /wload. Also a permission reminder is now shown when creating new worlds.&lt;br /&gt;
*Change: Improved some help messages.&lt;br /&gt;
*Change: Improved IRC error reporting.&lt;br /&gt;
*Change: Added world name back to &amp;quot;Almost there...&amp;quot; join screen.&lt;br /&gt;
*Change: /pasteonly is now called /paste, and /paste is now called /pastenot (for consistency with other custom servers)&lt;br /&gt;
*Optimization: Slightly reduced memory usage of massive drawing commands (over undo limit).&lt;br /&gt;
&lt;br /&gt;
===0.451===&lt;br /&gt;
*Feature: Improved the way fCraft handles fatal errors (crashes). Crash logs are now created more reliably.&lt;br /&gt;
*Feature: Added automated crash reporting to fragmer.net (opt-out).&lt;br /&gt;
*Feature: Added an announcement for players logging in from IPs associated with other previously-banned players.&lt;br /&gt;
*Fix: Curved braces - &amp;quot;{}&amp;quot; - in server name no longer cause problems.&lt;br /&gt;
*Fix: &amp;quot;Leaving the map&amp;quot; kick disabled temporarily, will be made configurable per-class soon.&lt;br /&gt;
*Fix: banall/unbanall commands produce less chat spam.&lt;br /&gt;
*Fix: AFK kicks no longer count towards /info number-of-times-kicked.&lt;br /&gt;
*Change: Added class colors to /info, and fixed formatting bug.&lt;br /&gt;
*Change: Cleaned up &amp;quot;Advanced&amp;quot; tab in ConfigTool.&lt;br /&gt;
**Removed obsolete config keys: PolicyColorCodesInChat, PolicyIllegalCharacters, and RunOnStartup&lt;br /&gt;
**Added SubmitCrashReports and IRCDelay config keys.&lt;br /&gt;
&lt;br /&gt;
===0.450===&lt;br /&gt;
&#039;&#039;26 August 2010&#039;&#039;&lt;br /&gt;
*Feature: IRC bot rewritten for better performance, flexibility, and safety.&lt;br /&gt;
*Feature: New IRC options: IRCBotAnnounceIRCJoins and IRCBotAnnounceServerJoins.&lt;br /&gt;
*Fix: Fixed messages containing only a single slash (&#039;/&#039;) crashing client thread.&lt;br /&gt;
*Change: Removed obsolete IRCBotMsgs config key.&lt;br /&gt;
*Change: Added OnPlayerSentMessage event to Server.&lt;br /&gt;
*Change: IRC bot&#039;s commands (e.g. !status) are temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
===0.445===&lt;br /&gt;
&#039;&#039;25 August 2010&#039;&#039;&lt;br /&gt;
*IMPORTANT! Please update ASAP, a security issue was identified in previous version.&lt;br /&gt;
*Fix: If you need to start message with a slash, you can now escape the slash (type &amp;quot;//&amp;quot;)&lt;br /&gt;
*Fix: Fixed endless update loop (if automatic updates were enabled)&lt;br /&gt;
*Fix: Private messages with a space between &#039;@&#039; and the player name now work.&lt;br /&gt;
*Fix: Hacking-related kicks are not announced globally.&lt;br /&gt;
*Fix: Fixed &amp;quot;/help&amp;quot; giving wrong message if help entry was not found.&lt;br /&gt;
*Change: Minor changes in MapGenerator/Noise&lt;br /&gt;
&lt;br /&gt;
===0.444===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*Feature: New stat command, /sinfo (server info).&lt;br /&gt;
*Fix: Ban reason/memo now shown for normal bans.&lt;br /&gt;
*Fix: /cinfo for unlimited classes no longer shows &amp;quot;draw limit: 0&amp;quot;&lt;br /&gt;
*Fix: Fixed IRC message colors, and removed IRC color codes from log.&lt;br /&gt;
&lt;br /&gt;
===0.443===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New {{cmd|WFlush}} command. It allows finishing all in-progress draw commands at maximum speed (over 100k blocks/second) then forces a map rejoin.&lt;br /&gt;
*Feature: Added more customization options for colors: PrivateMessageColor and IRCMessageColor in Config.&lt;br /&gt;
*Feature: {{cmd|Players}} list is now sorted alphabetically.&lt;br /&gt;
*Feature: Added &amp;quot;Check Port&amp;quot; button to ConfigTool to see if port is open. Uses www.utorrent.com/testport&lt;br /&gt;
*Feature: Added &amp;quot;Play&amp;quot; button to fCraftUI to open server URL in the browser&lt;br /&gt;
*Feature: World names in {{cmd|Worlds}} list are now colored according to each world&#039;s build permission. &lt;br /&gt;
*Feature: Added speedhack detection &amp;amp; prevention (BETA) and corresponding Permission.UseSpeedHack. All your classes will be granted this permission by default. Edit the config to customize it.&lt;br /&gt;
*Fix: When using {{cmd|Mark}} outside of map boundaries, draw limits are no longer calculated incorrectly (thanks to Darnest).&lt;br /&gt;
*Fix: Fixed possible crash in Map.CheckZones() on maps created with {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed compilation issue with &amp;quot;tileset.png&amp;quot; on case-sensitive filesystems.&lt;br /&gt;
*Fix: Fixed class-wide messages not wrapping correctly.&lt;br /&gt;
*Optimization: antigrief and antispam checking overhead reduced.&lt;br /&gt;
&lt;br /&gt;
===0.442===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Fix: Addresses a security issue.&lt;br /&gt;
*Fix: &amp;quot;OK&amp;quot; button in AddWorldPopup is now always disabled if no map is set.&lt;br /&gt;
*Fix: &amp;quot;Feature size&amp;quot; label is now updater correctly when map dimensions are changed.&lt;br /&gt;
*Fix: Added missing player notifications for {{cmd|Undo}} and {{cmd|Cancel}} commands.&lt;br /&gt;
*Change: MapGenerator&#039;s default map size changed to 128x128x80&lt;br /&gt;
&lt;br /&gt;
===0.441===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added cuboid limits to /cinfo&lt;br /&gt;
*Fix: Fixed a bug in BoundingBox that made /paste and zones behave incorrectly&lt;br /&gt;
*Fix: Fixed ban/unban commands not kicking the player if entered name capitalization did not match actual capitalization&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; being broken when using {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed {{cmd|Ban}} rank checks affecting {{cmd|Unban}}&lt;br /&gt;
*Change: Optimized zone permission checks&lt;br /&gt;
&lt;br /&gt;
===0.440===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New MapGenerator with tons of options. You can also save/load custom templates for it.&lt;br /&gt;
*FEATURE: AddWorldPopup interface overhaul.&lt;br /&gt;
*FEATURE: JTE, D3, and Myne/Mynecraft/Hyvebuild/iCraft map format converters added.&lt;br /&gt;
*Feature: Improved syntax of the {{cmd|Gen}} command. See &amp;quot;{{cmd|Help|gen}}&amp;quot; for details.&lt;br /&gt;
*Feature: Reason/memo is now shown publicly when someone gets banned, unbanned, or kicked.&lt;br /&gt;
*Feature: Teleport and Bring work across worlds - world permissions still apply.&lt;br /&gt;
*Feature: Added 4 new Config keys: RequireBanReason, RequireClassChangeReason, AnnounceKickAndBanReasons, AnnounceClassChanges. By default &amp;quot;AnnounceKickAndBanReasons&amp;quot; and &amp;quot;AnnounceClassChanges&amp;quot; are enabled.&lt;br /&gt;
*Feature: Added 5 new fields to PlayerDB: previousClass, classChangeReason, timesKicked, timesKickedOthers, timesBannedOthers.&lt;br /&gt;
*Feature: Added a lot of new information to {{cmd|Info}}.&lt;br /&gt;
*Feature: You can now save map preview images (isometric) from AddWorldPopup.&lt;br /&gt;
*Feature: ConfigTool now shows warnings about any errors logged during Config.Load&lt;br /&gt;
*Fix: Yet another workaround for VerifyNames false negatives (thanks to SpaceManiac).&lt;br /&gt;
*Fix: Fixed being able to paste admincrete/water/lava without permission (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Trying to go over class draw limit no longer causes &amp;quot;Another drawing command is in progress&amp;quot; error.&lt;br /&gt;
*Fix: Mcc.MapUtility.TryLoading() and Map.LoadHeaderOnly() now release file handles as soon as possible. This should fix some &amp;quot;file is being used by another process&amp;quot; errors.&lt;br /&gt;
*Fix: Map spawn should be parsed correctly for MCSharp/MCZall maps&lt;br /&gt;
*Fix: If a map doesn&#039;t start with a gzip header, it no longer has a chance to abort the whole load process.&lt;br /&gt;
*Fix: Fixed blocktype names being case-sensitive.&lt;br /&gt;
*Fix: Added a more informative message when idle players are kicked.&lt;br /&gt;
*Fix: Fixed undo buffer not getting cleared when doing paste/pasteonly&lt;br /&gt;
*Fix: Fixed {{cmd|WAccess}} exception kicking players.&lt;br /&gt;
*Fix: 100% Empty maps no longer crash AddWorldPopup with OutOfMemoryException&lt;br /&gt;
*Fix: Fixed &amp;quot;player is already banned&amp;quot; message when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed no public message appearing when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed cuboid/ellipsoid/cuboidh logging blocktype code instead of blocktype name.&lt;br /&gt;
*Fix: Improved the message that&#039;s shown when idle players are kicked.&lt;br /&gt;
*Fix: Documented ability to {{cmd|TP}} to specific coordinates.&lt;br /&gt;
*Fix: AddWorldPopup no longer crashes if user closes &amp;quot;Load Map&amp;quot; dialog before selecting any file.&lt;br /&gt;
*Fix: When drawing affects (in part or in full) a restricted zone, the zone is left untouched, and the rest of draw command finishes (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Fixed crash in AddWorldPopup.AsyncLoad() if map loading failed.&lt;br /&gt;
*Fix: LegacyRankMapping is now parsed correctly&lt;br /&gt;
*Fix: Renaming a class no longer causes &amp;quot;Worlds&amp;quot; tab dropdown menus to go out-of-sync.&lt;br /&gt;
*Change: AddWorldPopup preview image quality improved.&lt;br /&gt;
*Change: Updated to newest version of NBTag library.&lt;br /&gt;
*Change: Frozen players can no longer build/delete.&lt;br /&gt;
*Change: Removed public {{cmd|Undo}} message, added log message instead.&lt;br /&gt;
*Change: Removed AnnounceUnverifiedNames settings.&lt;br /&gt;
*Change: When building/deleting permission is denied, the exact reason is given (instead of a vague &amp;quot;you cannot do that&amp;quot; message) (part of Player.CanPlace overhaul).&lt;br /&gt;
&lt;br /&gt;
===0.435===&lt;br /&gt;
&#039;&#039;12 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Copy}}, {{cmd|Paste}}, and {{cmd|PasteOnly}} commands. Rotation coming soon.&lt;br /&gt;
*Feature: Added {{perm|CopyAndPaste}} permission, granted to op and owner by default.&lt;br /&gt;
*Feature: Added MapGenType.Cliffs - similar to Mountains type, but with cliffs!&lt;br /&gt;
*Fix: Fixed {{cmd|Paint}} command&lt;br /&gt;
*Fix: Fixed {{cmd|BanInfo}} now showing any information if used without parameters.&lt;br /&gt;
*Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.&lt;br /&gt;
&lt;br /&gt;
===0.434===&lt;br /&gt;
&#039;&#039;11 August 2010&#039;&#039;&lt;br /&gt;
*Feature: new {{cmd|Bind}} command allows mapping any block to any other. Now you can place those unbuildable blocks (water, lava, grass, double-step) in any way you wish. For compatibility, old commands ({{cmd|Water}}, {{cmd|Solid}}, {{cmd|Lava}}, {{cmd|Grass}}) have been preserved.&lt;br /&gt;
*Change: &amp;quot;step&amp;quot; added as an alias for Stair block. &amp;quot;doublestep&amp;quot; added as an alias for DoubleStair.&lt;br /&gt;
&lt;br /&gt;
===0.433===&lt;br /&gt;
&#039;&#039;8 August 2010&#039;&#039;&lt;br /&gt;
*Feature: {{cmd|WInfo}} now shows who locked/unlocked the map, and how long ago.&lt;br /&gt;
*Fix: Fixed a error message that showed up when announcements.txt was blank.&lt;br /&gt;
*Fix: Permission check added back to lock/unlock commands.&lt;br /&gt;
*Fix: &amp;quot;mapinfo&amp;quot; added back as alias for {{cmd|WInfo}}&lt;br /&gt;
*Fix: Fixed locked maps not getting unloaded when all players left&lt;br /&gt;
&lt;br /&gt;
===0.432===&lt;br /&gt;
*Fix: List of worlds printed by /worlds is now sorted alphabetically.&lt;br /&gt;
*Fix: Fixed an obscure half-disconnect bug that left players with id=0 who happened to be on the main world in a semi-disconnected state IF someone else was kicked halfway through the login process before it was assigned an id.&lt;br /&gt;
&lt;br /&gt;
===0.431===&lt;br /&gt;
*Fix: Fixed still messed-up /worlds command.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.430===&lt;br /&gt;
*Fix: Fixed messed-up /worlds command. Sorry about that.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.429===&lt;br /&gt;
*Feature: Command-handler infrastructure has been redesigned. This will allow much more flexibility for devs and plugin makers later.&lt;br /&gt;
*Feature: &amp;quot;/help commands&amp;quot; now only shows available commands by default. Type &amp;quot;/help commands all&amp;quot; to see all commands.&lt;br /&gt;
*Feature: /worlds command now only available worlds by default. Type &amp;quot;/worlds all&amp;quot; to include worlds inaccessible to you.&lt;br /&gt;
*Feature: Help entries added for /zedit, /mark, /version, /rules, and /say.&lt;br /&gt;
*Feature: ConfigTool World tab columns are now sortable.&lt;br /&gt;
*Fix: Fixed &amp;quot;max backups&amp;quot; in ConfigTool being limited to 100. Now it&#039;s at a more reasonable limit of 100000.&lt;br /&gt;
*Fix: Fixed Map.Backup() deleting the newest (instead of the oldest) backup if the total number of files was limited.&lt;br /&gt;
*Fix: Fixed an ERROR that popped up if a player got disconnected during the login process (while player=null).&lt;br /&gt;
*Fix: FormatException crash fixed that caused whole server to go down instead of a player thread.&lt;br /&gt;
*Fix: Several draw-related bugs and crashes fixed.&lt;br /&gt;
*Fix: Fixed crash in /winfo when used on unloaded worlds.&lt;br /&gt;
*Fix: Fixed a bug in Config that caused antigrief to be re-enabled every load.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool that didn&#039;t update AntiGriefSeconds properly when changing between classes.&lt;br /&gt;
*Change: Many /help entries have been improved.&lt;br /&gt;
*Change: Split /class command into two: /classes (aka /ranks) shows a list of classes, and /class (aka /cinfo or /classinfo) shows permission list (missed from last release notes).&lt;br /&gt;
*Change: Added /spawn as an alias for /tp (missed from last release notes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.428===&lt;br /&gt;
*Feature: Line wrapping. Yes, finally.&lt;br /&gt;
*Feature: Per-class draw limits. Defaults are: owner unlimited, op unlimited, regular 4096 (16x16x16), guest 512 (8*8*8)&lt;br /&gt;
*Feature: Per-class antigrief detection. Defaults are: owner unmetered, op umetered, regular 45/6 (7.5 blocks/second), guest 35/5 (7 blocks/second)&lt;br /&gt;
*Feature: Memory usage of draw commands has been reduced by 6 bytes per block (37% improvement).&lt;br /&gt;
*Fix: Extra color codes fixed in /players command.&lt;br /&gt;
*Fix: Fixed a bug with /undo that caused more than one command to be undone at once.&lt;br /&gt;
*Fix: Fixed maps generated with &amp;quot;Realistic terrain&amp;quot; (MapGenerator) having an empty layer at the bottom of the map.&lt;br /&gt;
*Change: Default classes have been tweaked:&lt;br /&gt;
**regular can now use draw commands&lt;br /&gt;
**op can now lock/unlock&lt;br /&gt;
*Change: Improved arrangement of Permission list items.&lt;br /&gt;
*Change: Removed obsolete ConfigKey variables AntigriefBlockCount and AntigriefBlockInterval&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.427===&lt;br /&gt;
*Feature: Added /zedit command for changing zone permissions after creation&lt;br /&gt;
*Feature: New aliases for drawing commands: /c /e /h /r /m&lt;br /&gt;
*Fix: Fix for cuboid command kicking players with &amp;quot;Block.Undefined&amp;quot; if called with no optional BlockType parameter&lt;br /&gt;
*Fix: Fixed zone definitions getting corrupted.&lt;br /&gt;
*Fix: Allowed /save command to be used from console and from remote worlds. Previously you had to join the world to save it.&lt;br /&gt;
*Fix: Fixed potential crash in /winfo when looking up unloaded worlds.&lt;br /&gt;
*Fix: Fixed /zone allowing duplicate names, then kicking the client.&lt;br /&gt;
*Fix: Fixed /ztest showing the standard &amp;quot;you are not allowed to build in this zone&amp;quot; message instead of the expected zone list.&lt;br /&gt;
*Fix: Fixed incorrect description of draw log messages, and backup error messages&lt;br /&gt;
*Fix: Fixed false triggering of &amp;quot;Player asked to be released from its world, but the world did not contain the player&amp;quot; error&lt;br /&gt;
*Change: Fruitified fragmer&#039;s name &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.426===&lt;br /&gt;
*Feature: Announcements! You can define a list of announcements to show periodically. A random line from announcements.txt will be shown to all players at specified interval (in minutes).&lt;br /&gt;
*Feature: /replace command.&lt;br /&gt;
*Feature: /undo command has been improved for more flexibility and better performance.&lt;br /&gt;
*Feature: /winfo (alias: /mapinfo) is added for displaying world name, player count, map dimensions, and access/build permissions.&lt;br /&gt;
*Fix: Fixed a bug that caused duplicate entries to be added to PlayerDB when doing /importranks or /importbans.&lt;br /&gt;
*Change: New ConfigKeys: AnnouncementColor (default: green) and AnnouncementInterval (default: 5 minutes).&lt;br /&gt;
*Change: Draw command stride increased to 16x16x16, for better theoretical performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.425===&lt;br /&gt;
*Feature: Added hollow draw command (/cubh) and aliases (/cuboidh and /bhb)&lt;br /&gt;
*Feature: /players now shows class colors and a total number of players. Breakdown of /players by world is coming soon&lt;br /&gt;
*Feature: Added &amp;quot;Joined world WorldName&amp;quot; message that shows when changing worlds&lt;br /&gt;
*Fix: Improved several /help entries&lt;br /&gt;
*Fix: Fixed a bug in Map.SaveBackup() that could cause a crash if MaxBackups was set&lt;br /&gt;
*Fix: Fixed a bug in ConfigUI where &amp;quot;Delete World&amp;quot; button could leave the map file behind and/or cause an error&lt;br /&gt;
*Fix: Calling lock/unlock from console without a WorldName now shows a nicer error message&lt;br /&gt;
*Change: Improved safety checks of /join command&lt;br /&gt;
*Change: Added a catch-all exception handler into Server.MainLoop&lt;br /&gt;
*Change: Added exception handlers for EVERY single piece of code that requires file access&lt;br /&gt;
*Change: Added more thread safety in MapCommands.WorldRename that resolves a potential race condition with Map.Save&lt;br /&gt;
*Change: Modified IPBanList to use the standard temp folder (instead of fCraft working path) for its temp files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.424===&lt;br /&gt;
*Fix: Fixed /unhide and normal connection getting different messages&lt;br /&gt;
*Fix: Fixed client crash when viewing /rules if the rule file has blank lines&lt;br /&gt;
*Fix: Worlds with capital letters in the name are joinable again&lt;br /&gt;
*Fix: Potential crash in DoClassChange() if target player is already same rank AND is not currently on the server&lt;br /&gt;
*Change: Moved the command list to /help commands&lt;br /&gt;
*Change: Performance and thread-safety improvements to PlayerDB&lt;br /&gt;
*Change: Disabled some more debugging code to avoid taking up unnecessary resources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.423===&lt;br /&gt;
*Feature: /importbans now also supports &amp;quot;banned-ip.txt&amp;quot;&lt;br /&gt;
*Feature: Logs are now stored in /logs/ folder. Your fCraft.log file will be moved there automatically and renamed to &amp;quot;_OldLog.log&amp;quot;&lt;br /&gt;
*Feature: Log splitting now works by day or by session. Set &amp;quot;LogMode&amp;quot; key in config.xml or see Logging tab in ConfigTool.&lt;br /&gt;
*Feature: All maps are now stored in /maps/ folder. Your map files will be moved automatically first time you start ConfigTool/fCraftConsole/fCraftUI&lt;br /&gt;
*Feature: Reserved slots now work&lt;br /&gt;
*Fix: Fixed a bug in fCraft.Server.LoadWorldListXML that could make all worlds hidden.&lt;br /&gt;
*Fix: &amp;quot;player connected&amp;quot; message shown when someone connects, instead of just &amp;quot;player joined world&amp;quot;&lt;br /&gt;
*Fix: &amp;quot;player left the server&amp;quot; message is not shown if the player got kicked before LoginSequence finished (e.g. if server was full)&lt;br /&gt;
*Fix: Added back IP logging for incoming connections&lt;br /&gt;
*Fix: Fixed ConfigTool-generated maps not having correct spawn point&lt;br /&gt;
*Fix: Fixed /user showing both promote and demote messages at once&lt;br /&gt;
*Fix: Removed references to old &amp;quot;/drawundo&amp;quot; command name in &amp;quot;/undo&amp;quot; messages&lt;br /&gt;
*Fix: Fixed &amp;quot;Unrecognized entry ignored: LegacyRankMapping =&amp;quot; warning&lt;br /&gt;
*Change: Made /importbans and /importranks save PlayerDB at once&lt;br /&gt;
*Change: fCraft now forcibly resets its working directory to the same path where the executable is&lt;br /&gt;
*Change: Removed &amp;quot;delete old file?&amp;quot; prompt when renaming worlds in AddWorldPopup. Now it just does it, to match tabWorlds&#039; DataGridView behavior&lt;br /&gt;
*Change: Added additional error checks to Map.Backup() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.422===&lt;br /&gt;
*Feature: Further improved network performance by introducing nonblocking (lock-free) data structure to packet output buffer&lt;br /&gt;
*Fix: Fixed &amp;quot;world creation failed&amp;quot; error if worlds.xml defined a non-existing world to be main&lt;br /&gt;
*Fix: Added back missing messages when doing /user on offline users&lt;br /&gt;
*Fix: Fixed player name color not being updated when their class changes&lt;br /&gt;
*Fix: Added missing /help entries for /importbans and /importranks&lt;br /&gt;
*Change: Improved help messages for /lock, /unban, /unbanip, /undo, /wload, /wmain, and /wremove&lt;br /&gt;
*Change: Tweaked default values of BlockUpdateThrottling and maxBlockUpdatesPerTick for maximum lag-free performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.421===&lt;br /&gt;
*Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players&lt;br /&gt;
*Feature: Added the ability to ban unseen players&lt;br /&gt;
*Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated &amp;quot;Import&amp;quot; permission was added. See &amp;quot;/help importbans&amp;quot; and &amp;quot;/help importranks&amp;quot; for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.&lt;br /&gt;
*Feature: Improved BlockUpdateQueue performance (faster drawing commands!) by switching to a lock-free data structure&lt;br /&gt;
*Fix: Fixed startup errors not being logged if config.xml has not been parsed yet&lt;br /&gt;
*Fix: Fixed ConfigUI input box not aligning properly when window is resized&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; generated maps being 1 block off vertically&lt;br /&gt;
*Change: Updated PlayerDB and IPBanList to use standard temporary folder (instead of dumping temp files into fCraft directory)&lt;br /&gt;
*Change: Added &amp;quot;logging starts&amp;quot; marker that&#039;s written to console and log on-startup&lt;br /&gt;
*Change: fCraftUI log now displays the last 2000 lines (up from 1000 lines)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.420===&lt;br /&gt;
*Feature: New &amp;quot;Worlds&amp;quot; tab in ConfigTool for managing your world list&lt;br /&gt;
*Feature: Isometric map previews and map generation in ConfigTool&lt;br /&gt;
*Feature: Implemented a class-ID system that allows adding/renaming/deleting classes without breaking compatibility. DeleteClassPopup was added for this&lt;br /&gt;
*Feature: Added LimitOneConnectionPerIP option to config &amp;amp; configtool&lt;br /&gt;
*Feature: Worlds can now be hidden from the /worlds list&lt;br /&gt;
*Feature: Added /whois command for checking if a player is using real name or nickname. BE CAREFUL WITH &amp;quot;ChangeName&amp;quot; PERMISSION!&lt;br /&gt;
*Feature: fCraft now generates crash.txt on unhandled fatal errors&lt;br /&gt;
*Feature: Implemented theme support, and added 2 new terrain types (Coast and River) for MapGenerator. See &amp;quot;/help gen&amp;quot; for details, or use ConfigTool.&lt;br /&gt;
*Feature: Pressing Up/Down keys in fCraftUI will show previously typed commands.&lt;br /&gt;
*Fix: Fixed a bug in /wmain and /wload that sometimes made the server unconnectable after changing map&lt;br /&gt;
*Fix: Limits on the /kick command now apply correctly&lt;br /&gt;
*Fix: Fixed /wbuild and /waccess showing wrong messages&lt;br /&gt;
*Fix: Fixed hidden players unable to build due to grief protection&lt;br /&gt;
*Fix: Added /nick and /whois entries to /help&lt;br /&gt;
*Fix: Removed the ability to call draw commands from console (caused crash)&lt;br /&gt;
*Fix: Fixed /lava checking PlaceWater permission instead of PlaceLava&lt;br /&gt;
*Fix: A debug message about &amp;quot;attempting to unregister an non-existent player&amp;quot; is no longer logged every time VerifyNames fails&lt;br /&gt;
*Fix: When using /where command on other players, correct coordinates are now shown]&lt;br /&gt;
*Fix: Player&#039;s classes are now updated in fCraftUI list when promoted/demoted&lt;br /&gt;
*Fix: PMs are now logged as LogType.PrivateChat (instead of generic LogType.WorldChat)&lt;br /&gt;
*Fix: /hide and /unhide now use Color.Sys instead of hardcoded Color.Yellow&lt;br /&gt;
*Fix: Player&#039;s nicknames (as set by /nick) are applied correctly and preserved when changing worlds&lt;br /&gt;
*Fix: Added missing checks for &amp;quot;Chat&amp;quot; permissions&lt;br /&gt;
*Fix: Color buttons in ConfigTool now show correct background color under Mono&lt;br /&gt;
*Fix: Fixed help entry to /freeze showing incorrect information&lt;br /&gt;
*Fix: Corrected tab order in all ConfigTool forms&lt;br /&gt;
*Change: Added /blb as another alias for /cuboid&lt;br /&gt;
*Change: Removed ReservedSlotBehavior config key&lt;br /&gt;
*Change: Disabled word wrapping in rules.txt editor popup&lt;br /&gt;
*Change: /unhide now resets the player&#039;s nick&lt;br /&gt;
*Change: Both player&#039;s real name and nickname (if any) are now recorded in the log&lt;br /&gt;
*Change: Added a warning to /info when looking up nicknames (instead of real names)&lt;br /&gt;
*Change: Heartbeat salt generation (used to verify names) is now more secure&lt;br /&gt;
*Change: Removed CanPlaceHardenedBlocks from permission list&lt;br /&gt;
*Change: All map generator terrain types have been tweaked for improved appearence&lt;br /&gt;
*Change: Centered all ConfigTool popup windows (AddWorldPopup, ColorPicker, DeleteClassPopup, TextEditorPopup)&lt;br /&gt;
*Change: Hid unneeded icons and buttons from ConfigTool popups&lt;br /&gt;
*Change: Changed the way zones store rank restriction (as part of the compatibility assurance), and added versioning to zone definitions&lt;br /&gt;
*Change: Map.Save() now creates temporary files in the OS-specific temporary folder, not in same folder where fCraft is installed&lt;br /&gt;
*Change: World permissions are now updated automatically when a class is deleted&lt;br /&gt;
*Refactor: Improved consistency in code naming conventions, especially in IRC code&lt;br /&gt;
*Refactor: Improved code organization in many areas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.410===&lt;br /&gt;
*Implemented per-world access and build permissions.&lt;br /&gt;
*Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.&lt;br /&gt;
*New world-related commands:&lt;br /&gt;
**/wmain changes the main world&lt;br /&gt;
**/waccess and /wbuild allow setting per-world permissions&lt;br /&gt;
**/wremove allows deleting worlds&lt;br /&gt;
**/wrename allows renaming worlds without reloading&lt;br /&gt;
**/wload command is significantly improved (see /help wload for more info). The functionality of the old /load command has been merged with /wload. Now /load is an alias for /join, together with /l, /j, and /goto.&lt;br /&gt;
*Removed SaveAndLoad permission - it became redundant with ManageWorlds. Please check your config to ensure that permissions remain consistent.&lt;br /&gt;
*Added new and previously-missing (/lockall, /unlockall, /where, /me, /rules, /setspawn) commands to /help.&lt;br /&gt;
*Disabled verify-names check for localhost (127.0.0.1) when running in Balanced mode.&lt;br /&gt;
*When player is denied access to some command, server now names the specific permission that&#039;s needed.&lt;br /&gt;
*Fixed a potential desync issue when one player rejoins a world, and another joins it simultaneously.&lt;br /&gt;
*Removed /genh command and /compass alias for the /where command.&lt;br /&gt;
*Added a fail-safe exception check when executing console commands. Now the server will stay up even if an exception occurs while executing console command.&lt;br /&gt;
*Improved the way server reacts to fatal errors on startup. Now there is a clear indication that server cannot start.&lt;br /&gt;
*&amp;quot;default map&amp;quot; is now referred to as &amp;quot;main world&amp;quot; for consistency. &lt;br /&gt;
*Improved garbage collection.&lt;br /&gt;
&lt;br /&gt;
===0.405===&lt;br /&gt;
*Added back support for vanilla (server_level.dat) maps.&lt;br /&gt;
*Fixed MCSharp importer leaving nonstandard blocks in the map, causing client crashes. Now all MCSharp-specific blocks are converted to normal types.&lt;br /&gt;
*Fixed visual player list not updating in fCraftUI.&lt;br /&gt;
*Added /players command to list ALL players on the server (in all worlds)&lt;br /&gt;
*Made the BlockType parameter optional for /cuboid and /ellipsoid. Now it takes blocktype of the second click (or last-previously-used-blocktype when using /mark) in the absence of the optional parameter.&lt;br /&gt;
*ConfigTool: Added a new tab for IRC setting.&lt;br /&gt;
*ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.&lt;br /&gt;
*IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.&lt;br /&gt;
*IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot. &lt;br /&gt;
*IRC: Fixed a bug with infinite reconnects on receiving error 433 Nickname already in use.&lt;br /&gt;
*Zones: Changed behavior of overlapping zones:&lt;br /&gt;
**Before: To touch a block, AT LEAST ONE zone has to allow it&lt;br /&gt;
**Now: To touch a block, ALL ZONES have to allow it&lt;br /&gt;
*Zones: Added /ztest command that lists all zones affecting a particular block. It can be used to detect and resolve zone overlaps.&lt;br /&gt;
*Zones: Added proper /help entries for /zone, /zones, /zremove, and /ztest, and contextual help for /zone and /zones.&lt;br /&gt;
*Zones: Made zone commands inaccessible from console (it would cause a crash, since zones are world-specific).&lt;br /&gt;
*Fixed OnPlayerDisconnected and OnPlayerListChanged sometimes firing at the wrong time.&lt;br /&gt;
*Added better error handling to Map.Save() in case the target file is not writable.&lt;br /&gt;
*Updated /help entries for /lock, /unlock, and /load commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.404===&lt;br /&gt;
*Fixed zone borders being off by 1 block.&lt;br /&gt;
*Fixed a rare crash on shutdown.&lt;br /&gt;
*Fixed heartbeat reporting incorrect port number to heartbeat if the port specified in config was not available.&lt;br /&gt;
*Adjusted default class permissions slightly, by popular demand:&lt;br /&gt;
**regulars can now place Water and Lava&lt;br /&gt;
**ops can now use draw commands&lt;br /&gt;
*IRC: Added a config option &#039;IRCMsgs&#039; to toggle join/leave messages on/off. Default is disabled to prevent massive spam.&lt;br /&gt;
*IRC: Fixed a possible crash in IRCComm, related to static initializers.&lt;br /&gt;
*ConfigTool: Fixed many bugs in permission checkbox list.&lt;br /&gt;
*ConfigTool: Added visual editor for rules.txt&lt;br /&gt;
*ConfigTool: Added stub tab for IRC settings (coming soon).&lt;br /&gt;
&lt;br /&gt;
===0.403===&lt;br /&gt;
*Fixed spawnpoint being read incorrectly when using /load.&lt;br /&gt;
*Added a note to ban*/unban* commands that&#039;s shown when player name is not found: &amp;quot;Use the FULL player name for ban/unban commands.&amp;quot;&lt;br /&gt;
*Fixed a thread crash (not server-wide crash) in Session.IoLoop that can be caused by corrupted or malicious handshake packets.&lt;br /&gt;
*Fixed a potential crash when using /info on offline players from console.&lt;br /&gt;
*Fixed a potential crash when using /gen from console.&lt;br /&gt;
*Added more fail-safe checks that ensure that map spawn point is always within the map boundaries.&lt;br /&gt;
*Started logging IPs of connections that try sending corrupted or malicious handshake packets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.402===&lt;br /&gt;
*Added back /load command, and hooked up MCC. Currenly supported: fCraft/fcm, MCSharp/lvl, indev/mclevel, MinerCPP and LuaCraft (dat). Vanilla support coming soon.&lt;br /&gt;
*Fixed worlds being unloaded before all block updates are processed (thus aborting draw commands).&lt;br /&gt;
*Fixed several potential multiworld-related crashes and freezes.&lt;br /&gt;
*Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.&lt;br /&gt;
*IRC: Added an information message to notify users of the IRC Bot&#039;s online status when joining the server.&lt;br /&gt;
*IRC: Added the ability to send NOTICES.&lt;br /&gt;
*IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.&lt;br /&gt;
*IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.&lt;br /&gt;
*Drawing-related state is now reset when changing worlds.&lt;br /&gt;
*Added a limiter to the number of block updates that can be processed per tick (even if there are no players in a world). Fixes server becoming unresponsive when doing enormous drawing commands (millions of blocks).&lt;br /&gt;
*Allowed players to /join the world that they are already on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.401===&lt;br /&gt;
*&#039;&#039;&#039;IDLE/AFK CHECKING&#039;&#039;&#039; This is configurable per-class.&lt;br /&gt;
*Added /version command, and added revision to the version string.&lt;br /&gt;
*Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands. &lt;br /&gt;
*Removed all references to the old pre-multiworld &amp;quot;map.fcm.&amp;quot; Backups now work again. &lt;br /&gt;
*Fixed players not spawning in the right place when changing worlds.&lt;br /&gt;
*IRC Bot will now handle terminations by the IRCd and restart itself upon any errors. &lt;br /&gt;
*IRC Bot can now send from inside the server TO IRC! Use the prefix &#039;#&#039; in-game to send any message to IRC. Forwarding all server chat may be added if requested. To send from the bot to the server, use the bot&#039;s nickname and either &#039;:&#039;, &#039;,&#039; or nothing, then your message.&lt;br /&gt;
*Improved performance of the IRC bot and the task scheduler.&lt;br /&gt;
*Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn&#039;t exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.&lt;br /&gt;
*Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after &#039;#&#039; in server chat.&lt;br /&gt;
*Handshake packet is now written when doing /join, to replace MOTD with a more informative &amp;quot;Now loading [worldname]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.400===&lt;br /&gt;
*&#039;&#039;&#039;MULTIWORLD&#039;&#039;&#039; It&#039;s finally here. See /help for information on new commands: /worlds, /wload, /join&lt;br /&gt;
*Added a persistent world list, saved in worlds.txt - this is subject to change. The file contains a list of world names, each corresponding to an .fcm file. The first world listed at the top of worlds.txt is the default/main one.&lt;br /&gt;
*&#039;&#039;&#039;IRC BOT&#039;&#039;&#039; Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.&lt;br /&gt;
*A field has been added in the config to allow forwarding ALL IRC CHANNEL TRAFFIC to the server. This will override the prefix and make it inactive. &#039;IRCBotForwardAll&#039; is set to false by default.&lt;br /&gt;
*&#039;&#039;&#039;ZONES&#039;&#039;&#039; It is now possible to make guest zones and op zones (and anything in-between) on any map. See /help for information on new commands: /zones, /zone, /zremove.&lt;br /&gt;
*Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.&lt;br /&gt;
*Added /compass command (aka /where).&lt;br /&gt;
*Fixed players sometimes not seeing their /kick message.&lt;br /&gt;
*Added a way to teleport to specific coordinates (/tp x y h)&lt;br /&gt;
*Fixed heartbeats timing out when running fCraft under Mono.&lt;br /&gt;
*Fixed Config.ApplyConfig setting the wrong server throttling variables.&lt;br /&gt;
*Fixed air blocks appearing underwater when using /gen&lt;br /&gt;
*Tweaked /gen parameters to make &amp;quot;island&amp;quot; a bit less ugly.&lt;br /&gt;
*Updated text in fCraftConsole.&lt;br /&gt;
&lt;br /&gt;
=0.3xx=&lt;br /&gt;
===0.330===&lt;br /&gt;
*Added /cuboid and /ellipsoid drawing commands.&lt;br /&gt;
*Improved memory usage.&lt;br /&gt;
*Added &amp;quot;Draw&amp;quot; permission, and made /draw check &amp;quot;DeleteAdmincrete&amp;quot; permission when replacing blocks, and removed unused &amp;quot;PlaceGlitchedSand&amp;quot; permission.&lt;br /&gt;
*Added &amp;quot;Port&amp;quot; and &amp;quot;BackupOnlyWhenChanged&amp;quot; config lines, and corresponding ConfigTool fields.&lt;br /&gt;
*Fixed bug that deleted ALL backups when you check &amp;quot;don&#039;t delete old backups.&amp;quot; That was embarrassing.&lt;br /&gt;
&lt;br /&gt;
===0.325===&lt;br /&gt;
*Added an experimental low-latency mode (faster server response, but more bandwidth required).&lt;br /&gt;
*Improved hacking detection: added anti-chat-spam and anti-grief (block spam) checks.&lt;br /&gt;
*New more aggressive anti-hacking checks for incoming movement and SetTile packets.&lt;br /&gt;
*Fixed an issue with fCraftUI console log getting truncated in the wrong places.&lt;br /&gt;
*Improved Mono compatibility (fixes HttpWebRequest failures).&lt;br /&gt;
&lt;br /&gt;
===0.324===&lt;br /&gt;
*Added /me command.&lt;br /&gt;
*Added step stacking.&lt;br /&gt;
*Fixed a case where disconnected players would leave a ghost behind.&lt;br /&gt;
*Improved shutdown speed.&lt;br /&gt;
*Implemented ProcessPriority setting.&lt;br /&gt;
&lt;br /&gt;
===0.323===&lt;br /&gt;
*Fixed players not being able to delete admincrete after promotion.&lt;br /&gt;
*Fixed a bug that allowed players to noclip into walls when using /tp or /bring.&lt;br /&gt;
*Fixed a security issue with &amp;quot;VerifyNames: Balanced&amp;quot;&lt;br /&gt;
*Added prototype of the security tab in ConfigTool (work in progress).&lt;br /&gt;
&lt;br /&gt;
===0.322===&lt;br /&gt;
*Added a range check to Player.SetTile, to prevent certain types of grief bots.&lt;br /&gt;
*Fixed a bug where map spawnpoint did not change after doing /load.&lt;br /&gt;
*Fixed some typos.&lt;br /&gt;
&lt;br /&gt;
===0.321===&lt;br /&gt;
*Fixed welcome messages not showing.&lt;br /&gt;
*Renamed /alias to /nick, and added a permission check.&lt;br /&gt;
&lt;br /&gt;
===0.320===&lt;br /&gt;
*Finally last fix for the disconnect problem. Sorry about that.&lt;br /&gt;
&lt;br /&gt;
===0.319===&lt;br /&gt;
*Quick fix for disconnect problem.&lt;br /&gt;
&lt;br /&gt;
===0.318===&lt;br /&gt;
*Fixed VerifyNames not saving properly when using ConfigTool.&lt;br /&gt;
*Fixed several potential crashers in Session and World.&lt;br /&gt;
*Fixed a bug that sometimes wrongly showed &amp;quot;class name not recognized&amp;quot;.&lt;br /&gt;
*Added class name autocompletion for class chat (@@classname blah)&lt;br /&gt;
*Started working on the new /load mode that allows loading different sized maps, and loading much faster (not done yet).&lt;br /&gt;
&lt;br /&gt;
===0.317===&lt;br /&gt;
*Optimized handling of player movement and some block/tile updates, making servers more responsive and less laggy.&lt;br /&gt;
*Fixed a possible crash that sometimes happened when server has 1 slot left and 2 people tried to join at once.&lt;br /&gt;
*Fixed a case where a Session object was not properly disposed.&lt;br /&gt;
*Fixed resizing issue in UpdateWindow and reduced connection timeout in Updater&lt;br /&gt;
*Disabled ShowPrefixesInChat and ShowPrefixesInList by default (breaks skin support)&lt;br /&gt;
*Added Player.Send, a safe wrapper for Player.session.Send&lt;br /&gt;
*Fixed /tp, /bring, and /setspawn commands that were broken in the last revision.&lt;br /&gt;
*Fixed ConfigTool not saving &amp;quot;IsPublic&amp;quot; setting correctly.&lt;br /&gt;
&lt;br /&gt;
===0.316===&lt;br /&gt;
*Added partial class-name matching for /class and /user commands.&lt;br /&gt;
*Fixed /banip and /banall not kicking the banned players immediately.&lt;br /&gt;
*Added /rules command. Create &amp;quot;rules.txt&amp;quot; in the server folder to specify.&lt;br /&gt;
*Fixed a bug where player movement sometimes got a little out of sync.&lt;br /&gt;
*Optimized /load speed a bit.&lt;br /&gt;
*Added nicer application icons.&lt;br /&gt;
&lt;br /&gt;
===0.315===&lt;br /&gt;
*Added visual color picker to ConfigTool&lt;br /&gt;
*Added lightweight console interface for fCraft&lt;br /&gt;
*Refactored the main update loop&lt;br /&gt;
&lt;br /&gt;
===0.314===&lt;br /&gt;
*Added AutomaticUpdates option.&lt;br /&gt;
*Integrated the color picker to ConfigTool.&lt;br /&gt;
*Improved hacking detection.&lt;br /&gt;
&lt;br /&gt;
===0.313===&lt;br /&gt;
*Fixed a few glitches left after switching file formats.&lt;br /&gt;
*Improved memory usage when saving maps.&lt;br /&gt;
*Fixed an updater-related crash.&lt;br /&gt;
&lt;br /&gt;
===0.312===&lt;br /&gt;
*New map format (FCM v2) should provide faster loading times.&lt;br /&gt;
*server_level.dat loader is now functional.&lt;br /&gt;
*Fixed possible crash if the default port was not available.&lt;br /&gt;
*Automatic updater should now work properly. More update options to come.&lt;br /&gt;
&lt;br /&gt;
===0.311===&lt;br /&gt;
*Preview version of automatic updater.&lt;br /&gt;
&lt;br /&gt;
===0.310===&lt;br /&gt;
*Cleaned up some VC# crapfiles.&lt;br /&gt;
*Added class prefixes and colors.&lt;br /&gt;
*Added PlaceWater and PlaceLava back to permissions.&lt;br /&gt;
*Fixed rank-limited permissions.&lt;br /&gt;
*Other assorted glitches fixed.&lt;br /&gt;
&lt;br /&gt;
===0.305===&lt;br /&gt;
*removed config.xml from svn.&lt;br /&gt;
&lt;br /&gt;
===0.304===&lt;br /&gt;
*More potential crashes fixed.&lt;br /&gt;
&lt;br /&gt;
===0.303===&lt;br /&gt;
*Fixed a couple potential crashes in ConfigTool and Config.DefineClass&lt;br /&gt;
&lt;br /&gt;
===0.302===&lt;br /&gt;
*Fixed a few minor ConfigTool bugs.&lt;br /&gt;
&lt;br /&gt;
===0.301===&lt;br /&gt;
*Forgot to save config from World.cs after parsing. Minor update.&lt;br /&gt;
&lt;br /&gt;
===0.300===&lt;br /&gt;
*ConfigTool finished. Note that some of the options do not have an effect yet.&lt;br /&gt;
&lt;br /&gt;
=Before 0.3xx=&lt;br /&gt;
*Version history was not kept before this point.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Version_history&amp;diff=2640</id>
		<title>Version history</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Version_history&amp;diff=2640"/>
		<updated>2017-04-30T06:48:00Z</updated>

		<summary type="html">&lt;p&gt;F: /* 0.434 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
=0.6xx=&lt;br /&gt;
===0.644===&lt;br /&gt;
&#039;&#039;27 January 2014 - r2327&#039;&#039;&lt;br /&gt;
*Fix: Fixed a bug that caused character &#039;@&#039; in player names to be treated same as &#039;_&#039; (thanks Dingus)&lt;br /&gt;
*Fix: Fixed a rare crash in {{cmd|ZEdit}} when using the command improperly.&lt;br /&gt;
*Fix: Fixed a DataError being thrown in ConfigGUI&#039;s &amp;quot;Worlds&amp;quot; tab after toggling rank prefixes on/off.&lt;br /&gt;
*Fix: Improved error reporting.&lt;br /&gt;
*Change: Improved reliability of external IP checks.&lt;br /&gt;
&lt;br /&gt;
===0.643===&lt;br /&gt;
&#039;&#039;15 October 2013 - r2234&#039;&#039;&lt;br /&gt;
*Fix: Fixed sometimes wrapping last word of a chat message to the next line, when the whole message could fit on one line (thanks AndrewPH).&lt;br /&gt;
*Fix: Installing updates no longer causes UAC prompts under Windows Vista.&lt;br /&gt;
*Fix: Fixed IRC periodically crashing if someone quits with an empty message.&lt;br /&gt;
*Fix: Fixed IRC-related crashes not being submitted to the crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.642===&lt;br /&gt;
&#039;&#039;27 August 2013 - r2180&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Fill3D}}.&lt;br /&gt;
*Feature: Added caret (^), tilde (~), and grave accent (`) to [[emotes]].&lt;br /&gt;
*Fix: Emotes work via IRC once again.&lt;br /&gt;
*Fix: ConfigGUI: Fixed &amp;quot;Add world&amp;quot; and &amp;quot;Edit world&amp;quot; popups sometimes locking up.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving LastFailedLoginIP properly.&lt;br /&gt;
*Change: Made it easy to switch heartbeat servers (minecraft.net to classicube or back) via ConfigGUI.&lt;br /&gt;
*Change: Added an optional second parameter to {{cmd|DumpStats}}, which allows specifying period of inactivity for filtering players.&lt;br /&gt;
*Change: Improved startup and shutdown times, and reduced CPU use.&lt;br /&gt;
*Change: {{cmd|Hide}} and {{cmd|Unhide}} now indicate when they are silent or not.&lt;br /&gt;
&lt;br /&gt;
===0.641===&lt;br /&gt;
&#039;&#039;17 August 2013 - r2150&#039;&#039;&lt;br /&gt;
*Feature: Improved the way {{cmd|EllipsoidH}} works on flat surfaces. Instead of filled ellipses, it now makes rings.&lt;br /&gt;
*Feature: Added {{cmd|Reply}} (&amp;lt;code&amp;gt;/re&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: {{cmd|Fill2D}} can now fill with any brush, not just solid color.&lt;br /&gt;
*Feature: Added &#039;&#039;HeartbeatUrl&#039;&#039; [[List of config keys#Advanced|config key]], to allow alternative heartbeat/authentication services. &#039;&#039;&#039;Note: [[HeartbeatSaver]] only needs to be updated IF you plan on using something other than minecraft.net&#039;&#039;&#039;&lt;br /&gt;
*Fix: Fixed a InvalidOperationException in ConfigGUI when re-drawing the map preview (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;Realistic&amp;quot; MapGen help (thanks Jonty800).&lt;br /&gt;
*Fix: Now correctly kicking custom premium-MC clients.&lt;br /&gt;
*Fix: Fixed help messages in [[HeartbeatSaver]] and {{cmd|MassRank}}.&lt;br /&gt;
*Fix: Fixed a potential way of revealing hidden players by messaging them.&lt;br /&gt;
*Change: ConfigGUI&#039;s port checker works again.&lt;br /&gt;
*Change: IRC bot will now retry for its primary nick every 30 seconds (thanks Dankirk).&lt;br /&gt;
&lt;br /&gt;
===0.640===&lt;br /&gt;
&#039;&#039;30 July 2013 - r2124&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Feature: [[Mojang accounts|Mojang account]] (email) support.&#039;&#039;&#039; Added {{perm|ViewEmails}} permission and a config option to disallow email users.&lt;br /&gt;
*Feature: Overhauled map generation! Improved {{cmd|Gen}}, new {{cmd|SetGen}} command, more options, preset loading/saving, redesigned ConfigGUI interface, and two new map generation modes: Vanilla (from [http://femto.fcraft.net FemtoCraft]) and FloatingIsland.&lt;br /&gt;
*Feature: Optional [http://www.regular-expressions.info/quickstart.html RegEx] filtering of filenames for [[MapRenderer]] and [[MapConverter]], enabled by &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Feature: Added &amp;lt;i&amp;gt;&amp;quot;Player ___ logged in from an IP shared by frozen players...&amp;quot;&amp;lt;/i&amp;gt; announcement.&lt;br /&gt;
*Feature: Added an optional parameter to toggle commands (grass, water, lava, solid, paint, static) &amp;amp;mdash; &amp;quot;on&amp;quot;/&amp;quot;1&amp;quot; or &amp;quot;off&amp;quot;/&amp;quot;0&amp;quot;.&lt;br /&gt;
*Feature: Added BackupOnMapChange config key, which automates backups when a world&#039;s map is replaced by /Gen or /WLoad (enabled by default).&lt;br /&gt;
*Feature: Added &amp;lt;code&amp;gt;/To&amp;lt;/code&amp;gt; as an alias of {{cmd|TP}}, and &amp;lt;code&amp;gt;/Flush&amp;lt;/code&amp;gt; as an alias for {{cmd|WFlush}}.&lt;br /&gt;
*Feature: [[MapRenderer]] is now much quicker, thanks to optimization and multithreading.&lt;br /&gt;
*Feature: Added ability to change capitalization of player&#039;s name using {{cmd|SetInfo}}.&lt;br /&gt;
*Fix: Fixed MapGenerator sometimes locking up when working with tiny 16x16 maps (thanks 123DMWM).&lt;br /&gt;
*Fix: Fixed world greetings not being saved between restarts (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed {{cmd|WLoad}} showing incorrect map file names when prompting to replace files (thanks Smokeybacon).&lt;br /&gt;
*Fix: Fixed [[Command_Tips#Restricting_player_name_search|online-only name prefix]] revealing hidden players in some commands (thanks Intertoothh and recon).&lt;br /&gt;
*Fix: When a spectating player gets frozen, they are no longer stuck spectating (thanks ruggedbear and NuclearWaffle121).&lt;br /&gt;
*Fix: IRC now handles two-number color codes and reset codes correctly (thanks Liam).&lt;br /&gt;
*Fix: Fixed map changes sometimes leaving behind &amp;quot;ghost maps&amp;quot; for players with rank-specific main maps set (thanks Jonty800).&lt;br /&gt;
*Fix: PlayerDB name autocompletion now correctly handles players with &#039;.&#039; in their names.&lt;br /&gt;
*Fix: Timed backups no longer drift slightly every hour.&lt;br /&gt;
*Fix: Players can now {{cmd|Clear}} their chat even while [[/Deafen|deaf]].&lt;br /&gt;
*Fix: Fixed a rare serialization issue with PlayerDB&#039;s RankChangedBy field.&lt;br /&gt;
*Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Now only allow either one directory, or one-or-more files to be specified. Multiple directories, and mixed directories/files are no longer allowed.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Disabled slow fallback conversion by default (which caused non-map files to take forever to skip in recursive mode). Old behavior can be reenabled with &amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Change: When auto-updating or restarting under Mono, fCraft no longer tries to use &amp;quot;mono-sgen&amp;quot;, now just using &amp;quot;mono&amp;quot; and assuming that runtime is properly configured.&lt;br /&gt;
*Change: {{cmd|WBuild}} and {{cmd|WAccess}} can optionally now take &amp;quot;@&amp;quot; in front of rank name.&lt;br /&gt;
*Change: Removed BackupOnJoin config key.&lt;br /&gt;
*Change: UpdateInstaller&#039;s &amp;lt;code&amp;gt;--restart&amp;lt;/code&amp;gt; parameter is more flexible.&lt;br /&gt;
*Change: Dropped Mono 2.6 support.&lt;br /&gt;
*Change: Optimizations in player movement code, PlayerDB loading/saving, IP ban list loading, map generation, map rendering, {{cmd|Ellipsoid}}, and {{cmd|Sphere}}.&lt;br /&gt;
&lt;br /&gt;
===0.639===&lt;br /&gt;
&#039;&#039;10 December 2012 - r1917&#039;&#039;&lt;br /&gt;
*Feature: Added RankPrefixesOnDisplayedNames config key (default: false), which controls whether to prepend rank prefixes to names of players with a custom DisplayedName set.&lt;br /&gt;
*Feature: Added BypassHttpsCertificateValidation config key (default: false), to ease HTTPS-related pains under Mono.&lt;br /&gt;
*Feature: Added MoveEmoteDotToEndOfMessage config key (default: true), which slightly changes emote formatting, by BobKare&#039;s request.&lt;br /&gt;
*Fix: Fixed a stability issue in the IRC bot.&lt;br /&gt;
*Fix: Fixed incorrect runtime version detection for Mono versions older than 2.6.&lt;br /&gt;
*Fix: Server now gives more informative messages when you try to do something disallowed to yourself (mute, unfreeze, ban, kick, etc).&lt;br /&gt;
*Fix: Fixed being able to teleport to hidden players (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed {{cmd|Unhide}} not faking a join message for hidden players (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed IRC bot sending USER before NICK (fixes occasional error 451) (thanks Hellenion).&lt;br /&gt;
*Change: Added ability to set players&#039; BandwidthUseMode via {{cmd|SetInfo}}.&lt;br /&gt;
*Change: Improved {{cmd|Env}}, {{cmd|UndoAreaNot}}, and {{cmd|Help}} messages.&lt;br /&gt;
*Change: Players&#039; connection messages in logs now include TimesVisited stat.&lt;br /&gt;
*Change: {{cmd|Help|commands}} is no longer an alias for {{cmd|Commands}} (thanks ruggedbear).&lt;br /&gt;
&lt;br /&gt;
===0.638===&lt;br /&gt;
&#039;&#039;29 November 2012 - r1887&#039;&#039;&lt;br /&gt;
*Feature: [[Emotes|Emote]] keywords and their Unicode equivalents can now be included in announcement and rule files.&lt;br /&gt;
*Feature: IRC bot now sends a quit message consisting of server name and shutdown reason.&lt;br /&gt;
*Fix: Fixed a very small chance of PlayerInfo.TimeMutedLeft returning negative time spans.&lt;br /&gt;
*Fix: Leading and trailing spaces are now trimmed from kick/ban/unban reasons.&lt;br /&gt;
*Fix: Fixed some emotes getting trimmed from {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} (thanks Intertoothh)&lt;br /&gt;
*Fix: Fixed RestartInterval starting two chat timers (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed ServerCLI using console colors for the first few messages even if &amp;lt;code&amp;gt;--noconsolecolor&amp;lt;/code&amp;gt; [[List of command-line options|command-line switch]] was given (thanks Hellenion)&lt;br /&gt;
*Change: Added &amp;lt;code&amp;gt;--noupdater&amp;lt;/code&amp;gt; command line switch, which stops fCraft from launching update installer binaries (although all other update-related behavior remains the same)&lt;br /&gt;
*Change: Player&#039;s own name is no longer considered in autocompletion/searches for commands that are not applicable to self (e.g. {{cmd|Ban}}, {{cmd|Mute}}, {{cmd|Ignore}}, {{cmd|TP}}, etc)&lt;br /&gt;
*Change: Logged global chat messages now have &amp;quot;(global)&amp;quot; prepended before player&#039;s name.&lt;br /&gt;
*API: Updated trunk project files to VisualStudio 2010. Target runtime remains .NET 3.5 Client Profile.&lt;br /&gt;
&lt;br /&gt;
===0.637===&lt;br /&gt;
&#039;&#039;16 October 2012 - r1847&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Emotes}} command, to list emotes and their keywords.&lt;br /&gt;
*Fix: Fixed IRC bot cutting off very long messages.&lt;br /&gt;
*Fix: Fixed {{cmd|Info}} not working with some IP ranges (thanks _BjorN64_).&lt;br /&gt;
*Fix: Fixed single-letter emote keywords not working (thanks Wundsalz).&lt;br /&gt;
*Fix: Improved the way IRC bot handles nick conflicts (thanks Jonty800).&lt;br /&gt;
*Fix: {{cmd|DumpStats}} no longer dies when an invalid file name is given (thanks Hellenion).&lt;br /&gt;
*Change: Added a new build configuration, DEBUG_NETWORKING, which traces all incoming and outgoing packets.&lt;br /&gt;
*Change: IRC bot now logs all outgoing messages when built in DEBUG_IRC configuration.&lt;br /&gt;
&lt;br /&gt;
===0.636===&lt;br /&gt;
&#039;&#039;10 October 2012 - r1832&#039;&#039;&lt;br /&gt;
*Feature: Check your configs! New options were added to control display of colors and emotes to/from IRC.&lt;br /&gt;
*Feature: Added {house} [[emotes|emote]]: ⌂ (0x7F).&lt;br /&gt;
*Fix: Fixed newline codes %n/%N not being parsed properly.&lt;br /&gt;
*Fix: Fixed a crash in Color.StripColors (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed random symbols appearing in stack traces in console (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed couple problems with Player.Moving event (thanks 00pol).&lt;br /&gt;
*Fix: Spawn points of MCSharp map files are now loaded correctly (thanks 00pol).&lt;br /&gt;
*Change: Players&#039; DisplayedNames may no longer contains line breaks.&lt;br /&gt;
&lt;br /&gt;
===0.635===&lt;br /&gt;
&#039;&#039;8 October 2012 - r1822&#039;&#039;&lt;br /&gt;
*Feature: Added support for &amp;quot;[[emotes]]&amp;quot; (chat symbols). New permission ({{perm|UseEmotes}}) and config key (IRCAllowEmotes) were added.&lt;br /&gt;
*Fix: Fixed numbers sometimes being accepted as valid (e.g. by {{cmd|Mute}}), although counted as 0-length time spans.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving strings with newlines properly.&lt;br /&gt;
*Fix: Fixed IRC bot sometimes producing messages that are a couple characters over the IRC message size limit (512 chars).&lt;br /&gt;
*Fix: Fixed players being able to use newline codes (&amp;amp;N/&amp;amp;n) on IRC.&lt;br /&gt;
*Fix: Fixed problems with UpdaterMode and BackupOnStartup settings in ConfigGUI.&lt;br /&gt;
*Fix: Fixed fCraft not building in DEBUG_IRC configuration.&lt;br /&gt;
*Change: Added a workaround for TermInfoDriver-related exceptions under Mono (thanks Hellenion)&lt;br /&gt;
*Change: Symbolic [[colors|color codes]] (e.g. %S) can now be used in chat.&lt;br /&gt;
*Change: Backslash can now be used to escape percent [[colors|color codes]] (e.g. \%C).&lt;br /&gt;
*Change: fCraft will now retry looking up the external IP up to 3 times.&lt;br /&gt;
*Change: Lots of documentation, annotation, and API improvements.&lt;br /&gt;
&lt;br /&gt;
===0.634===&lt;br /&gt;
&#039;&#039;30 September 2012 - r1796&#039;&#039;&lt;br /&gt;
*Fix: Fixed an occasional InvalidOperationException when auto-updating in ServerGUI.&lt;br /&gt;
*Fix: Fixed ConfigGUI showing misleading information in &amp;quot;unrecognized entry ignore&amp;quot; errors.&lt;br /&gt;
*Fix: Fixed Logger trying to write to file in [[MapConverter]] and [[MapRenderer]].&lt;br /&gt;
*Fix: Fixed [[MapRenderer]] and [[MapConverter]] spamming zone-related errors (thanks Hellenion and AndrewPH)&lt;br /&gt;
*Fix: Fixed {{cmd|UndoPlayerNot}} help entry (thanks ruggedbear)&lt;br /&gt;
*Change: Heartbeat code now uses HTTPS, as mandated by Mojang. If you use Mono, see http://www.mono-project.com/FAQ:_Security&lt;br /&gt;
*Change: Removed support for the malfunctioning WoM Direct heartbeat service.&lt;br /&gt;
*Change: RankChangeReason is now shown as a &amp;quot;Rank note&amp;quot; in {{cmd|Info}}, even if no other data (PreviousRank/RankChangedBy/RankChangeDate) exists (thanks Wundsalz)&lt;br /&gt;
&lt;br /&gt;
===0.633===&lt;br /&gt;
&#039;&#039;26 September 2012 - r1788&#039;&#039;&lt;br /&gt;
*Feature: Added checkbox for HeartbeatEnabled config key to ConfigGUI, on the advanced tab.&lt;br /&gt;
*Fix: Fixed heartbeat/verification issues caused by &amp;quot;no-www&amp;quot; changes made by Mojang at minecraft.net&lt;br /&gt;
*Fix: Fixed VisualStudio designer being unable to load ConfigGUI.MainForm.&lt;br /&gt;
*Fix: Fixed {{cmd|ZMark}} being spammy (thanks ruggedbear).&lt;br /&gt;
*Fix: Binding &amp;quot;air&amp;quot; block to something now works as expected (deleted blocks are replaced with the binding) (thanks Hellenion).&lt;br /&gt;
*Fix: Added missing tooltips to &amp;quot;Data Backup&amp;quot; checkbox in ConfigGUI (thanks PhoneBook_).&lt;br /&gt;
*Fix: Added [[HeartbeatSaver]] to UpdateInstaller and list of protected filenames.&lt;br /&gt;
*Fix: Fixed occasional startup crash in [[HeartbeatSaver]].&lt;br /&gt;
*Change: {{cmd|Reload|Autorank}} now triggers a re-scan of the whole PlayerDB.&lt;br /&gt;
*Change: Added code to BlockDB to recover misaligned .fbdb files. BlockDB files are supposed to be aligned to 20 bytes. Misalignment might happen if writing didn&#039;t finish properly - e.g. power outage, or ungraceful shutdown.&lt;br /&gt;
*Change: Improved consistency of exit codes in [[HeartbeatSaver]], [[MapConverter]], and [[MapRenderer]].&lt;br /&gt;
&lt;br /&gt;
===0.632===&lt;br /&gt;
&#039;&#039;14 September 2012 - r1765&#039;&#039;&lt;br /&gt;
*Feature: Added standalone [[HeartbeatSaver]] utility, a heartbeat-sending daemon.&lt;br /&gt;
*Feature: Added a way to specify scale/turbulence/seed for cloudy brush.&lt;br /&gt;
*Feature: Renamed &amp;quot;IRC&amp;quot; LogType to &amp;quot;IRCStatus&amp;quot;, and added &amp;quot;IRCChat&amp;quot; LogType. Check your configs.&lt;br /&gt;
*Fix: Fixed the updater. You&#039;ll have to update from version 0.631 manually (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed a bug related to multiple players trying to join an almost-full server at the same time.&lt;br /&gt;
*Fix: Fixed a rare InvalidOperationException crash in ConfigGUI.&lt;br /&gt;
*Fix: Fixed reversed order in {{cmd|BlockInfo}} (thanks recon_).&lt;br /&gt;
*Fix: Fixed a few formatting errors in feedback messages.&lt;br /&gt;
*Fix: Fixed a rare disconnect related to a spectator trying to follow a spectatee to a full world.&lt;br /&gt;
*Fix: Fixed {{cmd|Hide}} not showing a fake disconnect message when needed.&lt;br /&gt;
*Fix: Fixed {{cmd|WRename}} prompting for file overwrite when changing capitalization in a world name.&lt;br /&gt;
*Fix: Fixed UndoArea/UndoAreaNot and UndoPlayer/UndoPlayerNot messages occasionally getting mixed up.&lt;br /&gt;
*Fix: Fixed players being unable to join the server if access restrictions prevent them from joining the rank-specific main world.&lt;br /&gt;
*Fix: {{cmd|WRemove}} now correctly handles removing rank-main worlds.&lt;br /&gt;
*Fix: Fixed a case where newlines in PlayerInfo or IPBanInfo fields would cause record corruption.&lt;br /&gt;
*Fix: Fixed reversed messages in {{cmd|DoNotMark}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed ServerCLI sometimes staying open, waiting on console input, when it&#039;s supposed to shut down or restart.&lt;br /&gt;
*Change: Sped up &amp;quot;cloudy&amp;quot; brush when working with large draw commands.&lt;br /&gt;
*Change: Crash reporter now submits list of names and versions of all loaded assemblies, to help identify mismatched or missing dependencies.&lt;br /&gt;
*Change: Added logging to every confirmation prompt, &amp;quot;/ok&amp;quot;, {{cmd|BlockDB}} enabling/disabling/clearing, {{cmd|ZRemove}}, {{cmd|InfoSwap}}, and {{cmd|Env}}.&lt;br /&gt;
*Change: Any pending confirmations are now reset on world change.&lt;br /&gt;
*Change: Added /I as an alias for {{cmd|Info}}, and /CS as an alias for {{cmd|CopySlot}}.&lt;br /&gt;
*Change: Removed &amp;quot;marbled&amp;quot; brush (&amp;quot;cloudy&amp;quot; works just as well) and FCMv4 map format support (development canceled).&lt;br /&gt;
*Change: {{cmd|Where}} command now only requires {{perm|ViewOthersInfo}} permission to see other players&#039; whereabouts. It can be used by anyone on self.&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.631===&lt;br /&gt;
&#039;&#039;5 September 2012 - r1741&#039;&#039;&lt;br /&gt;
*Feature: Added a way to restrict commands to match online players&#039; names only, by prefixing the name with an exclamation mark (!). See [[Command Tips]] for more.&lt;br /&gt;
*Feature: Added {{cmd|DoNotMark}} command. When toggled on, clicking on blocks does not cause marks to be added to a selection.&lt;br /&gt;
*Fix: Included MapConverter.exe and MapRenderer.exe in list of protected filenames.&lt;br /&gt;
*Fix: Fixed a potential crash in Paths.FileExists when working in case-sensitive mode in a root directory.&lt;br /&gt;
*Fix: Fixed ConfigGUI not loading permission limits properly (thanks recon_).&lt;br /&gt;
*Fix: Added missing fake connection message when using non-silent {{cmd|Unhide}} (thanks Wundsalz).&lt;br /&gt;
*Change: Improvements to fCraft&#039;s built-in crash reporter.&lt;br /&gt;
*Change: Blocks redone with {{cmd|Redo}} are now flagged as &amp;quot;Redone&amp;quot; in /BlockInfo (instead of &amp;quot;UndoneSelf&amp;quot;), [[/Paint|painted]] blocks as &amp;quot;Painted&amp;quot; (instead of &amp;quot;Manual, Replaced&amp;quot;).&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.630===&lt;br /&gt;
&#039;&#039;4 September 2012 - r1727&#039;&#039;&lt;br /&gt;
*Feature: New permissions! {{perm|FlushWorlds}} (previously part of {{perm|ManageWorlds}}), {{perm|UseTimers}} (previously part of {{perm|Say}}), and {{perm|UndoAll}}.&lt;br /&gt;
*Feature: Added ability to undo multiple players&#039; actions at once, or EVERYONE&#039;s actions at once, using {{cmd|UndoPlayer}} and {{cmd|UndoArea}}. Command syntax changed, see wiki.&lt;br /&gt;
*Feature: {{cmd|Info}} now shows whether minecraft.net accounts are free or paid.&lt;br /&gt;
*Feature: Added special &amp;quot;skip&amp;quot;/&amp;quot;none&amp;quot; blocktype, usable with brushes and draw commands.&lt;br /&gt;
*Feature: Added ability to clear world/zone whitelists and blacklists. Use &amp;quot;-*&amp;quot; in place of player name to clear whitelist, and &amp;quot;+*&amp;quot; to clear blacklist.&lt;br /&gt;
*Feature: Added a way to remove all zones in a world, {{cmd|ZRemove|*}}.&lt;br /&gt;
*Feature: Added {{cmd|UndoAreaNot}} (/uan) and {{cmd|UndoPlayerNot}} (/upn), which reverse changes made by everyone EXCEPT the given player(s).&lt;br /&gt;
*Feature: Added [[MapConverter]] and [[MapRenderer]] utilities.&lt;br /&gt;
*Feature: {{cmd|CuboidW}} now supports optionally filling sides and center with different blocktypes, e.g. &amp;quot;/cw white blue red&amp;quot;.&lt;br /&gt;
*Fix: Fixed ServerCLI launching the wrong fCraft binary after running the updater.&lt;br /&gt;
*Fix: Fixed a missing warning in {{cmd|Gen}} when map height is not a multiple of 16.&lt;br /&gt;
*Fix: Fixed a rare case of players receiving desynchronized copies of maps where draw commands are in progress.&lt;br /&gt;
*Fix: Fixed a crash in {{cmd|Commands|&amp;lt;Category&amp;gt;}}&lt;br /&gt;
*Fix: Fixed potential crashes when working with files in root directories (e.g. C:/)&lt;br /&gt;
*Fix: Improved {{cmd|BanEx}} logging.&lt;br /&gt;
*Fix: Improved support for Myne/MyneCraft/HyveBuild/iCraft maps.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog in ConfigGUI defaulting to 20 minutes, instead of &amp;quot;(default)&amp;quot;.&lt;br /&gt;
*Fix: Fixed SaveInterval and BackupInterval being limited to just 100 seconds/minutes in ConfigGUI (thanks Hellenion).&lt;br /&gt;
*Fix: Improved consistency of timestamp format in logs (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed being unable to remove world greetings via {{cmd|WSet}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed IRC bot cutting off long messages (thanks Hellenion).&lt;br /&gt;
*Change: Improved performance of {{cmd|Gen}}, {{cmd|WLoad}}, world loading, and all BlockDB-related commands.&lt;br /&gt;
*Change: Adjustments to block names and aliases, as well as command aliases.&lt;br /&gt;
*Change: Merged {{cmd|Cancel}} and /Nvm commands.&lt;br /&gt;
*Change: &amp;quot;&amp;amp;N&amp;quot; is now usable as a &amp;quot;newline&amp;quot; constant in all configurable strings (rules, announcements, greetings, etc), and &amp;quot;%N&amp;quot; is usable by players with {{perm|UseColorCode}} permissions.&lt;br /&gt;
*Change: Made {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} usable by frozen players.&lt;br /&gt;
*Change: Added a warning to /Colors regarding the minimum rank required to use colorcodes in chat (thanks Jonty800).&lt;br /&gt;
*Change: Ignoring a player no longer prevents you from seeing {{cmd|Say}} messages written by them.&lt;br /&gt;
*Change: {{cmd|Paint}}, {{cmd|Solid}}, {{cmd|Grass}}, {{cmd|Water}}, and {{cmd|Lava}} are no longer usable by players without Build permission, and dont show up in /Commands for them.&lt;br /&gt;
*Change: Clarified {{cmd|ZEdit}} messages when trying to remove self from blacklist, or add yourself to whitelist.&lt;br /&gt;
*Change: {{cmd|Mute}}, {{cmd|Unmute}}, {{cmd|Freeze}}, and {{cmd|Unfreeze}} are now also usable on offline players.&lt;br /&gt;
*Change: Session threads are no longer marked as &amp;quot;background&amp;quot;, to prevent unexpected side effects from session threads being aborted on shutdown. This might slow down shutdown a bit, but there is less to go wrong.&lt;br /&gt;
*Change: World greetings can now support constants.&lt;br /&gt;
*Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.&lt;br /&gt;
*Change: Process exit code is now set to match ShutdownReason.&lt;br /&gt;
*API: Added ChatTimer.Started and ChatTimer.Stopped events, rewrote BlockDB, MapConversion, and IsoCat APIs.&lt;br /&gt;
*API: Many documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.624===&lt;br /&gt;
&#039;&#039;16 July 2012 - r1636&#039;&#039;&lt;br /&gt;
*Fix: Fixed BlockDB time-limiting code trimming too much data from the database.&lt;br /&gt;
*Fix: CommandBook ban import now accepts any filename that ends with &amp;quot;.csv&amp;quot;, not just &amp;quot;bans.csv&amp;quot;.&lt;br /&gt;
*Fix: ServerCLI no longer crashes upon receiving EOF from console.&lt;br /&gt;
*Fix: Fixed a rare case of hidden players being revealed (briefly) when their rank is changed.&lt;br /&gt;
*Fix: Fixed [[/Spectate]] leaving ghost players behind on world change (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed a couple typos in [[/WLock]] and [[/WUnlock]] (thanks ImNoobSoWhat).&lt;br /&gt;
*Change: Added server name to [[/ServerInfo]]&lt;br /&gt;
*Change: If opening a link fails (from ConfigGUI or ServerGUI), the URL is copied to clipboard, instead of crashing.&lt;br /&gt;
*Change: &amp;quot;[[/Import]] bans&amp;quot; no longer prints a message for every player who&#039;s already banned, instead showing a total number of already-banned players at the end.&lt;br /&gt;
*Change: Added a missing &amp;quot;Copy&amp;quot; context menu to the ServerGUI&#039;s log box (thanks to Jonty800).&lt;br /&gt;
*Change: fCraft front-ends now check fCraft.dll&#039;s assembly version, and refuse to start if there is a mismatch (Thanks Zaneo).&lt;br /&gt;
&lt;br /&gt;
===0.623===&lt;br /&gt;
&#039;&#039;9 July 2012 - r1624&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in [[/PasteX]] and [[/PasteNotX]].&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] crash when given a non-banned IP address.&lt;br /&gt;
*Fix: Fixed a crash in Player.DetectChatSpam if AntiSpam was supposed to be disabled.&lt;br /&gt;
*Fix: Fixed typos in comments and messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed a crash in [[/ZAdd]] (thanks thelonedrummer18).&lt;br /&gt;
&lt;br /&gt;
===0.622===&lt;br /&gt;
&#039;&#039;6 July 2012 - r1619&#039;&#039;&lt;br /&gt;
*Feature: ServerGUI message log is now color-coded, easier to select/copy/paste, and featuring clickable links.&lt;br /&gt;
*Fix: Fixed several regressions in [[/Hide]] and [[/Spectate]] that were introduced in 0.620-0.621 (thanks mark_b).&lt;br /&gt;
*Fix: Fixed [[/Deafen]] being usable from console (thanks phonebookguy).&lt;br /&gt;
*Fix: Fixed a crash in Paste/PasteNot/PasteX/PasteNotX (thanks Grant).&lt;br /&gt;
*Misc: Updated some draw command messages, credits, help entries, warnings.&lt;br /&gt;
&lt;br /&gt;
===0.621===&lt;br /&gt;
&#039;&#039;5 July 2012 - r1612&#039;&#039;&lt;br /&gt;
*Feature: Added CommandBook banlist (bans.csv) support to [[/Import]].&lt;br /&gt;
*Feature: Added a way to list all players of a certain rank with &amp;quot;[[/Info]] @ClassName&amp;quot;.&lt;br /&gt;
*Feature: Added {PLAYER_LIST} variable, for use in greetings/announcements/rules.&lt;br /&gt;
*Fix: Fixed changes to DefaultBackupInterval config key not being applied.&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] showing &amp;quot;players on same IP&amp;quot; for players without a recorded IP address.&lt;br /&gt;
*Fix: Fixed fCraft occasionally using localized datetime and number formatting.&lt;br /&gt;
*Fix: Fixed [[/Cut]] storing the selected blocks before checking player&#039;s draw limit (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed [[/Fill2D]] starting a selection even if command parameters could not be parsed (thanks David00143).&lt;br /&gt;
*Fix: Fixed [[/Copy]] and [[/Cut]] reporting incorrect origin information (thanks nope__avi).&lt;br /&gt;
*Fix: Players who are spectating or being spectated by you are no longer hidden from the tab player list (thanks ruggedbear).&lt;br /&gt;
*Change: If multiple players are spectating the same player, they no longer see each other (thanks Hellenion).&lt;br /&gt;
*Change: Small improvements and fixes to [[/WSet]] and to AntiSpam functionality.&lt;br /&gt;
*Change: Sped up PlayerDB loading on startup.&lt;br /&gt;
*Change: Added shortcuts for [[/SetInfo]] field names.&lt;br /&gt;
&lt;br /&gt;
===0.620===&lt;br /&gt;
&#039;&#039;17 June 2012 - r1592&#039;&#039;&lt;br /&gt;
*Feature: WoM Direct description and flags can now be set from config, without the need to go to WoM Direct website.&lt;br /&gt;
*Feature: Added a new [[/WSet]] command, that allows hiding worlds, changing backup settings, and setting greeting messages.&lt;br /&gt;
*Feature: More [[/WInfo]] information is persisted across server restarts: IsLocked, LockedBy, UnlockedBy, LoadedBy, LoadedOn, MapChangedBy, MapChangedOn.&lt;br /&gt;
*Feature: Added IRCStripMinecraftColors config key (default: true). It determines whether Minecraft colorcodes (ampersand codes) entered on IRC should be removed before showing the message in-game.&lt;br /&gt;
*Fix: Fixed incorrect percentages occasional being printed by [[/Measure]], [[/Cancel]], and [[/Undo]].&lt;br /&gt;
*Fix: Locked worlds remain locked after server restart.&lt;br /&gt;
*Fix: Addressed many flaws and glitches in the backup system.&lt;br /&gt;
*Fix: Fixed a case where draw commands that affected no blocks caused division by zero&lt;br /&gt;
*Fix: Fixed a PlayerDB record corruption bug that affected numbers over 100,000,000.&lt;br /&gt;
*Fix: Fixed a stability issue related to LineWrapper (thanks Kevinsweijen and Mc_MrCat).&lt;br /&gt;
*Fix: Fixed IRC markup codes being forwarded to the server in IRC&#039;s channel-kick messages.&lt;br /&gt;
*Fix: Fixed [[/Unmute]] not checking rank limits (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;IP&amp;gt;&amp;quot; and &amp;quot;[[/BanAll]] &amp;lt;PlayerName&amp;gt;&amp;quot; not checking ban exemptions when kicking players (thanks BobKare).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;PlayerName&amp;gt;&amp;quot; not kicking all the players from IP address.&lt;br /&gt;
*Fix: Fixed Undo/Redo messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed compatibility with Mono 2.10.8.1 (thanks Hawkzeh).&lt;br /&gt;
*Change: Removed [[/WHide]] and [[/WUnhide]] (obsoleted by [[/WSet]]).&lt;br /&gt;
&lt;br /&gt;
===0.618===&lt;br /&gt;
&#039;&#039;22 April 2012 - r1568&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in ConfigGUI when trying to sort by map size and a map file is missing (thanks Moose).&lt;br /&gt;
*Change: Ampersands are no longer allowed in chat, even escaped, due to unpredictable Minecraft client behavior.&lt;br /&gt;
&lt;br /&gt;
===0.617===&lt;br /&gt;
&#039;&#039;21 April 2012 - r1564&#039;&#039;&lt;br /&gt;
*Feature: [[/BInfo]] now accepts optional XYZ coordinates, like [[/Mark]].&lt;br /&gt;
*Fix: Added a workaround for &amp;quot;Internal error Flush&amp;quot; under Mono.&lt;br /&gt;
*Fix: Fixed [[/WBring]] printing incorrect usage syntax (thanks recon_)&lt;br /&gt;
*Fix: Fixed typo in [[/BlockDB]] (thanks xN8Gx)&lt;br /&gt;
*Fix: Fixed IRC bots not binding to the specified local endpoint.&lt;br /&gt;
*Fix: Fixed &amp;quot;PreviousRank&amp;quot; not getting updated by [[/SetInfo]] working (thanks nope__avi)&lt;br /&gt;
*Fix: Fixed several rare stability issues (thanks Kevinsweijen).&lt;br /&gt;
*Fix: Fixed [[/Undo]] and [[/Redo]] producing odd log messages if 0 blocks have been changed.&lt;br /&gt;
*&amp;lt;s&amp;gt;Change: Allowed &#039;&amp;amp;&#039; character (ampersand) to be entered in chat, which is now escaped.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===0.616===&lt;br /&gt;
&#039;&#039;10 March 2012 - r1498&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Import]] terminating when importing bans, if a player with the given name is already banned.&lt;br /&gt;
*Fix: Fixed a formatting error in [[/Bring]] and [[/WBring]] confirmation messages.&lt;br /&gt;
*Fix: Fixed mixed-up messages in [[/WAccess]] and [[/WBuild]] when removing players from blacklist/whitelist (thanks ruggedbear and xN8Gx)&lt;br /&gt;
*Fix: Fixed [[/Static]] not turning off after switching worlds (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed [[/Rotate]] printing incorrect copyslot number (thanks Mc_MrCat)&lt;br /&gt;
*Fix: Fixed a ServerGUI crash when pressing the down arrow key after typing in the first console message (thanks Jason)&lt;br /&gt;
*Fix: [[/Me]] messages no longer count towards stats twice (thanks recon_)&lt;br /&gt;
*Fix: [[/Mute]] and [[/Unmute]] now usable with &amp;quot;-&amp;quot; in place of player name (thanks thelonedrummer18)&lt;br /&gt;
*Fix: Fixed README.txt typo (thanks Wolfmade)&lt;br /&gt;
&lt;br /&gt;
===0.615===&lt;br /&gt;
&#039;&#039;2 February 2012 - r1445&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Patrol]] checking Spectate permission, and [[/SpecPatrol]] not checking it.&lt;br /&gt;
*Fix: Fixed [[/WRename]] not updating player&#039;s last-used-world-name (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed colorcodes (%-codes) not getting applied consistently (thanks BobKare)&lt;br /&gt;
*Fix: Fixed a rare name-verification issue that only affected players whose ranks have been imported (thanks Mc_MrCat)&lt;br /&gt;
*Fix: ServerGUI now correctly interprets &amp;quot;Notify&amp;quot; and &amp;quot;Auto&amp;quot; updater settings.&lt;br /&gt;
*Change: Data backups are now stored in ./databackups/ directory.&lt;br /&gt;
&lt;br /&gt;
===0.614===&lt;br /&gt;
&#039;&#039;24 January 2012 - r1426&#039;&#039;&lt;br /&gt;
*Fix: Fixed server crashing if PlayerDB.txt exists but is empty.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Join]] -&amp;quot; using player names, and &amp;quot;[[/TP]] -&amp;quot; using world names.&lt;br /&gt;
*Fix: Solved File.Replace-related errors, which caused occasional save failures.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking caller&#039;s Spectate permission limit when selecting the next target.&lt;br /&gt;
*Fix: Fixed &amp;quot;random&amp;quot; brush producing obvious repeating patterns.&lt;br /&gt;
*Fix: Fixed auto-updater occasionally freezing when attempting to &amp;quot;Restart Now&amp;quot;.&lt;br /&gt;
*Fix: Added permission limit check to [[/Unfreeze]] (thanks Xb0x4d4m)&lt;br /&gt;
*Fix: Improved the way [[/Bring]] and [[/WBring]] enforce access permissions (thanks Hellenion)&lt;br /&gt;
*Change: Added more information about player connects/disconnects to log file.&lt;br /&gt;
&lt;br /&gt;
===0.613===&lt;br /&gt;
&#039;&#039;11 January 2012 - r1401&#039;&#039;&lt;br /&gt;
*Fix: Fixed ConfigGUI not saving changes to ShowConnectionMessages key.&lt;br /&gt;
*Fix: Fixed a case where ConfigGUI could crash while attempting to rename a world.&lt;br /&gt;
*Fix: All spectate permissions are now re-checked when someone gets promoted or demoted.&lt;br /&gt;
*Fix: Fixed ConfigGUI Worlds tab crash when dealing with zoned maps.&lt;br /&gt;
*Fix: Fixed IRC bot not retrying for desired nickname after reconnecting&lt;br /&gt;
*Fix: Fixed a case where editing a world via ConfigGUI would clear security whitelists/blacklists.&lt;br /&gt;
*Fix: Fixed spectating players not being treated as hidden (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed formatting in &amp;quot;Player ___ got auto-kicked&amp;quot; message (thanks BobKare)&lt;br /&gt;
*Fix: Fixed auto-kick revealing hidden players (thanks BobKare)&lt;br /&gt;
*Fix: Fixed RandomBrush-related [[/Undo]] artifacts in [[/Triangle]] (thanks Lunara_Noctis)&lt;br /&gt;
&lt;br /&gt;
===0.612===&lt;br /&gt;
&#039;&#039;14 December 2011 - r1307&#039;&#039;&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] @Rank&amp;quot; not autocompleting rank names.&lt;br /&gt;
*Fix: Fixed compatibility with legacy PlayerDB format versions. PlayerDB files created by fCraft 0.400+ will work again.&lt;br /&gt;
*Fix: Fixed several syntax problems and crashes in /Gen.&lt;br /&gt;
*Fix: Fixed a bug that reset a world&#039;s BackupInterval to default and IsLocked flag to false after changing the map (backport from 0.700).&lt;br /&gt;
*Fix: Fixed a bug that prevented kicks/bans/promotions/demotions from being announced on IRC if no reason was given.&lt;br /&gt;
*Change: Capped all user-entered time spans at 9999 days.&lt;br /&gt;
*Change: Shortened and clarified some confirmation prompts ([[/Gen]], [[/WLoad]], [[/ZRemove]], [[/Import]], [[/MassRank]]).&lt;br /&gt;
&lt;br /&gt;
===0.611===&lt;br /&gt;
&#039;&#039;3 December 2011 - r1282&#039;&#039;&lt;br /&gt;
*Feature: Added information about periodic backups to [[/WInfo]].&lt;br /&gt;
*Fix: Fixed [[/Players]] not working properly if both world name and offset were given.&lt;br /&gt;
*Fix: Fixed [[/WAccess]], [[/WBuild]], and [[/ZEdit]] not working with one-letter rank names.&lt;br /&gt;
*Fix: Fixed [[/BanIP]], /BanAll, /UnbanIP, and /UnbanAll treating fully numeric player names as IPs.&lt;br /&gt;
*Fix: Fixed [[/SetInfo]] not resetting PlayerInfo.LastModified date.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] populated&amp;quot; revealing worlds with hidden players.&lt;br /&gt;
*Fix: Fixed [[/BringAll]] ignoring per-rank limits in some cases (thanks ferny530)&lt;br /&gt;
*Fix: Fixed appearance of black and white blocks in [[/Env]] edges (thanks Jonty)&lt;br /&gt;
*Fix: Fixed a bug in Position.Equals&amp;lt;Position&amp;gt;(), which may have caused unnecessary position updates in Player.UpdateVisibleEntities (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed a little crash in Chat.GetRawMessageType (thanks ruggedbear)&lt;br /&gt;
*Fix: Fixed a case where Player.CanPlace checked permissions against the wrong world&#039;s BuildSecurity controller (thanks Xesdra)&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Commands]] @Rank&amp;quot; showing hidden commands (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed a typo in [[/Worlds]] (thanks Kevinsweijen)&lt;br /&gt;
*Fix: Fixed BlockDBAutoEnable and BlockDBAutoEnableRank config keys being placed in the &amp;quot;General&amp;quot; section.&lt;br /&gt;
*Change: Improved config.xml format (now version 152). Configs created with fCraft 0.611+ will not be usable with older versions of fCraft.&lt;br /&gt;
*Change: Rewrote ServerGUI startup code to make it more responsive (thanks to 800craft for the idea).&lt;br /&gt;
*Change: Added information about command-line options to the README, and fixed some typos.&lt;br /&gt;
*Change: MaxConnectionsPerIP restriction no longer applies to localhost.&lt;br /&gt;
*Change: Increased block-ratio limit for &amp;quot;random&amp;quot;, &amp;quot;cloudy&amp;quot;, and &amp;quot;marbled&amp;quot; brushes from 1000 to 10,000.&lt;br /&gt;
&lt;br /&gt;
===0.610===&lt;br /&gt;
&#039;&#039;18 November 2011 - r1240&#039;&#039;&lt;br /&gt;
*Feature: Added [[/Fill2D]] (/f2d), [[/Triangle]] (/t), and [[/TriangleW]] (/tw) draw commands.&lt;br /&gt;
*Feature: Added ability to filter [[/Worlds]] by rank.&lt;br /&gt;
*Feature: Added [[/Static]] (a way to repeat selection commands).&lt;br /&gt;
*Feature: Added MaxUndoStates config key (how many steps back can [[/Undo]] go), and ConfigGUI bindings.&lt;br /&gt;
*Feature: Added experimental IP-range lookup to [[/Info]] (CIDR notation). Changed /Info pattern-matching single-character symbol from &#039;.&#039; to &#039;?&#039;&lt;br /&gt;
*Feature: Added pagination to [[/Players]].&lt;br /&gt;
*Feature: [[/Spectate]] and [[/SpecPatrol]] now show what commands, PMs, and rank messages the target types in.&lt;br /&gt;
*Feature: Added a way to change server salt without needing a restart, using &amp;lt;code&amp;gt;[[/Reload]] Salt&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: [[/Measure]] now shows statistics about block types in the selection.&lt;br /&gt;
*Feature: [[/Gen]] now has two new templates: &amp;quot;ocean&amp;quot; and &amp;quot;empty&amp;quot;&lt;br /&gt;
*Fix: Many fixes in name-retyping functionality.&lt;br /&gt;
*Fix: Addressed stability issues in LineWrapper and Undo/Redo.&lt;br /&gt;
*Fix: Fixed [[/WLock]] not canceling all draw commands (as intended).&lt;br /&gt;
*Fix: Fixed some outdated descriptions, links, and tooltips in ConfigGUI.&lt;br /&gt;
*Fix: Fixed being able to BanIP/BanAll/UnbanIP/UnbanAll invalid IP addresses (0.0.0.0 and 255.255.255.255).&lt;br /&gt;
*Fix: Fixed [[/Info]] printing a blank page (instead of the last page) if given offset is greater than the total number of matches.&lt;br /&gt;
*Fix: Fixed rank prefixes being appended to players&#039; names if DisplayedName is set.&lt;br /&gt;
*Fix: Fixed a couple rare crashes/hangs in ServerGUI when parsing console commands.&lt;br /&gt;
*Fix: Fixed [[/Ban]] and [[/Unban]] announcing when they&#039;re not supposed to.&lt;br /&gt;
*Fix: Fixed a potential crash in [[/BanInfo]] when looking up an IP address directly (no player name).&lt;br /&gt;
*Fix: Fixed another obscure way of revealing hidden players.&lt;br /&gt;
*Fix: Fixed Beta client kick message (thanks Voziv).&lt;br /&gt;
*Fix: Fixed [[/Commands]] defaulting to printing ALL commands.&lt;br /&gt;
*Fix: Fixed [[/Undo]] trying to re-cancel canceled commands.&lt;br /&gt;
*Fix: Fixed uncaught &amp;quot;Illegal characters in path.&amp;quot; exception when trying to save a [[/Gen]]&#039;erated map to an invalid filename.&lt;br /&gt;
*Fix: Fixed typos in [[/ReplaceNot]] and [[/UndoArea]].&lt;br /&gt;
*Change: Added a warning on startup if name verification is disabled.&lt;br /&gt;
*Change: Tweaks and improvements to [[/Info]], [[/WInfo]], [[/BanInfo]], [[/SetInfo]], and [[/Commands]].&lt;br /&gt;
*Change: Removed code that tries next port if the given one could not be used. Now fCraft either starts on the port specified in config, or dies.&lt;br /&gt;
*Change: Commands now complain about being given too many parameters (in addition to complaining about too few parameters). This should help catch mistyped commands.&lt;br /&gt;
*Change: Added an option to disable giant-tree generation in ConfigGUI&#039;s map generator.&lt;br /&gt;
*Change: Changed log format for bans/kicks to include more information, and fixed log message format for &amp;quot;Player ____ logged in from an IP shared by banned players...&amp;quot;&lt;br /&gt;
*Change: Included config.xml in the automated data backup.&lt;br /&gt;
*Change: ConfigGUI tweaks and improvements.&lt;br /&gt;
*Change: Changes some aliases:&lt;br /&gt;
**Added /Whois and /WhoWas as aliases for [[/Info]].&lt;br /&gt;
**Set &amp;quot;/B&amp;quot; and &amp;quot;/About&amp;quot; to be aliases for [[/BInfo]].&lt;br /&gt;
*Change: Changed some ConfigKey defaults:&lt;br /&gt;
**BlockDBEnabled defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
**WomEnableEnvExtensions defaults to &amp;quot;false&amp;quot;&lt;br /&gt;
**IRCBotAnnounceServerEvents defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
*Change: Discontinued ServerWinService (formerly fCraftWinService) subproject.&lt;br /&gt;
*API: Improved Vector3I, Vector3F, and Position classes a bit.&lt;br /&gt;
*API: New events: DrawOperation.Beginning / Began / Ended&lt;br /&gt;
*API: Changed the way PlayerInfo stores empty string fields. Instead of a 0-length string, it now uses nulls.&lt;br /&gt;
*Optimization: Sped up PlayerDB loading/saving, and boolean ConfigKey lookup.&lt;br /&gt;
&lt;br /&gt;
===0.604===&lt;br /&gt;
&#039;&#039;23 October 2011 - r1155&#039;&#039;&lt;br /&gt;
*Feature: Added support for repeating previously-entered player and world names. Just put a dash (-) in place of the player/world name when using a command, and fCraft will fill in the most-recently-used name.&lt;br /&gt;
*Fix: Fixed an occasional SecurityController-related crash in [[/Gen]], [[/WLoad]], and ConfigGUI world editor.&lt;br /&gt;
*Fix: Fixed an very rare problem in shutdown/restart commands.&lt;br /&gt;
*Fix: Fixed a rare crash that only happened if: MaxPlayers&amp;gt;128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.&lt;br /&gt;
*Fix: Fixed naming of paste/pastenot and pastex/pastenotx&lt;br /&gt;
*Fix: Fixed a permission exploit in /wbring (thanks to panda100123)&lt;br /&gt;
*Fix: Fixed [[/Rules]] section finder accidentally being case-sensitive.&lt;br /&gt;
*Fix: Fixed an issue with MCSharp/MCZall/MCLawl/MCQuai/MCStorm/MCForge/MCWhatever importer.&lt;br /&gt;
*Change: Decreased shading strength in IsoCat renderer.&lt;br /&gt;
*Change: Added /Who as an alias for [[/Players]], by request.&lt;br /&gt;
*Change: Clarified ConfigGUI description of name verification settings.&lt;br /&gt;
*Change: Normalized command name capitalization. Command names must now start with an uppercase letter, for consistency.&lt;br /&gt;
*API: Fixed inconsistencies in PlayerDB.txt header row format declaration.&lt;br /&gt;
&lt;br /&gt;
===0.603===&lt;br /&gt;
&#039;&#039;20 October 2011 - r1142&#039;&#039;&lt;br /&gt;
*Fix: [[/Cancel]] can no longer be repeated with &amp;quot;/&amp;quot; (no longer replaces previously-called command).&lt;br /&gt;
*Fix: Fixed [[/Rotate]] and [[/Mirror]] messing up if a paste command is in progress.&lt;br /&gt;
*Fix: Re-enabled crash interception and reporting.&lt;br /&gt;
&lt;br /&gt;
===0.602===&lt;br /&gt;
&#039;&#039;18 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Feature: One-click paste commands are now the default. Two-click aligned paste commands are now known as [[/PasteX]] (/PX) and [[/PasteNotX]].&lt;br /&gt;
*Feature: Added [[/ReplaceBrush]] (/RB) command (shortcut for &amp;lt;code&amp;gt;[[/Brush]] ReplaceBrush&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;[[/Cuboid]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: Added a way to change number of copy/paste slots per rank from ConfigGUI.&lt;br /&gt;
*Fix: Fixed a few typos and missing help entries.&lt;br /&gt;
*Fix: Fixed DrawOp completion message and log entry.&lt;br /&gt;
*Fix: Fixed [[/Paste]] and [[/PasteNot]] not properly clipping against world boundaries.&lt;br /&gt;
*Fix: Fixed ConfigGUI not preserving environment settings for worlds.&lt;br /&gt;
*Fix: Fixed ConfigGUI losing some worlds and showing some errors when importing from 0.5xx.&lt;br /&gt;
*Fix: Fixed [[/Bring]] not being usable from console.&lt;br /&gt;
*Fix: Fixed [[/WRename]] crashing if invalid characters (from filesystem&#039;s point of view) are present in the new name.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking for Spectate permission.&lt;br /&gt;
*Fix: Fixed [[/UndoArea]]&#039;d and [[/UndoPlayer]]&#039;ed blocks having &amp;quot;Restored&amp;quot; flag set in /bi&lt;br /&gt;
*Fix: Fixed a detached checkbox on &amp;quot;Worlds&amp;quot; tab of ConfigGUI.&lt;br /&gt;
*Fix: Fixed [[/Say]], [[/Staff]], and [[/Me]] getting logged twice.&lt;br /&gt;
*Fix: Fixed per-world backup settings being cleared on server restart.&lt;br /&gt;
*Fix: Fixed a rare NullReferenceException in WorldManager.LoadWorldList that occurred if the main world was missing, and the fallback world had access restrictions.&lt;br /&gt;
*Fix: Fixed some issues with BlockDB settings in &amp;quot;Add World&amp;quot; and &amp;quot;Edit World&amp;quot; popups of ConfiGUI.&lt;br /&gt;
*Fix: Fixed a rare ConfigGUI crash when resetting the rank tab whole one of the old ranks is selected.&lt;br /&gt;
*Change: Sped up [[/EllipsoidH]] and [[/SphereH]] slightly (thanks to Redshift).&lt;br /&gt;
*Change: Improved error handling in [[/Env]] when setting level.&lt;br /&gt;
*Change: Double-buffered the preview on &amp;quot;Chat&amp;quot; tab of ConfigGUI, to get rid of flicker.&lt;br /&gt;
*Change: Clarified auto-freeze message when trying to kick/ban someone without a required reason string.&lt;br /&gt;
&lt;br /&gt;
===0.601===&lt;br /&gt;
&#039;&#039;15 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Fixed several issues with [[/Undo]] and drawing commands.&lt;br /&gt;
&lt;br /&gt;
===0.600===&lt;br /&gt;
&#039;&#039;14 October 2011 - r1107&#039;&#039;&lt;br /&gt;
:&#039;&#039;See [http://www.fcraft.net/0.600/ http://www.fCraft.net/0.600] for a summary of changes, and upgrade notes.&#039;&#039;&lt;br /&gt;
*Chat: Added a {{cmd|Timer}} command for creating publicly-announced countdowns/timers.&lt;br /&gt;
*Chat: Added a way to cancel partial messages: &amp;lt;code&amp;gt;/Nvm&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Chat: Removed &amp;quot;Banned player ___ tried to log in&amp;quot; and &amp;quot;Player ___ tried to log in from a banned IP&amp;quot; messages.&lt;br /&gt;
*Chat: {{cmd|Say}}, {{cmd|Staff}}, and {{cmd|Me}} commands can no longer repeated using &amp;quot;/&amp;quot; shortcut.&lt;br /&gt;
*Chat: Added a warning when trying to PM deafened players.&lt;br /&gt;
*Chat: Added a shortcut for chatting to same rank: &amp;quot;@@ Message&amp;quot;&lt;br /&gt;
*Chat: Increased the number of blank lines sent by {{cmd|Clear}} to 30, to accommodate players with smaller-than-normal font sizes.&lt;br /&gt;
*Chat Fix: Fixed {{cmd|Say}}, {{cmd|Roll}}, {{cmd|Staff}}, and {{cmd|Me}} sometimes bypassing {{perm|Chat}} permission, mute check, or spam detection check.&lt;br /&gt;
*Chat Fix: Fixed rank chat being logged twice.&lt;br /&gt;
*Chat Fix: Fixed some system messages getting through to deafened players.&lt;br /&gt;
*Chat Fix: {{cmd|Deafen}} now clears the screen when toggled on.&lt;br /&gt;
*Commands: Rank and zone names now autocomplete.&lt;br /&gt;
*Commands: Players can no longer freeze, mute, kick, ban, unban, promote, or demote themselves.&lt;br /&gt;
*Commands: {{cmd|Players}} can now be called with an optional WorldName parameter, to only list players in a particular world.&lt;br /&gt;
*Commands: {{cmd|WLoad}} now takes two more optional parameters: build rank and access rank names.&lt;br /&gt;
*Commands: {{cmd|Info}} now shows last leave reason, idle time, freeze/mute information, and ban exemption status.&lt;br /&gt;
*Commands: Augmented {{cmd|Rules}} to support several rule categories.&lt;br /&gt;
*Commands: Added {{cmd|Spectate}} and {{cmd|SpecPatrol}} (&amp;lt;code&amp;gt;/SPat&amp;lt;/code&amp;gt;) commands.&lt;br /&gt;
*Commands: Added {{cmd|WBring}} (brings target player to a world);&lt;br /&gt;
*Commands: Added {{cmd|Spawn}} command (brings you to spawn). Typing &amp;quot;{{cmd|TP}}&amp;quot; no longer does the same thing, and {{cmd|TP}} now always requires {{perm|Teleport}} permission.&lt;br /&gt;
*Commands: Algorithm that {{cmd|Patrol}} uses to pick the next target was improved.&lt;br /&gt;
*Commands: Renamed Lock/Unlock commands to {{cmd|WLock}}/{{cmd|WUnlock}}, for consistency.&lt;br /&gt;
*Commands: Merged &amp;lt;code&amp;gt;/ReloadConfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/AutoRankReload&amp;lt;/code&amp;gt; into {{cmd|Reload}} command. Merged &amp;lt;code&amp;gt;/ImportRanks&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/ImportBans&amp;lt;/code&amp;gt; into {{cmd|Import}} command. Combined functionality of &amp;lt;code&amp;gt;/LockAll&amp;lt;/code&amp;gt; into {{cmd|WLock}}, and functionality of &amp;lt;code&amp;gt;/UnlockAll&amp;lt;/code&amp;gt; into {{cmd|WUnlock}}.&lt;br /&gt;
*Commands: {{cmd|Info}} and {{cmd|Worlds}} now support pagination.&lt;br /&gt;
*Commands: When world access permissions are changed with {{cmd|WAccess}}, players who lost ability to join the world will automatically be moved to main.&lt;br /&gt;
*Commands: Frozen player can no longer call most commands, with exception of: {{cmd|Clear}}, {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|RankInfo}}, {{cmd|ServerInfo}}, {{cmd|Ranks}}, {{cmd|Rules}}, {{cmd|Where}}, {{cmd|Help}}, {{cmd|Commands}}, {{cmd|Colors}}, {{cmd|Worlds}}, {{cmd|Zones}}, and {{cmd|ZInfo}}.&lt;br /&gt;
*Commands: {{cmd|Bring}} and {{cmd|WBring}} now give the option of overriding worlds&#039; access minimum-rank. Explicitly blacklisted players will continue to be barred.&lt;br /&gt;
*Commands: Added {{cmd|InfoSwap}} command, for swapping two players&#039; ranks and PlayerDB records.&lt;br /&gt;
*Commands: Added a way to abort a server shutdown or restart (&amp;quot;{{cmd|Shutdown|abort}}&amp;quot; or &amp;quot;{{cmd|Restart|abort}}&amp;quot;).&lt;br /&gt;
*Commands: {{cmd|RankInfo}} now shows copy/paste slots, idle kick time, and permission limits.&lt;br /&gt;
*Commands: Most time-related commands now take the [[Time formatting|compact format]] (e.g. 1m30s, 45s, 24h, etc).&lt;br /&gt;
*Commands: Color-coded {{cmd|Commands}}.&lt;br /&gt;
*Commands: Limited {{cmd|Mute}} duration to range between 1 second and 700 days (100 weeks).&lt;br /&gt;
*Commands: {{cmd|SetInfo}} now allows changing players&#039; DisplayedName.&lt;br /&gt;
*Commands: A warning is now shown when a player is kicked/banned, and other players are still connected from the IP.&lt;br /&gt;
*Commands: Added a way to add IP ban exemptions using {{cmd|BanEx}} (banning all players from IP except a particular one).&lt;br /&gt;
*Commands: Added automatic countdowns to {{cmd|Shutdown}} and {{cmd|Restart}}.&lt;br /&gt;
*Commands: Added more stats to {{cmd|ServerInfo}}.&lt;br /&gt;
*Commands: {{cmd|MassRank}} now defaults to silent, and takes a &amp;quot;reason&amp;quot; parameter.&lt;br /&gt;
*Commands: Added &amp;quot;/St&amp;quot; as an alias for {{cmd|Staff}}. Changed &amp;quot;/L&amp;quot; from being alias for {{cmd|Join}}, to being alias for {{cmd|Lava}}. Removed &amp;quot;/Cub&amp;quot; alias for {{cmd|Cuboid}}.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|UnbanIP}} and {{cmd|UnbanAll}} not announcing the unban reason.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Info}} not formatting names of offline players.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Restart}} breaking under Mono if working path contains spaces.&lt;br /&gt;
*Commands Fix: Fixed freeze/unfreeze printing wrong ranks in &amp;quot;You can only freeze players ranked ____ or lower&amp;quot; messages.&lt;br /&gt;
*Commands Fix: Fixed a rare crash in {{cmd|Rules}} when used from console.&lt;br /&gt;
*Commands Fix: {{cmd|BanIP}} and {{cmd|BanAll}} no longer allow to ban the IP if it&#039;s shared by any players whom caller is not allowed to ban.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Ignore}} and {{cmd|Unignore}} printing all matches at once on autocompletion.&lt;br /&gt;
*Commands Fix: Fixed a case where {{cmd|BringAll}} could reveal hidden players.&lt;br /&gt;
*Commands Fix: Fixed a few bugs in {{cmd|DumpStats}}, expanded player listing to top-5/bottom-5, and added &amp;quot;BlocksDrawn&amp;quot; stat.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Rank}} and {{cmd|TP}} commands showing up in {{cmd|Commands}} for ALL players.&lt;br /&gt;
*Commands Fix: Fixed a couple rare bugs in {{cmd|Roll}}.&lt;br /&gt;
*Commands Fix: Fixed broken {{cmd|BringAll}} support for bringing multiple ranks at once.&lt;br /&gt;
*Commands Fix: Fixed several obscure ways of revealing presence of hidden players via commands like {{cmd|ServerInfo}} and {{cmd|Worlds}}.&lt;br /&gt;
*Config: New config keys: BackupDataOnStartup (default: true), RestartInterval (default: 0), HeartbeatToWoMDirect (default: true), BlockDBEnabled (default: true), BlockDBAutoEnable (default: true), and BlockDBAutoEnableRank (default: DefaultRank), WoMEnableEnvExtensions (default: false).&lt;br /&gt;
*Config: Added {{perm|Spectate}} permission that covers {{cmd|Spectate}} and {{cmd|SpecPatrol}}.&lt;br /&gt;
*Config: Added {{perm|DrawAdvanced}} permission that covers {{cmd|Brush}}, {{cmd|Sphere, {{cmd|SphereH}}, {{cmd|Torus}}, and {{cmd|Restore}} commands.&lt;br /&gt;
*Config: Added {{perm|ManageBlockDB}} permission that covers {{cmd|BlockDB}}.&lt;br /&gt;
*Config: Added {{perm|UndoOthersActions}} permission that covers {{cmd|UndoPlayer}} and {{cmd|UndoArea}}.&lt;br /&gt;
*Config: {{cmd|Reload}} can now update more config keys without needing a restart: AutoRankEnabled, BandwidthUseMode, ConsoleName, DefaultRank, DefaultBuildRank, PatrolledRank.&lt;br /&gt;
*Config: Removed obsolete ShowBannedConnectionMessages config key.&lt;br /&gt;
*Config Fix: Fixed DefaultRank/DefaultBuildRank/PatrolledRank settings not being applied.&lt;br /&gt;
*ConfigGUI: Added BlockDB settings to &amp;quot;Worlds&amp;quot; tab and &amp;quot;Add/Edit World&amp;quot; dialog.&lt;br /&gt;
*ConfigGUI: Reorganized Rank tab.&lt;br /&gt;
*ConfigGUI: Relaxed restrictions on rank prefixes.&lt;br /&gt;
*ConfigGUI: Added &amp;quot;Insert Color&amp;quot; and &amp;quot;Insert Keyword&amp;quot; buttons to announce/rule/greeting editors in ConfigGUI, and a &amp;quot;Reset&amp;quot; button to revert edits.&lt;br /&gt;
*ConfigGUI: Any errors/warnings that are produced while loading &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt; in ConfigGUI are now displayed at startup.&lt;br /&gt;
*ConfigGUI Fix: ConfigGUI no longer loses worlds&#039; whitelists/blacklists.&lt;br /&gt;
*ConfigGUI Fix: Fixed several bugs related to renaming worlds.&lt;br /&gt;
*ConfigGUI Fix: Fixed several &amp;quot;Reset&amp;quot; bugs.&lt;br /&gt;
*ConfigGUI Fix: Fixed &amp;quot;Enable colors in IRC&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*ConfigGUI Fix: Fixed ConfigTool&#039;s Chat tab not updating to reflect changes in rank colors/prefixes.&lt;br /&gt;
*ConfigGUI Fix: Fixed sort order in Worlds tab when sorting by world size.&lt;br /&gt;
*ConfigGUI Fix: Fixed some rank dropdown menus in ConfigGUI showing &amp;quot;(lowest rank)&amp;quot; instead of &amp;quot;(default rank)&amp;quot; as the default option.&lt;br /&gt;
*Drawing: Introduced a brush/pattern system for draw commands. Rewrote (almost) all existing draw commands to take advantage of that new infrastructure. Brushes are: Normal (default), Checkered, Random, Cloudy, Marbled, Replace, ReplaceNot, ReplaceBrush.&lt;br /&gt;
*Drawing: Added a way to {{cmd|Undo}} up to five commands back. Use {{cmd|Redo to reverse it.&lt;br /&gt;
*Drawing: Added {{cmd|Torus}} drawing command, written and contributed by M1_Abrams.&lt;br /&gt;
*Drawing: Added support for multiple copy/paste slots, using {{cmd|CopySlot}}. Number of slots of configurable per-rank.&lt;br /&gt;
*Drawing: {{cmd|Replace}} and {{cmd|ReplaceNot}} can now take just one blocktype. The replacement type is inferred from the type of block player is holding when clicking.&lt;br /&gt;
*Drawing: {{cmd|Undo}} now cancels the last drawing commands.&lt;br /&gt;
*Drawing: Added a new [[Blocks|block name aliases]]: &amp;quot;g&amp;quot; for grass, &amp;quot;w&amp;quot; for water, &amp;quot;a&amp;quot; for air.&lt;br /&gt;
*Drawing Fix: Added a missing volume check to {{cmd|Line}}, and fixed {{cmd|CuboidW}} volume calculations.&lt;br /&gt;
*Drawing Fix: Fixed {{cmd|Copy}} and {{cmd|Cut}} reporting incorrect orientation.&lt;br /&gt;
*FrontEnd: Colored ConfigCLI log messages: red for errors, yellow for warnings, dark gray for debug, default (gray) for everything else. Call with &amp;quot;--noconsolecolor&amp;quot; parameter to disable.&lt;br /&gt;
*FrontEnd: ServerCLI now handles all updater modes properly, and downloads updater/restarts if needed.&lt;br /&gt;
*FrontEnd: Improved window titles.&lt;br /&gt;
*FrontEnd Fix: Fixed ServerCLI writing errors to stdout instead of stderr.&lt;br /&gt;
*Misc: Players who log out hidden will now log in silently, still hidden.&lt;br /&gt;
*Misc: More [[Constants|keywords]] are now usable in announcements, rules, and greeting files: {SERVER_NAME}, {MOTD}, {RANK}, {PLAYER_NAME}, {TIME}, {WORLD}, {PLAYERS}, and {WORLDS}&lt;br /&gt;
*Misc: Kicked or disconnected players no longer have their TotalTime increased for the time idled.&lt;br /&gt;
*Misc: fCraft will refuse to start up if running old versions of mono (2.4 or earlier).&lt;br /&gt;
*Misc: Crash reporter now prints a reference number for submitted reports.&lt;br /&gt;
*Misc: AutoRank now only evaluates online players on a timer. A full database sweep will only be done on startup or on-demand. This should notably reduce average CPU use on large databases.&lt;br /&gt;
*Misc: Added AutoRank pseudoplayer (similar to Console), who is now credited with all autorank promotions/demotions.&lt;br /&gt;
*Misc: Increased the allowed clicking distance when manually clicking blocks, to account for lag.&lt;br /&gt;
*Misc: IRC bot now announces channel kicks and nick changes.&lt;br /&gt;
*Misc: When a player with a reserved slot tries to join a full world, the longest-idle player will be kicked to make room.&lt;br /&gt;
*Misc: Frozen, demoted, and banned players are now automatically unhidden. Frozen players are undeafened. Banned players are also automatically unfrozen and unmuted.&lt;br /&gt;
*Misc: When a player&#039;s rank is changed, their bindings are now reset (to avoid issues with {{cmd|Water}}, {{cmd|Lava}}, and {{cmd|Solid}}), and any in-progress selection is canceled ([[:Category:Requires Draw|draw]] commands, {{cmd|Zone}}, {{cmd|ZTest}}, {{cmd|BInfo}}, {{cmd|Measure}}, etc)&lt;br /&gt;
*Misc: Frozen players now have a little blue star appended to their names, similar to the red star for banned players.&lt;br /&gt;
*Misc: Moved all heartbeat-related operations to the background thread (fixes lag spikes when minecraft.net times out).&lt;br /&gt;
*Misc: Added a dynamically updated compass at the top-right of the screen, visible to players who use WoM 1.8.8+&lt;br /&gt;
*Misc: Added a check for libMonoPosix on server startup. This allows catching misconfigured Mono setups early.&lt;br /&gt;
*Misc: Ranks now default to &amp;quot;white&amp;quot; color (&amp;quot;&amp;amp;f&amp;quot;) instead of &amp;quot;none&amp;quot; color (&amp;quot;&amp;quot;).&lt;br /&gt;
*Misc: Edited the &amp;quot;failed to load main world&amp;quot; message to sound less menacing, since it&#039;s usually caused just by main world filling up.&lt;br /&gt;
*Misc: Sped up {{cmd|PruneDB}}, {{cmd|MassRank}}, map generation. Reduced memory use of draw commands, undo buffers, and ConfigGUI.&lt;br /&gt;
*Misc Fix: Fixed &amp;quot;duplicate metadata key&amp;quot; warning in FCMv3 maps.&lt;br /&gt;
*Misc Fix: Fixed a zone-related race condition when exporting to Opticraft map format.&lt;br /&gt;
*Misc Fix: Fixed fCraft being unable to start if fCraft.dll is in the root directory of a drive (e.g. in &amp;quot;C:/&amp;quot;)&lt;br /&gt;
*Misc Fix: Fixed a bug that caused bandwidth to sometimes be wasted on needlessly updating position of non-moving players.&lt;br /&gt;
*Misc Fix: Fixed a clock drift problem in periodic SchedulerTasks.&lt;br /&gt;
*Misc Fix: Fixed a case where, in some rank configurations, players would see themselves as offline when hidden (in {{cmd|Info}}, {{cmd|BInfo}}, {{cmd|Players}}, etc).&lt;br /&gt;
*PlayerDB: Added 46th column: PlayerInfo.IsHidden (&#039;h&#039; if hidden, otherwise blank).&lt;br /&gt;
*PlayerDB: Added 47th column: PlayerInfo.LastModified (UTC unix timestamp). Accuracy is not yet guaranteed.&lt;br /&gt;
*PlayerDB: Added 48th column: PlayerInfo.DisplayedName (string or blank). Overrides &amp;quot;Name&amp;quot; field for purposes of displaying formatted name (ClassyName).&lt;br /&gt;
*PlayerDB: Removed 14th column (FailedLoginCount) due to disuse.&lt;br /&gt;
*PlayerDB: PlayerDB now writes out changes to TotalTime incrementally for online players, instead of applying the change on-logout.&lt;br /&gt;
*Worlds: Added a way to change some environment and texture settings per-map, using {{cmd|Env}}.&lt;br /&gt;
*Worlds: Per-world settings on backup intervals now work.&lt;br /&gt;
*Worlds: Added BlockDB - a system for tracking edits per-block. Added related {{cmd|BlockDB}} and {{cmd|BInfo}} commands.&lt;br /&gt;
*Worlds: Added {{cmd|UndoPlayer}} and {{cmd|UndoArea}} commands for undoing players&#039; actions using BlockDB.&lt;br /&gt;
*Worlds: If a world has a missing map file, a warning is now shown, and a default flatgrass map is created.&lt;br /&gt;
*Worlds: Added a way to set per-rank main world, using {{cmd|WMain}}.&lt;br /&gt;
*Worlds: Added {{cmd|Restore}} command, inspired by good old MinerCPP. Selectively loads a map from another file or backup.&lt;br /&gt;
*Worlds: Allowed non-standard dimensions (neither multiples of 16, nor powers of 2). Added a warning about glitches when using nonstandard dimensions.&lt;br /&gt;
*Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to {{cmd|WInfo}} and to &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worlds: MapGenerator tweaks: &amp;quot;default&amp;quot; template is now known as &amp;quot;random,&amp;quot; &amp;quot;mountains&amp;quot; template now has more cliffs and snow on mountaintops, &amp;quot;island&amp;quot; template is less rough and has nice beaches, and water is now automatically removed from &amp;quot;desert&amp;quot; maps.&lt;br /&gt;
*Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.&lt;br /&gt;
*Worlds Fix: Fixed an exploit that allowed players to bypass world access permissions in certain rank configurations.&lt;br /&gt;
*Worlds Fix: Fixed some rare crashes in {{cmd|WLoad}}.&lt;br /&gt;
*Worlds Fix: Fixed {{cmd|WAccess}} and {{cmd|WBuild}} occasionally not saving the world list after adding players to the access/build whitelists.&lt;br /&gt;
*Worlds Fix: Fixed being unable to change just the capitalization when renaming worlds from ConfigGUI, under Windows.&lt;br /&gt;
*Zones: Added {{cmd|ZRename}} command to rename zones.&lt;br /&gt;
*Zones: Added {{cmd|ZMark}} command to use zone boundaries for drawing or making selections.&lt;br /&gt;
*Zones Fix: Fixed {{cmd|ZAdd}} crash when adding more than one personal zone for the same player ({{cmd|ZAdd|+Name}}).&lt;br /&gt;
*Zones Fix: Fixed a rare case where two players could simultaneously create a zone with the same name on the same world, which would crash one of the players.&lt;br /&gt;
*Zones Fix: {{cmd|Zones}} no longer crashes if used on a world with a missing or corrupt map file.&lt;br /&gt;
*Zones Fix: Tightened security checks of {{cmd|ZAdd}} and {{cmd|ZRemove}} to prevent a permission exploit.&lt;br /&gt;
*API: Added specialized MetadataCollection class to manage per-map and per-player metadata, and ZoneCollection for zones.&lt;br /&gt;
*API: Added ReSharper-compatible annotations and more argument checks throughout the codebase.&lt;br /&gt;
*API: fCraft now consistently uses [X,Y,Z] for coordinates (where X/Y are horizontal, and Z is vertical), and [Width,Length,Height] for dimensions (Width/Length horizontal, Height vertical).&lt;br /&gt;
*API: Merged Session and Player classes. All session-related functionality is in Player.Networking.cs file.&lt;br /&gt;
*API: New line-wrapping algorithm provides better performance and safety. Now using &amp;quot;\n&amp;quot; instead of &amp;quot;&amp;amp;N&amp;quot; to force a newline.&lt;br /&gt;
*API: Renamed World.PlayerList to World.Players, Server.PlayerList to Server.Players, and added PlayerDB.PlayerInfoList&lt;br /&gt;
*API: New LINQ-style API for working with sets of players. This API is now used for all messaging and packet-sending. Old API (Server.Send* and World.Send*) was removed.&lt;br /&gt;
*API: New unified API for handling player-generated chat (Chat static class), and new events (Chat.Sending and Chat.Sent).&lt;br /&gt;
*API: All cancellable events now implement ICancellableEvent.&lt;br /&gt;
*API: MapDAT and MapNBT now implement IMapConverter.LoadHeader.&lt;br /&gt;
*API: Converted IClassy.GetClassyName(), Rank.GetFullName(), and Player.GetListName() to properties.&lt;br /&gt;
*API: Renamed ConfigKey.GetBool() to ConfigKey.Enabled(). Added ConfigKey.TryGetInt() and ConfigKey.TryGetBool() methods.&lt;br /&gt;
*API: CommandManager.RegisterCommand() now checks for reserved command names (currently &amp;quot;ok&amp;quot; and &amp;quot;nvm&amp;quot;), and does a better job at handling command name capitalization differences.&lt;br /&gt;
*API: Added ability to override Player.MaxBlockPlacementRange, Player.SocketTimeout, Heartbeat.Delay, and Heartbeat.Timeout.&lt;br /&gt;
*API: Renamed RankManager.ParseRank(string) to Rank.Parse(string)&lt;br /&gt;
*API: All draw/undo/copy/paste commands have been moved to fCraft.Drawing namespace.&lt;br /&gt;
*API: Added support for multiple {{cmd|Help}} sections per command.&lt;br /&gt;
*API: Added CommandCategory.Debug, removed CommandDescriptor.HelpHander and HelpHandler delegate.&lt;br /&gt;
*API: Moved Server.Player* events to Player.* and Server.PlayerInfo* to PlayerInfo.*&lt;br /&gt;
*API: Expanded the confirmation system (&amp;lt;code&amp;gt;/OK&amp;lt;/code&amp;gt;) to allow custom callbacks, decoupled from the command system.&lt;br /&gt;
*API Fix: &amp;quot;Bad heartbeat&amp;quot; reply from minecraft.net no longer triggers UrlChanged event.&lt;br /&gt;
*API Fix: Fixed a couple bugs in BoundingBox.GetIntersection and BoundingBox.Contains.&lt;br /&gt;
*API Fix: Fixed {{cmd|Replace}} and {{cmd|ReplaceNot}} not firing Player.PlacedBlock&lt;br /&gt;
*events.&lt;br /&gt;
*API Fix: Uncaught exceptions that occur while parsing player messages no longer send crash reports when in DEBUG configuration.&lt;br /&gt;
&lt;br /&gt;
=0.5xx=&lt;br /&gt;
&lt;br /&gt;
===0.537===&lt;br /&gt;
&#039;&#039;14 September 2011 - r991&#039;&#039;&lt;br /&gt;
*Fixed another heartbeat-related issue caused by minecraft.net updates.&lt;br /&gt;
&lt;br /&gt;
===0.536===&lt;br /&gt;
&#039;&#039;14 September 2011 - r988&#039;&#039;&lt;br /&gt;
*Fix: Fixed a rare crash in DoChangeRank when promoting/demoting offline players.&lt;br /&gt;
*Fix: Fixed a case where world access/build whitelist additions were not immediately saved.&lt;br /&gt;
*Fix: Fixed several errors in the way time spans were displayed.&lt;br /&gt;
*Fix: Unhandled exceptions in background task callbacks will no longer take down the server&lt;br /&gt;
*Change: Changed the heartbeat handler to use GET instead of POST (workaround for minecraft.net problems).&lt;br /&gt;
*Change: Removed AutoLauncher.&lt;br /&gt;
&lt;br /&gt;
===0.535===&lt;br /&gt;
&#039;&#039;1 July 2011 - r702&#039;&#039;&lt;br /&gt;
*Workaround for minecraft.net heartbeat changes.&lt;br /&gt;
&lt;br /&gt;
===0.534===&lt;br /&gt;
&#039;&#039;18 June 2011 - r668&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;lt;RestartInterval&amp;gt; config key (in seconds). It should help people who are suffering from Mono memory leaks. This setting can only currently be modified by editing config.xml&lt;br /&gt;
*Fix: Fixed /wload and /gen resetting the world&#039;s hidden status.&lt;br /&gt;
*Fix: Fixed &amp;quot;Apply&amp;quot; button not getting enabled in ConfigTool when world list is changed.&lt;br /&gt;
*Fix: Fixed /cw reporting incorrect volume (fixes #3308137).&lt;br /&gt;
*Fix: Added a confirmation when /wrename will result in overwriting a map file, and fixed a related crash (fixes #3311994).&lt;br /&gt;
*Fix: Fixed FormatException in error handling code in World.AcceptPlayer&lt;br /&gt;
*Fix: Fixed /info not showing formatted names for players who appear offline.&lt;br /&gt;
*Fix: Fixed several issues with renaming worlds from ConfigTool.&lt;br /&gt;
*Fix: Fixed /restart breaking under Mono if path contains spaces.&lt;br /&gt;
*Fix: Fixed /staff, /me, and /roll commands not requiring the Chat permission.&lt;br /&gt;
*Fix: Fixed &amp;quot;Use IRC colors&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*Change: Allowed all printable ASCII characters in chat except &#039;&amp;amp;&#039;.&lt;br /&gt;
*Change: Heartbeat tweaks to prevent &amp;quot;Bad heartbeat&amp;quot; from popping up.&lt;br /&gt;
*Optimization: ConfigTool starts up faster, and uses much less memory.&lt;br /&gt;
&lt;br /&gt;
===0.533===&lt;br /&gt;
&#039;&#039;24 May 2011 - r614&#039;&#039;&lt;br /&gt;
*Fix: Fixed a regression in 0.530 that erased some strings in PlayerInfo and IPBanInfo objects, such as ban reasons.&lt;br /&gt;
*Change: Increased heartbeat interval to 27.5 seconds.&lt;br /&gt;
*Change: Reduced jitter of player movement.&lt;br /&gt;
&lt;br /&gt;
===0.532===&lt;br /&gt;
&#039;&#039;23 May 2011 - r611&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;quot;/worlds loaded&amp;quot; command.&lt;br /&gt;
*Fix: Fixed a bug that prevented worlds from accepting any block changes after a map change (/wload or /gen)&lt;br /&gt;
*Fix: Fixed &amp;quot;Player _____ joined main.&amp;quot; displaying twice when players connect.&lt;br /&gt;
*Change: Added /colours as an alias to /colors&lt;br /&gt;
*Change: Adjusted /dumpstats security checks, and made it require EditPlayerDB permission (instead of Import).&lt;br /&gt;
&lt;br /&gt;
===0.531===&lt;br /&gt;
&#039;&#039;20 May 2011 - r603&#039;&#039;&lt;br /&gt;
*Feature: /SInfo now shows bandwidth use, fCraft version, and .NET/Mono version.&lt;br /&gt;
*Feature: Added ability to use coordinates with mark (e.g. &amp;quot;/Mark 0 0 0&amp;quot;).&lt;br /&gt;
*Fix: Fixed non-default rank settings not saving properly from ConfigTool.&lt;br /&gt;
*Fix: Fixed a serialization bug in IPBanList that happened if a ban reason was not given, or if an IP address was not associated with any player.&lt;br /&gt;
*Fix: Fixed a few minor bugs in /WMain.&lt;br /&gt;
*Change: Allowed the caret (^) in chat messages.&lt;br /&gt;
*Change: Reduced movement lag.&lt;br /&gt;
*Change: /version command has been removed due to redundancy with /sinfo.&lt;br /&gt;
*Change: Detailed reasons of player disconnects are now logged better.&lt;br /&gt;
*Change: Increased Minecraft.net heartbeat interval slightly.&lt;br /&gt;
*API: Added new events: Scheduler.TaskAdded, Scheduler.TaskExecuting, Scheduler.TaskExecuted, and Scheduler.TaskRemoved. These events are only available when fCraft.dll is built with DEBUG_SCHEDULER flag because of their performance impact.&lt;br /&gt;
*Optimization: Removed the scheduler overhead from having unloaded worlds.&lt;br /&gt;
*Optimization: Sped up MapGenerator by about 10%.&lt;br /&gt;
&lt;br /&gt;
===0.530===&lt;br /&gt;
&#039;&#039;7 May 2011 - r583&#039;&#039;&lt;br /&gt;
*Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.&lt;br /&gt;
*Feature: Added OptiCraft blocktype names and blocks&#039; numeric IDs as aliases.&lt;br /&gt;
*Fix: Fixed block bindings not being applied to drawing commands.&lt;br /&gt;
*Fix: Fixed fCraft getting confused if worlds.xml contains duplicates.&lt;br /&gt;
*Fix: Fixed &amp;quot;/&amp;quot; (repeat last command) not rewinding the command, which caused some issues with command arguments.&lt;br /&gt;
*Fix: Fixed &amp;quot;Max connections per IP&amp;quot; setting not saving in ConfigTool.&lt;br /&gt;
*Fix: Fixed AnnounceRankChangeReasons checkbox being erroneously tied to RequireRankChangeReasons key in ConfigTool.&lt;br /&gt;
*Fix: Added some missing tooltips to ConfigTool.&lt;br /&gt;
*Fix: Marked 10.0.0.0/8 IP range as LAN.&lt;br /&gt;
*Fix: Fixed an issue with balanced name verification (thanks wootalyzer).&lt;br /&gt;
*Fix: Fixed server announcing hidden players&#039; departure (#3292633). Thanks to Hellenion.&lt;br /&gt;
*Fix: Fixed /bring not checking per-rank permissions (#3292303). Thanks to Denny&lt;br /&gt;
*Fix: Fixed some header bugs in the D3 map converter.&lt;br /&gt;
*Fix: Fixed /wload crashing instead of printing an error message under Mono if the path was malformed.&lt;br /&gt;
*Fix: Fixed /banip not recognizing invalid IPs (e.g. broadcast).&lt;br /&gt;
*Fix: Fixed antispam resetting players&#039; mute time.&lt;br /&gt;
*Fix: Fixed Scheduler being able to add tasks after the shutdown process started.&lt;br /&gt;
*Fix: Reduced problems associated with players trying to connect while the server is shutting down.&lt;br /&gt;
*Fix: Added autorank.xml to the list of protected files.&lt;br /&gt;
*Fix: Fixed a crash in backup system that happened if two backups ran simultaneously and the total size or number of backup files was limited.&lt;br /&gt;
*Fix: Fixed a case where duplicate worlds could be created.&lt;br /&gt;
*Change: When players rejoin a world (e.g. /wflush or /wload), &amp;quot;joined world&amp;quot; message is no longer shown.&lt;br /&gt;
*Change: /mute no longer allows shortening players&#039; mute time, only to extend it.&lt;br /&gt;
*Change: Allowed player names with periods.&lt;br /&gt;
*Change: Removed SaveOnShutdown config key, tweaked range checks on some keys, grouped key tags into section tags.&lt;br /&gt;
*Change: When saving config.xml, keys with default values are now commented out.&lt;br /&gt;
*API: New events! PlayerHideChanged, PlayerInfoCreating, PlayerInfoCreated, PlayerInfoRankChanging, and PlayerInfoRankChanged.&lt;br /&gt;
*API: Server.StartServer() now throws specific exceptions on failure, instead of returning false.&lt;br /&gt;
*API: Removed some obsolete Server events.&lt;br /&gt;
*API: Switched to 100% Utc dates/times internally. PlayerDB now uses UTC Unix timestamps to serialize all dates/times.&lt;br /&gt;
*Optimization: Sped up map generation.&lt;br /&gt;
*Optimization: Reduced PlayerDB saving interval, reduced PlayerDB filesize, reduced CPU and memory use of PlayerDB saving, reduced memory footprint of loaded PlayerDB, improved IPAddress lookup performance in PlayerDB.&lt;br /&gt;
&lt;br /&gt;
===0.522===&lt;br /&gt;
&#039;&#039;16 April 2011 - r546&#039;&#039;&lt;br /&gt;
*Feature: Added more functionality to hollow ellipsoid and sphere, thanks to Redshift. Now it is possible to define outer/inner blocktypes.&lt;br /&gt;
*Feature: Added OptiCraft map format support, courtesy of LgZ-optical&lt;br /&gt;
*Fix: Fixed a serious error that caused a crash when main world became full. This bug affected 0.520 and 0.521.&lt;br /&gt;
*Fix: Fixed AutoLauncher not working under Mono (thanks to ven000m for spotting).&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog crashing if closed while generating a world.&lt;br /&gt;
*Fix: Fixed /restart using ShutdownReason.ShuttingDown (instead of ShutdownReason.Restarting) &lt;br /&gt;
*Fix: Fixed a crash in ConfigTool if MaxPlayers was set to be less than MaxPlayersPerWorld.&lt;br /&gt;
*Fix: When loading old configs (pre-0.520), MaxPlayersPerWorld is automatically set to match MaxPlayers, to avoid unexpected side effects.&lt;br /&gt;
*API: Added WorldCreating and WorldCreated events.&lt;br /&gt;
*API: Moved world-related commands from Server to a new class, WorldManager.&lt;br /&gt;
*API: Renamed RankList to RankManager, and CommandList to CommandManager, for consistency.&lt;br /&gt;
&lt;br /&gt;
===0.521===&lt;br /&gt;
&#039;&#039;12 April 2011 - r534&#039;&#039;&lt;br /&gt;
*Feature: Added a /Clear command, to clear in-game chat. Also works from fCraftConsole and fCraftUI.&lt;br /&gt;
*Fix: Added missing chat commands.&lt;br /&gt;
*Fix: Cosmetic fixes in /ZRemove.&lt;br /&gt;
&lt;br /&gt;
===0.520===&lt;br /&gt;
&#039;&#039;12 April 2011 - r532&#039;&#039;&lt;br /&gt;
*Feature: Removed the server-wide 128 player limit. Now the limit is per-world.&lt;br /&gt;
*Feature: You can now repeat the last command by typing &amp;quot;/&amp;quot;&lt;br /&gt;
*Feature: Added a way to use color codes in chat (with % instead of &amp;amp;), a UseColorCodes permission, and a /colors command.&lt;br /&gt;
*Feature: Added support for multi-line messages or commands. Add &amp;quot; /&amp;quot; to the end of a line to continue typing it.&lt;br /&gt;
*Feature: Added &amp;quot;/commands&amp;quot;, to replace &amp;quot;/help commands&amp;quot;. It allows filtering commands by rank, category, permissions, etc. Aliases: /cmdlist, /cmds&lt;br /&gt;
*Feature: New permissions: ViewPlayerIPs, BringAll&lt;br /&gt;
*Feature: New config switches: AnnounceRankChangeReasons and RequireKickReason.&lt;br /&gt;
*Feature: Replaced LimitOneConnectionPerIP config key (boolean) with a more flexible MaxConnectionsPerIP (int).&lt;br /&gt;
*Feature: Added /bringall command, for moving everyone (or only certain ranks) from your world (or optionally all worlds, or a list of other worlds) to your location.&lt;br /&gt;
*Feature: /bring can be limited per-rank&lt;br /&gt;
*Feature: When file is not found on case-sensitive filesystems, fCraft tries to syggest similar filenames.&lt;br /&gt;
*Feature: Added new constants to use in greeting.txt: {TIME}, {PLAYER_NAME}, {WORLD}, {PLAYERS}, {WORLDS}, {MOTD}&lt;br /&gt;
*Feature: Improved compatibility with SurvivalTest clients.&lt;br /&gt;
*Fix: Fixed /banip not kicking other players from the same IP (besides the named player)&lt;br /&gt;
*Fix: Added missing blocktype validation to MapFCMv2, MapFCMv3, MapMyne, and MapNBT.&lt;br /&gt;
*Fix: Fixed a rare shutdown crash in fCraftUI.&lt;br /&gt;
*Fix: Improved the way PlayerDB.Load handles errors in individual records. A single corrupted entry will no longer prevent the rest from loading.&lt;br /&gt;
*Fix: Fixed fCraftUI abruptly quitting on crash / failure to start, instead of showing the error message. Use &amp;quot;--exitoncrash&amp;quot; command-line switch to reproduce old behavior.&lt;br /&gt;
*Fix: Fixed ConfigTool&#039;s World tab not prompting to delete map files when deleting worlds.&lt;br /&gt;
*Fix: Fixed a bug in MCSharp importer (#3281305)&lt;br /&gt;
*Fix: Fixed a list of permissions in /rinfo not being sorted.&lt;br /&gt;
*Fix: Fixed /mute rank limit dropdown sometimes getting out of sync.&lt;br /&gt;
*Fix: Fixed IRC bot redundantly announcing kicks when someone has been banned.&lt;br /&gt;
*Fix: Fixed a bug where fCraft would fail to start if PlayerDB.txt was truncated/empty.&lt;br /&gt;
*Change: Moved &amp;quot;IP&amp;quot; config key from General to Advanced.&lt;br /&gt;
*Change: Added /spin as an alias to /rotate (for MCLawl users)&lt;br /&gt;
*API: New events: PlayerClicking, PlayerClicked, PlayerPlacingBlock, PlayerPlacedBlock, PlayerListChanged, PlayerBeingKicked, PlayerKicked&lt;br /&gt;
*Optimization: Reduced CPU use of draw commands by ~30%. Sped up PlayerDB loading by ~8%, and reduced memory use when saving. Also reduced PlayerDB filesize by about 15%&lt;br /&gt;
&lt;br /&gt;
===0.512===&lt;br /&gt;
&#039;&#039;2 April 2011 - r508&#039;&#039;&lt;br /&gt;
*Feature: /zones can now be used from console, and can be used on any world (active or inactive).&lt;br /&gt;
*Feature: Improved D3 map importer.&lt;br /&gt;
*Fix: Added missing filename sanity/safety checks to /dumpstats (#3267362, thanks to Hellenion)&lt;br /&gt;
*Fix: Fixed mixed up messages shown in /waccess and /wbuild (#3179189)&lt;br /&gt;
*Fix: Fixed crash reports sometimes failing to submit.&lt;br /&gt;
*Fix: Fixed /dumpstats crashing if a rank had 0 players.&lt;br /&gt;
*Fix: Made Mono version detection less crashy (#3267476, thanks to Hellenion again)&lt;br /&gt;
*Fix: Fixed MapUtility.LoadHeader terminating early, before going through all fallback converters.&lt;br /&gt;
*Fix: Fixed ConfigTool tab order.&lt;br /&gt;
*Fix: Fixed fCraft reporting inaccurate CPU usage figures.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in /rank if an invalid player name was given.&lt;br /&gt;
*Fix: Fixed fCraft project not building under Windows if path contains spaces.&lt;br /&gt;
*Change: Added &amp;quot;/serverreport&amp;quot; as an alias for &amp;quot;/sinfo&amp;quot;&lt;br /&gt;
*Change: Improved the way fCraft handles and reports map loading errors.&lt;br /&gt;
*API Change: Moved all filename constants (e.g. &amp;quot;PlayerDB.txt&amp;quot;) to Paths class.&lt;br /&gt;
&lt;br /&gt;
===0.511===&lt;br /&gt;
&#039;&#039;31 March 2011 - r497&#039;&#039;&lt;br /&gt;
*Feature: Further improvements to Mono support. fCraft will now utilize mono-sgen whenever possible.&lt;br /&gt;
*Fix: Fixed fCraftUI ignoring command-line arguments.&lt;br /&gt;
*Fix: Fixed broken /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed crash reports failing to submit.&lt;br /&gt;
*Fix: Fixed a timezone-related bug that messed up players&#039; &amp;quot;total time on server&amp;quot; stat.&lt;br /&gt;
*Change: Added a warning if running on old versions of Mono (2.6 or lower). &lt;br /&gt;
&lt;br /&gt;
===0.510_r489===&lt;br /&gt;
&#039;&#039;29 March 2011 - r489&#039;&#039;&lt;br /&gt;
*Fix: Fixed unnecessary GDI+ dependence in fCraftConsole under Mono&lt;br /&gt;
*Fix: Fixed EnumKeyAttribute not taking blank values (as in case of ProcessPriority config key).&lt;br /&gt;
&lt;br /&gt;
===0.510===&lt;br /&gt;
&#039;&#039;29 March 2011 - r488&#039;&#039;&lt;br /&gt;
*Feature: The fCraft updater has been rewritten and expanded. It now works under all OSes, and provides more features.&lt;br /&gt;
*Feature: fCraft now handles differences between case-sensitive and case-insensitive filesystems much better. /wrename and /wload are also aware of the filesystem.&lt;br /&gt;
*Feature: fCraft now checks presence, filename capitalization, and integrity of all map files on the world list at startup.&lt;br /&gt;
*Feature: New ConfigTool settings for updater, checkbox for showing &amp;quot;player connected/left&amp;quot; messages, and &amp;quot;/mute&amp;quot; permission settings.&lt;br /&gt;
*Feature: Added &amp;quot;/credits&amp;quot; command to ConfigUI.&lt;br /&gt;
*Feature: Implemented &amp;quot;--norestart&amp;quot; and &amp;quot;--exitoncrash&amp;quot; command-line switches for fCraft.&lt;br /&gt;
*Feature: fCraft event system is being rewritten with modding support in mind.&lt;br /&gt;
*Feature: Improved MCSharp/MCZall/MCLawl map support.&lt;br /&gt;
*Fix: Software errors that happen while parsing player and console commands will no longer cause disconnects/crashes.&lt;br /&gt;
*Fix: IPBanList will attempt to recover records lost due to a recent regression in 0.505.&lt;br /&gt;
*Fix: Fixed /wrename errors in cases where names differ only in capitalization.&lt;br /&gt;
*Fix: Fixed &amp;quot;Copy Existing World&amp;quot; showing the current world on the list in AddWorldPopup.&lt;br /&gt;
*Fix: Fixed &amp;quot;Chat&amp;quot; tab preview not updating when settings are reset.&lt;br /&gt;
*Fix: Fixed per-world whitelist/blacklist not saving when worlds are edited with AddWorldPopup.&lt;br /&gt;
*Fix: Fixed non-verified connections that get kicked from affecting that name&#039;s PlayerInfo.&lt;br /&gt;
*Fix: Server.GenerateSalt() now uses a cryptographically secure PRNG.&lt;br /&gt;
*Fix: Fixed verification problems on servers with HeartbeatEnabled=false.&lt;br /&gt;
*Fix: Fixed a wrong message being shown by /rank if the target is already same or higher/lower rank.&lt;br /&gt;
*Fix: Fixed /winfo showing incorrect information for last lock/unlock event.&lt;br /&gt;
*Fix: Fixed tabbing order on ConfigUI.&lt;br /&gt;
*Fix: Improved the way Server.InitLibrary and Logger.Log errors are handled.&lt;br /&gt;
*Fix: Added missing validation checks to LoadHeader in several map converters.&lt;br /&gt;
*Fix: Fixed players being able to complete a draw command or /zadd, if they were demoted before clicking for the second time.&lt;br /&gt;
*Fix: Added missing /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed a bug in /zinfo that showed incorrect creation/editing times.&lt;br /&gt;
*Fix: Better error messages for unrecognized block names in command parameters.&lt;br /&gt;
*Fix: /restart now works from ConfigUI under Mono (but still broken in fCraftConsole).&lt;br /&gt;
*Fix: Fixed handling of command-line arguments surrounded with quotes.&lt;br /&gt;
*Fix: Fixed a bug at ConfigTool.ConfigUI.xAllowSecurityCircumvention_CheckedChanged (#3181907, thanks to clhdrums87).&lt;br /&gt;
*Fix: Fixed /winfo counting hidden players (#3237877, thanks to Hellenion).&lt;br /&gt;
*Fix: Fixed MCSharp map exporter mixing up map dimensions (#3159501, thanks to dogwatch).&lt;br /&gt;
*Change: Improved the way fCraft project is built. Now all binaries are copied to /trunk/bin/Release or /trunk/bin/Debug.&lt;br /&gt;
*Change: Improved error tolerance of Scheduler.EndShutdown().&lt;br /&gt;
*Change: Expanded Logger.CheckForCommonErrors().&lt;br /&gt;
*Change: Renamed config keys (old ones can still be loaded): IRCBot to IRCBotEnabled, AutomaticUpdates to UpdaterMode.&lt;br /&gt;
*Change: Added /wadd as an alias for /wload.&lt;br /&gt;
*Change: Renamed Mcc namespace to fCraft.MapConversion.&lt;br /&gt;
*Change: Decreased timeout for fCraft update check.&lt;br /&gt;
*Change: Added a confirmation prompt to /rank when adding an unrecognized player name to the database.&lt;br /&gt;
*Optimization: Sped up heartbeat sending and world-related operations, increased world saving interval to 90 seconds, reduced per-player idle CPU usage, halved CPU usage of draw commands.&lt;br /&gt;
&lt;br /&gt;
===0.506===&lt;br /&gt;
&#039;&#039;11 February 2011 - r427&#039;&#039;&lt;br /&gt;
*Feature: Added hollow ellipsoid drawing (/eh) and hollow sphere drawing (/sph), contributed by Conrad &amp;quot;Redshift&amp;quot; Morgan.&lt;br /&gt;
*Fix: Fixed a regression in 0.503 that caused some IP ban records to be lost. I am terribly sorry!&lt;br /&gt;
*Fix: Fixed a path-related error in Map.SaveBackup&lt;br /&gt;
*Fix: Fixed a possible disconnect in Player.CheckBlockSpam is antigrief was not configured properly.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool.SaveWorldList.&lt;br /&gt;
*Fix: Fixed &amp;quot;Limit the number of blocks that can be undone&amp;quot; checkbox misbehaving (thanks to ven000m for bug report).&lt;br /&gt;
*Change: By popular demand /sphere2 is now the default behavior of /sphere.&lt;br /&gt;
*Change: Removed &amp;quot;oldSalt&amp;quot; check for name verification, to avoid having the server write to config.xml unnecessarily.&lt;br /&gt;
*Change: Removed &amp;quot;.backup&amp;quot; file creation, by popular demand. It was kinda useless.&lt;br /&gt;
&lt;br /&gt;
===0.505===&lt;br /&gt;
&#039;&#039;8 February 2011 - r422&#039;&#039;&lt;br /&gt;
*Feature: All draw commands now inform player if any blocks were skipped due to local permission issues (e.g. zones).&lt;br /&gt;
*Fix: Fixed a regression that caused backups to be saved in the wrong path. Backups were being saved to ./backups/ instead of ./maps/backups/&lt;br /&gt;
*Fix: Fixed a permission issue in /replace and /replacenot.&lt;br /&gt;
*Fix: Fixed /info not displaying a list of players from same IP.&lt;br /&gt;
*Fix: Addressed a security issue with salt generation.&lt;br /&gt;
&lt;br /&gt;
===0.504===&lt;br /&gt;
&#039;&#039;3 February 2011 - r419&#039;&#039;&lt;br /&gt;
*Fixed a crash bug related to SecurityController.MinRank&lt;br /&gt;
&lt;br /&gt;
===0.503===&lt;br /&gt;
&#039;&#039;3 February 2011 - r418&#039;&#039;&lt;br /&gt;
*Feature: Added /deafen command. It temporarily blocks all incoming messages (makes you go &amp;quot;deaf&amp;quot;), to allow taking screenshots, recording videos, or just playing without the wall of text.&lt;br /&gt;
*Feature: Added ShowBannedConnectionMessages config key (default: true). When disabled, no &amp;quot;banned player tried to log in&amp;quot; messages are shown.&lt;br /&gt;
*Fix: Fixed PlayerInfo.frozenOn not being set.&lt;br /&gt;
*Fix: Fixed kick messages for players affected by /banall&lt;br /&gt;
*Fix: Fixed /unbanall reason not being shown.&lt;br /&gt;
*Fix: /where now shows what world you are on.&lt;br /&gt;
*Fix: Fixed a couple minor bugs in /waccess and /wbuild.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in SecurityController constructor.&lt;br /&gt;
*Fix: Made several tweaks to improve the first-run experience.&lt;br /&gt;
&lt;br /&gt;
===0.502===&lt;br /&gt;
&#039;&#039;31 January 2011 - r411&#039;&#039;&lt;br /&gt;
*Fix: Adjusted for yet another change in the way minecraft.net replies to heartbeats (should fix all heartbeat issues for now).&lt;br /&gt;
*Fix: Added a check to /zremove to prevent players from deleting zones to gain access to areas from which they&#039;re barred.&lt;br /&gt;
*Fix: Fixed being able to use /me or /staff to write empty messages.&lt;br /&gt;
*Fix: Fixed frozen players not getting defrosted when kicked.&lt;br /&gt;
*Fix: Formatting fixes in &amp;quot;___ was previously frozen&amp;quot; message&lt;br /&gt;
*Fix: Fixed a mini-bug in Map.ValidateHeader()&lt;br /&gt;
*Change: Renamed /wremove to /wunload for consistency. &amp;quot;/wremove&amp;quot; is still usable as an alias.&lt;br /&gt;
&lt;br /&gt;
===0.501===&lt;br /&gt;
&#039;&#039;30 January 2011 - r408&#039;&#039;&lt;br /&gt;
*Feature: Added /sphere and /sphere2, based on code contributed by SystemX17.&lt;br /&gt;
*Feature: Added new config setting: ShowConnectedMessages (default: true)&lt;br /&gt;
*Feature: Added a notification for players who logged in frozen.&lt;br /&gt;
*Fix: Fixed frozen players twitching.&lt;br /&gt;
*Fix: Fixed IRC bot not stripping color codes in messages relayed from IRC to the game.&lt;br /&gt;
*Fix: Fixed lastSeen and lastLoginDate not being set for first-time players who failed to log in (e.g. IP-banned).&lt;br /&gt;
*Fix: Fixed /bring not working properly on frozen players.&lt;br /&gt;
*Fix: Fixed a case where it was possible to add access restrictions to main map.&lt;br /&gt;
*Fix: Fixed per-world whitelists/blacklists being lost when editing worlds.xml via ConfigTool.&lt;br /&gt;
*Fix: Fixed AutoRankAll showing wrong number of players promoted/demoted (just a formatting bug, no promotions were affected)&lt;br /&gt;
&lt;br /&gt;
===0.500===&lt;br /&gt;
&#039;&#039;25 January 2011 - r399&#039;&#039;&lt;br /&gt;
*Commands: Added /line drawing command, kindly contributed by SystemX17&lt;br /&gt;
*Commands: Added /restart command, to restart the server remotely (NOTE: does not work for fCraftWinService yet)&lt;br /&gt;
*Commands: Added /unmute command (same as &amp;quot;/mute name 0&amp;quot;)&lt;br /&gt;
*Commands: Added an option to silently hide (no disconnect/connect message).&lt;br /&gt;
*Commands: Added /ignore and /unignore commands to block chat from another player (for the duration of your visit).&lt;br /&gt;
*Commands: /whide and /wunhide commands added to hide/unhide worlds from the list.&lt;br /&gt;
*Commands: /worlds now takes an optional param: &amp;quot;/worlds all&amp;quot; lists visible+hidden worlds, and &amp;quot;/worlds hidden&amp;quot; lists hidden worlds only.&lt;br /&gt;
*Commands: List of player names from the same IP is now shown in /info.&lt;br /&gt;
*Commands: /help now shows what rank you need to be to use a command (for most commands).&lt;br /&gt;
*Commands: /bring now works on frozen players.&lt;br /&gt;
*Commands: /bring now takes an optional second name/parameter, to teleport someone to someone&lt;br /&gt;
*Commands: /info now shows whether a player is hidden (if the command caller has permission to see).&lt;br /&gt;
*Commands: Fixed a case where teleporting to a player who is currently changing worlds brings one to a wrong location.&lt;br /&gt;
*Commands: Fixed bindings (/water, /lava, /solid, and /bind) not being applied to draw commands.&lt;br /&gt;
*Commands: /wsave and /gen can now create directories if needed.&lt;br /&gt;
*Commands: Fixed a bug in /roll&lt;br /&gt;
*Commands: Sped up /paste, /pastenot, /replace, and /replacenot slightly.&lt;br /&gt;
*ConfigTool: New &amp;quot;Chat&amp;quot; tab for controlling appearance and content of in-game chat.&lt;br /&gt;
*ConfigTool: Added ability to customize MeColor (for /me messages, default: purple) and WarningColor (for major errors/warnings, default: red) in config.&lt;br /&gt;
*ConfigTool: AddWorldPopup can now show detailed info for maps of all supported formats.&lt;br /&gt;
*ConfigTool: Improved tooltips for several items in ConfigUI.&lt;br /&gt;
*FrontEnd: Uncaught exceptions that happen while executing commands from fCraftUI console are now handled by the crash reporter (instead of actually crashing).&lt;br /&gt;
*FrontEnd: Added /clear command for fCraftUI and fCraftConsole - clears log screen.&lt;br /&gt;
*FrontEnd: The URL is no longer highlighted after first heartbeat, to avoid stealing focus from console.&lt;br /&gt;
*Generator: Fixed &amp;quot;flatgrass&amp;quot; template&lt;br /&gt;
*Generator: Fixed alphabetical order in the list of templates&lt;br /&gt;
*Generator: MapGenerator now embeds generation parameters into the map file metadata&lt;br /&gt;
*Generator: Fixed several template loading bugs.&lt;br /&gt;
*Generator: Optimized AddBeaches to be about 2x faster&lt;br /&gt;
*Generator: Added a missing dimension check to /gen&lt;br /&gt;
*IRC: Messages relayed from game to IRC now have color codes preserved.&lt;br /&gt;
*IRC: Kicks, Bans, unbans, promotions, and demotions can now be relayed to IRC.&lt;br /&gt;
*IRC: IRC bot now relays /say messages, and /me messages (both /me on IRC and /me on the server).&lt;br /&gt;
*IRC: IRC Error handling is greatly improved.&lt;br /&gt;
*IRC: (Threaded) If one of the bots loses connection, one of the other bots take over parsing input.&lt;br /&gt;
*IRC: Increased IRC reconnect delay to 15 seconds.&lt;br /&gt;
*Maps: Switched to a new file format (FCMv3) that allows for future additions like block tracking and physics.&lt;br /&gt;
*Maps: Much of MCC (map conversion) API was rewritten for better consistency and performance.&lt;br /&gt;
*Maps: Improved support for loading indev (pre-infinite) maps, including Omen-generated maps.&lt;br /&gt;
*Maps: Improved resilience for loading maps with unknown blocktypes. Instead of failing, it just replaces any unknown blocks with air.&lt;br /&gt;
*Maps: Added consistent header validation to all map format loaders.&lt;br /&gt;
*Maps: Fixed maps not autosaving when zones are added or removed.&lt;br /&gt;
*Maps: Zone definitions are now serialized to XML. Zones saved with this revision of fCraft will no longer be readable by older version of fCraft.&lt;br /&gt;
*Maps: Fixed a bug when loading JTE&#039;s format maps.&lt;br /&gt;
*Maps: Fixed format of backup filenames.&lt;br /&gt;
*PlayerDB: Added new fields: bannedUntil, frozenOn, frozenBy, mutedUntil, mutedBy, IRCPassword, online, leaveReason&lt;br /&gt;
*PlayerDB: Fixed PlayerInfo.ID not being assigned for new players until sever restart / DB reload.&lt;br /&gt;
*PlayerDB: Fixed off-by-one error with PlayerInfo.timesVisited&lt;br /&gt;
*PlayerDB: Fixed /me, /say, rank chat, and /staff not counting towards PlayerInfo.linesWritten&lt;br /&gt;
*PlayerDB: Made PlayerDB more resilient to errors. Reduced filesize slightly by omitting default values for more date fields, and removing milliseconds from &amp;quot;totalTime&amp;quot;&lt;br /&gt;
*PlayerDB: Improved forwards compatibility of PlayerDB by removing maximum-field-count check.&lt;br /&gt;
*Security: Worlds can now have player whitelists and blacklists (just like zones) for access and build permissions.&lt;br /&gt;
*Security: Added a security check to /wsave, /wload, and /gen to prevent reading or overwriting files outside the map folder.&lt;br /&gt;
*Security: Added a per-rank security option to prevent players from whitelisting themselves, removing themselves from blacklists, or lowering their rank&#039;s restrictions on worlds and zones.&lt;br /&gt;
*Security: /mute and /freeze are now persistent even if the player reconnects.&lt;br /&gt;
*Security: Relaxed SetTile packet checks. Players will no longer be kicked due to Minecraft client bugs.&lt;br /&gt;
*Security: Fixed an exploit that allowed changing steps to doublesteps even inside zoned areas.&lt;br /&gt;
*Security: Improved consistency of permission dependencies.&lt;br /&gt;
*Security: Fixed a security exploit in /wmain that allowed players with ManageWorlds permission to gain access to restricted worlds.&lt;br /&gt;
*Security: Fixed a bug that prevented banning players who were not yet in PlayerDB.&lt;br /&gt;
*Security: Added an option to only allow paid players (PaidPlayersOnly)&lt;br /&gt;
*Stability: Made crash reporting more reliable. A failed crash report will no longer prevent error message from being logged and displayed.&lt;br /&gt;
*Stability: Fixed a crash in AddWorldPopup if dialog is closed while a map is still loading.&lt;br /&gt;
*Stability: To improve compatibility with some bots, removed &amp;quot;almost there...&amp;quot; message on the loading screen&lt;br /&gt;
*Stability: Disabled error reporting of common non-fCraft-related errors (like wrong runtime versions, or wrong Mono permissions).&lt;br /&gt;
*Stability: Added &amp;quot;libMonoPosixHelper.so&amp;quot; and &amp;quot;UnauthorizedAccessException&amp;quot; to Logger.CheckForCommonErrors, and made &amp;quot;Could not load file or assembly&amp;quot; check locale-independent.&lt;br /&gt;
*Stability: A backup file is now created whenever PlayerDB, IP ban list, config, or world list are saved (e.g. PlayerDB.txt.backup)&lt;br /&gt;
*Stability: Crash reporter now sends last 25 lines of the log.&lt;br /&gt;
*Stability: Added a fallback overload for Player.Message() that bypasses string format, to make the whole thing less prone to format errors.&lt;br /&gt;
*System: fCraft now takes command-line arguments (at startup) to override the following:&lt;br /&gt;
**working directory (--path=/your/path/here)&lt;br /&gt;
**log directory (--logpath=/your/path/here)&lt;br /&gt;
**map directory (--logpath=/your/path/here) - also overridable in a more user-friendly way via ConfigTool (MapPath key)&lt;br /&gt;
**config file location (--config=/your/path/and/filename.xml)&lt;br /&gt;
*System: Added an option to change the name of Console pseudoplayer in the config.&lt;br /&gt;
*System: Player.GetClassyName() and PlayerInfo.GetClassyName() now add an asterisk after banned players&#039; names&lt;br /&gt;
*System: Fixed hidden players remaining hidden in some cases.&lt;br /&gt;
*System: Fixed PacketWriter.MakeWrappedMessage ignoring uppercase hex colorcodes&lt;br /&gt;
*System: Implemented NoPartialPositionUpdates and RelayAllUpdates config keys.&lt;br /&gt;
*System: Several little glitches and inefficiencies fixed in movement handling code.&lt;br /&gt;
*System: Fixed &amp;quot;player connected&amp;quot; and other messages showing up too early in-game (before map loaded).&lt;br /&gt;
*System: Fixed kick message for players affected by /banall&lt;br /&gt;
*System: Added HeartbeatEnabled config key (default: true)&lt;br /&gt;
*System: Fixed a case where heartbeat could be sent from a different IP than the listening port on systems with multiple NICs/IPs and no configured static IP.&lt;br /&gt;
*System: Increased the write buffer for writing out PlayerDB, reducing I/O time by ~20% on .NET, and ~35% on Mono&lt;br /&gt;
*System: New Scheduler API.&lt;br /&gt;
*System: Modified /wload to avoid loading the map twice in case confirmation is needed.&lt;br /&gt;
*System: Changes to AutoRankEnabled will now be applied when /reloadconfig is called.&lt;br /&gt;
*System: Fixed unnecessary confirmation being asked when world name matches file name in /wload&lt;br /&gt;
*System: Eliminated the heartbeat thread by switching to async i/o.&lt;br /&gt;
*System: Improved startup and shutdown speed.&lt;br /&gt;
*System: Added a &amp;quot;how to promote yourself&amp;quot; message for fresh installations of fCraft.&lt;br /&gt;
*System: Fixed Server.OnPlayerDisconnected event firing for unregistered sessions.&lt;br /&gt;
*System: Made Color.Parse() and Color.GetName() translate fCraft-specific color assignments (e.g &amp;quot;&amp;amp;S&amp;quot; for &amp;quot;System&amp;quot;)&lt;br /&gt;
*System: Added better detection for SMP/Alpha clients trying to connect.&lt;br /&gt;
*System: Sped up AutoRankAll&lt;br /&gt;
&lt;br /&gt;
=0.4xx=&lt;br /&gt;
===0.499===&lt;br /&gt;
&#039;&#039;6 November 2010 - r311&#039;&#039;&lt;br /&gt;
*Feature: Added an option to disable name verification for players connecting from LAN.&lt;br /&gt;
*Feature: Added &#039;flat&#039; template to MapGenerator, allowing to make flat maps with any theme.&lt;br /&gt;
*Feature: Added &#039;grass&#039; pseudotheme to /gen command, which is basically the &#039;Forest&#039; theme with trees disabled.&lt;br /&gt;
*Fix: Fixed /wflush leaving ghosts/clones behind.&lt;br /&gt;
*Fix: Fixed muted players being able to use /say and /staff&lt;br /&gt;
*Fix: Fixed /baninfo ignoring permission checks.&lt;br /&gt;
*Fix: Fixed &amp;quot;draw limit&amp;quot; checkbox getting disabled in ConfigTool if a player had &#039;CopyAndPaste&#039; permission but no &#039;Draw&#039; permission.&lt;br /&gt;
*Fix: Fixed several off-by-1 errors involving random number generation, notably in MapGenerator and Server.GenerateSalt()&lt;br /&gt;
*Fix: Fixed potential crash in MapGenerator.SealLiquids&lt;br /&gt;
*Fix: Fixed a potential crash in Map.SaveBackup() if the map filename contained brackets.&lt;br /&gt;
*Fix: Fixed a forced disconnect when trying to feed /gen a theme or template with brackets in the name.&lt;br /&gt;
&lt;br /&gt;
===0.498===&lt;br /&gt;
&#039;&#039;4 November 2010 - r308&#039;&#039;&lt;br /&gt;
*Change: Disabled zlib support due to more potential memory leaks. fffuuuuu....&lt;br /&gt;
*Fix: Fixed Island, Bay, and Ice templates broken by the last patch.&lt;br /&gt;
*Fix: MapGeneratorArgs: snowTransition was interpreted as absolute (instead of relative) altitude, and marbledHeightmap incorrectly defaulted to &#039;true&#039;.&lt;br /&gt;
*Change: Updated readme and changelog.&lt;br /&gt;
&lt;br /&gt;
===0.497===&lt;br /&gt;
&#039;&#039;4 November 2010 - r306&#039;&#039;&lt;br /&gt;
*Feature: Added accurate progress reporting from MapGenerator. Coming soon: cancellation.&lt;br /&gt;
*Feature: New MapGenerator options: BeachHeight, CliffSmoothing, LandSlope, UnderwaterSlope, MaxHeightVariation, MaxDepthVariation.&lt;br /&gt;
*Feature: Added UI controls for snow/cliff/beach settings to AddWorldPopup.&lt;br /&gt;
*Feature: Added a list of popular IRC networks to ConfigTool.&lt;br /&gt;
*Change: Improved PlayerDB lookup performance by reducing locking.&lt;br /&gt;
*Fix: Fixed MapGenerator calculating slope incorrectly at the water boundary.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add Ore&amp;quot; requiring &amp;quot;Add Caves&amp;quot; in MapGenerator.&lt;br /&gt;
*Fix: Fixed water/lava caves not sealing liquids properly. &lt;br /&gt;
*Change: Set MapGenerator to default to 256x256x96&lt;br /&gt;
*Change: AddWorldPopup Generator tab layout overhaul&lt;br /&gt;
*Change: Organized MapGeneratorArgs and added serialization/deserialization for all the new options.&lt;br /&gt;
&lt;br /&gt;
===0.496===&lt;br /&gt;
&#039;&#039;3 November 2010 - r301&#039;&#039;&lt;br /&gt;
*Fix: Fixed File.Replace() failing if fCraft was set up on a partition/volume other than the one where temp folder is.&lt;br /&gt;
*Fix: Added missing tooltip for &amp;quot;Edit Greeting&amp;quot;&lt;br /&gt;
*Fix: Fixed /sinfo including hidden players in the player count.&lt;br /&gt;
&lt;br /&gt;
===0.495===&lt;br /&gt;
&#039;&#039;2 November 2010 - r300&#039;&#039;&lt;br /&gt;
*Feature: Added a way to edit the greeting message, by editing &amp;quot;greeting.txt&amp;quot;&lt;br /&gt;
*Feature: When a player gets banned, any previously-banned accounts from same IP are listed.&lt;br /&gt;
*Fix: Fixed renaming worlds from ConfigTool&#039;s &amp;quot;worlds&amp;quot; tab not always working.&lt;br /&gt;
*Fix: Fixed several filesystem-related errors on non-Windows systems by using Path.Combine() instead of string concatenation.&lt;br /&gt;
*Fix: Possible workaround for missing heartbeats.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;default build rank&amp;quot; controls in ConfigTools.&lt;br /&gt;
*Fix: Fixed overwrite confirmation popping up for /wload when loading map into an unloaded world with the same name.&lt;br /&gt;
*Fix: Fixed a case where Forester could get into an infinite loop when there&#039;s not enough room to place requested number of trees.&lt;br /&gt;
&lt;br /&gt;
===0.494===&lt;br /&gt;
&#039;&#039;31 October 2010 - r297&#039;&#039;&lt;br /&gt;
*Feature: New map generator features:&lt;br /&gt;
**Adjustable water level.&lt;br /&gt;
**Realistic trees (powered by Forester)&lt;br /&gt;
**Snow on mountaintops&lt;br /&gt;
**Realistic cliffs&lt;br /&gt;
**Beaches&lt;br /&gt;
**New template (peninsula) and theme (swamp).&lt;br /&gt;
**Option to delay heightmap bias until after marbling/inversion.&lt;br /&gt;
*Feature: Added a way to load .mine maps.&lt;br /&gt;
*Feature: Added confirmation for potentially destructive commands: /importranks, /importbans, /massrank, /wload overwrites, /gen overwrites, /wsave overwrites, /zremove.&lt;br /&gt;
*Feature: Added /staff chat and ReadStaffChat permission.&lt;br /&gt;
*Feature: Added wireframe cuboid (/cw)&lt;br /&gt;
*Feature: Added an optional second param for /ch (cuboid hollow) that specifies the blocktype of the &amp;quot;filling&amp;quot;.&lt;br /&gt;
*Feature: Added a way to specify default build permission for new worlds.&lt;br /&gt;
*Fix: Fixed /info, /baninfo, and /banip not handling players whose name contain only digits.&lt;br /&gt;
*Fix: Fixed DoChangeRank mixing up RankChangeType.&lt;br /&gt;
*Fix: Added missing fields to MapGeneratorArgs serializer.&lt;br /&gt;
*Fix: Fixed per-rank draw limits not being calculated correctly in some cases.&lt;br /&gt;
*Fix: Replaced File.Delete/File.Move calls with a more reliable File.Replace call. This should slightly improve reliability of map/playerdb.txt/ipbans.txt/worlds.xml saving.&lt;br /&gt;
*Fix: Fixed a little ConfigTool bug that did not properly reset PatrolledRank after a rank deletion.&lt;br /&gt;
*Fix: Fixed terminal colors not resetting in fCraftConsole after a fatal crash under Mono.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;Play&amp;quot; button in fCraftUI.&lt;br /&gt;
*Fix: Added some basic error reporting to fCraftWinService.&lt;br /&gt;
*Change: Tweaked AddWorldPopup layout to accommodate more options.&lt;br /&gt;
&lt;br /&gt;
===0.493===&lt;br /&gt;
&#039;&#039;27 October 2010 - r290&#039;&#039;&lt;br /&gt;
*Feature: /info now supports autocompletion, wildcards, and IP search.&lt;br /&gt;
*Feature: Experimental service wrapper for fCraft.&lt;br /&gt;
*Feature: Added more editable properties to /setinfo: RankChangeType, BanReason, UnbanReason, RankChangeReason, LastKickReason&lt;br /&gt;
*Feature: Various improvements to /info, including hide-aware &amp;quot;online&amp;quot; indicator.&lt;br /&gt;
*Feature: Made Player.NoAccessMessage() print the minimum required rank, instead of just permission name(s).&lt;br /&gt;
*Feature: Added wootalyzer&#039;s chunk rendering code to IsoCat.&lt;br /&gt;
*Fix: Fixed ConfigTool not taking advantage of ZLibStream &lt;br /&gt;
*Fix: Fixed a very improbable case of a thread getting spinlocked when calling IRC.Send() is preemptied, and if there are at least 2 IRC threads.&lt;br /&gt;
*Fix: Fixed kick packets occasionally not being delivered due to a missing Flush() - thanks to wootalyzer for catching.&lt;br /&gt;
*Fix: Excluded banned and inactive players from DumpStats&lt;br /&gt;
*Fix: Fixed PlayerDB.Save() not escaping LastKickReason &lt;br /&gt;
*Fix: Cleaned up extra messages sent by /unhide.&lt;br /&gt;
*Fix: Fixed LastSeen not updating on-login (only on-logout).&lt;br /&gt;
*Fix: Improved the way fCraft checks for ghost/leftover sessions. Thanks to wootalyzer.&lt;br /&gt;
*Fix: If a player&#039;s name starts with a number, and you try to /tp to a coordinate that starts with the same number, you are no longer teleported to that player instead.&lt;br /&gt;
*Fix: Fixed hidden players being detectable by checking LastSeen in /info.&lt;br /&gt;
*Fix: To avoid performance degradation, GC calls have been centralized, delayed, limited to 1/minute, and moved to the tasks thread.&lt;br /&gt;
*Fix: Added delay between recurring calls to PlayerDB.Save, AutoRankAll, and DoGC - to balance load.&lt;br /&gt;
*Fix: Fixed rankChangeType not being updated.&lt;br /&gt;
*Fix: Fixed some typos reported by tvc. &lt;br /&gt;
*Change: Added &amp;quot;/uf&amp;quot; as an alias for &amp;quot;/unfreeze&amp;quot;, by popular demand. &lt;br /&gt;
*Change: Modified PlayerDB not to use ReaderWriterLockSlim, to avoid Mono issues with recursion.&lt;br /&gt;
*Change: Renamed /editplayerinfo to /setinfo&lt;br /&gt;
*Change: Made enum values in AutoRank (CriterionType, ConditionField, ComparisonOperation, ConditionScopeType, RankChangeType) case-insensitive.&lt;br /&gt;
*Change: Added a reference to /baninfo in /info&lt;br /&gt;
*Change: Made DetectMovementPacketSpam warn players instead of kicking.&lt;br /&gt;
&lt;br /&gt;
===0.492===&lt;br /&gt;
&#039;&#039;19 October 2010 - r280&#039;&#039;&lt;br /&gt;
*Feature: Added EditPlayerDB permission. This permission affects the upcoming AutoRank commands, /editplayerinfo, and ability to promote/demote/ban unrecognized players.&lt;br /&gt;
*Feature: When you kick a player, you are now shown the number of kicks they already have.&lt;br /&gt;
*Feature: More stats are now logged! RankType, TimeSinceLastKick, LastSeen, BlocksDrawn, LastKickBy, LastKickReason.&lt;br /&gt;
*Feature: Added &amp;quot;MaxUndo&amp;quot; config key for changing the default undo limit of 2,000,000 blocks per player.&lt;br /&gt;
*Feature: /info command is augmented with new stats (if available).&lt;br /&gt;
*Fix: Fixed ellipsoid command calculating volume incorrectly for draw limit checks.&lt;br /&gt;
*Fix: Fixed overflowing color code in &amp;quot;Player logged in from an IP previously used by banned players&amp;quot; message.&lt;br /&gt;
*Fix: Fixed PM recipient&#039;s name not getting logged properly.&lt;br /&gt;
*Fix: Previously-unseen players no longer have their FirstLoginDate, LastLoginDate, or TimesVisited set.&lt;br /&gt;
*Fix: /importranks now works correctly on players who are online at the time of import.&lt;br /&gt;
*Change: Added block aliases by popular demand: &amp;quot;bedrock&amp;quot; as an alias for admincrete, &amp;quot;cotton&amp;quot; as alias for &amp;quot;white&amp;quot;, and &amp;quot;aire&amp;quot; as alias for &amp;quot;air&amp;quot;&lt;br /&gt;
*Change: PlayerDB.txt format changes:&lt;br /&gt;
**MaxFieldCount raised to 36&lt;br /&gt;
**New fields added: UID (Int32), RankChangeType (enum, serialized as Int32), LastKickDate (DateTime), LastSeen (DateTime), BlocksDrawn (Int64), LastKickBy (string), LastKickReason (string).&lt;br /&gt;
**RankChangeBy, BannedBy, UnbannedBy, BanReason, UnbanReason, and RankChangeReason now default to empty string instead of &amp;quot;-&amp;quot; or null.&lt;br /&gt;
**If LastIP==IPAddress.None, empty string is saved instead of &amp;quot;255.255.255.255&amp;quot;.&lt;br /&gt;
**DateTime and TimeSpan format shortened to exclude microseconds. See PlayerDB.ToCompactString() for details.&lt;br /&gt;
*Change: AutoRank improvements (disabled in stable builds):&lt;br /&gt;
**Added /editplayerinfo command for easy editing of PlayerDB.&lt;br /&gt;
**Made AutoRank check players in-login (to accelerate promotion).&lt;br /&gt;
**AutoRank now runs on a scheduler.&lt;br /&gt;
**Fixed ConditionPreviousRank crash for played with default rank.&lt;br /&gt;
**Fixed banned players getting promoted by AutoRank.&lt;br /&gt;
**Fixed several serialization/loading issues in AutoRank.&lt;br /&gt;
**New fields added to ConditionIntRange: LastSeen, BlocksDrawn, TimeSinceRankChange, TimeSinceLastKick&lt;br /&gt;
**ConditionRankStatus renamed to ConditionRankChangeType&lt;br /&gt;
&lt;br /&gt;
===0.491===&lt;br /&gt;
&#039;&#039;17 October 2010 - r274&#039;&#039;&lt;br /&gt;
*Feature: Added ability to run multiple parallel IRC bots, to help high-traffic servers deal with IRC lag. This also makes it possible to connect to multiple networks in the future.&lt;br /&gt;
*Feature: Added new block aliases, by popular demand: &amp;quot;emerald&amp;quot;=teal, &amp;quot;fuchsia&amp;quot;=magenta, &amp;quot;cloth&amp;quot;=white, &amp;quot;lightgray&amp;quot;=gray, &amp;quot;lightgrey&amp;quot;=gray, &amp;quot;darkgray&amp;quot;=black, &amp;quot;darkgrey&amp;quot;=black, &amp;quot;brass&amp;quot;=gold&lt;br /&gt;
*Fix: Temporarily disabled 64-bit zlib support while I track down memory leaks. Should fix OutOfMemoryException, I&#039;m very sorry about overlooking that.&lt;br /&gt;
*Fix: Fixed a bug in /info that displayed incorrect &amp;quot;total time on server&amp;quot;.&lt;br /&gt;
*Fix: Per-rank permission checks for /freeze now apply as intended&lt;br /&gt;
*Fix: Fixed several improbable (but not impossible) threading deadlocks/crashes. Thanks to wootalyzer for catching these.&lt;br /&gt;
*Change: Added IRCThreads config key (default: 1, allowed range: 1-3)&lt;br /&gt;
&lt;br /&gt;
===0.490===&lt;br /&gt;
&#039;&#039;14 October 2010 - r264&#039;&#039;&lt;br /&gt;
*Feature: Testing a new map compressor/decompressor: ZLibStream. It should provide 50-200% speed increase, smaller map sizes, lower bandwidth use, and faster map loading.&lt;br /&gt;
*Fix: Fixed /shutdown not waiting the right amount and mixing up seconds/milliseconds.&lt;br /&gt;
*Fix: Fixed &amp;quot;No world found with the name...&amp;quot; showing player&#039;s own name.&lt;br /&gt;
*Fix: Added a fail-safe exception handler to Player.WaitForKick() - a temporary fix.&lt;br /&gt;
*Change: Previous verification salt is now stored, to allow players to validate even right after the server restarts.&lt;br /&gt;
*Change: Restructured SVN. Stable code is now always in /trunk/&lt;br /&gt;
&lt;br /&gt;
===0.487===&lt;br /&gt;
&#039;&#039;12 October 2010 - r255&#039;&#039;&lt;br /&gt;
*Feature: Added contextual help (tooltips) for all of ConfigTool. Help for &amp;quot;Add World&amp;quot; popup is coming in next version.&lt;br /&gt;
*Feature: Added rank limits for Freeze permission&lt;br /&gt;
*Fix: Fixed /mute being unusable from console.&lt;br /&gt;
*Change: Removed ViewOthersInfo requirement from /sinfo&lt;br /&gt;
*Change: Added ViewOthersInfo requirement to /where&lt;br /&gt;
*Change: Improvements to IRC tab layout in ConfigTool.&lt;br /&gt;
&lt;br /&gt;
===0.486===&lt;br /&gt;
&#039;&#039;11 October 2010 - r250&#039;&#039;&lt;br /&gt;
*Quick fix for IRC Bot bug that made server unconnectable.&lt;br /&gt;
&lt;br /&gt;
===0.485===&lt;br /&gt;
&#039;&#039;11 October 2010 - r249&#039;&#039;&lt;br /&gt;
*Feature: Added optional &amp;quot;delay&amp;quot; parameter to /shutdown (default: 5)&lt;br /&gt;
*Feature: World names can now be autocompleted for many commands (like /join and /lock)&lt;br /&gt;
*Fix: Fixed /unhide failing to reveal the player in certain situations.&lt;br /&gt;
*Fix: Fixed /setspawn being usable on players from other worlds.&lt;br /&gt;
*Fix: Fixed player names appearing white for all players.&lt;br /&gt;
*Fix: Fixed a recursion loop in NoWorldMessage()&lt;br /&gt;
*Fix: Fixed help entries for /setspawn and /shutdown&lt;br /&gt;
*Fix: Fixed potential crash in Server.Shutdown() if called after failed initialization/startup.&lt;br /&gt;
*Fix: Fixed potential deadlock/freeze in fCraftUI on shutdown.&lt;br /&gt;
*Change: Improved crash reporting for TargetInvokationException and TypeInitializerException errors.&lt;br /&gt;
*Change: All assemblies are now once again x86/x86_64/IA64 compatible.&lt;br /&gt;
*Change: Server.OnPlayerConnected event now supports cancellation.&lt;br /&gt;
&lt;br /&gt;
===0.484===&lt;br /&gt;
&#039;&#039;10 October 2010 - r245&#039;&#039;&lt;br /&gt;
*Feature: Added a way for IRC bot to use registered nicknames.&lt;br /&gt;
*Feature: /banall-related kicks are now announced in chat.&lt;br /&gt;
*Feature: /setspawn now actually changes player&#039;s spawn. Also, an optional PlayerName param allows temporarily changing other players&#039; spawn point.&lt;br /&gt;
*Feature: Several improvements to /info. Info now shows whether player&#039;s nick or IP was banned, and hides undefined information for players who haven&#039;t ever logged in.&lt;br /&gt;
*Fix: Fixed crash in ConfigTool if announcements were disabled.&lt;br /&gt;
*Fix: Fixed /banall not matching IPs properly, and not counting kicks towards PlayerInfo.&lt;br /&gt;
*Fix: Fixed ConfigUI not shutting down properly if Server.Init() or Server.Start() failed.&lt;br /&gt;
*Fix: Fixed Config.LoadLogOptions() always leaving Debug enabled.&lt;br /&gt;
*Fix: Added Process.GetCurrentProcess().Refresh() to ServerInfo to improve accuracy of /sinfo stat reporting.&lt;br /&gt;
*Fix: Improved /wsave and /wload path handling on non-Windows platforms.&lt;br /&gt;
*Fix: Replaced some potentially unsafe string concatenation in Player.Message() with proper formatting.&lt;br /&gt;
*Fix: Attempting a workaround for Mono memory leak in World.UnloadMap&lt;br /&gt;
*Fix: Fixed ranks from pre-0.480 configs being loaded in wrong order. Sorry!&lt;br /&gt;
*Change: Added a brief delay before reconnecting IRC bot after getting kicked from a channel. &lt;br /&gt;
*Change: PlayerDB is now saved every 60 seconds (instead of every 30).&lt;br /&gt;
*Change: Removed unused IRCBotQuitMsg config key, and added IRCRegisteredNick, IRCNickServ, and IRCNickServMessage keys.&lt;br /&gt;
*Change: Added a popup with crash information to ConfigTool.&lt;br /&gt;
*Change: Made announcements disabled by default.&lt;br /&gt;
&lt;br /&gt;
===0.483===&lt;br /&gt;
&#039;&#039;8 October 2010 - r242&#039;&#039;&lt;br /&gt;
*Feature: Myne/MyneCraft/Hyvebuild/iCraft maps can now be loaded from ConfigTool&#039;s &amp;quot;Add World&amp;quot; dialog.&lt;br /&gt;
*Fix: Fixed incorrect range checks for AnnouncementInterval and SaveInterval config keys (thanks to Shcaap for reporting).&lt;br /&gt;
*Fix: Fixed /hide showing a slightly different &amp;quot;player left&amp;quot; message compared to normal disconnect (thanks to Silverrock for reporting).&lt;br /&gt;
*Change: Added MC#-style &amp;quot;/z&amp;quot; alias for cuboid, by popular demand.&lt;br /&gt;
*Change: Hidden players can now receive PMs. The sender still gets the &amp;quot;No player found&amp;quot; message, but PMs are actually sent.&lt;br /&gt;
&lt;br /&gt;
===0.482===&lt;br /&gt;
&#039;&#039;7 October 2010 - r241&#039;&#039;&lt;br /&gt;
*Feature: Added new command aliases: &amp;quot;f&amp;quot; for &amp;quot;freeze&amp;quot;, and &amp;quot;pat&amp;quot; for &amp;quot;patrol&amp;quot;.&lt;br /&gt;
*Fix: Fixed typos in mute-related messages.&lt;br /&gt;
*Fix: Added missing triggers for OnPlayerListChanged event.&lt;br /&gt;
*Fix: Fixed /reloadconfig not changing several variables (like colors).&lt;br /&gt;
*Fix: Fixed antigrief defaulting to 35/5 (instead of unmetered).&lt;br /&gt;
*Fix: Fixed heartbeat counting hidden players.&lt;br /&gt;
*Fix: Fixed a rare ObjectDisposedException crash on shutdown when running fCraftUI.&lt;br /&gt;
*Change: Added a more informative disconnect message to players connecting with Alpha client.&lt;br /&gt;
*Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.&lt;br /&gt;
*Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.&lt;br /&gt;
&lt;br /&gt;
===0.481===&lt;br /&gt;
&#039;&#039;2 October 2010 - r237&#039;&#039;&lt;br /&gt;
*Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).&lt;br /&gt;
*Fixed a few more references to &amp;quot;player class&amp;quot; terminology instead of &amp;quot;rank&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.480===&lt;br /&gt;
&#039;&#039;2 October 2010 - r236&#039;&#039;&lt;br /&gt;
*Feature: Changed all &amp;quot;player classes&amp;quot; terminology to &amp;quot;ranks&amp;quot; for consistency with other servers. Several commands have been renamed to reflect that: /classes to /ranks, /user to /rank, /class to /rankinfo. All rank-related messages have also been updated.&lt;br /&gt;
*Feature: Added &amp;quot;Raise&amp;quot;/&amp;quot;Lower&amp;quot; buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a &amp;quot;rank&amp;quot; number to reorder ranks.&lt;br /&gt;
*Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.&lt;br /&gt;
*Fix: Improved fCraftUI responsiveness on-startup.&lt;br /&gt;
*Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.&lt;br /&gt;
*Fix: /wremove now always saves the map before unloading.&lt;br /&gt;
*Fix: Fixed Console being affected by chat spam/flood checks.&lt;br /&gt;
*Fix: Fixed /zinfo not showing any separators between player names.&lt;br /&gt;
*Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.&lt;br /&gt;
*Fix: Fixed Security and IRC tabs not being reset by &amp;quot;Reset All Defaults&amp;quot;&lt;br /&gt;
*Fix: Fixed bugged error messages in /tp and /bring when world access permission check fails.&lt;br /&gt;
*Fix: If any class limits were set to default/&amp;quot;(own class)&amp;quot;, the setting is now preserved.&lt;br /&gt;
*Fix: Fixed a bug that didn&#039;t reset Hide limit if it was set to a deleted rank.&lt;br /&gt;
*Change: Removed legacy zone loading code for pre-0.420 maps (due to changes in rank definition format).&lt;br /&gt;
*Change: Added a more informative disconnect message for players trying to connect with Minecraft Alpha clients.&lt;br /&gt;
*Change: Improved rank-based coloring in world list to check both access and build permissions.&lt;br /&gt;
*Change: Added &amp;quot;/fetch&amp;quot; as alias for /bring, and renamed &amp;quot;/save&amp;quot; to &amp;quot;/wsave&amp;quot;.&lt;br /&gt;
*Change: Deleted some obsolete/disabled controls from ConfigTool, removed PingInterval config key, and removed placeholder ControlPhysics and AddLandmarks permissions.&lt;br /&gt;
*Change: Made several changes to improve disconnect detection:&lt;br /&gt;
**Added occasional pings (every 5 seconds or so, depending on activity/inactivity).&lt;br /&gt;
**Reduced socket send/receive timeout from 12 to 10 seconds.&lt;br /&gt;
**Increased socket polling interval to improve performance.&lt;br /&gt;
*Change: If a player tries to connect to a server twice, the FIRST connection is dropped instead of the LAST connection.&lt;br /&gt;
*Refactor: Major changes were made to the way ranks are stored, and to RankList (formerly ClassList) API.&lt;br /&gt;
*Optimization: Made IsoCat rendering faster, and made draw commands use less CPU.&lt;br /&gt;
&lt;br /&gt;
===0.475===&lt;br /&gt;
&#039;&#039;17 September 2010 - r229&#039;&#039;&lt;br /&gt;
*Feature: /ztest now distinguishes between being allowed/denied by rank/class vs by whitelist/blacklist.&lt;br /&gt;
*Fix: Fixed being unable to change rank/class restrictions with /zedit&lt;br /&gt;
*Fix: Fixed a bug that reported wrong average CPU usage&lt;br /&gt;
*Fix: Fixed a crash on saving in ConfigTool, related to new PatrolledClass config key.&lt;br /&gt;
&lt;br /&gt;
===0.474===&lt;br /&gt;
&#039;&#039;16 September 2010 - r228&#039;&#039;&lt;br /&gt;
*Feature: &amp;quot;/mute&amp;quot; command to temporarily stop players from chatting. A new class permission (Mute) is added, granted to op+ by default.&lt;br /&gt;
*Feature: &amp;quot;/shutdown&amp;quot; command to gracefully shutdown the server remotely. A new class permission (ShutdownServer) is added, granted to owner by default.&lt;br /&gt;
*Feature: Added CPU usage information and loaded world count to /sinfo.&lt;br /&gt;
*Fix: Added a way to edit &amp;quot;PatrolledClass&amp;quot; from ConfigTool.&lt;br /&gt;
*Fix: Fixed zone whitelist/blacklist not updated correctly when edited.&lt;br /&gt;
*Fix: Made teleporting to spawn (with /spawn or /tp, no parameters) accessible to all classes.&lt;br /&gt;
*Fix: Adjusted for Notch&#039;s errors in handling player positions in teleport packets. Slightly improves accuracy of /tp, /bring, initial spawning, /patrol, frozen players, and speedhack detection.&lt;br /&gt;
*Fix: Removed &amp;quot;/tp&amp;quot; bounds check when used with typed-in coordinates numbers.&lt;br /&gt;
*Fix: Fixed an extremely unlikely case of PlayerDB/IPBanList overwriting on shutdown if server initialization failed.&lt;br /&gt;
*Fix: Made &amp;quot;server shutting down&amp;quot; packets deliver more reliably (but still not guaranteed).&lt;br /&gt;
*Fix: Fixed Console possibly not seeing hidden players.&lt;br /&gt;
*Change: Added a basic file check to AutoLauncher&lt;br /&gt;
*Change: Added error logging and crash reporting to Server.Shutdown&lt;br /&gt;
*API: Renamed Server.ShutdownStart to Server.ShutdownBegin (for consistency).&lt;br /&gt;
&lt;br /&gt;
===0.473===&lt;br /&gt;
&#039;&#039;15 September 2010 - r227&#039;&#039;&lt;br /&gt;
*Feature: Added zone coordinates to /zinfo&lt;br /&gt;
*Fix: Fixed cross-world /tp teleporting the wrong player.&lt;br /&gt;
*Fix: Fixed odd date formatting in /zinfo&lt;br /&gt;
&lt;br /&gt;
===0.472===&lt;br /&gt;
&#039;&#039;15 September 2010 - r226&#039;&#039;&lt;br /&gt;
*Feature: Added /cut command&lt;br /&gt;
*Feature: Added a new /patrol command. It allows cycling through low-ranked players on a map (with teleportation). The order is determined by how long it&#039;s been since someone checked on a player. A &amp;quot;Patrol&amp;quot; permission and &amp;quot;PatrolledClass&amp;quot; config key were added.&lt;br /&gt;
*Feature: Added a shorthand notation to /zone for making personal zones: &amp;quot;/zone +PlayerName&amp;quot; creates a zone named after the player, with rank limit just above player&#039;s, and with player whitelisted.&lt;br /&gt;
*Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.&lt;br /&gt;
*Fix: Fixed server always binding to IPAddress.Any regardless of config settings.&lt;br /&gt;
*Fix: TP/Bring no longer allow teleporting to hidden players on other worlds.&lt;br /&gt;
*Fix: Server.GetPlayerList(string) now stops searching the list when it finds an exact match.&lt;br /&gt;
*Fix: Fixed client-crash in /zedit when changing class.&lt;br /&gt;
*Fix: Fixed possible corruption of edited zones upon map saving.&lt;br /&gt;
*Fix: Fixed a range of improbable synchronization issues in the way Zone whitelist/blacklist is updated. As a fortunate side-effect, significantly reduced Zone.CanBuild() overhead.&lt;br /&gt;
*Fix: Temporarily added mainThread.Abort() to Server.Shutdown() that&#039;s kicked in if mainThread does not stop within 5s of being notified of shutdown. I am investigating the real cause of the hang.&lt;br /&gt;
*Fix: Fixed hidden players being revealed by promotion/demotion.&lt;br /&gt;
*Change: Added less threatening error messages to IRC bot on network errors (SocketException and IOException).&lt;br /&gt;
*Change: Disabled movement handling code while changing maps.&lt;br /&gt;
*Refactor: Merged StandardCommands and ImportCommands into AdminCommands&lt;br /&gt;
&lt;br /&gt;
===0.471===&lt;br /&gt;
&#039;&#039;14 September 2010 - r224&#039;&#039;&lt;br /&gt;
*Feature: Added ability to specify the server&#039;s IP (to bind to) manually, for machines with multiple NICs. A new config key &amp;quot;IP&amp;quot; (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.&lt;br /&gt;
*Fix: Fixed a bug with player ghosts being left behind when switching worlds.&lt;br /&gt;
*Fix: Fixed a case with kicked players&#039; connections not being terminated at once (thanks to wootalyzer).&lt;br /&gt;
*Fix: Fixed several bugs in hide/unhide functionality.&lt;br /&gt;
*Fix: Fixed a rare crash in AddWorldPopup related to missing maps for existing worlds.&lt;br /&gt;
*Fix: AddWorldPopup will no longer allow adding a world with a duplicate name.&lt;br /&gt;
*Fix: Capped maximum players at the newly-discovered protocol limit of 128 (thanks to wootalyzer).&lt;br /&gt;
*Change: ConfigTool fields now provide better feedback if validation fails.&lt;br /&gt;
*Change: Changed heartbeat interval to 40 seconds (down from 50).&lt;br /&gt;
*Change: Added a special error handler for rare/impossible case of mainWorld not being joinable.&lt;br /&gt;
*Change: Made fatal error messages in fCraftConsole print in red. Better color support coming soon.&lt;br /&gt;
&lt;br /&gt;
===0.470===&lt;br /&gt;
&#039;&#039;13 September 2010 - r223&#039;&#039;&lt;br /&gt;
*Feature: Personal zones - per-zone whitelist and blacklist of individual players. The lists can now be defined with /zadd and edited with /zedit.&lt;br /&gt;
*Feature: Added cave/ore generator from Omen (BETA).&lt;br /&gt;
*Feature: Added &amp;quot;/maps&amp;quot; and &amp;quot;/levels&amp;quot; as aliases for &amp;quot;/worlds&amp;quot;.&lt;br /&gt;
*Feature: Added a way to limit the &amp;quot;Hide&amp;quot; permission per-class. Now you can specify whom can a class hide from.&lt;br /&gt;
*Feature: Zones now remember date/time of creation and last edit, and names of original creator and last editor.&lt;br /&gt;
*Fix: Unauthorized players can no longer PM or use bring/freeze/unfreeze/kick/tp/where on hidden players. They get the standard &amp;quot;player not found&amp;quot; message.&lt;br /&gt;
*Fix: Fixed hidden players being counter towards /players total.&lt;br /&gt;
*Fix: Fixed a potential crash in /wflush when using on unloaded maps.&lt;br /&gt;
*Fix: Doing /banip or /banall on unrecognized players no longer ip-bans 255.255.255.255. Old IPBanList entries relating to 255.255.255.255 will be automatically discarded.&lt;br /&gt;
*Fix: Fixed /replace command uses not being logged.&lt;br /&gt;
*Fix: Fixed /worlds command not showing world count.&lt;br /&gt;
*Fix: Fixed a client-disconnect when trying to unban a player who is not in the database.&lt;br /&gt;
*Fix: Fixed &amp;quot;/join PlayerName&amp;quot; not translating to &amp;quot;/tp PlayerName&amp;quot; correctly.&lt;br /&gt;
*Fix: Fixed a very unlikely client-disconnect in ChangeClass if the entered class name contains curved braces.&lt;br /&gt;
*Change: Changed default name for &amp;quot;/flip&amp;quot; command to &amp;quot;/mirror&amp;quot;, and fixed command&#039;s help. Either term still works.&lt;br /&gt;
*Change: Added more block name aliases:&lt;br /&gt;
**Air: delete, erase&lt;br /&gt;
**Stone: cement, concrete&lt;br /&gt;
**Grass: gras (common typo)&lt;br /&gt;
**Obsidian: onyx&lt;br /&gt;
*Change: Improved formatting of /players, /worlds, and draw command messages.&lt;br /&gt;
&lt;br /&gt;
===0.463===&lt;br /&gt;
&#039;&#039;9 September 2010 - r218&#039;&#039;&lt;br /&gt;
*Fix: Fixed special colors showing up even if ClassColorsInChat is disabled.&lt;br /&gt;
*Fix: Fixed potential client-crash in World.SendToAll(), and related client-crash in lock/unlock.&lt;br /&gt;
&lt;br /&gt;
===0.462===&lt;br /&gt;
&#039;&#039;8 September 2010 - r217&#039;&#039;&lt;br /&gt;
*Fix: The &amp;quot;OK&amp;quot; button in AddWorldPopup no longer stays grayed out.&lt;br /&gt;
*Fix: Fixed &amp;quot;Error occured while loading&amp;quot; in the file information dialog for non-FCM files.&lt;br /&gt;
*Fix: Fixed a crash in /bring when used without any parameters.&lt;br /&gt;
*Fix: Fixed Server.UrlEncode not escaping 0x00-0x0F characters properly.&lt;br /&gt;
*Change: Slightly reduced default tree density in MapGenerator.&lt;br /&gt;
&lt;br /&gt;
===0.461===&lt;br /&gt;
&#039;&#039;8 September 2010 - r216&#039;&#039;&lt;br /&gt;
*Feature: New EXPERIMENTAL &amp;quot;/reloadconfig&amp;quot; command, and associated ReloadConfig permission. Use with caution!&lt;br /&gt;
*Fix: Fixed a case where AddWorldPopup would allow clicking &amp;quot;OK&amp;quot; with a null map.&lt;br /&gt;
*Fix: Fixed player crash if /freeze or /unfreeze is used without arguments.&lt;br /&gt;
*Fix: Fixed player crash on FormatException in /zones and Server.ShowPlayerConnectedMessage.&lt;br /&gt;
*Fix: Fixed potential player crash if LimitOneConnectionPerIP is enabled.&lt;br /&gt;
&lt;br /&gt;
===0.460===&lt;br /&gt;
&#039;&#039;8 September 2010 - r214&#039;&#039;&lt;br /&gt;
*Feature: Added ShowPlayerConnectedMessage and ClassColorsInWorldNames settings to config.&lt;br /&gt;
*Feature: Added /measure command.&lt;br /&gt;
*Feature: Class colors and prefixes are now applied consistently EVERYWHERE.&lt;br /&gt;
*Feature: Banned players now see their ban reason/memo when they get kicked.&lt;br /&gt;
*Feature: A special error message is shown to players trying to connect with Alpha/SMP client.&lt;br /&gt;
*Feature: IsoCat (ConfigTool isometric preview) rendering quality improved: better shadows and slight altitude-based gradient.&lt;br /&gt;
*Feature: Added new blocktype name aliases: &amp;quot;solid&amp;quot;, &amp;quot;golden&amp;quot;, &amp;quot;halfstep&amp;quot;, &amp;quot;halfblock&amp;quot;, &amp;quot;steps&amp;quot;.&lt;br /&gt;
*Feature: Added player count for each class in /classes&lt;br /&gt;
*Fix: Fixed wrong &amp;quot;MaxBackupsSize&amp;quot; range in ConfigTool.&lt;br /&gt;
*Fix: MaxBackupsSize setting is now applied correctly.&lt;br /&gt;
*Fix: IRC color codes are now stripped from forwarded messages.&lt;br /&gt;
*Fix: IRC bot now uses ServerName for &amp;quot;real name&amp;quot;.&lt;br /&gt;
*Fix: Formatting improved in many error messages.&lt;br /&gt;
*Fix: Commas in ban/unban/promote/demote reasons no longer cause problems with PlayerDB.&lt;br /&gt;
*Fix: Removed extra comma from /worlds list that showed in place of hidden/inaccessible worlds.&lt;br /&gt;
*Change: Added 5-second delay between retries in AutoLauncher&lt;br /&gt;
*Change: &amp;quot;Player connected&amp;quot; message condensed to a single line by absorbing &amp;quot;joined world&amp;quot; message.&lt;br /&gt;
*Change: Removed ChangeName permission (and the ability to change names) due to possibility of abuse and confusion. Related /nick and /whois commands were also removed.&lt;br /&gt;
*Change: /tp can now fall back to behave like /join if player name is not found (for all those times when you mistype /tp instead of /join). Conversely, /join falls back to /tp if player was not found.&lt;br /&gt;
*Optimization: Reduced bandwidth use with an adaptive movement packet skipping algorithm. Should reduced outbound traffic by at least 15%.&lt;br /&gt;
*Optimization: BlockUpdate memory usage slightly reduced.&lt;br /&gt;
&lt;br /&gt;
===0.455===&lt;br /&gt;
&#039;&#039;8 September 2010 - r213&#039;&#039;&lt;br /&gt;
*Feature: AutoLauncher (BETA) allows restarting the fCraftConsole server if it crashed. Although it honestly shouldn&#039;t crash at all!&lt;br /&gt;
*Fix: Allowed renaming worlds in cases where only capitalization is different.&lt;br /&gt;
*Fix: If an ip-banned player has more than one connection, all connections are now terminated.&lt;br /&gt;
*Fix: Fixed nonrectangular MCSharp maps getting messed up by the loader.&lt;br /&gt;
*Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.&lt;br /&gt;
*Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of &amp;quot;no player found&amp;quot; message). Affects PMs, {{cmd|TP}}, {{cmd|Bring}}, {{cmd|Freeze}}, {{cmd|Unfreeze}}, {{cmd|Kick}}.&lt;br /&gt;
*Change: Improved OS detection in crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.454===&lt;br /&gt;
*Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.&lt;br /&gt;
*Fix: Replace no longer behaves same as replacenot.&lt;br /&gt;
*Fix: Spaces in IRC messages are now preserved.&lt;br /&gt;
*Fix: Help entries for paste/pastenot corrected.&lt;br /&gt;
*Fix: /cinfo (without parameters) now shows player&#039;s own class info.&lt;br /&gt;
&lt;br /&gt;
===0.453===&lt;br /&gt;
*Feature: It is now possible to reverse last /undo (by typing /undo again).&lt;br /&gt;
*Change: IRC message colors are applied slightly differently now.&lt;br /&gt;
*Change: Added more automated crash reporting hooks - to MainLoop and Tasks.&lt;br /&gt;
*Change: More help messages improved.&lt;br /&gt;
*Change: Added a more informative message for people running outdated versions of Mono and .Net runtime.&lt;br /&gt;
*Optimization: Slightly reduced memory usage of /undo, /paste, and PlayerDB.Load()&lt;br /&gt;
&lt;br /&gt;
===0.452===&lt;br /&gt;
*Feature: New /replacenot command allows replacing all blocks EXCEPT the specified one.&lt;br /&gt;
*Feature: New /flip and /rotate commands to manipulate copied blocks.&lt;br /&gt;
*Feature: /players list is now in alphabetical order.&lt;br /&gt;
*Fix: Trying to specify an unrecognized block type for draw commands (e.g. &amp;quot;/c ai&amp;quot; instead of &amp;quot;/c air&amp;quot;) now shows a proper error message.&lt;br /&gt;
*Fix: Fixed /gen command crashing players if coordinates are typed in before theme/template.&lt;br /&gt;
*Fix: Fixed /e ellipsoids coming out crooked.&lt;br /&gt;
*Fix: &amp;quot;joined for the first time&amp;quot; messages are now shown correctly.&lt;br /&gt;
*Fix: Fixed /replace not working correctly with /undo&lt;br /&gt;
*Fix: Made IRC bot strip nonprintable characters from messages, and ignore empty messages.&lt;br /&gt;
*Fix: World permissions are no longer reset when doing /wload. Also a permission reminder is now shown when creating new worlds.&lt;br /&gt;
*Change: Improved some help messages.&lt;br /&gt;
*Change: Improved IRC error reporting.&lt;br /&gt;
*Change: Added world name back to &amp;quot;Almost there...&amp;quot; join screen.&lt;br /&gt;
*Change: /pasteonly is now called /paste, and /paste is now called /pastenot (for consistency with other custom servers)&lt;br /&gt;
*Optimization: Slightly reduced memory usage of massive drawing commands (over undo limit).&lt;br /&gt;
&lt;br /&gt;
===0.451===&lt;br /&gt;
*Feature: Improved the way fCraft handles fatal errors (crashes). Crash logs are now created more reliably.&lt;br /&gt;
*Feature: Added automated crash reporting to fragmer.net (opt-out).&lt;br /&gt;
*Feature: Added an announcement for players logging in from IPs associated with other previously-banned players.&lt;br /&gt;
*Fix: Curved braces - &amp;quot;{}&amp;quot; - in server name no longer cause problems.&lt;br /&gt;
*Fix: &amp;quot;Leaving the map&amp;quot; kick disabled temporarily, will be made configurable per-class soon.&lt;br /&gt;
*Fix: banall/unbanall commands produce less chat spam.&lt;br /&gt;
*Fix: AFK kicks no longer count towards /info number-of-times-kicked.&lt;br /&gt;
*Change: Added class colors to /info, and fixed formatting bug.&lt;br /&gt;
*Change: Cleaned up &amp;quot;Advanced&amp;quot; tab in ConfigTool.&lt;br /&gt;
**Removed obsolete config keys: PolicyColorCodesInChat, PolicyIllegalCharacters, and RunOnStartup&lt;br /&gt;
**Added SubmitCrashReports and IRCDelay config keys.&lt;br /&gt;
&lt;br /&gt;
===0.450===&lt;br /&gt;
&#039;&#039;26 August 2010&#039;&#039;&lt;br /&gt;
*Feature: IRC bot rewritten for better performance, flexibility, and safety.&lt;br /&gt;
*Feature: New IRC options: IRCBotAnnounceIRCJoins and IRCBotAnnounceServerJoins.&lt;br /&gt;
*Fix: Fixed messages containing only a single slash (&#039;/&#039;) crashing client thread.&lt;br /&gt;
*Change: Removed obsolete IRCBotMsgs config key.&lt;br /&gt;
*Change: Added OnPlayerSentMessage event to Server.&lt;br /&gt;
*Change: IRC bot&#039;s commands (e.g. !status) are temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
===0.445===&lt;br /&gt;
&#039;&#039;25 August 2010&#039;&#039;&lt;br /&gt;
*IMPORTANT! Please update ASAP, a security issue was identified in previous version.&lt;br /&gt;
*Fix: If you need to start message with a slash, you can now escape the slash (type &amp;quot;//&amp;quot;)&lt;br /&gt;
*Fix: Fixed endless update loop (if automatic updates were enabled)&lt;br /&gt;
*Fix: Private messages with a space between &#039;@&#039; and the player name now work.&lt;br /&gt;
*Fix: Hacking-related kicks are not announced globally.&lt;br /&gt;
*Fix: Fixed &amp;quot;/help&amp;quot; giving wrong message if help entry was not found.&lt;br /&gt;
*Change: Minor changes in MapGenerator/Noise&lt;br /&gt;
&lt;br /&gt;
===0.444===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*Feature: New stat command, /sinfo (server info).&lt;br /&gt;
*Fix: Ban reason/memo now shown for normal bans.&lt;br /&gt;
*Fix: /cinfo for unlimited classes no longer shows &amp;quot;draw limit: 0&amp;quot;&lt;br /&gt;
*Fix: Fixed IRC message colors, and removed IRC color codes from log.&lt;br /&gt;
&lt;br /&gt;
===0.443===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New {{cmd|WFlush}} command. It allows finishing all in-progress draw commands at maximum speed (over 100k blocks/second) then forces a map rejoin.&lt;br /&gt;
*Feature: Added more customization options for colors: PrivateMessageColor and IRCMessageColor in Config.&lt;br /&gt;
*Feature: {{cmd|Players}} list is now sorted alphabetically.&lt;br /&gt;
*Feature: Added &amp;quot;Check Port&amp;quot; button to ConfigTool to see if port is open. Uses www.utorrent.com/testport&lt;br /&gt;
*Feature: Added &amp;quot;Play&amp;quot; button to fCraftUI to open server URL in the browser&lt;br /&gt;
*Feature: World names in {{cmd|Worlds}} list are now colored according to each world&#039;s build permission. &lt;br /&gt;
*Feature: Added speedhack detection &amp;amp; prevention (BETA) and corresponding Permission.UseSpeedHack. All your classes will be granted this permission by default. Edit the config to customize it.&lt;br /&gt;
*Fix: When using {{cmd|Mark}} outside of map boundaries, draw limits are no longer calculated incorrectly (thanks to Darnest).&lt;br /&gt;
*Fix: Fixed possible crash in Map.CheckZones() on maps created with {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed compilation issue with &amp;quot;tileset.png&amp;quot; on case-sensitive filesystems.&lt;br /&gt;
*Fix: Fixed class-wide messages not wrapping correctly.&lt;br /&gt;
*Optimization: antigrief and antispam checking overhead reduced.&lt;br /&gt;
&lt;br /&gt;
===0.442===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Fix: Addresses a security issue.&lt;br /&gt;
*Fix: &amp;quot;OK&amp;quot; button in AddWorldPopup is now always disabled if no map is set.&lt;br /&gt;
*Fix: &amp;quot;Feature size&amp;quot; label is now updater correctly when map dimensions are changed.&lt;br /&gt;
*Fix: Added missing player notifications for {{cmd|Undo}} and {{cmd|Cancel}} commands.&lt;br /&gt;
*Change: MapGenerator&#039;s default map size changed to 128x128x80&lt;br /&gt;
&lt;br /&gt;
===0.441===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added cuboid limits to /cinfo&lt;br /&gt;
*Fix: Fixed a bug in BoundingBox that made /paste and zones behave incorrectly&lt;br /&gt;
*Fix: Fixed ban/unban commands not kicking the player if entered name capitalization did not match actual capitalization&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; being broken when using {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed {{cmd|Ban}} rank checks affecting {{cmd|Unban}}&lt;br /&gt;
*Change: Optimized zone permission checks&lt;br /&gt;
&lt;br /&gt;
===0.440===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New MapGenerator with tons of options. You can also save/load custom templates for it.&lt;br /&gt;
*FEATURE: AddWorldPopup interface overhaul.&lt;br /&gt;
*FEATURE: JTE, D3, and Myne/Mynecraft/Hyvebuild/iCraft map format converters added.&lt;br /&gt;
*Feature: Improved syntax of the {{cmd|Gen}} command. See &amp;quot;{{cmd|Help|gen}}&amp;quot; for details.&lt;br /&gt;
*Feature: Reason/memo is now shown publicly when someone gets banned, unbanned, or kicked.&lt;br /&gt;
*Feature: Teleport and Bring work across worlds - world permissions still apply.&lt;br /&gt;
*Feature: Added 4 new Config keys: RequireBanReason, RequireClassChangeReason, AnnounceKickAndBanReasons, AnnounceClassChanges. By default &amp;quot;AnnounceKickAndBanReasons&amp;quot; and &amp;quot;AnnounceClassChanges&amp;quot; are enabled.&lt;br /&gt;
*Feature: Added 5 new fields to PlayerDB: previousClass, classChangeReason, timesKicked, timesKickedOthers, timesBannedOthers.&lt;br /&gt;
*Feature: Added a lot of new information to {{cmd|Info}}.&lt;br /&gt;
*Feature: You can now save map preview images (isometric) from AddWorldPopup.&lt;br /&gt;
*Feature: ConfigTool now shows warnings about any errors logged during Config.Load&lt;br /&gt;
*Fix: Yet another workaround for VerifyNames false negatives (thanks to SpaceManiac).&lt;br /&gt;
*Fix: Fixed being able to paste admincrete/water/lava without permission (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Trying to go over class draw limit no longer causes &amp;quot;Another drawing command is in progress&amp;quot; error.&lt;br /&gt;
*Fix: Mcc.MapUtility.TryLoading() and Map.LoadHeaderOnly() now release file handles as soon as possible. This should fix some &amp;quot;file is being used by another process&amp;quot; errors.&lt;br /&gt;
*Fix: Map spawn should be parsed correctly for MCSharp/MCZall maps&lt;br /&gt;
*Fix: If a map doesn&#039;t start with a gzip header, it no longer has a chance to abort the whole load process.&lt;br /&gt;
*Fix: Fixed blocktype names being case-sensitive.&lt;br /&gt;
*Fix: Added a more informative message when idle players are kicked.&lt;br /&gt;
*Fix: Fixed undo buffer not getting cleared when doing paste/pasteonly&lt;br /&gt;
*Fix: Fixed {{cmd|WAccess}} exception kicking players.&lt;br /&gt;
*Fix: 100% Empty maps no longer crash AddWorldPopup with OutOfMemoryException&lt;br /&gt;
*Fix: Fixed &amp;quot;player is already banned&amp;quot; message when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed no public message appearing when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed cuboid/ellipsoid/cuboidh logging blocktype code instead of blocktype name.&lt;br /&gt;
*Fix: Improved the message that&#039;s shown when idle players are kicked.&lt;br /&gt;
*Fix: Documented ability to {{cmd|TP}} to specific coordinates.&lt;br /&gt;
*Fix: AddWorldPopup no longer crashes if user closes &amp;quot;Load Map&amp;quot; dialog before selecting any file.&lt;br /&gt;
*Fix: When drawing affects (in part or in full) a restricted zone, the zone is left untouched, and the rest of draw command finishes (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Fixed crash in AddWorldPopup.AsyncLoad() if map loading failed.&lt;br /&gt;
*Fix: LegacyRankMapping is now parsed correctly&lt;br /&gt;
*Fix: Renaming a class no longer causes &amp;quot;Worlds&amp;quot; tab dropdown menus to go out-of-sync.&lt;br /&gt;
*Change: AddWorldPopup preview image quality improved.&lt;br /&gt;
*Change: Updated to newest version of NBTag library.&lt;br /&gt;
*Change: Frozen players can no longer build/delete.&lt;br /&gt;
*Change: Removed public {{cmd|Undo}} message, added log message instead.&lt;br /&gt;
*Change: Removed AnnounceUnverifiedNames settings.&lt;br /&gt;
*Change: When building/deleting permission is denied, the exact reason is given (instead of a vague &amp;quot;you cannot do that&amp;quot; message) (part of Player.CanPlace overhaul).&lt;br /&gt;
&lt;br /&gt;
===0.435===&lt;br /&gt;
&#039;&#039;12 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Copy}}, {{cmd|Paste}}, and {{cmd|PasteOnly}} commands. Rotation coming soon.&lt;br /&gt;
*Feature: Added {{perm|CopyAndPaste}} permission, granted to op and owner by default.&lt;br /&gt;
*Feature: Added MapGenType.Cliffs - similar to Mountains type, but with cliffs!&lt;br /&gt;
*Fix: Fixed {{cmd|Paint}} command&lt;br /&gt;
*Fix: Fixed {{cmd|BanInfo}} now showing any information if used without parameters.&lt;br /&gt;
*Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.&lt;br /&gt;
&lt;br /&gt;
===0.434===&lt;br /&gt;
&#039;&#039;11 August 2010&#039;&#039;&lt;br /&gt;
*Feature: new {{cmd|Bind}} command allows mapping any block to any other. Now you can place those unbuildable blocks (water, lava, grass, double-step) in any way you wish. For compatibility, old commands ({{cmd|Water}}, {{cmd|Solid}}, {{cmd|Lava}}, {{cmd|Grass}}) have been preserved.&lt;br /&gt;
*Change: &amp;quot;step&amp;quot; added as an alias for Stair block. &amp;quot;doublestep&amp;quot; added as an alias for DoubleStair.&lt;br /&gt;
&lt;br /&gt;
===0.433===&lt;br /&gt;
*Feature: /winfo now shows who locked/unlocked the map, and how long ago.&lt;br /&gt;
*Fix: Fixed a error message that showed up when announcements.txt was blank.&lt;br /&gt;
*Fix: Permission check added back to lock/unlock commands.&lt;br /&gt;
*Fix: &amp;quot;mapinfo&amp;quot; added back as alias for /winfo&lt;br /&gt;
*Fix: Fixed locked maps not getting unloaded when all players left&lt;br /&gt;
&lt;br /&gt;
===0.432===&lt;br /&gt;
*Fix: List of worlds printed by /worlds is now sorted alphabetically.&lt;br /&gt;
*Fix: Fixed an obscure half-disconnect bug that left players with id=0 who happened to be on the main world in a semi-disconnected state IF someone else was kicked halfway through the login process before it was assigned an id.&lt;br /&gt;
&lt;br /&gt;
===0.431===&lt;br /&gt;
*Fix: Fixed still messed-up /worlds command.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.430===&lt;br /&gt;
*Fix: Fixed messed-up /worlds command. Sorry about that.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.429===&lt;br /&gt;
*Feature: Command-handler infrastructure has been redesigned. This will allow much more flexibility for devs and plugin makers later.&lt;br /&gt;
*Feature: &amp;quot;/help commands&amp;quot; now only shows available commands by default. Type &amp;quot;/help commands all&amp;quot; to see all commands.&lt;br /&gt;
*Feature: /worlds command now only available worlds by default. Type &amp;quot;/worlds all&amp;quot; to include worlds inaccessible to you.&lt;br /&gt;
*Feature: Help entries added for /zedit, /mark, /version, /rules, and /say.&lt;br /&gt;
*Feature: ConfigTool World tab columns are now sortable.&lt;br /&gt;
*Fix: Fixed &amp;quot;max backups&amp;quot; in ConfigTool being limited to 100. Now it&#039;s at a more reasonable limit of 100000.&lt;br /&gt;
*Fix: Fixed Map.Backup() deleting the newest (instead of the oldest) backup if the total number of files was limited.&lt;br /&gt;
*Fix: Fixed an ERROR that popped up if a player got disconnected during the login process (while player=null).&lt;br /&gt;
*Fix: FormatException crash fixed that caused whole server to go down instead of a player thread.&lt;br /&gt;
*Fix: Several draw-related bugs and crashes fixed.&lt;br /&gt;
*Fix: Fixed crash in /winfo when used on unloaded worlds.&lt;br /&gt;
*Fix: Fixed a bug in Config that caused antigrief to be re-enabled every load.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool that didn&#039;t update AntiGriefSeconds properly when changing between classes.&lt;br /&gt;
*Change: Many /help entries have been improved.&lt;br /&gt;
*Change: Split /class command into two: /classes (aka /ranks) shows a list of classes, and /class (aka /cinfo or /classinfo) shows permission list (missed from last release notes).&lt;br /&gt;
*Change: Added /spawn as an alias for /tp (missed from last release notes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.428===&lt;br /&gt;
*Feature: Line wrapping. Yes, finally.&lt;br /&gt;
*Feature: Per-class draw limits. Defaults are: owner unlimited, op unlimited, regular 4096 (16x16x16), guest 512 (8*8*8)&lt;br /&gt;
*Feature: Per-class antigrief detection. Defaults are: owner unmetered, op umetered, regular 45/6 (7.5 blocks/second), guest 35/5 (7 blocks/second)&lt;br /&gt;
*Feature: Memory usage of draw commands has been reduced by 6 bytes per block (37% improvement).&lt;br /&gt;
*Fix: Extra color codes fixed in /players command.&lt;br /&gt;
*Fix: Fixed a bug with /undo that caused more than one command to be undone at once.&lt;br /&gt;
*Fix: Fixed maps generated with &amp;quot;Realistic terrain&amp;quot; (MapGenerator) having an empty layer at the bottom of the map.&lt;br /&gt;
*Change: Default classes have been tweaked:&lt;br /&gt;
**regular can now use draw commands&lt;br /&gt;
**op can now lock/unlock&lt;br /&gt;
*Change: Improved arrangement of Permission list items.&lt;br /&gt;
*Change: Removed obsolete ConfigKey variables AntigriefBlockCount and AntigriefBlockInterval&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.427===&lt;br /&gt;
*Feature: Added /zedit command for changing zone permissions after creation&lt;br /&gt;
*Feature: New aliases for drawing commands: /c /e /h /r /m&lt;br /&gt;
*Fix: Fix for cuboid command kicking players with &amp;quot;Block.Undefined&amp;quot; if called with no optional BlockType parameter&lt;br /&gt;
*Fix: Fixed zone definitions getting corrupted.&lt;br /&gt;
*Fix: Allowed /save command to be used from console and from remote worlds. Previously you had to join the world to save it.&lt;br /&gt;
*Fix: Fixed potential crash in /winfo when looking up unloaded worlds.&lt;br /&gt;
*Fix: Fixed /zone allowing duplicate names, then kicking the client.&lt;br /&gt;
*Fix: Fixed /ztest showing the standard &amp;quot;you are not allowed to build in this zone&amp;quot; message instead of the expected zone list.&lt;br /&gt;
*Fix: Fixed incorrect description of draw log messages, and backup error messages&lt;br /&gt;
*Fix: Fixed false triggering of &amp;quot;Player asked to be released from its world, but the world did not contain the player&amp;quot; error&lt;br /&gt;
*Change: Fruitified fragmer&#039;s name &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.426===&lt;br /&gt;
*Feature: Announcements! You can define a list of announcements to show periodically. A random line from announcements.txt will be shown to all players at specified interval (in minutes).&lt;br /&gt;
*Feature: /replace command.&lt;br /&gt;
*Feature: /undo command has been improved for more flexibility and better performance.&lt;br /&gt;
*Feature: /winfo (alias: /mapinfo) is added for displaying world name, player count, map dimensions, and access/build permissions.&lt;br /&gt;
*Fix: Fixed a bug that caused duplicate entries to be added to PlayerDB when doing /importranks or /importbans.&lt;br /&gt;
*Change: New ConfigKeys: AnnouncementColor (default: green) and AnnouncementInterval (default: 5 minutes).&lt;br /&gt;
*Change: Draw command stride increased to 16x16x16, for better theoretical performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.425===&lt;br /&gt;
*Feature: Added hollow draw command (/cubh) and aliases (/cuboidh and /bhb)&lt;br /&gt;
*Feature: /players now shows class colors and a total number of players. Breakdown of /players by world is coming soon&lt;br /&gt;
*Feature: Added &amp;quot;Joined world WorldName&amp;quot; message that shows when changing worlds&lt;br /&gt;
*Fix: Improved several /help entries&lt;br /&gt;
*Fix: Fixed a bug in Map.SaveBackup() that could cause a crash if MaxBackups was set&lt;br /&gt;
*Fix: Fixed a bug in ConfigUI where &amp;quot;Delete World&amp;quot; button could leave the map file behind and/or cause an error&lt;br /&gt;
*Fix: Calling lock/unlock from console without a WorldName now shows a nicer error message&lt;br /&gt;
*Change: Improved safety checks of /join command&lt;br /&gt;
*Change: Added a catch-all exception handler into Server.MainLoop&lt;br /&gt;
*Change: Added exception handlers for EVERY single piece of code that requires file access&lt;br /&gt;
*Change: Added more thread safety in MapCommands.WorldRename that resolves a potential race condition with Map.Save&lt;br /&gt;
*Change: Modified IPBanList to use the standard temp folder (instead of fCraft working path) for its temp files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.424===&lt;br /&gt;
*Fix: Fixed /unhide and normal connection getting different messages&lt;br /&gt;
*Fix: Fixed client crash when viewing /rules if the rule file has blank lines&lt;br /&gt;
*Fix: Worlds with capital letters in the name are joinable again&lt;br /&gt;
*Fix: Potential crash in DoClassChange() if target player is already same rank AND is not currently on the server&lt;br /&gt;
*Change: Moved the command list to /help commands&lt;br /&gt;
*Change: Performance and thread-safety improvements to PlayerDB&lt;br /&gt;
*Change: Disabled some more debugging code to avoid taking up unnecessary resources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.423===&lt;br /&gt;
*Feature: /importbans now also supports &amp;quot;banned-ip.txt&amp;quot;&lt;br /&gt;
*Feature: Logs are now stored in /logs/ folder. Your fCraft.log file will be moved there automatically and renamed to &amp;quot;_OldLog.log&amp;quot;&lt;br /&gt;
*Feature: Log splitting now works by day or by session. Set &amp;quot;LogMode&amp;quot; key in config.xml or see Logging tab in ConfigTool.&lt;br /&gt;
*Feature: All maps are now stored in /maps/ folder. Your map files will be moved automatically first time you start ConfigTool/fCraftConsole/fCraftUI&lt;br /&gt;
*Feature: Reserved slots now work&lt;br /&gt;
*Fix: Fixed a bug in fCraft.Server.LoadWorldListXML that could make all worlds hidden.&lt;br /&gt;
*Fix: &amp;quot;player connected&amp;quot; message shown when someone connects, instead of just &amp;quot;player joined world&amp;quot;&lt;br /&gt;
*Fix: &amp;quot;player left the server&amp;quot; message is not shown if the player got kicked before LoginSequence finished (e.g. if server was full)&lt;br /&gt;
*Fix: Added back IP logging for incoming connections&lt;br /&gt;
*Fix: Fixed ConfigTool-generated maps not having correct spawn point&lt;br /&gt;
*Fix: Fixed /user showing both promote and demote messages at once&lt;br /&gt;
*Fix: Removed references to old &amp;quot;/drawundo&amp;quot; command name in &amp;quot;/undo&amp;quot; messages&lt;br /&gt;
*Fix: Fixed &amp;quot;Unrecognized entry ignored: LegacyRankMapping =&amp;quot; warning&lt;br /&gt;
*Change: Made /importbans and /importranks save PlayerDB at once&lt;br /&gt;
*Change: fCraft now forcibly resets its working directory to the same path where the executable is&lt;br /&gt;
*Change: Removed &amp;quot;delete old file?&amp;quot; prompt when renaming worlds in AddWorldPopup. Now it just does it, to match tabWorlds&#039; DataGridView behavior&lt;br /&gt;
*Change: Added additional error checks to Map.Backup() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.422===&lt;br /&gt;
*Feature: Further improved network performance by introducing nonblocking (lock-free) data structure to packet output buffer&lt;br /&gt;
*Fix: Fixed &amp;quot;world creation failed&amp;quot; error if worlds.xml defined a non-existing world to be main&lt;br /&gt;
*Fix: Added back missing messages when doing /user on offline users&lt;br /&gt;
*Fix: Fixed player name color not being updated when their class changes&lt;br /&gt;
*Fix: Added missing /help entries for /importbans and /importranks&lt;br /&gt;
*Change: Improved help messages for /lock, /unban, /unbanip, /undo, /wload, /wmain, and /wremove&lt;br /&gt;
*Change: Tweaked default values of BlockUpdateThrottling and maxBlockUpdatesPerTick for maximum lag-free performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.421===&lt;br /&gt;
*Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players&lt;br /&gt;
*Feature: Added the ability to ban unseen players&lt;br /&gt;
*Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated &amp;quot;Import&amp;quot; permission was added. See &amp;quot;/help importbans&amp;quot; and &amp;quot;/help importranks&amp;quot; for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.&lt;br /&gt;
*Feature: Improved BlockUpdateQueue performance (faster drawing commands!) by switching to a lock-free data structure&lt;br /&gt;
*Fix: Fixed startup errors not being logged if config.xml has not been parsed yet&lt;br /&gt;
*Fix: Fixed ConfigUI input box not aligning properly when window is resized&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; generated maps being 1 block off vertically&lt;br /&gt;
*Change: Updated PlayerDB and IPBanList to use standard temporary folder (instead of dumping temp files into fCraft directory)&lt;br /&gt;
*Change: Added &amp;quot;logging starts&amp;quot; marker that&#039;s written to console and log on-startup&lt;br /&gt;
*Change: fCraftUI log now displays the last 2000 lines (up from 1000 lines)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.420===&lt;br /&gt;
*Feature: New &amp;quot;Worlds&amp;quot; tab in ConfigTool for managing your world list&lt;br /&gt;
*Feature: Isometric map previews and map generation in ConfigTool&lt;br /&gt;
*Feature: Implemented a class-ID system that allows adding/renaming/deleting classes without breaking compatibility. DeleteClassPopup was added for this&lt;br /&gt;
*Feature: Added LimitOneConnectionPerIP option to config &amp;amp; configtool&lt;br /&gt;
*Feature: Worlds can now be hidden from the /worlds list&lt;br /&gt;
*Feature: Added /whois command for checking if a player is using real name or nickname. BE CAREFUL WITH &amp;quot;ChangeName&amp;quot; PERMISSION!&lt;br /&gt;
*Feature: fCraft now generates crash.txt on unhandled fatal errors&lt;br /&gt;
*Feature: Implemented theme support, and added 2 new terrain types (Coast and River) for MapGenerator. See &amp;quot;/help gen&amp;quot; for details, or use ConfigTool.&lt;br /&gt;
*Feature: Pressing Up/Down keys in fCraftUI will show previously typed commands.&lt;br /&gt;
*Fix: Fixed a bug in /wmain and /wload that sometimes made the server unconnectable after changing map&lt;br /&gt;
*Fix: Limits on the /kick command now apply correctly&lt;br /&gt;
*Fix: Fixed /wbuild and /waccess showing wrong messages&lt;br /&gt;
*Fix: Fixed hidden players unable to build due to grief protection&lt;br /&gt;
*Fix: Added /nick and /whois entries to /help&lt;br /&gt;
*Fix: Removed the ability to call draw commands from console (caused crash)&lt;br /&gt;
*Fix: Fixed /lava checking PlaceWater permission instead of PlaceLava&lt;br /&gt;
*Fix: A debug message about &amp;quot;attempting to unregister an non-existent player&amp;quot; is no longer logged every time VerifyNames fails&lt;br /&gt;
*Fix: When using /where command on other players, correct coordinates are now shown]&lt;br /&gt;
*Fix: Player&#039;s classes are now updated in fCraftUI list when promoted/demoted&lt;br /&gt;
*Fix: PMs are now logged as LogType.PrivateChat (instead of generic LogType.WorldChat)&lt;br /&gt;
*Fix: /hide and /unhide now use Color.Sys instead of hardcoded Color.Yellow&lt;br /&gt;
*Fix: Player&#039;s nicknames (as set by /nick) are applied correctly and preserved when changing worlds&lt;br /&gt;
*Fix: Added missing checks for &amp;quot;Chat&amp;quot; permissions&lt;br /&gt;
*Fix: Color buttons in ConfigTool now show correct background color under Mono&lt;br /&gt;
*Fix: Fixed help entry to /freeze showing incorrect information&lt;br /&gt;
*Fix: Corrected tab order in all ConfigTool forms&lt;br /&gt;
*Change: Added /blb as another alias for /cuboid&lt;br /&gt;
*Change: Removed ReservedSlotBehavior config key&lt;br /&gt;
*Change: Disabled word wrapping in rules.txt editor popup&lt;br /&gt;
*Change: /unhide now resets the player&#039;s nick&lt;br /&gt;
*Change: Both player&#039;s real name and nickname (if any) are now recorded in the log&lt;br /&gt;
*Change: Added a warning to /info when looking up nicknames (instead of real names)&lt;br /&gt;
*Change: Heartbeat salt generation (used to verify names) is now more secure&lt;br /&gt;
*Change: Removed CanPlaceHardenedBlocks from permission list&lt;br /&gt;
*Change: All map generator terrain types have been tweaked for improved appearence&lt;br /&gt;
*Change: Centered all ConfigTool popup windows (AddWorldPopup, ColorPicker, DeleteClassPopup, TextEditorPopup)&lt;br /&gt;
*Change: Hid unneeded icons and buttons from ConfigTool popups&lt;br /&gt;
*Change: Changed the way zones store rank restriction (as part of the compatibility assurance), and added versioning to zone definitions&lt;br /&gt;
*Change: Map.Save() now creates temporary files in the OS-specific temporary folder, not in same folder where fCraft is installed&lt;br /&gt;
*Change: World permissions are now updated automatically when a class is deleted&lt;br /&gt;
*Refactor: Improved consistency in code naming conventions, especially in IRC code&lt;br /&gt;
*Refactor: Improved code organization in many areas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.410===&lt;br /&gt;
*Implemented per-world access and build permissions.&lt;br /&gt;
*Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.&lt;br /&gt;
*New world-related commands:&lt;br /&gt;
**/wmain changes the main world&lt;br /&gt;
**/waccess and /wbuild allow setting per-world permissions&lt;br /&gt;
**/wremove allows deleting worlds&lt;br /&gt;
**/wrename allows renaming worlds without reloading&lt;br /&gt;
**/wload command is significantly improved (see /help wload for more info). The functionality of the old /load command has been merged with /wload. Now /load is an alias for /join, together with /l, /j, and /goto.&lt;br /&gt;
*Removed SaveAndLoad permission - it became redundant with ManageWorlds. Please check your config to ensure that permissions remain consistent.&lt;br /&gt;
*Added new and previously-missing (/lockall, /unlockall, /where, /me, /rules, /setspawn) commands to /help.&lt;br /&gt;
*Disabled verify-names check for localhost (127.0.0.1) when running in Balanced mode.&lt;br /&gt;
*When player is denied access to some command, server now names the specific permission that&#039;s needed.&lt;br /&gt;
*Fixed a potential desync issue when one player rejoins a world, and another joins it simultaneously.&lt;br /&gt;
*Removed /genh command and /compass alias for the /where command.&lt;br /&gt;
*Added a fail-safe exception check when executing console commands. Now the server will stay up even if an exception occurs while executing console command.&lt;br /&gt;
*Improved the way server reacts to fatal errors on startup. Now there is a clear indication that server cannot start.&lt;br /&gt;
*&amp;quot;default map&amp;quot; is now referred to as &amp;quot;main world&amp;quot; for consistency. &lt;br /&gt;
*Improved garbage collection.&lt;br /&gt;
&lt;br /&gt;
===0.405===&lt;br /&gt;
*Added back support for vanilla (server_level.dat) maps.&lt;br /&gt;
*Fixed MCSharp importer leaving nonstandard blocks in the map, causing client crashes. Now all MCSharp-specific blocks are converted to normal types.&lt;br /&gt;
*Fixed visual player list not updating in fCraftUI.&lt;br /&gt;
*Added /players command to list ALL players on the server (in all worlds)&lt;br /&gt;
*Made the BlockType parameter optional for /cuboid and /ellipsoid. Now it takes blocktype of the second click (or last-previously-used-blocktype when using /mark) in the absence of the optional parameter.&lt;br /&gt;
*ConfigTool: Added a new tab for IRC setting.&lt;br /&gt;
*ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.&lt;br /&gt;
*IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.&lt;br /&gt;
*IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot. &lt;br /&gt;
*IRC: Fixed a bug with infinite reconnects on receiving error 433 Nickname already in use.&lt;br /&gt;
*Zones: Changed behavior of overlapping zones:&lt;br /&gt;
**Before: To touch a block, AT LEAST ONE zone has to allow it&lt;br /&gt;
**Now: To touch a block, ALL ZONES have to allow it&lt;br /&gt;
*Zones: Added /ztest command that lists all zones affecting a particular block. It can be used to detect and resolve zone overlaps.&lt;br /&gt;
*Zones: Added proper /help entries for /zone, /zones, /zremove, and /ztest, and contextual help for /zone and /zones.&lt;br /&gt;
*Zones: Made zone commands inaccessible from console (it would cause a crash, since zones are world-specific).&lt;br /&gt;
*Fixed OnPlayerDisconnected and OnPlayerListChanged sometimes firing at the wrong time.&lt;br /&gt;
*Added better error handling to Map.Save() in case the target file is not writable.&lt;br /&gt;
*Updated /help entries for /lock, /unlock, and /load commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.404===&lt;br /&gt;
*Fixed zone borders being off by 1 block.&lt;br /&gt;
*Fixed a rare crash on shutdown.&lt;br /&gt;
*Fixed heartbeat reporting incorrect port number to heartbeat if the port specified in config was not available.&lt;br /&gt;
*Adjusted default class permissions slightly, by popular demand:&lt;br /&gt;
**regulars can now place Water and Lava&lt;br /&gt;
**ops can now use draw commands&lt;br /&gt;
*IRC: Added a config option &#039;IRCMsgs&#039; to toggle join/leave messages on/off. Default is disabled to prevent massive spam.&lt;br /&gt;
*IRC: Fixed a possible crash in IRCComm, related to static initializers.&lt;br /&gt;
*ConfigTool: Fixed many bugs in permission checkbox list.&lt;br /&gt;
*ConfigTool: Added visual editor for rules.txt&lt;br /&gt;
*ConfigTool: Added stub tab for IRC settings (coming soon).&lt;br /&gt;
&lt;br /&gt;
===0.403===&lt;br /&gt;
*Fixed spawnpoint being read incorrectly when using /load.&lt;br /&gt;
*Added a note to ban*/unban* commands that&#039;s shown when player name is not found: &amp;quot;Use the FULL player name for ban/unban commands.&amp;quot;&lt;br /&gt;
*Fixed a thread crash (not server-wide crash) in Session.IoLoop that can be caused by corrupted or malicious handshake packets.&lt;br /&gt;
*Fixed a potential crash when using /info on offline players from console.&lt;br /&gt;
*Fixed a potential crash when using /gen from console.&lt;br /&gt;
*Added more fail-safe checks that ensure that map spawn point is always within the map boundaries.&lt;br /&gt;
*Started logging IPs of connections that try sending corrupted or malicious handshake packets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.402===&lt;br /&gt;
*Added back /load command, and hooked up MCC. Currenly supported: fCraft/fcm, MCSharp/lvl, indev/mclevel, MinerCPP and LuaCraft (dat). Vanilla support coming soon.&lt;br /&gt;
*Fixed worlds being unloaded before all block updates are processed (thus aborting draw commands).&lt;br /&gt;
*Fixed several potential multiworld-related crashes and freezes.&lt;br /&gt;
*Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.&lt;br /&gt;
*IRC: Added an information message to notify users of the IRC Bot&#039;s online status when joining the server.&lt;br /&gt;
*IRC: Added the ability to send NOTICES.&lt;br /&gt;
*IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.&lt;br /&gt;
*IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.&lt;br /&gt;
*Drawing-related state is now reset when changing worlds.&lt;br /&gt;
*Added a limiter to the number of block updates that can be processed per tick (even if there are no players in a world). Fixes server becoming unresponsive when doing enormous drawing commands (millions of blocks).&lt;br /&gt;
*Allowed players to /join the world that they are already on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.401===&lt;br /&gt;
*&#039;&#039;&#039;IDLE/AFK CHECKING&#039;&#039;&#039; This is configurable per-class.&lt;br /&gt;
*Added /version command, and added revision to the version string.&lt;br /&gt;
*Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands. &lt;br /&gt;
*Removed all references to the old pre-multiworld &amp;quot;map.fcm.&amp;quot; Backups now work again. &lt;br /&gt;
*Fixed players not spawning in the right place when changing worlds.&lt;br /&gt;
*IRC Bot will now handle terminations by the IRCd and restart itself upon any errors. &lt;br /&gt;
*IRC Bot can now send from inside the server TO IRC! Use the prefix &#039;#&#039; in-game to send any message to IRC. Forwarding all server chat may be added if requested. To send from the bot to the server, use the bot&#039;s nickname and either &#039;:&#039;, &#039;,&#039; or nothing, then your message.&lt;br /&gt;
*Improved performance of the IRC bot and the task scheduler.&lt;br /&gt;
*Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn&#039;t exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.&lt;br /&gt;
*Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after &#039;#&#039; in server chat.&lt;br /&gt;
*Handshake packet is now written when doing /join, to replace MOTD with a more informative &amp;quot;Now loading [worldname]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.400===&lt;br /&gt;
*&#039;&#039;&#039;MULTIWORLD&#039;&#039;&#039; It&#039;s finally here. See /help for information on new commands: /worlds, /wload, /join&lt;br /&gt;
*Added a persistent world list, saved in worlds.txt - this is subject to change. The file contains a list of world names, each corresponding to an .fcm file. The first world listed at the top of worlds.txt is the default/main one.&lt;br /&gt;
*&#039;&#039;&#039;IRC BOT&#039;&#039;&#039; Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.&lt;br /&gt;
*A field has been added in the config to allow forwarding ALL IRC CHANNEL TRAFFIC to the server. This will override the prefix and make it inactive. &#039;IRCBotForwardAll&#039; is set to false by default.&lt;br /&gt;
*&#039;&#039;&#039;ZONES&#039;&#039;&#039; It is now possible to make guest zones and op zones (and anything in-between) on any map. See /help for information on new commands: /zones, /zone, /zremove.&lt;br /&gt;
*Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.&lt;br /&gt;
*Added /compass command (aka /where).&lt;br /&gt;
*Fixed players sometimes not seeing their /kick message.&lt;br /&gt;
*Added a way to teleport to specific coordinates (/tp x y h)&lt;br /&gt;
*Fixed heartbeats timing out when running fCraft under Mono.&lt;br /&gt;
*Fixed Config.ApplyConfig setting the wrong server throttling variables.&lt;br /&gt;
*Fixed air blocks appearing underwater when using /gen&lt;br /&gt;
*Tweaked /gen parameters to make &amp;quot;island&amp;quot; a bit less ugly.&lt;br /&gt;
*Updated text in fCraftConsole.&lt;br /&gt;
&lt;br /&gt;
=0.3xx=&lt;br /&gt;
===0.330===&lt;br /&gt;
*Added /cuboid and /ellipsoid drawing commands.&lt;br /&gt;
*Improved memory usage.&lt;br /&gt;
*Added &amp;quot;Draw&amp;quot; permission, and made /draw check &amp;quot;DeleteAdmincrete&amp;quot; permission when replacing blocks, and removed unused &amp;quot;PlaceGlitchedSand&amp;quot; permission.&lt;br /&gt;
*Added &amp;quot;Port&amp;quot; and &amp;quot;BackupOnlyWhenChanged&amp;quot; config lines, and corresponding ConfigTool fields.&lt;br /&gt;
*Fixed bug that deleted ALL backups when you check &amp;quot;don&#039;t delete old backups.&amp;quot; That was embarrassing.&lt;br /&gt;
&lt;br /&gt;
===0.325===&lt;br /&gt;
*Added an experimental low-latency mode (faster server response, but more bandwidth required).&lt;br /&gt;
*Improved hacking detection: added anti-chat-spam and anti-grief (block spam) checks.&lt;br /&gt;
*New more aggressive anti-hacking checks for incoming movement and SetTile packets.&lt;br /&gt;
*Fixed an issue with fCraftUI console log getting truncated in the wrong places.&lt;br /&gt;
*Improved Mono compatibility (fixes HttpWebRequest failures).&lt;br /&gt;
&lt;br /&gt;
===0.324===&lt;br /&gt;
*Added /me command.&lt;br /&gt;
*Added step stacking.&lt;br /&gt;
*Fixed a case where disconnected players would leave a ghost behind.&lt;br /&gt;
*Improved shutdown speed.&lt;br /&gt;
*Implemented ProcessPriority setting.&lt;br /&gt;
&lt;br /&gt;
===0.323===&lt;br /&gt;
*Fixed players not being able to delete admincrete after promotion.&lt;br /&gt;
*Fixed a bug that allowed players to noclip into walls when using /tp or /bring.&lt;br /&gt;
*Fixed a security issue with &amp;quot;VerifyNames: Balanced&amp;quot;&lt;br /&gt;
*Added prototype of the security tab in ConfigTool (work in progress).&lt;br /&gt;
&lt;br /&gt;
===0.322===&lt;br /&gt;
*Added a range check to Player.SetTile, to prevent certain types of grief bots.&lt;br /&gt;
*Fixed a bug where map spawnpoint did not change after doing /load.&lt;br /&gt;
*Fixed some typos.&lt;br /&gt;
&lt;br /&gt;
===0.321===&lt;br /&gt;
*Fixed welcome messages not showing.&lt;br /&gt;
*Renamed /alias to /nick, and added a permission check.&lt;br /&gt;
&lt;br /&gt;
===0.320===&lt;br /&gt;
*Finally last fix for the disconnect problem. Sorry about that.&lt;br /&gt;
&lt;br /&gt;
===0.319===&lt;br /&gt;
*Quick fix for disconnect problem.&lt;br /&gt;
&lt;br /&gt;
===0.318===&lt;br /&gt;
*Fixed VerifyNames not saving properly when using ConfigTool.&lt;br /&gt;
*Fixed several potential crashers in Session and World.&lt;br /&gt;
*Fixed a bug that sometimes wrongly showed &amp;quot;class name not recognized&amp;quot;.&lt;br /&gt;
*Added class name autocompletion for class chat (@@classname blah)&lt;br /&gt;
*Started working on the new /load mode that allows loading different sized maps, and loading much faster (not done yet).&lt;br /&gt;
&lt;br /&gt;
===0.317===&lt;br /&gt;
*Optimized handling of player movement and some block/tile updates, making servers more responsive and less laggy.&lt;br /&gt;
*Fixed a possible crash that sometimes happened when server has 1 slot left and 2 people tried to join at once.&lt;br /&gt;
*Fixed a case where a Session object was not properly disposed.&lt;br /&gt;
*Fixed resizing issue in UpdateWindow and reduced connection timeout in Updater&lt;br /&gt;
*Disabled ShowPrefixesInChat and ShowPrefixesInList by default (breaks skin support)&lt;br /&gt;
*Added Player.Send, a safe wrapper for Player.session.Send&lt;br /&gt;
*Fixed /tp, /bring, and /setspawn commands that were broken in the last revision.&lt;br /&gt;
*Fixed ConfigTool not saving &amp;quot;IsPublic&amp;quot; setting correctly.&lt;br /&gt;
&lt;br /&gt;
===0.316===&lt;br /&gt;
*Added partial class-name matching for /class and /user commands.&lt;br /&gt;
*Fixed /banip and /banall not kicking the banned players immediately.&lt;br /&gt;
*Added /rules command. Create &amp;quot;rules.txt&amp;quot; in the server folder to specify.&lt;br /&gt;
*Fixed a bug where player movement sometimes got a little out of sync.&lt;br /&gt;
*Optimized /load speed a bit.&lt;br /&gt;
*Added nicer application icons.&lt;br /&gt;
&lt;br /&gt;
===0.315===&lt;br /&gt;
*Added visual color picker to ConfigTool&lt;br /&gt;
*Added lightweight console interface for fCraft&lt;br /&gt;
*Refactored the main update loop&lt;br /&gt;
&lt;br /&gt;
===0.314===&lt;br /&gt;
*Added AutomaticUpdates option.&lt;br /&gt;
*Integrated the color picker to ConfigTool.&lt;br /&gt;
*Improved hacking detection.&lt;br /&gt;
&lt;br /&gt;
===0.313===&lt;br /&gt;
*Fixed a few glitches left after switching file formats.&lt;br /&gt;
*Improved memory usage when saving maps.&lt;br /&gt;
*Fixed an updater-related crash.&lt;br /&gt;
&lt;br /&gt;
===0.312===&lt;br /&gt;
*New map format (FCM v2) should provide faster loading times.&lt;br /&gt;
*server_level.dat loader is now functional.&lt;br /&gt;
*Fixed possible crash if the default port was not available.&lt;br /&gt;
*Automatic updater should now work properly. More update options to come.&lt;br /&gt;
&lt;br /&gt;
===0.311===&lt;br /&gt;
*Preview version of automatic updater.&lt;br /&gt;
&lt;br /&gt;
===0.310===&lt;br /&gt;
*Cleaned up some VC# crapfiles.&lt;br /&gt;
*Added class prefixes and colors.&lt;br /&gt;
*Added PlaceWater and PlaceLava back to permissions.&lt;br /&gt;
*Fixed rank-limited permissions.&lt;br /&gt;
*Other assorted glitches fixed.&lt;br /&gt;
&lt;br /&gt;
===0.305===&lt;br /&gt;
*removed config.xml from svn.&lt;br /&gt;
&lt;br /&gt;
===0.304===&lt;br /&gt;
*More potential crashes fixed.&lt;br /&gt;
&lt;br /&gt;
===0.303===&lt;br /&gt;
*Fixed a couple potential crashes in ConfigTool and Config.DefineClass&lt;br /&gt;
&lt;br /&gt;
===0.302===&lt;br /&gt;
*Fixed a few minor ConfigTool bugs.&lt;br /&gt;
&lt;br /&gt;
===0.301===&lt;br /&gt;
*Forgot to save config from World.cs after parsing. Minor update.&lt;br /&gt;
&lt;br /&gt;
===0.300===&lt;br /&gt;
*ConfigTool finished. Note that some of the options do not have an effect yet.&lt;br /&gt;
&lt;br /&gt;
=Before 0.3xx=&lt;br /&gt;
*Version history was not kept before this point.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Version_history&amp;diff=2639</id>
		<title>Version history</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Version_history&amp;diff=2639"/>
		<updated>2017-04-30T06:47:09Z</updated>

		<summary type="html">&lt;p&gt;F: /* 0.440 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
=0.6xx=&lt;br /&gt;
===0.644===&lt;br /&gt;
&#039;&#039;27 January 2014 - r2327&#039;&#039;&lt;br /&gt;
*Fix: Fixed a bug that caused character &#039;@&#039; in player names to be treated same as &#039;_&#039; (thanks Dingus)&lt;br /&gt;
*Fix: Fixed a rare crash in {{cmd|ZEdit}} when using the command improperly.&lt;br /&gt;
*Fix: Fixed a DataError being thrown in ConfigGUI&#039;s &amp;quot;Worlds&amp;quot; tab after toggling rank prefixes on/off.&lt;br /&gt;
*Fix: Improved error reporting.&lt;br /&gt;
*Change: Improved reliability of external IP checks.&lt;br /&gt;
&lt;br /&gt;
===0.643===&lt;br /&gt;
&#039;&#039;15 October 2013 - r2234&#039;&#039;&lt;br /&gt;
*Fix: Fixed sometimes wrapping last word of a chat message to the next line, when the whole message could fit on one line (thanks AndrewPH).&lt;br /&gt;
*Fix: Installing updates no longer causes UAC prompts under Windows Vista.&lt;br /&gt;
*Fix: Fixed IRC periodically crashing if someone quits with an empty message.&lt;br /&gt;
*Fix: Fixed IRC-related crashes not being submitted to the crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.642===&lt;br /&gt;
&#039;&#039;27 August 2013 - r2180&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Fill3D}}.&lt;br /&gt;
*Feature: Added caret (^), tilde (~), and grave accent (`) to [[emotes]].&lt;br /&gt;
*Fix: Emotes work via IRC once again.&lt;br /&gt;
*Fix: ConfigGUI: Fixed &amp;quot;Add world&amp;quot; and &amp;quot;Edit world&amp;quot; popups sometimes locking up.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving LastFailedLoginIP properly.&lt;br /&gt;
*Change: Made it easy to switch heartbeat servers (minecraft.net to classicube or back) via ConfigGUI.&lt;br /&gt;
*Change: Added an optional second parameter to {{cmd|DumpStats}}, which allows specifying period of inactivity for filtering players.&lt;br /&gt;
*Change: Improved startup and shutdown times, and reduced CPU use.&lt;br /&gt;
*Change: {{cmd|Hide}} and {{cmd|Unhide}} now indicate when they are silent or not.&lt;br /&gt;
&lt;br /&gt;
===0.641===&lt;br /&gt;
&#039;&#039;17 August 2013 - r2150&#039;&#039;&lt;br /&gt;
*Feature: Improved the way {{cmd|EllipsoidH}} works on flat surfaces. Instead of filled ellipses, it now makes rings.&lt;br /&gt;
*Feature: Added {{cmd|Reply}} (&amp;lt;code&amp;gt;/re&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: {{cmd|Fill2D}} can now fill with any brush, not just solid color.&lt;br /&gt;
*Feature: Added &#039;&#039;HeartbeatUrl&#039;&#039; [[List of config keys#Advanced|config key]], to allow alternative heartbeat/authentication services. &#039;&#039;&#039;Note: [[HeartbeatSaver]] only needs to be updated IF you plan on using something other than minecraft.net&#039;&#039;&#039;&lt;br /&gt;
*Fix: Fixed a InvalidOperationException in ConfigGUI when re-drawing the map preview (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;Realistic&amp;quot; MapGen help (thanks Jonty800).&lt;br /&gt;
*Fix: Now correctly kicking custom premium-MC clients.&lt;br /&gt;
*Fix: Fixed help messages in [[HeartbeatSaver]] and {{cmd|MassRank}}.&lt;br /&gt;
*Fix: Fixed a potential way of revealing hidden players by messaging them.&lt;br /&gt;
*Change: ConfigGUI&#039;s port checker works again.&lt;br /&gt;
*Change: IRC bot will now retry for its primary nick every 30 seconds (thanks Dankirk).&lt;br /&gt;
&lt;br /&gt;
===0.640===&lt;br /&gt;
&#039;&#039;30 July 2013 - r2124&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Feature: [[Mojang accounts|Mojang account]] (email) support.&#039;&#039;&#039; Added {{perm|ViewEmails}} permission and a config option to disallow email users.&lt;br /&gt;
*Feature: Overhauled map generation! Improved {{cmd|Gen}}, new {{cmd|SetGen}} command, more options, preset loading/saving, redesigned ConfigGUI interface, and two new map generation modes: Vanilla (from [http://femto.fcraft.net FemtoCraft]) and FloatingIsland.&lt;br /&gt;
*Feature: Optional [http://www.regular-expressions.info/quickstart.html RegEx] filtering of filenames for [[MapRenderer]] and [[MapConverter]], enabled by &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Feature: Added &amp;lt;i&amp;gt;&amp;quot;Player ___ logged in from an IP shared by frozen players...&amp;quot;&amp;lt;/i&amp;gt; announcement.&lt;br /&gt;
*Feature: Added an optional parameter to toggle commands (grass, water, lava, solid, paint, static) &amp;amp;mdash; &amp;quot;on&amp;quot;/&amp;quot;1&amp;quot; or &amp;quot;off&amp;quot;/&amp;quot;0&amp;quot;.&lt;br /&gt;
*Feature: Added BackupOnMapChange config key, which automates backups when a world&#039;s map is replaced by /Gen or /WLoad (enabled by default).&lt;br /&gt;
*Feature: Added &amp;lt;code&amp;gt;/To&amp;lt;/code&amp;gt; as an alias of {{cmd|TP}}, and &amp;lt;code&amp;gt;/Flush&amp;lt;/code&amp;gt; as an alias for {{cmd|WFlush}}.&lt;br /&gt;
*Feature: [[MapRenderer]] is now much quicker, thanks to optimization and multithreading.&lt;br /&gt;
*Feature: Added ability to change capitalization of player&#039;s name using {{cmd|SetInfo}}.&lt;br /&gt;
*Fix: Fixed MapGenerator sometimes locking up when working with tiny 16x16 maps (thanks 123DMWM).&lt;br /&gt;
*Fix: Fixed world greetings not being saved between restarts (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed {{cmd|WLoad}} showing incorrect map file names when prompting to replace files (thanks Smokeybacon).&lt;br /&gt;
*Fix: Fixed [[Command_Tips#Restricting_player_name_search|online-only name prefix]] revealing hidden players in some commands (thanks Intertoothh and recon).&lt;br /&gt;
*Fix: When a spectating player gets frozen, they are no longer stuck spectating (thanks ruggedbear and NuclearWaffle121).&lt;br /&gt;
*Fix: IRC now handles two-number color codes and reset codes correctly (thanks Liam).&lt;br /&gt;
*Fix: Fixed map changes sometimes leaving behind &amp;quot;ghost maps&amp;quot; for players with rank-specific main maps set (thanks Jonty800).&lt;br /&gt;
*Fix: PlayerDB name autocompletion now correctly handles players with &#039;.&#039; in their names.&lt;br /&gt;
*Fix: Timed backups no longer drift slightly every hour.&lt;br /&gt;
*Fix: Players can now {{cmd|Clear}} their chat even while [[/Deafen|deaf]].&lt;br /&gt;
*Fix: Fixed a rare serialization issue with PlayerDB&#039;s RankChangedBy field.&lt;br /&gt;
*Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Now only allow either one directory, or one-or-more files to be specified. Multiple directories, and mixed directories/files are no longer allowed.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Disabled slow fallback conversion by default (which caused non-map files to take forever to skip in recursive mode). Old behavior can be reenabled with &amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Change: When auto-updating or restarting under Mono, fCraft no longer tries to use &amp;quot;mono-sgen&amp;quot;, now just using &amp;quot;mono&amp;quot; and assuming that runtime is properly configured.&lt;br /&gt;
*Change: {{cmd|WBuild}} and {{cmd|WAccess}} can optionally now take &amp;quot;@&amp;quot; in front of rank name.&lt;br /&gt;
*Change: Removed BackupOnJoin config key.&lt;br /&gt;
*Change: UpdateInstaller&#039;s &amp;lt;code&amp;gt;--restart&amp;lt;/code&amp;gt; parameter is more flexible.&lt;br /&gt;
*Change: Dropped Mono 2.6 support.&lt;br /&gt;
*Change: Optimizations in player movement code, PlayerDB loading/saving, IP ban list loading, map generation, map rendering, {{cmd|Ellipsoid}}, and {{cmd|Sphere}}.&lt;br /&gt;
&lt;br /&gt;
===0.639===&lt;br /&gt;
&#039;&#039;10 December 2012 - r1917&#039;&#039;&lt;br /&gt;
*Feature: Added RankPrefixesOnDisplayedNames config key (default: false), which controls whether to prepend rank prefixes to names of players with a custom DisplayedName set.&lt;br /&gt;
*Feature: Added BypassHttpsCertificateValidation config key (default: false), to ease HTTPS-related pains under Mono.&lt;br /&gt;
*Feature: Added MoveEmoteDotToEndOfMessage config key (default: true), which slightly changes emote formatting, by BobKare&#039;s request.&lt;br /&gt;
*Fix: Fixed a stability issue in the IRC bot.&lt;br /&gt;
*Fix: Fixed incorrect runtime version detection for Mono versions older than 2.6.&lt;br /&gt;
*Fix: Server now gives more informative messages when you try to do something disallowed to yourself (mute, unfreeze, ban, kick, etc).&lt;br /&gt;
*Fix: Fixed being able to teleport to hidden players (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed {{cmd|Unhide}} not faking a join message for hidden players (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed IRC bot sending USER before NICK (fixes occasional error 451) (thanks Hellenion).&lt;br /&gt;
*Change: Added ability to set players&#039; BandwidthUseMode via {{cmd|SetInfo}}.&lt;br /&gt;
*Change: Improved {{cmd|Env}}, {{cmd|UndoAreaNot}}, and {{cmd|Help}} messages.&lt;br /&gt;
*Change: Players&#039; connection messages in logs now include TimesVisited stat.&lt;br /&gt;
*Change: {{cmd|Help|commands}} is no longer an alias for {{cmd|Commands}} (thanks ruggedbear).&lt;br /&gt;
&lt;br /&gt;
===0.638===&lt;br /&gt;
&#039;&#039;29 November 2012 - r1887&#039;&#039;&lt;br /&gt;
*Feature: [[Emotes|Emote]] keywords and their Unicode equivalents can now be included in announcement and rule files.&lt;br /&gt;
*Feature: IRC bot now sends a quit message consisting of server name and shutdown reason.&lt;br /&gt;
*Fix: Fixed a very small chance of PlayerInfo.TimeMutedLeft returning negative time spans.&lt;br /&gt;
*Fix: Leading and trailing spaces are now trimmed from kick/ban/unban reasons.&lt;br /&gt;
*Fix: Fixed some emotes getting trimmed from {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} (thanks Intertoothh)&lt;br /&gt;
*Fix: Fixed RestartInterval starting two chat timers (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed ServerCLI using console colors for the first few messages even if &amp;lt;code&amp;gt;--noconsolecolor&amp;lt;/code&amp;gt; [[List of command-line options|command-line switch]] was given (thanks Hellenion)&lt;br /&gt;
*Change: Added &amp;lt;code&amp;gt;--noupdater&amp;lt;/code&amp;gt; command line switch, which stops fCraft from launching update installer binaries (although all other update-related behavior remains the same)&lt;br /&gt;
*Change: Player&#039;s own name is no longer considered in autocompletion/searches for commands that are not applicable to self (e.g. {{cmd|Ban}}, {{cmd|Mute}}, {{cmd|Ignore}}, {{cmd|TP}}, etc)&lt;br /&gt;
*Change: Logged global chat messages now have &amp;quot;(global)&amp;quot; prepended before player&#039;s name.&lt;br /&gt;
*API: Updated trunk project files to VisualStudio 2010. Target runtime remains .NET 3.5 Client Profile.&lt;br /&gt;
&lt;br /&gt;
===0.637===&lt;br /&gt;
&#039;&#039;16 October 2012 - r1847&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Emotes}} command, to list emotes and their keywords.&lt;br /&gt;
*Fix: Fixed IRC bot cutting off very long messages.&lt;br /&gt;
*Fix: Fixed {{cmd|Info}} not working with some IP ranges (thanks _BjorN64_).&lt;br /&gt;
*Fix: Fixed single-letter emote keywords not working (thanks Wundsalz).&lt;br /&gt;
*Fix: Improved the way IRC bot handles nick conflicts (thanks Jonty800).&lt;br /&gt;
*Fix: {{cmd|DumpStats}} no longer dies when an invalid file name is given (thanks Hellenion).&lt;br /&gt;
*Change: Added a new build configuration, DEBUG_NETWORKING, which traces all incoming and outgoing packets.&lt;br /&gt;
*Change: IRC bot now logs all outgoing messages when built in DEBUG_IRC configuration.&lt;br /&gt;
&lt;br /&gt;
===0.636===&lt;br /&gt;
&#039;&#039;10 October 2012 - r1832&#039;&#039;&lt;br /&gt;
*Feature: Check your configs! New options were added to control display of colors and emotes to/from IRC.&lt;br /&gt;
*Feature: Added {house} [[emotes|emote]]: ⌂ (0x7F).&lt;br /&gt;
*Fix: Fixed newline codes %n/%N not being parsed properly.&lt;br /&gt;
*Fix: Fixed a crash in Color.StripColors (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed random symbols appearing in stack traces in console (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed couple problems with Player.Moving event (thanks 00pol).&lt;br /&gt;
*Fix: Spawn points of MCSharp map files are now loaded correctly (thanks 00pol).&lt;br /&gt;
*Change: Players&#039; DisplayedNames may no longer contains line breaks.&lt;br /&gt;
&lt;br /&gt;
===0.635===&lt;br /&gt;
&#039;&#039;8 October 2012 - r1822&#039;&#039;&lt;br /&gt;
*Feature: Added support for &amp;quot;[[emotes]]&amp;quot; (chat symbols). New permission ({{perm|UseEmotes}}) and config key (IRCAllowEmotes) were added.&lt;br /&gt;
*Fix: Fixed numbers sometimes being accepted as valid (e.g. by {{cmd|Mute}}), although counted as 0-length time spans.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving strings with newlines properly.&lt;br /&gt;
*Fix: Fixed IRC bot sometimes producing messages that are a couple characters over the IRC message size limit (512 chars).&lt;br /&gt;
*Fix: Fixed players being able to use newline codes (&amp;amp;N/&amp;amp;n) on IRC.&lt;br /&gt;
*Fix: Fixed problems with UpdaterMode and BackupOnStartup settings in ConfigGUI.&lt;br /&gt;
*Fix: Fixed fCraft not building in DEBUG_IRC configuration.&lt;br /&gt;
*Change: Added a workaround for TermInfoDriver-related exceptions under Mono (thanks Hellenion)&lt;br /&gt;
*Change: Symbolic [[colors|color codes]] (e.g. %S) can now be used in chat.&lt;br /&gt;
*Change: Backslash can now be used to escape percent [[colors|color codes]] (e.g. \%C).&lt;br /&gt;
*Change: fCraft will now retry looking up the external IP up to 3 times.&lt;br /&gt;
*Change: Lots of documentation, annotation, and API improvements.&lt;br /&gt;
&lt;br /&gt;
===0.634===&lt;br /&gt;
&#039;&#039;30 September 2012 - r1796&#039;&#039;&lt;br /&gt;
*Fix: Fixed an occasional InvalidOperationException when auto-updating in ServerGUI.&lt;br /&gt;
*Fix: Fixed ConfigGUI showing misleading information in &amp;quot;unrecognized entry ignore&amp;quot; errors.&lt;br /&gt;
*Fix: Fixed Logger trying to write to file in [[MapConverter]] and [[MapRenderer]].&lt;br /&gt;
*Fix: Fixed [[MapRenderer]] and [[MapConverter]] spamming zone-related errors (thanks Hellenion and AndrewPH)&lt;br /&gt;
*Fix: Fixed {{cmd|UndoPlayerNot}} help entry (thanks ruggedbear)&lt;br /&gt;
*Change: Heartbeat code now uses HTTPS, as mandated by Mojang. If you use Mono, see http://www.mono-project.com/FAQ:_Security&lt;br /&gt;
*Change: Removed support for the malfunctioning WoM Direct heartbeat service.&lt;br /&gt;
*Change: RankChangeReason is now shown as a &amp;quot;Rank note&amp;quot; in {{cmd|Info}}, even if no other data (PreviousRank/RankChangedBy/RankChangeDate) exists (thanks Wundsalz)&lt;br /&gt;
&lt;br /&gt;
===0.633===&lt;br /&gt;
&#039;&#039;26 September 2012 - r1788&#039;&#039;&lt;br /&gt;
*Feature: Added checkbox for HeartbeatEnabled config key to ConfigGUI, on the advanced tab.&lt;br /&gt;
*Fix: Fixed heartbeat/verification issues caused by &amp;quot;no-www&amp;quot; changes made by Mojang at minecraft.net&lt;br /&gt;
*Fix: Fixed VisualStudio designer being unable to load ConfigGUI.MainForm.&lt;br /&gt;
*Fix: Fixed {{cmd|ZMark}} being spammy (thanks ruggedbear).&lt;br /&gt;
*Fix: Binding &amp;quot;air&amp;quot; block to something now works as expected (deleted blocks are replaced with the binding) (thanks Hellenion).&lt;br /&gt;
*Fix: Added missing tooltips to &amp;quot;Data Backup&amp;quot; checkbox in ConfigGUI (thanks PhoneBook_).&lt;br /&gt;
*Fix: Added [[HeartbeatSaver]] to UpdateInstaller and list of protected filenames.&lt;br /&gt;
*Fix: Fixed occasional startup crash in [[HeartbeatSaver]].&lt;br /&gt;
*Change: {{cmd|Reload|Autorank}} now triggers a re-scan of the whole PlayerDB.&lt;br /&gt;
*Change: Added code to BlockDB to recover misaligned .fbdb files. BlockDB files are supposed to be aligned to 20 bytes. Misalignment might happen if writing didn&#039;t finish properly - e.g. power outage, or ungraceful shutdown.&lt;br /&gt;
*Change: Improved consistency of exit codes in [[HeartbeatSaver]], [[MapConverter]], and [[MapRenderer]].&lt;br /&gt;
&lt;br /&gt;
===0.632===&lt;br /&gt;
&#039;&#039;14 September 2012 - r1765&#039;&#039;&lt;br /&gt;
*Feature: Added standalone [[HeartbeatSaver]] utility, a heartbeat-sending daemon.&lt;br /&gt;
*Feature: Added a way to specify scale/turbulence/seed for cloudy brush.&lt;br /&gt;
*Feature: Renamed &amp;quot;IRC&amp;quot; LogType to &amp;quot;IRCStatus&amp;quot;, and added &amp;quot;IRCChat&amp;quot; LogType. Check your configs.&lt;br /&gt;
*Fix: Fixed the updater. You&#039;ll have to update from version 0.631 manually (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed a bug related to multiple players trying to join an almost-full server at the same time.&lt;br /&gt;
*Fix: Fixed a rare InvalidOperationException crash in ConfigGUI.&lt;br /&gt;
*Fix: Fixed reversed order in {{cmd|BlockInfo}} (thanks recon_).&lt;br /&gt;
*Fix: Fixed a few formatting errors in feedback messages.&lt;br /&gt;
*Fix: Fixed a rare disconnect related to a spectator trying to follow a spectatee to a full world.&lt;br /&gt;
*Fix: Fixed {{cmd|Hide}} not showing a fake disconnect message when needed.&lt;br /&gt;
*Fix: Fixed {{cmd|WRename}} prompting for file overwrite when changing capitalization in a world name.&lt;br /&gt;
*Fix: Fixed UndoArea/UndoAreaNot and UndoPlayer/UndoPlayerNot messages occasionally getting mixed up.&lt;br /&gt;
*Fix: Fixed players being unable to join the server if access restrictions prevent them from joining the rank-specific main world.&lt;br /&gt;
*Fix: {{cmd|WRemove}} now correctly handles removing rank-main worlds.&lt;br /&gt;
*Fix: Fixed a case where newlines in PlayerInfo or IPBanInfo fields would cause record corruption.&lt;br /&gt;
*Fix: Fixed reversed messages in {{cmd|DoNotMark}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed ServerCLI sometimes staying open, waiting on console input, when it&#039;s supposed to shut down or restart.&lt;br /&gt;
*Change: Sped up &amp;quot;cloudy&amp;quot; brush when working with large draw commands.&lt;br /&gt;
*Change: Crash reporter now submits list of names and versions of all loaded assemblies, to help identify mismatched or missing dependencies.&lt;br /&gt;
*Change: Added logging to every confirmation prompt, &amp;quot;/ok&amp;quot;, {{cmd|BlockDB}} enabling/disabling/clearing, {{cmd|ZRemove}}, {{cmd|InfoSwap}}, and {{cmd|Env}}.&lt;br /&gt;
*Change: Any pending confirmations are now reset on world change.&lt;br /&gt;
*Change: Added /I as an alias for {{cmd|Info}}, and /CS as an alias for {{cmd|CopySlot}}.&lt;br /&gt;
*Change: Removed &amp;quot;marbled&amp;quot; brush (&amp;quot;cloudy&amp;quot; works just as well) and FCMv4 map format support (development canceled).&lt;br /&gt;
*Change: {{cmd|Where}} command now only requires {{perm|ViewOthersInfo}} permission to see other players&#039; whereabouts. It can be used by anyone on self.&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.631===&lt;br /&gt;
&#039;&#039;5 September 2012 - r1741&#039;&#039;&lt;br /&gt;
*Feature: Added a way to restrict commands to match online players&#039; names only, by prefixing the name with an exclamation mark (!). See [[Command Tips]] for more.&lt;br /&gt;
*Feature: Added {{cmd|DoNotMark}} command. When toggled on, clicking on blocks does not cause marks to be added to a selection.&lt;br /&gt;
*Fix: Included MapConverter.exe and MapRenderer.exe in list of protected filenames.&lt;br /&gt;
*Fix: Fixed a potential crash in Paths.FileExists when working in case-sensitive mode in a root directory.&lt;br /&gt;
*Fix: Fixed ConfigGUI not loading permission limits properly (thanks recon_).&lt;br /&gt;
*Fix: Added missing fake connection message when using non-silent {{cmd|Unhide}} (thanks Wundsalz).&lt;br /&gt;
*Change: Improvements to fCraft&#039;s built-in crash reporter.&lt;br /&gt;
*Change: Blocks redone with {{cmd|Redo}} are now flagged as &amp;quot;Redone&amp;quot; in /BlockInfo (instead of &amp;quot;UndoneSelf&amp;quot;), [[/Paint|painted]] blocks as &amp;quot;Painted&amp;quot; (instead of &amp;quot;Manual, Replaced&amp;quot;).&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.630===&lt;br /&gt;
&#039;&#039;4 September 2012 - r1727&#039;&#039;&lt;br /&gt;
*Feature: New permissions! {{perm|FlushWorlds}} (previously part of {{perm|ManageWorlds}}), {{perm|UseTimers}} (previously part of {{perm|Say}}), and {{perm|UndoAll}}.&lt;br /&gt;
*Feature: Added ability to undo multiple players&#039; actions at once, or EVERYONE&#039;s actions at once, using {{cmd|UndoPlayer}} and {{cmd|UndoArea}}. Command syntax changed, see wiki.&lt;br /&gt;
*Feature: {{cmd|Info}} now shows whether minecraft.net accounts are free or paid.&lt;br /&gt;
*Feature: Added special &amp;quot;skip&amp;quot;/&amp;quot;none&amp;quot; blocktype, usable with brushes and draw commands.&lt;br /&gt;
*Feature: Added ability to clear world/zone whitelists and blacklists. Use &amp;quot;-*&amp;quot; in place of player name to clear whitelist, and &amp;quot;+*&amp;quot; to clear blacklist.&lt;br /&gt;
*Feature: Added a way to remove all zones in a world, {{cmd|ZRemove|*}}.&lt;br /&gt;
*Feature: Added {{cmd|UndoAreaNot}} (/uan) and {{cmd|UndoPlayerNot}} (/upn), which reverse changes made by everyone EXCEPT the given player(s).&lt;br /&gt;
*Feature: Added [[MapConverter]] and [[MapRenderer]] utilities.&lt;br /&gt;
*Feature: {{cmd|CuboidW}} now supports optionally filling sides and center with different blocktypes, e.g. &amp;quot;/cw white blue red&amp;quot;.&lt;br /&gt;
*Fix: Fixed ServerCLI launching the wrong fCraft binary after running the updater.&lt;br /&gt;
*Fix: Fixed a missing warning in {{cmd|Gen}} when map height is not a multiple of 16.&lt;br /&gt;
*Fix: Fixed a rare case of players receiving desynchronized copies of maps where draw commands are in progress.&lt;br /&gt;
*Fix: Fixed a crash in {{cmd|Commands|&amp;lt;Category&amp;gt;}}&lt;br /&gt;
*Fix: Fixed potential crashes when working with files in root directories (e.g. C:/)&lt;br /&gt;
*Fix: Improved {{cmd|BanEx}} logging.&lt;br /&gt;
*Fix: Improved support for Myne/MyneCraft/HyveBuild/iCraft maps.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog in ConfigGUI defaulting to 20 minutes, instead of &amp;quot;(default)&amp;quot;.&lt;br /&gt;
*Fix: Fixed SaveInterval and BackupInterval being limited to just 100 seconds/minutes in ConfigGUI (thanks Hellenion).&lt;br /&gt;
*Fix: Improved consistency of timestamp format in logs (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed being unable to remove world greetings via {{cmd|WSet}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed IRC bot cutting off long messages (thanks Hellenion).&lt;br /&gt;
*Change: Improved performance of {{cmd|Gen}}, {{cmd|WLoad}}, world loading, and all BlockDB-related commands.&lt;br /&gt;
*Change: Adjustments to block names and aliases, as well as command aliases.&lt;br /&gt;
*Change: Merged {{cmd|Cancel}} and /Nvm commands.&lt;br /&gt;
*Change: &amp;quot;&amp;amp;N&amp;quot; is now usable as a &amp;quot;newline&amp;quot; constant in all configurable strings (rules, announcements, greetings, etc), and &amp;quot;%N&amp;quot; is usable by players with {{perm|UseColorCode}} permissions.&lt;br /&gt;
*Change: Made {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} usable by frozen players.&lt;br /&gt;
*Change: Added a warning to /Colors regarding the minimum rank required to use colorcodes in chat (thanks Jonty800).&lt;br /&gt;
*Change: Ignoring a player no longer prevents you from seeing {{cmd|Say}} messages written by them.&lt;br /&gt;
*Change: {{cmd|Paint}}, {{cmd|Solid}}, {{cmd|Grass}}, {{cmd|Water}}, and {{cmd|Lava}} are no longer usable by players without Build permission, and dont show up in /Commands for them.&lt;br /&gt;
*Change: Clarified {{cmd|ZEdit}} messages when trying to remove self from blacklist, or add yourself to whitelist.&lt;br /&gt;
*Change: {{cmd|Mute}}, {{cmd|Unmute}}, {{cmd|Freeze}}, and {{cmd|Unfreeze}} are now also usable on offline players.&lt;br /&gt;
*Change: Session threads are no longer marked as &amp;quot;background&amp;quot;, to prevent unexpected side effects from session threads being aborted on shutdown. This might slow down shutdown a bit, but there is less to go wrong.&lt;br /&gt;
*Change: World greetings can now support constants.&lt;br /&gt;
*Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.&lt;br /&gt;
*Change: Process exit code is now set to match ShutdownReason.&lt;br /&gt;
*API: Added ChatTimer.Started and ChatTimer.Stopped events, rewrote BlockDB, MapConversion, and IsoCat APIs.&lt;br /&gt;
*API: Many documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.624===&lt;br /&gt;
&#039;&#039;16 July 2012 - r1636&#039;&#039;&lt;br /&gt;
*Fix: Fixed BlockDB time-limiting code trimming too much data from the database.&lt;br /&gt;
*Fix: CommandBook ban import now accepts any filename that ends with &amp;quot;.csv&amp;quot;, not just &amp;quot;bans.csv&amp;quot;.&lt;br /&gt;
*Fix: ServerCLI no longer crashes upon receiving EOF from console.&lt;br /&gt;
*Fix: Fixed a rare case of hidden players being revealed (briefly) when their rank is changed.&lt;br /&gt;
*Fix: Fixed [[/Spectate]] leaving ghost players behind on world change (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed a couple typos in [[/WLock]] and [[/WUnlock]] (thanks ImNoobSoWhat).&lt;br /&gt;
*Change: Added server name to [[/ServerInfo]]&lt;br /&gt;
*Change: If opening a link fails (from ConfigGUI or ServerGUI), the URL is copied to clipboard, instead of crashing.&lt;br /&gt;
*Change: &amp;quot;[[/Import]] bans&amp;quot; no longer prints a message for every player who&#039;s already banned, instead showing a total number of already-banned players at the end.&lt;br /&gt;
*Change: Added a missing &amp;quot;Copy&amp;quot; context menu to the ServerGUI&#039;s log box (thanks to Jonty800).&lt;br /&gt;
*Change: fCraft front-ends now check fCraft.dll&#039;s assembly version, and refuse to start if there is a mismatch (Thanks Zaneo).&lt;br /&gt;
&lt;br /&gt;
===0.623===&lt;br /&gt;
&#039;&#039;9 July 2012 - r1624&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in [[/PasteX]] and [[/PasteNotX]].&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] crash when given a non-banned IP address.&lt;br /&gt;
*Fix: Fixed a crash in Player.DetectChatSpam if AntiSpam was supposed to be disabled.&lt;br /&gt;
*Fix: Fixed typos in comments and messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed a crash in [[/ZAdd]] (thanks thelonedrummer18).&lt;br /&gt;
&lt;br /&gt;
===0.622===&lt;br /&gt;
&#039;&#039;6 July 2012 - r1619&#039;&#039;&lt;br /&gt;
*Feature: ServerGUI message log is now color-coded, easier to select/copy/paste, and featuring clickable links.&lt;br /&gt;
*Fix: Fixed several regressions in [[/Hide]] and [[/Spectate]] that were introduced in 0.620-0.621 (thanks mark_b).&lt;br /&gt;
*Fix: Fixed [[/Deafen]] being usable from console (thanks phonebookguy).&lt;br /&gt;
*Fix: Fixed a crash in Paste/PasteNot/PasteX/PasteNotX (thanks Grant).&lt;br /&gt;
*Misc: Updated some draw command messages, credits, help entries, warnings.&lt;br /&gt;
&lt;br /&gt;
===0.621===&lt;br /&gt;
&#039;&#039;5 July 2012 - r1612&#039;&#039;&lt;br /&gt;
*Feature: Added CommandBook banlist (bans.csv) support to [[/Import]].&lt;br /&gt;
*Feature: Added a way to list all players of a certain rank with &amp;quot;[[/Info]] @ClassName&amp;quot;.&lt;br /&gt;
*Feature: Added {PLAYER_LIST} variable, for use in greetings/announcements/rules.&lt;br /&gt;
*Fix: Fixed changes to DefaultBackupInterval config key not being applied.&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] showing &amp;quot;players on same IP&amp;quot; for players without a recorded IP address.&lt;br /&gt;
*Fix: Fixed fCraft occasionally using localized datetime and number formatting.&lt;br /&gt;
*Fix: Fixed [[/Cut]] storing the selected blocks before checking player&#039;s draw limit (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed [[/Fill2D]] starting a selection even if command parameters could not be parsed (thanks David00143).&lt;br /&gt;
*Fix: Fixed [[/Copy]] and [[/Cut]] reporting incorrect origin information (thanks nope__avi).&lt;br /&gt;
*Fix: Players who are spectating or being spectated by you are no longer hidden from the tab player list (thanks ruggedbear).&lt;br /&gt;
*Change: If multiple players are spectating the same player, they no longer see each other (thanks Hellenion).&lt;br /&gt;
*Change: Small improvements and fixes to [[/WSet]] and to AntiSpam functionality.&lt;br /&gt;
*Change: Sped up PlayerDB loading on startup.&lt;br /&gt;
*Change: Added shortcuts for [[/SetInfo]] field names.&lt;br /&gt;
&lt;br /&gt;
===0.620===&lt;br /&gt;
&#039;&#039;17 June 2012 - r1592&#039;&#039;&lt;br /&gt;
*Feature: WoM Direct description and flags can now be set from config, without the need to go to WoM Direct website.&lt;br /&gt;
*Feature: Added a new [[/WSet]] command, that allows hiding worlds, changing backup settings, and setting greeting messages.&lt;br /&gt;
*Feature: More [[/WInfo]] information is persisted across server restarts: IsLocked, LockedBy, UnlockedBy, LoadedBy, LoadedOn, MapChangedBy, MapChangedOn.&lt;br /&gt;
*Feature: Added IRCStripMinecraftColors config key (default: true). It determines whether Minecraft colorcodes (ampersand codes) entered on IRC should be removed before showing the message in-game.&lt;br /&gt;
*Fix: Fixed incorrect percentages occasional being printed by [[/Measure]], [[/Cancel]], and [[/Undo]].&lt;br /&gt;
*Fix: Locked worlds remain locked after server restart.&lt;br /&gt;
*Fix: Addressed many flaws and glitches in the backup system.&lt;br /&gt;
*Fix: Fixed a case where draw commands that affected no blocks caused division by zero&lt;br /&gt;
*Fix: Fixed a PlayerDB record corruption bug that affected numbers over 100,000,000.&lt;br /&gt;
*Fix: Fixed a stability issue related to LineWrapper (thanks Kevinsweijen and Mc_MrCat).&lt;br /&gt;
*Fix: Fixed IRC markup codes being forwarded to the server in IRC&#039;s channel-kick messages.&lt;br /&gt;
*Fix: Fixed [[/Unmute]] not checking rank limits (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;IP&amp;gt;&amp;quot; and &amp;quot;[[/BanAll]] &amp;lt;PlayerName&amp;gt;&amp;quot; not checking ban exemptions when kicking players (thanks BobKare).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;PlayerName&amp;gt;&amp;quot; not kicking all the players from IP address.&lt;br /&gt;
*Fix: Fixed Undo/Redo messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed compatibility with Mono 2.10.8.1 (thanks Hawkzeh).&lt;br /&gt;
*Change: Removed [[/WHide]] and [[/WUnhide]] (obsoleted by [[/WSet]]).&lt;br /&gt;
&lt;br /&gt;
===0.618===&lt;br /&gt;
&#039;&#039;22 April 2012 - r1568&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in ConfigGUI when trying to sort by map size and a map file is missing (thanks Moose).&lt;br /&gt;
*Change: Ampersands are no longer allowed in chat, even escaped, due to unpredictable Minecraft client behavior.&lt;br /&gt;
&lt;br /&gt;
===0.617===&lt;br /&gt;
&#039;&#039;21 April 2012 - r1564&#039;&#039;&lt;br /&gt;
*Feature: [[/BInfo]] now accepts optional XYZ coordinates, like [[/Mark]].&lt;br /&gt;
*Fix: Added a workaround for &amp;quot;Internal error Flush&amp;quot; under Mono.&lt;br /&gt;
*Fix: Fixed [[/WBring]] printing incorrect usage syntax (thanks recon_)&lt;br /&gt;
*Fix: Fixed typo in [[/BlockDB]] (thanks xN8Gx)&lt;br /&gt;
*Fix: Fixed IRC bots not binding to the specified local endpoint.&lt;br /&gt;
*Fix: Fixed &amp;quot;PreviousRank&amp;quot; not getting updated by [[/SetInfo]] working (thanks nope__avi)&lt;br /&gt;
*Fix: Fixed several rare stability issues (thanks Kevinsweijen).&lt;br /&gt;
*Fix: Fixed [[/Undo]] and [[/Redo]] producing odd log messages if 0 blocks have been changed.&lt;br /&gt;
*&amp;lt;s&amp;gt;Change: Allowed &#039;&amp;amp;&#039; character (ampersand) to be entered in chat, which is now escaped.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===0.616===&lt;br /&gt;
&#039;&#039;10 March 2012 - r1498&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Import]] terminating when importing bans, if a player with the given name is already banned.&lt;br /&gt;
*Fix: Fixed a formatting error in [[/Bring]] and [[/WBring]] confirmation messages.&lt;br /&gt;
*Fix: Fixed mixed-up messages in [[/WAccess]] and [[/WBuild]] when removing players from blacklist/whitelist (thanks ruggedbear and xN8Gx)&lt;br /&gt;
*Fix: Fixed [[/Static]] not turning off after switching worlds (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed [[/Rotate]] printing incorrect copyslot number (thanks Mc_MrCat)&lt;br /&gt;
*Fix: Fixed a ServerGUI crash when pressing the down arrow key after typing in the first console message (thanks Jason)&lt;br /&gt;
*Fix: [[/Me]] messages no longer count towards stats twice (thanks recon_)&lt;br /&gt;
*Fix: [[/Mute]] and [[/Unmute]] now usable with &amp;quot;-&amp;quot; in place of player name (thanks thelonedrummer18)&lt;br /&gt;
*Fix: Fixed README.txt typo (thanks Wolfmade)&lt;br /&gt;
&lt;br /&gt;
===0.615===&lt;br /&gt;
&#039;&#039;2 February 2012 - r1445&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Patrol]] checking Spectate permission, and [[/SpecPatrol]] not checking it.&lt;br /&gt;
*Fix: Fixed [[/WRename]] not updating player&#039;s last-used-world-name (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed colorcodes (%-codes) not getting applied consistently (thanks BobKare)&lt;br /&gt;
*Fix: Fixed a rare name-verification issue that only affected players whose ranks have been imported (thanks Mc_MrCat)&lt;br /&gt;
*Fix: ServerGUI now correctly interprets &amp;quot;Notify&amp;quot; and &amp;quot;Auto&amp;quot; updater settings.&lt;br /&gt;
*Change: Data backups are now stored in ./databackups/ directory.&lt;br /&gt;
&lt;br /&gt;
===0.614===&lt;br /&gt;
&#039;&#039;24 January 2012 - r1426&#039;&#039;&lt;br /&gt;
*Fix: Fixed server crashing if PlayerDB.txt exists but is empty.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Join]] -&amp;quot; using player names, and &amp;quot;[[/TP]] -&amp;quot; using world names.&lt;br /&gt;
*Fix: Solved File.Replace-related errors, which caused occasional save failures.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking caller&#039;s Spectate permission limit when selecting the next target.&lt;br /&gt;
*Fix: Fixed &amp;quot;random&amp;quot; brush producing obvious repeating patterns.&lt;br /&gt;
*Fix: Fixed auto-updater occasionally freezing when attempting to &amp;quot;Restart Now&amp;quot;.&lt;br /&gt;
*Fix: Added permission limit check to [[/Unfreeze]] (thanks Xb0x4d4m)&lt;br /&gt;
*Fix: Improved the way [[/Bring]] and [[/WBring]] enforce access permissions (thanks Hellenion)&lt;br /&gt;
*Change: Added more information about player connects/disconnects to log file.&lt;br /&gt;
&lt;br /&gt;
===0.613===&lt;br /&gt;
&#039;&#039;11 January 2012 - r1401&#039;&#039;&lt;br /&gt;
*Fix: Fixed ConfigGUI not saving changes to ShowConnectionMessages key.&lt;br /&gt;
*Fix: Fixed a case where ConfigGUI could crash while attempting to rename a world.&lt;br /&gt;
*Fix: All spectate permissions are now re-checked when someone gets promoted or demoted.&lt;br /&gt;
*Fix: Fixed ConfigGUI Worlds tab crash when dealing with zoned maps.&lt;br /&gt;
*Fix: Fixed IRC bot not retrying for desired nickname after reconnecting&lt;br /&gt;
*Fix: Fixed a case where editing a world via ConfigGUI would clear security whitelists/blacklists.&lt;br /&gt;
*Fix: Fixed spectating players not being treated as hidden (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed formatting in &amp;quot;Player ___ got auto-kicked&amp;quot; message (thanks BobKare)&lt;br /&gt;
*Fix: Fixed auto-kick revealing hidden players (thanks BobKare)&lt;br /&gt;
*Fix: Fixed RandomBrush-related [[/Undo]] artifacts in [[/Triangle]] (thanks Lunara_Noctis)&lt;br /&gt;
&lt;br /&gt;
===0.612===&lt;br /&gt;
&#039;&#039;14 December 2011 - r1307&#039;&#039;&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] @Rank&amp;quot; not autocompleting rank names.&lt;br /&gt;
*Fix: Fixed compatibility with legacy PlayerDB format versions. PlayerDB files created by fCraft 0.400+ will work again.&lt;br /&gt;
*Fix: Fixed several syntax problems and crashes in /Gen.&lt;br /&gt;
*Fix: Fixed a bug that reset a world&#039;s BackupInterval to default and IsLocked flag to false after changing the map (backport from 0.700).&lt;br /&gt;
*Fix: Fixed a bug that prevented kicks/bans/promotions/demotions from being announced on IRC if no reason was given.&lt;br /&gt;
*Change: Capped all user-entered time spans at 9999 days.&lt;br /&gt;
*Change: Shortened and clarified some confirmation prompts ([[/Gen]], [[/WLoad]], [[/ZRemove]], [[/Import]], [[/MassRank]]).&lt;br /&gt;
&lt;br /&gt;
===0.611===&lt;br /&gt;
&#039;&#039;3 December 2011 - r1282&#039;&#039;&lt;br /&gt;
*Feature: Added information about periodic backups to [[/WInfo]].&lt;br /&gt;
*Fix: Fixed [[/Players]] not working properly if both world name and offset were given.&lt;br /&gt;
*Fix: Fixed [[/WAccess]], [[/WBuild]], and [[/ZEdit]] not working with one-letter rank names.&lt;br /&gt;
*Fix: Fixed [[/BanIP]], /BanAll, /UnbanIP, and /UnbanAll treating fully numeric player names as IPs.&lt;br /&gt;
*Fix: Fixed [[/SetInfo]] not resetting PlayerInfo.LastModified date.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] populated&amp;quot; revealing worlds with hidden players.&lt;br /&gt;
*Fix: Fixed [[/BringAll]] ignoring per-rank limits in some cases (thanks ferny530)&lt;br /&gt;
*Fix: Fixed appearance of black and white blocks in [[/Env]] edges (thanks Jonty)&lt;br /&gt;
*Fix: Fixed a bug in Position.Equals&amp;lt;Position&amp;gt;(), which may have caused unnecessary position updates in Player.UpdateVisibleEntities (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed a little crash in Chat.GetRawMessageType (thanks ruggedbear)&lt;br /&gt;
*Fix: Fixed a case where Player.CanPlace checked permissions against the wrong world&#039;s BuildSecurity controller (thanks Xesdra)&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Commands]] @Rank&amp;quot; showing hidden commands (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed a typo in [[/Worlds]] (thanks Kevinsweijen)&lt;br /&gt;
*Fix: Fixed BlockDBAutoEnable and BlockDBAutoEnableRank config keys being placed in the &amp;quot;General&amp;quot; section.&lt;br /&gt;
*Change: Improved config.xml format (now version 152). Configs created with fCraft 0.611+ will not be usable with older versions of fCraft.&lt;br /&gt;
*Change: Rewrote ServerGUI startup code to make it more responsive (thanks to 800craft for the idea).&lt;br /&gt;
*Change: Added information about command-line options to the README, and fixed some typos.&lt;br /&gt;
*Change: MaxConnectionsPerIP restriction no longer applies to localhost.&lt;br /&gt;
*Change: Increased block-ratio limit for &amp;quot;random&amp;quot;, &amp;quot;cloudy&amp;quot;, and &amp;quot;marbled&amp;quot; brushes from 1000 to 10,000.&lt;br /&gt;
&lt;br /&gt;
===0.610===&lt;br /&gt;
&#039;&#039;18 November 2011 - r1240&#039;&#039;&lt;br /&gt;
*Feature: Added [[/Fill2D]] (/f2d), [[/Triangle]] (/t), and [[/TriangleW]] (/tw) draw commands.&lt;br /&gt;
*Feature: Added ability to filter [[/Worlds]] by rank.&lt;br /&gt;
*Feature: Added [[/Static]] (a way to repeat selection commands).&lt;br /&gt;
*Feature: Added MaxUndoStates config key (how many steps back can [[/Undo]] go), and ConfigGUI bindings.&lt;br /&gt;
*Feature: Added experimental IP-range lookup to [[/Info]] (CIDR notation). Changed /Info pattern-matching single-character symbol from &#039;.&#039; to &#039;?&#039;&lt;br /&gt;
*Feature: Added pagination to [[/Players]].&lt;br /&gt;
*Feature: [[/Spectate]] and [[/SpecPatrol]] now show what commands, PMs, and rank messages the target types in.&lt;br /&gt;
*Feature: Added a way to change server salt without needing a restart, using &amp;lt;code&amp;gt;[[/Reload]] Salt&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: [[/Measure]] now shows statistics about block types in the selection.&lt;br /&gt;
*Feature: [[/Gen]] now has two new templates: &amp;quot;ocean&amp;quot; and &amp;quot;empty&amp;quot;&lt;br /&gt;
*Fix: Many fixes in name-retyping functionality.&lt;br /&gt;
*Fix: Addressed stability issues in LineWrapper and Undo/Redo.&lt;br /&gt;
*Fix: Fixed [[/WLock]] not canceling all draw commands (as intended).&lt;br /&gt;
*Fix: Fixed some outdated descriptions, links, and tooltips in ConfigGUI.&lt;br /&gt;
*Fix: Fixed being able to BanIP/BanAll/UnbanIP/UnbanAll invalid IP addresses (0.0.0.0 and 255.255.255.255).&lt;br /&gt;
*Fix: Fixed [[/Info]] printing a blank page (instead of the last page) if given offset is greater than the total number of matches.&lt;br /&gt;
*Fix: Fixed rank prefixes being appended to players&#039; names if DisplayedName is set.&lt;br /&gt;
*Fix: Fixed a couple rare crashes/hangs in ServerGUI when parsing console commands.&lt;br /&gt;
*Fix: Fixed [[/Ban]] and [[/Unban]] announcing when they&#039;re not supposed to.&lt;br /&gt;
*Fix: Fixed a potential crash in [[/BanInfo]] when looking up an IP address directly (no player name).&lt;br /&gt;
*Fix: Fixed another obscure way of revealing hidden players.&lt;br /&gt;
*Fix: Fixed Beta client kick message (thanks Voziv).&lt;br /&gt;
*Fix: Fixed [[/Commands]] defaulting to printing ALL commands.&lt;br /&gt;
*Fix: Fixed [[/Undo]] trying to re-cancel canceled commands.&lt;br /&gt;
*Fix: Fixed uncaught &amp;quot;Illegal characters in path.&amp;quot; exception when trying to save a [[/Gen]]&#039;erated map to an invalid filename.&lt;br /&gt;
*Fix: Fixed typos in [[/ReplaceNot]] and [[/UndoArea]].&lt;br /&gt;
*Change: Added a warning on startup if name verification is disabled.&lt;br /&gt;
*Change: Tweaks and improvements to [[/Info]], [[/WInfo]], [[/BanInfo]], [[/SetInfo]], and [[/Commands]].&lt;br /&gt;
*Change: Removed code that tries next port if the given one could not be used. Now fCraft either starts on the port specified in config, or dies.&lt;br /&gt;
*Change: Commands now complain about being given too many parameters (in addition to complaining about too few parameters). This should help catch mistyped commands.&lt;br /&gt;
*Change: Added an option to disable giant-tree generation in ConfigGUI&#039;s map generator.&lt;br /&gt;
*Change: Changed log format for bans/kicks to include more information, and fixed log message format for &amp;quot;Player ____ logged in from an IP shared by banned players...&amp;quot;&lt;br /&gt;
*Change: Included config.xml in the automated data backup.&lt;br /&gt;
*Change: ConfigGUI tweaks and improvements.&lt;br /&gt;
*Change: Changes some aliases:&lt;br /&gt;
**Added /Whois and /WhoWas as aliases for [[/Info]].&lt;br /&gt;
**Set &amp;quot;/B&amp;quot; and &amp;quot;/About&amp;quot; to be aliases for [[/BInfo]].&lt;br /&gt;
*Change: Changed some ConfigKey defaults:&lt;br /&gt;
**BlockDBEnabled defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
**WomEnableEnvExtensions defaults to &amp;quot;false&amp;quot;&lt;br /&gt;
**IRCBotAnnounceServerEvents defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
*Change: Discontinued ServerWinService (formerly fCraftWinService) subproject.&lt;br /&gt;
*API: Improved Vector3I, Vector3F, and Position classes a bit.&lt;br /&gt;
*API: New events: DrawOperation.Beginning / Began / Ended&lt;br /&gt;
*API: Changed the way PlayerInfo stores empty string fields. Instead of a 0-length string, it now uses nulls.&lt;br /&gt;
*Optimization: Sped up PlayerDB loading/saving, and boolean ConfigKey lookup.&lt;br /&gt;
&lt;br /&gt;
===0.604===&lt;br /&gt;
&#039;&#039;23 October 2011 - r1155&#039;&#039;&lt;br /&gt;
*Feature: Added support for repeating previously-entered player and world names. Just put a dash (-) in place of the player/world name when using a command, and fCraft will fill in the most-recently-used name.&lt;br /&gt;
*Fix: Fixed an occasional SecurityController-related crash in [[/Gen]], [[/WLoad]], and ConfigGUI world editor.&lt;br /&gt;
*Fix: Fixed an very rare problem in shutdown/restart commands.&lt;br /&gt;
*Fix: Fixed a rare crash that only happened if: MaxPlayers&amp;gt;128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.&lt;br /&gt;
*Fix: Fixed naming of paste/pastenot and pastex/pastenotx&lt;br /&gt;
*Fix: Fixed a permission exploit in /wbring (thanks to panda100123)&lt;br /&gt;
*Fix: Fixed [[/Rules]] section finder accidentally being case-sensitive.&lt;br /&gt;
*Fix: Fixed an issue with MCSharp/MCZall/MCLawl/MCQuai/MCStorm/MCForge/MCWhatever importer.&lt;br /&gt;
*Change: Decreased shading strength in IsoCat renderer.&lt;br /&gt;
*Change: Added /Who as an alias for [[/Players]], by request.&lt;br /&gt;
*Change: Clarified ConfigGUI description of name verification settings.&lt;br /&gt;
*Change: Normalized command name capitalization. Command names must now start with an uppercase letter, for consistency.&lt;br /&gt;
*API: Fixed inconsistencies in PlayerDB.txt header row format declaration.&lt;br /&gt;
&lt;br /&gt;
===0.603===&lt;br /&gt;
&#039;&#039;20 October 2011 - r1142&#039;&#039;&lt;br /&gt;
*Fix: [[/Cancel]] can no longer be repeated with &amp;quot;/&amp;quot; (no longer replaces previously-called command).&lt;br /&gt;
*Fix: Fixed [[/Rotate]] and [[/Mirror]] messing up if a paste command is in progress.&lt;br /&gt;
*Fix: Re-enabled crash interception and reporting.&lt;br /&gt;
&lt;br /&gt;
===0.602===&lt;br /&gt;
&#039;&#039;18 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Feature: One-click paste commands are now the default. Two-click aligned paste commands are now known as [[/PasteX]] (/PX) and [[/PasteNotX]].&lt;br /&gt;
*Feature: Added [[/ReplaceBrush]] (/RB) command (shortcut for &amp;lt;code&amp;gt;[[/Brush]] ReplaceBrush&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;[[/Cuboid]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: Added a way to change number of copy/paste slots per rank from ConfigGUI.&lt;br /&gt;
*Fix: Fixed a few typos and missing help entries.&lt;br /&gt;
*Fix: Fixed DrawOp completion message and log entry.&lt;br /&gt;
*Fix: Fixed [[/Paste]] and [[/PasteNot]] not properly clipping against world boundaries.&lt;br /&gt;
*Fix: Fixed ConfigGUI not preserving environment settings for worlds.&lt;br /&gt;
*Fix: Fixed ConfigGUI losing some worlds and showing some errors when importing from 0.5xx.&lt;br /&gt;
*Fix: Fixed [[/Bring]] not being usable from console.&lt;br /&gt;
*Fix: Fixed [[/WRename]] crashing if invalid characters (from filesystem&#039;s point of view) are present in the new name.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking for Spectate permission.&lt;br /&gt;
*Fix: Fixed [[/UndoArea]]&#039;d and [[/UndoPlayer]]&#039;ed blocks having &amp;quot;Restored&amp;quot; flag set in /bi&lt;br /&gt;
*Fix: Fixed a detached checkbox on &amp;quot;Worlds&amp;quot; tab of ConfigGUI.&lt;br /&gt;
*Fix: Fixed [[/Say]], [[/Staff]], and [[/Me]] getting logged twice.&lt;br /&gt;
*Fix: Fixed per-world backup settings being cleared on server restart.&lt;br /&gt;
*Fix: Fixed a rare NullReferenceException in WorldManager.LoadWorldList that occurred if the main world was missing, and the fallback world had access restrictions.&lt;br /&gt;
*Fix: Fixed some issues with BlockDB settings in &amp;quot;Add World&amp;quot; and &amp;quot;Edit World&amp;quot; popups of ConfiGUI.&lt;br /&gt;
*Fix: Fixed a rare ConfigGUI crash when resetting the rank tab whole one of the old ranks is selected.&lt;br /&gt;
*Change: Sped up [[/EllipsoidH]] and [[/SphereH]] slightly (thanks to Redshift).&lt;br /&gt;
*Change: Improved error handling in [[/Env]] when setting level.&lt;br /&gt;
*Change: Double-buffered the preview on &amp;quot;Chat&amp;quot; tab of ConfigGUI, to get rid of flicker.&lt;br /&gt;
*Change: Clarified auto-freeze message when trying to kick/ban someone without a required reason string.&lt;br /&gt;
&lt;br /&gt;
===0.601===&lt;br /&gt;
&#039;&#039;15 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Fixed several issues with [[/Undo]] and drawing commands.&lt;br /&gt;
&lt;br /&gt;
===0.600===&lt;br /&gt;
&#039;&#039;14 October 2011 - r1107&#039;&#039;&lt;br /&gt;
:&#039;&#039;See [http://www.fcraft.net/0.600/ http://www.fCraft.net/0.600] for a summary of changes, and upgrade notes.&#039;&#039;&lt;br /&gt;
*Chat: Added a {{cmd|Timer}} command for creating publicly-announced countdowns/timers.&lt;br /&gt;
*Chat: Added a way to cancel partial messages: &amp;lt;code&amp;gt;/Nvm&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Chat: Removed &amp;quot;Banned player ___ tried to log in&amp;quot; and &amp;quot;Player ___ tried to log in from a banned IP&amp;quot; messages.&lt;br /&gt;
*Chat: {{cmd|Say}}, {{cmd|Staff}}, and {{cmd|Me}} commands can no longer repeated using &amp;quot;/&amp;quot; shortcut.&lt;br /&gt;
*Chat: Added a warning when trying to PM deafened players.&lt;br /&gt;
*Chat: Added a shortcut for chatting to same rank: &amp;quot;@@ Message&amp;quot;&lt;br /&gt;
*Chat: Increased the number of blank lines sent by {{cmd|Clear}} to 30, to accommodate players with smaller-than-normal font sizes.&lt;br /&gt;
*Chat Fix: Fixed {{cmd|Say}}, {{cmd|Roll}}, {{cmd|Staff}}, and {{cmd|Me}} sometimes bypassing {{perm|Chat}} permission, mute check, or spam detection check.&lt;br /&gt;
*Chat Fix: Fixed rank chat being logged twice.&lt;br /&gt;
*Chat Fix: Fixed some system messages getting through to deafened players.&lt;br /&gt;
*Chat Fix: {{cmd|Deafen}} now clears the screen when toggled on.&lt;br /&gt;
*Commands: Rank and zone names now autocomplete.&lt;br /&gt;
*Commands: Players can no longer freeze, mute, kick, ban, unban, promote, or demote themselves.&lt;br /&gt;
*Commands: {{cmd|Players}} can now be called with an optional WorldName parameter, to only list players in a particular world.&lt;br /&gt;
*Commands: {{cmd|WLoad}} now takes two more optional parameters: build rank and access rank names.&lt;br /&gt;
*Commands: {{cmd|Info}} now shows last leave reason, idle time, freeze/mute information, and ban exemption status.&lt;br /&gt;
*Commands: Augmented {{cmd|Rules}} to support several rule categories.&lt;br /&gt;
*Commands: Added {{cmd|Spectate}} and {{cmd|SpecPatrol}} (&amp;lt;code&amp;gt;/SPat&amp;lt;/code&amp;gt;) commands.&lt;br /&gt;
*Commands: Added {{cmd|WBring}} (brings target player to a world);&lt;br /&gt;
*Commands: Added {{cmd|Spawn}} command (brings you to spawn). Typing &amp;quot;{{cmd|TP}}&amp;quot; no longer does the same thing, and {{cmd|TP}} now always requires {{perm|Teleport}} permission.&lt;br /&gt;
*Commands: Algorithm that {{cmd|Patrol}} uses to pick the next target was improved.&lt;br /&gt;
*Commands: Renamed Lock/Unlock commands to {{cmd|WLock}}/{{cmd|WUnlock}}, for consistency.&lt;br /&gt;
*Commands: Merged &amp;lt;code&amp;gt;/ReloadConfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/AutoRankReload&amp;lt;/code&amp;gt; into {{cmd|Reload}} command. Merged &amp;lt;code&amp;gt;/ImportRanks&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/ImportBans&amp;lt;/code&amp;gt; into {{cmd|Import}} command. Combined functionality of &amp;lt;code&amp;gt;/LockAll&amp;lt;/code&amp;gt; into {{cmd|WLock}}, and functionality of &amp;lt;code&amp;gt;/UnlockAll&amp;lt;/code&amp;gt; into {{cmd|WUnlock}}.&lt;br /&gt;
*Commands: {{cmd|Info}} and {{cmd|Worlds}} now support pagination.&lt;br /&gt;
*Commands: When world access permissions are changed with {{cmd|WAccess}}, players who lost ability to join the world will automatically be moved to main.&lt;br /&gt;
*Commands: Frozen player can no longer call most commands, with exception of: {{cmd|Clear}}, {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|RankInfo}}, {{cmd|ServerInfo}}, {{cmd|Ranks}}, {{cmd|Rules}}, {{cmd|Where}}, {{cmd|Help}}, {{cmd|Commands}}, {{cmd|Colors}}, {{cmd|Worlds}}, {{cmd|Zones}}, and {{cmd|ZInfo}}.&lt;br /&gt;
*Commands: {{cmd|Bring}} and {{cmd|WBring}} now give the option of overriding worlds&#039; access minimum-rank. Explicitly blacklisted players will continue to be barred.&lt;br /&gt;
*Commands: Added {{cmd|InfoSwap}} command, for swapping two players&#039; ranks and PlayerDB records.&lt;br /&gt;
*Commands: Added a way to abort a server shutdown or restart (&amp;quot;{{cmd|Shutdown|abort}}&amp;quot; or &amp;quot;{{cmd|Restart|abort}}&amp;quot;).&lt;br /&gt;
*Commands: {{cmd|RankInfo}} now shows copy/paste slots, idle kick time, and permission limits.&lt;br /&gt;
*Commands: Most time-related commands now take the [[Time formatting|compact format]] (e.g. 1m30s, 45s, 24h, etc).&lt;br /&gt;
*Commands: Color-coded {{cmd|Commands}}.&lt;br /&gt;
*Commands: Limited {{cmd|Mute}} duration to range between 1 second and 700 days (100 weeks).&lt;br /&gt;
*Commands: {{cmd|SetInfo}} now allows changing players&#039; DisplayedName.&lt;br /&gt;
*Commands: A warning is now shown when a player is kicked/banned, and other players are still connected from the IP.&lt;br /&gt;
*Commands: Added a way to add IP ban exemptions using {{cmd|BanEx}} (banning all players from IP except a particular one).&lt;br /&gt;
*Commands: Added automatic countdowns to {{cmd|Shutdown}} and {{cmd|Restart}}.&lt;br /&gt;
*Commands: Added more stats to {{cmd|ServerInfo}}.&lt;br /&gt;
*Commands: {{cmd|MassRank}} now defaults to silent, and takes a &amp;quot;reason&amp;quot; parameter.&lt;br /&gt;
*Commands: Added &amp;quot;/St&amp;quot; as an alias for {{cmd|Staff}}. Changed &amp;quot;/L&amp;quot; from being alias for {{cmd|Join}}, to being alias for {{cmd|Lava}}. Removed &amp;quot;/Cub&amp;quot; alias for {{cmd|Cuboid}}.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|UnbanIP}} and {{cmd|UnbanAll}} not announcing the unban reason.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Info}} not formatting names of offline players.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Restart}} breaking under Mono if working path contains spaces.&lt;br /&gt;
*Commands Fix: Fixed freeze/unfreeze printing wrong ranks in &amp;quot;You can only freeze players ranked ____ or lower&amp;quot; messages.&lt;br /&gt;
*Commands Fix: Fixed a rare crash in {{cmd|Rules}} when used from console.&lt;br /&gt;
*Commands Fix: {{cmd|BanIP}} and {{cmd|BanAll}} no longer allow to ban the IP if it&#039;s shared by any players whom caller is not allowed to ban.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Ignore}} and {{cmd|Unignore}} printing all matches at once on autocompletion.&lt;br /&gt;
*Commands Fix: Fixed a case where {{cmd|BringAll}} could reveal hidden players.&lt;br /&gt;
*Commands Fix: Fixed a few bugs in {{cmd|DumpStats}}, expanded player listing to top-5/bottom-5, and added &amp;quot;BlocksDrawn&amp;quot; stat.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Rank}} and {{cmd|TP}} commands showing up in {{cmd|Commands}} for ALL players.&lt;br /&gt;
*Commands Fix: Fixed a couple rare bugs in {{cmd|Roll}}.&lt;br /&gt;
*Commands Fix: Fixed broken {{cmd|BringAll}} support for bringing multiple ranks at once.&lt;br /&gt;
*Commands Fix: Fixed several obscure ways of revealing presence of hidden players via commands like {{cmd|ServerInfo}} and {{cmd|Worlds}}.&lt;br /&gt;
*Config: New config keys: BackupDataOnStartup (default: true), RestartInterval (default: 0), HeartbeatToWoMDirect (default: true), BlockDBEnabled (default: true), BlockDBAutoEnable (default: true), and BlockDBAutoEnableRank (default: DefaultRank), WoMEnableEnvExtensions (default: false).&lt;br /&gt;
*Config: Added {{perm|Spectate}} permission that covers {{cmd|Spectate}} and {{cmd|SpecPatrol}}.&lt;br /&gt;
*Config: Added {{perm|DrawAdvanced}} permission that covers {{cmd|Brush}}, {{cmd|Sphere, {{cmd|SphereH}}, {{cmd|Torus}}, and {{cmd|Restore}} commands.&lt;br /&gt;
*Config: Added {{perm|ManageBlockDB}} permission that covers {{cmd|BlockDB}}.&lt;br /&gt;
*Config: Added {{perm|UndoOthersActions}} permission that covers {{cmd|UndoPlayer}} and {{cmd|UndoArea}}.&lt;br /&gt;
*Config: {{cmd|Reload}} can now update more config keys without needing a restart: AutoRankEnabled, BandwidthUseMode, ConsoleName, DefaultRank, DefaultBuildRank, PatrolledRank.&lt;br /&gt;
*Config: Removed obsolete ShowBannedConnectionMessages config key.&lt;br /&gt;
*Config Fix: Fixed DefaultRank/DefaultBuildRank/PatrolledRank settings not being applied.&lt;br /&gt;
*ConfigGUI: Added BlockDB settings to &amp;quot;Worlds&amp;quot; tab and &amp;quot;Add/Edit World&amp;quot; dialog.&lt;br /&gt;
*ConfigGUI: Reorganized Rank tab.&lt;br /&gt;
*ConfigGUI: Relaxed restrictions on rank prefixes.&lt;br /&gt;
*ConfigGUI: Added &amp;quot;Insert Color&amp;quot; and &amp;quot;Insert Keyword&amp;quot; buttons to announce/rule/greeting editors in ConfigGUI, and a &amp;quot;Reset&amp;quot; button to revert edits.&lt;br /&gt;
*ConfigGUI: Any errors/warnings that are produced while loading &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt; in ConfigGUI are now displayed at startup.&lt;br /&gt;
*ConfigGUI Fix: ConfigGUI no longer loses worlds&#039; whitelists/blacklists.&lt;br /&gt;
*ConfigGUI Fix: Fixed several bugs related to renaming worlds.&lt;br /&gt;
*ConfigGUI Fix: Fixed several &amp;quot;Reset&amp;quot; bugs.&lt;br /&gt;
*ConfigGUI Fix: Fixed &amp;quot;Enable colors in IRC&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*ConfigGUI Fix: Fixed ConfigTool&#039;s Chat tab not updating to reflect changes in rank colors/prefixes.&lt;br /&gt;
*ConfigGUI Fix: Fixed sort order in Worlds tab when sorting by world size.&lt;br /&gt;
*ConfigGUI Fix: Fixed some rank dropdown menus in ConfigGUI showing &amp;quot;(lowest rank)&amp;quot; instead of &amp;quot;(default rank)&amp;quot; as the default option.&lt;br /&gt;
*Drawing: Introduced a brush/pattern system for draw commands. Rewrote (almost) all existing draw commands to take advantage of that new infrastructure. Brushes are: Normal (default), Checkered, Random, Cloudy, Marbled, Replace, ReplaceNot, ReplaceBrush.&lt;br /&gt;
*Drawing: Added a way to {{cmd|Undo}} up to five commands back. Use {{cmd|Redo to reverse it.&lt;br /&gt;
*Drawing: Added {{cmd|Torus}} drawing command, written and contributed by M1_Abrams.&lt;br /&gt;
*Drawing: Added support for multiple copy/paste slots, using {{cmd|CopySlot}}. Number of slots of configurable per-rank.&lt;br /&gt;
*Drawing: {{cmd|Replace}} and {{cmd|ReplaceNot}} can now take just one blocktype. The replacement type is inferred from the type of block player is holding when clicking.&lt;br /&gt;
*Drawing: {{cmd|Undo}} now cancels the last drawing commands.&lt;br /&gt;
*Drawing: Added a new [[Blocks|block name aliases]]: &amp;quot;g&amp;quot; for grass, &amp;quot;w&amp;quot; for water, &amp;quot;a&amp;quot; for air.&lt;br /&gt;
*Drawing Fix: Added a missing volume check to {{cmd|Line}}, and fixed {{cmd|CuboidW}} volume calculations.&lt;br /&gt;
*Drawing Fix: Fixed {{cmd|Copy}} and {{cmd|Cut}} reporting incorrect orientation.&lt;br /&gt;
*FrontEnd: Colored ConfigCLI log messages: red for errors, yellow for warnings, dark gray for debug, default (gray) for everything else. Call with &amp;quot;--noconsolecolor&amp;quot; parameter to disable.&lt;br /&gt;
*FrontEnd: ServerCLI now handles all updater modes properly, and downloads updater/restarts if needed.&lt;br /&gt;
*FrontEnd: Improved window titles.&lt;br /&gt;
*FrontEnd Fix: Fixed ServerCLI writing errors to stdout instead of stderr.&lt;br /&gt;
*Misc: Players who log out hidden will now log in silently, still hidden.&lt;br /&gt;
*Misc: More [[Constants|keywords]] are now usable in announcements, rules, and greeting files: {SERVER_NAME}, {MOTD}, {RANK}, {PLAYER_NAME}, {TIME}, {WORLD}, {PLAYERS}, and {WORLDS}&lt;br /&gt;
*Misc: Kicked or disconnected players no longer have their TotalTime increased for the time idled.&lt;br /&gt;
*Misc: fCraft will refuse to start up if running old versions of mono (2.4 or earlier).&lt;br /&gt;
*Misc: Crash reporter now prints a reference number for submitted reports.&lt;br /&gt;
*Misc: AutoRank now only evaluates online players on a timer. A full database sweep will only be done on startup or on-demand. This should notably reduce average CPU use on large databases.&lt;br /&gt;
*Misc: Added AutoRank pseudoplayer (similar to Console), who is now credited with all autorank promotions/demotions.&lt;br /&gt;
*Misc: Increased the allowed clicking distance when manually clicking blocks, to account for lag.&lt;br /&gt;
*Misc: IRC bot now announces channel kicks and nick changes.&lt;br /&gt;
*Misc: When a player with a reserved slot tries to join a full world, the longest-idle player will be kicked to make room.&lt;br /&gt;
*Misc: Frozen, demoted, and banned players are now automatically unhidden. Frozen players are undeafened. Banned players are also automatically unfrozen and unmuted.&lt;br /&gt;
*Misc: When a player&#039;s rank is changed, their bindings are now reset (to avoid issues with {{cmd|Water}}, {{cmd|Lava}}, and {{cmd|Solid}}), and any in-progress selection is canceled ([[:Category:Requires Draw|draw]] commands, {{cmd|Zone}}, {{cmd|ZTest}}, {{cmd|BInfo}}, {{cmd|Measure}}, etc)&lt;br /&gt;
*Misc: Frozen players now have a little blue star appended to their names, similar to the red star for banned players.&lt;br /&gt;
*Misc: Moved all heartbeat-related operations to the background thread (fixes lag spikes when minecraft.net times out).&lt;br /&gt;
*Misc: Added a dynamically updated compass at the top-right of the screen, visible to players who use WoM 1.8.8+&lt;br /&gt;
*Misc: Added a check for libMonoPosix on server startup. This allows catching misconfigured Mono setups early.&lt;br /&gt;
*Misc: Ranks now default to &amp;quot;white&amp;quot; color (&amp;quot;&amp;amp;f&amp;quot;) instead of &amp;quot;none&amp;quot; color (&amp;quot;&amp;quot;).&lt;br /&gt;
*Misc: Edited the &amp;quot;failed to load main world&amp;quot; message to sound less menacing, since it&#039;s usually caused just by main world filling up.&lt;br /&gt;
*Misc: Sped up {{cmd|PruneDB}}, {{cmd|MassRank}}, map generation. Reduced memory use of draw commands, undo buffers, and ConfigGUI.&lt;br /&gt;
*Misc Fix: Fixed &amp;quot;duplicate metadata key&amp;quot; warning in FCMv3 maps.&lt;br /&gt;
*Misc Fix: Fixed a zone-related race condition when exporting to Opticraft map format.&lt;br /&gt;
*Misc Fix: Fixed fCraft being unable to start if fCraft.dll is in the root directory of a drive (e.g. in &amp;quot;C:/&amp;quot;)&lt;br /&gt;
*Misc Fix: Fixed a bug that caused bandwidth to sometimes be wasted on needlessly updating position of non-moving players.&lt;br /&gt;
*Misc Fix: Fixed a clock drift problem in periodic SchedulerTasks.&lt;br /&gt;
*Misc Fix: Fixed a case where, in some rank configurations, players would see themselves as offline when hidden (in {{cmd|Info}}, {{cmd|BInfo}}, {{cmd|Players}}, etc).&lt;br /&gt;
*PlayerDB: Added 46th column: PlayerInfo.IsHidden (&#039;h&#039; if hidden, otherwise blank).&lt;br /&gt;
*PlayerDB: Added 47th column: PlayerInfo.LastModified (UTC unix timestamp). Accuracy is not yet guaranteed.&lt;br /&gt;
*PlayerDB: Added 48th column: PlayerInfo.DisplayedName (string or blank). Overrides &amp;quot;Name&amp;quot; field for purposes of displaying formatted name (ClassyName).&lt;br /&gt;
*PlayerDB: Removed 14th column (FailedLoginCount) due to disuse.&lt;br /&gt;
*PlayerDB: PlayerDB now writes out changes to TotalTime incrementally for online players, instead of applying the change on-logout.&lt;br /&gt;
*Worlds: Added a way to change some environment and texture settings per-map, using {{cmd|Env}}.&lt;br /&gt;
*Worlds: Per-world settings on backup intervals now work.&lt;br /&gt;
*Worlds: Added BlockDB - a system for tracking edits per-block. Added related {{cmd|BlockDB}} and {{cmd|BInfo}} commands.&lt;br /&gt;
*Worlds: Added {{cmd|UndoPlayer}} and {{cmd|UndoArea}} commands for undoing players&#039; actions using BlockDB.&lt;br /&gt;
*Worlds: If a world has a missing map file, a warning is now shown, and a default flatgrass map is created.&lt;br /&gt;
*Worlds: Added a way to set per-rank main world, using {{cmd|WMain}}.&lt;br /&gt;
*Worlds: Added {{cmd|Restore}} command, inspired by good old MinerCPP. Selectively loads a map from another file or backup.&lt;br /&gt;
*Worlds: Allowed non-standard dimensions (neither multiples of 16, nor powers of 2). Added a warning about glitches when using nonstandard dimensions.&lt;br /&gt;
*Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to {{cmd|WInfo}} and to &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worlds: MapGenerator tweaks: &amp;quot;default&amp;quot; template is now known as &amp;quot;random,&amp;quot; &amp;quot;mountains&amp;quot; template now has more cliffs and snow on mountaintops, &amp;quot;island&amp;quot; template is less rough and has nice beaches, and water is now automatically removed from &amp;quot;desert&amp;quot; maps.&lt;br /&gt;
*Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.&lt;br /&gt;
*Worlds Fix: Fixed an exploit that allowed players to bypass world access permissions in certain rank configurations.&lt;br /&gt;
*Worlds Fix: Fixed some rare crashes in {{cmd|WLoad}}.&lt;br /&gt;
*Worlds Fix: Fixed {{cmd|WAccess}} and {{cmd|WBuild}} occasionally not saving the world list after adding players to the access/build whitelists.&lt;br /&gt;
*Worlds Fix: Fixed being unable to change just the capitalization when renaming worlds from ConfigGUI, under Windows.&lt;br /&gt;
*Zones: Added {{cmd|ZRename}} command to rename zones.&lt;br /&gt;
*Zones: Added {{cmd|ZMark}} command to use zone boundaries for drawing or making selections.&lt;br /&gt;
*Zones Fix: Fixed {{cmd|ZAdd}} crash when adding more than one personal zone for the same player ({{cmd|ZAdd|+Name}}).&lt;br /&gt;
*Zones Fix: Fixed a rare case where two players could simultaneously create a zone with the same name on the same world, which would crash one of the players.&lt;br /&gt;
*Zones Fix: {{cmd|Zones}} no longer crashes if used on a world with a missing or corrupt map file.&lt;br /&gt;
*Zones Fix: Tightened security checks of {{cmd|ZAdd}} and {{cmd|ZRemove}} to prevent a permission exploit.&lt;br /&gt;
*API: Added specialized MetadataCollection class to manage per-map and per-player metadata, and ZoneCollection for zones.&lt;br /&gt;
*API: Added ReSharper-compatible annotations and more argument checks throughout the codebase.&lt;br /&gt;
*API: fCraft now consistently uses [X,Y,Z] for coordinates (where X/Y are horizontal, and Z is vertical), and [Width,Length,Height] for dimensions (Width/Length horizontal, Height vertical).&lt;br /&gt;
*API: Merged Session and Player classes. All session-related functionality is in Player.Networking.cs file.&lt;br /&gt;
*API: New line-wrapping algorithm provides better performance and safety. Now using &amp;quot;\n&amp;quot; instead of &amp;quot;&amp;amp;N&amp;quot; to force a newline.&lt;br /&gt;
*API: Renamed World.PlayerList to World.Players, Server.PlayerList to Server.Players, and added PlayerDB.PlayerInfoList&lt;br /&gt;
*API: New LINQ-style API for working with sets of players. This API is now used for all messaging and packet-sending. Old API (Server.Send* and World.Send*) was removed.&lt;br /&gt;
*API: New unified API for handling player-generated chat (Chat static class), and new events (Chat.Sending and Chat.Sent).&lt;br /&gt;
*API: All cancellable events now implement ICancellableEvent.&lt;br /&gt;
*API: MapDAT and MapNBT now implement IMapConverter.LoadHeader.&lt;br /&gt;
*API: Converted IClassy.GetClassyName(), Rank.GetFullName(), and Player.GetListName() to properties.&lt;br /&gt;
*API: Renamed ConfigKey.GetBool() to ConfigKey.Enabled(). Added ConfigKey.TryGetInt() and ConfigKey.TryGetBool() methods.&lt;br /&gt;
*API: CommandManager.RegisterCommand() now checks for reserved command names (currently &amp;quot;ok&amp;quot; and &amp;quot;nvm&amp;quot;), and does a better job at handling command name capitalization differences.&lt;br /&gt;
*API: Added ability to override Player.MaxBlockPlacementRange, Player.SocketTimeout, Heartbeat.Delay, and Heartbeat.Timeout.&lt;br /&gt;
*API: Renamed RankManager.ParseRank(string) to Rank.Parse(string)&lt;br /&gt;
*API: All draw/undo/copy/paste commands have been moved to fCraft.Drawing namespace.&lt;br /&gt;
*API: Added support for multiple {{cmd|Help}} sections per command.&lt;br /&gt;
*API: Added CommandCategory.Debug, removed CommandDescriptor.HelpHander and HelpHandler delegate.&lt;br /&gt;
*API: Moved Server.Player* events to Player.* and Server.PlayerInfo* to PlayerInfo.*&lt;br /&gt;
*API: Expanded the confirmation system (&amp;lt;code&amp;gt;/OK&amp;lt;/code&amp;gt;) to allow custom callbacks, decoupled from the command system.&lt;br /&gt;
*API Fix: &amp;quot;Bad heartbeat&amp;quot; reply from minecraft.net no longer triggers UrlChanged event.&lt;br /&gt;
*API Fix: Fixed a couple bugs in BoundingBox.GetIntersection and BoundingBox.Contains.&lt;br /&gt;
*API Fix: Fixed {{cmd|Replace}} and {{cmd|ReplaceNot}} not firing Player.PlacedBlock&lt;br /&gt;
*events.&lt;br /&gt;
*API Fix: Uncaught exceptions that occur while parsing player messages no longer send crash reports when in DEBUG configuration.&lt;br /&gt;
&lt;br /&gt;
=0.5xx=&lt;br /&gt;
&lt;br /&gt;
===0.537===&lt;br /&gt;
&#039;&#039;14 September 2011 - r991&#039;&#039;&lt;br /&gt;
*Fixed another heartbeat-related issue caused by minecraft.net updates.&lt;br /&gt;
&lt;br /&gt;
===0.536===&lt;br /&gt;
&#039;&#039;14 September 2011 - r988&#039;&#039;&lt;br /&gt;
*Fix: Fixed a rare crash in DoChangeRank when promoting/demoting offline players.&lt;br /&gt;
*Fix: Fixed a case where world access/build whitelist additions were not immediately saved.&lt;br /&gt;
*Fix: Fixed several errors in the way time spans were displayed.&lt;br /&gt;
*Fix: Unhandled exceptions in background task callbacks will no longer take down the server&lt;br /&gt;
*Change: Changed the heartbeat handler to use GET instead of POST (workaround for minecraft.net problems).&lt;br /&gt;
*Change: Removed AutoLauncher.&lt;br /&gt;
&lt;br /&gt;
===0.535===&lt;br /&gt;
&#039;&#039;1 July 2011 - r702&#039;&#039;&lt;br /&gt;
*Workaround for minecraft.net heartbeat changes.&lt;br /&gt;
&lt;br /&gt;
===0.534===&lt;br /&gt;
&#039;&#039;18 June 2011 - r668&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;lt;RestartInterval&amp;gt; config key (in seconds). It should help people who are suffering from Mono memory leaks. This setting can only currently be modified by editing config.xml&lt;br /&gt;
*Fix: Fixed /wload and /gen resetting the world&#039;s hidden status.&lt;br /&gt;
*Fix: Fixed &amp;quot;Apply&amp;quot; button not getting enabled in ConfigTool when world list is changed.&lt;br /&gt;
*Fix: Fixed /cw reporting incorrect volume (fixes #3308137).&lt;br /&gt;
*Fix: Added a confirmation when /wrename will result in overwriting a map file, and fixed a related crash (fixes #3311994).&lt;br /&gt;
*Fix: Fixed FormatException in error handling code in World.AcceptPlayer&lt;br /&gt;
*Fix: Fixed /info not showing formatted names for players who appear offline.&lt;br /&gt;
*Fix: Fixed several issues with renaming worlds from ConfigTool.&lt;br /&gt;
*Fix: Fixed /restart breaking under Mono if path contains spaces.&lt;br /&gt;
*Fix: Fixed /staff, /me, and /roll commands not requiring the Chat permission.&lt;br /&gt;
*Fix: Fixed &amp;quot;Use IRC colors&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*Change: Allowed all printable ASCII characters in chat except &#039;&amp;amp;&#039;.&lt;br /&gt;
*Change: Heartbeat tweaks to prevent &amp;quot;Bad heartbeat&amp;quot; from popping up.&lt;br /&gt;
*Optimization: ConfigTool starts up faster, and uses much less memory.&lt;br /&gt;
&lt;br /&gt;
===0.533===&lt;br /&gt;
&#039;&#039;24 May 2011 - r614&#039;&#039;&lt;br /&gt;
*Fix: Fixed a regression in 0.530 that erased some strings in PlayerInfo and IPBanInfo objects, such as ban reasons.&lt;br /&gt;
*Change: Increased heartbeat interval to 27.5 seconds.&lt;br /&gt;
*Change: Reduced jitter of player movement.&lt;br /&gt;
&lt;br /&gt;
===0.532===&lt;br /&gt;
&#039;&#039;23 May 2011 - r611&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;quot;/worlds loaded&amp;quot; command.&lt;br /&gt;
*Fix: Fixed a bug that prevented worlds from accepting any block changes after a map change (/wload or /gen)&lt;br /&gt;
*Fix: Fixed &amp;quot;Player _____ joined main.&amp;quot; displaying twice when players connect.&lt;br /&gt;
*Change: Added /colours as an alias to /colors&lt;br /&gt;
*Change: Adjusted /dumpstats security checks, and made it require EditPlayerDB permission (instead of Import).&lt;br /&gt;
&lt;br /&gt;
===0.531===&lt;br /&gt;
&#039;&#039;20 May 2011 - r603&#039;&#039;&lt;br /&gt;
*Feature: /SInfo now shows bandwidth use, fCraft version, and .NET/Mono version.&lt;br /&gt;
*Feature: Added ability to use coordinates with mark (e.g. &amp;quot;/Mark 0 0 0&amp;quot;).&lt;br /&gt;
*Fix: Fixed non-default rank settings not saving properly from ConfigTool.&lt;br /&gt;
*Fix: Fixed a serialization bug in IPBanList that happened if a ban reason was not given, or if an IP address was not associated with any player.&lt;br /&gt;
*Fix: Fixed a few minor bugs in /WMain.&lt;br /&gt;
*Change: Allowed the caret (^) in chat messages.&lt;br /&gt;
*Change: Reduced movement lag.&lt;br /&gt;
*Change: /version command has been removed due to redundancy with /sinfo.&lt;br /&gt;
*Change: Detailed reasons of player disconnects are now logged better.&lt;br /&gt;
*Change: Increased Minecraft.net heartbeat interval slightly.&lt;br /&gt;
*API: Added new events: Scheduler.TaskAdded, Scheduler.TaskExecuting, Scheduler.TaskExecuted, and Scheduler.TaskRemoved. These events are only available when fCraft.dll is built with DEBUG_SCHEDULER flag because of their performance impact.&lt;br /&gt;
*Optimization: Removed the scheduler overhead from having unloaded worlds.&lt;br /&gt;
*Optimization: Sped up MapGenerator by about 10%.&lt;br /&gt;
&lt;br /&gt;
===0.530===&lt;br /&gt;
&#039;&#039;7 May 2011 - r583&#039;&#039;&lt;br /&gt;
*Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.&lt;br /&gt;
*Feature: Added OptiCraft blocktype names and blocks&#039; numeric IDs as aliases.&lt;br /&gt;
*Fix: Fixed block bindings not being applied to drawing commands.&lt;br /&gt;
*Fix: Fixed fCraft getting confused if worlds.xml contains duplicates.&lt;br /&gt;
*Fix: Fixed &amp;quot;/&amp;quot; (repeat last command) not rewinding the command, which caused some issues with command arguments.&lt;br /&gt;
*Fix: Fixed &amp;quot;Max connections per IP&amp;quot; setting not saving in ConfigTool.&lt;br /&gt;
*Fix: Fixed AnnounceRankChangeReasons checkbox being erroneously tied to RequireRankChangeReasons key in ConfigTool.&lt;br /&gt;
*Fix: Added some missing tooltips to ConfigTool.&lt;br /&gt;
*Fix: Marked 10.0.0.0/8 IP range as LAN.&lt;br /&gt;
*Fix: Fixed an issue with balanced name verification (thanks wootalyzer).&lt;br /&gt;
*Fix: Fixed server announcing hidden players&#039; departure (#3292633). Thanks to Hellenion.&lt;br /&gt;
*Fix: Fixed /bring not checking per-rank permissions (#3292303). Thanks to Denny&lt;br /&gt;
*Fix: Fixed some header bugs in the D3 map converter.&lt;br /&gt;
*Fix: Fixed /wload crashing instead of printing an error message under Mono if the path was malformed.&lt;br /&gt;
*Fix: Fixed /banip not recognizing invalid IPs (e.g. broadcast).&lt;br /&gt;
*Fix: Fixed antispam resetting players&#039; mute time.&lt;br /&gt;
*Fix: Fixed Scheduler being able to add tasks after the shutdown process started.&lt;br /&gt;
*Fix: Reduced problems associated with players trying to connect while the server is shutting down.&lt;br /&gt;
*Fix: Added autorank.xml to the list of protected files.&lt;br /&gt;
*Fix: Fixed a crash in backup system that happened if two backups ran simultaneously and the total size or number of backup files was limited.&lt;br /&gt;
*Fix: Fixed a case where duplicate worlds could be created.&lt;br /&gt;
*Change: When players rejoin a world (e.g. /wflush or /wload), &amp;quot;joined world&amp;quot; message is no longer shown.&lt;br /&gt;
*Change: /mute no longer allows shortening players&#039; mute time, only to extend it.&lt;br /&gt;
*Change: Allowed player names with periods.&lt;br /&gt;
*Change: Removed SaveOnShutdown config key, tweaked range checks on some keys, grouped key tags into section tags.&lt;br /&gt;
*Change: When saving config.xml, keys with default values are now commented out.&lt;br /&gt;
*API: New events! PlayerHideChanged, PlayerInfoCreating, PlayerInfoCreated, PlayerInfoRankChanging, and PlayerInfoRankChanged.&lt;br /&gt;
*API: Server.StartServer() now throws specific exceptions on failure, instead of returning false.&lt;br /&gt;
*API: Removed some obsolete Server events.&lt;br /&gt;
*API: Switched to 100% Utc dates/times internally. PlayerDB now uses UTC Unix timestamps to serialize all dates/times.&lt;br /&gt;
*Optimization: Sped up map generation.&lt;br /&gt;
*Optimization: Reduced PlayerDB saving interval, reduced PlayerDB filesize, reduced CPU and memory use of PlayerDB saving, reduced memory footprint of loaded PlayerDB, improved IPAddress lookup performance in PlayerDB.&lt;br /&gt;
&lt;br /&gt;
===0.522===&lt;br /&gt;
&#039;&#039;16 April 2011 - r546&#039;&#039;&lt;br /&gt;
*Feature: Added more functionality to hollow ellipsoid and sphere, thanks to Redshift. Now it is possible to define outer/inner blocktypes.&lt;br /&gt;
*Feature: Added OptiCraft map format support, courtesy of LgZ-optical&lt;br /&gt;
*Fix: Fixed a serious error that caused a crash when main world became full. This bug affected 0.520 and 0.521.&lt;br /&gt;
*Fix: Fixed AutoLauncher not working under Mono (thanks to ven000m for spotting).&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog crashing if closed while generating a world.&lt;br /&gt;
*Fix: Fixed /restart using ShutdownReason.ShuttingDown (instead of ShutdownReason.Restarting) &lt;br /&gt;
*Fix: Fixed a crash in ConfigTool if MaxPlayers was set to be less than MaxPlayersPerWorld.&lt;br /&gt;
*Fix: When loading old configs (pre-0.520), MaxPlayersPerWorld is automatically set to match MaxPlayers, to avoid unexpected side effects.&lt;br /&gt;
*API: Added WorldCreating and WorldCreated events.&lt;br /&gt;
*API: Moved world-related commands from Server to a new class, WorldManager.&lt;br /&gt;
*API: Renamed RankList to RankManager, and CommandList to CommandManager, for consistency.&lt;br /&gt;
&lt;br /&gt;
===0.521===&lt;br /&gt;
&#039;&#039;12 April 2011 - r534&#039;&#039;&lt;br /&gt;
*Feature: Added a /Clear command, to clear in-game chat. Also works from fCraftConsole and fCraftUI.&lt;br /&gt;
*Fix: Added missing chat commands.&lt;br /&gt;
*Fix: Cosmetic fixes in /ZRemove.&lt;br /&gt;
&lt;br /&gt;
===0.520===&lt;br /&gt;
&#039;&#039;12 April 2011 - r532&#039;&#039;&lt;br /&gt;
*Feature: Removed the server-wide 128 player limit. Now the limit is per-world.&lt;br /&gt;
*Feature: You can now repeat the last command by typing &amp;quot;/&amp;quot;&lt;br /&gt;
*Feature: Added a way to use color codes in chat (with % instead of &amp;amp;), a UseColorCodes permission, and a /colors command.&lt;br /&gt;
*Feature: Added support for multi-line messages or commands. Add &amp;quot; /&amp;quot; to the end of a line to continue typing it.&lt;br /&gt;
*Feature: Added &amp;quot;/commands&amp;quot;, to replace &amp;quot;/help commands&amp;quot;. It allows filtering commands by rank, category, permissions, etc. Aliases: /cmdlist, /cmds&lt;br /&gt;
*Feature: New permissions: ViewPlayerIPs, BringAll&lt;br /&gt;
*Feature: New config switches: AnnounceRankChangeReasons and RequireKickReason.&lt;br /&gt;
*Feature: Replaced LimitOneConnectionPerIP config key (boolean) with a more flexible MaxConnectionsPerIP (int).&lt;br /&gt;
*Feature: Added /bringall command, for moving everyone (or only certain ranks) from your world (or optionally all worlds, or a list of other worlds) to your location.&lt;br /&gt;
*Feature: /bring can be limited per-rank&lt;br /&gt;
*Feature: When file is not found on case-sensitive filesystems, fCraft tries to syggest similar filenames.&lt;br /&gt;
*Feature: Added new constants to use in greeting.txt: {TIME}, {PLAYER_NAME}, {WORLD}, {PLAYERS}, {WORLDS}, {MOTD}&lt;br /&gt;
*Feature: Improved compatibility with SurvivalTest clients.&lt;br /&gt;
*Fix: Fixed /banip not kicking other players from the same IP (besides the named player)&lt;br /&gt;
*Fix: Added missing blocktype validation to MapFCMv2, MapFCMv3, MapMyne, and MapNBT.&lt;br /&gt;
*Fix: Fixed a rare shutdown crash in fCraftUI.&lt;br /&gt;
*Fix: Improved the way PlayerDB.Load handles errors in individual records. A single corrupted entry will no longer prevent the rest from loading.&lt;br /&gt;
*Fix: Fixed fCraftUI abruptly quitting on crash / failure to start, instead of showing the error message. Use &amp;quot;--exitoncrash&amp;quot; command-line switch to reproduce old behavior.&lt;br /&gt;
*Fix: Fixed ConfigTool&#039;s World tab not prompting to delete map files when deleting worlds.&lt;br /&gt;
*Fix: Fixed a bug in MCSharp importer (#3281305)&lt;br /&gt;
*Fix: Fixed a list of permissions in /rinfo not being sorted.&lt;br /&gt;
*Fix: Fixed /mute rank limit dropdown sometimes getting out of sync.&lt;br /&gt;
*Fix: Fixed IRC bot redundantly announcing kicks when someone has been banned.&lt;br /&gt;
*Fix: Fixed a bug where fCraft would fail to start if PlayerDB.txt was truncated/empty.&lt;br /&gt;
*Change: Moved &amp;quot;IP&amp;quot; config key from General to Advanced.&lt;br /&gt;
*Change: Added /spin as an alias to /rotate (for MCLawl users)&lt;br /&gt;
*API: New events: PlayerClicking, PlayerClicked, PlayerPlacingBlock, PlayerPlacedBlock, PlayerListChanged, PlayerBeingKicked, PlayerKicked&lt;br /&gt;
*Optimization: Reduced CPU use of draw commands by ~30%. Sped up PlayerDB loading by ~8%, and reduced memory use when saving. Also reduced PlayerDB filesize by about 15%&lt;br /&gt;
&lt;br /&gt;
===0.512===&lt;br /&gt;
&#039;&#039;2 April 2011 - r508&#039;&#039;&lt;br /&gt;
*Feature: /zones can now be used from console, and can be used on any world (active or inactive).&lt;br /&gt;
*Feature: Improved D3 map importer.&lt;br /&gt;
*Fix: Added missing filename sanity/safety checks to /dumpstats (#3267362, thanks to Hellenion)&lt;br /&gt;
*Fix: Fixed mixed up messages shown in /waccess and /wbuild (#3179189)&lt;br /&gt;
*Fix: Fixed crash reports sometimes failing to submit.&lt;br /&gt;
*Fix: Fixed /dumpstats crashing if a rank had 0 players.&lt;br /&gt;
*Fix: Made Mono version detection less crashy (#3267476, thanks to Hellenion again)&lt;br /&gt;
*Fix: Fixed MapUtility.LoadHeader terminating early, before going through all fallback converters.&lt;br /&gt;
*Fix: Fixed ConfigTool tab order.&lt;br /&gt;
*Fix: Fixed fCraft reporting inaccurate CPU usage figures.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in /rank if an invalid player name was given.&lt;br /&gt;
*Fix: Fixed fCraft project not building under Windows if path contains spaces.&lt;br /&gt;
*Change: Added &amp;quot;/serverreport&amp;quot; as an alias for &amp;quot;/sinfo&amp;quot;&lt;br /&gt;
*Change: Improved the way fCraft handles and reports map loading errors.&lt;br /&gt;
*API Change: Moved all filename constants (e.g. &amp;quot;PlayerDB.txt&amp;quot;) to Paths class.&lt;br /&gt;
&lt;br /&gt;
===0.511===&lt;br /&gt;
&#039;&#039;31 March 2011 - r497&#039;&#039;&lt;br /&gt;
*Feature: Further improvements to Mono support. fCraft will now utilize mono-sgen whenever possible.&lt;br /&gt;
*Fix: Fixed fCraftUI ignoring command-line arguments.&lt;br /&gt;
*Fix: Fixed broken /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed crash reports failing to submit.&lt;br /&gt;
*Fix: Fixed a timezone-related bug that messed up players&#039; &amp;quot;total time on server&amp;quot; stat.&lt;br /&gt;
*Change: Added a warning if running on old versions of Mono (2.6 or lower). &lt;br /&gt;
&lt;br /&gt;
===0.510_r489===&lt;br /&gt;
&#039;&#039;29 March 2011 - r489&#039;&#039;&lt;br /&gt;
*Fix: Fixed unnecessary GDI+ dependence in fCraftConsole under Mono&lt;br /&gt;
*Fix: Fixed EnumKeyAttribute not taking blank values (as in case of ProcessPriority config key).&lt;br /&gt;
&lt;br /&gt;
===0.510===&lt;br /&gt;
&#039;&#039;29 March 2011 - r488&#039;&#039;&lt;br /&gt;
*Feature: The fCraft updater has been rewritten and expanded. It now works under all OSes, and provides more features.&lt;br /&gt;
*Feature: fCraft now handles differences between case-sensitive and case-insensitive filesystems much better. /wrename and /wload are also aware of the filesystem.&lt;br /&gt;
*Feature: fCraft now checks presence, filename capitalization, and integrity of all map files on the world list at startup.&lt;br /&gt;
*Feature: New ConfigTool settings for updater, checkbox for showing &amp;quot;player connected/left&amp;quot; messages, and &amp;quot;/mute&amp;quot; permission settings.&lt;br /&gt;
*Feature: Added &amp;quot;/credits&amp;quot; command to ConfigUI.&lt;br /&gt;
*Feature: Implemented &amp;quot;--norestart&amp;quot; and &amp;quot;--exitoncrash&amp;quot; command-line switches for fCraft.&lt;br /&gt;
*Feature: fCraft event system is being rewritten with modding support in mind.&lt;br /&gt;
*Feature: Improved MCSharp/MCZall/MCLawl map support.&lt;br /&gt;
*Fix: Software errors that happen while parsing player and console commands will no longer cause disconnects/crashes.&lt;br /&gt;
*Fix: IPBanList will attempt to recover records lost due to a recent regression in 0.505.&lt;br /&gt;
*Fix: Fixed /wrename errors in cases where names differ only in capitalization.&lt;br /&gt;
*Fix: Fixed &amp;quot;Copy Existing World&amp;quot; showing the current world on the list in AddWorldPopup.&lt;br /&gt;
*Fix: Fixed &amp;quot;Chat&amp;quot; tab preview not updating when settings are reset.&lt;br /&gt;
*Fix: Fixed per-world whitelist/blacklist not saving when worlds are edited with AddWorldPopup.&lt;br /&gt;
*Fix: Fixed non-verified connections that get kicked from affecting that name&#039;s PlayerInfo.&lt;br /&gt;
*Fix: Server.GenerateSalt() now uses a cryptographically secure PRNG.&lt;br /&gt;
*Fix: Fixed verification problems on servers with HeartbeatEnabled=false.&lt;br /&gt;
*Fix: Fixed a wrong message being shown by /rank if the target is already same or higher/lower rank.&lt;br /&gt;
*Fix: Fixed /winfo showing incorrect information for last lock/unlock event.&lt;br /&gt;
*Fix: Fixed tabbing order on ConfigUI.&lt;br /&gt;
*Fix: Improved the way Server.InitLibrary and Logger.Log errors are handled.&lt;br /&gt;
*Fix: Added missing validation checks to LoadHeader in several map converters.&lt;br /&gt;
*Fix: Fixed players being able to complete a draw command or /zadd, if they were demoted before clicking for the second time.&lt;br /&gt;
*Fix: Added missing /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed a bug in /zinfo that showed incorrect creation/editing times.&lt;br /&gt;
*Fix: Better error messages for unrecognized block names in command parameters.&lt;br /&gt;
*Fix: /restart now works from ConfigUI under Mono (but still broken in fCraftConsole).&lt;br /&gt;
*Fix: Fixed handling of command-line arguments surrounded with quotes.&lt;br /&gt;
*Fix: Fixed a bug at ConfigTool.ConfigUI.xAllowSecurityCircumvention_CheckedChanged (#3181907, thanks to clhdrums87).&lt;br /&gt;
*Fix: Fixed /winfo counting hidden players (#3237877, thanks to Hellenion).&lt;br /&gt;
*Fix: Fixed MCSharp map exporter mixing up map dimensions (#3159501, thanks to dogwatch).&lt;br /&gt;
*Change: Improved the way fCraft project is built. Now all binaries are copied to /trunk/bin/Release or /trunk/bin/Debug.&lt;br /&gt;
*Change: Improved error tolerance of Scheduler.EndShutdown().&lt;br /&gt;
*Change: Expanded Logger.CheckForCommonErrors().&lt;br /&gt;
*Change: Renamed config keys (old ones can still be loaded): IRCBot to IRCBotEnabled, AutomaticUpdates to UpdaterMode.&lt;br /&gt;
*Change: Added /wadd as an alias for /wload.&lt;br /&gt;
*Change: Renamed Mcc namespace to fCraft.MapConversion.&lt;br /&gt;
*Change: Decreased timeout for fCraft update check.&lt;br /&gt;
*Change: Added a confirmation prompt to /rank when adding an unrecognized player name to the database.&lt;br /&gt;
*Optimization: Sped up heartbeat sending and world-related operations, increased world saving interval to 90 seconds, reduced per-player idle CPU usage, halved CPU usage of draw commands.&lt;br /&gt;
&lt;br /&gt;
===0.506===&lt;br /&gt;
&#039;&#039;11 February 2011 - r427&#039;&#039;&lt;br /&gt;
*Feature: Added hollow ellipsoid drawing (/eh) and hollow sphere drawing (/sph), contributed by Conrad &amp;quot;Redshift&amp;quot; Morgan.&lt;br /&gt;
*Fix: Fixed a regression in 0.503 that caused some IP ban records to be lost. I am terribly sorry!&lt;br /&gt;
*Fix: Fixed a path-related error in Map.SaveBackup&lt;br /&gt;
*Fix: Fixed a possible disconnect in Player.CheckBlockSpam is antigrief was not configured properly.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool.SaveWorldList.&lt;br /&gt;
*Fix: Fixed &amp;quot;Limit the number of blocks that can be undone&amp;quot; checkbox misbehaving (thanks to ven000m for bug report).&lt;br /&gt;
*Change: By popular demand /sphere2 is now the default behavior of /sphere.&lt;br /&gt;
*Change: Removed &amp;quot;oldSalt&amp;quot; check for name verification, to avoid having the server write to config.xml unnecessarily.&lt;br /&gt;
*Change: Removed &amp;quot;.backup&amp;quot; file creation, by popular demand. It was kinda useless.&lt;br /&gt;
&lt;br /&gt;
===0.505===&lt;br /&gt;
&#039;&#039;8 February 2011 - r422&#039;&#039;&lt;br /&gt;
*Feature: All draw commands now inform player if any blocks were skipped due to local permission issues (e.g. zones).&lt;br /&gt;
*Fix: Fixed a regression that caused backups to be saved in the wrong path. Backups were being saved to ./backups/ instead of ./maps/backups/&lt;br /&gt;
*Fix: Fixed a permission issue in /replace and /replacenot.&lt;br /&gt;
*Fix: Fixed /info not displaying a list of players from same IP.&lt;br /&gt;
*Fix: Addressed a security issue with salt generation.&lt;br /&gt;
&lt;br /&gt;
===0.504===&lt;br /&gt;
&#039;&#039;3 February 2011 - r419&#039;&#039;&lt;br /&gt;
*Fixed a crash bug related to SecurityController.MinRank&lt;br /&gt;
&lt;br /&gt;
===0.503===&lt;br /&gt;
&#039;&#039;3 February 2011 - r418&#039;&#039;&lt;br /&gt;
*Feature: Added /deafen command. It temporarily blocks all incoming messages (makes you go &amp;quot;deaf&amp;quot;), to allow taking screenshots, recording videos, or just playing without the wall of text.&lt;br /&gt;
*Feature: Added ShowBannedConnectionMessages config key (default: true). When disabled, no &amp;quot;banned player tried to log in&amp;quot; messages are shown.&lt;br /&gt;
*Fix: Fixed PlayerInfo.frozenOn not being set.&lt;br /&gt;
*Fix: Fixed kick messages for players affected by /banall&lt;br /&gt;
*Fix: Fixed /unbanall reason not being shown.&lt;br /&gt;
*Fix: /where now shows what world you are on.&lt;br /&gt;
*Fix: Fixed a couple minor bugs in /waccess and /wbuild.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in SecurityController constructor.&lt;br /&gt;
*Fix: Made several tweaks to improve the first-run experience.&lt;br /&gt;
&lt;br /&gt;
===0.502===&lt;br /&gt;
&#039;&#039;31 January 2011 - r411&#039;&#039;&lt;br /&gt;
*Fix: Adjusted for yet another change in the way minecraft.net replies to heartbeats (should fix all heartbeat issues for now).&lt;br /&gt;
*Fix: Added a check to /zremove to prevent players from deleting zones to gain access to areas from which they&#039;re barred.&lt;br /&gt;
*Fix: Fixed being able to use /me or /staff to write empty messages.&lt;br /&gt;
*Fix: Fixed frozen players not getting defrosted when kicked.&lt;br /&gt;
*Fix: Formatting fixes in &amp;quot;___ was previously frozen&amp;quot; message&lt;br /&gt;
*Fix: Fixed a mini-bug in Map.ValidateHeader()&lt;br /&gt;
*Change: Renamed /wremove to /wunload for consistency. &amp;quot;/wremove&amp;quot; is still usable as an alias.&lt;br /&gt;
&lt;br /&gt;
===0.501===&lt;br /&gt;
&#039;&#039;30 January 2011 - r408&#039;&#039;&lt;br /&gt;
*Feature: Added /sphere and /sphere2, based on code contributed by SystemX17.&lt;br /&gt;
*Feature: Added new config setting: ShowConnectedMessages (default: true)&lt;br /&gt;
*Feature: Added a notification for players who logged in frozen.&lt;br /&gt;
*Fix: Fixed frozen players twitching.&lt;br /&gt;
*Fix: Fixed IRC bot not stripping color codes in messages relayed from IRC to the game.&lt;br /&gt;
*Fix: Fixed lastSeen and lastLoginDate not being set for first-time players who failed to log in (e.g. IP-banned).&lt;br /&gt;
*Fix: Fixed /bring not working properly on frozen players.&lt;br /&gt;
*Fix: Fixed a case where it was possible to add access restrictions to main map.&lt;br /&gt;
*Fix: Fixed per-world whitelists/blacklists being lost when editing worlds.xml via ConfigTool.&lt;br /&gt;
*Fix: Fixed AutoRankAll showing wrong number of players promoted/demoted (just a formatting bug, no promotions were affected)&lt;br /&gt;
&lt;br /&gt;
===0.500===&lt;br /&gt;
&#039;&#039;25 January 2011 - r399&#039;&#039;&lt;br /&gt;
*Commands: Added /line drawing command, kindly contributed by SystemX17&lt;br /&gt;
*Commands: Added /restart command, to restart the server remotely (NOTE: does not work for fCraftWinService yet)&lt;br /&gt;
*Commands: Added /unmute command (same as &amp;quot;/mute name 0&amp;quot;)&lt;br /&gt;
*Commands: Added an option to silently hide (no disconnect/connect message).&lt;br /&gt;
*Commands: Added /ignore and /unignore commands to block chat from another player (for the duration of your visit).&lt;br /&gt;
*Commands: /whide and /wunhide commands added to hide/unhide worlds from the list.&lt;br /&gt;
*Commands: /worlds now takes an optional param: &amp;quot;/worlds all&amp;quot; lists visible+hidden worlds, and &amp;quot;/worlds hidden&amp;quot; lists hidden worlds only.&lt;br /&gt;
*Commands: List of player names from the same IP is now shown in /info.&lt;br /&gt;
*Commands: /help now shows what rank you need to be to use a command (for most commands).&lt;br /&gt;
*Commands: /bring now works on frozen players.&lt;br /&gt;
*Commands: /bring now takes an optional second name/parameter, to teleport someone to someone&lt;br /&gt;
*Commands: /info now shows whether a player is hidden (if the command caller has permission to see).&lt;br /&gt;
*Commands: Fixed a case where teleporting to a player who is currently changing worlds brings one to a wrong location.&lt;br /&gt;
*Commands: Fixed bindings (/water, /lava, /solid, and /bind) not being applied to draw commands.&lt;br /&gt;
*Commands: /wsave and /gen can now create directories if needed.&lt;br /&gt;
*Commands: Fixed a bug in /roll&lt;br /&gt;
*Commands: Sped up /paste, /pastenot, /replace, and /replacenot slightly.&lt;br /&gt;
*ConfigTool: New &amp;quot;Chat&amp;quot; tab for controlling appearance and content of in-game chat.&lt;br /&gt;
*ConfigTool: Added ability to customize MeColor (for /me messages, default: purple) and WarningColor (for major errors/warnings, default: red) in config.&lt;br /&gt;
*ConfigTool: AddWorldPopup can now show detailed info for maps of all supported formats.&lt;br /&gt;
*ConfigTool: Improved tooltips for several items in ConfigUI.&lt;br /&gt;
*FrontEnd: Uncaught exceptions that happen while executing commands from fCraftUI console are now handled by the crash reporter (instead of actually crashing).&lt;br /&gt;
*FrontEnd: Added /clear command for fCraftUI and fCraftConsole - clears log screen.&lt;br /&gt;
*FrontEnd: The URL is no longer highlighted after first heartbeat, to avoid stealing focus from console.&lt;br /&gt;
*Generator: Fixed &amp;quot;flatgrass&amp;quot; template&lt;br /&gt;
*Generator: Fixed alphabetical order in the list of templates&lt;br /&gt;
*Generator: MapGenerator now embeds generation parameters into the map file metadata&lt;br /&gt;
*Generator: Fixed several template loading bugs.&lt;br /&gt;
*Generator: Optimized AddBeaches to be about 2x faster&lt;br /&gt;
*Generator: Added a missing dimension check to /gen&lt;br /&gt;
*IRC: Messages relayed from game to IRC now have color codes preserved.&lt;br /&gt;
*IRC: Kicks, Bans, unbans, promotions, and demotions can now be relayed to IRC.&lt;br /&gt;
*IRC: IRC bot now relays /say messages, and /me messages (both /me on IRC and /me on the server).&lt;br /&gt;
*IRC: IRC Error handling is greatly improved.&lt;br /&gt;
*IRC: (Threaded) If one of the bots loses connection, one of the other bots take over parsing input.&lt;br /&gt;
*IRC: Increased IRC reconnect delay to 15 seconds.&lt;br /&gt;
*Maps: Switched to a new file format (FCMv3) that allows for future additions like block tracking and physics.&lt;br /&gt;
*Maps: Much of MCC (map conversion) API was rewritten for better consistency and performance.&lt;br /&gt;
*Maps: Improved support for loading indev (pre-infinite) maps, including Omen-generated maps.&lt;br /&gt;
*Maps: Improved resilience for loading maps with unknown blocktypes. Instead of failing, it just replaces any unknown blocks with air.&lt;br /&gt;
*Maps: Added consistent header validation to all map format loaders.&lt;br /&gt;
*Maps: Fixed maps not autosaving when zones are added or removed.&lt;br /&gt;
*Maps: Zone definitions are now serialized to XML. Zones saved with this revision of fCraft will no longer be readable by older version of fCraft.&lt;br /&gt;
*Maps: Fixed a bug when loading JTE&#039;s format maps.&lt;br /&gt;
*Maps: Fixed format of backup filenames.&lt;br /&gt;
*PlayerDB: Added new fields: bannedUntil, frozenOn, frozenBy, mutedUntil, mutedBy, IRCPassword, online, leaveReason&lt;br /&gt;
*PlayerDB: Fixed PlayerInfo.ID not being assigned for new players until sever restart / DB reload.&lt;br /&gt;
*PlayerDB: Fixed off-by-one error with PlayerInfo.timesVisited&lt;br /&gt;
*PlayerDB: Fixed /me, /say, rank chat, and /staff not counting towards PlayerInfo.linesWritten&lt;br /&gt;
*PlayerDB: Made PlayerDB more resilient to errors. Reduced filesize slightly by omitting default values for more date fields, and removing milliseconds from &amp;quot;totalTime&amp;quot;&lt;br /&gt;
*PlayerDB: Improved forwards compatibility of PlayerDB by removing maximum-field-count check.&lt;br /&gt;
*Security: Worlds can now have player whitelists and blacklists (just like zones) for access and build permissions.&lt;br /&gt;
*Security: Added a security check to /wsave, /wload, and /gen to prevent reading or overwriting files outside the map folder.&lt;br /&gt;
*Security: Added a per-rank security option to prevent players from whitelisting themselves, removing themselves from blacklists, or lowering their rank&#039;s restrictions on worlds and zones.&lt;br /&gt;
*Security: /mute and /freeze are now persistent even if the player reconnects.&lt;br /&gt;
*Security: Relaxed SetTile packet checks. Players will no longer be kicked due to Minecraft client bugs.&lt;br /&gt;
*Security: Fixed an exploit that allowed changing steps to doublesteps even inside zoned areas.&lt;br /&gt;
*Security: Improved consistency of permission dependencies.&lt;br /&gt;
*Security: Fixed a security exploit in /wmain that allowed players with ManageWorlds permission to gain access to restricted worlds.&lt;br /&gt;
*Security: Fixed a bug that prevented banning players who were not yet in PlayerDB.&lt;br /&gt;
*Security: Added an option to only allow paid players (PaidPlayersOnly)&lt;br /&gt;
*Stability: Made crash reporting more reliable. A failed crash report will no longer prevent error message from being logged and displayed.&lt;br /&gt;
*Stability: Fixed a crash in AddWorldPopup if dialog is closed while a map is still loading.&lt;br /&gt;
*Stability: To improve compatibility with some bots, removed &amp;quot;almost there...&amp;quot; message on the loading screen&lt;br /&gt;
*Stability: Disabled error reporting of common non-fCraft-related errors (like wrong runtime versions, or wrong Mono permissions).&lt;br /&gt;
*Stability: Added &amp;quot;libMonoPosixHelper.so&amp;quot; and &amp;quot;UnauthorizedAccessException&amp;quot; to Logger.CheckForCommonErrors, and made &amp;quot;Could not load file or assembly&amp;quot; check locale-independent.&lt;br /&gt;
*Stability: A backup file is now created whenever PlayerDB, IP ban list, config, or world list are saved (e.g. PlayerDB.txt.backup)&lt;br /&gt;
*Stability: Crash reporter now sends last 25 lines of the log.&lt;br /&gt;
*Stability: Added a fallback overload for Player.Message() that bypasses string format, to make the whole thing less prone to format errors.&lt;br /&gt;
*System: fCraft now takes command-line arguments (at startup) to override the following:&lt;br /&gt;
**working directory (--path=/your/path/here)&lt;br /&gt;
**log directory (--logpath=/your/path/here)&lt;br /&gt;
**map directory (--logpath=/your/path/here) - also overridable in a more user-friendly way via ConfigTool (MapPath key)&lt;br /&gt;
**config file location (--config=/your/path/and/filename.xml)&lt;br /&gt;
*System: Added an option to change the name of Console pseudoplayer in the config.&lt;br /&gt;
*System: Player.GetClassyName() and PlayerInfo.GetClassyName() now add an asterisk after banned players&#039; names&lt;br /&gt;
*System: Fixed hidden players remaining hidden in some cases.&lt;br /&gt;
*System: Fixed PacketWriter.MakeWrappedMessage ignoring uppercase hex colorcodes&lt;br /&gt;
*System: Implemented NoPartialPositionUpdates and RelayAllUpdates config keys.&lt;br /&gt;
*System: Several little glitches and inefficiencies fixed in movement handling code.&lt;br /&gt;
*System: Fixed &amp;quot;player connected&amp;quot; and other messages showing up too early in-game (before map loaded).&lt;br /&gt;
*System: Fixed kick message for players affected by /banall&lt;br /&gt;
*System: Added HeartbeatEnabled config key (default: true)&lt;br /&gt;
*System: Fixed a case where heartbeat could be sent from a different IP than the listening port on systems with multiple NICs/IPs and no configured static IP.&lt;br /&gt;
*System: Increased the write buffer for writing out PlayerDB, reducing I/O time by ~20% on .NET, and ~35% on Mono&lt;br /&gt;
*System: New Scheduler API.&lt;br /&gt;
*System: Modified /wload to avoid loading the map twice in case confirmation is needed.&lt;br /&gt;
*System: Changes to AutoRankEnabled will now be applied when /reloadconfig is called.&lt;br /&gt;
*System: Fixed unnecessary confirmation being asked when world name matches file name in /wload&lt;br /&gt;
*System: Eliminated the heartbeat thread by switching to async i/o.&lt;br /&gt;
*System: Improved startup and shutdown speed.&lt;br /&gt;
*System: Added a &amp;quot;how to promote yourself&amp;quot; message for fresh installations of fCraft.&lt;br /&gt;
*System: Fixed Server.OnPlayerDisconnected event firing for unregistered sessions.&lt;br /&gt;
*System: Made Color.Parse() and Color.GetName() translate fCraft-specific color assignments (e.g &amp;quot;&amp;amp;S&amp;quot; for &amp;quot;System&amp;quot;)&lt;br /&gt;
*System: Added better detection for SMP/Alpha clients trying to connect.&lt;br /&gt;
*System: Sped up AutoRankAll&lt;br /&gt;
&lt;br /&gt;
=0.4xx=&lt;br /&gt;
===0.499===&lt;br /&gt;
&#039;&#039;6 November 2010 - r311&#039;&#039;&lt;br /&gt;
*Feature: Added an option to disable name verification for players connecting from LAN.&lt;br /&gt;
*Feature: Added &#039;flat&#039; template to MapGenerator, allowing to make flat maps with any theme.&lt;br /&gt;
*Feature: Added &#039;grass&#039; pseudotheme to /gen command, which is basically the &#039;Forest&#039; theme with trees disabled.&lt;br /&gt;
*Fix: Fixed /wflush leaving ghosts/clones behind.&lt;br /&gt;
*Fix: Fixed muted players being able to use /say and /staff&lt;br /&gt;
*Fix: Fixed /baninfo ignoring permission checks.&lt;br /&gt;
*Fix: Fixed &amp;quot;draw limit&amp;quot; checkbox getting disabled in ConfigTool if a player had &#039;CopyAndPaste&#039; permission but no &#039;Draw&#039; permission.&lt;br /&gt;
*Fix: Fixed several off-by-1 errors involving random number generation, notably in MapGenerator and Server.GenerateSalt()&lt;br /&gt;
*Fix: Fixed potential crash in MapGenerator.SealLiquids&lt;br /&gt;
*Fix: Fixed a potential crash in Map.SaveBackup() if the map filename contained brackets.&lt;br /&gt;
*Fix: Fixed a forced disconnect when trying to feed /gen a theme or template with brackets in the name.&lt;br /&gt;
&lt;br /&gt;
===0.498===&lt;br /&gt;
&#039;&#039;4 November 2010 - r308&#039;&#039;&lt;br /&gt;
*Change: Disabled zlib support due to more potential memory leaks. fffuuuuu....&lt;br /&gt;
*Fix: Fixed Island, Bay, and Ice templates broken by the last patch.&lt;br /&gt;
*Fix: MapGeneratorArgs: snowTransition was interpreted as absolute (instead of relative) altitude, and marbledHeightmap incorrectly defaulted to &#039;true&#039;.&lt;br /&gt;
*Change: Updated readme and changelog.&lt;br /&gt;
&lt;br /&gt;
===0.497===&lt;br /&gt;
&#039;&#039;4 November 2010 - r306&#039;&#039;&lt;br /&gt;
*Feature: Added accurate progress reporting from MapGenerator. Coming soon: cancellation.&lt;br /&gt;
*Feature: New MapGenerator options: BeachHeight, CliffSmoothing, LandSlope, UnderwaterSlope, MaxHeightVariation, MaxDepthVariation.&lt;br /&gt;
*Feature: Added UI controls for snow/cliff/beach settings to AddWorldPopup.&lt;br /&gt;
*Feature: Added a list of popular IRC networks to ConfigTool.&lt;br /&gt;
*Change: Improved PlayerDB lookup performance by reducing locking.&lt;br /&gt;
*Fix: Fixed MapGenerator calculating slope incorrectly at the water boundary.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add Ore&amp;quot; requiring &amp;quot;Add Caves&amp;quot; in MapGenerator.&lt;br /&gt;
*Fix: Fixed water/lava caves not sealing liquids properly. &lt;br /&gt;
*Change: Set MapGenerator to default to 256x256x96&lt;br /&gt;
*Change: AddWorldPopup Generator tab layout overhaul&lt;br /&gt;
*Change: Organized MapGeneratorArgs and added serialization/deserialization for all the new options.&lt;br /&gt;
&lt;br /&gt;
===0.496===&lt;br /&gt;
&#039;&#039;3 November 2010 - r301&#039;&#039;&lt;br /&gt;
*Fix: Fixed File.Replace() failing if fCraft was set up on a partition/volume other than the one where temp folder is.&lt;br /&gt;
*Fix: Added missing tooltip for &amp;quot;Edit Greeting&amp;quot;&lt;br /&gt;
*Fix: Fixed /sinfo including hidden players in the player count.&lt;br /&gt;
&lt;br /&gt;
===0.495===&lt;br /&gt;
&#039;&#039;2 November 2010 - r300&#039;&#039;&lt;br /&gt;
*Feature: Added a way to edit the greeting message, by editing &amp;quot;greeting.txt&amp;quot;&lt;br /&gt;
*Feature: When a player gets banned, any previously-banned accounts from same IP are listed.&lt;br /&gt;
*Fix: Fixed renaming worlds from ConfigTool&#039;s &amp;quot;worlds&amp;quot; tab not always working.&lt;br /&gt;
*Fix: Fixed several filesystem-related errors on non-Windows systems by using Path.Combine() instead of string concatenation.&lt;br /&gt;
*Fix: Possible workaround for missing heartbeats.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;default build rank&amp;quot; controls in ConfigTools.&lt;br /&gt;
*Fix: Fixed overwrite confirmation popping up for /wload when loading map into an unloaded world with the same name.&lt;br /&gt;
*Fix: Fixed a case where Forester could get into an infinite loop when there&#039;s not enough room to place requested number of trees.&lt;br /&gt;
&lt;br /&gt;
===0.494===&lt;br /&gt;
&#039;&#039;31 October 2010 - r297&#039;&#039;&lt;br /&gt;
*Feature: New map generator features:&lt;br /&gt;
**Adjustable water level.&lt;br /&gt;
**Realistic trees (powered by Forester)&lt;br /&gt;
**Snow on mountaintops&lt;br /&gt;
**Realistic cliffs&lt;br /&gt;
**Beaches&lt;br /&gt;
**New template (peninsula) and theme (swamp).&lt;br /&gt;
**Option to delay heightmap bias until after marbling/inversion.&lt;br /&gt;
*Feature: Added a way to load .mine maps.&lt;br /&gt;
*Feature: Added confirmation for potentially destructive commands: /importranks, /importbans, /massrank, /wload overwrites, /gen overwrites, /wsave overwrites, /zremove.&lt;br /&gt;
*Feature: Added /staff chat and ReadStaffChat permission.&lt;br /&gt;
*Feature: Added wireframe cuboid (/cw)&lt;br /&gt;
*Feature: Added an optional second param for /ch (cuboid hollow) that specifies the blocktype of the &amp;quot;filling&amp;quot;.&lt;br /&gt;
*Feature: Added a way to specify default build permission for new worlds.&lt;br /&gt;
*Fix: Fixed /info, /baninfo, and /banip not handling players whose name contain only digits.&lt;br /&gt;
*Fix: Fixed DoChangeRank mixing up RankChangeType.&lt;br /&gt;
*Fix: Added missing fields to MapGeneratorArgs serializer.&lt;br /&gt;
*Fix: Fixed per-rank draw limits not being calculated correctly in some cases.&lt;br /&gt;
*Fix: Replaced File.Delete/File.Move calls with a more reliable File.Replace call. This should slightly improve reliability of map/playerdb.txt/ipbans.txt/worlds.xml saving.&lt;br /&gt;
*Fix: Fixed a little ConfigTool bug that did not properly reset PatrolledRank after a rank deletion.&lt;br /&gt;
*Fix: Fixed terminal colors not resetting in fCraftConsole after a fatal crash under Mono.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;Play&amp;quot; button in fCraftUI.&lt;br /&gt;
*Fix: Added some basic error reporting to fCraftWinService.&lt;br /&gt;
*Change: Tweaked AddWorldPopup layout to accommodate more options.&lt;br /&gt;
&lt;br /&gt;
===0.493===&lt;br /&gt;
&#039;&#039;27 October 2010 - r290&#039;&#039;&lt;br /&gt;
*Feature: /info now supports autocompletion, wildcards, and IP search.&lt;br /&gt;
*Feature: Experimental service wrapper for fCraft.&lt;br /&gt;
*Feature: Added more editable properties to /setinfo: RankChangeType, BanReason, UnbanReason, RankChangeReason, LastKickReason&lt;br /&gt;
*Feature: Various improvements to /info, including hide-aware &amp;quot;online&amp;quot; indicator.&lt;br /&gt;
*Feature: Made Player.NoAccessMessage() print the minimum required rank, instead of just permission name(s).&lt;br /&gt;
*Feature: Added wootalyzer&#039;s chunk rendering code to IsoCat.&lt;br /&gt;
*Fix: Fixed ConfigTool not taking advantage of ZLibStream &lt;br /&gt;
*Fix: Fixed a very improbable case of a thread getting spinlocked when calling IRC.Send() is preemptied, and if there are at least 2 IRC threads.&lt;br /&gt;
*Fix: Fixed kick packets occasionally not being delivered due to a missing Flush() - thanks to wootalyzer for catching.&lt;br /&gt;
*Fix: Excluded banned and inactive players from DumpStats&lt;br /&gt;
*Fix: Fixed PlayerDB.Save() not escaping LastKickReason &lt;br /&gt;
*Fix: Cleaned up extra messages sent by /unhide.&lt;br /&gt;
*Fix: Fixed LastSeen not updating on-login (only on-logout).&lt;br /&gt;
*Fix: Improved the way fCraft checks for ghost/leftover sessions. Thanks to wootalyzer.&lt;br /&gt;
*Fix: If a player&#039;s name starts with a number, and you try to /tp to a coordinate that starts with the same number, you are no longer teleported to that player instead.&lt;br /&gt;
*Fix: Fixed hidden players being detectable by checking LastSeen in /info.&lt;br /&gt;
*Fix: To avoid performance degradation, GC calls have been centralized, delayed, limited to 1/minute, and moved to the tasks thread.&lt;br /&gt;
*Fix: Added delay between recurring calls to PlayerDB.Save, AutoRankAll, and DoGC - to balance load.&lt;br /&gt;
*Fix: Fixed rankChangeType not being updated.&lt;br /&gt;
*Fix: Fixed some typos reported by tvc. &lt;br /&gt;
*Change: Added &amp;quot;/uf&amp;quot; as an alias for &amp;quot;/unfreeze&amp;quot;, by popular demand. &lt;br /&gt;
*Change: Modified PlayerDB not to use ReaderWriterLockSlim, to avoid Mono issues with recursion.&lt;br /&gt;
*Change: Renamed /editplayerinfo to /setinfo&lt;br /&gt;
*Change: Made enum values in AutoRank (CriterionType, ConditionField, ComparisonOperation, ConditionScopeType, RankChangeType) case-insensitive.&lt;br /&gt;
*Change: Added a reference to /baninfo in /info&lt;br /&gt;
*Change: Made DetectMovementPacketSpam warn players instead of kicking.&lt;br /&gt;
&lt;br /&gt;
===0.492===&lt;br /&gt;
&#039;&#039;19 October 2010 - r280&#039;&#039;&lt;br /&gt;
*Feature: Added EditPlayerDB permission. This permission affects the upcoming AutoRank commands, /editplayerinfo, and ability to promote/demote/ban unrecognized players.&lt;br /&gt;
*Feature: When you kick a player, you are now shown the number of kicks they already have.&lt;br /&gt;
*Feature: More stats are now logged! RankType, TimeSinceLastKick, LastSeen, BlocksDrawn, LastKickBy, LastKickReason.&lt;br /&gt;
*Feature: Added &amp;quot;MaxUndo&amp;quot; config key for changing the default undo limit of 2,000,000 blocks per player.&lt;br /&gt;
*Feature: /info command is augmented with new stats (if available).&lt;br /&gt;
*Fix: Fixed ellipsoid command calculating volume incorrectly for draw limit checks.&lt;br /&gt;
*Fix: Fixed overflowing color code in &amp;quot;Player logged in from an IP previously used by banned players&amp;quot; message.&lt;br /&gt;
*Fix: Fixed PM recipient&#039;s name not getting logged properly.&lt;br /&gt;
*Fix: Previously-unseen players no longer have their FirstLoginDate, LastLoginDate, or TimesVisited set.&lt;br /&gt;
*Fix: /importranks now works correctly on players who are online at the time of import.&lt;br /&gt;
*Change: Added block aliases by popular demand: &amp;quot;bedrock&amp;quot; as an alias for admincrete, &amp;quot;cotton&amp;quot; as alias for &amp;quot;white&amp;quot;, and &amp;quot;aire&amp;quot; as alias for &amp;quot;air&amp;quot;&lt;br /&gt;
*Change: PlayerDB.txt format changes:&lt;br /&gt;
**MaxFieldCount raised to 36&lt;br /&gt;
**New fields added: UID (Int32), RankChangeType (enum, serialized as Int32), LastKickDate (DateTime), LastSeen (DateTime), BlocksDrawn (Int64), LastKickBy (string), LastKickReason (string).&lt;br /&gt;
**RankChangeBy, BannedBy, UnbannedBy, BanReason, UnbanReason, and RankChangeReason now default to empty string instead of &amp;quot;-&amp;quot; or null.&lt;br /&gt;
**If LastIP==IPAddress.None, empty string is saved instead of &amp;quot;255.255.255.255&amp;quot;.&lt;br /&gt;
**DateTime and TimeSpan format shortened to exclude microseconds. See PlayerDB.ToCompactString() for details.&lt;br /&gt;
*Change: AutoRank improvements (disabled in stable builds):&lt;br /&gt;
**Added /editplayerinfo command for easy editing of PlayerDB.&lt;br /&gt;
**Made AutoRank check players in-login (to accelerate promotion).&lt;br /&gt;
**AutoRank now runs on a scheduler.&lt;br /&gt;
**Fixed ConditionPreviousRank crash for played with default rank.&lt;br /&gt;
**Fixed banned players getting promoted by AutoRank.&lt;br /&gt;
**Fixed several serialization/loading issues in AutoRank.&lt;br /&gt;
**New fields added to ConditionIntRange: LastSeen, BlocksDrawn, TimeSinceRankChange, TimeSinceLastKick&lt;br /&gt;
**ConditionRankStatus renamed to ConditionRankChangeType&lt;br /&gt;
&lt;br /&gt;
===0.491===&lt;br /&gt;
&#039;&#039;17 October 2010 - r274&#039;&#039;&lt;br /&gt;
*Feature: Added ability to run multiple parallel IRC bots, to help high-traffic servers deal with IRC lag. This also makes it possible to connect to multiple networks in the future.&lt;br /&gt;
*Feature: Added new block aliases, by popular demand: &amp;quot;emerald&amp;quot;=teal, &amp;quot;fuchsia&amp;quot;=magenta, &amp;quot;cloth&amp;quot;=white, &amp;quot;lightgray&amp;quot;=gray, &amp;quot;lightgrey&amp;quot;=gray, &amp;quot;darkgray&amp;quot;=black, &amp;quot;darkgrey&amp;quot;=black, &amp;quot;brass&amp;quot;=gold&lt;br /&gt;
*Fix: Temporarily disabled 64-bit zlib support while I track down memory leaks. Should fix OutOfMemoryException, I&#039;m very sorry about overlooking that.&lt;br /&gt;
*Fix: Fixed a bug in /info that displayed incorrect &amp;quot;total time on server&amp;quot;.&lt;br /&gt;
*Fix: Per-rank permission checks for /freeze now apply as intended&lt;br /&gt;
*Fix: Fixed several improbable (but not impossible) threading deadlocks/crashes. Thanks to wootalyzer for catching these.&lt;br /&gt;
*Change: Added IRCThreads config key (default: 1, allowed range: 1-3)&lt;br /&gt;
&lt;br /&gt;
===0.490===&lt;br /&gt;
&#039;&#039;14 October 2010 - r264&#039;&#039;&lt;br /&gt;
*Feature: Testing a new map compressor/decompressor: ZLibStream. It should provide 50-200% speed increase, smaller map sizes, lower bandwidth use, and faster map loading.&lt;br /&gt;
*Fix: Fixed /shutdown not waiting the right amount and mixing up seconds/milliseconds.&lt;br /&gt;
*Fix: Fixed &amp;quot;No world found with the name...&amp;quot; showing player&#039;s own name.&lt;br /&gt;
*Fix: Added a fail-safe exception handler to Player.WaitForKick() - a temporary fix.&lt;br /&gt;
*Change: Previous verification salt is now stored, to allow players to validate even right after the server restarts.&lt;br /&gt;
*Change: Restructured SVN. Stable code is now always in /trunk/&lt;br /&gt;
&lt;br /&gt;
===0.487===&lt;br /&gt;
&#039;&#039;12 October 2010 - r255&#039;&#039;&lt;br /&gt;
*Feature: Added contextual help (tooltips) for all of ConfigTool. Help for &amp;quot;Add World&amp;quot; popup is coming in next version.&lt;br /&gt;
*Feature: Added rank limits for Freeze permission&lt;br /&gt;
*Fix: Fixed /mute being unusable from console.&lt;br /&gt;
*Change: Removed ViewOthersInfo requirement from /sinfo&lt;br /&gt;
*Change: Added ViewOthersInfo requirement to /where&lt;br /&gt;
*Change: Improvements to IRC tab layout in ConfigTool.&lt;br /&gt;
&lt;br /&gt;
===0.486===&lt;br /&gt;
&#039;&#039;11 October 2010 - r250&#039;&#039;&lt;br /&gt;
*Quick fix for IRC Bot bug that made server unconnectable.&lt;br /&gt;
&lt;br /&gt;
===0.485===&lt;br /&gt;
&#039;&#039;11 October 2010 - r249&#039;&#039;&lt;br /&gt;
*Feature: Added optional &amp;quot;delay&amp;quot; parameter to /shutdown (default: 5)&lt;br /&gt;
*Feature: World names can now be autocompleted for many commands (like /join and /lock)&lt;br /&gt;
*Fix: Fixed /unhide failing to reveal the player in certain situations.&lt;br /&gt;
*Fix: Fixed /setspawn being usable on players from other worlds.&lt;br /&gt;
*Fix: Fixed player names appearing white for all players.&lt;br /&gt;
*Fix: Fixed a recursion loop in NoWorldMessage()&lt;br /&gt;
*Fix: Fixed help entries for /setspawn and /shutdown&lt;br /&gt;
*Fix: Fixed potential crash in Server.Shutdown() if called after failed initialization/startup.&lt;br /&gt;
*Fix: Fixed potential deadlock/freeze in fCraftUI on shutdown.&lt;br /&gt;
*Change: Improved crash reporting for TargetInvokationException and TypeInitializerException errors.&lt;br /&gt;
*Change: All assemblies are now once again x86/x86_64/IA64 compatible.&lt;br /&gt;
*Change: Server.OnPlayerConnected event now supports cancellation.&lt;br /&gt;
&lt;br /&gt;
===0.484===&lt;br /&gt;
&#039;&#039;10 October 2010 - r245&#039;&#039;&lt;br /&gt;
*Feature: Added a way for IRC bot to use registered nicknames.&lt;br /&gt;
*Feature: /banall-related kicks are now announced in chat.&lt;br /&gt;
*Feature: /setspawn now actually changes player&#039;s spawn. Also, an optional PlayerName param allows temporarily changing other players&#039; spawn point.&lt;br /&gt;
*Feature: Several improvements to /info. Info now shows whether player&#039;s nick or IP was banned, and hides undefined information for players who haven&#039;t ever logged in.&lt;br /&gt;
*Fix: Fixed crash in ConfigTool if announcements were disabled.&lt;br /&gt;
*Fix: Fixed /banall not matching IPs properly, and not counting kicks towards PlayerInfo.&lt;br /&gt;
*Fix: Fixed ConfigUI not shutting down properly if Server.Init() or Server.Start() failed.&lt;br /&gt;
*Fix: Fixed Config.LoadLogOptions() always leaving Debug enabled.&lt;br /&gt;
*Fix: Added Process.GetCurrentProcess().Refresh() to ServerInfo to improve accuracy of /sinfo stat reporting.&lt;br /&gt;
*Fix: Improved /wsave and /wload path handling on non-Windows platforms.&lt;br /&gt;
*Fix: Replaced some potentially unsafe string concatenation in Player.Message() with proper formatting.&lt;br /&gt;
*Fix: Attempting a workaround for Mono memory leak in World.UnloadMap&lt;br /&gt;
*Fix: Fixed ranks from pre-0.480 configs being loaded in wrong order. Sorry!&lt;br /&gt;
*Change: Added a brief delay before reconnecting IRC bot after getting kicked from a channel. &lt;br /&gt;
*Change: PlayerDB is now saved every 60 seconds (instead of every 30).&lt;br /&gt;
*Change: Removed unused IRCBotQuitMsg config key, and added IRCRegisteredNick, IRCNickServ, and IRCNickServMessage keys.&lt;br /&gt;
*Change: Added a popup with crash information to ConfigTool.&lt;br /&gt;
*Change: Made announcements disabled by default.&lt;br /&gt;
&lt;br /&gt;
===0.483===&lt;br /&gt;
&#039;&#039;8 October 2010 - r242&#039;&#039;&lt;br /&gt;
*Feature: Myne/MyneCraft/Hyvebuild/iCraft maps can now be loaded from ConfigTool&#039;s &amp;quot;Add World&amp;quot; dialog.&lt;br /&gt;
*Fix: Fixed incorrect range checks for AnnouncementInterval and SaveInterval config keys (thanks to Shcaap for reporting).&lt;br /&gt;
*Fix: Fixed /hide showing a slightly different &amp;quot;player left&amp;quot; message compared to normal disconnect (thanks to Silverrock for reporting).&lt;br /&gt;
*Change: Added MC#-style &amp;quot;/z&amp;quot; alias for cuboid, by popular demand.&lt;br /&gt;
*Change: Hidden players can now receive PMs. The sender still gets the &amp;quot;No player found&amp;quot; message, but PMs are actually sent.&lt;br /&gt;
&lt;br /&gt;
===0.482===&lt;br /&gt;
&#039;&#039;7 October 2010 - r241&#039;&#039;&lt;br /&gt;
*Feature: Added new command aliases: &amp;quot;f&amp;quot; for &amp;quot;freeze&amp;quot;, and &amp;quot;pat&amp;quot; for &amp;quot;patrol&amp;quot;.&lt;br /&gt;
*Fix: Fixed typos in mute-related messages.&lt;br /&gt;
*Fix: Added missing triggers for OnPlayerListChanged event.&lt;br /&gt;
*Fix: Fixed /reloadconfig not changing several variables (like colors).&lt;br /&gt;
*Fix: Fixed antigrief defaulting to 35/5 (instead of unmetered).&lt;br /&gt;
*Fix: Fixed heartbeat counting hidden players.&lt;br /&gt;
*Fix: Fixed a rare ObjectDisposedException crash on shutdown when running fCraftUI.&lt;br /&gt;
*Change: Added a more informative disconnect message to players connecting with Alpha client.&lt;br /&gt;
*Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.&lt;br /&gt;
*Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.&lt;br /&gt;
&lt;br /&gt;
===0.481===&lt;br /&gt;
&#039;&#039;2 October 2010 - r237&#039;&#039;&lt;br /&gt;
*Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).&lt;br /&gt;
*Fixed a few more references to &amp;quot;player class&amp;quot; terminology instead of &amp;quot;rank&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.480===&lt;br /&gt;
&#039;&#039;2 October 2010 - r236&#039;&#039;&lt;br /&gt;
*Feature: Changed all &amp;quot;player classes&amp;quot; terminology to &amp;quot;ranks&amp;quot; for consistency with other servers. Several commands have been renamed to reflect that: /classes to /ranks, /user to /rank, /class to /rankinfo. All rank-related messages have also been updated.&lt;br /&gt;
*Feature: Added &amp;quot;Raise&amp;quot;/&amp;quot;Lower&amp;quot; buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a &amp;quot;rank&amp;quot; number to reorder ranks.&lt;br /&gt;
*Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.&lt;br /&gt;
*Fix: Improved fCraftUI responsiveness on-startup.&lt;br /&gt;
*Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.&lt;br /&gt;
*Fix: /wremove now always saves the map before unloading.&lt;br /&gt;
*Fix: Fixed Console being affected by chat spam/flood checks.&lt;br /&gt;
*Fix: Fixed /zinfo not showing any separators between player names.&lt;br /&gt;
*Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.&lt;br /&gt;
*Fix: Fixed Security and IRC tabs not being reset by &amp;quot;Reset All Defaults&amp;quot;&lt;br /&gt;
*Fix: Fixed bugged error messages in /tp and /bring when world access permission check fails.&lt;br /&gt;
*Fix: If any class limits were set to default/&amp;quot;(own class)&amp;quot;, the setting is now preserved.&lt;br /&gt;
*Fix: Fixed a bug that didn&#039;t reset Hide limit if it was set to a deleted rank.&lt;br /&gt;
*Change: Removed legacy zone loading code for pre-0.420 maps (due to changes in rank definition format).&lt;br /&gt;
*Change: Added a more informative disconnect message for players trying to connect with Minecraft Alpha clients.&lt;br /&gt;
*Change: Improved rank-based coloring in world list to check both access and build permissions.&lt;br /&gt;
*Change: Added &amp;quot;/fetch&amp;quot; as alias for /bring, and renamed &amp;quot;/save&amp;quot; to &amp;quot;/wsave&amp;quot;.&lt;br /&gt;
*Change: Deleted some obsolete/disabled controls from ConfigTool, removed PingInterval config key, and removed placeholder ControlPhysics and AddLandmarks permissions.&lt;br /&gt;
*Change: Made several changes to improve disconnect detection:&lt;br /&gt;
**Added occasional pings (every 5 seconds or so, depending on activity/inactivity).&lt;br /&gt;
**Reduced socket send/receive timeout from 12 to 10 seconds.&lt;br /&gt;
**Increased socket polling interval to improve performance.&lt;br /&gt;
*Change: If a player tries to connect to a server twice, the FIRST connection is dropped instead of the LAST connection.&lt;br /&gt;
*Refactor: Major changes were made to the way ranks are stored, and to RankList (formerly ClassList) API.&lt;br /&gt;
*Optimization: Made IsoCat rendering faster, and made draw commands use less CPU.&lt;br /&gt;
&lt;br /&gt;
===0.475===&lt;br /&gt;
&#039;&#039;17 September 2010 - r229&#039;&#039;&lt;br /&gt;
*Feature: /ztest now distinguishes between being allowed/denied by rank/class vs by whitelist/blacklist.&lt;br /&gt;
*Fix: Fixed being unable to change rank/class restrictions with /zedit&lt;br /&gt;
*Fix: Fixed a bug that reported wrong average CPU usage&lt;br /&gt;
*Fix: Fixed a crash on saving in ConfigTool, related to new PatrolledClass config key.&lt;br /&gt;
&lt;br /&gt;
===0.474===&lt;br /&gt;
&#039;&#039;16 September 2010 - r228&#039;&#039;&lt;br /&gt;
*Feature: &amp;quot;/mute&amp;quot; command to temporarily stop players from chatting. A new class permission (Mute) is added, granted to op+ by default.&lt;br /&gt;
*Feature: &amp;quot;/shutdown&amp;quot; command to gracefully shutdown the server remotely. A new class permission (ShutdownServer) is added, granted to owner by default.&lt;br /&gt;
*Feature: Added CPU usage information and loaded world count to /sinfo.&lt;br /&gt;
*Fix: Added a way to edit &amp;quot;PatrolledClass&amp;quot; from ConfigTool.&lt;br /&gt;
*Fix: Fixed zone whitelist/blacklist not updated correctly when edited.&lt;br /&gt;
*Fix: Made teleporting to spawn (with /spawn or /tp, no parameters) accessible to all classes.&lt;br /&gt;
*Fix: Adjusted for Notch&#039;s errors in handling player positions in teleport packets. Slightly improves accuracy of /tp, /bring, initial spawning, /patrol, frozen players, and speedhack detection.&lt;br /&gt;
*Fix: Removed &amp;quot;/tp&amp;quot; bounds check when used with typed-in coordinates numbers.&lt;br /&gt;
*Fix: Fixed an extremely unlikely case of PlayerDB/IPBanList overwriting on shutdown if server initialization failed.&lt;br /&gt;
*Fix: Made &amp;quot;server shutting down&amp;quot; packets deliver more reliably (but still not guaranteed).&lt;br /&gt;
*Fix: Fixed Console possibly not seeing hidden players.&lt;br /&gt;
*Change: Added a basic file check to AutoLauncher&lt;br /&gt;
*Change: Added error logging and crash reporting to Server.Shutdown&lt;br /&gt;
*API: Renamed Server.ShutdownStart to Server.ShutdownBegin (for consistency).&lt;br /&gt;
&lt;br /&gt;
===0.473===&lt;br /&gt;
&#039;&#039;15 September 2010 - r227&#039;&#039;&lt;br /&gt;
*Feature: Added zone coordinates to /zinfo&lt;br /&gt;
*Fix: Fixed cross-world /tp teleporting the wrong player.&lt;br /&gt;
*Fix: Fixed odd date formatting in /zinfo&lt;br /&gt;
&lt;br /&gt;
===0.472===&lt;br /&gt;
&#039;&#039;15 September 2010 - r226&#039;&#039;&lt;br /&gt;
*Feature: Added /cut command&lt;br /&gt;
*Feature: Added a new /patrol command. It allows cycling through low-ranked players on a map (with teleportation). The order is determined by how long it&#039;s been since someone checked on a player. A &amp;quot;Patrol&amp;quot; permission and &amp;quot;PatrolledClass&amp;quot; config key were added.&lt;br /&gt;
*Feature: Added a shorthand notation to /zone for making personal zones: &amp;quot;/zone +PlayerName&amp;quot; creates a zone named after the player, with rank limit just above player&#039;s, and with player whitelisted.&lt;br /&gt;
*Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.&lt;br /&gt;
*Fix: Fixed server always binding to IPAddress.Any regardless of config settings.&lt;br /&gt;
*Fix: TP/Bring no longer allow teleporting to hidden players on other worlds.&lt;br /&gt;
*Fix: Server.GetPlayerList(string) now stops searching the list when it finds an exact match.&lt;br /&gt;
*Fix: Fixed client-crash in /zedit when changing class.&lt;br /&gt;
*Fix: Fixed possible corruption of edited zones upon map saving.&lt;br /&gt;
*Fix: Fixed a range of improbable synchronization issues in the way Zone whitelist/blacklist is updated. As a fortunate side-effect, significantly reduced Zone.CanBuild() overhead.&lt;br /&gt;
*Fix: Temporarily added mainThread.Abort() to Server.Shutdown() that&#039;s kicked in if mainThread does not stop within 5s of being notified of shutdown. I am investigating the real cause of the hang.&lt;br /&gt;
*Fix: Fixed hidden players being revealed by promotion/demotion.&lt;br /&gt;
*Change: Added less threatening error messages to IRC bot on network errors (SocketException and IOException).&lt;br /&gt;
*Change: Disabled movement handling code while changing maps.&lt;br /&gt;
*Refactor: Merged StandardCommands and ImportCommands into AdminCommands&lt;br /&gt;
&lt;br /&gt;
===0.471===&lt;br /&gt;
&#039;&#039;14 September 2010 - r224&#039;&#039;&lt;br /&gt;
*Feature: Added ability to specify the server&#039;s IP (to bind to) manually, for machines with multiple NICs. A new config key &amp;quot;IP&amp;quot; (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.&lt;br /&gt;
*Fix: Fixed a bug with player ghosts being left behind when switching worlds.&lt;br /&gt;
*Fix: Fixed a case with kicked players&#039; connections not being terminated at once (thanks to wootalyzer).&lt;br /&gt;
*Fix: Fixed several bugs in hide/unhide functionality.&lt;br /&gt;
*Fix: Fixed a rare crash in AddWorldPopup related to missing maps for existing worlds.&lt;br /&gt;
*Fix: AddWorldPopup will no longer allow adding a world with a duplicate name.&lt;br /&gt;
*Fix: Capped maximum players at the newly-discovered protocol limit of 128 (thanks to wootalyzer).&lt;br /&gt;
*Change: ConfigTool fields now provide better feedback if validation fails.&lt;br /&gt;
*Change: Changed heartbeat interval to 40 seconds (down from 50).&lt;br /&gt;
*Change: Added a special error handler for rare/impossible case of mainWorld not being joinable.&lt;br /&gt;
*Change: Made fatal error messages in fCraftConsole print in red. Better color support coming soon.&lt;br /&gt;
&lt;br /&gt;
===0.470===&lt;br /&gt;
&#039;&#039;13 September 2010 - r223&#039;&#039;&lt;br /&gt;
*Feature: Personal zones - per-zone whitelist and blacklist of individual players. The lists can now be defined with /zadd and edited with /zedit.&lt;br /&gt;
*Feature: Added cave/ore generator from Omen (BETA).&lt;br /&gt;
*Feature: Added &amp;quot;/maps&amp;quot; and &amp;quot;/levels&amp;quot; as aliases for &amp;quot;/worlds&amp;quot;.&lt;br /&gt;
*Feature: Added a way to limit the &amp;quot;Hide&amp;quot; permission per-class. Now you can specify whom can a class hide from.&lt;br /&gt;
*Feature: Zones now remember date/time of creation and last edit, and names of original creator and last editor.&lt;br /&gt;
*Fix: Unauthorized players can no longer PM or use bring/freeze/unfreeze/kick/tp/where on hidden players. They get the standard &amp;quot;player not found&amp;quot; message.&lt;br /&gt;
*Fix: Fixed hidden players being counter towards /players total.&lt;br /&gt;
*Fix: Fixed a potential crash in /wflush when using on unloaded maps.&lt;br /&gt;
*Fix: Doing /banip or /banall on unrecognized players no longer ip-bans 255.255.255.255. Old IPBanList entries relating to 255.255.255.255 will be automatically discarded.&lt;br /&gt;
*Fix: Fixed /replace command uses not being logged.&lt;br /&gt;
*Fix: Fixed /worlds command not showing world count.&lt;br /&gt;
*Fix: Fixed a client-disconnect when trying to unban a player who is not in the database.&lt;br /&gt;
*Fix: Fixed &amp;quot;/join PlayerName&amp;quot; not translating to &amp;quot;/tp PlayerName&amp;quot; correctly.&lt;br /&gt;
*Fix: Fixed a very unlikely client-disconnect in ChangeClass if the entered class name contains curved braces.&lt;br /&gt;
*Change: Changed default name for &amp;quot;/flip&amp;quot; command to &amp;quot;/mirror&amp;quot;, and fixed command&#039;s help. Either term still works.&lt;br /&gt;
*Change: Added more block name aliases:&lt;br /&gt;
**Air: delete, erase&lt;br /&gt;
**Stone: cement, concrete&lt;br /&gt;
**Grass: gras (common typo)&lt;br /&gt;
**Obsidian: onyx&lt;br /&gt;
*Change: Improved formatting of /players, /worlds, and draw command messages.&lt;br /&gt;
&lt;br /&gt;
===0.463===&lt;br /&gt;
&#039;&#039;9 September 2010 - r218&#039;&#039;&lt;br /&gt;
*Fix: Fixed special colors showing up even if ClassColorsInChat is disabled.&lt;br /&gt;
*Fix: Fixed potential client-crash in World.SendToAll(), and related client-crash in lock/unlock.&lt;br /&gt;
&lt;br /&gt;
===0.462===&lt;br /&gt;
&#039;&#039;8 September 2010 - r217&#039;&#039;&lt;br /&gt;
*Fix: The &amp;quot;OK&amp;quot; button in AddWorldPopup no longer stays grayed out.&lt;br /&gt;
*Fix: Fixed &amp;quot;Error occured while loading&amp;quot; in the file information dialog for non-FCM files.&lt;br /&gt;
*Fix: Fixed a crash in /bring when used without any parameters.&lt;br /&gt;
*Fix: Fixed Server.UrlEncode not escaping 0x00-0x0F characters properly.&lt;br /&gt;
*Change: Slightly reduced default tree density in MapGenerator.&lt;br /&gt;
&lt;br /&gt;
===0.461===&lt;br /&gt;
&#039;&#039;8 September 2010 - r216&#039;&#039;&lt;br /&gt;
*Feature: New EXPERIMENTAL &amp;quot;/reloadconfig&amp;quot; command, and associated ReloadConfig permission. Use with caution!&lt;br /&gt;
*Fix: Fixed a case where AddWorldPopup would allow clicking &amp;quot;OK&amp;quot; with a null map.&lt;br /&gt;
*Fix: Fixed player crash if /freeze or /unfreeze is used without arguments.&lt;br /&gt;
*Fix: Fixed player crash on FormatException in /zones and Server.ShowPlayerConnectedMessage.&lt;br /&gt;
*Fix: Fixed potential player crash if LimitOneConnectionPerIP is enabled.&lt;br /&gt;
&lt;br /&gt;
===0.460===&lt;br /&gt;
&#039;&#039;8 September 2010 - r214&#039;&#039;&lt;br /&gt;
*Feature: Added ShowPlayerConnectedMessage and ClassColorsInWorldNames settings to config.&lt;br /&gt;
*Feature: Added /measure command.&lt;br /&gt;
*Feature: Class colors and prefixes are now applied consistently EVERYWHERE.&lt;br /&gt;
*Feature: Banned players now see their ban reason/memo when they get kicked.&lt;br /&gt;
*Feature: A special error message is shown to players trying to connect with Alpha/SMP client.&lt;br /&gt;
*Feature: IsoCat (ConfigTool isometric preview) rendering quality improved: better shadows and slight altitude-based gradient.&lt;br /&gt;
*Feature: Added new blocktype name aliases: &amp;quot;solid&amp;quot;, &amp;quot;golden&amp;quot;, &amp;quot;halfstep&amp;quot;, &amp;quot;halfblock&amp;quot;, &amp;quot;steps&amp;quot;.&lt;br /&gt;
*Feature: Added player count for each class in /classes&lt;br /&gt;
*Fix: Fixed wrong &amp;quot;MaxBackupsSize&amp;quot; range in ConfigTool.&lt;br /&gt;
*Fix: MaxBackupsSize setting is now applied correctly.&lt;br /&gt;
*Fix: IRC color codes are now stripped from forwarded messages.&lt;br /&gt;
*Fix: IRC bot now uses ServerName for &amp;quot;real name&amp;quot;.&lt;br /&gt;
*Fix: Formatting improved in many error messages.&lt;br /&gt;
*Fix: Commas in ban/unban/promote/demote reasons no longer cause problems with PlayerDB.&lt;br /&gt;
*Fix: Removed extra comma from /worlds list that showed in place of hidden/inaccessible worlds.&lt;br /&gt;
*Change: Added 5-second delay between retries in AutoLauncher&lt;br /&gt;
*Change: &amp;quot;Player connected&amp;quot; message condensed to a single line by absorbing &amp;quot;joined world&amp;quot; message.&lt;br /&gt;
*Change: Removed ChangeName permission (and the ability to change names) due to possibility of abuse and confusion. Related /nick and /whois commands were also removed.&lt;br /&gt;
*Change: /tp can now fall back to behave like /join if player name is not found (for all those times when you mistype /tp instead of /join). Conversely, /join falls back to /tp if player was not found.&lt;br /&gt;
*Optimization: Reduced bandwidth use with an adaptive movement packet skipping algorithm. Should reduced outbound traffic by at least 15%.&lt;br /&gt;
*Optimization: BlockUpdate memory usage slightly reduced.&lt;br /&gt;
&lt;br /&gt;
===0.455===&lt;br /&gt;
&#039;&#039;8 September 2010 - r213&#039;&#039;&lt;br /&gt;
*Feature: AutoLauncher (BETA) allows restarting the fCraftConsole server if it crashed. Although it honestly shouldn&#039;t crash at all!&lt;br /&gt;
*Fix: Allowed renaming worlds in cases where only capitalization is different.&lt;br /&gt;
*Fix: If an ip-banned player has more than one connection, all connections are now terminated.&lt;br /&gt;
*Fix: Fixed nonrectangular MCSharp maps getting messed up by the loader.&lt;br /&gt;
*Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.&lt;br /&gt;
*Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of &amp;quot;no player found&amp;quot; message). Affects PMs, {{cmd|TP}}, {{cmd|Bring}}, {{cmd|Freeze}}, {{cmd|Unfreeze}}, {{cmd|Kick}}.&lt;br /&gt;
*Change: Improved OS detection in crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.454===&lt;br /&gt;
*Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.&lt;br /&gt;
*Fix: Replace no longer behaves same as replacenot.&lt;br /&gt;
*Fix: Spaces in IRC messages are now preserved.&lt;br /&gt;
*Fix: Help entries for paste/pastenot corrected.&lt;br /&gt;
*Fix: /cinfo (without parameters) now shows player&#039;s own class info.&lt;br /&gt;
&lt;br /&gt;
===0.453===&lt;br /&gt;
*Feature: It is now possible to reverse last /undo (by typing /undo again).&lt;br /&gt;
*Change: IRC message colors are applied slightly differently now.&lt;br /&gt;
*Change: Added more automated crash reporting hooks - to MainLoop and Tasks.&lt;br /&gt;
*Change: More help messages improved.&lt;br /&gt;
*Change: Added a more informative message for people running outdated versions of Mono and .Net runtime.&lt;br /&gt;
*Optimization: Slightly reduced memory usage of /undo, /paste, and PlayerDB.Load()&lt;br /&gt;
&lt;br /&gt;
===0.452===&lt;br /&gt;
*Feature: New /replacenot command allows replacing all blocks EXCEPT the specified one.&lt;br /&gt;
*Feature: New /flip and /rotate commands to manipulate copied blocks.&lt;br /&gt;
*Feature: /players list is now in alphabetical order.&lt;br /&gt;
*Fix: Trying to specify an unrecognized block type for draw commands (e.g. &amp;quot;/c ai&amp;quot; instead of &amp;quot;/c air&amp;quot;) now shows a proper error message.&lt;br /&gt;
*Fix: Fixed /gen command crashing players if coordinates are typed in before theme/template.&lt;br /&gt;
*Fix: Fixed /e ellipsoids coming out crooked.&lt;br /&gt;
*Fix: &amp;quot;joined for the first time&amp;quot; messages are now shown correctly.&lt;br /&gt;
*Fix: Fixed /replace not working correctly with /undo&lt;br /&gt;
*Fix: Made IRC bot strip nonprintable characters from messages, and ignore empty messages.&lt;br /&gt;
*Fix: World permissions are no longer reset when doing /wload. Also a permission reminder is now shown when creating new worlds.&lt;br /&gt;
*Change: Improved some help messages.&lt;br /&gt;
*Change: Improved IRC error reporting.&lt;br /&gt;
*Change: Added world name back to &amp;quot;Almost there...&amp;quot; join screen.&lt;br /&gt;
*Change: /pasteonly is now called /paste, and /paste is now called /pastenot (for consistency with other custom servers)&lt;br /&gt;
*Optimization: Slightly reduced memory usage of massive drawing commands (over undo limit).&lt;br /&gt;
&lt;br /&gt;
===0.451===&lt;br /&gt;
*Feature: Improved the way fCraft handles fatal errors (crashes). Crash logs are now created more reliably.&lt;br /&gt;
*Feature: Added automated crash reporting to fragmer.net (opt-out).&lt;br /&gt;
*Feature: Added an announcement for players logging in from IPs associated with other previously-banned players.&lt;br /&gt;
*Fix: Curved braces - &amp;quot;{}&amp;quot; - in server name no longer cause problems.&lt;br /&gt;
*Fix: &amp;quot;Leaving the map&amp;quot; kick disabled temporarily, will be made configurable per-class soon.&lt;br /&gt;
*Fix: banall/unbanall commands produce less chat spam.&lt;br /&gt;
*Fix: AFK kicks no longer count towards /info number-of-times-kicked.&lt;br /&gt;
*Change: Added class colors to /info, and fixed formatting bug.&lt;br /&gt;
*Change: Cleaned up &amp;quot;Advanced&amp;quot; tab in ConfigTool.&lt;br /&gt;
**Removed obsolete config keys: PolicyColorCodesInChat, PolicyIllegalCharacters, and RunOnStartup&lt;br /&gt;
**Added SubmitCrashReports and IRCDelay config keys.&lt;br /&gt;
&lt;br /&gt;
===0.450===&lt;br /&gt;
&#039;&#039;26 August 2010&#039;&#039;&lt;br /&gt;
*Feature: IRC bot rewritten for better performance, flexibility, and safety.&lt;br /&gt;
*Feature: New IRC options: IRCBotAnnounceIRCJoins and IRCBotAnnounceServerJoins.&lt;br /&gt;
*Fix: Fixed messages containing only a single slash (&#039;/&#039;) crashing client thread.&lt;br /&gt;
*Change: Removed obsolete IRCBotMsgs config key.&lt;br /&gt;
*Change: Added OnPlayerSentMessage event to Server.&lt;br /&gt;
*Change: IRC bot&#039;s commands (e.g. !status) are temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
===0.445===&lt;br /&gt;
&#039;&#039;25 August 2010&#039;&#039;&lt;br /&gt;
*IMPORTANT! Please update ASAP, a security issue was identified in previous version.&lt;br /&gt;
*Fix: If you need to start message with a slash, you can now escape the slash (type &amp;quot;//&amp;quot;)&lt;br /&gt;
*Fix: Fixed endless update loop (if automatic updates were enabled)&lt;br /&gt;
*Fix: Private messages with a space between &#039;@&#039; and the player name now work.&lt;br /&gt;
*Fix: Hacking-related kicks are not announced globally.&lt;br /&gt;
*Fix: Fixed &amp;quot;/help&amp;quot; giving wrong message if help entry was not found.&lt;br /&gt;
*Change: Minor changes in MapGenerator/Noise&lt;br /&gt;
&lt;br /&gt;
===0.444===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*Feature: New stat command, /sinfo (server info).&lt;br /&gt;
*Fix: Ban reason/memo now shown for normal bans.&lt;br /&gt;
*Fix: /cinfo for unlimited classes no longer shows &amp;quot;draw limit: 0&amp;quot;&lt;br /&gt;
*Fix: Fixed IRC message colors, and removed IRC color codes from log.&lt;br /&gt;
&lt;br /&gt;
===0.443===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New {{cmd|WFlush}} command. It allows finishing all in-progress draw commands at maximum speed (over 100k blocks/second) then forces a map rejoin.&lt;br /&gt;
*Feature: Added more customization options for colors: PrivateMessageColor and IRCMessageColor in Config.&lt;br /&gt;
*Feature: {{cmd|Players}} list is now sorted alphabetically.&lt;br /&gt;
*Feature: Added &amp;quot;Check Port&amp;quot; button to ConfigTool to see if port is open. Uses www.utorrent.com/testport&lt;br /&gt;
*Feature: Added &amp;quot;Play&amp;quot; button to fCraftUI to open server URL in the browser&lt;br /&gt;
*Feature: World names in {{cmd|Worlds}} list are now colored according to each world&#039;s build permission. &lt;br /&gt;
*Feature: Added speedhack detection &amp;amp; prevention (BETA) and corresponding Permission.UseSpeedHack. All your classes will be granted this permission by default. Edit the config to customize it.&lt;br /&gt;
*Fix: When using {{cmd|Mark}} outside of map boundaries, draw limits are no longer calculated incorrectly (thanks to Darnest).&lt;br /&gt;
*Fix: Fixed possible crash in Map.CheckZones() on maps created with {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed compilation issue with &amp;quot;tileset.png&amp;quot; on case-sensitive filesystems.&lt;br /&gt;
*Fix: Fixed class-wide messages not wrapping correctly.&lt;br /&gt;
*Optimization: antigrief and antispam checking overhead reduced.&lt;br /&gt;
&lt;br /&gt;
===0.442===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Fix: Addresses a security issue.&lt;br /&gt;
*Fix: &amp;quot;OK&amp;quot; button in AddWorldPopup is now always disabled if no map is set.&lt;br /&gt;
*Fix: &amp;quot;Feature size&amp;quot; label is now updater correctly when map dimensions are changed.&lt;br /&gt;
*Fix: Added missing player notifications for {{cmd|Undo}} and {{cmd|Cancel}} commands.&lt;br /&gt;
*Change: MapGenerator&#039;s default map size changed to 128x128x80&lt;br /&gt;
&lt;br /&gt;
===0.441===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added cuboid limits to /cinfo&lt;br /&gt;
*Fix: Fixed a bug in BoundingBox that made /paste and zones behave incorrectly&lt;br /&gt;
*Fix: Fixed ban/unban commands not kicking the player if entered name capitalization did not match actual capitalization&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; being broken when using {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed {{cmd|Ban}} rank checks affecting {{cmd|Unban}}&lt;br /&gt;
*Change: Optimized zone permission checks&lt;br /&gt;
&lt;br /&gt;
===0.440===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New MapGenerator with tons of options. You can also save/load custom templates for it.&lt;br /&gt;
*FEATURE: AddWorldPopup interface overhaul.&lt;br /&gt;
*FEATURE: JTE, D3, and Myne/Mynecraft/Hyvebuild/iCraft map format converters added.&lt;br /&gt;
*Feature: Improved syntax of the {{cmd|Gen}} command. See &amp;quot;{{cmd|Help|gen}}&amp;quot; for details.&lt;br /&gt;
*Feature: Reason/memo is now shown publicly when someone gets banned, unbanned, or kicked.&lt;br /&gt;
*Feature: Teleport and Bring work across worlds - world permissions still apply.&lt;br /&gt;
*Feature: Added 4 new Config keys: RequireBanReason, RequireClassChangeReason, AnnounceKickAndBanReasons, AnnounceClassChanges. By default &amp;quot;AnnounceKickAndBanReasons&amp;quot; and &amp;quot;AnnounceClassChanges&amp;quot; are enabled.&lt;br /&gt;
*Feature: Added 5 new fields to PlayerDB: previousClass, classChangeReason, timesKicked, timesKickedOthers, timesBannedOthers.&lt;br /&gt;
*Feature: Added a lot of new information to {{cmd|Info}}.&lt;br /&gt;
*Feature: You can now save map preview images (isometric) from AddWorldPopup.&lt;br /&gt;
*Feature: ConfigTool now shows warnings about any errors logged during Config.Load&lt;br /&gt;
*Fix: Yet another workaround for VerifyNames false negatives (thanks to SpaceManiac).&lt;br /&gt;
*Fix: Fixed being able to paste admincrete/water/lava without permission (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Trying to go over class draw limit no longer causes &amp;quot;Another drawing command is in progress&amp;quot; error.&lt;br /&gt;
*Fix: Mcc.MapUtility.TryLoading() and Map.LoadHeaderOnly() now release file handles as soon as possible. This should fix some &amp;quot;file is being used by another process&amp;quot; errors.&lt;br /&gt;
*Fix: Map spawn should be parsed correctly for MCSharp/MCZall maps&lt;br /&gt;
*Fix: If a map doesn&#039;t start with a gzip header, it no longer has a chance to abort the whole load process.&lt;br /&gt;
*Fix: Fixed blocktype names being case-sensitive.&lt;br /&gt;
*Fix: Added a more informative message when idle players are kicked.&lt;br /&gt;
*Fix: Fixed undo buffer not getting cleared when doing paste/pasteonly&lt;br /&gt;
*Fix: Fixed {{cmd|WAccess}} exception kicking players.&lt;br /&gt;
*Fix: 100% Empty maps no longer crash AddWorldPopup with OutOfMemoryException&lt;br /&gt;
*Fix: Fixed &amp;quot;player is already banned&amp;quot; message when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed no public message appearing when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed cuboid/ellipsoid/cuboidh logging blocktype code instead of blocktype name.&lt;br /&gt;
*Fix: Improved the message that&#039;s shown when idle players are kicked.&lt;br /&gt;
*Fix: Documented ability to {{cmd|TP}} to specific coordinates.&lt;br /&gt;
*Fix: AddWorldPopup no longer crashes if user closes &amp;quot;Load Map&amp;quot; dialog before selecting any file.&lt;br /&gt;
*Fix: When drawing affects (in part or in full) a restricted zone, the zone is left untouched, and the rest of draw command finishes (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Fixed crash in AddWorldPopup.AsyncLoad() if map loading failed.&lt;br /&gt;
*Fix: LegacyRankMapping is now parsed correctly&lt;br /&gt;
*Fix: Renaming a class no longer causes &amp;quot;Worlds&amp;quot; tab dropdown menus to go out-of-sync.&lt;br /&gt;
*Change: AddWorldPopup preview image quality improved.&lt;br /&gt;
*Change: Updated to newest version of NBTag library.&lt;br /&gt;
*Change: Frozen players can no longer build/delete.&lt;br /&gt;
*Change: Removed public {{cmd|Undo}} message, added log message instead.&lt;br /&gt;
*Change: Removed AnnounceUnverifiedNames settings.&lt;br /&gt;
*Change: When building/deleting permission is denied, the exact reason is given (instead of a vague &amp;quot;you cannot do that&amp;quot; message) (part of Player.CanPlace overhaul).&lt;br /&gt;
&lt;br /&gt;
===0.435===&lt;br /&gt;
&#039;&#039;12 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Copy}}, {{cmd|Paste}}, and {{cmd|PasteOnly}} commands. Rotation coming soon.&lt;br /&gt;
*Feature: Added {{perm|CopyAndPaste}} permission, granted to op and owner by default.&lt;br /&gt;
*Feature: Added MapGenType.Cliffs - similar to Mountains type, but with cliffs!&lt;br /&gt;
*Fix: Fixed {{cmd|Paint}} command&lt;br /&gt;
*Fix: Fixed {{cmd|BanInfo}} now showing any information if used without parameters.&lt;br /&gt;
*Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.&lt;br /&gt;
&lt;br /&gt;
===0.434===&lt;br /&gt;
*Feature: new /bind command allows mapping any block to any other. Now you can place those unbuildable blocks (water, lava, grass, double-step) in any way you wish. For compatibility, old commands (/water, /solid, /lava, /grass) have been preserved.&lt;br /&gt;
*Change: &amp;quot;step&amp;quot; added as an alias for Stair block. &amp;quot;doublestep&amp;quot; added as an alias for DoubleStair.&lt;br /&gt;
&lt;br /&gt;
===0.433===&lt;br /&gt;
*Feature: /winfo now shows who locked/unlocked the map, and how long ago.&lt;br /&gt;
*Fix: Fixed a error message that showed up when announcements.txt was blank.&lt;br /&gt;
*Fix: Permission check added back to lock/unlock commands.&lt;br /&gt;
*Fix: &amp;quot;mapinfo&amp;quot; added back as alias for /winfo&lt;br /&gt;
*Fix: Fixed locked maps not getting unloaded when all players left&lt;br /&gt;
&lt;br /&gt;
===0.432===&lt;br /&gt;
*Fix: List of worlds printed by /worlds is now sorted alphabetically.&lt;br /&gt;
*Fix: Fixed an obscure half-disconnect bug that left players with id=0 who happened to be on the main world in a semi-disconnected state IF someone else was kicked halfway through the login process before it was assigned an id.&lt;br /&gt;
&lt;br /&gt;
===0.431===&lt;br /&gt;
*Fix: Fixed still messed-up /worlds command.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.430===&lt;br /&gt;
*Fix: Fixed messed-up /worlds command. Sorry about that.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.429===&lt;br /&gt;
*Feature: Command-handler infrastructure has been redesigned. This will allow much more flexibility for devs and plugin makers later.&lt;br /&gt;
*Feature: &amp;quot;/help commands&amp;quot; now only shows available commands by default. Type &amp;quot;/help commands all&amp;quot; to see all commands.&lt;br /&gt;
*Feature: /worlds command now only available worlds by default. Type &amp;quot;/worlds all&amp;quot; to include worlds inaccessible to you.&lt;br /&gt;
*Feature: Help entries added for /zedit, /mark, /version, /rules, and /say.&lt;br /&gt;
*Feature: ConfigTool World tab columns are now sortable.&lt;br /&gt;
*Fix: Fixed &amp;quot;max backups&amp;quot; in ConfigTool being limited to 100. Now it&#039;s at a more reasonable limit of 100000.&lt;br /&gt;
*Fix: Fixed Map.Backup() deleting the newest (instead of the oldest) backup if the total number of files was limited.&lt;br /&gt;
*Fix: Fixed an ERROR that popped up if a player got disconnected during the login process (while player=null).&lt;br /&gt;
*Fix: FormatException crash fixed that caused whole server to go down instead of a player thread.&lt;br /&gt;
*Fix: Several draw-related bugs and crashes fixed.&lt;br /&gt;
*Fix: Fixed crash in /winfo when used on unloaded worlds.&lt;br /&gt;
*Fix: Fixed a bug in Config that caused antigrief to be re-enabled every load.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool that didn&#039;t update AntiGriefSeconds properly when changing between classes.&lt;br /&gt;
*Change: Many /help entries have been improved.&lt;br /&gt;
*Change: Split /class command into two: /classes (aka /ranks) shows a list of classes, and /class (aka /cinfo or /classinfo) shows permission list (missed from last release notes).&lt;br /&gt;
*Change: Added /spawn as an alias for /tp (missed from last release notes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.428===&lt;br /&gt;
*Feature: Line wrapping. Yes, finally.&lt;br /&gt;
*Feature: Per-class draw limits. Defaults are: owner unlimited, op unlimited, regular 4096 (16x16x16), guest 512 (8*8*8)&lt;br /&gt;
*Feature: Per-class antigrief detection. Defaults are: owner unmetered, op umetered, regular 45/6 (7.5 blocks/second), guest 35/5 (7 blocks/second)&lt;br /&gt;
*Feature: Memory usage of draw commands has been reduced by 6 bytes per block (37% improvement).&lt;br /&gt;
*Fix: Extra color codes fixed in /players command.&lt;br /&gt;
*Fix: Fixed a bug with /undo that caused more than one command to be undone at once.&lt;br /&gt;
*Fix: Fixed maps generated with &amp;quot;Realistic terrain&amp;quot; (MapGenerator) having an empty layer at the bottom of the map.&lt;br /&gt;
*Change: Default classes have been tweaked:&lt;br /&gt;
**regular can now use draw commands&lt;br /&gt;
**op can now lock/unlock&lt;br /&gt;
*Change: Improved arrangement of Permission list items.&lt;br /&gt;
*Change: Removed obsolete ConfigKey variables AntigriefBlockCount and AntigriefBlockInterval&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.427===&lt;br /&gt;
*Feature: Added /zedit command for changing zone permissions after creation&lt;br /&gt;
*Feature: New aliases for drawing commands: /c /e /h /r /m&lt;br /&gt;
*Fix: Fix for cuboid command kicking players with &amp;quot;Block.Undefined&amp;quot; if called with no optional BlockType parameter&lt;br /&gt;
*Fix: Fixed zone definitions getting corrupted.&lt;br /&gt;
*Fix: Allowed /save command to be used from console and from remote worlds. Previously you had to join the world to save it.&lt;br /&gt;
*Fix: Fixed potential crash in /winfo when looking up unloaded worlds.&lt;br /&gt;
*Fix: Fixed /zone allowing duplicate names, then kicking the client.&lt;br /&gt;
*Fix: Fixed /ztest showing the standard &amp;quot;you are not allowed to build in this zone&amp;quot; message instead of the expected zone list.&lt;br /&gt;
*Fix: Fixed incorrect description of draw log messages, and backup error messages&lt;br /&gt;
*Fix: Fixed false triggering of &amp;quot;Player asked to be released from its world, but the world did not contain the player&amp;quot; error&lt;br /&gt;
*Change: Fruitified fragmer&#039;s name &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.426===&lt;br /&gt;
*Feature: Announcements! You can define a list of announcements to show periodically. A random line from announcements.txt will be shown to all players at specified interval (in minutes).&lt;br /&gt;
*Feature: /replace command.&lt;br /&gt;
*Feature: /undo command has been improved for more flexibility and better performance.&lt;br /&gt;
*Feature: /winfo (alias: /mapinfo) is added for displaying world name, player count, map dimensions, and access/build permissions.&lt;br /&gt;
*Fix: Fixed a bug that caused duplicate entries to be added to PlayerDB when doing /importranks or /importbans.&lt;br /&gt;
*Change: New ConfigKeys: AnnouncementColor (default: green) and AnnouncementInterval (default: 5 minutes).&lt;br /&gt;
*Change: Draw command stride increased to 16x16x16, for better theoretical performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.425===&lt;br /&gt;
*Feature: Added hollow draw command (/cubh) and aliases (/cuboidh and /bhb)&lt;br /&gt;
*Feature: /players now shows class colors and a total number of players. Breakdown of /players by world is coming soon&lt;br /&gt;
*Feature: Added &amp;quot;Joined world WorldName&amp;quot; message that shows when changing worlds&lt;br /&gt;
*Fix: Improved several /help entries&lt;br /&gt;
*Fix: Fixed a bug in Map.SaveBackup() that could cause a crash if MaxBackups was set&lt;br /&gt;
*Fix: Fixed a bug in ConfigUI where &amp;quot;Delete World&amp;quot; button could leave the map file behind and/or cause an error&lt;br /&gt;
*Fix: Calling lock/unlock from console without a WorldName now shows a nicer error message&lt;br /&gt;
*Change: Improved safety checks of /join command&lt;br /&gt;
*Change: Added a catch-all exception handler into Server.MainLoop&lt;br /&gt;
*Change: Added exception handlers for EVERY single piece of code that requires file access&lt;br /&gt;
*Change: Added more thread safety in MapCommands.WorldRename that resolves a potential race condition with Map.Save&lt;br /&gt;
*Change: Modified IPBanList to use the standard temp folder (instead of fCraft working path) for its temp files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.424===&lt;br /&gt;
*Fix: Fixed /unhide and normal connection getting different messages&lt;br /&gt;
*Fix: Fixed client crash when viewing /rules if the rule file has blank lines&lt;br /&gt;
*Fix: Worlds with capital letters in the name are joinable again&lt;br /&gt;
*Fix: Potential crash in DoClassChange() if target player is already same rank AND is not currently on the server&lt;br /&gt;
*Change: Moved the command list to /help commands&lt;br /&gt;
*Change: Performance and thread-safety improvements to PlayerDB&lt;br /&gt;
*Change: Disabled some more debugging code to avoid taking up unnecessary resources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.423===&lt;br /&gt;
*Feature: /importbans now also supports &amp;quot;banned-ip.txt&amp;quot;&lt;br /&gt;
*Feature: Logs are now stored in /logs/ folder. Your fCraft.log file will be moved there automatically and renamed to &amp;quot;_OldLog.log&amp;quot;&lt;br /&gt;
*Feature: Log splitting now works by day or by session. Set &amp;quot;LogMode&amp;quot; key in config.xml or see Logging tab in ConfigTool.&lt;br /&gt;
*Feature: All maps are now stored in /maps/ folder. Your map files will be moved automatically first time you start ConfigTool/fCraftConsole/fCraftUI&lt;br /&gt;
*Feature: Reserved slots now work&lt;br /&gt;
*Fix: Fixed a bug in fCraft.Server.LoadWorldListXML that could make all worlds hidden.&lt;br /&gt;
*Fix: &amp;quot;player connected&amp;quot; message shown when someone connects, instead of just &amp;quot;player joined world&amp;quot;&lt;br /&gt;
*Fix: &amp;quot;player left the server&amp;quot; message is not shown if the player got kicked before LoginSequence finished (e.g. if server was full)&lt;br /&gt;
*Fix: Added back IP logging for incoming connections&lt;br /&gt;
*Fix: Fixed ConfigTool-generated maps not having correct spawn point&lt;br /&gt;
*Fix: Fixed /user showing both promote and demote messages at once&lt;br /&gt;
*Fix: Removed references to old &amp;quot;/drawundo&amp;quot; command name in &amp;quot;/undo&amp;quot; messages&lt;br /&gt;
*Fix: Fixed &amp;quot;Unrecognized entry ignored: LegacyRankMapping =&amp;quot; warning&lt;br /&gt;
*Change: Made /importbans and /importranks save PlayerDB at once&lt;br /&gt;
*Change: fCraft now forcibly resets its working directory to the same path where the executable is&lt;br /&gt;
*Change: Removed &amp;quot;delete old file?&amp;quot; prompt when renaming worlds in AddWorldPopup. Now it just does it, to match tabWorlds&#039; DataGridView behavior&lt;br /&gt;
*Change: Added additional error checks to Map.Backup() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.422===&lt;br /&gt;
*Feature: Further improved network performance by introducing nonblocking (lock-free) data structure to packet output buffer&lt;br /&gt;
*Fix: Fixed &amp;quot;world creation failed&amp;quot; error if worlds.xml defined a non-existing world to be main&lt;br /&gt;
*Fix: Added back missing messages when doing /user on offline users&lt;br /&gt;
*Fix: Fixed player name color not being updated when their class changes&lt;br /&gt;
*Fix: Added missing /help entries for /importbans and /importranks&lt;br /&gt;
*Change: Improved help messages for /lock, /unban, /unbanip, /undo, /wload, /wmain, and /wremove&lt;br /&gt;
*Change: Tweaked default values of BlockUpdateThrottling and maxBlockUpdatesPerTick for maximum lag-free performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.421===&lt;br /&gt;
*Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players&lt;br /&gt;
*Feature: Added the ability to ban unseen players&lt;br /&gt;
*Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated &amp;quot;Import&amp;quot; permission was added. See &amp;quot;/help importbans&amp;quot; and &amp;quot;/help importranks&amp;quot; for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.&lt;br /&gt;
*Feature: Improved BlockUpdateQueue performance (faster drawing commands!) by switching to a lock-free data structure&lt;br /&gt;
*Fix: Fixed startup errors not being logged if config.xml has not been parsed yet&lt;br /&gt;
*Fix: Fixed ConfigUI input box not aligning properly when window is resized&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; generated maps being 1 block off vertically&lt;br /&gt;
*Change: Updated PlayerDB and IPBanList to use standard temporary folder (instead of dumping temp files into fCraft directory)&lt;br /&gt;
*Change: Added &amp;quot;logging starts&amp;quot; marker that&#039;s written to console and log on-startup&lt;br /&gt;
*Change: fCraftUI log now displays the last 2000 lines (up from 1000 lines)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.420===&lt;br /&gt;
*Feature: New &amp;quot;Worlds&amp;quot; tab in ConfigTool for managing your world list&lt;br /&gt;
*Feature: Isometric map previews and map generation in ConfigTool&lt;br /&gt;
*Feature: Implemented a class-ID system that allows adding/renaming/deleting classes without breaking compatibility. DeleteClassPopup was added for this&lt;br /&gt;
*Feature: Added LimitOneConnectionPerIP option to config &amp;amp; configtool&lt;br /&gt;
*Feature: Worlds can now be hidden from the /worlds list&lt;br /&gt;
*Feature: Added /whois command for checking if a player is using real name or nickname. BE CAREFUL WITH &amp;quot;ChangeName&amp;quot; PERMISSION!&lt;br /&gt;
*Feature: fCraft now generates crash.txt on unhandled fatal errors&lt;br /&gt;
*Feature: Implemented theme support, and added 2 new terrain types (Coast and River) for MapGenerator. See &amp;quot;/help gen&amp;quot; for details, or use ConfigTool.&lt;br /&gt;
*Feature: Pressing Up/Down keys in fCraftUI will show previously typed commands.&lt;br /&gt;
*Fix: Fixed a bug in /wmain and /wload that sometimes made the server unconnectable after changing map&lt;br /&gt;
*Fix: Limits on the /kick command now apply correctly&lt;br /&gt;
*Fix: Fixed /wbuild and /waccess showing wrong messages&lt;br /&gt;
*Fix: Fixed hidden players unable to build due to grief protection&lt;br /&gt;
*Fix: Added /nick and /whois entries to /help&lt;br /&gt;
*Fix: Removed the ability to call draw commands from console (caused crash)&lt;br /&gt;
*Fix: Fixed /lava checking PlaceWater permission instead of PlaceLava&lt;br /&gt;
*Fix: A debug message about &amp;quot;attempting to unregister an non-existent player&amp;quot; is no longer logged every time VerifyNames fails&lt;br /&gt;
*Fix: When using /where command on other players, correct coordinates are now shown]&lt;br /&gt;
*Fix: Player&#039;s classes are now updated in fCraftUI list when promoted/demoted&lt;br /&gt;
*Fix: PMs are now logged as LogType.PrivateChat (instead of generic LogType.WorldChat)&lt;br /&gt;
*Fix: /hide and /unhide now use Color.Sys instead of hardcoded Color.Yellow&lt;br /&gt;
*Fix: Player&#039;s nicknames (as set by /nick) are applied correctly and preserved when changing worlds&lt;br /&gt;
*Fix: Added missing checks for &amp;quot;Chat&amp;quot; permissions&lt;br /&gt;
*Fix: Color buttons in ConfigTool now show correct background color under Mono&lt;br /&gt;
*Fix: Fixed help entry to /freeze showing incorrect information&lt;br /&gt;
*Fix: Corrected tab order in all ConfigTool forms&lt;br /&gt;
*Change: Added /blb as another alias for /cuboid&lt;br /&gt;
*Change: Removed ReservedSlotBehavior config key&lt;br /&gt;
*Change: Disabled word wrapping in rules.txt editor popup&lt;br /&gt;
*Change: /unhide now resets the player&#039;s nick&lt;br /&gt;
*Change: Both player&#039;s real name and nickname (if any) are now recorded in the log&lt;br /&gt;
*Change: Added a warning to /info when looking up nicknames (instead of real names)&lt;br /&gt;
*Change: Heartbeat salt generation (used to verify names) is now more secure&lt;br /&gt;
*Change: Removed CanPlaceHardenedBlocks from permission list&lt;br /&gt;
*Change: All map generator terrain types have been tweaked for improved appearence&lt;br /&gt;
*Change: Centered all ConfigTool popup windows (AddWorldPopup, ColorPicker, DeleteClassPopup, TextEditorPopup)&lt;br /&gt;
*Change: Hid unneeded icons and buttons from ConfigTool popups&lt;br /&gt;
*Change: Changed the way zones store rank restriction (as part of the compatibility assurance), and added versioning to zone definitions&lt;br /&gt;
*Change: Map.Save() now creates temporary files in the OS-specific temporary folder, not in same folder where fCraft is installed&lt;br /&gt;
*Change: World permissions are now updated automatically when a class is deleted&lt;br /&gt;
*Refactor: Improved consistency in code naming conventions, especially in IRC code&lt;br /&gt;
*Refactor: Improved code organization in many areas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.410===&lt;br /&gt;
*Implemented per-world access and build permissions.&lt;br /&gt;
*Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.&lt;br /&gt;
*New world-related commands:&lt;br /&gt;
**/wmain changes the main world&lt;br /&gt;
**/waccess and /wbuild allow setting per-world permissions&lt;br /&gt;
**/wremove allows deleting worlds&lt;br /&gt;
**/wrename allows renaming worlds without reloading&lt;br /&gt;
**/wload command is significantly improved (see /help wload for more info). The functionality of the old /load command has been merged with /wload. Now /load is an alias for /join, together with /l, /j, and /goto.&lt;br /&gt;
*Removed SaveAndLoad permission - it became redundant with ManageWorlds. Please check your config to ensure that permissions remain consistent.&lt;br /&gt;
*Added new and previously-missing (/lockall, /unlockall, /where, /me, /rules, /setspawn) commands to /help.&lt;br /&gt;
*Disabled verify-names check for localhost (127.0.0.1) when running in Balanced mode.&lt;br /&gt;
*When player is denied access to some command, server now names the specific permission that&#039;s needed.&lt;br /&gt;
*Fixed a potential desync issue when one player rejoins a world, and another joins it simultaneously.&lt;br /&gt;
*Removed /genh command and /compass alias for the /where command.&lt;br /&gt;
*Added a fail-safe exception check when executing console commands. Now the server will stay up even if an exception occurs while executing console command.&lt;br /&gt;
*Improved the way server reacts to fatal errors on startup. Now there is a clear indication that server cannot start.&lt;br /&gt;
*&amp;quot;default map&amp;quot; is now referred to as &amp;quot;main world&amp;quot; for consistency. &lt;br /&gt;
*Improved garbage collection.&lt;br /&gt;
&lt;br /&gt;
===0.405===&lt;br /&gt;
*Added back support for vanilla (server_level.dat) maps.&lt;br /&gt;
*Fixed MCSharp importer leaving nonstandard blocks in the map, causing client crashes. Now all MCSharp-specific blocks are converted to normal types.&lt;br /&gt;
*Fixed visual player list not updating in fCraftUI.&lt;br /&gt;
*Added /players command to list ALL players on the server (in all worlds)&lt;br /&gt;
*Made the BlockType parameter optional for /cuboid and /ellipsoid. Now it takes blocktype of the second click (or last-previously-used-blocktype when using /mark) in the absence of the optional parameter.&lt;br /&gt;
*ConfigTool: Added a new tab for IRC setting.&lt;br /&gt;
*ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.&lt;br /&gt;
*IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.&lt;br /&gt;
*IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot. &lt;br /&gt;
*IRC: Fixed a bug with infinite reconnects on receiving error 433 Nickname already in use.&lt;br /&gt;
*Zones: Changed behavior of overlapping zones:&lt;br /&gt;
**Before: To touch a block, AT LEAST ONE zone has to allow it&lt;br /&gt;
**Now: To touch a block, ALL ZONES have to allow it&lt;br /&gt;
*Zones: Added /ztest command that lists all zones affecting a particular block. It can be used to detect and resolve zone overlaps.&lt;br /&gt;
*Zones: Added proper /help entries for /zone, /zones, /zremove, and /ztest, and contextual help for /zone and /zones.&lt;br /&gt;
*Zones: Made zone commands inaccessible from console (it would cause a crash, since zones are world-specific).&lt;br /&gt;
*Fixed OnPlayerDisconnected and OnPlayerListChanged sometimes firing at the wrong time.&lt;br /&gt;
*Added better error handling to Map.Save() in case the target file is not writable.&lt;br /&gt;
*Updated /help entries for /lock, /unlock, and /load commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.404===&lt;br /&gt;
*Fixed zone borders being off by 1 block.&lt;br /&gt;
*Fixed a rare crash on shutdown.&lt;br /&gt;
*Fixed heartbeat reporting incorrect port number to heartbeat if the port specified in config was not available.&lt;br /&gt;
*Adjusted default class permissions slightly, by popular demand:&lt;br /&gt;
**regulars can now place Water and Lava&lt;br /&gt;
**ops can now use draw commands&lt;br /&gt;
*IRC: Added a config option &#039;IRCMsgs&#039; to toggle join/leave messages on/off. Default is disabled to prevent massive spam.&lt;br /&gt;
*IRC: Fixed a possible crash in IRCComm, related to static initializers.&lt;br /&gt;
*ConfigTool: Fixed many bugs in permission checkbox list.&lt;br /&gt;
*ConfigTool: Added visual editor for rules.txt&lt;br /&gt;
*ConfigTool: Added stub tab for IRC settings (coming soon).&lt;br /&gt;
&lt;br /&gt;
===0.403===&lt;br /&gt;
*Fixed spawnpoint being read incorrectly when using /load.&lt;br /&gt;
*Added a note to ban*/unban* commands that&#039;s shown when player name is not found: &amp;quot;Use the FULL player name for ban/unban commands.&amp;quot;&lt;br /&gt;
*Fixed a thread crash (not server-wide crash) in Session.IoLoop that can be caused by corrupted or malicious handshake packets.&lt;br /&gt;
*Fixed a potential crash when using /info on offline players from console.&lt;br /&gt;
*Fixed a potential crash when using /gen from console.&lt;br /&gt;
*Added more fail-safe checks that ensure that map spawn point is always within the map boundaries.&lt;br /&gt;
*Started logging IPs of connections that try sending corrupted or malicious handshake packets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.402===&lt;br /&gt;
*Added back /load command, and hooked up MCC. Currenly supported: fCraft/fcm, MCSharp/lvl, indev/mclevel, MinerCPP and LuaCraft (dat). Vanilla support coming soon.&lt;br /&gt;
*Fixed worlds being unloaded before all block updates are processed (thus aborting draw commands).&lt;br /&gt;
*Fixed several potential multiworld-related crashes and freezes.&lt;br /&gt;
*Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.&lt;br /&gt;
*IRC: Added an information message to notify users of the IRC Bot&#039;s online status when joining the server.&lt;br /&gt;
*IRC: Added the ability to send NOTICES.&lt;br /&gt;
*IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.&lt;br /&gt;
*IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.&lt;br /&gt;
*Drawing-related state is now reset when changing worlds.&lt;br /&gt;
*Added a limiter to the number of block updates that can be processed per tick (even if there are no players in a world). Fixes server becoming unresponsive when doing enormous drawing commands (millions of blocks).&lt;br /&gt;
*Allowed players to /join the world that they are already on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.401===&lt;br /&gt;
*&#039;&#039;&#039;IDLE/AFK CHECKING&#039;&#039;&#039; This is configurable per-class.&lt;br /&gt;
*Added /version command, and added revision to the version string.&lt;br /&gt;
*Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands. &lt;br /&gt;
*Removed all references to the old pre-multiworld &amp;quot;map.fcm.&amp;quot; Backups now work again. &lt;br /&gt;
*Fixed players not spawning in the right place when changing worlds.&lt;br /&gt;
*IRC Bot will now handle terminations by the IRCd and restart itself upon any errors. &lt;br /&gt;
*IRC Bot can now send from inside the server TO IRC! Use the prefix &#039;#&#039; in-game to send any message to IRC. Forwarding all server chat may be added if requested. To send from the bot to the server, use the bot&#039;s nickname and either &#039;:&#039;, &#039;,&#039; or nothing, then your message.&lt;br /&gt;
*Improved performance of the IRC bot and the task scheduler.&lt;br /&gt;
*Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn&#039;t exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.&lt;br /&gt;
*Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after &#039;#&#039; in server chat.&lt;br /&gt;
*Handshake packet is now written when doing /join, to replace MOTD with a more informative &amp;quot;Now loading [worldname]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.400===&lt;br /&gt;
*&#039;&#039;&#039;MULTIWORLD&#039;&#039;&#039; It&#039;s finally here. See /help for information on new commands: /worlds, /wload, /join&lt;br /&gt;
*Added a persistent world list, saved in worlds.txt - this is subject to change. The file contains a list of world names, each corresponding to an .fcm file. The first world listed at the top of worlds.txt is the default/main one.&lt;br /&gt;
*&#039;&#039;&#039;IRC BOT&#039;&#039;&#039; Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.&lt;br /&gt;
*A field has been added in the config to allow forwarding ALL IRC CHANNEL TRAFFIC to the server. This will override the prefix and make it inactive. &#039;IRCBotForwardAll&#039; is set to false by default.&lt;br /&gt;
*&#039;&#039;&#039;ZONES&#039;&#039;&#039; It is now possible to make guest zones and op zones (and anything in-between) on any map. See /help for information on new commands: /zones, /zone, /zremove.&lt;br /&gt;
*Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.&lt;br /&gt;
*Added /compass command (aka /where).&lt;br /&gt;
*Fixed players sometimes not seeing their /kick message.&lt;br /&gt;
*Added a way to teleport to specific coordinates (/tp x y h)&lt;br /&gt;
*Fixed heartbeats timing out when running fCraft under Mono.&lt;br /&gt;
*Fixed Config.ApplyConfig setting the wrong server throttling variables.&lt;br /&gt;
*Fixed air blocks appearing underwater when using /gen&lt;br /&gt;
*Tweaked /gen parameters to make &amp;quot;island&amp;quot; a bit less ugly.&lt;br /&gt;
*Updated text in fCraftConsole.&lt;br /&gt;
&lt;br /&gt;
=0.3xx=&lt;br /&gt;
===0.330===&lt;br /&gt;
*Added /cuboid and /ellipsoid drawing commands.&lt;br /&gt;
*Improved memory usage.&lt;br /&gt;
*Added &amp;quot;Draw&amp;quot; permission, and made /draw check &amp;quot;DeleteAdmincrete&amp;quot; permission when replacing blocks, and removed unused &amp;quot;PlaceGlitchedSand&amp;quot; permission.&lt;br /&gt;
*Added &amp;quot;Port&amp;quot; and &amp;quot;BackupOnlyWhenChanged&amp;quot; config lines, and corresponding ConfigTool fields.&lt;br /&gt;
*Fixed bug that deleted ALL backups when you check &amp;quot;don&#039;t delete old backups.&amp;quot; That was embarrassing.&lt;br /&gt;
&lt;br /&gt;
===0.325===&lt;br /&gt;
*Added an experimental low-latency mode (faster server response, but more bandwidth required).&lt;br /&gt;
*Improved hacking detection: added anti-chat-spam and anti-grief (block spam) checks.&lt;br /&gt;
*New more aggressive anti-hacking checks for incoming movement and SetTile packets.&lt;br /&gt;
*Fixed an issue with fCraftUI console log getting truncated in the wrong places.&lt;br /&gt;
*Improved Mono compatibility (fixes HttpWebRequest failures).&lt;br /&gt;
&lt;br /&gt;
===0.324===&lt;br /&gt;
*Added /me command.&lt;br /&gt;
*Added step stacking.&lt;br /&gt;
*Fixed a case where disconnected players would leave a ghost behind.&lt;br /&gt;
*Improved shutdown speed.&lt;br /&gt;
*Implemented ProcessPriority setting.&lt;br /&gt;
&lt;br /&gt;
===0.323===&lt;br /&gt;
*Fixed players not being able to delete admincrete after promotion.&lt;br /&gt;
*Fixed a bug that allowed players to noclip into walls when using /tp or /bring.&lt;br /&gt;
*Fixed a security issue with &amp;quot;VerifyNames: Balanced&amp;quot;&lt;br /&gt;
*Added prototype of the security tab in ConfigTool (work in progress).&lt;br /&gt;
&lt;br /&gt;
===0.322===&lt;br /&gt;
*Added a range check to Player.SetTile, to prevent certain types of grief bots.&lt;br /&gt;
*Fixed a bug where map spawnpoint did not change after doing /load.&lt;br /&gt;
*Fixed some typos.&lt;br /&gt;
&lt;br /&gt;
===0.321===&lt;br /&gt;
*Fixed welcome messages not showing.&lt;br /&gt;
*Renamed /alias to /nick, and added a permission check.&lt;br /&gt;
&lt;br /&gt;
===0.320===&lt;br /&gt;
*Finally last fix for the disconnect problem. Sorry about that.&lt;br /&gt;
&lt;br /&gt;
===0.319===&lt;br /&gt;
*Quick fix for disconnect problem.&lt;br /&gt;
&lt;br /&gt;
===0.318===&lt;br /&gt;
*Fixed VerifyNames not saving properly when using ConfigTool.&lt;br /&gt;
*Fixed several potential crashers in Session and World.&lt;br /&gt;
*Fixed a bug that sometimes wrongly showed &amp;quot;class name not recognized&amp;quot;.&lt;br /&gt;
*Added class name autocompletion for class chat (@@classname blah)&lt;br /&gt;
*Started working on the new /load mode that allows loading different sized maps, and loading much faster (not done yet).&lt;br /&gt;
&lt;br /&gt;
===0.317===&lt;br /&gt;
*Optimized handling of player movement and some block/tile updates, making servers more responsive and less laggy.&lt;br /&gt;
*Fixed a possible crash that sometimes happened when server has 1 slot left and 2 people tried to join at once.&lt;br /&gt;
*Fixed a case where a Session object was not properly disposed.&lt;br /&gt;
*Fixed resizing issue in UpdateWindow and reduced connection timeout in Updater&lt;br /&gt;
*Disabled ShowPrefixesInChat and ShowPrefixesInList by default (breaks skin support)&lt;br /&gt;
*Added Player.Send, a safe wrapper for Player.session.Send&lt;br /&gt;
*Fixed /tp, /bring, and /setspawn commands that were broken in the last revision.&lt;br /&gt;
*Fixed ConfigTool not saving &amp;quot;IsPublic&amp;quot; setting correctly.&lt;br /&gt;
&lt;br /&gt;
===0.316===&lt;br /&gt;
*Added partial class-name matching for /class and /user commands.&lt;br /&gt;
*Fixed /banip and /banall not kicking the banned players immediately.&lt;br /&gt;
*Added /rules command. Create &amp;quot;rules.txt&amp;quot; in the server folder to specify.&lt;br /&gt;
*Fixed a bug where player movement sometimes got a little out of sync.&lt;br /&gt;
*Optimized /load speed a bit.&lt;br /&gt;
*Added nicer application icons.&lt;br /&gt;
&lt;br /&gt;
===0.315===&lt;br /&gt;
*Added visual color picker to ConfigTool&lt;br /&gt;
*Added lightweight console interface for fCraft&lt;br /&gt;
*Refactored the main update loop&lt;br /&gt;
&lt;br /&gt;
===0.314===&lt;br /&gt;
*Added AutomaticUpdates option.&lt;br /&gt;
*Integrated the color picker to ConfigTool.&lt;br /&gt;
*Improved hacking detection.&lt;br /&gt;
&lt;br /&gt;
===0.313===&lt;br /&gt;
*Fixed a few glitches left after switching file formats.&lt;br /&gt;
*Improved memory usage when saving maps.&lt;br /&gt;
*Fixed an updater-related crash.&lt;br /&gt;
&lt;br /&gt;
===0.312===&lt;br /&gt;
*New map format (FCM v2) should provide faster loading times.&lt;br /&gt;
*server_level.dat loader is now functional.&lt;br /&gt;
*Fixed possible crash if the default port was not available.&lt;br /&gt;
*Automatic updater should now work properly. More update options to come.&lt;br /&gt;
&lt;br /&gt;
===0.311===&lt;br /&gt;
*Preview version of automatic updater.&lt;br /&gt;
&lt;br /&gt;
===0.310===&lt;br /&gt;
*Cleaned up some VC# crapfiles.&lt;br /&gt;
*Added class prefixes and colors.&lt;br /&gt;
*Added PlaceWater and PlaceLava back to permissions.&lt;br /&gt;
*Fixed rank-limited permissions.&lt;br /&gt;
*Other assorted glitches fixed.&lt;br /&gt;
&lt;br /&gt;
===0.305===&lt;br /&gt;
*removed config.xml from svn.&lt;br /&gt;
&lt;br /&gt;
===0.304===&lt;br /&gt;
*More potential crashes fixed.&lt;br /&gt;
&lt;br /&gt;
===0.303===&lt;br /&gt;
*Fixed a couple potential crashes in ConfigTool and Config.DefineClass&lt;br /&gt;
&lt;br /&gt;
===0.302===&lt;br /&gt;
*Fixed a few minor ConfigTool bugs.&lt;br /&gt;
&lt;br /&gt;
===0.301===&lt;br /&gt;
*Forgot to save config from World.cs after parsing. Minor update.&lt;br /&gt;
&lt;br /&gt;
===0.300===&lt;br /&gt;
*ConfigTool finished. Note that some of the options do not have an effect yet.&lt;br /&gt;
&lt;br /&gt;
=Before 0.3xx=&lt;br /&gt;
*Version history was not kept before this point.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Version_history&amp;diff=2638</id>
		<title>Version history</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Version_history&amp;diff=2638"/>
		<updated>2017-04-30T06:46:43Z</updated>

		<summary type="html">&lt;p&gt;F: /* 0.435 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
=0.6xx=&lt;br /&gt;
===0.644===&lt;br /&gt;
&#039;&#039;27 January 2014 - r2327&#039;&#039;&lt;br /&gt;
*Fix: Fixed a bug that caused character &#039;@&#039; in player names to be treated same as &#039;_&#039; (thanks Dingus)&lt;br /&gt;
*Fix: Fixed a rare crash in {{cmd|ZEdit}} when using the command improperly.&lt;br /&gt;
*Fix: Fixed a DataError being thrown in ConfigGUI&#039;s &amp;quot;Worlds&amp;quot; tab after toggling rank prefixes on/off.&lt;br /&gt;
*Fix: Improved error reporting.&lt;br /&gt;
*Change: Improved reliability of external IP checks.&lt;br /&gt;
&lt;br /&gt;
===0.643===&lt;br /&gt;
&#039;&#039;15 October 2013 - r2234&#039;&#039;&lt;br /&gt;
*Fix: Fixed sometimes wrapping last word of a chat message to the next line, when the whole message could fit on one line (thanks AndrewPH).&lt;br /&gt;
*Fix: Installing updates no longer causes UAC prompts under Windows Vista.&lt;br /&gt;
*Fix: Fixed IRC periodically crashing if someone quits with an empty message.&lt;br /&gt;
*Fix: Fixed IRC-related crashes not being submitted to the crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.642===&lt;br /&gt;
&#039;&#039;27 August 2013 - r2180&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Fill3D}}.&lt;br /&gt;
*Feature: Added caret (^), tilde (~), and grave accent (`) to [[emotes]].&lt;br /&gt;
*Fix: Emotes work via IRC once again.&lt;br /&gt;
*Fix: ConfigGUI: Fixed &amp;quot;Add world&amp;quot; and &amp;quot;Edit world&amp;quot; popups sometimes locking up.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving LastFailedLoginIP properly.&lt;br /&gt;
*Change: Made it easy to switch heartbeat servers (minecraft.net to classicube or back) via ConfigGUI.&lt;br /&gt;
*Change: Added an optional second parameter to {{cmd|DumpStats}}, which allows specifying period of inactivity for filtering players.&lt;br /&gt;
*Change: Improved startup and shutdown times, and reduced CPU use.&lt;br /&gt;
*Change: {{cmd|Hide}} and {{cmd|Unhide}} now indicate when they are silent or not.&lt;br /&gt;
&lt;br /&gt;
===0.641===&lt;br /&gt;
&#039;&#039;17 August 2013 - r2150&#039;&#039;&lt;br /&gt;
*Feature: Improved the way {{cmd|EllipsoidH}} works on flat surfaces. Instead of filled ellipses, it now makes rings.&lt;br /&gt;
*Feature: Added {{cmd|Reply}} (&amp;lt;code&amp;gt;/re&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: {{cmd|Fill2D}} can now fill with any brush, not just solid color.&lt;br /&gt;
*Feature: Added &#039;&#039;HeartbeatUrl&#039;&#039; [[List of config keys#Advanced|config key]], to allow alternative heartbeat/authentication services. &#039;&#039;&#039;Note: [[HeartbeatSaver]] only needs to be updated IF you plan on using something other than minecraft.net&#039;&#039;&#039;&lt;br /&gt;
*Fix: Fixed a InvalidOperationException in ConfigGUI when re-drawing the map preview (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;Realistic&amp;quot; MapGen help (thanks Jonty800).&lt;br /&gt;
*Fix: Now correctly kicking custom premium-MC clients.&lt;br /&gt;
*Fix: Fixed help messages in [[HeartbeatSaver]] and {{cmd|MassRank}}.&lt;br /&gt;
*Fix: Fixed a potential way of revealing hidden players by messaging them.&lt;br /&gt;
*Change: ConfigGUI&#039;s port checker works again.&lt;br /&gt;
*Change: IRC bot will now retry for its primary nick every 30 seconds (thanks Dankirk).&lt;br /&gt;
&lt;br /&gt;
===0.640===&lt;br /&gt;
&#039;&#039;30 July 2013 - r2124&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Feature: [[Mojang accounts|Mojang account]] (email) support.&#039;&#039;&#039; Added {{perm|ViewEmails}} permission and a config option to disallow email users.&lt;br /&gt;
*Feature: Overhauled map generation! Improved {{cmd|Gen}}, new {{cmd|SetGen}} command, more options, preset loading/saving, redesigned ConfigGUI interface, and two new map generation modes: Vanilla (from [http://femto.fcraft.net FemtoCraft]) and FloatingIsland.&lt;br /&gt;
*Feature: Optional [http://www.regular-expressions.info/quickstart.html RegEx] filtering of filenames for [[MapRenderer]] and [[MapConverter]], enabled by &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Feature: Added &amp;lt;i&amp;gt;&amp;quot;Player ___ logged in from an IP shared by frozen players...&amp;quot;&amp;lt;/i&amp;gt; announcement.&lt;br /&gt;
*Feature: Added an optional parameter to toggle commands (grass, water, lava, solid, paint, static) &amp;amp;mdash; &amp;quot;on&amp;quot;/&amp;quot;1&amp;quot; or &amp;quot;off&amp;quot;/&amp;quot;0&amp;quot;.&lt;br /&gt;
*Feature: Added BackupOnMapChange config key, which automates backups when a world&#039;s map is replaced by /Gen or /WLoad (enabled by default).&lt;br /&gt;
*Feature: Added &amp;lt;code&amp;gt;/To&amp;lt;/code&amp;gt; as an alias of {{cmd|TP}}, and &amp;lt;code&amp;gt;/Flush&amp;lt;/code&amp;gt; as an alias for {{cmd|WFlush}}.&lt;br /&gt;
*Feature: [[MapRenderer]] is now much quicker, thanks to optimization and multithreading.&lt;br /&gt;
*Feature: Added ability to change capitalization of player&#039;s name using {{cmd|SetInfo}}.&lt;br /&gt;
*Fix: Fixed MapGenerator sometimes locking up when working with tiny 16x16 maps (thanks 123DMWM).&lt;br /&gt;
*Fix: Fixed world greetings not being saved between restarts (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed {{cmd|WLoad}} showing incorrect map file names when prompting to replace files (thanks Smokeybacon).&lt;br /&gt;
*Fix: Fixed [[Command_Tips#Restricting_player_name_search|online-only name prefix]] revealing hidden players in some commands (thanks Intertoothh and recon).&lt;br /&gt;
*Fix: When a spectating player gets frozen, they are no longer stuck spectating (thanks ruggedbear and NuclearWaffle121).&lt;br /&gt;
*Fix: IRC now handles two-number color codes and reset codes correctly (thanks Liam).&lt;br /&gt;
*Fix: Fixed map changes sometimes leaving behind &amp;quot;ghost maps&amp;quot; for players with rank-specific main maps set (thanks Jonty800).&lt;br /&gt;
*Fix: PlayerDB name autocompletion now correctly handles players with &#039;.&#039; in their names.&lt;br /&gt;
*Fix: Timed backups no longer drift slightly every hour.&lt;br /&gt;
*Fix: Players can now {{cmd|Clear}} their chat even while [[/Deafen|deaf]].&lt;br /&gt;
*Fix: Fixed a rare serialization issue with PlayerDB&#039;s RankChangedBy field.&lt;br /&gt;
*Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Now only allow either one directory, or one-or-more files to be specified. Multiple directories, and mixed directories/files are no longer allowed.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Disabled slow fallback conversion by default (which caused non-map files to take forever to skip in recursive mode). Old behavior can be reenabled with &amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Change: When auto-updating or restarting under Mono, fCraft no longer tries to use &amp;quot;mono-sgen&amp;quot;, now just using &amp;quot;mono&amp;quot; and assuming that runtime is properly configured.&lt;br /&gt;
*Change: {{cmd|WBuild}} and {{cmd|WAccess}} can optionally now take &amp;quot;@&amp;quot; in front of rank name.&lt;br /&gt;
*Change: Removed BackupOnJoin config key.&lt;br /&gt;
*Change: UpdateInstaller&#039;s &amp;lt;code&amp;gt;--restart&amp;lt;/code&amp;gt; parameter is more flexible.&lt;br /&gt;
*Change: Dropped Mono 2.6 support.&lt;br /&gt;
*Change: Optimizations in player movement code, PlayerDB loading/saving, IP ban list loading, map generation, map rendering, {{cmd|Ellipsoid}}, and {{cmd|Sphere}}.&lt;br /&gt;
&lt;br /&gt;
===0.639===&lt;br /&gt;
&#039;&#039;10 December 2012 - r1917&#039;&#039;&lt;br /&gt;
*Feature: Added RankPrefixesOnDisplayedNames config key (default: false), which controls whether to prepend rank prefixes to names of players with a custom DisplayedName set.&lt;br /&gt;
*Feature: Added BypassHttpsCertificateValidation config key (default: false), to ease HTTPS-related pains under Mono.&lt;br /&gt;
*Feature: Added MoveEmoteDotToEndOfMessage config key (default: true), which slightly changes emote formatting, by BobKare&#039;s request.&lt;br /&gt;
*Fix: Fixed a stability issue in the IRC bot.&lt;br /&gt;
*Fix: Fixed incorrect runtime version detection for Mono versions older than 2.6.&lt;br /&gt;
*Fix: Server now gives more informative messages when you try to do something disallowed to yourself (mute, unfreeze, ban, kick, etc).&lt;br /&gt;
*Fix: Fixed being able to teleport to hidden players (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed {{cmd|Unhide}} not faking a join message for hidden players (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed IRC bot sending USER before NICK (fixes occasional error 451) (thanks Hellenion).&lt;br /&gt;
*Change: Added ability to set players&#039; BandwidthUseMode via {{cmd|SetInfo}}.&lt;br /&gt;
*Change: Improved {{cmd|Env}}, {{cmd|UndoAreaNot}}, and {{cmd|Help}} messages.&lt;br /&gt;
*Change: Players&#039; connection messages in logs now include TimesVisited stat.&lt;br /&gt;
*Change: {{cmd|Help|commands}} is no longer an alias for {{cmd|Commands}} (thanks ruggedbear).&lt;br /&gt;
&lt;br /&gt;
===0.638===&lt;br /&gt;
&#039;&#039;29 November 2012 - r1887&#039;&#039;&lt;br /&gt;
*Feature: [[Emotes|Emote]] keywords and their Unicode equivalents can now be included in announcement and rule files.&lt;br /&gt;
*Feature: IRC bot now sends a quit message consisting of server name and shutdown reason.&lt;br /&gt;
*Fix: Fixed a very small chance of PlayerInfo.TimeMutedLeft returning negative time spans.&lt;br /&gt;
*Fix: Leading and trailing spaces are now trimmed from kick/ban/unban reasons.&lt;br /&gt;
*Fix: Fixed some emotes getting trimmed from {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} (thanks Intertoothh)&lt;br /&gt;
*Fix: Fixed RestartInterval starting two chat timers (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed ServerCLI using console colors for the first few messages even if &amp;lt;code&amp;gt;--noconsolecolor&amp;lt;/code&amp;gt; [[List of command-line options|command-line switch]] was given (thanks Hellenion)&lt;br /&gt;
*Change: Added &amp;lt;code&amp;gt;--noupdater&amp;lt;/code&amp;gt; command line switch, which stops fCraft from launching update installer binaries (although all other update-related behavior remains the same)&lt;br /&gt;
*Change: Player&#039;s own name is no longer considered in autocompletion/searches for commands that are not applicable to self (e.g. {{cmd|Ban}}, {{cmd|Mute}}, {{cmd|Ignore}}, {{cmd|TP}}, etc)&lt;br /&gt;
*Change: Logged global chat messages now have &amp;quot;(global)&amp;quot; prepended before player&#039;s name.&lt;br /&gt;
*API: Updated trunk project files to VisualStudio 2010. Target runtime remains .NET 3.5 Client Profile.&lt;br /&gt;
&lt;br /&gt;
===0.637===&lt;br /&gt;
&#039;&#039;16 October 2012 - r1847&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Emotes}} command, to list emotes and their keywords.&lt;br /&gt;
*Fix: Fixed IRC bot cutting off very long messages.&lt;br /&gt;
*Fix: Fixed {{cmd|Info}} not working with some IP ranges (thanks _BjorN64_).&lt;br /&gt;
*Fix: Fixed single-letter emote keywords not working (thanks Wundsalz).&lt;br /&gt;
*Fix: Improved the way IRC bot handles nick conflicts (thanks Jonty800).&lt;br /&gt;
*Fix: {{cmd|DumpStats}} no longer dies when an invalid file name is given (thanks Hellenion).&lt;br /&gt;
*Change: Added a new build configuration, DEBUG_NETWORKING, which traces all incoming and outgoing packets.&lt;br /&gt;
*Change: IRC bot now logs all outgoing messages when built in DEBUG_IRC configuration.&lt;br /&gt;
&lt;br /&gt;
===0.636===&lt;br /&gt;
&#039;&#039;10 October 2012 - r1832&#039;&#039;&lt;br /&gt;
*Feature: Check your configs! New options were added to control display of colors and emotes to/from IRC.&lt;br /&gt;
*Feature: Added {house} [[emotes|emote]]: ⌂ (0x7F).&lt;br /&gt;
*Fix: Fixed newline codes %n/%N not being parsed properly.&lt;br /&gt;
*Fix: Fixed a crash in Color.StripColors (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed random symbols appearing in stack traces in console (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed couple problems with Player.Moving event (thanks 00pol).&lt;br /&gt;
*Fix: Spawn points of MCSharp map files are now loaded correctly (thanks 00pol).&lt;br /&gt;
*Change: Players&#039; DisplayedNames may no longer contains line breaks.&lt;br /&gt;
&lt;br /&gt;
===0.635===&lt;br /&gt;
&#039;&#039;8 October 2012 - r1822&#039;&#039;&lt;br /&gt;
*Feature: Added support for &amp;quot;[[emotes]]&amp;quot; (chat symbols). New permission ({{perm|UseEmotes}}) and config key (IRCAllowEmotes) were added.&lt;br /&gt;
*Fix: Fixed numbers sometimes being accepted as valid (e.g. by {{cmd|Mute}}), although counted as 0-length time spans.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving strings with newlines properly.&lt;br /&gt;
*Fix: Fixed IRC bot sometimes producing messages that are a couple characters over the IRC message size limit (512 chars).&lt;br /&gt;
*Fix: Fixed players being able to use newline codes (&amp;amp;N/&amp;amp;n) on IRC.&lt;br /&gt;
*Fix: Fixed problems with UpdaterMode and BackupOnStartup settings in ConfigGUI.&lt;br /&gt;
*Fix: Fixed fCraft not building in DEBUG_IRC configuration.&lt;br /&gt;
*Change: Added a workaround for TermInfoDriver-related exceptions under Mono (thanks Hellenion)&lt;br /&gt;
*Change: Symbolic [[colors|color codes]] (e.g. %S) can now be used in chat.&lt;br /&gt;
*Change: Backslash can now be used to escape percent [[colors|color codes]] (e.g. \%C).&lt;br /&gt;
*Change: fCraft will now retry looking up the external IP up to 3 times.&lt;br /&gt;
*Change: Lots of documentation, annotation, and API improvements.&lt;br /&gt;
&lt;br /&gt;
===0.634===&lt;br /&gt;
&#039;&#039;30 September 2012 - r1796&#039;&#039;&lt;br /&gt;
*Fix: Fixed an occasional InvalidOperationException when auto-updating in ServerGUI.&lt;br /&gt;
*Fix: Fixed ConfigGUI showing misleading information in &amp;quot;unrecognized entry ignore&amp;quot; errors.&lt;br /&gt;
*Fix: Fixed Logger trying to write to file in [[MapConverter]] and [[MapRenderer]].&lt;br /&gt;
*Fix: Fixed [[MapRenderer]] and [[MapConverter]] spamming zone-related errors (thanks Hellenion and AndrewPH)&lt;br /&gt;
*Fix: Fixed {{cmd|UndoPlayerNot}} help entry (thanks ruggedbear)&lt;br /&gt;
*Change: Heartbeat code now uses HTTPS, as mandated by Mojang. If you use Mono, see http://www.mono-project.com/FAQ:_Security&lt;br /&gt;
*Change: Removed support for the malfunctioning WoM Direct heartbeat service.&lt;br /&gt;
*Change: RankChangeReason is now shown as a &amp;quot;Rank note&amp;quot; in {{cmd|Info}}, even if no other data (PreviousRank/RankChangedBy/RankChangeDate) exists (thanks Wundsalz)&lt;br /&gt;
&lt;br /&gt;
===0.633===&lt;br /&gt;
&#039;&#039;26 September 2012 - r1788&#039;&#039;&lt;br /&gt;
*Feature: Added checkbox for HeartbeatEnabled config key to ConfigGUI, on the advanced tab.&lt;br /&gt;
*Fix: Fixed heartbeat/verification issues caused by &amp;quot;no-www&amp;quot; changes made by Mojang at minecraft.net&lt;br /&gt;
*Fix: Fixed VisualStudio designer being unable to load ConfigGUI.MainForm.&lt;br /&gt;
*Fix: Fixed {{cmd|ZMark}} being spammy (thanks ruggedbear).&lt;br /&gt;
*Fix: Binding &amp;quot;air&amp;quot; block to something now works as expected (deleted blocks are replaced with the binding) (thanks Hellenion).&lt;br /&gt;
*Fix: Added missing tooltips to &amp;quot;Data Backup&amp;quot; checkbox in ConfigGUI (thanks PhoneBook_).&lt;br /&gt;
*Fix: Added [[HeartbeatSaver]] to UpdateInstaller and list of protected filenames.&lt;br /&gt;
*Fix: Fixed occasional startup crash in [[HeartbeatSaver]].&lt;br /&gt;
*Change: {{cmd|Reload|Autorank}} now triggers a re-scan of the whole PlayerDB.&lt;br /&gt;
*Change: Added code to BlockDB to recover misaligned .fbdb files. BlockDB files are supposed to be aligned to 20 bytes. Misalignment might happen if writing didn&#039;t finish properly - e.g. power outage, or ungraceful shutdown.&lt;br /&gt;
*Change: Improved consistency of exit codes in [[HeartbeatSaver]], [[MapConverter]], and [[MapRenderer]].&lt;br /&gt;
&lt;br /&gt;
===0.632===&lt;br /&gt;
&#039;&#039;14 September 2012 - r1765&#039;&#039;&lt;br /&gt;
*Feature: Added standalone [[HeartbeatSaver]] utility, a heartbeat-sending daemon.&lt;br /&gt;
*Feature: Added a way to specify scale/turbulence/seed for cloudy brush.&lt;br /&gt;
*Feature: Renamed &amp;quot;IRC&amp;quot; LogType to &amp;quot;IRCStatus&amp;quot;, and added &amp;quot;IRCChat&amp;quot; LogType. Check your configs.&lt;br /&gt;
*Fix: Fixed the updater. You&#039;ll have to update from version 0.631 manually (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed a bug related to multiple players trying to join an almost-full server at the same time.&lt;br /&gt;
*Fix: Fixed a rare InvalidOperationException crash in ConfigGUI.&lt;br /&gt;
*Fix: Fixed reversed order in {{cmd|BlockInfo}} (thanks recon_).&lt;br /&gt;
*Fix: Fixed a few formatting errors in feedback messages.&lt;br /&gt;
*Fix: Fixed a rare disconnect related to a spectator trying to follow a spectatee to a full world.&lt;br /&gt;
*Fix: Fixed {{cmd|Hide}} not showing a fake disconnect message when needed.&lt;br /&gt;
*Fix: Fixed {{cmd|WRename}} prompting for file overwrite when changing capitalization in a world name.&lt;br /&gt;
*Fix: Fixed UndoArea/UndoAreaNot and UndoPlayer/UndoPlayerNot messages occasionally getting mixed up.&lt;br /&gt;
*Fix: Fixed players being unable to join the server if access restrictions prevent them from joining the rank-specific main world.&lt;br /&gt;
*Fix: {{cmd|WRemove}} now correctly handles removing rank-main worlds.&lt;br /&gt;
*Fix: Fixed a case where newlines in PlayerInfo or IPBanInfo fields would cause record corruption.&lt;br /&gt;
*Fix: Fixed reversed messages in {{cmd|DoNotMark}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed ServerCLI sometimes staying open, waiting on console input, when it&#039;s supposed to shut down or restart.&lt;br /&gt;
*Change: Sped up &amp;quot;cloudy&amp;quot; brush when working with large draw commands.&lt;br /&gt;
*Change: Crash reporter now submits list of names and versions of all loaded assemblies, to help identify mismatched or missing dependencies.&lt;br /&gt;
*Change: Added logging to every confirmation prompt, &amp;quot;/ok&amp;quot;, {{cmd|BlockDB}} enabling/disabling/clearing, {{cmd|ZRemove}}, {{cmd|InfoSwap}}, and {{cmd|Env}}.&lt;br /&gt;
*Change: Any pending confirmations are now reset on world change.&lt;br /&gt;
*Change: Added /I as an alias for {{cmd|Info}}, and /CS as an alias for {{cmd|CopySlot}}.&lt;br /&gt;
*Change: Removed &amp;quot;marbled&amp;quot; brush (&amp;quot;cloudy&amp;quot; works just as well) and FCMv4 map format support (development canceled).&lt;br /&gt;
*Change: {{cmd|Where}} command now only requires {{perm|ViewOthersInfo}} permission to see other players&#039; whereabouts. It can be used by anyone on self.&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.631===&lt;br /&gt;
&#039;&#039;5 September 2012 - r1741&#039;&#039;&lt;br /&gt;
*Feature: Added a way to restrict commands to match online players&#039; names only, by prefixing the name with an exclamation mark (!). See [[Command Tips]] for more.&lt;br /&gt;
*Feature: Added {{cmd|DoNotMark}} command. When toggled on, clicking on blocks does not cause marks to be added to a selection.&lt;br /&gt;
*Fix: Included MapConverter.exe and MapRenderer.exe in list of protected filenames.&lt;br /&gt;
*Fix: Fixed a potential crash in Paths.FileExists when working in case-sensitive mode in a root directory.&lt;br /&gt;
*Fix: Fixed ConfigGUI not loading permission limits properly (thanks recon_).&lt;br /&gt;
*Fix: Added missing fake connection message when using non-silent {{cmd|Unhide}} (thanks Wundsalz).&lt;br /&gt;
*Change: Improvements to fCraft&#039;s built-in crash reporter.&lt;br /&gt;
*Change: Blocks redone with {{cmd|Redo}} are now flagged as &amp;quot;Redone&amp;quot; in /BlockInfo (instead of &amp;quot;UndoneSelf&amp;quot;), [[/Paint|painted]] blocks as &amp;quot;Painted&amp;quot; (instead of &amp;quot;Manual, Replaced&amp;quot;).&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.630===&lt;br /&gt;
&#039;&#039;4 September 2012 - r1727&#039;&#039;&lt;br /&gt;
*Feature: New permissions! {{perm|FlushWorlds}} (previously part of {{perm|ManageWorlds}}), {{perm|UseTimers}} (previously part of {{perm|Say}}), and {{perm|UndoAll}}.&lt;br /&gt;
*Feature: Added ability to undo multiple players&#039; actions at once, or EVERYONE&#039;s actions at once, using {{cmd|UndoPlayer}} and {{cmd|UndoArea}}. Command syntax changed, see wiki.&lt;br /&gt;
*Feature: {{cmd|Info}} now shows whether minecraft.net accounts are free or paid.&lt;br /&gt;
*Feature: Added special &amp;quot;skip&amp;quot;/&amp;quot;none&amp;quot; blocktype, usable with brushes and draw commands.&lt;br /&gt;
*Feature: Added ability to clear world/zone whitelists and blacklists. Use &amp;quot;-*&amp;quot; in place of player name to clear whitelist, and &amp;quot;+*&amp;quot; to clear blacklist.&lt;br /&gt;
*Feature: Added a way to remove all zones in a world, {{cmd|ZRemove|*}}.&lt;br /&gt;
*Feature: Added {{cmd|UndoAreaNot}} (/uan) and {{cmd|UndoPlayerNot}} (/upn), which reverse changes made by everyone EXCEPT the given player(s).&lt;br /&gt;
*Feature: Added [[MapConverter]] and [[MapRenderer]] utilities.&lt;br /&gt;
*Feature: {{cmd|CuboidW}} now supports optionally filling sides and center with different blocktypes, e.g. &amp;quot;/cw white blue red&amp;quot;.&lt;br /&gt;
*Fix: Fixed ServerCLI launching the wrong fCraft binary after running the updater.&lt;br /&gt;
*Fix: Fixed a missing warning in {{cmd|Gen}} when map height is not a multiple of 16.&lt;br /&gt;
*Fix: Fixed a rare case of players receiving desynchronized copies of maps where draw commands are in progress.&lt;br /&gt;
*Fix: Fixed a crash in {{cmd|Commands|&amp;lt;Category&amp;gt;}}&lt;br /&gt;
*Fix: Fixed potential crashes when working with files in root directories (e.g. C:/)&lt;br /&gt;
*Fix: Improved {{cmd|BanEx}} logging.&lt;br /&gt;
*Fix: Improved support for Myne/MyneCraft/HyveBuild/iCraft maps.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog in ConfigGUI defaulting to 20 minutes, instead of &amp;quot;(default)&amp;quot;.&lt;br /&gt;
*Fix: Fixed SaveInterval and BackupInterval being limited to just 100 seconds/minutes in ConfigGUI (thanks Hellenion).&lt;br /&gt;
*Fix: Improved consistency of timestamp format in logs (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed being unable to remove world greetings via {{cmd|WSet}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed IRC bot cutting off long messages (thanks Hellenion).&lt;br /&gt;
*Change: Improved performance of {{cmd|Gen}}, {{cmd|WLoad}}, world loading, and all BlockDB-related commands.&lt;br /&gt;
*Change: Adjustments to block names and aliases, as well as command aliases.&lt;br /&gt;
*Change: Merged {{cmd|Cancel}} and /Nvm commands.&lt;br /&gt;
*Change: &amp;quot;&amp;amp;N&amp;quot; is now usable as a &amp;quot;newline&amp;quot; constant in all configurable strings (rules, announcements, greetings, etc), and &amp;quot;%N&amp;quot; is usable by players with {{perm|UseColorCode}} permissions.&lt;br /&gt;
*Change: Made {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} usable by frozen players.&lt;br /&gt;
*Change: Added a warning to /Colors regarding the minimum rank required to use colorcodes in chat (thanks Jonty800).&lt;br /&gt;
*Change: Ignoring a player no longer prevents you from seeing {{cmd|Say}} messages written by them.&lt;br /&gt;
*Change: {{cmd|Paint}}, {{cmd|Solid}}, {{cmd|Grass}}, {{cmd|Water}}, and {{cmd|Lava}} are no longer usable by players without Build permission, and dont show up in /Commands for them.&lt;br /&gt;
*Change: Clarified {{cmd|ZEdit}} messages when trying to remove self from blacklist, or add yourself to whitelist.&lt;br /&gt;
*Change: {{cmd|Mute}}, {{cmd|Unmute}}, {{cmd|Freeze}}, and {{cmd|Unfreeze}} are now also usable on offline players.&lt;br /&gt;
*Change: Session threads are no longer marked as &amp;quot;background&amp;quot;, to prevent unexpected side effects from session threads being aborted on shutdown. This might slow down shutdown a bit, but there is less to go wrong.&lt;br /&gt;
*Change: World greetings can now support constants.&lt;br /&gt;
*Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.&lt;br /&gt;
*Change: Process exit code is now set to match ShutdownReason.&lt;br /&gt;
*API: Added ChatTimer.Started and ChatTimer.Stopped events, rewrote BlockDB, MapConversion, and IsoCat APIs.&lt;br /&gt;
*API: Many documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.624===&lt;br /&gt;
&#039;&#039;16 July 2012 - r1636&#039;&#039;&lt;br /&gt;
*Fix: Fixed BlockDB time-limiting code trimming too much data from the database.&lt;br /&gt;
*Fix: CommandBook ban import now accepts any filename that ends with &amp;quot;.csv&amp;quot;, not just &amp;quot;bans.csv&amp;quot;.&lt;br /&gt;
*Fix: ServerCLI no longer crashes upon receiving EOF from console.&lt;br /&gt;
*Fix: Fixed a rare case of hidden players being revealed (briefly) when their rank is changed.&lt;br /&gt;
*Fix: Fixed [[/Spectate]] leaving ghost players behind on world change (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed a couple typos in [[/WLock]] and [[/WUnlock]] (thanks ImNoobSoWhat).&lt;br /&gt;
*Change: Added server name to [[/ServerInfo]]&lt;br /&gt;
*Change: If opening a link fails (from ConfigGUI or ServerGUI), the URL is copied to clipboard, instead of crashing.&lt;br /&gt;
*Change: &amp;quot;[[/Import]] bans&amp;quot; no longer prints a message for every player who&#039;s already banned, instead showing a total number of already-banned players at the end.&lt;br /&gt;
*Change: Added a missing &amp;quot;Copy&amp;quot; context menu to the ServerGUI&#039;s log box (thanks to Jonty800).&lt;br /&gt;
*Change: fCraft front-ends now check fCraft.dll&#039;s assembly version, and refuse to start if there is a mismatch (Thanks Zaneo).&lt;br /&gt;
&lt;br /&gt;
===0.623===&lt;br /&gt;
&#039;&#039;9 July 2012 - r1624&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in [[/PasteX]] and [[/PasteNotX]].&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] crash when given a non-banned IP address.&lt;br /&gt;
*Fix: Fixed a crash in Player.DetectChatSpam if AntiSpam was supposed to be disabled.&lt;br /&gt;
*Fix: Fixed typos in comments and messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed a crash in [[/ZAdd]] (thanks thelonedrummer18).&lt;br /&gt;
&lt;br /&gt;
===0.622===&lt;br /&gt;
&#039;&#039;6 July 2012 - r1619&#039;&#039;&lt;br /&gt;
*Feature: ServerGUI message log is now color-coded, easier to select/copy/paste, and featuring clickable links.&lt;br /&gt;
*Fix: Fixed several regressions in [[/Hide]] and [[/Spectate]] that were introduced in 0.620-0.621 (thanks mark_b).&lt;br /&gt;
*Fix: Fixed [[/Deafen]] being usable from console (thanks phonebookguy).&lt;br /&gt;
*Fix: Fixed a crash in Paste/PasteNot/PasteX/PasteNotX (thanks Grant).&lt;br /&gt;
*Misc: Updated some draw command messages, credits, help entries, warnings.&lt;br /&gt;
&lt;br /&gt;
===0.621===&lt;br /&gt;
&#039;&#039;5 July 2012 - r1612&#039;&#039;&lt;br /&gt;
*Feature: Added CommandBook banlist (bans.csv) support to [[/Import]].&lt;br /&gt;
*Feature: Added a way to list all players of a certain rank with &amp;quot;[[/Info]] @ClassName&amp;quot;.&lt;br /&gt;
*Feature: Added {PLAYER_LIST} variable, for use in greetings/announcements/rules.&lt;br /&gt;
*Fix: Fixed changes to DefaultBackupInterval config key not being applied.&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] showing &amp;quot;players on same IP&amp;quot; for players without a recorded IP address.&lt;br /&gt;
*Fix: Fixed fCraft occasionally using localized datetime and number formatting.&lt;br /&gt;
*Fix: Fixed [[/Cut]] storing the selected blocks before checking player&#039;s draw limit (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed [[/Fill2D]] starting a selection even if command parameters could not be parsed (thanks David00143).&lt;br /&gt;
*Fix: Fixed [[/Copy]] and [[/Cut]] reporting incorrect origin information (thanks nope__avi).&lt;br /&gt;
*Fix: Players who are spectating or being spectated by you are no longer hidden from the tab player list (thanks ruggedbear).&lt;br /&gt;
*Change: If multiple players are spectating the same player, they no longer see each other (thanks Hellenion).&lt;br /&gt;
*Change: Small improvements and fixes to [[/WSet]] and to AntiSpam functionality.&lt;br /&gt;
*Change: Sped up PlayerDB loading on startup.&lt;br /&gt;
*Change: Added shortcuts for [[/SetInfo]] field names.&lt;br /&gt;
&lt;br /&gt;
===0.620===&lt;br /&gt;
&#039;&#039;17 June 2012 - r1592&#039;&#039;&lt;br /&gt;
*Feature: WoM Direct description and flags can now be set from config, without the need to go to WoM Direct website.&lt;br /&gt;
*Feature: Added a new [[/WSet]] command, that allows hiding worlds, changing backup settings, and setting greeting messages.&lt;br /&gt;
*Feature: More [[/WInfo]] information is persisted across server restarts: IsLocked, LockedBy, UnlockedBy, LoadedBy, LoadedOn, MapChangedBy, MapChangedOn.&lt;br /&gt;
*Feature: Added IRCStripMinecraftColors config key (default: true). It determines whether Minecraft colorcodes (ampersand codes) entered on IRC should be removed before showing the message in-game.&lt;br /&gt;
*Fix: Fixed incorrect percentages occasional being printed by [[/Measure]], [[/Cancel]], and [[/Undo]].&lt;br /&gt;
*Fix: Locked worlds remain locked after server restart.&lt;br /&gt;
*Fix: Addressed many flaws and glitches in the backup system.&lt;br /&gt;
*Fix: Fixed a case where draw commands that affected no blocks caused division by zero&lt;br /&gt;
*Fix: Fixed a PlayerDB record corruption bug that affected numbers over 100,000,000.&lt;br /&gt;
*Fix: Fixed a stability issue related to LineWrapper (thanks Kevinsweijen and Mc_MrCat).&lt;br /&gt;
*Fix: Fixed IRC markup codes being forwarded to the server in IRC&#039;s channel-kick messages.&lt;br /&gt;
*Fix: Fixed [[/Unmute]] not checking rank limits (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;IP&amp;gt;&amp;quot; and &amp;quot;[[/BanAll]] &amp;lt;PlayerName&amp;gt;&amp;quot; not checking ban exemptions when kicking players (thanks BobKare).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;PlayerName&amp;gt;&amp;quot; not kicking all the players from IP address.&lt;br /&gt;
*Fix: Fixed Undo/Redo messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed compatibility with Mono 2.10.8.1 (thanks Hawkzeh).&lt;br /&gt;
*Change: Removed [[/WHide]] and [[/WUnhide]] (obsoleted by [[/WSet]]).&lt;br /&gt;
&lt;br /&gt;
===0.618===&lt;br /&gt;
&#039;&#039;22 April 2012 - r1568&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in ConfigGUI when trying to sort by map size and a map file is missing (thanks Moose).&lt;br /&gt;
*Change: Ampersands are no longer allowed in chat, even escaped, due to unpredictable Minecraft client behavior.&lt;br /&gt;
&lt;br /&gt;
===0.617===&lt;br /&gt;
&#039;&#039;21 April 2012 - r1564&#039;&#039;&lt;br /&gt;
*Feature: [[/BInfo]] now accepts optional XYZ coordinates, like [[/Mark]].&lt;br /&gt;
*Fix: Added a workaround for &amp;quot;Internal error Flush&amp;quot; under Mono.&lt;br /&gt;
*Fix: Fixed [[/WBring]] printing incorrect usage syntax (thanks recon_)&lt;br /&gt;
*Fix: Fixed typo in [[/BlockDB]] (thanks xN8Gx)&lt;br /&gt;
*Fix: Fixed IRC bots not binding to the specified local endpoint.&lt;br /&gt;
*Fix: Fixed &amp;quot;PreviousRank&amp;quot; not getting updated by [[/SetInfo]] working (thanks nope__avi)&lt;br /&gt;
*Fix: Fixed several rare stability issues (thanks Kevinsweijen).&lt;br /&gt;
*Fix: Fixed [[/Undo]] and [[/Redo]] producing odd log messages if 0 blocks have been changed.&lt;br /&gt;
*&amp;lt;s&amp;gt;Change: Allowed &#039;&amp;amp;&#039; character (ampersand) to be entered in chat, which is now escaped.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===0.616===&lt;br /&gt;
&#039;&#039;10 March 2012 - r1498&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Import]] terminating when importing bans, if a player with the given name is already banned.&lt;br /&gt;
*Fix: Fixed a formatting error in [[/Bring]] and [[/WBring]] confirmation messages.&lt;br /&gt;
*Fix: Fixed mixed-up messages in [[/WAccess]] and [[/WBuild]] when removing players from blacklist/whitelist (thanks ruggedbear and xN8Gx)&lt;br /&gt;
*Fix: Fixed [[/Static]] not turning off after switching worlds (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed [[/Rotate]] printing incorrect copyslot number (thanks Mc_MrCat)&lt;br /&gt;
*Fix: Fixed a ServerGUI crash when pressing the down arrow key after typing in the first console message (thanks Jason)&lt;br /&gt;
*Fix: [[/Me]] messages no longer count towards stats twice (thanks recon_)&lt;br /&gt;
*Fix: [[/Mute]] and [[/Unmute]] now usable with &amp;quot;-&amp;quot; in place of player name (thanks thelonedrummer18)&lt;br /&gt;
*Fix: Fixed README.txt typo (thanks Wolfmade)&lt;br /&gt;
&lt;br /&gt;
===0.615===&lt;br /&gt;
&#039;&#039;2 February 2012 - r1445&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Patrol]] checking Spectate permission, and [[/SpecPatrol]] not checking it.&lt;br /&gt;
*Fix: Fixed [[/WRename]] not updating player&#039;s last-used-world-name (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed colorcodes (%-codes) not getting applied consistently (thanks BobKare)&lt;br /&gt;
*Fix: Fixed a rare name-verification issue that only affected players whose ranks have been imported (thanks Mc_MrCat)&lt;br /&gt;
*Fix: ServerGUI now correctly interprets &amp;quot;Notify&amp;quot; and &amp;quot;Auto&amp;quot; updater settings.&lt;br /&gt;
*Change: Data backups are now stored in ./databackups/ directory.&lt;br /&gt;
&lt;br /&gt;
===0.614===&lt;br /&gt;
&#039;&#039;24 January 2012 - r1426&#039;&#039;&lt;br /&gt;
*Fix: Fixed server crashing if PlayerDB.txt exists but is empty.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Join]] -&amp;quot; using player names, and &amp;quot;[[/TP]] -&amp;quot; using world names.&lt;br /&gt;
*Fix: Solved File.Replace-related errors, which caused occasional save failures.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking caller&#039;s Spectate permission limit when selecting the next target.&lt;br /&gt;
*Fix: Fixed &amp;quot;random&amp;quot; brush producing obvious repeating patterns.&lt;br /&gt;
*Fix: Fixed auto-updater occasionally freezing when attempting to &amp;quot;Restart Now&amp;quot;.&lt;br /&gt;
*Fix: Added permission limit check to [[/Unfreeze]] (thanks Xb0x4d4m)&lt;br /&gt;
*Fix: Improved the way [[/Bring]] and [[/WBring]] enforce access permissions (thanks Hellenion)&lt;br /&gt;
*Change: Added more information about player connects/disconnects to log file.&lt;br /&gt;
&lt;br /&gt;
===0.613===&lt;br /&gt;
&#039;&#039;11 January 2012 - r1401&#039;&#039;&lt;br /&gt;
*Fix: Fixed ConfigGUI not saving changes to ShowConnectionMessages key.&lt;br /&gt;
*Fix: Fixed a case where ConfigGUI could crash while attempting to rename a world.&lt;br /&gt;
*Fix: All spectate permissions are now re-checked when someone gets promoted or demoted.&lt;br /&gt;
*Fix: Fixed ConfigGUI Worlds tab crash when dealing with zoned maps.&lt;br /&gt;
*Fix: Fixed IRC bot not retrying for desired nickname after reconnecting&lt;br /&gt;
*Fix: Fixed a case where editing a world via ConfigGUI would clear security whitelists/blacklists.&lt;br /&gt;
*Fix: Fixed spectating players not being treated as hidden (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed formatting in &amp;quot;Player ___ got auto-kicked&amp;quot; message (thanks BobKare)&lt;br /&gt;
*Fix: Fixed auto-kick revealing hidden players (thanks BobKare)&lt;br /&gt;
*Fix: Fixed RandomBrush-related [[/Undo]] artifacts in [[/Triangle]] (thanks Lunara_Noctis)&lt;br /&gt;
&lt;br /&gt;
===0.612===&lt;br /&gt;
&#039;&#039;14 December 2011 - r1307&#039;&#039;&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] @Rank&amp;quot; not autocompleting rank names.&lt;br /&gt;
*Fix: Fixed compatibility with legacy PlayerDB format versions. PlayerDB files created by fCraft 0.400+ will work again.&lt;br /&gt;
*Fix: Fixed several syntax problems and crashes in /Gen.&lt;br /&gt;
*Fix: Fixed a bug that reset a world&#039;s BackupInterval to default and IsLocked flag to false after changing the map (backport from 0.700).&lt;br /&gt;
*Fix: Fixed a bug that prevented kicks/bans/promotions/demotions from being announced on IRC if no reason was given.&lt;br /&gt;
*Change: Capped all user-entered time spans at 9999 days.&lt;br /&gt;
*Change: Shortened and clarified some confirmation prompts ([[/Gen]], [[/WLoad]], [[/ZRemove]], [[/Import]], [[/MassRank]]).&lt;br /&gt;
&lt;br /&gt;
===0.611===&lt;br /&gt;
&#039;&#039;3 December 2011 - r1282&#039;&#039;&lt;br /&gt;
*Feature: Added information about periodic backups to [[/WInfo]].&lt;br /&gt;
*Fix: Fixed [[/Players]] not working properly if both world name and offset were given.&lt;br /&gt;
*Fix: Fixed [[/WAccess]], [[/WBuild]], and [[/ZEdit]] not working with one-letter rank names.&lt;br /&gt;
*Fix: Fixed [[/BanIP]], /BanAll, /UnbanIP, and /UnbanAll treating fully numeric player names as IPs.&lt;br /&gt;
*Fix: Fixed [[/SetInfo]] not resetting PlayerInfo.LastModified date.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] populated&amp;quot; revealing worlds with hidden players.&lt;br /&gt;
*Fix: Fixed [[/BringAll]] ignoring per-rank limits in some cases (thanks ferny530)&lt;br /&gt;
*Fix: Fixed appearance of black and white blocks in [[/Env]] edges (thanks Jonty)&lt;br /&gt;
*Fix: Fixed a bug in Position.Equals&amp;lt;Position&amp;gt;(), which may have caused unnecessary position updates in Player.UpdateVisibleEntities (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed a little crash in Chat.GetRawMessageType (thanks ruggedbear)&lt;br /&gt;
*Fix: Fixed a case where Player.CanPlace checked permissions against the wrong world&#039;s BuildSecurity controller (thanks Xesdra)&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Commands]] @Rank&amp;quot; showing hidden commands (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed a typo in [[/Worlds]] (thanks Kevinsweijen)&lt;br /&gt;
*Fix: Fixed BlockDBAutoEnable and BlockDBAutoEnableRank config keys being placed in the &amp;quot;General&amp;quot; section.&lt;br /&gt;
*Change: Improved config.xml format (now version 152). Configs created with fCraft 0.611+ will not be usable with older versions of fCraft.&lt;br /&gt;
*Change: Rewrote ServerGUI startup code to make it more responsive (thanks to 800craft for the idea).&lt;br /&gt;
*Change: Added information about command-line options to the README, and fixed some typos.&lt;br /&gt;
*Change: MaxConnectionsPerIP restriction no longer applies to localhost.&lt;br /&gt;
*Change: Increased block-ratio limit for &amp;quot;random&amp;quot;, &amp;quot;cloudy&amp;quot;, and &amp;quot;marbled&amp;quot; brushes from 1000 to 10,000.&lt;br /&gt;
&lt;br /&gt;
===0.610===&lt;br /&gt;
&#039;&#039;18 November 2011 - r1240&#039;&#039;&lt;br /&gt;
*Feature: Added [[/Fill2D]] (/f2d), [[/Triangle]] (/t), and [[/TriangleW]] (/tw) draw commands.&lt;br /&gt;
*Feature: Added ability to filter [[/Worlds]] by rank.&lt;br /&gt;
*Feature: Added [[/Static]] (a way to repeat selection commands).&lt;br /&gt;
*Feature: Added MaxUndoStates config key (how many steps back can [[/Undo]] go), and ConfigGUI bindings.&lt;br /&gt;
*Feature: Added experimental IP-range lookup to [[/Info]] (CIDR notation). Changed /Info pattern-matching single-character symbol from &#039;.&#039; to &#039;?&#039;&lt;br /&gt;
*Feature: Added pagination to [[/Players]].&lt;br /&gt;
*Feature: [[/Spectate]] and [[/SpecPatrol]] now show what commands, PMs, and rank messages the target types in.&lt;br /&gt;
*Feature: Added a way to change server salt without needing a restart, using &amp;lt;code&amp;gt;[[/Reload]] Salt&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: [[/Measure]] now shows statistics about block types in the selection.&lt;br /&gt;
*Feature: [[/Gen]] now has two new templates: &amp;quot;ocean&amp;quot; and &amp;quot;empty&amp;quot;&lt;br /&gt;
*Fix: Many fixes in name-retyping functionality.&lt;br /&gt;
*Fix: Addressed stability issues in LineWrapper and Undo/Redo.&lt;br /&gt;
*Fix: Fixed [[/WLock]] not canceling all draw commands (as intended).&lt;br /&gt;
*Fix: Fixed some outdated descriptions, links, and tooltips in ConfigGUI.&lt;br /&gt;
*Fix: Fixed being able to BanIP/BanAll/UnbanIP/UnbanAll invalid IP addresses (0.0.0.0 and 255.255.255.255).&lt;br /&gt;
*Fix: Fixed [[/Info]] printing a blank page (instead of the last page) if given offset is greater than the total number of matches.&lt;br /&gt;
*Fix: Fixed rank prefixes being appended to players&#039; names if DisplayedName is set.&lt;br /&gt;
*Fix: Fixed a couple rare crashes/hangs in ServerGUI when parsing console commands.&lt;br /&gt;
*Fix: Fixed [[/Ban]] and [[/Unban]] announcing when they&#039;re not supposed to.&lt;br /&gt;
*Fix: Fixed a potential crash in [[/BanInfo]] when looking up an IP address directly (no player name).&lt;br /&gt;
*Fix: Fixed another obscure way of revealing hidden players.&lt;br /&gt;
*Fix: Fixed Beta client kick message (thanks Voziv).&lt;br /&gt;
*Fix: Fixed [[/Commands]] defaulting to printing ALL commands.&lt;br /&gt;
*Fix: Fixed [[/Undo]] trying to re-cancel canceled commands.&lt;br /&gt;
*Fix: Fixed uncaught &amp;quot;Illegal characters in path.&amp;quot; exception when trying to save a [[/Gen]]&#039;erated map to an invalid filename.&lt;br /&gt;
*Fix: Fixed typos in [[/ReplaceNot]] and [[/UndoArea]].&lt;br /&gt;
*Change: Added a warning on startup if name verification is disabled.&lt;br /&gt;
*Change: Tweaks and improvements to [[/Info]], [[/WInfo]], [[/BanInfo]], [[/SetInfo]], and [[/Commands]].&lt;br /&gt;
*Change: Removed code that tries next port if the given one could not be used. Now fCraft either starts on the port specified in config, or dies.&lt;br /&gt;
*Change: Commands now complain about being given too many parameters (in addition to complaining about too few parameters). This should help catch mistyped commands.&lt;br /&gt;
*Change: Added an option to disable giant-tree generation in ConfigGUI&#039;s map generator.&lt;br /&gt;
*Change: Changed log format for bans/kicks to include more information, and fixed log message format for &amp;quot;Player ____ logged in from an IP shared by banned players...&amp;quot;&lt;br /&gt;
*Change: Included config.xml in the automated data backup.&lt;br /&gt;
*Change: ConfigGUI tweaks and improvements.&lt;br /&gt;
*Change: Changes some aliases:&lt;br /&gt;
**Added /Whois and /WhoWas as aliases for [[/Info]].&lt;br /&gt;
**Set &amp;quot;/B&amp;quot; and &amp;quot;/About&amp;quot; to be aliases for [[/BInfo]].&lt;br /&gt;
*Change: Changed some ConfigKey defaults:&lt;br /&gt;
**BlockDBEnabled defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
**WomEnableEnvExtensions defaults to &amp;quot;false&amp;quot;&lt;br /&gt;
**IRCBotAnnounceServerEvents defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
*Change: Discontinued ServerWinService (formerly fCraftWinService) subproject.&lt;br /&gt;
*API: Improved Vector3I, Vector3F, and Position classes a bit.&lt;br /&gt;
*API: New events: DrawOperation.Beginning / Began / Ended&lt;br /&gt;
*API: Changed the way PlayerInfo stores empty string fields. Instead of a 0-length string, it now uses nulls.&lt;br /&gt;
*Optimization: Sped up PlayerDB loading/saving, and boolean ConfigKey lookup.&lt;br /&gt;
&lt;br /&gt;
===0.604===&lt;br /&gt;
&#039;&#039;23 October 2011 - r1155&#039;&#039;&lt;br /&gt;
*Feature: Added support for repeating previously-entered player and world names. Just put a dash (-) in place of the player/world name when using a command, and fCraft will fill in the most-recently-used name.&lt;br /&gt;
*Fix: Fixed an occasional SecurityController-related crash in [[/Gen]], [[/WLoad]], and ConfigGUI world editor.&lt;br /&gt;
*Fix: Fixed an very rare problem in shutdown/restart commands.&lt;br /&gt;
*Fix: Fixed a rare crash that only happened if: MaxPlayers&amp;gt;128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.&lt;br /&gt;
*Fix: Fixed naming of paste/pastenot and pastex/pastenotx&lt;br /&gt;
*Fix: Fixed a permission exploit in /wbring (thanks to panda100123)&lt;br /&gt;
*Fix: Fixed [[/Rules]] section finder accidentally being case-sensitive.&lt;br /&gt;
*Fix: Fixed an issue with MCSharp/MCZall/MCLawl/MCQuai/MCStorm/MCForge/MCWhatever importer.&lt;br /&gt;
*Change: Decreased shading strength in IsoCat renderer.&lt;br /&gt;
*Change: Added /Who as an alias for [[/Players]], by request.&lt;br /&gt;
*Change: Clarified ConfigGUI description of name verification settings.&lt;br /&gt;
*Change: Normalized command name capitalization. Command names must now start with an uppercase letter, for consistency.&lt;br /&gt;
*API: Fixed inconsistencies in PlayerDB.txt header row format declaration.&lt;br /&gt;
&lt;br /&gt;
===0.603===&lt;br /&gt;
&#039;&#039;20 October 2011 - r1142&#039;&#039;&lt;br /&gt;
*Fix: [[/Cancel]] can no longer be repeated with &amp;quot;/&amp;quot; (no longer replaces previously-called command).&lt;br /&gt;
*Fix: Fixed [[/Rotate]] and [[/Mirror]] messing up if a paste command is in progress.&lt;br /&gt;
*Fix: Re-enabled crash interception and reporting.&lt;br /&gt;
&lt;br /&gt;
===0.602===&lt;br /&gt;
&#039;&#039;18 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Feature: One-click paste commands are now the default. Two-click aligned paste commands are now known as [[/PasteX]] (/PX) and [[/PasteNotX]].&lt;br /&gt;
*Feature: Added [[/ReplaceBrush]] (/RB) command (shortcut for &amp;lt;code&amp;gt;[[/Brush]] ReplaceBrush&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;[[/Cuboid]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: Added a way to change number of copy/paste slots per rank from ConfigGUI.&lt;br /&gt;
*Fix: Fixed a few typos and missing help entries.&lt;br /&gt;
*Fix: Fixed DrawOp completion message and log entry.&lt;br /&gt;
*Fix: Fixed [[/Paste]] and [[/PasteNot]] not properly clipping against world boundaries.&lt;br /&gt;
*Fix: Fixed ConfigGUI not preserving environment settings for worlds.&lt;br /&gt;
*Fix: Fixed ConfigGUI losing some worlds and showing some errors when importing from 0.5xx.&lt;br /&gt;
*Fix: Fixed [[/Bring]] not being usable from console.&lt;br /&gt;
*Fix: Fixed [[/WRename]] crashing if invalid characters (from filesystem&#039;s point of view) are present in the new name.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking for Spectate permission.&lt;br /&gt;
*Fix: Fixed [[/UndoArea]]&#039;d and [[/UndoPlayer]]&#039;ed blocks having &amp;quot;Restored&amp;quot; flag set in /bi&lt;br /&gt;
*Fix: Fixed a detached checkbox on &amp;quot;Worlds&amp;quot; tab of ConfigGUI.&lt;br /&gt;
*Fix: Fixed [[/Say]], [[/Staff]], and [[/Me]] getting logged twice.&lt;br /&gt;
*Fix: Fixed per-world backup settings being cleared on server restart.&lt;br /&gt;
*Fix: Fixed a rare NullReferenceException in WorldManager.LoadWorldList that occurred if the main world was missing, and the fallback world had access restrictions.&lt;br /&gt;
*Fix: Fixed some issues with BlockDB settings in &amp;quot;Add World&amp;quot; and &amp;quot;Edit World&amp;quot; popups of ConfiGUI.&lt;br /&gt;
*Fix: Fixed a rare ConfigGUI crash when resetting the rank tab whole one of the old ranks is selected.&lt;br /&gt;
*Change: Sped up [[/EllipsoidH]] and [[/SphereH]] slightly (thanks to Redshift).&lt;br /&gt;
*Change: Improved error handling in [[/Env]] when setting level.&lt;br /&gt;
*Change: Double-buffered the preview on &amp;quot;Chat&amp;quot; tab of ConfigGUI, to get rid of flicker.&lt;br /&gt;
*Change: Clarified auto-freeze message when trying to kick/ban someone without a required reason string.&lt;br /&gt;
&lt;br /&gt;
===0.601===&lt;br /&gt;
&#039;&#039;15 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Fixed several issues with [[/Undo]] and drawing commands.&lt;br /&gt;
&lt;br /&gt;
===0.600===&lt;br /&gt;
&#039;&#039;14 October 2011 - r1107&#039;&#039;&lt;br /&gt;
:&#039;&#039;See [http://www.fcraft.net/0.600/ http://www.fCraft.net/0.600] for a summary of changes, and upgrade notes.&#039;&#039;&lt;br /&gt;
*Chat: Added a {{cmd|Timer}} command for creating publicly-announced countdowns/timers.&lt;br /&gt;
*Chat: Added a way to cancel partial messages: &amp;lt;code&amp;gt;/Nvm&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Chat: Removed &amp;quot;Banned player ___ tried to log in&amp;quot; and &amp;quot;Player ___ tried to log in from a banned IP&amp;quot; messages.&lt;br /&gt;
*Chat: {{cmd|Say}}, {{cmd|Staff}}, and {{cmd|Me}} commands can no longer repeated using &amp;quot;/&amp;quot; shortcut.&lt;br /&gt;
*Chat: Added a warning when trying to PM deafened players.&lt;br /&gt;
*Chat: Added a shortcut for chatting to same rank: &amp;quot;@@ Message&amp;quot;&lt;br /&gt;
*Chat: Increased the number of blank lines sent by {{cmd|Clear}} to 30, to accommodate players with smaller-than-normal font sizes.&lt;br /&gt;
*Chat Fix: Fixed {{cmd|Say}}, {{cmd|Roll}}, {{cmd|Staff}}, and {{cmd|Me}} sometimes bypassing {{perm|Chat}} permission, mute check, or spam detection check.&lt;br /&gt;
*Chat Fix: Fixed rank chat being logged twice.&lt;br /&gt;
*Chat Fix: Fixed some system messages getting through to deafened players.&lt;br /&gt;
*Chat Fix: {{cmd|Deafen}} now clears the screen when toggled on.&lt;br /&gt;
*Commands: Rank and zone names now autocomplete.&lt;br /&gt;
*Commands: Players can no longer freeze, mute, kick, ban, unban, promote, or demote themselves.&lt;br /&gt;
*Commands: {{cmd|Players}} can now be called with an optional WorldName parameter, to only list players in a particular world.&lt;br /&gt;
*Commands: {{cmd|WLoad}} now takes two more optional parameters: build rank and access rank names.&lt;br /&gt;
*Commands: {{cmd|Info}} now shows last leave reason, idle time, freeze/mute information, and ban exemption status.&lt;br /&gt;
*Commands: Augmented {{cmd|Rules}} to support several rule categories.&lt;br /&gt;
*Commands: Added {{cmd|Spectate}} and {{cmd|SpecPatrol}} (&amp;lt;code&amp;gt;/SPat&amp;lt;/code&amp;gt;) commands.&lt;br /&gt;
*Commands: Added {{cmd|WBring}} (brings target player to a world);&lt;br /&gt;
*Commands: Added {{cmd|Spawn}} command (brings you to spawn). Typing &amp;quot;{{cmd|TP}}&amp;quot; no longer does the same thing, and {{cmd|TP}} now always requires {{perm|Teleport}} permission.&lt;br /&gt;
*Commands: Algorithm that {{cmd|Patrol}} uses to pick the next target was improved.&lt;br /&gt;
*Commands: Renamed Lock/Unlock commands to {{cmd|WLock}}/{{cmd|WUnlock}}, for consistency.&lt;br /&gt;
*Commands: Merged &amp;lt;code&amp;gt;/ReloadConfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/AutoRankReload&amp;lt;/code&amp;gt; into {{cmd|Reload}} command. Merged &amp;lt;code&amp;gt;/ImportRanks&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/ImportBans&amp;lt;/code&amp;gt; into {{cmd|Import}} command. Combined functionality of &amp;lt;code&amp;gt;/LockAll&amp;lt;/code&amp;gt; into {{cmd|WLock}}, and functionality of &amp;lt;code&amp;gt;/UnlockAll&amp;lt;/code&amp;gt; into {{cmd|WUnlock}}.&lt;br /&gt;
*Commands: {{cmd|Info}} and {{cmd|Worlds}} now support pagination.&lt;br /&gt;
*Commands: When world access permissions are changed with {{cmd|WAccess}}, players who lost ability to join the world will automatically be moved to main.&lt;br /&gt;
*Commands: Frozen player can no longer call most commands, with exception of: {{cmd|Clear}}, {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|RankInfo}}, {{cmd|ServerInfo}}, {{cmd|Ranks}}, {{cmd|Rules}}, {{cmd|Where}}, {{cmd|Help}}, {{cmd|Commands}}, {{cmd|Colors}}, {{cmd|Worlds}}, {{cmd|Zones}}, and {{cmd|ZInfo}}.&lt;br /&gt;
*Commands: {{cmd|Bring}} and {{cmd|WBring}} now give the option of overriding worlds&#039; access minimum-rank. Explicitly blacklisted players will continue to be barred.&lt;br /&gt;
*Commands: Added {{cmd|InfoSwap}} command, for swapping two players&#039; ranks and PlayerDB records.&lt;br /&gt;
*Commands: Added a way to abort a server shutdown or restart (&amp;quot;{{cmd|Shutdown|abort}}&amp;quot; or &amp;quot;{{cmd|Restart|abort}}&amp;quot;).&lt;br /&gt;
*Commands: {{cmd|RankInfo}} now shows copy/paste slots, idle kick time, and permission limits.&lt;br /&gt;
*Commands: Most time-related commands now take the [[Time formatting|compact format]] (e.g. 1m30s, 45s, 24h, etc).&lt;br /&gt;
*Commands: Color-coded {{cmd|Commands}}.&lt;br /&gt;
*Commands: Limited {{cmd|Mute}} duration to range between 1 second and 700 days (100 weeks).&lt;br /&gt;
*Commands: {{cmd|SetInfo}} now allows changing players&#039; DisplayedName.&lt;br /&gt;
*Commands: A warning is now shown when a player is kicked/banned, and other players are still connected from the IP.&lt;br /&gt;
*Commands: Added a way to add IP ban exemptions using {{cmd|BanEx}} (banning all players from IP except a particular one).&lt;br /&gt;
*Commands: Added automatic countdowns to {{cmd|Shutdown}} and {{cmd|Restart}}.&lt;br /&gt;
*Commands: Added more stats to {{cmd|ServerInfo}}.&lt;br /&gt;
*Commands: {{cmd|MassRank}} now defaults to silent, and takes a &amp;quot;reason&amp;quot; parameter.&lt;br /&gt;
*Commands: Added &amp;quot;/St&amp;quot; as an alias for {{cmd|Staff}}. Changed &amp;quot;/L&amp;quot; from being alias for {{cmd|Join}}, to being alias for {{cmd|Lava}}. Removed &amp;quot;/Cub&amp;quot; alias for {{cmd|Cuboid}}.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|UnbanIP}} and {{cmd|UnbanAll}} not announcing the unban reason.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Info}} not formatting names of offline players.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Restart}} breaking under Mono if working path contains spaces.&lt;br /&gt;
*Commands Fix: Fixed freeze/unfreeze printing wrong ranks in &amp;quot;You can only freeze players ranked ____ or lower&amp;quot; messages.&lt;br /&gt;
*Commands Fix: Fixed a rare crash in {{cmd|Rules}} when used from console.&lt;br /&gt;
*Commands Fix: {{cmd|BanIP}} and {{cmd|BanAll}} no longer allow to ban the IP if it&#039;s shared by any players whom caller is not allowed to ban.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Ignore}} and {{cmd|Unignore}} printing all matches at once on autocompletion.&lt;br /&gt;
*Commands Fix: Fixed a case where {{cmd|BringAll}} could reveal hidden players.&lt;br /&gt;
*Commands Fix: Fixed a few bugs in {{cmd|DumpStats}}, expanded player listing to top-5/bottom-5, and added &amp;quot;BlocksDrawn&amp;quot; stat.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Rank}} and {{cmd|TP}} commands showing up in {{cmd|Commands}} for ALL players.&lt;br /&gt;
*Commands Fix: Fixed a couple rare bugs in {{cmd|Roll}}.&lt;br /&gt;
*Commands Fix: Fixed broken {{cmd|BringAll}} support for bringing multiple ranks at once.&lt;br /&gt;
*Commands Fix: Fixed several obscure ways of revealing presence of hidden players via commands like {{cmd|ServerInfo}} and {{cmd|Worlds}}.&lt;br /&gt;
*Config: New config keys: BackupDataOnStartup (default: true), RestartInterval (default: 0), HeartbeatToWoMDirect (default: true), BlockDBEnabled (default: true), BlockDBAutoEnable (default: true), and BlockDBAutoEnableRank (default: DefaultRank), WoMEnableEnvExtensions (default: false).&lt;br /&gt;
*Config: Added {{perm|Spectate}} permission that covers {{cmd|Spectate}} and {{cmd|SpecPatrol}}.&lt;br /&gt;
*Config: Added {{perm|DrawAdvanced}} permission that covers {{cmd|Brush}}, {{cmd|Sphere, {{cmd|SphereH}}, {{cmd|Torus}}, and {{cmd|Restore}} commands.&lt;br /&gt;
*Config: Added {{perm|ManageBlockDB}} permission that covers {{cmd|BlockDB}}.&lt;br /&gt;
*Config: Added {{perm|UndoOthersActions}} permission that covers {{cmd|UndoPlayer}} and {{cmd|UndoArea}}.&lt;br /&gt;
*Config: {{cmd|Reload}} can now update more config keys without needing a restart: AutoRankEnabled, BandwidthUseMode, ConsoleName, DefaultRank, DefaultBuildRank, PatrolledRank.&lt;br /&gt;
*Config: Removed obsolete ShowBannedConnectionMessages config key.&lt;br /&gt;
*Config Fix: Fixed DefaultRank/DefaultBuildRank/PatrolledRank settings not being applied.&lt;br /&gt;
*ConfigGUI: Added BlockDB settings to &amp;quot;Worlds&amp;quot; tab and &amp;quot;Add/Edit World&amp;quot; dialog.&lt;br /&gt;
*ConfigGUI: Reorganized Rank tab.&lt;br /&gt;
*ConfigGUI: Relaxed restrictions on rank prefixes.&lt;br /&gt;
*ConfigGUI: Added &amp;quot;Insert Color&amp;quot; and &amp;quot;Insert Keyword&amp;quot; buttons to announce/rule/greeting editors in ConfigGUI, and a &amp;quot;Reset&amp;quot; button to revert edits.&lt;br /&gt;
*ConfigGUI: Any errors/warnings that are produced while loading &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt; in ConfigGUI are now displayed at startup.&lt;br /&gt;
*ConfigGUI Fix: ConfigGUI no longer loses worlds&#039; whitelists/blacklists.&lt;br /&gt;
*ConfigGUI Fix: Fixed several bugs related to renaming worlds.&lt;br /&gt;
*ConfigGUI Fix: Fixed several &amp;quot;Reset&amp;quot; bugs.&lt;br /&gt;
*ConfigGUI Fix: Fixed &amp;quot;Enable colors in IRC&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*ConfigGUI Fix: Fixed ConfigTool&#039;s Chat tab not updating to reflect changes in rank colors/prefixes.&lt;br /&gt;
*ConfigGUI Fix: Fixed sort order in Worlds tab when sorting by world size.&lt;br /&gt;
*ConfigGUI Fix: Fixed some rank dropdown menus in ConfigGUI showing &amp;quot;(lowest rank)&amp;quot; instead of &amp;quot;(default rank)&amp;quot; as the default option.&lt;br /&gt;
*Drawing: Introduced a brush/pattern system for draw commands. Rewrote (almost) all existing draw commands to take advantage of that new infrastructure. Brushes are: Normal (default), Checkered, Random, Cloudy, Marbled, Replace, ReplaceNot, ReplaceBrush.&lt;br /&gt;
*Drawing: Added a way to {{cmd|Undo}} up to five commands back. Use {{cmd|Redo to reverse it.&lt;br /&gt;
*Drawing: Added {{cmd|Torus}} drawing command, written and contributed by M1_Abrams.&lt;br /&gt;
*Drawing: Added support for multiple copy/paste slots, using {{cmd|CopySlot}}. Number of slots of configurable per-rank.&lt;br /&gt;
*Drawing: {{cmd|Replace}} and {{cmd|ReplaceNot}} can now take just one blocktype. The replacement type is inferred from the type of block player is holding when clicking.&lt;br /&gt;
*Drawing: {{cmd|Undo}} now cancels the last drawing commands.&lt;br /&gt;
*Drawing: Added a new [[Blocks|block name aliases]]: &amp;quot;g&amp;quot; for grass, &amp;quot;w&amp;quot; for water, &amp;quot;a&amp;quot; for air.&lt;br /&gt;
*Drawing Fix: Added a missing volume check to {{cmd|Line}}, and fixed {{cmd|CuboidW}} volume calculations.&lt;br /&gt;
*Drawing Fix: Fixed {{cmd|Copy}} and {{cmd|Cut}} reporting incorrect orientation.&lt;br /&gt;
*FrontEnd: Colored ConfigCLI log messages: red for errors, yellow for warnings, dark gray for debug, default (gray) for everything else. Call with &amp;quot;--noconsolecolor&amp;quot; parameter to disable.&lt;br /&gt;
*FrontEnd: ServerCLI now handles all updater modes properly, and downloads updater/restarts if needed.&lt;br /&gt;
*FrontEnd: Improved window titles.&lt;br /&gt;
*FrontEnd Fix: Fixed ServerCLI writing errors to stdout instead of stderr.&lt;br /&gt;
*Misc: Players who log out hidden will now log in silently, still hidden.&lt;br /&gt;
*Misc: More [[Constants|keywords]] are now usable in announcements, rules, and greeting files: {SERVER_NAME}, {MOTD}, {RANK}, {PLAYER_NAME}, {TIME}, {WORLD}, {PLAYERS}, and {WORLDS}&lt;br /&gt;
*Misc: Kicked or disconnected players no longer have their TotalTime increased for the time idled.&lt;br /&gt;
*Misc: fCraft will refuse to start up if running old versions of mono (2.4 or earlier).&lt;br /&gt;
*Misc: Crash reporter now prints a reference number for submitted reports.&lt;br /&gt;
*Misc: AutoRank now only evaluates online players on a timer. A full database sweep will only be done on startup or on-demand. This should notably reduce average CPU use on large databases.&lt;br /&gt;
*Misc: Added AutoRank pseudoplayer (similar to Console), who is now credited with all autorank promotions/demotions.&lt;br /&gt;
*Misc: Increased the allowed clicking distance when manually clicking blocks, to account for lag.&lt;br /&gt;
*Misc: IRC bot now announces channel kicks and nick changes.&lt;br /&gt;
*Misc: When a player with a reserved slot tries to join a full world, the longest-idle player will be kicked to make room.&lt;br /&gt;
*Misc: Frozen, demoted, and banned players are now automatically unhidden. Frozen players are undeafened. Banned players are also automatically unfrozen and unmuted.&lt;br /&gt;
*Misc: When a player&#039;s rank is changed, their bindings are now reset (to avoid issues with {{cmd|Water}}, {{cmd|Lava}}, and {{cmd|Solid}}), and any in-progress selection is canceled ([[:Category:Requires Draw|draw]] commands, {{cmd|Zone}}, {{cmd|ZTest}}, {{cmd|BInfo}}, {{cmd|Measure}}, etc)&lt;br /&gt;
*Misc: Frozen players now have a little blue star appended to their names, similar to the red star for banned players.&lt;br /&gt;
*Misc: Moved all heartbeat-related operations to the background thread (fixes lag spikes when minecraft.net times out).&lt;br /&gt;
*Misc: Added a dynamically updated compass at the top-right of the screen, visible to players who use WoM 1.8.8+&lt;br /&gt;
*Misc: Added a check for libMonoPosix on server startup. This allows catching misconfigured Mono setups early.&lt;br /&gt;
*Misc: Ranks now default to &amp;quot;white&amp;quot; color (&amp;quot;&amp;amp;f&amp;quot;) instead of &amp;quot;none&amp;quot; color (&amp;quot;&amp;quot;).&lt;br /&gt;
*Misc: Edited the &amp;quot;failed to load main world&amp;quot; message to sound less menacing, since it&#039;s usually caused just by main world filling up.&lt;br /&gt;
*Misc: Sped up {{cmd|PruneDB}}, {{cmd|MassRank}}, map generation. Reduced memory use of draw commands, undo buffers, and ConfigGUI.&lt;br /&gt;
*Misc Fix: Fixed &amp;quot;duplicate metadata key&amp;quot; warning in FCMv3 maps.&lt;br /&gt;
*Misc Fix: Fixed a zone-related race condition when exporting to Opticraft map format.&lt;br /&gt;
*Misc Fix: Fixed fCraft being unable to start if fCraft.dll is in the root directory of a drive (e.g. in &amp;quot;C:/&amp;quot;)&lt;br /&gt;
*Misc Fix: Fixed a bug that caused bandwidth to sometimes be wasted on needlessly updating position of non-moving players.&lt;br /&gt;
*Misc Fix: Fixed a clock drift problem in periodic SchedulerTasks.&lt;br /&gt;
*Misc Fix: Fixed a case where, in some rank configurations, players would see themselves as offline when hidden (in {{cmd|Info}}, {{cmd|BInfo}}, {{cmd|Players}}, etc).&lt;br /&gt;
*PlayerDB: Added 46th column: PlayerInfo.IsHidden (&#039;h&#039; if hidden, otherwise blank).&lt;br /&gt;
*PlayerDB: Added 47th column: PlayerInfo.LastModified (UTC unix timestamp). Accuracy is not yet guaranteed.&lt;br /&gt;
*PlayerDB: Added 48th column: PlayerInfo.DisplayedName (string or blank). Overrides &amp;quot;Name&amp;quot; field for purposes of displaying formatted name (ClassyName).&lt;br /&gt;
*PlayerDB: Removed 14th column (FailedLoginCount) due to disuse.&lt;br /&gt;
*PlayerDB: PlayerDB now writes out changes to TotalTime incrementally for online players, instead of applying the change on-logout.&lt;br /&gt;
*Worlds: Added a way to change some environment and texture settings per-map, using {{cmd|Env}}.&lt;br /&gt;
*Worlds: Per-world settings on backup intervals now work.&lt;br /&gt;
*Worlds: Added BlockDB - a system for tracking edits per-block. Added related {{cmd|BlockDB}} and {{cmd|BInfo}} commands.&lt;br /&gt;
*Worlds: Added {{cmd|UndoPlayer}} and {{cmd|UndoArea}} commands for undoing players&#039; actions using BlockDB.&lt;br /&gt;
*Worlds: If a world has a missing map file, a warning is now shown, and a default flatgrass map is created.&lt;br /&gt;
*Worlds: Added a way to set per-rank main world, using {{cmd|WMain}}.&lt;br /&gt;
*Worlds: Added {{cmd|Restore}} command, inspired by good old MinerCPP. Selectively loads a map from another file or backup.&lt;br /&gt;
*Worlds: Allowed non-standard dimensions (neither multiples of 16, nor powers of 2). Added a warning about glitches when using nonstandard dimensions.&lt;br /&gt;
*Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to {{cmd|WInfo}} and to &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worlds: MapGenerator tweaks: &amp;quot;default&amp;quot; template is now known as &amp;quot;random,&amp;quot; &amp;quot;mountains&amp;quot; template now has more cliffs and snow on mountaintops, &amp;quot;island&amp;quot; template is less rough and has nice beaches, and water is now automatically removed from &amp;quot;desert&amp;quot; maps.&lt;br /&gt;
*Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.&lt;br /&gt;
*Worlds Fix: Fixed an exploit that allowed players to bypass world access permissions in certain rank configurations.&lt;br /&gt;
*Worlds Fix: Fixed some rare crashes in {{cmd|WLoad}}.&lt;br /&gt;
*Worlds Fix: Fixed {{cmd|WAccess}} and {{cmd|WBuild}} occasionally not saving the world list after adding players to the access/build whitelists.&lt;br /&gt;
*Worlds Fix: Fixed being unable to change just the capitalization when renaming worlds from ConfigGUI, under Windows.&lt;br /&gt;
*Zones: Added {{cmd|ZRename}} command to rename zones.&lt;br /&gt;
*Zones: Added {{cmd|ZMark}} command to use zone boundaries for drawing or making selections.&lt;br /&gt;
*Zones Fix: Fixed {{cmd|ZAdd}} crash when adding more than one personal zone for the same player ({{cmd|ZAdd|+Name}}).&lt;br /&gt;
*Zones Fix: Fixed a rare case where two players could simultaneously create a zone with the same name on the same world, which would crash one of the players.&lt;br /&gt;
*Zones Fix: {{cmd|Zones}} no longer crashes if used on a world with a missing or corrupt map file.&lt;br /&gt;
*Zones Fix: Tightened security checks of {{cmd|ZAdd}} and {{cmd|ZRemove}} to prevent a permission exploit.&lt;br /&gt;
*API: Added specialized MetadataCollection class to manage per-map and per-player metadata, and ZoneCollection for zones.&lt;br /&gt;
*API: Added ReSharper-compatible annotations and more argument checks throughout the codebase.&lt;br /&gt;
*API: fCraft now consistently uses [X,Y,Z] for coordinates (where X/Y are horizontal, and Z is vertical), and [Width,Length,Height] for dimensions (Width/Length horizontal, Height vertical).&lt;br /&gt;
*API: Merged Session and Player classes. All session-related functionality is in Player.Networking.cs file.&lt;br /&gt;
*API: New line-wrapping algorithm provides better performance and safety. Now using &amp;quot;\n&amp;quot; instead of &amp;quot;&amp;amp;N&amp;quot; to force a newline.&lt;br /&gt;
*API: Renamed World.PlayerList to World.Players, Server.PlayerList to Server.Players, and added PlayerDB.PlayerInfoList&lt;br /&gt;
*API: New LINQ-style API for working with sets of players. This API is now used for all messaging and packet-sending. Old API (Server.Send* and World.Send*) was removed.&lt;br /&gt;
*API: New unified API for handling player-generated chat (Chat static class), and new events (Chat.Sending and Chat.Sent).&lt;br /&gt;
*API: All cancellable events now implement ICancellableEvent.&lt;br /&gt;
*API: MapDAT and MapNBT now implement IMapConverter.LoadHeader.&lt;br /&gt;
*API: Converted IClassy.GetClassyName(), Rank.GetFullName(), and Player.GetListName() to properties.&lt;br /&gt;
*API: Renamed ConfigKey.GetBool() to ConfigKey.Enabled(). Added ConfigKey.TryGetInt() and ConfigKey.TryGetBool() methods.&lt;br /&gt;
*API: CommandManager.RegisterCommand() now checks for reserved command names (currently &amp;quot;ok&amp;quot; and &amp;quot;nvm&amp;quot;), and does a better job at handling command name capitalization differences.&lt;br /&gt;
*API: Added ability to override Player.MaxBlockPlacementRange, Player.SocketTimeout, Heartbeat.Delay, and Heartbeat.Timeout.&lt;br /&gt;
*API: Renamed RankManager.ParseRank(string) to Rank.Parse(string)&lt;br /&gt;
*API: All draw/undo/copy/paste commands have been moved to fCraft.Drawing namespace.&lt;br /&gt;
*API: Added support for multiple {{cmd|Help}} sections per command.&lt;br /&gt;
*API: Added CommandCategory.Debug, removed CommandDescriptor.HelpHander and HelpHandler delegate.&lt;br /&gt;
*API: Moved Server.Player* events to Player.* and Server.PlayerInfo* to PlayerInfo.*&lt;br /&gt;
*API: Expanded the confirmation system (&amp;lt;code&amp;gt;/OK&amp;lt;/code&amp;gt;) to allow custom callbacks, decoupled from the command system.&lt;br /&gt;
*API Fix: &amp;quot;Bad heartbeat&amp;quot; reply from minecraft.net no longer triggers UrlChanged event.&lt;br /&gt;
*API Fix: Fixed a couple bugs in BoundingBox.GetIntersection and BoundingBox.Contains.&lt;br /&gt;
*API Fix: Fixed {{cmd|Replace}} and {{cmd|ReplaceNot}} not firing Player.PlacedBlock&lt;br /&gt;
*events.&lt;br /&gt;
*API Fix: Uncaught exceptions that occur while parsing player messages no longer send crash reports when in DEBUG configuration.&lt;br /&gt;
&lt;br /&gt;
=0.5xx=&lt;br /&gt;
&lt;br /&gt;
===0.537===&lt;br /&gt;
&#039;&#039;14 September 2011 - r991&#039;&#039;&lt;br /&gt;
*Fixed another heartbeat-related issue caused by minecraft.net updates.&lt;br /&gt;
&lt;br /&gt;
===0.536===&lt;br /&gt;
&#039;&#039;14 September 2011 - r988&#039;&#039;&lt;br /&gt;
*Fix: Fixed a rare crash in DoChangeRank when promoting/demoting offline players.&lt;br /&gt;
*Fix: Fixed a case where world access/build whitelist additions were not immediately saved.&lt;br /&gt;
*Fix: Fixed several errors in the way time spans were displayed.&lt;br /&gt;
*Fix: Unhandled exceptions in background task callbacks will no longer take down the server&lt;br /&gt;
*Change: Changed the heartbeat handler to use GET instead of POST (workaround for minecraft.net problems).&lt;br /&gt;
*Change: Removed AutoLauncher.&lt;br /&gt;
&lt;br /&gt;
===0.535===&lt;br /&gt;
&#039;&#039;1 July 2011 - r702&#039;&#039;&lt;br /&gt;
*Workaround for minecraft.net heartbeat changes.&lt;br /&gt;
&lt;br /&gt;
===0.534===&lt;br /&gt;
&#039;&#039;18 June 2011 - r668&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;lt;RestartInterval&amp;gt; config key (in seconds). It should help people who are suffering from Mono memory leaks. This setting can only currently be modified by editing config.xml&lt;br /&gt;
*Fix: Fixed /wload and /gen resetting the world&#039;s hidden status.&lt;br /&gt;
*Fix: Fixed &amp;quot;Apply&amp;quot; button not getting enabled in ConfigTool when world list is changed.&lt;br /&gt;
*Fix: Fixed /cw reporting incorrect volume (fixes #3308137).&lt;br /&gt;
*Fix: Added a confirmation when /wrename will result in overwriting a map file, and fixed a related crash (fixes #3311994).&lt;br /&gt;
*Fix: Fixed FormatException in error handling code in World.AcceptPlayer&lt;br /&gt;
*Fix: Fixed /info not showing formatted names for players who appear offline.&lt;br /&gt;
*Fix: Fixed several issues with renaming worlds from ConfigTool.&lt;br /&gt;
*Fix: Fixed /restart breaking under Mono if path contains spaces.&lt;br /&gt;
*Fix: Fixed /staff, /me, and /roll commands not requiring the Chat permission.&lt;br /&gt;
*Fix: Fixed &amp;quot;Use IRC colors&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*Change: Allowed all printable ASCII characters in chat except &#039;&amp;amp;&#039;.&lt;br /&gt;
*Change: Heartbeat tweaks to prevent &amp;quot;Bad heartbeat&amp;quot; from popping up.&lt;br /&gt;
*Optimization: ConfigTool starts up faster, and uses much less memory.&lt;br /&gt;
&lt;br /&gt;
===0.533===&lt;br /&gt;
&#039;&#039;24 May 2011 - r614&#039;&#039;&lt;br /&gt;
*Fix: Fixed a regression in 0.530 that erased some strings in PlayerInfo and IPBanInfo objects, such as ban reasons.&lt;br /&gt;
*Change: Increased heartbeat interval to 27.5 seconds.&lt;br /&gt;
*Change: Reduced jitter of player movement.&lt;br /&gt;
&lt;br /&gt;
===0.532===&lt;br /&gt;
&#039;&#039;23 May 2011 - r611&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;quot;/worlds loaded&amp;quot; command.&lt;br /&gt;
*Fix: Fixed a bug that prevented worlds from accepting any block changes after a map change (/wload or /gen)&lt;br /&gt;
*Fix: Fixed &amp;quot;Player _____ joined main.&amp;quot; displaying twice when players connect.&lt;br /&gt;
*Change: Added /colours as an alias to /colors&lt;br /&gt;
*Change: Adjusted /dumpstats security checks, and made it require EditPlayerDB permission (instead of Import).&lt;br /&gt;
&lt;br /&gt;
===0.531===&lt;br /&gt;
&#039;&#039;20 May 2011 - r603&#039;&#039;&lt;br /&gt;
*Feature: /SInfo now shows bandwidth use, fCraft version, and .NET/Mono version.&lt;br /&gt;
*Feature: Added ability to use coordinates with mark (e.g. &amp;quot;/Mark 0 0 0&amp;quot;).&lt;br /&gt;
*Fix: Fixed non-default rank settings not saving properly from ConfigTool.&lt;br /&gt;
*Fix: Fixed a serialization bug in IPBanList that happened if a ban reason was not given, or if an IP address was not associated with any player.&lt;br /&gt;
*Fix: Fixed a few minor bugs in /WMain.&lt;br /&gt;
*Change: Allowed the caret (^) in chat messages.&lt;br /&gt;
*Change: Reduced movement lag.&lt;br /&gt;
*Change: /version command has been removed due to redundancy with /sinfo.&lt;br /&gt;
*Change: Detailed reasons of player disconnects are now logged better.&lt;br /&gt;
*Change: Increased Minecraft.net heartbeat interval slightly.&lt;br /&gt;
*API: Added new events: Scheduler.TaskAdded, Scheduler.TaskExecuting, Scheduler.TaskExecuted, and Scheduler.TaskRemoved. These events are only available when fCraft.dll is built with DEBUG_SCHEDULER flag because of their performance impact.&lt;br /&gt;
*Optimization: Removed the scheduler overhead from having unloaded worlds.&lt;br /&gt;
*Optimization: Sped up MapGenerator by about 10%.&lt;br /&gt;
&lt;br /&gt;
===0.530===&lt;br /&gt;
&#039;&#039;7 May 2011 - r583&#039;&#039;&lt;br /&gt;
*Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.&lt;br /&gt;
*Feature: Added OptiCraft blocktype names and blocks&#039; numeric IDs as aliases.&lt;br /&gt;
*Fix: Fixed block bindings not being applied to drawing commands.&lt;br /&gt;
*Fix: Fixed fCraft getting confused if worlds.xml contains duplicates.&lt;br /&gt;
*Fix: Fixed &amp;quot;/&amp;quot; (repeat last command) not rewinding the command, which caused some issues with command arguments.&lt;br /&gt;
*Fix: Fixed &amp;quot;Max connections per IP&amp;quot; setting not saving in ConfigTool.&lt;br /&gt;
*Fix: Fixed AnnounceRankChangeReasons checkbox being erroneously tied to RequireRankChangeReasons key in ConfigTool.&lt;br /&gt;
*Fix: Added some missing tooltips to ConfigTool.&lt;br /&gt;
*Fix: Marked 10.0.0.0/8 IP range as LAN.&lt;br /&gt;
*Fix: Fixed an issue with balanced name verification (thanks wootalyzer).&lt;br /&gt;
*Fix: Fixed server announcing hidden players&#039; departure (#3292633). Thanks to Hellenion.&lt;br /&gt;
*Fix: Fixed /bring not checking per-rank permissions (#3292303). Thanks to Denny&lt;br /&gt;
*Fix: Fixed some header bugs in the D3 map converter.&lt;br /&gt;
*Fix: Fixed /wload crashing instead of printing an error message under Mono if the path was malformed.&lt;br /&gt;
*Fix: Fixed /banip not recognizing invalid IPs (e.g. broadcast).&lt;br /&gt;
*Fix: Fixed antispam resetting players&#039; mute time.&lt;br /&gt;
*Fix: Fixed Scheduler being able to add tasks after the shutdown process started.&lt;br /&gt;
*Fix: Reduced problems associated with players trying to connect while the server is shutting down.&lt;br /&gt;
*Fix: Added autorank.xml to the list of protected files.&lt;br /&gt;
*Fix: Fixed a crash in backup system that happened if two backups ran simultaneously and the total size or number of backup files was limited.&lt;br /&gt;
*Fix: Fixed a case where duplicate worlds could be created.&lt;br /&gt;
*Change: When players rejoin a world (e.g. /wflush or /wload), &amp;quot;joined world&amp;quot; message is no longer shown.&lt;br /&gt;
*Change: /mute no longer allows shortening players&#039; mute time, only to extend it.&lt;br /&gt;
*Change: Allowed player names with periods.&lt;br /&gt;
*Change: Removed SaveOnShutdown config key, tweaked range checks on some keys, grouped key tags into section tags.&lt;br /&gt;
*Change: When saving config.xml, keys with default values are now commented out.&lt;br /&gt;
*API: New events! PlayerHideChanged, PlayerInfoCreating, PlayerInfoCreated, PlayerInfoRankChanging, and PlayerInfoRankChanged.&lt;br /&gt;
*API: Server.StartServer() now throws specific exceptions on failure, instead of returning false.&lt;br /&gt;
*API: Removed some obsolete Server events.&lt;br /&gt;
*API: Switched to 100% Utc dates/times internally. PlayerDB now uses UTC Unix timestamps to serialize all dates/times.&lt;br /&gt;
*Optimization: Sped up map generation.&lt;br /&gt;
*Optimization: Reduced PlayerDB saving interval, reduced PlayerDB filesize, reduced CPU and memory use of PlayerDB saving, reduced memory footprint of loaded PlayerDB, improved IPAddress lookup performance in PlayerDB.&lt;br /&gt;
&lt;br /&gt;
===0.522===&lt;br /&gt;
&#039;&#039;16 April 2011 - r546&#039;&#039;&lt;br /&gt;
*Feature: Added more functionality to hollow ellipsoid and sphere, thanks to Redshift. Now it is possible to define outer/inner blocktypes.&lt;br /&gt;
*Feature: Added OptiCraft map format support, courtesy of LgZ-optical&lt;br /&gt;
*Fix: Fixed a serious error that caused a crash when main world became full. This bug affected 0.520 and 0.521.&lt;br /&gt;
*Fix: Fixed AutoLauncher not working under Mono (thanks to ven000m for spotting).&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog crashing if closed while generating a world.&lt;br /&gt;
*Fix: Fixed /restart using ShutdownReason.ShuttingDown (instead of ShutdownReason.Restarting) &lt;br /&gt;
*Fix: Fixed a crash in ConfigTool if MaxPlayers was set to be less than MaxPlayersPerWorld.&lt;br /&gt;
*Fix: When loading old configs (pre-0.520), MaxPlayersPerWorld is automatically set to match MaxPlayers, to avoid unexpected side effects.&lt;br /&gt;
*API: Added WorldCreating and WorldCreated events.&lt;br /&gt;
*API: Moved world-related commands from Server to a new class, WorldManager.&lt;br /&gt;
*API: Renamed RankList to RankManager, and CommandList to CommandManager, for consistency.&lt;br /&gt;
&lt;br /&gt;
===0.521===&lt;br /&gt;
&#039;&#039;12 April 2011 - r534&#039;&#039;&lt;br /&gt;
*Feature: Added a /Clear command, to clear in-game chat. Also works from fCraftConsole and fCraftUI.&lt;br /&gt;
*Fix: Added missing chat commands.&lt;br /&gt;
*Fix: Cosmetic fixes in /ZRemove.&lt;br /&gt;
&lt;br /&gt;
===0.520===&lt;br /&gt;
&#039;&#039;12 April 2011 - r532&#039;&#039;&lt;br /&gt;
*Feature: Removed the server-wide 128 player limit. Now the limit is per-world.&lt;br /&gt;
*Feature: You can now repeat the last command by typing &amp;quot;/&amp;quot;&lt;br /&gt;
*Feature: Added a way to use color codes in chat (with % instead of &amp;amp;), a UseColorCodes permission, and a /colors command.&lt;br /&gt;
*Feature: Added support for multi-line messages or commands. Add &amp;quot; /&amp;quot; to the end of a line to continue typing it.&lt;br /&gt;
*Feature: Added &amp;quot;/commands&amp;quot;, to replace &amp;quot;/help commands&amp;quot;. It allows filtering commands by rank, category, permissions, etc. Aliases: /cmdlist, /cmds&lt;br /&gt;
*Feature: New permissions: ViewPlayerIPs, BringAll&lt;br /&gt;
*Feature: New config switches: AnnounceRankChangeReasons and RequireKickReason.&lt;br /&gt;
*Feature: Replaced LimitOneConnectionPerIP config key (boolean) with a more flexible MaxConnectionsPerIP (int).&lt;br /&gt;
*Feature: Added /bringall command, for moving everyone (or only certain ranks) from your world (or optionally all worlds, or a list of other worlds) to your location.&lt;br /&gt;
*Feature: /bring can be limited per-rank&lt;br /&gt;
*Feature: When file is not found on case-sensitive filesystems, fCraft tries to syggest similar filenames.&lt;br /&gt;
*Feature: Added new constants to use in greeting.txt: {TIME}, {PLAYER_NAME}, {WORLD}, {PLAYERS}, {WORLDS}, {MOTD}&lt;br /&gt;
*Feature: Improved compatibility with SurvivalTest clients.&lt;br /&gt;
*Fix: Fixed /banip not kicking other players from the same IP (besides the named player)&lt;br /&gt;
*Fix: Added missing blocktype validation to MapFCMv2, MapFCMv3, MapMyne, and MapNBT.&lt;br /&gt;
*Fix: Fixed a rare shutdown crash in fCraftUI.&lt;br /&gt;
*Fix: Improved the way PlayerDB.Load handles errors in individual records. A single corrupted entry will no longer prevent the rest from loading.&lt;br /&gt;
*Fix: Fixed fCraftUI abruptly quitting on crash / failure to start, instead of showing the error message. Use &amp;quot;--exitoncrash&amp;quot; command-line switch to reproduce old behavior.&lt;br /&gt;
*Fix: Fixed ConfigTool&#039;s World tab not prompting to delete map files when deleting worlds.&lt;br /&gt;
*Fix: Fixed a bug in MCSharp importer (#3281305)&lt;br /&gt;
*Fix: Fixed a list of permissions in /rinfo not being sorted.&lt;br /&gt;
*Fix: Fixed /mute rank limit dropdown sometimes getting out of sync.&lt;br /&gt;
*Fix: Fixed IRC bot redundantly announcing kicks when someone has been banned.&lt;br /&gt;
*Fix: Fixed a bug where fCraft would fail to start if PlayerDB.txt was truncated/empty.&lt;br /&gt;
*Change: Moved &amp;quot;IP&amp;quot; config key from General to Advanced.&lt;br /&gt;
*Change: Added /spin as an alias to /rotate (for MCLawl users)&lt;br /&gt;
*API: New events: PlayerClicking, PlayerClicked, PlayerPlacingBlock, PlayerPlacedBlock, PlayerListChanged, PlayerBeingKicked, PlayerKicked&lt;br /&gt;
*Optimization: Reduced CPU use of draw commands by ~30%. Sped up PlayerDB loading by ~8%, and reduced memory use when saving. Also reduced PlayerDB filesize by about 15%&lt;br /&gt;
&lt;br /&gt;
===0.512===&lt;br /&gt;
&#039;&#039;2 April 2011 - r508&#039;&#039;&lt;br /&gt;
*Feature: /zones can now be used from console, and can be used on any world (active or inactive).&lt;br /&gt;
*Feature: Improved D3 map importer.&lt;br /&gt;
*Fix: Added missing filename sanity/safety checks to /dumpstats (#3267362, thanks to Hellenion)&lt;br /&gt;
*Fix: Fixed mixed up messages shown in /waccess and /wbuild (#3179189)&lt;br /&gt;
*Fix: Fixed crash reports sometimes failing to submit.&lt;br /&gt;
*Fix: Fixed /dumpstats crashing if a rank had 0 players.&lt;br /&gt;
*Fix: Made Mono version detection less crashy (#3267476, thanks to Hellenion again)&lt;br /&gt;
*Fix: Fixed MapUtility.LoadHeader terminating early, before going through all fallback converters.&lt;br /&gt;
*Fix: Fixed ConfigTool tab order.&lt;br /&gt;
*Fix: Fixed fCraft reporting inaccurate CPU usage figures.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in /rank if an invalid player name was given.&lt;br /&gt;
*Fix: Fixed fCraft project not building under Windows if path contains spaces.&lt;br /&gt;
*Change: Added &amp;quot;/serverreport&amp;quot; as an alias for &amp;quot;/sinfo&amp;quot;&lt;br /&gt;
*Change: Improved the way fCraft handles and reports map loading errors.&lt;br /&gt;
*API Change: Moved all filename constants (e.g. &amp;quot;PlayerDB.txt&amp;quot;) to Paths class.&lt;br /&gt;
&lt;br /&gt;
===0.511===&lt;br /&gt;
&#039;&#039;31 March 2011 - r497&#039;&#039;&lt;br /&gt;
*Feature: Further improvements to Mono support. fCraft will now utilize mono-sgen whenever possible.&lt;br /&gt;
*Fix: Fixed fCraftUI ignoring command-line arguments.&lt;br /&gt;
*Fix: Fixed broken /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed crash reports failing to submit.&lt;br /&gt;
*Fix: Fixed a timezone-related bug that messed up players&#039; &amp;quot;total time on server&amp;quot; stat.&lt;br /&gt;
*Change: Added a warning if running on old versions of Mono (2.6 or lower). &lt;br /&gt;
&lt;br /&gt;
===0.510_r489===&lt;br /&gt;
&#039;&#039;29 March 2011 - r489&#039;&#039;&lt;br /&gt;
*Fix: Fixed unnecessary GDI+ dependence in fCraftConsole under Mono&lt;br /&gt;
*Fix: Fixed EnumKeyAttribute not taking blank values (as in case of ProcessPriority config key).&lt;br /&gt;
&lt;br /&gt;
===0.510===&lt;br /&gt;
&#039;&#039;29 March 2011 - r488&#039;&#039;&lt;br /&gt;
*Feature: The fCraft updater has been rewritten and expanded. It now works under all OSes, and provides more features.&lt;br /&gt;
*Feature: fCraft now handles differences between case-sensitive and case-insensitive filesystems much better. /wrename and /wload are also aware of the filesystem.&lt;br /&gt;
*Feature: fCraft now checks presence, filename capitalization, and integrity of all map files on the world list at startup.&lt;br /&gt;
*Feature: New ConfigTool settings for updater, checkbox for showing &amp;quot;player connected/left&amp;quot; messages, and &amp;quot;/mute&amp;quot; permission settings.&lt;br /&gt;
*Feature: Added &amp;quot;/credits&amp;quot; command to ConfigUI.&lt;br /&gt;
*Feature: Implemented &amp;quot;--norestart&amp;quot; and &amp;quot;--exitoncrash&amp;quot; command-line switches for fCraft.&lt;br /&gt;
*Feature: fCraft event system is being rewritten with modding support in mind.&lt;br /&gt;
*Feature: Improved MCSharp/MCZall/MCLawl map support.&lt;br /&gt;
*Fix: Software errors that happen while parsing player and console commands will no longer cause disconnects/crashes.&lt;br /&gt;
*Fix: IPBanList will attempt to recover records lost due to a recent regression in 0.505.&lt;br /&gt;
*Fix: Fixed /wrename errors in cases where names differ only in capitalization.&lt;br /&gt;
*Fix: Fixed &amp;quot;Copy Existing World&amp;quot; showing the current world on the list in AddWorldPopup.&lt;br /&gt;
*Fix: Fixed &amp;quot;Chat&amp;quot; tab preview not updating when settings are reset.&lt;br /&gt;
*Fix: Fixed per-world whitelist/blacklist not saving when worlds are edited with AddWorldPopup.&lt;br /&gt;
*Fix: Fixed non-verified connections that get kicked from affecting that name&#039;s PlayerInfo.&lt;br /&gt;
*Fix: Server.GenerateSalt() now uses a cryptographically secure PRNG.&lt;br /&gt;
*Fix: Fixed verification problems on servers with HeartbeatEnabled=false.&lt;br /&gt;
*Fix: Fixed a wrong message being shown by /rank if the target is already same or higher/lower rank.&lt;br /&gt;
*Fix: Fixed /winfo showing incorrect information for last lock/unlock event.&lt;br /&gt;
*Fix: Fixed tabbing order on ConfigUI.&lt;br /&gt;
*Fix: Improved the way Server.InitLibrary and Logger.Log errors are handled.&lt;br /&gt;
*Fix: Added missing validation checks to LoadHeader in several map converters.&lt;br /&gt;
*Fix: Fixed players being able to complete a draw command or /zadd, if they were demoted before clicking for the second time.&lt;br /&gt;
*Fix: Added missing /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed a bug in /zinfo that showed incorrect creation/editing times.&lt;br /&gt;
*Fix: Better error messages for unrecognized block names in command parameters.&lt;br /&gt;
*Fix: /restart now works from ConfigUI under Mono (but still broken in fCraftConsole).&lt;br /&gt;
*Fix: Fixed handling of command-line arguments surrounded with quotes.&lt;br /&gt;
*Fix: Fixed a bug at ConfigTool.ConfigUI.xAllowSecurityCircumvention_CheckedChanged (#3181907, thanks to clhdrums87).&lt;br /&gt;
*Fix: Fixed /winfo counting hidden players (#3237877, thanks to Hellenion).&lt;br /&gt;
*Fix: Fixed MCSharp map exporter mixing up map dimensions (#3159501, thanks to dogwatch).&lt;br /&gt;
*Change: Improved the way fCraft project is built. Now all binaries are copied to /trunk/bin/Release or /trunk/bin/Debug.&lt;br /&gt;
*Change: Improved error tolerance of Scheduler.EndShutdown().&lt;br /&gt;
*Change: Expanded Logger.CheckForCommonErrors().&lt;br /&gt;
*Change: Renamed config keys (old ones can still be loaded): IRCBot to IRCBotEnabled, AutomaticUpdates to UpdaterMode.&lt;br /&gt;
*Change: Added /wadd as an alias for /wload.&lt;br /&gt;
*Change: Renamed Mcc namespace to fCraft.MapConversion.&lt;br /&gt;
*Change: Decreased timeout for fCraft update check.&lt;br /&gt;
*Change: Added a confirmation prompt to /rank when adding an unrecognized player name to the database.&lt;br /&gt;
*Optimization: Sped up heartbeat sending and world-related operations, increased world saving interval to 90 seconds, reduced per-player idle CPU usage, halved CPU usage of draw commands.&lt;br /&gt;
&lt;br /&gt;
===0.506===&lt;br /&gt;
&#039;&#039;11 February 2011 - r427&#039;&#039;&lt;br /&gt;
*Feature: Added hollow ellipsoid drawing (/eh) and hollow sphere drawing (/sph), contributed by Conrad &amp;quot;Redshift&amp;quot; Morgan.&lt;br /&gt;
*Fix: Fixed a regression in 0.503 that caused some IP ban records to be lost. I am terribly sorry!&lt;br /&gt;
*Fix: Fixed a path-related error in Map.SaveBackup&lt;br /&gt;
*Fix: Fixed a possible disconnect in Player.CheckBlockSpam is antigrief was not configured properly.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool.SaveWorldList.&lt;br /&gt;
*Fix: Fixed &amp;quot;Limit the number of blocks that can be undone&amp;quot; checkbox misbehaving (thanks to ven000m for bug report).&lt;br /&gt;
*Change: By popular demand /sphere2 is now the default behavior of /sphere.&lt;br /&gt;
*Change: Removed &amp;quot;oldSalt&amp;quot; check for name verification, to avoid having the server write to config.xml unnecessarily.&lt;br /&gt;
*Change: Removed &amp;quot;.backup&amp;quot; file creation, by popular demand. It was kinda useless.&lt;br /&gt;
&lt;br /&gt;
===0.505===&lt;br /&gt;
&#039;&#039;8 February 2011 - r422&#039;&#039;&lt;br /&gt;
*Feature: All draw commands now inform player if any blocks were skipped due to local permission issues (e.g. zones).&lt;br /&gt;
*Fix: Fixed a regression that caused backups to be saved in the wrong path. Backups were being saved to ./backups/ instead of ./maps/backups/&lt;br /&gt;
*Fix: Fixed a permission issue in /replace and /replacenot.&lt;br /&gt;
*Fix: Fixed /info not displaying a list of players from same IP.&lt;br /&gt;
*Fix: Addressed a security issue with salt generation.&lt;br /&gt;
&lt;br /&gt;
===0.504===&lt;br /&gt;
&#039;&#039;3 February 2011 - r419&#039;&#039;&lt;br /&gt;
*Fixed a crash bug related to SecurityController.MinRank&lt;br /&gt;
&lt;br /&gt;
===0.503===&lt;br /&gt;
&#039;&#039;3 February 2011 - r418&#039;&#039;&lt;br /&gt;
*Feature: Added /deafen command. It temporarily blocks all incoming messages (makes you go &amp;quot;deaf&amp;quot;), to allow taking screenshots, recording videos, or just playing without the wall of text.&lt;br /&gt;
*Feature: Added ShowBannedConnectionMessages config key (default: true). When disabled, no &amp;quot;banned player tried to log in&amp;quot; messages are shown.&lt;br /&gt;
*Fix: Fixed PlayerInfo.frozenOn not being set.&lt;br /&gt;
*Fix: Fixed kick messages for players affected by /banall&lt;br /&gt;
*Fix: Fixed /unbanall reason not being shown.&lt;br /&gt;
*Fix: /where now shows what world you are on.&lt;br /&gt;
*Fix: Fixed a couple minor bugs in /waccess and /wbuild.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in SecurityController constructor.&lt;br /&gt;
*Fix: Made several tweaks to improve the first-run experience.&lt;br /&gt;
&lt;br /&gt;
===0.502===&lt;br /&gt;
&#039;&#039;31 January 2011 - r411&#039;&#039;&lt;br /&gt;
*Fix: Adjusted for yet another change in the way minecraft.net replies to heartbeats (should fix all heartbeat issues for now).&lt;br /&gt;
*Fix: Added a check to /zremove to prevent players from deleting zones to gain access to areas from which they&#039;re barred.&lt;br /&gt;
*Fix: Fixed being able to use /me or /staff to write empty messages.&lt;br /&gt;
*Fix: Fixed frozen players not getting defrosted when kicked.&lt;br /&gt;
*Fix: Formatting fixes in &amp;quot;___ was previously frozen&amp;quot; message&lt;br /&gt;
*Fix: Fixed a mini-bug in Map.ValidateHeader()&lt;br /&gt;
*Change: Renamed /wremove to /wunload for consistency. &amp;quot;/wremove&amp;quot; is still usable as an alias.&lt;br /&gt;
&lt;br /&gt;
===0.501===&lt;br /&gt;
&#039;&#039;30 January 2011 - r408&#039;&#039;&lt;br /&gt;
*Feature: Added /sphere and /sphere2, based on code contributed by SystemX17.&lt;br /&gt;
*Feature: Added new config setting: ShowConnectedMessages (default: true)&lt;br /&gt;
*Feature: Added a notification for players who logged in frozen.&lt;br /&gt;
*Fix: Fixed frozen players twitching.&lt;br /&gt;
*Fix: Fixed IRC bot not stripping color codes in messages relayed from IRC to the game.&lt;br /&gt;
*Fix: Fixed lastSeen and lastLoginDate not being set for first-time players who failed to log in (e.g. IP-banned).&lt;br /&gt;
*Fix: Fixed /bring not working properly on frozen players.&lt;br /&gt;
*Fix: Fixed a case where it was possible to add access restrictions to main map.&lt;br /&gt;
*Fix: Fixed per-world whitelists/blacklists being lost when editing worlds.xml via ConfigTool.&lt;br /&gt;
*Fix: Fixed AutoRankAll showing wrong number of players promoted/demoted (just a formatting bug, no promotions were affected)&lt;br /&gt;
&lt;br /&gt;
===0.500===&lt;br /&gt;
&#039;&#039;25 January 2011 - r399&#039;&#039;&lt;br /&gt;
*Commands: Added /line drawing command, kindly contributed by SystemX17&lt;br /&gt;
*Commands: Added /restart command, to restart the server remotely (NOTE: does not work for fCraftWinService yet)&lt;br /&gt;
*Commands: Added /unmute command (same as &amp;quot;/mute name 0&amp;quot;)&lt;br /&gt;
*Commands: Added an option to silently hide (no disconnect/connect message).&lt;br /&gt;
*Commands: Added /ignore and /unignore commands to block chat from another player (for the duration of your visit).&lt;br /&gt;
*Commands: /whide and /wunhide commands added to hide/unhide worlds from the list.&lt;br /&gt;
*Commands: /worlds now takes an optional param: &amp;quot;/worlds all&amp;quot; lists visible+hidden worlds, and &amp;quot;/worlds hidden&amp;quot; lists hidden worlds only.&lt;br /&gt;
*Commands: List of player names from the same IP is now shown in /info.&lt;br /&gt;
*Commands: /help now shows what rank you need to be to use a command (for most commands).&lt;br /&gt;
*Commands: /bring now works on frozen players.&lt;br /&gt;
*Commands: /bring now takes an optional second name/parameter, to teleport someone to someone&lt;br /&gt;
*Commands: /info now shows whether a player is hidden (if the command caller has permission to see).&lt;br /&gt;
*Commands: Fixed a case where teleporting to a player who is currently changing worlds brings one to a wrong location.&lt;br /&gt;
*Commands: Fixed bindings (/water, /lava, /solid, and /bind) not being applied to draw commands.&lt;br /&gt;
*Commands: /wsave and /gen can now create directories if needed.&lt;br /&gt;
*Commands: Fixed a bug in /roll&lt;br /&gt;
*Commands: Sped up /paste, /pastenot, /replace, and /replacenot slightly.&lt;br /&gt;
*ConfigTool: New &amp;quot;Chat&amp;quot; tab for controlling appearance and content of in-game chat.&lt;br /&gt;
*ConfigTool: Added ability to customize MeColor (for /me messages, default: purple) and WarningColor (for major errors/warnings, default: red) in config.&lt;br /&gt;
*ConfigTool: AddWorldPopup can now show detailed info for maps of all supported formats.&lt;br /&gt;
*ConfigTool: Improved tooltips for several items in ConfigUI.&lt;br /&gt;
*FrontEnd: Uncaught exceptions that happen while executing commands from fCraftUI console are now handled by the crash reporter (instead of actually crashing).&lt;br /&gt;
*FrontEnd: Added /clear command for fCraftUI and fCraftConsole - clears log screen.&lt;br /&gt;
*FrontEnd: The URL is no longer highlighted after first heartbeat, to avoid stealing focus from console.&lt;br /&gt;
*Generator: Fixed &amp;quot;flatgrass&amp;quot; template&lt;br /&gt;
*Generator: Fixed alphabetical order in the list of templates&lt;br /&gt;
*Generator: MapGenerator now embeds generation parameters into the map file metadata&lt;br /&gt;
*Generator: Fixed several template loading bugs.&lt;br /&gt;
*Generator: Optimized AddBeaches to be about 2x faster&lt;br /&gt;
*Generator: Added a missing dimension check to /gen&lt;br /&gt;
*IRC: Messages relayed from game to IRC now have color codes preserved.&lt;br /&gt;
*IRC: Kicks, Bans, unbans, promotions, and demotions can now be relayed to IRC.&lt;br /&gt;
*IRC: IRC bot now relays /say messages, and /me messages (both /me on IRC and /me on the server).&lt;br /&gt;
*IRC: IRC Error handling is greatly improved.&lt;br /&gt;
*IRC: (Threaded) If one of the bots loses connection, one of the other bots take over parsing input.&lt;br /&gt;
*IRC: Increased IRC reconnect delay to 15 seconds.&lt;br /&gt;
*Maps: Switched to a new file format (FCMv3) that allows for future additions like block tracking and physics.&lt;br /&gt;
*Maps: Much of MCC (map conversion) API was rewritten for better consistency and performance.&lt;br /&gt;
*Maps: Improved support for loading indev (pre-infinite) maps, including Omen-generated maps.&lt;br /&gt;
*Maps: Improved resilience for loading maps with unknown blocktypes. Instead of failing, it just replaces any unknown blocks with air.&lt;br /&gt;
*Maps: Added consistent header validation to all map format loaders.&lt;br /&gt;
*Maps: Fixed maps not autosaving when zones are added or removed.&lt;br /&gt;
*Maps: Zone definitions are now serialized to XML. Zones saved with this revision of fCraft will no longer be readable by older version of fCraft.&lt;br /&gt;
*Maps: Fixed a bug when loading JTE&#039;s format maps.&lt;br /&gt;
*Maps: Fixed format of backup filenames.&lt;br /&gt;
*PlayerDB: Added new fields: bannedUntil, frozenOn, frozenBy, mutedUntil, mutedBy, IRCPassword, online, leaveReason&lt;br /&gt;
*PlayerDB: Fixed PlayerInfo.ID not being assigned for new players until sever restart / DB reload.&lt;br /&gt;
*PlayerDB: Fixed off-by-one error with PlayerInfo.timesVisited&lt;br /&gt;
*PlayerDB: Fixed /me, /say, rank chat, and /staff not counting towards PlayerInfo.linesWritten&lt;br /&gt;
*PlayerDB: Made PlayerDB more resilient to errors. Reduced filesize slightly by omitting default values for more date fields, and removing milliseconds from &amp;quot;totalTime&amp;quot;&lt;br /&gt;
*PlayerDB: Improved forwards compatibility of PlayerDB by removing maximum-field-count check.&lt;br /&gt;
*Security: Worlds can now have player whitelists and blacklists (just like zones) for access and build permissions.&lt;br /&gt;
*Security: Added a security check to /wsave, /wload, and /gen to prevent reading or overwriting files outside the map folder.&lt;br /&gt;
*Security: Added a per-rank security option to prevent players from whitelisting themselves, removing themselves from blacklists, or lowering their rank&#039;s restrictions on worlds and zones.&lt;br /&gt;
*Security: /mute and /freeze are now persistent even if the player reconnects.&lt;br /&gt;
*Security: Relaxed SetTile packet checks. Players will no longer be kicked due to Minecraft client bugs.&lt;br /&gt;
*Security: Fixed an exploit that allowed changing steps to doublesteps even inside zoned areas.&lt;br /&gt;
*Security: Improved consistency of permission dependencies.&lt;br /&gt;
*Security: Fixed a security exploit in /wmain that allowed players with ManageWorlds permission to gain access to restricted worlds.&lt;br /&gt;
*Security: Fixed a bug that prevented banning players who were not yet in PlayerDB.&lt;br /&gt;
*Security: Added an option to only allow paid players (PaidPlayersOnly)&lt;br /&gt;
*Stability: Made crash reporting more reliable. A failed crash report will no longer prevent error message from being logged and displayed.&lt;br /&gt;
*Stability: Fixed a crash in AddWorldPopup if dialog is closed while a map is still loading.&lt;br /&gt;
*Stability: To improve compatibility with some bots, removed &amp;quot;almost there...&amp;quot; message on the loading screen&lt;br /&gt;
*Stability: Disabled error reporting of common non-fCraft-related errors (like wrong runtime versions, or wrong Mono permissions).&lt;br /&gt;
*Stability: Added &amp;quot;libMonoPosixHelper.so&amp;quot; and &amp;quot;UnauthorizedAccessException&amp;quot; to Logger.CheckForCommonErrors, and made &amp;quot;Could not load file or assembly&amp;quot; check locale-independent.&lt;br /&gt;
*Stability: A backup file is now created whenever PlayerDB, IP ban list, config, or world list are saved (e.g. PlayerDB.txt.backup)&lt;br /&gt;
*Stability: Crash reporter now sends last 25 lines of the log.&lt;br /&gt;
*Stability: Added a fallback overload for Player.Message() that bypasses string format, to make the whole thing less prone to format errors.&lt;br /&gt;
*System: fCraft now takes command-line arguments (at startup) to override the following:&lt;br /&gt;
**working directory (--path=/your/path/here)&lt;br /&gt;
**log directory (--logpath=/your/path/here)&lt;br /&gt;
**map directory (--logpath=/your/path/here) - also overridable in a more user-friendly way via ConfigTool (MapPath key)&lt;br /&gt;
**config file location (--config=/your/path/and/filename.xml)&lt;br /&gt;
*System: Added an option to change the name of Console pseudoplayer in the config.&lt;br /&gt;
*System: Player.GetClassyName() and PlayerInfo.GetClassyName() now add an asterisk after banned players&#039; names&lt;br /&gt;
*System: Fixed hidden players remaining hidden in some cases.&lt;br /&gt;
*System: Fixed PacketWriter.MakeWrappedMessage ignoring uppercase hex colorcodes&lt;br /&gt;
*System: Implemented NoPartialPositionUpdates and RelayAllUpdates config keys.&lt;br /&gt;
*System: Several little glitches and inefficiencies fixed in movement handling code.&lt;br /&gt;
*System: Fixed &amp;quot;player connected&amp;quot; and other messages showing up too early in-game (before map loaded).&lt;br /&gt;
*System: Fixed kick message for players affected by /banall&lt;br /&gt;
*System: Added HeartbeatEnabled config key (default: true)&lt;br /&gt;
*System: Fixed a case where heartbeat could be sent from a different IP than the listening port on systems with multiple NICs/IPs and no configured static IP.&lt;br /&gt;
*System: Increased the write buffer for writing out PlayerDB, reducing I/O time by ~20% on .NET, and ~35% on Mono&lt;br /&gt;
*System: New Scheduler API.&lt;br /&gt;
*System: Modified /wload to avoid loading the map twice in case confirmation is needed.&lt;br /&gt;
*System: Changes to AutoRankEnabled will now be applied when /reloadconfig is called.&lt;br /&gt;
*System: Fixed unnecessary confirmation being asked when world name matches file name in /wload&lt;br /&gt;
*System: Eliminated the heartbeat thread by switching to async i/o.&lt;br /&gt;
*System: Improved startup and shutdown speed.&lt;br /&gt;
*System: Added a &amp;quot;how to promote yourself&amp;quot; message for fresh installations of fCraft.&lt;br /&gt;
*System: Fixed Server.OnPlayerDisconnected event firing for unregistered sessions.&lt;br /&gt;
*System: Made Color.Parse() and Color.GetName() translate fCraft-specific color assignments (e.g &amp;quot;&amp;amp;S&amp;quot; for &amp;quot;System&amp;quot;)&lt;br /&gt;
*System: Added better detection for SMP/Alpha clients trying to connect.&lt;br /&gt;
*System: Sped up AutoRankAll&lt;br /&gt;
&lt;br /&gt;
=0.4xx=&lt;br /&gt;
===0.499===&lt;br /&gt;
&#039;&#039;6 November 2010 - r311&#039;&#039;&lt;br /&gt;
*Feature: Added an option to disable name verification for players connecting from LAN.&lt;br /&gt;
*Feature: Added &#039;flat&#039; template to MapGenerator, allowing to make flat maps with any theme.&lt;br /&gt;
*Feature: Added &#039;grass&#039; pseudotheme to /gen command, which is basically the &#039;Forest&#039; theme with trees disabled.&lt;br /&gt;
*Fix: Fixed /wflush leaving ghosts/clones behind.&lt;br /&gt;
*Fix: Fixed muted players being able to use /say and /staff&lt;br /&gt;
*Fix: Fixed /baninfo ignoring permission checks.&lt;br /&gt;
*Fix: Fixed &amp;quot;draw limit&amp;quot; checkbox getting disabled in ConfigTool if a player had &#039;CopyAndPaste&#039; permission but no &#039;Draw&#039; permission.&lt;br /&gt;
*Fix: Fixed several off-by-1 errors involving random number generation, notably in MapGenerator and Server.GenerateSalt()&lt;br /&gt;
*Fix: Fixed potential crash in MapGenerator.SealLiquids&lt;br /&gt;
*Fix: Fixed a potential crash in Map.SaveBackup() if the map filename contained brackets.&lt;br /&gt;
*Fix: Fixed a forced disconnect when trying to feed /gen a theme or template with brackets in the name.&lt;br /&gt;
&lt;br /&gt;
===0.498===&lt;br /&gt;
&#039;&#039;4 November 2010 - r308&#039;&#039;&lt;br /&gt;
*Change: Disabled zlib support due to more potential memory leaks. fffuuuuu....&lt;br /&gt;
*Fix: Fixed Island, Bay, and Ice templates broken by the last patch.&lt;br /&gt;
*Fix: MapGeneratorArgs: snowTransition was interpreted as absolute (instead of relative) altitude, and marbledHeightmap incorrectly defaulted to &#039;true&#039;.&lt;br /&gt;
*Change: Updated readme and changelog.&lt;br /&gt;
&lt;br /&gt;
===0.497===&lt;br /&gt;
&#039;&#039;4 November 2010 - r306&#039;&#039;&lt;br /&gt;
*Feature: Added accurate progress reporting from MapGenerator. Coming soon: cancellation.&lt;br /&gt;
*Feature: New MapGenerator options: BeachHeight, CliffSmoothing, LandSlope, UnderwaterSlope, MaxHeightVariation, MaxDepthVariation.&lt;br /&gt;
*Feature: Added UI controls for snow/cliff/beach settings to AddWorldPopup.&lt;br /&gt;
*Feature: Added a list of popular IRC networks to ConfigTool.&lt;br /&gt;
*Change: Improved PlayerDB lookup performance by reducing locking.&lt;br /&gt;
*Fix: Fixed MapGenerator calculating slope incorrectly at the water boundary.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add Ore&amp;quot; requiring &amp;quot;Add Caves&amp;quot; in MapGenerator.&lt;br /&gt;
*Fix: Fixed water/lava caves not sealing liquids properly. &lt;br /&gt;
*Change: Set MapGenerator to default to 256x256x96&lt;br /&gt;
*Change: AddWorldPopup Generator tab layout overhaul&lt;br /&gt;
*Change: Organized MapGeneratorArgs and added serialization/deserialization for all the new options.&lt;br /&gt;
&lt;br /&gt;
===0.496===&lt;br /&gt;
&#039;&#039;3 November 2010 - r301&#039;&#039;&lt;br /&gt;
*Fix: Fixed File.Replace() failing if fCraft was set up on a partition/volume other than the one where temp folder is.&lt;br /&gt;
*Fix: Added missing tooltip for &amp;quot;Edit Greeting&amp;quot;&lt;br /&gt;
*Fix: Fixed /sinfo including hidden players in the player count.&lt;br /&gt;
&lt;br /&gt;
===0.495===&lt;br /&gt;
&#039;&#039;2 November 2010 - r300&#039;&#039;&lt;br /&gt;
*Feature: Added a way to edit the greeting message, by editing &amp;quot;greeting.txt&amp;quot;&lt;br /&gt;
*Feature: When a player gets banned, any previously-banned accounts from same IP are listed.&lt;br /&gt;
*Fix: Fixed renaming worlds from ConfigTool&#039;s &amp;quot;worlds&amp;quot; tab not always working.&lt;br /&gt;
*Fix: Fixed several filesystem-related errors on non-Windows systems by using Path.Combine() instead of string concatenation.&lt;br /&gt;
*Fix: Possible workaround for missing heartbeats.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;default build rank&amp;quot; controls in ConfigTools.&lt;br /&gt;
*Fix: Fixed overwrite confirmation popping up for /wload when loading map into an unloaded world with the same name.&lt;br /&gt;
*Fix: Fixed a case where Forester could get into an infinite loop when there&#039;s not enough room to place requested number of trees.&lt;br /&gt;
&lt;br /&gt;
===0.494===&lt;br /&gt;
&#039;&#039;31 October 2010 - r297&#039;&#039;&lt;br /&gt;
*Feature: New map generator features:&lt;br /&gt;
**Adjustable water level.&lt;br /&gt;
**Realistic trees (powered by Forester)&lt;br /&gt;
**Snow on mountaintops&lt;br /&gt;
**Realistic cliffs&lt;br /&gt;
**Beaches&lt;br /&gt;
**New template (peninsula) and theme (swamp).&lt;br /&gt;
**Option to delay heightmap bias until after marbling/inversion.&lt;br /&gt;
*Feature: Added a way to load .mine maps.&lt;br /&gt;
*Feature: Added confirmation for potentially destructive commands: /importranks, /importbans, /massrank, /wload overwrites, /gen overwrites, /wsave overwrites, /zremove.&lt;br /&gt;
*Feature: Added /staff chat and ReadStaffChat permission.&lt;br /&gt;
*Feature: Added wireframe cuboid (/cw)&lt;br /&gt;
*Feature: Added an optional second param for /ch (cuboid hollow) that specifies the blocktype of the &amp;quot;filling&amp;quot;.&lt;br /&gt;
*Feature: Added a way to specify default build permission for new worlds.&lt;br /&gt;
*Fix: Fixed /info, /baninfo, and /banip not handling players whose name contain only digits.&lt;br /&gt;
*Fix: Fixed DoChangeRank mixing up RankChangeType.&lt;br /&gt;
*Fix: Added missing fields to MapGeneratorArgs serializer.&lt;br /&gt;
*Fix: Fixed per-rank draw limits not being calculated correctly in some cases.&lt;br /&gt;
*Fix: Replaced File.Delete/File.Move calls with a more reliable File.Replace call. This should slightly improve reliability of map/playerdb.txt/ipbans.txt/worlds.xml saving.&lt;br /&gt;
*Fix: Fixed a little ConfigTool bug that did not properly reset PatrolledRank after a rank deletion.&lt;br /&gt;
*Fix: Fixed terminal colors not resetting in fCraftConsole after a fatal crash under Mono.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;Play&amp;quot; button in fCraftUI.&lt;br /&gt;
*Fix: Added some basic error reporting to fCraftWinService.&lt;br /&gt;
*Change: Tweaked AddWorldPopup layout to accommodate more options.&lt;br /&gt;
&lt;br /&gt;
===0.493===&lt;br /&gt;
&#039;&#039;27 October 2010 - r290&#039;&#039;&lt;br /&gt;
*Feature: /info now supports autocompletion, wildcards, and IP search.&lt;br /&gt;
*Feature: Experimental service wrapper for fCraft.&lt;br /&gt;
*Feature: Added more editable properties to /setinfo: RankChangeType, BanReason, UnbanReason, RankChangeReason, LastKickReason&lt;br /&gt;
*Feature: Various improvements to /info, including hide-aware &amp;quot;online&amp;quot; indicator.&lt;br /&gt;
*Feature: Made Player.NoAccessMessage() print the minimum required rank, instead of just permission name(s).&lt;br /&gt;
*Feature: Added wootalyzer&#039;s chunk rendering code to IsoCat.&lt;br /&gt;
*Fix: Fixed ConfigTool not taking advantage of ZLibStream &lt;br /&gt;
*Fix: Fixed a very improbable case of a thread getting spinlocked when calling IRC.Send() is preemptied, and if there are at least 2 IRC threads.&lt;br /&gt;
*Fix: Fixed kick packets occasionally not being delivered due to a missing Flush() - thanks to wootalyzer for catching.&lt;br /&gt;
*Fix: Excluded banned and inactive players from DumpStats&lt;br /&gt;
*Fix: Fixed PlayerDB.Save() not escaping LastKickReason &lt;br /&gt;
*Fix: Cleaned up extra messages sent by /unhide.&lt;br /&gt;
*Fix: Fixed LastSeen not updating on-login (only on-logout).&lt;br /&gt;
*Fix: Improved the way fCraft checks for ghost/leftover sessions. Thanks to wootalyzer.&lt;br /&gt;
*Fix: If a player&#039;s name starts with a number, and you try to /tp to a coordinate that starts with the same number, you are no longer teleported to that player instead.&lt;br /&gt;
*Fix: Fixed hidden players being detectable by checking LastSeen in /info.&lt;br /&gt;
*Fix: To avoid performance degradation, GC calls have been centralized, delayed, limited to 1/minute, and moved to the tasks thread.&lt;br /&gt;
*Fix: Added delay between recurring calls to PlayerDB.Save, AutoRankAll, and DoGC - to balance load.&lt;br /&gt;
*Fix: Fixed rankChangeType not being updated.&lt;br /&gt;
*Fix: Fixed some typos reported by tvc. &lt;br /&gt;
*Change: Added &amp;quot;/uf&amp;quot; as an alias for &amp;quot;/unfreeze&amp;quot;, by popular demand. &lt;br /&gt;
*Change: Modified PlayerDB not to use ReaderWriterLockSlim, to avoid Mono issues with recursion.&lt;br /&gt;
*Change: Renamed /editplayerinfo to /setinfo&lt;br /&gt;
*Change: Made enum values in AutoRank (CriterionType, ConditionField, ComparisonOperation, ConditionScopeType, RankChangeType) case-insensitive.&lt;br /&gt;
*Change: Added a reference to /baninfo in /info&lt;br /&gt;
*Change: Made DetectMovementPacketSpam warn players instead of kicking.&lt;br /&gt;
&lt;br /&gt;
===0.492===&lt;br /&gt;
&#039;&#039;19 October 2010 - r280&#039;&#039;&lt;br /&gt;
*Feature: Added EditPlayerDB permission. This permission affects the upcoming AutoRank commands, /editplayerinfo, and ability to promote/demote/ban unrecognized players.&lt;br /&gt;
*Feature: When you kick a player, you are now shown the number of kicks they already have.&lt;br /&gt;
*Feature: More stats are now logged! RankType, TimeSinceLastKick, LastSeen, BlocksDrawn, LastKickBy, LastKickReason.&lt;br /&gt;
*Feature: Added &amp;quot;MaxUndo&amp;quot; config key for changing the default undo limit of 2,000,000 blocks per player.&lt;br /&gt;
*Feature: /info command is augmented with new stats (if available).&lt;br /&gt;
*Fix: Fixed ellipsoid command calculating volume incorrectly for draw limit checks.&lt;br /&gt;
*Fix: Fixed overflowing color code in &amp;quot;Player logged in from an IP previously used by banned players&amp;quot; message.&lt;br /&gt;
*Fix: Fixed PM recipient&#039;s name not getting logged properly.&lt;br /&gt;
*Fix: Previously-unseen players no longer have their FirstLoginDate, LastLoginDate, or TimesVisited set.&lt;br /&gt;
*Fix: /importranks now works correctly on players who are online at the time of import.&lt;br /&gt;
*Change: Added block aliases by popular demand: &amp;quot;bedrock&amp;quot; as an alias for admincrete, &amp;quot;cotton&amp;quot; as alias for &amp;quot;white&amp;quot;, and &amp;quot;aire&amp;quot; as alias for &amp;quot;air&amp;quot;&lt;br /&gt;
*Change: PlayerDB.txt format changes:&lt;br /&gt;
**MaxFieldCount raised to 36&lt;br /&gt;
**New fields added: UID (Int32), RankChangeType (enum, serialized as Int32), LastKickDate (DateTime), LastSeen (DateTime), BlocksDrawn (Int64), LastKickBy (string), LastKickReason (string).&lt;br /&gt;
**RankChangeBy, BannedBy, UnbannedBy, BanReason, UnbanReason, and RankChangeReason now default to empty string instead of &amp;quot;-&amp;quot; or null.&lt;br /&gt;
**If LastIP==IPAddress.None, empty string is saved instead of &amp;quot;255.255.255.255&amp;quot;.&lt;br /&gt;
**DateTime and TimeSpan format shortened to exclude microseconds. See PlayerDB.ToCompactString() for details.&lt;br /&gt;
*Change: AutoRank improvements (disabled in stable builds):&lt;br /&gt;
**Added /editplayerinfo command for easy editing of PlayerDB.&lt;br /&gt;
**Made AutoRank check players in-login (to accelerate promotion).&lt;br /&gt;
**AutoRank now runs on a scheduler.&lt;br /&gt;
**Fixed ConditionPreviousRank crash for played with default rank.&lt;br /&gt;
**Fixed banned players getting promoted by AutoRank.&lt;br /&gt;
**Fixed several serialization/loading issues in AutoRank.&lt;br /&gt;
**New fields added to ConditionIntRange: LastSeen, BlocksDrawn, TimeSinceRankChange, TimeSinceLastKick&lt;br /&gt;
**ConditionRankStatus renamed to ConditionRankChangeType&lt;br /&gt;
&lt;br /&gt;
===0.491===&lt;br /&gt;
&#039;&#039;17 October 2010 - r274&#039;&#039;&lt;br /&gt;
*Feature: Added ability to run multiple parallel IRC bots, to help high-traffic servers deal with IRC lag. This also makes it possible to connect to multiple networks in the future.&lt;br /&gt;
*Feature: Added new block aliases, by popular demand: &amp;quot;emerald&amp;quot;=teal, &amp;quot;fuchsia&amp;quot;=magenta, &amp;quot;cloth&amp;quot;=white, &amp;quot;lightgray&amp;quot;=gray, &amp;quot;lightgrey&amp;quot;=gray, &amp;quot;darkgray&amp;quot;=black, &amp;quot;darkgrey&amp;quot;=black, &amp;quot;brass&amp;quot;=gold&lt;br /&gt;
*Fix: Temporarily disabled 64-bit zlib support while I track down memory leaks. Should fix OutOfMemoryException, I&#039;m very sorry about overlooking that.&lt;br /&gt;
*Fix: Fixed a bug in /info that displayed incorrect &amp;quot;total time on server&amp;quot;.&lt;br /&gt;
*Fix: Per-rank permission checks for /freeze now apply as intended&lt;br /&gt;
*Fix: Fixed several improbable (but not impossible) threading deadlocks/crashes. Thanks to wootalyzer for catching these.&lt;br /&gt;
*Change: Added IRCThreads config key (default: 1, allowed range: 1-3)&lt;br /&gt;
&lt;br /&gt;
===0.490===&lt;br /&gt;
&#039;&#039;14 October 2010 - r264&#039;&#039;&lt;br /&gt;
*Feature: Testing a new map compressor/decompressor: ZLibStream. It should provide 50-200% speed increase, smaller map sizes, lower bandwidth use, and faster map loading.&lt;br /&gt;
*Fix: Fixed /shutdown not waiting the right amount and mixing up seconds/milliseconds.&lt;br /&gt;
*Fix: Fixed &amp;quot;No world found with the name...&amp;quot; showing player&#039;s own name.&lt;br /&gt;
*Fix: Added a fail-safe exception handler to Player.WaitForKick() - a temporary fix.&lt;br /&gt;
*Change: Previous verification salt is now stored, to allow players to validate even right after the server restarts.&lt;br /&gt;
*Change: Restructured SVN. Stable code is now always in /trunk/&lt;br /&gt;
&lt;br /&gt;
===0.487===&lt;br /&gt;
&#039;&#039;12 October 2010 - r255&#039;&#039;&lt;br /&gt;
*Feature: Added contextual help (tooltips) for all of ConfigTool. Help for &amp;quot;Add World&amp;quot; popup is coming in next version.&lt;br /&gt;
*Feature: Added rank limits for Freeze permission&lt;br /&gt;
*Fix: Fixed /mute being unusable from console.&lt;br /&gt;
*Change: Removed ViewOthersInfo requirement from /sinfo&lt;br /&gt;
*Change: Added ViewOthersInfo requirement to /where&lt;br /&gt;
*Change: Improvements to IRC tab layout in ConfigTool.&lt;br /&gt;
&lt;br /&gt;
===0.486===&lt;br /&gt;
&#039;&#039;11 October 2010 - r250&#039;&#039;&lt;br /&gt;
*Quick fix for IRC Bot bug that made server unconnectable.&lt;br /&gt;
&lt;br /&gt;
===0.485===&lt;br /&gt;
&#039;&#039;11 October 2010 - r249&#039;&#039;&lt;br /&gt;
*Feature: Added optional &amp;quot;delay&amp;quot; parameter to /shutdown (default: 5)&lt;br /&gt;
*Feature: World names can now be autocompleted for many commands (like /join and /lock)&lt;br /&gt;
*Fix: Fixed /unhide failing to reveal the player in certain situations.&lt;br /&gt;
*Fix: Fixed /setspawn being usable on players from other worlds.&lt;br /&gt;
*Fix: Fixed player names appearing white for all players.&lt;br /&gt;
*Fix: Fixed a recursion loop in NoWorldMessage()&lt;br /&gt;
*Fix: Fixed help entries for /setspawn and /shutdown&lt;br /&gt;
*Fix: Fixed potential crash in Server.Shutdown() if called after failed initialization/startup.&lt;br /&gt;
*Fix: Fixed potential deadlock/freeze in fCraftUI on shutdown.&lt;br /&gt;
*Change: Improved crash reporting for TargetInvokationException and TypeInitializerException errors.&lt;br /&gt;
*Change: All assemblies are now once again x86/x86_64/IA64 compatible.&lt;br /&gt;
*Change: Server.OnPlayerConnected event now supports cancellation.&lt;br /&gt;
&lt;br /&gt;
===0.484===&lt;br /&gt;
&#039;&#039;10 October 2010 - r245&#039;&#039;&lt;br /&gt;
*Feature: Added a way for IRC bot to use registered nicknames.&lt;br /&gt;
*Feature: /banall-related kicks are now announced in chat.&lt;br /&gt;
*Feature: /setspawn now actually changes player&#039;s spawn. Also, an optional PlayerName param allows temporarily changing other players&#039; spawn point.&lt;br /&gt;
*Feature: Several improvements to /info. Info now shows whether player&#039;s nick or IP was banned, and hides undefined information for players who haven&#039;t ever logged in.&lt;br /&gt;
*Fix: Fixed crash in ConfigTool if announcements were disabled.&lt;br /&gt;
*Fix: Fixed /banall not matching IPs properly, and not counting kicks towards PlayerInfo.&lt;br /&gt;
*Fix: Fixed ConfigUI not shutting down properly if Server.Init() or Server.Start() failed.&lt;br /&gt;
*Fix: Fixed Config.LoadLogOptions() always leaving Debug enabled.&lt;br /&gt;
*Fix: Added Process.GetCurrentProcess().Refresh() to ServerInfo to improve accuracy of /sinfo stat reporting.&lt;br /&gt;
*Fix: Improved /wsave and /wload path handling on non-Windows platforms.&lt;br /&gt;
*Fix: Replaced some potentially unsafe string concatenation in Player.Message() with proper formatting.&lt;br /&gt;
*Fix: Attempting a workaround for Mono memory leak in World.UnloadMap&lt;br /&gt;
*Fix: Fixed ranks from pre-0.480 configs being loaded in wrong order. Sorry!&lt;br /&gt;
*Change: Added a brief delay before reconnecting IRC bot after getting kicked from a channel. &lt;br /&gt;
*Change: PlayerDB is now saved every 60 seconds (instead of every 30).&lt;br /&gt;
*Change: Removed unused IRCBotQuitMsg config key, and added IRCRegisteredNick, IRCNickServ, and IRCNickServMessage keys.&lt;br /&gt;
*Change: Added a popup with crash information to ConfigTool.&lt;br /&gt;
*Change: Made announcements disabled by default.&lt;br /&gt;
&lt;br /&gt;
===0.483===&lt;br /&gt;
&#039;&#039;8 October 2010 - r242&#039;&#039;&lt;br /&gt;
*Feature: Myne/MyneCraft/Hyvebuild/iCraft maps can now be loaded from ConfigTool&#039;s &amp;quot;Add World&amp;quot; dialog.&lt;br /&gt;
*Fix: Fixed incorrect range checks for AnnouncementInterval and SaveInterval config keys (thanks to Shcaap for reporting).&lt;br /&gt;
*Fix: Fixed /hide showing a slightly different &amp;quot;player left&amp;quot; message compared to normal disconnect (thanks to Silverrock for reporting).&lt;br /&gt;
*Change: Added MC#-style &amp;quot;/z&amp;quot; alias for cuboid, by popular demand.&lt;br /&gt;
*Change: Hidden players can now receive PMs. The sender still gets the &amp;quot;No player found&amp;quot; message, but PMs are actually sent.&lt;br /&gt;
&lt;br /&gt;
===0.482===&lt;br /&gt;
&#039;&#039;7 October 2010 - r241&#039;&#039;&lt;br /&gt;
*Feature: Added new command aliases: &amp;quot;f&amp;quot; for &amp;quot;freeze&amp;quot;, and &amp;quot;pat&amp;quot; for &amp;quot;patrol&amp;quot;.&lt;br /&gt;
*Fix: Fixed typos in mute-related messages.&lt;br /&gt;
*Fix: Added missing triggers for OnPlayerListChanged event.&lt;br /&gt;
*Fix: Fixed /reloadconfig not changing several variables (like colors).&lt;br /&gt;
*Fix: Fixed antigrief defaulting to 35/5 (instead of unmetered).&lt;br /&gt;
*Fix: Fixed heartbeat counting hidden players.&lt;br /&gt;
*Fix: Fixed a rare ObjectDisposedException crash on shutdown when running fCraftUI.&lt;br /&gt;
*Change: Added a more informative disconnect message to players connecting with Alpha client.&lt;br /&gt;
*Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.&lt;br /&gt;
*Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.&lt;br /&gt;
&lt;br /&gt;
===0.481===&lt;br /&gt;
&#039;&#039;2 October 2010 - r237&#039;&#039;&lt;br /&gt;
*Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).&lt;br /&gt;
*Fixed a few more references to &amp;quot;player class&amp;quot; terminology instead of &amp;quot;rank&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.480===&lt;br /&gt;
&#039;&#039;2 October 2010 - r236&#039;&#039;&lt;br /&gt;
*Feature: Changed all &amp;quot;player classes&amp;quot; terminology to &amp;quot;ranks&amp;quot; for consistency with other servers. Several commands have been renamed to reflect that: /classes to /ranks, /user to /rank, /class to /rankinfo. All rank-related messages have also been updated.&lt;br /&gt;
*Feature: Added &amp;quot;Raise&amp;quot;/&amp;quot;Lower&amp;quot; buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a &amp;quot;rank&amp;quot; number to reorder ranks.&lt;br /&gt;
*Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.&lt;br /&gt;
*Fix: Improved fCraftUI responsiveness on-startup.&lt;br /&gt;
*Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.&lt;br /&gt;
*Fix: /wremove now always saves the map before unloading.&lt;br /&gt;
*Fix: Fixed Console being affected by chat spam/flood checks.&lt;br /&gt;
*Fix: Fixed /zinfo not showing any separators between player names.&lt;br /&gt;
*Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.&lt;br /&gt;
*Fix: Fixed Security and IRC tabs not being reset by &amp;quot;Reset All Defaults&amp;quot;&lt;br /&gt;
*Fix: Fixed bugged error messages in /tp and /bring when world access permission check fails.&lt;br /&gt;
*Fix: If any class limits were set to default/&amp;quot;(own class)&amp;quot;, the setting is now preserved.&lt;br /&gt;
*Fix: Fixed a bug that didn&#039;t reset Hide limit if it was set to a deleted rank.&lt;br /&gt;
*Change: Removed legacy zone loading code for pre-0.420 maps (due to changes in rank definition format).&lt;br /&gt;
*Change: Added a more informative disconnect message for players trying to connect with Minecraft Alpha clients.&lt;br /&gt;
*Change: Improved rank-based coloring in world list to check both access and build permissions.&lt;br /&gt;
*Change: Added &amp;quot;/fetch&amp;quot; as alias for /bring, and renamed &amp;quot;/save&amp;quot; to &amp;quot;/wsave&amp;quot;.&lt;br /&gt;
*Change: Deleted some obsolete/disabled controls from ConfigTool, removed PingInterval config key, and removed placeholder ControlPhysics and AddLandmarks permissions.&lt;br /&gt;
*Change: Made several changes to improve disconnect detection:&lt;br /&gt;
**Added occasional pings (every 5 seconds or so, depending on activity/inactivity).&lt;br /&gt;
**Reduced socket send/receive timeout from 12 to 10 seconds.&lt;br /&gt;
**Increased socket polling interval to improve performance.&lt;br /&gt;
*Change: If a player tries to connect to a server twice, the FIRST connection is dropped instead of the LAST connection.&lt;br /&gt;
*Refactor: Major changes were made to the way ranks are stored, and to RankList (formerly ClassList) API.&lt;br /&gt;
*Optimization: Made IsoCat rendering faster, and made draw commands use less CPU.&lt;br /&gt;
&lt;br /&gt;
===0.475===&lt;br /&gt;
&#039;&#039;17 September 2010 - r229&#039;&#039;&lt;br /&gt;
*Feature: /ztest now distinguishes between being allowed/denied by rank/class vs by whitelist/blacklist.&lt;br /&gt;
*Fix: Fixed being unable to change rank/class restrictions with /zedit&lt;br /&gt;
*Fix: Fixed a bug that reported wrong average CPU usage&lt;br /&gt;
*Fix: Fixed a crash on saving in ConfigTool, related to new PatrolledClass config key.&lt;br /&gt;
&lt;br /&gt;
===0.474===&lt;br /&gt;
&#039;&#039;16 September 2010 - r228&#039;&#039;&lt;br /&gt;
*Feature: &amp;quot;/mute&amp;quot; command to temporarily stop players from chatting. A new class permission (Mute) is added, granted to op+ by default.&lt;br /&gt;
*Feature: &amp;quot;/shutdown&amp;quot; command to gracefully shutdown the server remotely. A new class permission (ShutdownServer) is added, granted to owner by default.&lt;br /&gt;
*Feature: Added CPU usage information and loaded world count to /sinfo.&lt;br /&gt;
*Fix: Added a way to edit &amp;quot;PatrolledClass&amp;quot; from ConfigTool.&lt;br /&gt;
*Fix: Fixed zone whitelist/blacklist not updated correctly when edited.&lt;br /&gt;
*Fix: Made teleporting to spawn (with /spawn or /tp, no parameters) accessible to all classes.&lt;br /&gt;
*Fix: Adjusted for Notch&#039;s errors in handling player positions in teleport packets. Slightly improves accuracy of /tp, /bring, initial spawning, /patrol, frozen players, and speedhack detection.&lt;br /&gt;
*Fix: Removed &amp;quot;/tp&amp;quot; bounds check when used with typed-in coordinates numbers.&lt;br /&gt;
*Fix: Fixed an extremely unlikely case of PlayerDB/IPBanList overwriting on shutdown if server initialization failed.&lt;br /&gt;
*Fix: Made &amp;quot;server shutting down&amp;quot; packets deliver more reliably (but still not guaranteed).&lt;br /&gt;
*Fix: Fixed Console possibly not seeing hidden players.&lt;br /&gt;
*Change: Added a basic file check to AutoLauncher&lt;br /&gt;
*Change: Added error logging and crash reporting to Server.Shutdown&lt;br /&gt;
*API: Renamed Server.ShutdownStart to Server.ShutdownBegin (for consistency).&lt;br /&gt;
&lt;br /&gt;
===0.473===&lt;br /&gt;
&#039;&#039;15 September 2010 - r227&#039;&#039;&lt;br /&gt;
*Feature: Added zone coordinates to /zinfo&lt;br /&gt;
*Fix: Fixed cross-world /tp teleporting the wrong player.&lt;br /&gt;
*Fix: Fixed odd date formatting in /zinfo&lt;br /&gt;
&lt;br /&gt;
===0.472===&lt;br /&gt;
&#039;&#039;15 September 2010 - r226&#039;&#039;&lt;br /&gt;
*Feature: Added /cut command&lt;br /&gt;
*Feature: Added a new /patrol command. It allows cycling through low-ranked players on a map (with teleportation). The order is determined by how long it&#039;s been since someone checked on a player. A &amp;quot;Patrol&amp;quot; permission and &amp;quot;PatrolledClass&amp;quot; config key were added.&lt;br /&gt;
*Feature: Added a shorthand notation to /zone for making personal zones: &amp;quot;/zone +PlayerName&amp;quot; creates a zone named after the player, with rank limit just above player&#039;s, and with player whitelisted.&lt;br /&gt;
*Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.&lt;br /&gt;
*Fix: Fixed server always binding to IPAddress.Any regardless of config settings.&lt;br /&gt;
*Fix: TP/Bring no longer allow teleporting to hidden players on other worlds.&lt;br /&gt;
*Fix: Server.GetPlayerList(string) now stops searching the list when it finds an exact match.&lt;br /&gt;
*Fix: Fixed client-crash in /zedit when changing class.&lt;br /&gt;
*Fix: Fixed possible corruption of edited zones upon map saving.&lt;br /&gt;
*Fix: Fixed a range of improbable synchronization issues in the way Zone whitelist/blacklist is updated. As a fortunate side-effect, significantly reduced Zone.CanBuild() overhead.&lt;br /&gt;
*Fix: Temporarily added mainThread.Abort() to Server.Shutdown() that&#039;s kicked in if mainThread does not stop within 5s of being notified of shutdown. I am investigating the real cause of the hang.&lt;br /&gt;
*Fix: Fixed hidden players being revealed by promotion/demotion.&lt;br /&gt;
*Change: Added less threatening error messages to IRC bot on network errors (SocketException and IOException).&lt;br /&gt;
*Change: Disabled movement handling code while changing maps.&lt;br /&gt;
*Refactor: Merged StandardCommands and ImportCommands into AdminCommands&lt;br /&gt;
&lt;br /&gt;
===0.471===&lt;br /&gt;
&#039;&#039;14 September 2010 - r224&#039;&#039;&lt;br /&gt;
*Feature: Added ability to specify the server&#039;s IP (to bind to) manually, for machines with multiple NICs. A new config key &amp;quot;IP&amp;quot; (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.&lt;br /&gt;
*Fix: Fixed a bug with player ghosts being left behind when switching worlds.&lt;br /&gt;
*Fix: Fixed a case with kicked players&#039; connections not being terminated at once (thanks to wootalyzer).&lt;br /&gt;
*Fix: Fixed several bugs in hide/unhide functionality.&lt;br /&gt;
*Fix: Fixed a rare crash in AddWorldPopup related to missing maps for existing worlds.&lt;br /&gt;
*Fix: AddWorldPopup will no longer allow adding a world with a duplicate name.&lt;br /&gt;
*Fix: Capped maximum players at the newly-discovered protocol limit of 128 (thanks to wootalyzer).&lt;br /&gt;
*Change: ConfigTool fields now provide better feedback if validation fails.&lt;br /&gt;
*Change: Changed heartbeat interval to 40 seconds (down from 50).&lt;br /&gt;
*Change: Added a special error handler for rare/impossible case of mainWorld not being joinable.&lt;br /&gt;
*Change: Made fatal error messages in fCraftConsole print in red. Better color support coming soon.&lt;br /&gt;
&lt;br /&gt;
===0.470===&lt;br /&gt;
&#039;&#039;13 September 2010 - r223&#039;&#039;&lt;br /&gt;
*Feature: Personal zones - per-zone whitelist and blacklist of individual players. The lists can now be defined with /zadd and edited with /zedit.&lt;br /&gt;
*Feature: Added cave/ore generator from Omen (BETA).&lt;br /&gt;
*Feature: Added &amp;quot;/maps&amp;quot; and &amp;quot;/levels&amp;quot; as aliases for &amp;quot;/worlds&amp;quot;.&lt;br /&gt;
*Feature: Added a way to limit the &amp;quot;Hide&amp;quot; permission per-class. Now you can specify whom can a class hide from.&lt;br /&gt;
*Feature: Zones now remember date/time of creation and last edit, and names of original creator and last editor.&lt;br /&gt;
*Fix: Unauthorized players can no longer PM or use bring/freeze/unfreeze/kick/tp/where on hidden players. They get the standard &amp;quot;player not found&amp;quot; message.&lt;br /&gt;
*Fix: Fixed hidden players being counter towards /players total.&lt;br /&gt;
*Fix: Fixed a potential crash in /wflush when using on unloaded maps.&lt;br /&gt;
*Fix: Doing /banip or /banall on unrecognized players no longer ip-bans 255.255.255.255. Old IPBanList entries relating to 255.255.255.255 will be automatically discarded.&lt;br /&gt;
*Fix: Fixed /replace command uses not being logged.&lt;br /&gt;
*Fix: Fixed /worlds command not showing world count.&lt;br /&gt;
*Fix: Fixed a client-disconnect when trying to unban a player who is not in the database.&lt;br /&gt;
*Fix: Fixed &amp;quot;/join PlayerName&amp;quot; not translating to &amp;quot;/tp PlayerName&amp;quot; correctly.&lt;br /&gt;
*Fix: Fixed a very unlikely client-disconnect in ChangeClass if the entered class name contains curved braces.&lt;br /&gt;
*Change: Changed default name for &amp;quot;/flip&amp;quot; command to &amp;quot;/mirror&amp;quot;, and fixed command&#039;s help. Either term still works.&lt;br /&gt;
*Change: Added more block name aliases:&lt;br /&gt;
**Air: delete, erase&lt;br /&gt;
**Stone: cement, concrete&lt;br /&gt;
**Grass: gras (common typo)&lt;br /&gt;
**Obsidian: onyx&lt;br /&gt;
*Change: Improved formatting of /players, /worlds, and draw command messages.&lt;br /&gt;
&lt;br /&gt;
===0.463===&lt;br /&gt;
&#039;&#039;9 September 2010 - r218&#039;&#039;&lt;br /&gt;
*Fix: Fixed special colors showing up even if ClassColorsInChat is disabled.&lt;br /&gt;
*Fix: Fixed potential client-crash in World.SendToAll(), and related client-crash in lock/unlock.&lt;br /&gt;
&lt;br /&gt;
===0.462===&lt;br /&gt;
&#039;&#039;8 September 2010 - r217&#039;&#039;&lt;br /&gt;
*Fix: The &amp;quot;OK&amp;quot; button in AddWorldPopup no longer stays grayed out.&lt;br /&gt;
*Fix: Fixed &amp;quot;Error occured while loading&amp;quot; in the file information dialog for non-FCM files.&lt;br /&gt;
*Fix: Fixed a crash in /bring when used without any parameters.&lt;br /&gt;
*Fix: Fixed Server.UrlEncode not escaping 0x00-0x0F characters properly.&lt;br /&gt;
*Change: Slightly reduced default tree density in MapGenerator.&lt;br /&gt;
&lt;br /&gt;
===0.461===&lt;br /&gt;
&#039;&#039;8 September 2010 - r216&#039;&#039;&lt;br /&gt;
*Feature: New EXPERIMENTAL &amp;quot;/reloadconfig&amp;quot; command, and associated ReloadConfig permission. Use with caution!&lt;br /&gt;
*Fix: Fixed a case where AddWorldPopup would allow clicking &amp;quot;OK&amp;quot; with a null map.&lt;br /&gt;
*Fix: Fixed player crash if /freeze or /unfreeze is used without arguments.&lt;br /&gt;
*Fix: Fixed player crash on FormatException in /zones and Server.ShowPlayerConnectedMessage.&lt;br /&gt;
*Fix: Fixed potential player crash if LimitOneConnectionPerIP is enabled.&lt;br /&gt;
&lt;br /&gt;
===0.460===&lt;br /&gt;
&#039;&#039;8 September 2010 - r214&#039;&#039;&lt;br /&gt;
*Feature: Added ShowPlayerConnectedMessage and ClassColorsInWorldNames settings to config.&lt;br /&gt;
*Feature: Added /measure command.&lt;br /&gt;
*Feature: Class colors and prefixes are now applied consistently EVERYWHERE.&lt;br /&gt;
*Feature: Banned players now see their ban reason/memo when they get kicked.&lt;br /&gt;
*Feature: A special error message is shown to players trying to connect with Alpha/SMP client.&lt;br /&gt;
*Feature: IsoCat (ConfigTool isometric preview) rendering quality improved: better shadows and slight altitude-based gradient.&lt;br /&gt;
*Feature: Added new blocktype name aliases: &amp;quot;solid&amp;quot;, &amp;quot;golden&amp;quot;, &amp;quot;halfstep&amp;quot;, &amp;quot;halfblock&amp;quot;, &amp;quot;steps&amp;quot;.&lt;br /&gt;
*Feature: Added player count for each class in /classes&lt;br /&gt;
*Fix: Fixed wrong &amp;quot;MaxBackupsSize&amp;quot; range in ConfigTool.&lt;br /&gt;
*Fix: MaxBackupsSize setting is now applied correctly.&lt;br /&gt;
*Fix: IRC color codes are now stripped from forwarded messages.&lt;br /&gt;
*Fix: IRC bot now uses ServerName for &amp;quot;real name&amp;quot;.&lt;br /&gt;
*Fix: Formatting improved in many error messages.&lt;br /&gt;
*Fix: Commas in ban/unban/promote/demote reasons no longer cause problems with PlayerDB.&lt;br /&gt;
*Fix: Removed extra comma from /worlds list that showed in place of hidden/inaccessible worlds.&lt;br /&gt;
*Change: Added 5-second delay between retries in AutoLauncher&lt;br /&gt;
*Change: &amp;quot;Player connected&amp;quot; message condensed to a single line by absorbing &amp;quot;joined world&amp;quot; message.&lt;br /&gt;
*Change: Removed ChangeName permission (and the ability to change names) due to possibility of abuse and confusion. Related /nick and /whois commands were also removed.&lt;br /&gt;
*Change: /tp can now fall back to behave like /join if player name is not found (for all those times when you mistype /tp instead of /join). Conversely, /join falls back to /tp if player was not found.&lt;br /&gt;
*Optimization: Reduced bandwidth use with an adaptive movement packet skipping algorithm. Should reduced outbound traffic by at least 15%.&lt;br /&gt;
*Optimization: BlockUpdate memory usage slightly reduced.&lt;br /&gt;
&lt;br /&gt;
===0.455===&lt;br /&gt;
&#039;&#039;8 September 2010 - r213&#039;&#039;&lt;br /&gt;
*Feature: AutoLauncher (BETA) allows restarting the fCraftConsole server if it crashed. Although it honestly shouldn&#039;t crash at all!&lt;br /&gt;
*Fix: Allowed renaming worlds in cases where only capitalization is different.&lt;br /&gt;
*Fix: If an ip-banned player has more than one connection, all connections are now terminated.&lt;br /&gt;
*Fix: Fixed nonrectangular MCSharp maps getting messed up by the loader.&lt;br /&gt;
*Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.&lt;br /&gt;
*Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of &amp;quot;no player found&amp;quot; message). Affects PMs, {{cmd|TP}}, {{cmd|Bring}}, {{cmd|Freeze}}, {{cmd|Unfreeze}}, {{cmd|Kick}}.&lt;br /&gt;
*Change: Improved OS detection in crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.454===&lt;br /&gt;
*Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.&lt;br /&gt;
*Fix: Replace no longer behaves same as replacenot.&lt;br /&gt;
*Fix: Spaces in IRC messages are now preserved.&lt;br /&gt;
*Fix: Help entries for paste/pastenot corrected.&lt;br /&gt;
*Fix: /cinfo (without parameters) now shows player&#039;s own class info.&lt;br /&gt;
&lt;br /&gt;
===0.453===&lt;br /&gt;
*Feature: It is now possible to reverse last /undo (by typing /undo again).&lt;br /&gt;
*Change: IRC message colors are applied slightly differently now.&lt;br /&gt;
*Change: Added more automated crash reporting hooks - to MainLoop and Tasks.&lt;br /&gt;
*Change: More help messages improved.&lt;br /&gt;
*Change: Added a more informative message for people running outdated versions of Mono and .Net runtime.&lt;br /&gt;
*Optimization: Slightly reduced memory usage of /undo, /paste, and PlayerDB.Load()&lt;br /&gt;
&lt;br /&gt;
===0.452===&lt;br /&gt;
*Feature: New /replacenot command allows replacing all blocks EXCEPT the specified one.&lt;br /&gt;
*Feature: New /flip and /rotate commands to manipulate copied blocks.&lt;br /&gt;
*Feature: /players list is now in alphabetical order.&lt;br /&gt;
*Fix: Trying to specify an unrecognized block type for draw commands (e.g. &amp;quot;/c ai&amp;quot; instead of &amp;quot;/c air&amp;quot;) now shows a proper error message.&lt;br /&gt;
*Fix: Fixed /gen command crashing players if coordinates are typed in before theme/template.&lt;br /&gt;
*Fix: Fixed /e ellipsoids coming out crooked.&lt;br /&gt;
*Fix: &amp;quot;joined for the first time&amp;quot; messages are now shown correctly.&lt;br /&gt;
*Fix: Fixed /replace not working correctly with /undo&lt;br /&gt;
*Fix: Made IRC bot strip nonprintable characters from messages, and ignore empty messages.&lt;br /&gt;
*Fix: World permissions are no longer reset when doing /wload. Also a permission reminder is now shown when creating new worlds.&lt;br /&gt;
*Change: Improved some help messages.&lt;br /&gt;
*Change: Improved IRC error reporting.&lt;br /&gt;
*Change: Added world name back to &amp;quot;Almost there...&amp;quot; join screen.&lt;br /&gt;
*Change: /pasteonly is now called /paste, and /paste is now called /pastenot (for consistency with other custom servers)&lt;br /&gt;
*Optimization: Slightly reduced memory usage of massive drawing commands (over undo limit).&lt;br /&gt;
&lt;br /&gt;
===0.451===&lt;br /&gt;
*Feature: Improved the way fCraft handles fatal errors (crashes). Crash logs are now created more reliably.&lt;br /&gt;
*Feature: Added automated crash reporting to fragmer.net (opt-out).&lt;br /&gt;
*Feature: Added an announcement for players logging in from IPs associated with other previously-banned players.&lt;br /&gt;
*Fix: Curved braces - &amp;quot;{}&amp;quot; - in server name no longer cause problems.&lt;br /&gt;
*Fix: &amp;quot;Leaving the map&amp;quot; kick disabled temporarily, will be made configurable per-class soon.&lt;br /&gt;
*Fix: banall/unbanall commands produce less chat spam.&lt;br /&gt;
*Fix: AFK kicks no longer count towards /info number-of-times-kicked.&lt;br /&gt;
*Change: Added class colors to /info, and fixed formatting bug.&lt;br /&gt;
*Change: Cleaned up &amp;quot;Advanced&amp;quot; tab in ConfigTool.&lt;br /&gt;
**Removed obsolete config keys: PolicyColorCodesInChat, PolicyIllegalCharacters, and RunOnStartup&lt;br /&gt;
**Added SubmitCrashReports and IRCDelay config keys.&lt;br /&gt;
&lt;br /&gt;
===0.450===&lt;br /&gt;
&#039;&#039;26 August 2010&#039;&#039;&lt;br /&gt;
*Feature: IRC bot rewritten for better performance, flexibility, and safety.&lt;br /&gt;
*Feature: New IRC options: IRCBotAnnounceIRCJoins and IRCBotAnnounceServerJoins.&lt;br /&gt;
*Fix: Fixed messages containing only a single slash (&#039;/&#039;) crashing client thread.&lt;br /&gt;
*Change: Removed obsolete IRCBotMsgs config key.&lt;br /&gt;
*Change: Added OnPlayerSentMessage event to Server.&lt;br /&gt;
*Change: IRC bot&#039;s commands (e.g. !status) are temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
===0.445===&lt;br /&gt;
&#039;&#039;25 August 2010&#039;&#039;&lt;br /&gt;
*IMPORTANT! Please update ASAP, a security issue was identified in previous version.&lt;br /&gt;
*Fix: If you need to start message with a slash, you can now escape the slash (type &amp;quot;//&amp;quot;)&lt;br /&gt;
*Fix: Fixed endless update loop (if automatic updates were enabled)&lt;br /&gt;
*Fix: Private messages with a space between &#039;@&#039; and the player name now work.&lt;br /&gt;
*Fix: Hacking-related kicks are not announced globally.&lt;br /&gt;
*Fix: Fixed &amp;quot;/help&amp;quot; giving wrong message if help entry was not found.&lt;br /&gt;
*Change: Minor changes in MapGenerator/Noise&lt;br /&gt;
&lt;br /&gt;
===0.444===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*Feature: New stat command, /sinfo (server info).&lt;br /&gt;
*Fix: Ban reason/memo now shown for normal bans.&lt;br /&gt;
*Fix: /cinfo for unlimited classes no longer shows &amp;quot;draw limit: 0&amp;quot;&lt;br /&gt;
*Fix: Fixed IRC message colors, and removed IRC color codes from log.&lt;br /&gt;
&lt;br /&gt;
===0.443===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New {{cmd|WFlush}} command. It allows finishing all in-progress draw commands at maximum speed (over 100k blocks/second) then forces a map rejoin.&lt;br /&gt;
*Feature: Added more customization options for colors: PrivateMessageColor and IRCMessageColor in Config.&lt;br /&gt;
*Feature: {{cmd|Players}} list is now sorted alphabetically.&lt;br /&gt;
*Feature: Added &amp;quot;Check Port&amp;quot; button to ConfigTool to see if port is open. Uses www.utorrent.com/testport&lt;br /&gt;
*Feature: Added &amp;quot;Play&amp;quot; button to fCraftUI to open server URL in the browser&lt;br /&gt;
*Feature: World names in {{cmd|Worlds}} list are now colored according to each world&#039;s build permission. &lt;br /&gt;
*Feature: Added speedhack detection &amp;amp; prevention (BETA) and corresponding Permission.UseSpeedHack. All your classes will be granted this permission by default. Edit the config to customize it.&lt;br /&gt;
*Fix: When using {{cmd|Mark}} outside of map boundaries, draw limits are no longer calculated incorrectly (thanks to Darnest).&lt;br /&gt;
*Fix: Fixed possible crash in Map.CheckZones() on maps created with {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed compilation issue with &amp;quot;tileset.png&amp;quot; on case-sensitive filesystems.&lt;br /&gt;
*Fix: Fixed class-wide messages not wrapping correctly.&lt;br /&gt;
*Optimization: antigrief and antispam checking overhead reduced.&lt;br /&gt;
&lt;br /&gt;
===0.442===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Fix: Addresses a security issue.&lt;br /&gt;
*Fix: &amp;quot;OK&amp;quot; button in AddWorldPopup is now always disabled if no map is set.&lt;br /&gt;
*Fix: &amp;quot;Feature size&amp;quot; label is now updater correctly when map dimensions are changed.&lt;br /&gt;
*Fix: Added missing player notifications for {{cmd|Undo}} and {{cmd|Cancel}} commands.&lt;br /&gt;
*Change: MapGenerator&#039;s default map size changed to 128x128x80&lt;br /&gt;
&lt;br /&gt;
===0.441===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added cuboid limits to /cinfo&lt;br /&gt;
*Fix: Fixed a bug in BoundingBox that made /paste and zones behave incorrectly&lt;br /&gt;
*Fix: Fixed ban/unban commands not kicking the player if entered name capitalization did not match actual capitalization&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; being broken when using {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed {{cmd|Ban}} rank checks affecting {{cmd|Unban}}&lt;br /&gt;
*Change: Optimized zone permission checks&lt;br /&gt;
&lt;br /&gt;
===0.440===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New MapGenerator with tons of options. You can also save/load custom templates for it.&lt;br /&gt;
*FEATURE: AddWorldPopup interface overhaul.&lt;br /&gt;
*FEATURE: JTE, D3, and Myne/Mynecraft/Hyvebuild/iCraft map format converters added.&lt;br /&gt;
*Feature: Improved syntax of the {{cmd|Gen}} command. See &amp;quot;/help gen&amp;quot; for details.&lt;br /&gt;
*Feature: Reason/memo is now shown publicly when someone gets banned, unbanned, or kicked.&lt;br /&gt;
*Feature: Teleport and Bring work across worlds - world permissions still apply.&lt;br /&gt;
*Feature: Added 4 new Config keys: RequireBanReason, RequireClassChangeReason, AnnounceKickAndBanReasons, AnnounceClassChanges. By default &amp;quot;AnnounceKickAndBanReasons&amp;quot; and &amp;quot;AnnounceClassChanges&amp;quot; are enabled.&lt;br /&gt;
*Feature: Added 5 new fields to PlayerDB: previousClass, classChangeReason, timesKicked, timesKickedOthers, timesBannedOthers.&lt;br /&gt;
*Feature: Added a lot of new information to {{cmd|Info}}.&lt;br /&gt;
*Feature: You can now save map preview images (isometric) from AddWorldPopup.&lt;br /&gt;
*Feature: ConfigTool now shows warnings about any errors logged during Config.Load&lt;br /&gt;
*Fix: Yet another workaround for VerifyNames false negatives (thanks to SpaceManiac).&lt;br /&gt;
*Fix: Fixed being able to paste admincrete/water/lava without permission (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Trying to go over class draw limit no longer causes &amp;quot;Another drawing command is in progress&amp;quot; error.&lt;br /&gt;
*Fix: Mcc.MapUtility.TryLoading() and Map.LoadHeaderOnly() now release file handles as soon as possible. This should fix some &amp;quot;file is being used by another process&amp;quot; errors.&lt;br /&gt;
*Fix: Map spawn should be parsed correctly for MCSharp/MCZall maps&lt;br /&gt;
*Fix: If a map doesn&#039;t start with a gzip header, it no longer has a chance to abort the whole load process.&lt;br /&gt;
*Fix: Fixed blocktype names being case-sensitive.&lt;br /&gt;
*Fix: Added a more informative message when idle players are kicked.&lt;br /&gt;
*Fix: Fixed undo buffer not getting cleared when doing paste/pasteonly&lt;br /&gt;
*Fix: Fixed {{cmd|WAccess}} exception kicking players.&lt;br /&gt;
*Fix: 100% Empty maps no longer crash AddWorldPopup with OutOfMemoryException&lt;br /&gt;
*Fix: Fixed &amp;quot;player is already banned&amp;quot; message when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed no public message appearing when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed cuboid/ellipsoid/cuboidh logging blocktype code instead of blocktype name.&lt;br /&gt;
*Fix: Improved the message that&#039;s shown when idle players are kicked.&lt;br /&gt;
*Fix: Documented ability to {{cmd|TP}} to specific coordinates.&lt;br /&gt;
*Fix: AddWorldPopup no longer crashes if user closes &amp;quot;Load Map&amp;quot; dialog before selecting any file.&lt;br /&gt;
*Fix: When drawing affects (in part or in full) a restricted zone, the zone is left untouched, and the rest of draw command finishes (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Fixed crash in AddWorldPopup.AsyncLoad() if map loading failed.&lt;br /&gt;
*Fix: LegacyRankMapping is now parsed correctly&lt;br /&gt;
*Fix: Renaming a class no longer causes &amp;quot;Worlds&amp;quot; tab dropdown menus to go out-of-sync.&lt;br /&gt;
*Change: AddWorldPopup preview image quality improved.&lt;br /&gt;
*Change: Updated to newest version of NBTag library.&lt;br /&gt;
*Change: Frozen players can no longer build/delete.&lt;br /&gt;
*Change: Removed public {{cmd|Undo}} message, added log message instead.&lt;br /&gt;
*Change: Removed AnnounceUnverifiedNames settings.&lt;br /&gt;
*Change: When building/deleting permission is denied, the exact reason is given (instead of a vague &amp;quot;you cannot do that&amp;quot; message) (part of Player.CanPlace overhaul).&lt;br /&gt;
&lt;br /&gt;
===0.435===&lt;br /&gt;
&#039;&#039;12 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Copy}}, {{cmd|Paste}}, and {{cmd|PasteOnly}} commands. Rotation coming soon.&lt;br /&gt;
*Feature: Added {{perm|CopyAndPaste}} permission, granted to op and owner by default.&lt;br /&gt;
*Feature: Added MapGenType.Cliffs - similar to Mountains type, but with cliffs!&lt;br /&gt;
*Fix: Fixed {{cmd|Paint}} command&lt;br /&gt;
*Fix: Fixed {{cmd|BanInfo}} now showing any information if used without parameters.&lt;br /&gt;
*Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.&lt;br /&gt;
&lt;br /&gt;
===0.434===&lt;br /&gt;
*Feature: new /bind command allows mapping any block to any other. Now you can place those unbuildable blocks (water, lava, grass, double-step) in any way you wish. For compatibility, old commands (/water, /solid, /lava, /grass) have been preserved.&lt;br /&gt;
*Change: &amp;quot;step&amp;quot; added as an alias for Stair block. &amp;quot;doublestep&amp;quot; added as an alias for DoubleStair.&lt;br /&gt;
&lt;br /&gt;
===0.433===&lt;br /&gt;
*Feature: /winfo now shows who locked/unlocked the map, and how long ago.&lt;br /&gt;
*Fix: Fixed a error message that showed up when announcements.txt was blank.&lt;br /&gt;
*Fix: Permission check added back to lock/unlock commands.&lt;br /&gt;
*Fix: &amp;quot;mapinfo&amp;quot; added back as alias for /winfo&lt;br /&gt;
*Fix: Fixed locked maps not getting unloaded when all players left&lt;br /&gt;
&lt;br /&gt;
===0.432===&lt;br /&gt;
*Fix: List of worlds printed by /worlds is now sorted alphabetically.&lt;br /&gt;
*Fix: Fixed an obscure half-disconnect bug that left players with id=0 who happened to be on the main world in a semi-disconnected state IF someone else was kicked halfway through the login process before it was assigned an id.&lt;br /&gt;
&lt;br /&gt;
===0.431===&lt;br /&gt;
*Fix: Fixed still messed-up /worlds command.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.430===&lt;br /&gt;
*Fix: Fixed messed-up /worlds command. Sorry about that.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.429===&lt;br /&gt;
*Feature: Command-handler infrastructure has been redesigned. This will allow much more flexibility for devs and plugin makers later.&lt;br /&gt;
*Feature: &amp;quot;/help commands&amp;quot; now only shows available commands by default. Type &amp;quot;/help commands all&amp;quot; to see all commands.&lt;br /&gt;
*Feature: /worlds command now only available worlds by default. Type &amp;quot;/worlds all&amp;quot; to include worlds inaccessible to you.&lt;br /&gt;
*Feature: Help entries added for /zedit, /mark, /version, /rules, and /say.&lt;br /&gt;
*Feature: ConfigTool World tab columns are now sortable.&lt;br /&gt;
*Fix: Fixed &amp;quot;max backups&amp;quot; in ConfigTool being limited to 100. Now it&#039;s at a more reasonable limit of 100000.&lt;br /&gt;
*Fix: Fixed Map.Backup() deleting the newest (instead of the oldest) backup if the total number of files was limited.&lt;br /&gt;
*Fix: Fixed an ERROR that popped up if a player got disconnected during the login process (while player=null).&lt;br /&gt;
*Fix: FormatException crash fixed that caused whole server to go down instead of a player thread.&lt;br /&gt;
*Fix: Several draw-related bugs and crashes fixed.&lt;br /&gt;
*Fix: Fixed crash in /winfo when used on unloaded worlds.&lt;br /&gt;
*Fix: Fixed a bug in Config that caused antigrief to be re-enabled every load.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool that didn&#039;t update AntiGriefSeconds properly when changing between classes.&lt;br /&gt;
*Change: Many /help entries have been improved.&lt;br /&gt;
*Change: Split /class command into two: /classes (aka /ranks) shows a list of classes, and /class (aka /cinfo or /classinfo) shows permission list (missed from last release notes).&lt;br /&gt;
*Change: Added /spawn as an alias for /tp (missed from last release notes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.428===&lt;br /&gt;
*Feature: Line wrapping. Yes, finally.&lt;br /&gt;
*Feature: Per-class draw limits. Defaults are: owner unlimited, op unlimited, regular 4096 (16x16x16), guest 512 (8*8*8)&lt;br /&gt;
*Feature: Per-class antigrief detection. Defaults are: owner unmetered, op umetered, regular 45/6 (7.5 blocks/second), guest 35/5 (7 blocks/second)&lt;br /&gt;
*Feature: Memory usage of draw commands has been reduced by 6 bytes per block (37% improvement).&lt;br /&gt;
*Fix: Extra color codes fixed in /players command.&lt;br /&gt;
*Fix: Fixed a bug with /undo that caused more than one command to be undone at once.&lt;br /&gt;
*Fix: Fixed maps generated with &amp;quot;Realistic terrain&amp;quot; (MapGenerator) having an empty layer at the bottom of the map.&lt;br /&gt;
*Change: Default classes have been tweaked:&lt;br /&gt;
**regular can now use draw commands&lt;br /&gt;
**op can now lock/unlock&lt;br /&gt;
*Change: Improved arrangement of Permission list items.&lt;br /&gt;
*Change: Removed obsolete ConfigKey variables AntigriefBlockCount and AntigriefBlockInterval&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.427===&lt;br /&gt;
*Feature: Added /zedit command for changing zone permissions after creation&lt;br /&gt;
*Feature: New aliases for drawing commands: /c /e /h /r /m&lt;br /&gt;
*Fix: Fix for cuboid command kicking players with &amp;quot;Block.Undefined&amp;quot; if called with no optional BlockType parameter&lt;br /&gt;
*Fix: Fixed zone definitions getting corrupted.&lt;br /&gt;
*Fix: Allowed /save command to be used from console and from remote worlds. Previously you had to join the world to save it.&lt;br /&gt;
*Fix: Fixed potential crash in /winfo when looking up unloaded worlds.&lt;br /&gt;
*Fix: Fixed /zone allowing duplicate names, then kicking the client.&lt;br /&gt;
*Fix: Fixed /ztest showing the standard &amp;quot;you are not allowed to build in this zone&amp;quot; message instead of the expected zone list.&lt;br /&gt;
*Fix: Fixed incorrect description of draw log messages, and backup error messages&lt;br /&gt;
*Fix: Fixed false triggering of &amp;quot;Player asked to be released from its world, but the world did not contain the player&amp;quot; error&lt;br /&gt;
*Change: Fruitified fragmer&#039;s name &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.426===&lt;br /&gt;
*Feature: Announcements! You can define a list of announcements to show periodically. A random line from announcements.txt will be shown to all players at specified interval (in minutes).&lt;br /&gt;
*Feature: /replace command.&lt;br /&gt;
*Feature: /undo command has been improved for more flexibility and better performance.&lt;br /&gt;
*Feature: /winfo (alias: /mapinfo) is added for displaying world name, player count, map dimensions, and access/build permissions.&lt;br /&gt;
*Fix: Fixed a bug that caused duplicate entries to be added to PlayerDB when doing /importranks or /importbans.&lt;br /&gt;
*Change: New ConfigKeys: AnnouncementColor (default: green) and AnnouncementInterval (default: 5 minutes).&lt;br /&gt;
*Change: Draw command stride increased to 16x16x16, for better theoretical performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.425===&lt;br /&gt;
*Feature: Added hollow draw command (/cubh) and aliases (/cuboidh and /bhb)&lt;br /&gt;
*Feature: /players now shows class colors and a total number of players. Breakdown of /players by world is coming soon&lt;br /&gt;
*Feature: Added &amp;quot;Joined world WorldName&amp;quot; message that shows when changing worlds&lt;br /&gt;
*Fix: Improved several /help entries&lt;br /&gt;
*Fix: Fixed a bug in Map.SaveBackup() that could cause a crash if MaxBackups was set&lt;br /&gt;
*Fix: Fixed a bug in ConfigUI where &amp;quot;Delete World&amp;quot; button could leave the map file behind and/or cause an error&lt;br /&gt;
*Fix: Calling lock/unlock from console without a WorldName now shows a nicer error message&lt;br /&gt;
*Change: Improved safety checks of /join command&lt;br /&gt;
*Change: Added a catch-all exception handler into Server.MainLoop&lt;br /&gt;
*Change: Added exception handlers for EVERY single piece of code that requires file access&lt;br /&gt;
*Change: Added more thread safety in MapCommands.WorldRename that resolves a potential race condition with Map.Save&lt;br /&gt;
*Change: Modified IPBanList to use the standard temp folder (instead of fCraft working path) for its temp files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.424===&lt;br /&gt;
*Fix: Fixed /unhide and normal connection getting different messages&lt;br /&gt;
*Fix: Fixed client crash when viewing /rules if the rule file has blank lines&lt;br /&gt;
*Fix: Worlds with capital letters in the name are joinable again&lt;br /&gt;
*Fix: Potential crash in DoClassChange() if target player is already same rank AND is not currently on the server&lt;br /&gt;
*Change: Moved the command list to /help commands&lt;br /&gt;
*Change: Performance and thread-safety improvements to PlayerDB&lt;br /&gt;
*Change: Disabled some more debugging code to avoid taking up unnecessary resources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.423===&lt;br /&gt;
*Feature: /importbans now also supports &amp;quot;banned-ip.txt&amp;quot;&lt;br /&gt;
*Feature: Logs are now stored in /logs/ folder. Your fCraft.log file will be moved there automatically and renamed to &amp;quot;_OldLog.log&amp;quot;&lt;br /&gt;
*Feature: Log splitting now works by day or by session. Set &amp;quot;LogMode&amp;quot; key in config.xml or see Logging tab in ConfigTool.&lt;br /&gt;
*Feature: All maps are now stored in /maps/ folder. Your map files will be moved automatically first time you start ConfigTool/fCraftConsole/fCraftUI&lt;br /&gt;
*Feature: Reserved slots now work&lt;br /&gt;
*Fix: Fixed a bug in fCraft.Server.LoadWorldListXML that could make all worlds hidden.&lt;br /&gt;
*Fix: &amp;quot;player connected&amp;quot; message shown when someone connects, instead of just &amp;quot;player joined world&amp;quot;&lt;br /&gt;
*Fix: &amp;quot;player left the server&amp;quot; message is not shown if the player got kicked before LoginSequence finished (e.g. if server was full)&lt;br /&gt;
*Fix: Added back IP logging for incoming connections&lt;br /&gt;
*Fix: Fixed ConfigTool-generated maps not having correct spawn point&lt;br /&gt;
*Fix: Fixed /user showing both promote and demote messages at once&lt;br /&gt;
*Fix: Removed references to old &amp;quot;/drawundo&amp;quot; command name in &amp;quot;/undo&amp;quot; messages&lt;br /&gt;
*Fix: Fixed &amp;quot;Unrecognized entry ignored: LegacyRankMapping =&amp;quot; warning&lt;br /&gt;
*Change: Made /importbans and /importranks save PlayerDB at once&lt;br /&gt;
*Change: fCraft now forcibly resets its working directory to the same path where the executable is&lt;br /&gt;
*Change: Removed &amp;quot;delete old file?&amp;quot; prompt when renaming worlds in AddWorldPopup. Now it just does it, to match tabWorlds&#039; DataGridView behavior&lt;br /&gt;
*Change: Added additional error checks to Map.Backup() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.422===&lt;br /&gt;
*Feature: Further improved network performance by introducing nonblocking (lock-free) data structure to packet output buffer&lt;br /&gt;
*Fix: Fixed &amp;quot;world creation failed&amp;quot; error if worlds.xml defined a non-existing world to be main&lt;br /&gt;
*Fix: Added back missing messages when doing /user on offline users&lt;br /&gt;
*Fix: Fixed player name color not being updated when their class changes&lt;br /&gt;
*Fix: Added missing /help entries for /importbans and /importranks&lt;br /&gt;
*Change: Improved help messages for /lock, /unban, /unbanip, /undo, /wload, /wmain, and /wremove&lt;br /&gt;
*Change: Tweaked default values of BlockUpdateThrottling and maxBlockUpdatesPerTick for maximum lag-free performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.421===&lt;br /&gt;
*Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players&lt;br /&gt;
*Feature: Added the ability to ban unseen players&lt;br /&gt;
*Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated &amp;quot;Import&amp;quot; permission was added. See &amp;quot;/help importbans&amp;quot; and &amp;quot;/help importranks&amp;quot; for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.&lt;br /&gt;
*Feature: Improved BlockUpdateQueue performance (faster drawing commands!) by switching to a lock-free data structure&lt;br /&gt;
*Fix: Fixed startup errors not being logged if config.xml has not been parsed yet&lt;br /&gt;
*Fix: Fixed ConfigUI input box not aligning properly when window is resized&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; generated maps being 1 block off vertically&lt;br /&gt;
*Change: Updated PlayerDB and IPBanList to use standard temporary folder (instead of dumping temp files into fCraft directory)&lt;br /&gt;
*Change: Added &amp;quot;logging starts&amp;quot; marker that&#039;s written to console and log on-startup&lt;br /&gt;
*Change: fCraftUI log now displays the last 2000 lines (up from 1000 lines)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.420===&lt;br /&gt;
*Feature: New &amp;quot;Worlds&amp;quot; tab in ConfigTool for managing your world list&lt;br /&gt;
*Feature: Isometric map previews and map generation in ConfigTool&lt;br /&gt;
*Feature: Implemented a class-ID system that allows adding/renaming/deleting classes without breaking compatibility. DeleteClassPopup was added for this&lt;br /&gt;
*Feature: Added LimitOneConnectionPerIP option to config &amp;amp; configtool&lt;br /&gt;
*Feature: Worlds can now be hidden from the /worlds list&lt;br /&gt;
*Feature: Added /whois command for checking if a player is using real name or nickname. BE CAREFUL WITH &amp;quot;ChangeName&amp;quot; PERMISSION!&lt;br /&gt;
*Feature: fCraft now generates crash.txt on unhandled fatal errors&lt;br /&gt;
*Feature: Implemented theme support, and added 2 new terrain types (Coast and River) for MapGenerator. See &amp;quot;/help gen&amp;quot; for details, or use ConfigTool.&lt;br /&gt;
*Feature: Pressing Up/Down keys in fCraftUI will show previously typed commands.&lt;br /&gt;
*Fix: Fixed a bug in /wmain and /wload that sometimes made the server unconnectable after changing map&lt;br /&gt;
*Fix: Limits on the /kick command now apply correctly&lt;br /&gt;
*Fix: Fixed /wbuild and /waccess showing wrong messages&lt;br /&gt;
*Fix: Fixed hidden players unable to build due to grief protection&lt;br /&gt;
*Fix: Added /nick and /whois entries to /help&lt;br /&gt;
*Fix: Removed the ability to call draw commands from console (caused crash)&lt;br /&gt;
*Fix: Fixed /lava checking PlaceWater permission instead of PlaceLava&lt;br /&gt;
*Fix: A debug message about &amp;quot;attempting to unregister an non-existent player&amp;quot; is no longer logged every time VerifyNames fails&lt;br /&gt;
*Fix: When using /where command on other players, correct coordinates are now shown]&lt;br /&gt;
*Fix: Player&#039;s classes are now updated in fCraftUI list when promoted/demoted&lt;br /&gt;
*Fix: PMs are now logged as LogType.PrivateChat (instead of generic LogType.WorldChat)&lt;br /&gt;
*Fix: /hide and /unhide now use Color.Sys instead of hardcoded Color.Yellow&lt;br /&gt;
*Fix: Player&#039;s nicknames (as set by /nick) are applied correctly and preserved when changing worlds&lt;br /&gt;
*Fix: Added missing checks for &amp;quot;Chat&amp;quot; permissions&lt;br /&gt;
*Fix: Color buttons in ConfigTool now show correct background color under Mono&lt;br /&gt;
*Fix: Fixed help entry to /freeze showing incorrect information&lt;br /&gt;
*Fix: Corrected tab order in all ConfigTool forms&lt;br /&gt;
*Change: Added /blb as another alias for /cuboid&lt;br /&gt;
*Change: Removed ReservedSlotBehavior config key&lt;br /&gt;
*Change: Disabled word wrapping in rules.txt editor popup&lt;br /&gt;
*Change: /unhide now resets the player&#039;s nick&lt;br /&gt;
*Change: Both player&#039;s real name and nickname (if any) are now recorded in the log&lt;br /&gt;
*Change: Added a warning to /info when looking up nicknames (instead of real names)&lt;br /&gt;
*Change: Heartbeat salt generation (used to verify names) is now more secure&lt;br /&gt;
*Change: Removed CanPlaceHardenedBlocks from permission list&lt;br /&gt;
*Change: All map generator terrain types have been tweaked for improved appearence&lt;br /&gt;
*Change: Centered all ConfigTool popup windows (AddWorldPopup, ColorPicker, DeleteClassPopup, TextEditorPopup)&lt;br /&gt;
*Change: Hid unneeded icons and buttons from ConfigTool popups&lt;br /&gt;
*Change: Changed the way zones store rank restriction (as part of the compatibility assurance), and added versioning to zone definitions&lt;br /&gt;
*Change: Map.Save() now creates temporary files in the OS-specific temporary folder, not in same folder where fCraft is installed&lt;br /&gt;
*Change: World permissions are now updated automatically when a class is deleted&lt;br /&gt;
*Refactor: Improved consistency in code naming conventions, especially in IRC code&lt;br /&gt;
*Refactor: Improved code organization in many areas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.410===&lt;br /&gt;
*Implemented per-world access and build permissions.&lt;br /&gt;
*Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.&lt;br /&gt;
*New world-related commands:&lt;br /&gt;
**/wmain changes the main world&lt;br /&gt;
**/waccess and /wbuild allow setting per-world permissions&lt;br /&gt;
**/wremove allows deleting worlds&lt;br /&gt;
**/wrename allows renaming worlds without reloading&lt;br /&gt;
**/wload command is significantly improved (see /help wload for more info). The functionality of the old /load command has been merged with /wload. Now /load is an alias for /join, together with /l, /j, and /goto.&lt;br /&gt;
*Removed SaveAndLoad permission - it became redundant with ManageWorlds. Please check your config to ensure that permissions remain consistent.&lt;br /&gt;
*Added new and previously-missing (/lockall, /unlockall, /where, /me, /rules, /setspawn) commands to /help.&lt;br /&gt;
*Disabled verify-names check for localhost (127.0.0.1) when running in Balanced mode.&lt;br /&gt;
*When player is denied access to some command, server now names the specific permission that&#039;s needed.&lt;br /&gt;
*Fixed a potential desync issue when one player rejoins a world, and another joins it simultaneously.&lt;br /&gt;
*Removed /genh command and /compass alias for the /where command.&lt;br /&gt;
*Added a fail-safe exception check when executing console commands. Now the server will stay up even if an exception occurs while executing console command.&lt;br /&gt;
*Improved the way server reacts to fatal errors on startup. Now there is a clear indication that server cannot start.&lt;br /&gt;
*&amp;quot;default map&amp;quot; is now referred to as &amp;quot;main world&amp;quot; for consistency. &lt;br /&gt;
*Improved garbage collection.&lt;br /&gt;
&lt;br /&gt;
===0.405===&lt;br /&gt;
*Added back support for vanilla (server_level.dat) maps.&lt;br /&gt;
*Fixed MCSharp importer leaving nonstandard blocks in the map, causing client crashes. Now all MCSharp-specific blocks are converted to normal types.&lt;br /&gt;
*Fixed visual player list not updating in fCraftUI.&lt;br /&gt;
*Added /players command to list ALL players on the server (in all worlds)&lt;br /&gt;
*Made the BlockType parameter optional for /cuboid and /ellipsoid. Now it takes blocktype of the second click (or last-previously-used-blocktype when using /mark) in the absence of the optional parameter.&lt;br /&gt;
*ConfigTool: Added a new tab for IRC setting.&lt;br /&gt;
*ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.&lt;br /&gt;
*IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.&lt;br /&gt;
*IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot. &lt;br /&gt;
*IRC: Fixed a bug with infinite reconnects on receiving error 433 Nickname already in use.&lt;br /&gt;
*Zones: Changed behavior of overlapping zones:&lt;br /&gt;
**Before: To touch a block, AT LEAST ONE zone has to allow it&lt;br /&gt;
**Now: To touch a block, ALL ZONES have to allow it&lt;br /&gt;
*Zones: Added /ztest command that lists all zones affecting a particular block. It can be used to detect and resolve zone overlaps.&lt;br /&gt;
*Zones: Added proper /help entries for /zone, /zones, /zremove, and /ztest, and contextual help for /zone and /zones.&lt;br /&gt;
*Zones: Made zone commands inaccessible from console (it would cause a crash, since zones are world-specific).&lt;br /&gt;
*Fixed OnPlayerDisconnected and OnPlayerListChanged sometimes firing at the wrong time.&lt;br /&gt;
*Added better error handling to Map.Save() in case the target file is not writable.&lt;br /&gt;
*Updated /help entries for /lock, /unlock, and /load commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.404===&lt;br /&gt;
*Fixed zone borders being off by 1 block.&lt;br /&gt;
*Fixed a rare crash on shutdown.&lt;br /&gt;
*Fixed heartbeat reporting incorrect port number to heartbeat if the port specified in config was not available.&lt;br /&gt;
*Adjusted default class permissions slightly, by popular demand:&lt;br /&gt;
**regulars can now place Water and Lava&lt;br /&gt;
**ops can now use draw commands&lt;br /&gt;
*IRC: Added a config option &#039;IRCMsgs&#039; to toggle join/leave messages on/off. Default is disabled to prevent massive spam.&lt;br /&gt;
*IRC: Fixed a possible crash in IRCComm, related to static initializers.&lt;br /&gt;
*ConfigTool: Fixed many bugs in permission checkbox list.&lt;br /&gt;
*ConfigTool: Added visual editor for rules.txt&lt;br /&gt;
*ConfigTool: Added stub tab for IRC settings (coming soon).&lt;br /&gt;
&lt;br /&gt;
===0.403===&lt;br /&gt;
*Fixed spawnpoint being read incorrectly when using /load.&lt;br /&gt;
*Added a note to ban*/unban* commands that&#039;s shown when player name is not found: &amp;quot;Use the FULL player name for ban/unban commands.&amp;quot;&lt;br /&gt;
*Fixed a thread crash (not server-wide crash) in Session.IoLoop that can be caused by corrupted or malicious handshake packets.&lt;br /&gt;
*Fixed a potential crash when using /info on offline players from console.&lt;br /&gt;
*Fixed a potential crash when using /gen from console.&lt;br /&gt;
*Added more fail-safe checks that ensure that map spawn point is always within the map boundaries.&lt;br /&gt;
*Started logging IPs of connections that try sending corrupted or malicious handshake packets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.402===&lt;br /&gt;
*Added back /load command, and hooked up MCC. Currenly supported: fCraft/fcm, MCSharp/lvl, indev/mclevel, MinerCPP and LuaCraft (dat). Vanilla support coming soon.&lt;br /&gt;
*Fixed worlds being unloaded before all block updates are processed (thus aborting draw commands).&lt;br /&gt;
*Fixed several potential multiworld-related crashes and freezes.&lt;br /&gt;
*Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.&lt;br /&gt;
*IRC: Added an information message to notify users of the IRC Bot&#039;s online status when joining the server.&lt;br /&gt;
*IRC: Added the ability to send NOTICES.&lt;br /&gt;
*IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.&lt;br /&gt;
*IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.&lt;br /&gt;
*Drawing-related state is now reset when changing worlds.&lt;br /&gt;
*Added a limiter to the number of block updates that can be processed per tick (even if there are no players in a world). Fixes server becoming unresponsive when doing enormous drawing commands (millions of blocks).&lt;br /&gt;
*Allowed players to /join the world that they are already on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.401===&lt;br /&gt;
*&#039;&#039;&#039;IDLE/AFK CHECKING&#039;&#039;&#039; This is configurable per-class.&lt;br /&gt;
*Added /version command, and added revision to the version string.&lt;br /&gt;
*Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands. &lt;br /&gt;
*Removed all references to the old pre-multiworld &amp;quot;map.fcm.&amp;quot; Backups now work again. &lt;br /&gt;
*Fixed players not spawning in the right place when changing worlds.&lt;br /&gt;
*IRC Bot will now handle terminations by the IRCd and restart itself upon any errors. &lt;br /&gt;
*IRC Bot can now send from inside the server TO IRC! Use the prefix &#039;#&#039; in-game to send any message to IRC. Forwarding all server chat may be added if requested. To send from the bot to the server, use the bot&#039;s nickname and either &#039;:&#039;, &#039;,&#039; or nothing, then your message.&lt;br /&gt;
*Improved performance of the IRC bot and the task scheduler.&lt;br /&gt;
*Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn&#039;t exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.&lt;br /&gt;
*Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after &#039;#&#039; in server chat.&lt;br /&gt;
*Handshake packet is now written when doing /join, to replace MOTD with a more informative &amp;quot;Now loading [worldname]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.400===&lt;br /&gt;
*&#039;&#039;&#039;MULTIWORLD&#039;&#039;&#039; It&#039;s finally here. See /help for information on new commands: /worlds, /wload, /join&lt;br /&gt;
*Added a persistent world list, saved in worlds.txt - this is subject to change. The file contains a list of world names, each corresponding to an .fcm file. The first world listed at the top of worlds.txt is the default/main one.&lt;br /&gt;
*&#039;&#039;&#039;IRC BOT&#039;&#039;&#039; Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.&lt;br /&gt;
*A field has been added in the config to allow forwarding ALL IRC CHANNEL TRAFFIC to the server. This will override the prefix and make it inactive. &#039;IRCBotForwardAll&#039; is set to false by default.&lt;br /&gt;
*&#039;&#039;&#039;ZONES&#039;&#039;&#039; It is now possible to make guest zones and op zones (and anything in-between) on any map. See /help for information on new commands: /zones, /zone, /zremove.&lt;br /&gt;
*Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.&lt;br /&gt;
*Added /compass command (aka /where).&lt;br /&gt;
*Fixed players sometimes not seeing their /kick message.&lt;br /&gt;
*Added a way to teleport to specific coordinates (/tp x y h)&lt;br /&gt;
*Fixed heartbeats timing out when running fCraft under Mono.&lt;br /&gt;
*Fixed Config.ApplyConfig setting the wrong server throttling variables.&lt;br /&gt;
*Fixed air blocks appearing underwater when using /gen&lt;br /&gt;
*Tweaked /gen parameters to make &amp;quot;island&amp;quot; a bit less ugly.&lt;br /&gt;
*Updated text in fCraftConsole.&lt;br /&gt;
&lt;br /&gt;
=0.3xx=&lt;br /&gt;
===0.330===&lt;br /&gt;
*Added /cuboid and /ellipsoid drawing commands.&lt;br /&gt;
*Improved memory usage.&lt;br /&gt;
*Added &amp;quot;Draw&amp;quot; permission, and made /draw check &amp;quot;DeleteAdmincrete&amp;quot; permission when replacing blocks, and removed unused &amp;quot;PlaceGlitchedSand&amp;quot; permission.&lt;br /&gt;
*Added &amp;quot;Port&amp;quot; and &amp;quot;BackupOnlyWhenChanged&amp;quot; config lines, and corresponding ConfigTool fields.&lt;br /&gt;
*Fixed bug that deleted ALL backups when you check &amp;quot;don&#039;t delete old backups.&amp;quot; That was embarrassing.&lt;br /&gt;
&lt;br /&gt;
===0.325===&lt;br /&gt;
*Added an experimental low-latency mode (faster server response, but more bandwidth required).&lt;br /&gt;
*Improved hacking detection: added anti-chat-spam and anti-grief (block spam) checks.&lt;br /&gt;
*New more aggressive anti-hacking checks for incoming movement and SetTile packets.&lt;br /&gt;
*Fixed an issue with fCraftUI console log getting truncated in the wrong places.&lt;br /&gt;
*Improved Mono compatibility (fixes HttpWebRequest failures).&lt;br /&gt;
&lt;br /&gt;
===0.324===&lt;br /&gt;
*Added /me command.&lt;br /&gt;
*Added step stacking.&lt;br /&gt;
*Fixed a case where disconnected players would leave a ghost behind.&lt;br /&gt;
*Improved shutdown speed.&lt;br /&gt;
*Implemented ProcessPriority setting.&lt;br /&gt;
&lt;br /&gt;
===0.323===&lt;br /&gt;
*Fixed players not being able to delete admincrete after promotion.&lt;br /&gt;
*Fixed a bug that allowed players to noclip into walls when using /tp or /bring.&lt;br /&gt;
*Fixed a security issue with &amp;quot;VerifyNames: Balanced&amp;quot;&lt;br /&gt;
*Added prototype of the security tab in ConfigTool (work in progress).&lt;br /&gt;
&lt;br /&gt;
===0.322===&lt;br /&gt;
*Added a range check to Player.SetTile, to prevent certain types of grief bots.&lt;br /&gt;
*Fixed a bug where map spawnpoint did not change after doing /load.&lt;br /&gt;
*Fixed some typos.&lt;br /&gt;
&lt;br /&gt;
===0.321===&lt;br /&gt;
*Fixed welcome messages not showing.&lt;br /&gt;
*Renamed /alias to /nick, and added a permission check.&lt;br /&gt;
&lt;br /&gt;
===0.320===&lt;br /&gt;
*Finally last fix for the disconnect problem. Sorry about that.&lt;br /&gt;
&lt;br /&gt;
===0.319===&lt;br /&gt;
*Quick fix for disconnect problem.&lt;br /&gt;
&lt;br /&gt;
===0.318===&lt;br /&gt;
*Fixed VerifyNames not saving properly when using ConfigTool.&lt;br /&gt;
*Fixed several potential crashers in Session and World.&lt;br /&gt;
*Fixed a bug that sometimes wrongly showed &amp;quot;class name not recognized&amp;quot;.&lt;br /&gt;
*Added class name autocompletion for class chat (@@classname blah)&lt;br /&gt;
*Started working on the new /load mode that allows loading different sized maps, and loading much faster (not done yet).&lt;br /&gt;
&lt;br /&gt;
===0.317===&lt;br /&gt;
*Optimized handling of player movement and some block/tile updates, making servers more responsive and less laggy.&lt;br /&gt;
*Fixed a possible crash that sometimes happened when server has 1 slot left and 2 people tried to join at once.&lt;br /&gt;
*Fixed a case where a Session object was not properly disposed.&lt;br /&gt;
*Fixed resizing issue in UpdateWindow and reduced connection timeout in Updater&lt;br /&gt;
*Disabled ShowPrefixesInChat and ShowPrefixesInList by default (breaks skin support)&lt;br /&gt;
*Added Player.Send, a safe wrapper for Player.session.Send&lt;br /&gt;
*Fixed /tp, /bring, and /setspawn commands that were broken in the last revision.&lt;br /&gt;
*Fixed ConfigTool not saving &amp;quot;IsPublic&amp;quot; setting correctly.&lt;br /&gt;
&lt;br /&gt;
===0.316===&lt;br /&gt;
*Added partial class-name matching for /class and /user commands.&lt;br /&gt;
*Fixed /banip and /banall not kicking the banned players immediately.&lt;br /&gt;
*Added /rules command. Create &amp;quot;rules.txt&amp;quot; in the server folder to specify.&lt;br /&gt;
*Fixed a bug where player movement sometimes got a little out of sync.&lt;br /&gt;
*Optimized /load speed a bit.&lt;br /&gt;
*Added nicer application icons.&lt;br /&gt;
&lt;br /&gt;
===0.315===&lt;br /&gt;
*Added visual color picker to ConfigTool&lt;br /&gt;
*Added lightweight console interface for fCraft&lt;br /&gt;
*Refactored the main update loop&lt;br /&gt;
&lt;br /&gt;
===0.314===&lt;br /&gt;
*Added AutomaticUpdates option.&lt;br /&gt;
*Integrated the color picker to ConfigTool.&lt;br /&gt;
*Improved hacking detection.&lt;br /&gt;
&lt;br /&gt;
===0.313===&lt;br /&gt;
*Fixed a few glitches left after switching file formats.&lt;br /&gt;
*Improved memory usage when saving maps.&lt;br /&gt;
*Fixed an updater-related crash.&lt;br /&gt;
&lt;br /&gt;
===0.312===&lt;br /&gt;
*New map format (FCM v2) should provide faster loading times.&lt;br /&gt;
*server_level.dat loader is now functional.&lt;br /&gt;
*Fixed possible crash if the default port was not available.&lt;br /&gt;
*Automatic updater should now work properly. More update options to come.&lt;br /&gt;
&lt;br /&gt;
===0.311===&lt;br /&gt;
*Preview version of automatic updater.&lt;br /&gt;
&lt;br /&gt;
===0.310===&lt;br /&gt;
*Cleaned up some VC# crapfiles.&lt;br /&gt;
*Added class prefixes and colors.&lt;br /&gt;
*Added PlaceWater and PlaceLava back to permissions.&lt;br /&gt;
*Fixed rank-limited permissions.&lt;br /&gt;
*Other assorted glitches fixed.&lt;br /&gt;
&lt;br /&gt;
===0.305===&lt;br /&gt;
*removed config.xml from svn.&lt;br /&gt;
&lt;br /&gt;
===0.304===&lt;br /&gt;
*More potential crashes fixed.&lt;br /&gt;
&lt;br /&gt;
===0.303===&lt;br /&gt;
*Fixed a couple potential crashes in ConfigTool and Config.DefineClass&lt;br /&gt;
&lt;br /&gt;
===0.302===&lt;br /&gt;
*Fixed a few minor ConfigTool bugs.&lt;br /&gt;
&lt;br /&gt;
===0.301===&lt;br /&gt;
*Forgot to save config from World.cs after parsing. Minor update.&lt;br /&gt;
&lt;br /&gt;
===0.300===&lt;br /&gt;
*ConfigTool finished. Note that some of the options do not have an effect yet.&lt;br /&gt;
&lt;br /&gt;
=Before 0.3xx=&lt;br /&gt;
*Version history was not kept before this point.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Version_history&amp;diff=2637</id>
		<title>Version history</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Version_history&amp;diff=2637"/>
		<updated>2017-04-30T06:45:25Z</updated>

		<summary type="html">&lt;p&gt;F: /* 0.440 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
=0.6xx=&lt;br /&gt;
===0.644===&lt;br /&gt;
&#039;&#039;27 January 2014 - r2327&#039;&#039;&lt;br /&gt;
*Fix: Fixed a bug that caused character &#039;@&#039; in player names to be treated same as &#039;_&#039; (thanks Dingus)&lt;br /&gt;
*Fix: Fixed a rare crash in {{cmd|ZEdit}} when using the command improperly.&lt;br /&gt;
*Fix: Fixed a DataError being thrown in ConfigGUI&#039;s &amp;quot;Worlds&amp;quot; tab after toggling rank prefixes on/off.&lt;br /&gt;
*Fix: Improved error reporting.&lt;br /&gt;
*Change: Improved reliability of external IP checks.&lt;br /&gt;
&lt;br /&gt;
===0.643===&lt;br /&gt;
&#039;&#039;15 October 2013 - r2234&#039;&#039;&lt;br /&gt;
*Fix: Fixed sometimes wrapping last word of a chat message to the next line, when the whole message could fit on one line (thanks AndrewPH).&lt;br /&gt;
*Fix: Installing updates no longer causes UAC prompts under Windows Vista.&lt;br /&gt;
*Fix: Fixed IRC periodically crashing if someone quits with an empty message.&lt;br /&gt;
*Fix: Fixed IRC-related crashes not being submitted to the crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.642===&lt;br /&gt;
&#039;&#039;27 August 2013 - r2180&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Fill3D}}.&lt;br /&gt;
*Feature: Added caret (^), tilde (~), and grave accent (`) to [[emotes]].&lt;br /&gt;
*Fix: Emotes work via IRC once again.&lt;br /&gt;
*Fix: ConfigGUI: Fixed &amp;quot;Add world&amp;quot; and &amp;quot;Edit world&amp;quot; popups sometimes locking up.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving LastFailedLoginIP properly.&lt;br /&gt;
*Change: Made it easy to switch heartbeat servers (minecraft.net to classicube or back) via ConfigGUI.&lt;br /&gt;
*Change: Added an optional second parameter to {{cmd|DumpStats}}, which allows specifying period of inactivity for filtering players.&lt;br /&gt;
*Change: Improved startup and shutdown times, and reduced CPU use.&lt;br /&gt;
*Change: {{cmd|Hide}} and {{cmd|Unhide}} now indicate when they are silent or not.&lt;br /&gt;
&lt;br /&gt;
===0.641===&lt;br /&gt;
&#039;&#039;17 August 2013 - r2150&#039;&#039;&lt;br /&gt;
*Feature: Improved the way {{cmd|EllipsoidH}} works on flat surfaces. Instead of filled ellipses, it now makes rings.&lt;br /&gt;
*Feature: Added {{cmd|Reply}} (&amp;lt;code&amp;gt;/re&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: {{cmd|Fill2D}} can now fill with any brush, not just solid color.&lt;br /&gt;
*Feature: Added &#039;&#039;HeartbeatUrl&#039;&#039; [[List of config keys#Advanced|config key]], to allow alternative heartbeat/authentication services. &#039;&#039;&#039;Note: [[HeartbeatSaver]] only needs to be updated IF you plan on using something other than minecraft.net&#039;&#039;&#039;&lt;br /&gt;
*Fix: Fixed a InvalidOperationException in ConfigGUI when re-drawing the map preview (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;Realistic&amp;quot; MapGen help (thanks Jonty800).&lt;br /&gt;
*Fix: Now correctly kicking custom premium-MC clients.&lt;br /&gt;
*Fix: Fixed help messages in [[HeartbeatSaver]] and {{cmd|MassRank}}.&lt;br /&gt;
*Fix: Fixed a potential way of revealing hidden players by messaging them.&lt;br /&gt;
*Change: ConfigGUI&#039;s port checker works again.&lt;br /&gt;
*Change: IRC bot will now retry for its primary nick every 30 seconds (thanks Dankirk).&lt;br /&gt;
&lt;br /&gt;
===0.640===&lt;br /&gt;
&#039;&#039;30 July 2013 - r2124&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Feature: [[Mojang accounts|Mojang account]] (email) support.&#039;&#039;&#039; Added {{perm|ViewEmails}} permission and a config option to disallow email users.&lt;br /&gt;
*Feature: Overhauled map generation! Improved {{cmd|Gen}}, new {{cmd|SetGen}} command, more options, preset loading/saving, redesigned ConfigGUI interface, and two new map generation modes: Vanilla (from [http://femto.fcraft.net FemtoCraft]) and FloatingIsland.&lt;br /&gt;
*Feature: Optional [http://www.regular-expressions.info/quickstart.html RegEx] filtering of filenames for [[MapRenderer]] and [[MapConverter]], enabled by &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Feature: Added &amp;lt;i&amp;gt;&amp;quot;Player ___ logged in from an IP shared by frozen players...&amp;quot;&amp;lt;/i&amp;gt; announcement.&lt;br /&gt;
*Feature: Added an optional parameter to toggle commands (grass, water, lava, solid, paint, static) &amp;amp;mdash; &amp;quot;on&amp;quot;/&amp;quot;1&amp;quot; or &amp;quot;off&amp;quot;/&amp;quot;0&amp;quot;.&lt;br /&gt;
*Feature: Added BackupOnMapChange config key, which automates backups when a world&#039;s map is replaced by /Gen or /WLoad (enabled by default).&lt;br /&gt;
*Feature: Added &amp;lt;code&amp;gt;/To&amp;lt;/code&amp;gt; as an alias of {{cmd|TP}}, and &amp;lt;code&amp;gt;/Flush&amp;lt;/code&amp;gt; as an alias for {{cmd|WFlush}}.&lt;br /&gt;
*Feature: [[MapRenderer]] is now much quicker, thanks to optimization and multithreading.&lt;br /&gt;
*Feature: Added ability to change capitalization of player&#039;s name using {{cmd|SetInfo}}.&lt;br /&gt;
*Fix: Fixed MapGenerator sometimes locking up when working with tiny 16x16 maps (thanks 123DMWM).&lt;br /&gt;
*Fix: Fixed world greetings not being saved between restarts (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed {{cmd|WLoad}} showing incorrect map file names when prompting to replace files (thanks Smokeybacon).&lt;br /&gt;
*Fix: Fixed [[Command_Tips#Restricting_player_name_search|online-only name prefix]] revealing hidden players in some commands (thanks Intertoothh and recon).&lt;br /&gt;
*Fix: When a spectating player gets frozen, they are no longer stuck spectating (thanks ruggedbear and NuclearWaffle121).&lt;br /&gt;
*Fix: IRC now handles two-number color codes and reset codes correctly (thanks Liam).&lt;br /&gt;
*Fix: Fixed map changes sometimes leaving behind &amp;quot;ghost maps&amp;quot; for players with rank-specific main maps set (thanks Jonty800).&lt;br /&gt;
*Fix: PlayerDB name autocompletion now correctly handles players with &#039;.&#039; in their names.&lt;br /&gt;
*Fix: Timed backups no longer drift slightly every hour.&lt;br /&gt;
*Fix: Players can now {{cmd|Clear}} their chat even while [[/Deafen|deaf]].&lt;br /&gt;
*Fix: Fixed a rare serialization issue with PlayerDB&#039;s RankChangedBy field.&lt;br /&gt;
*Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Now only allow either one directory, or one-or-more files to be specified. Multiple directories, and mixed directories/files are no longer allowed.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Disabled slow fallback conversion by default (which caused non-map files to take forever to skip in recursive mode). Old behavior can be reenabled with &amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Change: When auto-updating or restarting under Mono, fCraft no longer tries to use &amp;quot;mono-sgen&amp;quot;, now just using &amp;quot;mono&amp;quot; and assuming that runtime is properly configured.&lt;br /&gt;
*Change: {{cmd|WBuild}} and {{cmd|WAccess}} can optionally now take &amp;quot;@&amp;quot; in front of rank name.&lt;br /&gt;
*Change: Removed BackupOnJoin config key.&lt;br /&gt;
*Change: UpdateInstaller&#039;s &amp;lt;code&amp;gt;--restart&amp;lt;/code&amp;gt; parameter is more flexible.&lt;br /&gt;
*Change: Dropped Mono 2.6 support.&lt;br /&gt;
*Change: Optimizations in player movement code, PlayerDB loading/saving, IP ban list loading, map generation, map rendering, {{cmd|Ellipsoid}}, and {{cmd|Sphere}}.&lt;br /&gt;
&lt;br /&gt;
===0.639===&lt;br /&gt;
&#039;&#039;10 December 2012 - r1917&#039;&#039;&lt;br /&gt;
*Feature: Added RankPrefixesOnDisplayedNames config key (default: false), which controls whether to prepend rank prefixes to names of players with a custom DisplayedName set.&lt;br /&gt;
*Feature: Added BypassHttpsCertificateValidation config key (default: false), to ease HTTPS-related pains under Mono.&lt;br /&gt;
*Feature: Added MoveEmoteDotToEndOfMessage config key (default: true), which slightly changes emote formatting, by BobKare&#039;s request.&lt;br /&gt;
*Fix: Fixed a stability issue in the IRC bot.&lt;br /&gt;
*Fix: Fixed incorrect runtime version detection for Mono versions older than 2.6.&lt;br /&gt;
*Fix: Server now gives more informative messages when you try to do something disallowed to yourself (mute, unfreeze, ban, kick, etc).&lt;br /&gt;
*Fix: Fixed being able to teleport to hidden players (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed {{cmd|Unhide}} not faking a join message for hidden players (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed IRC bot sending USER before NICK (fixes occasional error 451) (thanks Hellenion).&lt;br /&gt;
*Change: Added ability to set players&#039; BandwidthUseMode via {{cmd|SetInfo}}.&lt;br /&gt;
*Change: Improved {{cmd|Env}}, {{cmd|UndoAreaNot}}, and {{cmd|Help}} messages.&lt;br /&gt;
*Change: Players&#039; connection messages in logs now include TimesVisited stat.&lt;br /&gt;
*Change: {{cmd|Help|commands}} is no longer an alias for {{cmd|Commands}} (thanks ruggedbear).&lt;br /&gt;
&lt;br /&gt;
===0.638===&lt;br /&gt;
&#039;&#039;29 November 2012 - r1887&#039;&#039;&lt;br /&gt;
*Feature: [[Emotes|Emote]] keywords and their Unicode equivalents can now be included in announcement and rule files.&lt;br /&gt;
*Feature: IRC bot now sends a quit message consisting of server name and shutdown reason.&lt;br /&gt;
*Fix: Fixed a very small chance of PlayerInfo.TimeMutedLeft returning negative time spans.&lt;br /&gt;
*Fix: Leading and trailing spaces are now trimmed from kick/ban/unban reasons.&lt;br /&gt;
*Fix: Fixed some emotes getting trimmed from {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} (thanks Intertoothh)&lt;br /&gt;
*Fix: Fixed RestartInterval starting two chat timers (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed ServerCLI using console colors for the first few messages even if &amp;lt;code&amp;gt;--noconsolecolor&amp;lt;/code&amp;gt; [[List of command-line options|command-line switch]] was given (thanks Hellenion)&lt;br /&gt;
*Change: Added &amp;lt;code&amp;gt;--noupdater&amp;lt;/code&amp;gt; command line switch, which stops fCraft from launching update installer binaries (although all other update-related behavior remains the same)&lt;br /&gt;
*Change: Player&#039;s own name is no longer considered in autocompletion/searches for commands that are not applicable to self (e.g. {{cmd|Ban}}, {{cmd|Mute}}, {{cmd|Ignore}}, {{cmd|TP}}, etc)&lt;br /&gt;
*Change: Logged global chat messages now have &amp;quot;(global)&amp;quot; prepended before player&#039;s name.&lt;br /&gt;
*API: Updated trunk project files to VisualStudio 2010. Target runtime remains .NET 3.5 Client Profile.&lt;br /&gt;
&lt;br /&gt;
===0.637===&lt;br /&gt;
&#039;&#039;16 October 2012 - r1847&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Emotes}} command, to list emotes and their keywords.&lt;br /&gt;
*Fix: Fixed IRC bot cutting off very long messages.&lt;br /&gt;
*Fix: Fixed {{cmd|Info}} not working with some IP ranges (thanks _BjorN64_).&lt;br /&gt;
*Fix: Fixed single-letter emote keywords not working (thanks Wundsalz).&lt;br /&gt;
*Fix: Improved the way IRC bot handles nick conflicts (thanks Jonty800).&lt;br /&gt;
*Fix: {{cmd|DumpStats}} no longer dies when an invalid file name is given (thanks Hellenion).&lt;br /&gt;
*Change: Added a new build configuration, DEBUG_NETWORKING, which traces all incoming and outgoing packets.&lt;br /&gt;
*Change: IRC bot now logs all outgoing messages when built in DEBUG_IRC configuration.&lt;br /&gt;
&lt;br /&gt;
===0.636===&lt;br /&gt;
&#039;&#039;10 October 2012 - r1832&#039;&#039;&lt;br /&gt;
*Feature: Check your configs! New options were added to control display of colors and emotes to/from IRC.&lt;br /&gt;
*Feature: Added {house} [[emotes|emote]]: ⌂ (0x7F).&lt;br /&gt;
*Fix: Fixed newline codes %n/%N not being parsed properly.&lt;br /&gt;
*Fix: Fixed a crash in Color.StripColors (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed random symbols appearing in stack traces in console (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed couple problems with Player.Moving event (thanks 00pol).&lt;br /&gt;
*Fix: Spawn points of MCSharp map files are now loaded correctly (thanks 00pol).&lt;br /&gt;
*Change: Players&#039; DisplayedNames may no longer contains line breaks.&lt;br /&gt;
&lt;br /&gt;
===0.635===&lt;br /&gt;
&#039;&#039;8 October 2012 - r1822&#039;&#039;&lt;br /&gt;
*Feature: Added support for &amp;quot;[[emotes]]&amp;quot; (chat symbols). New permission ({{perm|UseEmotes}}) and config key (IRCAllowEmotes) were added.&lt;br /&gt;
*Fix: Fixed numbers sometimes being accepted as valid (e.g. by {{cmd|Mute}}), although counted as 0-length time spans.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving strings with newlines properly.&lt;br /&gt;
*Fix: Fixed IRC bot sometimes producing messages that are a couple characters over the IRC message size limit (512 chars).&lt;br /&gt;
*Fix: Fixed players being able to use newline codes (&amp;amp;N/&amp;amp;n) on IRC.&lt;br /&gt;
*Fix: Fixed problems with UpdaterMode and BackupOnStartup settings in ConfigGUI.&lt;br /&gt;
*Fix: Fixed fCraft not building in DEBUG_IRC configuration.&lt;br /&gt;
*Change: Added a workaround for TermInfoDriver-related exceptions under Mono (thanks Hellenion)&lt;br /&gt;
*Change: Symbolic [[colors|color codes]] (e.g. %S) can now be used in chat.&lt;br /&gt;
*Change: Backslash can now be used to escape percent [[colors|color codes]] (e.g. \%C).&lt;br /&gt;
*Change: fCraft will now retry looking up the external IP up to 3 times.&lt;br /&gt;
*Change: Lots of documentation, annotation, and API improvements.&lt;br /&gt;
&lt;br /&gt;
===0.634===&lt;br /&gt;
&#039;&#039;30 September 2012 - r1796&#039;&#039;&lt;br /&gt;
*Fix: Fixed an occasional InvalidOperationException when auto-updating in ServerGUI.&lt;br /&gt;
*Fix: Fixed ConfigGUI showing misleading information in &amp;quot;unrecognized entry ignore&amp;quot; errors.&lt;br /&gt;
*Fix: Fixed Logger trying to write to file in [[MapConverter]] and [[MapRenderer]].&lt;br /&gt;
*Fix: Fixed [[MapRenderer]] and [[MapConverter]] spamming zone-related errors (thanks Hellenion and AndrewPH)&lt;br /&gt;
*Fix: Fixed {{cmd|UndoPlayerNot}} help entry (thanks ruggedbear)&lt;br /&gt;
*Change: Heartbeat code now uses HTTPS, as mandated by Mojang. If you use Mono, see http://www.mono-project.com/FAQ:_Security&lt;br /&gt;
*Change: Removed support for the malfunctioning WoM Direct heartbeat service.&lt;br /&gt;
*Change: RankChangeReason is now shown as a &amp;quot;Rank note&amp;quot; in {{cmd|Info}}, even if no other data (PreviousRank/RankChangedBy/RankChangeDate) exists (thanks Wundsalz)&lt;br /&gt;
&lt;br /&gt;
===0.633===&lt;br /&gt;
&#039;&#039;26 September 2012 - r1788&#039;&#039;&lt;br /&gt;
*Feature: Added checkbox for HeartbeatEnabled config key to ConfigGUI, on the advanced tab.&lt;br /&gt;
*Fix: Fixed heartbeat/verification issues caused by &amp;quot;no-www&amp;quot; changes made by Mojang at minecraft.net&lt;br /&gt;
*Fix: Fixed VisualStudio designer being unable to load ConfigGUI.MainForm.&lt;br /&gt;
*Fix: Fixed {{cmd|ZMark}} being spammy (thanks ruggedbear).&lt;br /&gt;
*Fix: Binding &amp;quot;air&amp;quot; block to something now works as expected (deleted blocks are replaced with the binding) (thanks Hellenion).&lt;br /&gt;
*Fix: Added missing tooltips to &amp;quot;Data Backup&amp;quot; checkbox in ConfigGUI (thanks PhoneBook_).&lt;br /&gt;
*Fix: Added [[HeartbeatSaver]] to UpdateInstaller and list of protected filenames.&lt;br /&gt;
*Fix: Fixed occasional startup crash in [[HeartbeatSaver]].&lt;br /&gt;
*Change: {{cmd|Reload|Autorank}} now triggers a re-scan of the whole PlayerDB.&lt;br /&gt;
*Change: Added code to BlockDB to recover misaligned .fbdb files. BlockDB files are supposed to be aligned to 20 bytes. Misalignment might happen if writing didn&#039;t finish properly - e.g. power outage, or ungraceful shutdown.&lt;br /&gt;
*Change: Improved consistency of exit codes in [[HeartbeatSaver]], [[MapConverter]], and [[MapRenderer]].&lt;br /&gt;
&lt;br /&gt;
===0.632===&lt;br /&gt;
&#039;&#039;14 September 2012 - r1765&#039;&#039;&lt;br /&gt;
*Feature: Added standalone [[HeartbeatSaver]] utility, a heartbeat-sending daemon.&lt;br /&gt;
*Feature: Added a way to specify scale/turbulence/seed for cloudy brush.&lt;br /&gt;
*Feature: Renamed &amp;quot;IRC&amp;quot; LogType to &amp;quot;IRCStatus&amp;quot;, and added &amp;quot;IRCChat&amp;quot; LogType. Check your configs.&lt;br /&gt;
*Fix: Fixed the updater. You&#039;ll have to update from version 0.631 manually (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed a bug related to multiple players trying to join an almost-full server at the same time.&lt;br /&gt;
*Fix: Fixed a rare InvalidOperationException crash in ConfigGUI.&lt;br /&gt;
*Fix: Fixed reversed order in {{cmd|BlockInfo}} (thanks recon_).&lt;br /&gt;
*Fix: Fixed a few formatting errors in feedback messages.&lt;br /&gt;
*Fix: Fixed a rare disconnect related to a spectator trying to follow a spectatee to a full world.&lt;br /&gt;
*Fix: Fixed {{cmd|Hide}} not showing a fake disconnect message when needed.&lt;br /&gt;
*Fix: Fixed {{cmd|WRename}} prompting for file overwrite when changing capitalization in a world name.&lt;br /&gt;
*Fix: Fixed UndoArea/UndoAreaNot and UndoPlayer/UndoPlayerNot messages occasionally getting mixed up.&lt;br /&gt;
*Fix: Fixed players being unable to join the server if access restrictions prevent them from joining the rank-specific main world.&lt;br /&gt;
*Fix: {{cmd|WRemove}} now correctly handles removing rank-main worlds.&lt;br /&gt;
*Fix: Fixed a case where newlines in PlayerInfo or IPBanInfo fields would cause record corruption.&lt;br /&gt;
*Fix: Fixed reversed messages in {{cmd|DoNotMark}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed ServerCLI sometimes staying open, waiting on console input, when it&#039;s supposed to shut down or restart.&lt;br /&gt;
*Change: Sped up &amp;quot;cloudy&amp;quot; brush when working with large draw commands.&lt;br /&gt;
*Change: Crash reporter now submits list of names and versions of all loaded assemblies, to help identify mismatched or missing dependencies.&lt;br /&gt;
*Change: Added logging to every confirmation prompt, &amp;quot;/ok&amp;quot;, {{cmd|BlockDB}} enabling/disabling/clearing, {{cmd|ZRemove}}, {{cmd|InfoSwap}}, and {{cmd|Env}}.&lt;br /&gt;
*Change: Any pending confirmations are now reset on world change.&lt;br /&gt;
*Change: Added /I as an alias for {{cmd|Info}}, and /CS as an alias for {{cmd|CopySlot}}.&lt;br /&gt;
*Change: Removed &amp;quot;marbled&amp;quot; brush (&amp;quot;cloudy&amp;quot; works just as well) and FCMv4 map format support (development canceled).&lt;br /&gt;
*Change: {{cmd|Where}} command now only requires {{perm|ViewOthersInfo}} permission to see other players&#039; whereabouts. It can be used by anyone on self.&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.631===&lt;br /&gt;
&#039;&#039;5 September 2012 - r1741&#039;&#039;&lt;br /&gt;
*Feature: Added a way to restrict commands to match online players&#039; names only, by prefixing the name with an exclamation mark (!). See [[Command Tips]] for more.&lt;br /&gt;
*Feature: Added {{cmd|DoNotMark}} command. When toggled on, clicking on blocks does not cause marks to be added to a selection.&lt;br /&gt;
*Fix: Included MapConverter.exe and MapRenderer.exe in list of protected filenames.&lt;br /&gt;
*Fix: Fixed a potential crash in Paths.FileExists when working in case-sensitive mode in a root directory.&lt;br /&gt;
*Fix: Fixed ConfigGUI not loading permission limits properly (thanks recon_).&lt;br /&gt;
*Fix: Added missing fake connection message when using non-silent {{cmd|Unhide}} (thanks Wundsalz).&lt;br /&gt;
*Change: Improvements to fCraft&#039;s built-in crash reporter.&lt;br /&gt;
*Change: Blocks redone with {{cmd|Redo}} are now flagged as &amp;quot;Redone&amp;quot; in /BlockInfo (instead of &amp;quot;UndoneSelf&amp;quot;), [[/Paint|painted]] blocks as &amp;quot;Painted&amp;quot; (instead of &amp;quot;Manual, Replaced&amp;quot;).&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.630===&lt;br /&gt;
&#039;&#039;4 September 2012 - r1727&#039;&#039;&lt;br /&gt;
*Feature: New permissions! {{perm|FlushWorlds}} (previously part of {{perm|ManageWorlds}}), {{perm|UseTimers}} (previously part of {{perm|Say}}), and {{perm|UndoAll}}.&lt;br /&gt;
*Feature: Added ability to undo multiple players&#039; actions at once, or EVERYONE&#039;s actions at once, using {{cmd|UndoPlayer}} and {{cmd|UndoArea}}. Command syntax changed, see wiki.&lt;br /&gt;
*Feature: {{cmd|Info}} now shows whether minecraft.net accounts are free or paid.&lt;br /&gt;
*Feature: Added special &amp;quot;skip&amp;quot;/&amp;quot;none&amp;quot; blocktype, usable with brushes and draw commands.&lt;br /&gt;
*Feature: Added ability to clear world/zone whitelists and blacklists. Use &amp;quot;-*&amp;quot; in place of player name to clear whitelist, and &amp;quot;+*&amp;quot; to clear blacklist.&lt;br /&gt;
*Feature: Added a way to remove all zones in a world, {{cmd|ZRemove|*}}.&lt;br /&gt;
*Feature: Added {{cmd|UndoAreaNot}} (/uan) and {{cmd|UndoPlayerNot}} (/upn), which reverse changes made by everyone EXCEPT the given player(s).&lt;br /&gt;
*Feature: Added [[MapConverter]] and [[MapRenderer]] utilities.&lt;br /&gt;
*Feature: {{cmd|CuboidW}} now supports optionally filling sides and center with different blocktypes, e.g. &amp;quot;/cw white blue red&amp;quot;.&lt;br /&gt;
*Fix: Fixed ServerCLI launching the wrong fCraft binary after running the updater.&lt;br /&gt;
*Fix: Fixed a missing warning in {{cmd|Gen}} when map height is not a multiple of 16.&lt;br /&gt;
*Fix: Fixed a rare case of players receiving desynchronized copies of maps where draw commands are in progress.&lt;br /&gt;
*Fix: Fixed a crash in {{cmd|Commands|&amp;lt;Category&amp;gt;}}&lt;br /&gt;
*Fix: Fixed potential crashes when working with files in root directories (e.g. C:/)&lt;br /&gt;
*Fix: Improved {{cmd|BanEx}} logging.&lt;br /&gt;
*Fix: Improved support for Myne/MyneCraft/HyveBuild/iCraft maps.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog in ConfigGUI defaulting to 20 minutes, instead of &amp;quot;(default)&amp;quot;.&lt;br /&gt;
*Fix: Fixed SaveInterval and BackupInterval being limited to just 100 seconds/minutes in ConfigGUI (thanks Hellenion).&lt;br /&gt;
*Fix: Improved consistency of timestamp format in logs (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed being unable to remove world greetings via {{cmd|WSet}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed IRC bot cutting off long messages (thanks Hellenion).&lt;br /&gt;
*Change: Improved performance of {{cmd|Gen}}, {{cmd|WLoad}}, world loading, and all BlockDB-related commands.&lt;br /&gt;
*Change: Adjustments to block names and aliases, as well as command aliases.&lt;br /&gt;
*Change: Merged {{cmd|Cancel}} and /Nvm commands.&lt;br /&gt;
*Change: &amp;quot;&amp;amp;N&amp;quot; is now usable as a &amp;quot;newline&amp;quot; constant in all configurable strings (rules, announcements, greetings, etc), and &amp;quot;%N&amp;quot; is usable by players with {{perm|UseColorCode}} permissions.&lt;br /&gt;
*Change: Made {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} usable by frozen players.&lt;br /&gt;
*Change: Added a warning to /Colors regarding the minimum rank required to use colorcodes in chat (thanks Jonty800).&lt;br /&gt;
*Change: Ignoring a player no longer prevents you from seeing {{cmd|Say}} messages written by them.&lt;br /&gt;
*Change: {{cmd|Paint}}, {{cmd|Solid}}, {{cmd|Grass}}, {{cmd|Water}}, and {{cmd|Lava}} are no longer usable by players without Build permission, and dont show up in /Commands for them.&lt;br /&gt;
*Change: Clarified {{cmd|ZEdit}} messages when trying to remove self from blacklist, or add yourself to whitelist.&lt;br /&gt;
*Change: {{cmd|Mute}}, {{cmd|Unmute}}, {{cmd|Freeze}}, and {{cmd|Unfreeze}} are now also usable on offline players.&lt;br /&gt;
*Change: Session threads are no longer marked as &amp;quot;background&amp;quot;, to prevent unexpected side effects from session threads being aborted on shutdown. This might slow down shutdown a bit, but there is less to go wrong.&lt;br /&gt;
*Change: World greetings can now support constants.&lt;br /&gt;
*Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.&lt;br /&gt;
*Change: Process exit code is now set to match ShutdownReason.&lt;br /&gt;
*API: Added ChatTimer.Started and ChatTimer.Stopped events, rewrote BlockDB, MapConversion, and IsoCat APIs.&lt;br /&gt;
*API: Many documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.624===&lt;br /&gt;
&#039;&#039;16 July 2012 - r1636&#039;&#039;&lt;br /&gt;
*Fix: Fixed BlockDB time-limiting code trimming too much data from the database.&lt;br /&gt;
*Fix: CommandBook ban import now accepts any filename that ends with &amp;quot;.csv&amp;quot;, not just &amp;quot;bans.csv&amp;quot;.&lt;br /&gt;
*Fix: ServerCLI no longer crashes upon receiving EOF from console.&lt;br /&gt;
*Fix: Fixed a rare case of hidden players being revealed (briefly) when their rank is changed.&lt;br /&gt;
*Fix: Fixed [[/Spectate]] leaving ghost players behind on world change (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed a couple typos in [[/WLock]] and [[/WUnlock]] (thanks ImNoobSoWhat).&lt;br /&gt;
*Change: Added server name to [[/ServerInfo]]&lt;br /&gt;
*Change: If opening a link fails (from ConfigGUI or ServerGUI), the URL is copied to clipboard, instead of crashing.&lt;br /&gt;
*Change: &amp;quot;[[/Import]] bans&amp;quot; no longer prints a message for every player who&#039;s already banned, instead showing a total number of already-banned players at the end.&lt;br /&gt;
*Change: Added a missing &amp;quot;Copy&amp;quot; context menu to the ServerGUI&#039;s log box (thanks to Jonty800).&lt;br /&gt;
*Change: fCraft front-ends now check fCraft.dll&#039;s assembly version, and refuse to start if there is a mismatch (Thanks Zaneo).&lt;br /&gt;
&lt;br /&gt;
===0.623===&lt;br /&gt;
&#039;&#039;9 July 2012 - r1624&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in [[/PasteX]] and [[/PasteNotX]].&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] crash when given a non-banned IP address.&lt;br /&gt;
*Fix: Fixed a crash in Player.DetectChatSpam if AntiSpam was supposed to be disabled.&lt;br /&gt;
*Fix: Fixed typos in comments and messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed a crash in [[/ZAdd]] (thanks thelonedrummer18).&lt;br /&gt;
&lt;br /&gt;
===0.622===&lt;br /&gt;
&#039;&#039;6 July 2012 - r1619&#039;&#039;&lt;br /&gt;
*Feature: ServerGUI message log is now color-coded, easier to select/copy/paste, and featuring clickable links.&lt;br /&gt;
*Fix: Fixed several regressions in [[/Hide]] and [[/Spectate]] that were introduced in 0.620-0.621 (thanks mark_b).&lt;br /&gt;
*Fix: Fixed [[/Deafen]] being usable from console (thanks phonebookguy).&lt;br /&gt;
*Fix: Fixed a crash in Paste/PasteNot/PasteX/PasteNotX (thanks Grant).&lt;br /&gt;
*Misc: Updated some draw command messages, credits, help entries, warnings.&lt;br /&gt;
&lt;br /&gt;
===0.621===&lt;br /&gt;
&#039;&#039;5 July 2012 - r1612&#039;&#039;&lt;br /&gt;
*Feature: Added CommandBook banlist (bans.csv) support to [[/Import]].&lt;br /&gt;
*Feature: Added a way to list all players of a certain rank with &amp;quot;[[/Info]] @ClassName&amp;quot;.&lt;br /&gt;
*Feature: Added {PLAYER_LIST} variable, for use in greetings/announcements/rules.&lt;br /&gt;
*Fix: Fixed changes to DefaultBackupInterval config key not being applied.&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] showing &amp;quot;players on same IP&amp;quot; for players without a recorded IP address.&lt;br /&gt;
*Fix: Fixed fCraft occasionally using localized datetime and number formatting.&lt;br /&gt;
*Fix: Fixed [[/Cut]] storing the selected blocks before checking player&#039;s draw limit (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed [[/Fill2D]] starting a selection even if command parameters could not be parsed (thanks David00143).&lt;br /&gt;
*Fix: Fixed [[/Copy]] and [[/Cut]] reporting incorrect origin information (thanks nope__avi).&lt;br /&gt;
*Fix: Players who are spectating or being spectated by you are no longer hidden from the tab player list (thanks ruggedbear).&lt;br /&gt;
*Change: If multiple players are spectating the same player, they no longer see each other (thanks Hellenion).&lt;br /&gt;
*Change: Small improvements and fixes to [[/WSet]] and to AntiSpam functionality.&lt;br /&gt;
*Change: Sped up PlayerDB loading on startup.&lt;br /&gt;
*Change: Added shortcuts for [[/SetInfo]] field names.&lt;br /&gt;
&lt;br /&gt;
===0.620===&lt;br /&gt;
&#039;&#039;17 June 2012 - r1592&#039;&#039;&lt;br /&gt;
*Feature: WoM Direct description and flags can now be set from config, without the need to go to WoM Direct website.&lt;br /&gt;
*Feature: Added a new [[/WSet]] command, that allows hiding worlds, changing backup settings, and setting greeting messages.&lt;br /&gt;
*Feature: More [[/WInfo]] information is persisted across server restarts: IsLocked, LockedBy, UnlockedBy, LoadedBy, LoadedOn, MapChangedBy, MapChangedOn.&lt;br /&gt;
*Feature: Added IRCStripMinecraftColors config key (default: true). It determines whether Minecraft colorcodes (ampersand codes) entered on IRC should be removed before showing the message in-game.&lt;br /&gt;
*Fix: Fixed incorrect percentages occasional being printed by [[/Measure]], [[/Cancel]], and [[/Undo]].&lt;br /&gt;
*Fix: Locked worlds remain locked after server restart.&lt;br /&gt;
*Fix: Addressed many flaws and glitches in the backup system.&lt;br /&gt;
*Fix: Fixed a case where draw commands that affected no blocks caused division by zero&lt;br /&gt;
*Fix: Fixed a PlayerDB record corruption bug that affected numbers over 100,000,000.&lt;br /&gt;
*Fix: Fixed a stability issue related to LineWrapper (thanks Kevinsweijen and Mc_MrCat).&lt;br /&gt;
*Fix: Fixed IRC markup codes being forwarded to the server in IRC&#039;s channel-kick messages.&lt;br /&gt;
*Fix: Fixed [[/Unmute]] not checking rank limits (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;IP&amp;gt;&amp;quot; and &amp;quot;[[/BanAll]] &amp;lt;PlayerName&amp;gt;&amp;quot; not checking ban exemptions when kicking players (thanks BobKare).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;PlayerName&amp;gt;&amp;quot; not kicking all the players from IP address.&lt;br /&gt;
*Fix: Fixed Undo/Redo messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed compatibility with Mono 2.10.8.1 (thanks Hawkzeh).&lt;br /&gt;
*Change: Removed [[/WHide]] and [[/WUnhide]] (obsoleted by [[/WSet]]).&lt;br /&gt;
&lt;br /&gt;
===0.618===&lt;br /&gt;
&#039;&#039;22 April 2012 - r1568&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in ConfigGUI when trying to sort by map size and a map file is missing (thanks Moose).&lt;br /&gt;
*Change: Ampersands are no longer allowed in chat, even escaped, due to unpredictable Minecraft client behavior.&lt;br /&gt;
&lt;br /&gt;
===0.617===&lt;br /&gt;
&#039;&#039;21 April 2012 - r1564&#039;&#039;&lt;br /&gt;
*Feature: [[/BInfo]] now accepts optional XYZ coordinates, like [[/Mark]].&lt;br /&gt;
*Fix: Added a workaround for &amp;quot;Internal error Flush&amp;quot; under Mono.&lt;br /&gt;
*Fix: Fixed [[/WBring]] printing incorrect usage syntax (thanks recon_)&lt;br /&gt;
*Fix: Fixed typo in [[/BlockDB]] (thanks xN8Gx)&lt;br /&gt;
*Fix: Fixed IRC bots not binding to the specified local endpoint.&lt;br /&gt;
*Fix: Fixed &amp;quot;PreviousRank&amp;quot; not getting updated by [[/SetInfo]] working (thanks nope__avi)&lt;br /&gt;
*Fix: Fixed several rare stability issues (thanks Kevinsweijen).&lt;br /&gt;
*Fix: Fixed [[/Undo]] and [[/Redo]] producing odd log messages if 0 blocks have been changed.&lt;br /&gt;
*&amp;lt;s&amp;gt;Change: Allowed &#039;&amp;amp;&#039; character (ampersand) to be entered in chat, which is now escaped.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===0.616===&lt;br /&gt;
&#039;&#039;10 March 2012 - r1498&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Import]] terminating when importing bans, if a player with the given name is already banned.&lt;br /&gt;
*Fix: Fixed a formatting error in [[/Bring]] and [[/WBring]] confirmation messages.&lt;br /&gt;
*Fix: Fixed mixed-up messages in [[/WAccess]] and [[/WBuild]] when removing players from blacklist/whitelist (thanks ruggedbear and xN8Gx)&lt;br /&gt;
*Fix: Fixed [[/Static]] not turning off after switching worlds (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed [[/Rotate]] printing incorrect copyslot number (thanks Mc_MrCat)&lt;br /&gt;
*Fix: Fixed a ServerGUI crash when pressing the down arrow key after typing in the first console message (thanks Jason)&lt;br /&gt;
*Fix: [[/Me]] messages no longer count towards stats twice (thanks recon_)&lt;br /&gt;
*Fix: [[/Mute]] and [[/Unmute]] now usable with &amp;quot;-&amp;quot; in place of player name (thanks thelonedrummer18)&lt;br /&gt;
*Fix: Fixed README.txt typo (thanks Wolfmade)&lt;br /&gt;
&lt;br /&gt;
===0.615===&lt;br /&gt;
&#039;&#039;2 February 2012 - r1445&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Patrol]] checking Spectate permission, and [[/SpecPatrol]] not checking it.&lt;br /&gt;
*Fix: Fixed [[/WRename]] not updating player&#039;s last-used-world-name (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed colorcodes (%-codes) not getting applied consistently (thanks BobKare)&lt;br /&gt;
*Fix: Fixed a rare name-verification issue that only affected players whose ranks have been imported (thanks Mc_MrCat)&lt;br /&gt;
*Fix: ServerGUI now correctly interprets &amp;quot;Notify&amp;quot; and &amp;quot;Auto&amp;quot; updater settings.&lt;br /&gt;
*Change: Data backups are now stored in ./databackups/ directory.&lt;br /&gt;
&lt;br /&gt;
===0.614===&lt;br /&gt;
&#039;&#039;24 January 2012 - r1426&#039;&#039;&lt;br /&gt;
*Fix: Fixed server crashing if PlayerDB.txt exists but is empty.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Join]] -&amp;quot; using player names, and &amp;quot;[[/TP]] -&amp;quot; using world names.&lt;br /&gt;
*Fix: Solved File.Replace-related errors, which caused occasional save failures.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking caller&#039;s Spectate permission limit when selecting the next target.&lt;br /&gt;
*Fix: Fixed &amp;quot;random&amp;quot; brush producing obvious repeating patterns.&lt;br /&gt;
*Fix: Fixed auto-updater occasionally freezing when attempting to &amp;quot;Restart Now&amp;quot;.&lt;br /&gt;
*Fix: Added permission limit check to [[/Unfreeze]] (thanks Xb0x4d4m)&lt;br /&gt;
*Fix: Improved the way [[/Bring]] and [[/WBring]] enforce access permissions (thanks Hellenion)&lt;br /&gt;
*Change: Added more information about player connects/disconnects to log file.&lt;br /&gt;
&lt;br /&gt;
===0.613===&lt;br /&gt;
&#039;&#039;11 January 2012 - r1401&#039;&#039;&lt;br /&gt;
*Fix: Fixed ConfigGUI not saving changes to ShowConnectionMessages key.&lt;br /&gt;
*Fix: Fixed a case where ConfigGUI could crash while attempting to rename a world.&lt;br /&gt;
*Fix: All spectate permissions are now re-checked when someone gets promoted or demoted.&lt;br /&gt;
*Fix: Fixed ConfigGUI Worlds tab crash when dealing with zoned maps.&lt;br /&gt;
*Fix: Fixed IRC bot not retrying for desired nickname after reconnecting&lt;br /&gt;
*Fix: Fixed a case where editing a world via ConfigGUI would clear security whitelists/blacklists.&lt;br /&gt;
*Fix: Fixed spectating players not being treated as hidden (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed formatting in &amp;quot;Player ___ got auto-kicked&amp;quot; message (thanks BobKare)&lt;br /&gt;
*Fix: Fixed auto-kick revealing hidden players (thanks BobKare)&lt;br /&gt;
*Fix: Fixed RandomBrush-related [[/Undo]] artifacts in [[/Triangle]] (thanks Lunara_Noctis)&lt;br /&gt;
&lt;br /&gt;
===0.612===&lt;br /&gt;
&#039;&#039;14 December 2011 - r1307&#039;&#039;&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] @Rank&amp;quot; not autocompleting rank names.&lt;br /&gt;
*Fix: Fixed compatibility with legacy PlayerDB format versions. PlayerDB files created by fCraft 0.400+ will work again.&lt;br /&gt;
*Fix: Fixed several syntax problems and crashes in /Gen.&lt;br /&gt;
*Fix: Fixed a bug that reset a world&#039;s BackupInterval to default and IsLocked flag to false after changing the map (backport from 0.700).&lt;br /&gt;
*Fix: Fixed a bug that prevented kicks/bans/promotions/demotions from being announced on IRC if no reason was given.&lt;br /&gt;
*Change: Capped all user-entered time spans at 9999 days.&lt;br /&gt;
*Change: Shortened and clarified some confirmation prompts ([[/Gen]], [[/WLoad]], [[/ZRemove]], [[/Import]], [[/MassRank]]).&lt;br /&gt;
&lt;br /&gt;
===0.611===&lt;br /&gt;
&#039;&#039;3 December 2011 - r1282&#039;&#039;&lt;br /&gt;
*Feature: Added information about periodic backups to [[/WInfo]].&lt;br /&gt;
*Fix: Fixed [[/Players]] not working properly if both world name and offset were given.&lt;br /&gt;
*Fix: Fixed [[/WAccess]], [[/WBuild]], and [[/ZEdit]] not working with one-letter rank names.&lt;br /&gt;
*Fix: Fixed [[/BanIP]], /BanAll, /UnbanIP, and /UnbanAll treating fully numeric player names as IPs.&lt;br /&gt;
*Fix: Fixed [[/SetInfo]] not resetting PlayerInfo.LastModified date.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] populated&amp;quot; revealing worlds with hidden players.&lt;br /&gt;
*Fix: Fixed [[/BringAll]] ignoring per-rank limits in some cases (thanks ferny530)&lt;br /&gt;
*Fix: Fixed appearance of black and white blocks in [[/Env]] edges (thanks Jonty)&lt;br /&gt;
*Fix: Fixed a bug in Position.Equals&amp;lt;Position&amp;gt;(), which may have caused unnecessary position updates in Player.UpdateVisibleEntities (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed a little crash in Chat.GetRawMessageType (thanks ruggedbear)&lt;br /&gt;
*Fix: Fixed a case where Player.CanPlace checked permissions against the wrong world&#039;s BuildSecurity controller (thanks Xesdra)&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Commands]] @Rank&amp;quot; showing hidden commands (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed a typo in [[/Worlds]] (thanks Kevinsweijen)&lt;br /&gt;
*Fix: Fixed BlockDBAutoEnable and BlockDBAutoEnableRank config keys being placed in the &amp;quot;General&amp;quot; section.&lt;br /&gt;
*Change: Improved config.xml format (now version 152). Configs created with fCraft 0.611+ will not be usable with older versions of fCraft.&lt;br /&gt;
*Change: Rewrote ServerGUI startup code to make it more responsive (thanks to 800craft for the idea).&lt;br /&gt;
*Change: Added information about command-line options to the README, and fixed some typos.&lt;br /&gt;
*Change: MaxConnectionsPerIP restriction no longer applies to localhost.&lt;br /&gt;
*Change: Increased block-ratio limit for &amp;quot;random&amp;quot;, &amp;quot;cloudy&amp;quot;, and &amp;quot;marbled&amp;quot; brushes from 1000 to 10,000.&lt;br /&gt;
&lt;br /&gt;
===0.610===&lt;br /&gt;
&#039;&#039;18 November 2011 - r1240&#039;&#039;&lt;br /&gt;
*Feature: Added [[/Fill2D]] (/f2d), [[/Triangle]] (/t), and [[/TriangleW]] (/tw) draw commands.&lt;br /&gt;
*Feature: Added ability to filter [[/Worlds]] by rank.&lt;br /&gt;
*Feature: Added [[/Static]] (a way to repeat selection commands).&lt;br /&gt;
*Feature: Added MaxUndoStates config key (how many steps back can [[/Undo]] go), and ConfigGUI bindings.&lt;br /&gt;
*Feature: Added experimental IP-range lookup to [[/Info]] (CIDR notation). Changed /Info pattern-matching single-character symbol from &#039;.&#039; to &#039;?&#039;&lt;br /&gt;
*Feature: Added pagination to [[/Players]].&lt;br /&gt;
*Feature: [[/Spectate]] and [[/SpecPatrol]] now show what commands, PMs, and rank messages the target types in.&lt;br /&gt;
*Feature: Added a way to change server salt without needing a restart, using &amp;lt;code&amp;gt;[[/Reload]] Salt&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: [[/Measure]] now shows statistics about block types in the selection.&lt;br /&gt;
*Feature: [[/Gen]] now has two new templates: &amp;quot;ocean&amp;quot; and &amp;quot;empty&amp;quot;&lt;br /&gt;
*Fix: Many fixes in name-retyping functionality.&lt;br /&gt;
*Fix: Addressed stability issues in LineWrapper and Undo/Redo.&lt;br /&gt;
*Fix: Fixed [[/WLock]] not canceling all draw commands (as intended).&lt;br /&gt;
*Fix: Fixed some outdated descriptions, links, and tooltips in ConfigGUI.&lt;br /&gt;
*Fix: Fixed being able to BanIP/BanAll/UnbanIP/UnbanAll invalid IP addresses (0.0.0.0 and 255.255.255.255).&lt;br /&gt;
*Fix: Fixed [[/Info]] printing a blank page (instead of the last page) if given offset is greater than the total number of matches.&lt;br /&gt;
*Fix: Fixed rank prefixes being appended to players&#039; names if DisplayedName is set.&lt;br /&gt;
*Fix: Fixed a couple rare crashes/hangs in ServerGUI when parsing console commands.&lt;br /&gt;
*Fix: Fixed [[/Ban]] and [[/Unban]] announcing when they&#039;re not supposed to.&lt;br /&gt;
*Fix: Fixed a potential crash in [[/BanInfo]] when looking up an IP address directly (no player name).&lt;br /&gt;
*Fix: Fixed another obscure way of revealing hidden players.&lt;br /&gt;
*Fix: Fixed Beta client kick message (thanks Voziv).&lt;br /&gt;
*Fix: Fixed [[/Commands]] defaulting to printing ALL commands.&lt;br /&gt;
*Fix: Fixed [[/Undo]] trying to re-cancel canceled commands.&lt;br /&gt;
*Fix: Fixed uncaught &amp;quot;Illegal characters in path.&amp;quot; exception when trying to save a [[/Gen]]&#039;erated map to an invalid filename.&lt;br /&gt;
*Fix: Fixed typos in [[/ReplaceNot]] and [[/UndoArea]].&lt;br /&gt;
*Change: Added a warning on startup if name verification is disabled.&lt;br /&gt;
*Change: Tweaks and improvements to [[/Info]], [[/WInfo]], [[/BanInfo]], [[/SetInfo]], and [[/Commands]].&lt;br /&gt;
*Change: Removed code that tries next port if the given one could not be used. Now fCraft either starts on the port specified in config, or dies.&lt;br /&gt;
*Change: Commands now complain about being given too many parameters (in addition to complaining about too few parameters). This should help catch mistyped commands.&lt;br /&gt;
*Change: Added an option to disable giant-tree generation in ConfigGUI&#039;s map generator.&lt;br /&gt;
*Change: Changed log format for bans/kicks to include more information, and fixed log message format for &amp;quot;Player ____ logged in from an IP shared by banned players...&amp;quot;&lt;br /&gt;
*Change: Included config.xml in the automated data backup.&lt;br /&gt;
*Change: ConfigGUI tweaks and improvements.&lt;br /&gt;
*Change: Changes some aliases:&lt;br /&gt;
**Added /Whois and /WhoWas as aliases for [[/Info]].&lt;br /&gt;
**Set &amp;quot;/B&amp;quot; and &amp;quot;/About&amp;quot; to be aliases for [[/BInfo]].&lt;br /&gt;
*Change: Changed some ConfigKey defaults:&lt;br /&gt;
**BlockDBEnabled defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
**WomEnableEnvExtensions defaults to &amp;quot;false&amp;quot;&lt;br /&gt;
**IRCBotAnnounceServerEvents defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
*Change: Discontinued ServerWinService (formerly fCraftWinService) subproject.&lt;br /&gt;
*API: Improved Vector3I, Vector3F, and Position classes a bit.&lt;br /&gt;
*API: New events: DrawOperation.Beginning / Began / Ended&lt;br /&gt;
*API: Changed the way PlayerInfo stores empty string fields. Instead of a 0-length string, it now uses nulls.&lt;br /&gt;
*Optimization: Sped up PlayerDB loading/saving, and boolean ConfigKey lookup.&lt;br /&gt;
&lt;br /&gt;
===0.604===&lt;br /&gt;
&#039;&#039;23 October 2011 - r1155&#039;&#039;&lt;br /&gt;
*Feature: Added support for repeating previously-entered player and world names. Just put a dash (-) in place of the player/world name when using a command, and fCraft will fill in the most-recently-used name.&lt;br /&gt;
*Fix: Fixed an occasional SecurityController-related crash in [[/Gen]], [[/WLoad]], and ConfigGUI world editor.&lt;br /&gt;
*Fix: Fixed an very rare problem in shutdown/restart commands.&lt;br /&gt;
*Fix: Fixed a rare crash that only happened if: MaxPlayers&amp;gt;128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.&lt;br /&gt;
*Fix: Fixed naming of paste/pastenot and pastex/pastenotx&lt;br /&gt;
*Fix: Fixed a permission exploit in /wbring (thanks to panda100123)&lt;br /&gt;
*Fix: Fixed [[/Rules]] section finder accidentally being case-sensitive.&lt;br /&gt;
*Fix: Fixed an issue with MCSharp/MCZall/MCLawl/MCQuai/MCStorm/MCForge/MCWhatever importer.&lt;br /&gt;
*Change: Decreased shading strength in IsoCat renderer.&lt;br /&gt;
*Change: Added /Who as an alias for [[/Players]], by request.&lt;br /&gt;
*Change: Clarified ConfigGUI description of name verification settings.&lt;br /&gt;
*Change: Normalized command name capitalization. Command names must now start with an uppercase letter, for consistency.&lt;br /&gt;
*API: Fixed inconsistencies in PlayerDB.txt header row format declaration.&lt;br /&gt;
&lt;br /&gt;
===0.603===&lt;br /&gt;
&#039;&#039;20 October 2011 - r1142&#039;&#039;&lt;br /&gt;
*Fix: [[/Cancel]] can no longer be repeated with &amp;quot;/&amp;quot; (no longer replaces previously-called command).&lt;br /&gt;
*Fix: Fixed [[/Rotate]] and [[/Mirror]] messing up if a paste command is in progress.&lt;br /&gt;
*Fix: Re-enabled crash interception and reporting.&lt;br /&gt;
&lt;br /&gt;
===0.602===&lt;br /&gt;
&#039;&#039;18 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Feature: One-click paste commands are now the default. Two-click aligned paste commands are now known as [[/PasteX]] (/PX) and [[/PasteNotX]].&lt;br /&gt;
*Feature: Added [[/ReplaceBrush]] (/RB) command (shortcut for &amp;lt;code&amp;gt;[[/Brush]] ReplaceBrush&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;[[/Cuboid]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: Added a way to change number of copy/paste slots per rank from ConfigGUI.&lt;br /&gt;
*Fix: Fixed a few typos and missing help entries.&lt;br /&gt;
*Fix: Fixed DrawOp completion message and log entry.&lt;br /&gt;
*Fix: Fixed [[/Paste]] and [[/PasteNot]] not properly clipping against world boundaries.&lt;br /&gt;
*Fix: Fixed ConfigGUI not preserving environment settings for worlds.&lt;br /&gt;
*Fix: Fixed ConfigGUI losing some worlds and showing some errors when importing from 0.5xx.&lt;br /&gt;
*Fix: Fixed [[/Bring]] not being usable from console.&lt;br /&gt;
*Fix: Fixed [[/WRename]] crashing if invalid characters (from filesystem&#039;s point of view) are present in the new name.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking for Spectate permission.&lt;br /&gt;
*Fix: Fixed [[/UndoArea]]&#039;d and [[/UndoPlayer]]&#039;ed blocks having &amp;quot;Restored&amp;quot; flag set in /bi&lt;br /&gt;
*Fix: Fixed a detached checkbox on &amp;quot;Worlds&amp;quot; tab of ConfigGUI.&lt;br /&gt;
*Fix: Fixed [[/Say]], [[/Staff]], and [[/Me]] getting logged twice.&lt;br /&gt;
*Fix: Fixed per-world backup settings being cleared on server restart.&lt;br /&gt;
*Fix: Fixed a rare NullReferenceException in WorldManager.LoadWorldList that occurred if the main world was missing, and the fallback world had access restrictions.&lt;br /&gt;
*Fix: Fixed some issues with BlockDB settings in &amp;quot;Add World&amp;quot; and &amp;quot;Edit World&amp;quot; popups of ConfiGUI.&lt;br /&gt;
*Fix: Fixed a rare ConfigGUI crash when resetting the rank tab whole one of the old ranks is selected.&lt;br /&gt;
*Change: Sped up [[/EllipsoidH]] and [[/SphereH]] slightly (thanks to Redshift).&lt;br /&gt;
*Change: Improved error handling in [[/Env]] when setting level.&lt;br /&gt;
*Change: Double-buffered the preview on &amp;quot;Chat&amp;quot; tab of ConfigGUI, to get rid of flicker.&lt;br /&gt;
*Change: Clarified auto-freeze message when trying to kick/ban someone without a required reason string.&lt;br /&gt;
&lt;br /&gt;
===0.601===&lt;br /&gt;
&#039;&#039;15 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Fixed several issues with [[/Undo]] and drawing commands.&lt;br /&gt;
&lt;br /&gt;
===0.600===&lt;br /&gt;
&#039;&#039;14 October 2011 - r1107&#039;&#039;&lt;br /&gt;
:&#039;&#039;See [http://www.fcraft.net/0.600/ http://www.fCraft.net/0.600] for a summary of changes, and upgrade notes.&#039;&#039;&lt;br /&gt;
*Chat: Added a {{cmd|Timer}} command for creating publicly-announced countdowns/timers.&lt;br /&gt;
*Chat: Added a way to cancel partial messages: &amp;lt;code&amp;gt;/Nvm&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Chat: Removed &amp;quot;Banned player ___ tried to log in&amp;quot; and &amp;quot;Player ___ tried to log in from a banned IP&amp;quot; messages.&lt;br /&gt;
*Chat: {{cmd|Say}}, {{cmd|Staff}}, and {{cmd|Me}} commands can no longer repeated using &amp;quot;/&amp;quot; shortcut.&lt;br /&gt;
*Chat: Added a warning when trying to PM deafened players.&lt;br /&gt;
*Chat: Added a shortcut for chatting to same rank: &amp;quot;@@ Message&amp;quot;&lt;br /&gt;
*Chat: Increased the number of blank lines sent by {{cmd|Clear}} to 30, to accommodate players with smaller-than-normal font sizes.&lt;br /&gt;
*Chat Fix: Fixed {{cmd|Say}}, {{cmd|Roll}}, {{cmd|Staff}}, and {{cmd|Me}} sometimes bypassing {{perm|Chat}} permission, mute check, or spam detection check.&lt;br /&gt;
*Chat Fix: Fixed rank chat being logged twice.&lt;br /&gt;
*Chat Fix: Fixed some system messages getting through to deafened players.&lt;br /&gt;
*Chat Fix: {{cmd|Deafen}} now clears the screen when toggled on.&lt;br /&gt;
*Commands: Rank and zone names now autocomplete.&lt;br /&gt;
*Commands: Players can no longer freeze, mute, kick, ban, unban, promote, or demote themselves.&lt;br /&gt;
*Commands: {{cmd|Players}} can now be called with an optional WorldName parameter, to only list players in a particular world.&lt;br /&gt;
*Commands: {{cmd|WLoad}} now takes two more optional parameters: build rank and access rank names.&lt;br /&gt;
*Commands: {{cmd|Info}} now shows last leave reason, idle time, freeze/mute information, and ban exemption status.&lt;br /&gt;
*Commands: Augmented {{cmd|Rules}} to support several rule categories.&lt;br /&gt;
*Commands: Added {{cmd|Spectate}} and {{cmd|SpecPatrol}} (&amp;lt;code&amp;gt;/SPat&amp;lt;/code&amp;gt;) commands.&lt;br /&gt;
*Commands: Added {{cmd|WBring}} (brings target player to a world);&lt;br /&gt;
*Commands: Added {{cmd|Spawn}} command (brings you to spawn). Typing &amp;quot;{{cmd|TP}}&amp;quot; no longer does the same thing, and {{cmd|TP}} now always requires {{perm|Teleport}} permission.&lt;br /&gt;
*Commands: Algorithm that {{cmd|Patrol}} uses to pick the next target was improved.&lt;br /&gt;
*Commands: Renamed Lock/Unlock commands to {{cmd|WLock}}/{{cmd|WUnlock}}, for consistency.&lt;br /&gt;
*Commands: Merged &amp;lt;code&amp;gt;/ReloadConfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/AutoRankReload&amp;lt;/code&amp;gt; into {{cmd|Reload}} command. Merged &amp;lt;code&amp;gt;/ImportRanks&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/ImportBans&amp;lt;/code&amp;gt; into {{cmd|Import}} command. Combined functionality of &amp;lt;code&amp;gt;/LockAll&amp;lt;/code&amp;gt; into {{cmd|WLock}}, and functionality of &amp;lt;code&amp;gt;/UnlockAll&amp;lt;/code&amp;gt; into {{cmd|WUnlock}}.&lt;br /&gt;
*Commands: {{cmd|Info}} and {{cmd|Worlds}} now support pagination.&lt;br /&gt;
*Commands: When world access permissions are changed with {{cmd|WAccess}}, players who lost ability to join the world will automatically be moved to main.&lt;br /&gt;
*Commands: Frozen player can no longer call most commands, with exception of: {{cmd|Clear}}, {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|RankInfo}}, {{cmd|ServerInfo}}, {{cmd|Ranks}}, {{cmd|Rules}}, {{cmd|Where}}, {{cmd|Help}}, {{cmd|Commands}}, {{cmd|Colors}}, {{cmd|Worlds}}, {{cmd|Zones}}, and {{cmd|ZInfo}}.&lt;br /&gt;
*Commands: {{cmd|Bring}} and {{cmd|WBring}} now give the option of overriding worlds&#039; access minimum-rank. Explicitly blacklisted players will continue to be barred.&lt;br /&gt;
*Commands: Added {{cmd|InfoSwap}} command, for swapping two players&#039; ranks and PlayerDB records.&lt;br /&gt;
*Commands: Added a way to abort a server shutdown or restart (&amp;quot;{{cmd|Shutdown|abort}}&amp;quot; or &amp;quot;{{cmd|Restart|abort}}&amp;quot;).&lt;br /&gt;
*Commands: {{cmd|RankInfo}} now shows copy/paste slots, idle kick time, and permission limits.&lt;br /&gt;
*Commands: Most time-related commands now take the [[Time formatting|compact format]] (e.g. 1m30s, 45s, 24h, etc).&lt;br /&gt;
*Commands: Color-coded {{cmd|Commands}}.&lt;br /&gt;
*Commands: Limited {{cmd|Mute}} duration to range between 1 second and 700 days (100 weeks).&lt;br /&gt;
*Commands: {{cmd|SetInfo}} now allows changing players&#039; DisplayedName.&lt;br /&gt;
*Commands: A warning is now shown when a player is kicked/banned, and other players are still connected from the IP.&lt;br /&gt;
*Commands: Added a way to add IP ban exemptions using {{cmd|BanEx}} (banning all players from IP except a particular one).&lt;br /&gt;
*Commands: Added automatic countdowns to {{cmd|Shutdown}} and {{cmd|Restart}}.&lt;br /&gt;
*Commands: Added more stats to {{cmd|ServerInfo}}.&lt;br /&gt;
*Commands: {{cmd|MassRank}} now defaults to silent, and takes a &amp;quot;reason&amp;quot; parameter.&lt;br /&gt;
*Commands: Added &amp;quot;/St&amp;quot; as an alias for {{cmd|Staff}}. Changed &amp;quot;/L&amp;quot; from being alias for {{cmd|Join}}, to being alias for {{cmd|Lava}}. Removed &amp;quot;/Cub&amp;quot; alias for {{cmd|Cuboid}}.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|UnbanIP}} and {{cmd|UnbanAll}} not announcing the unban reason.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Info}} not formatting names of offline players.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Restart}} breaking under Mono if working path contains spaces.&lt;br /&gt;
*Commands Fix: Fixed freeze/unfreeze printing wrong ranks in &amp;quot;You can only freeze players ranked ____ or lower&amp;quot; messages.&lt;br /&gt;
*Commands Fix: Fixed a rare crash in {{cmd|Rules}} when used from console.&lt;br /&gt;
*Commands Fix: {{cmd|BanIP}} and {{cmd|BanAll}} no longer allow to ban the IP if it&#039;s shared by any players whom caller is not allowed to ban.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Ignore}} and {{cmd|Unignore}} printing all matches at once on autocompletion.&lt;br /&gt;
*Commands Fix: Fixed a case where {{cmd|BringAll}} could reveal hidden players.&lt;br /&gt;
*Commands Fix: Fixed a few bugs in {{cmd|DumpStats}}, expanded player listing to top-5/bottom-5, and added &amp;quot;BlocksDrawn&amp;quot; stat.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Rank}} and {{cmd|TP}} commands showing up in {{cmd|Commands}} for ALL players.&lt;br /&gt;
*Commands Fix: Fixed a couple rare bugs in {{cmd|Roll}}.&lt;br /&gt;
*Commands Fix: Fixed broken {{cmd|BringAll}} support for bringing multiple ranks at once.&lt;br /&gt;
*Commands Fix: Fixed several obscure ways of revealing presence of hidden players via commands like {{cmd|ServerInfo}} and {{cmd|Worlds}}.&lt;br /&gt;
*Config: New config keys: BackupDataOnStartup (default: true), RestartInterval (default: 0), HeartbeatToWoMDirect (default: true), BlockDBEnabled (default: true), BlockDBAutoEnable (default: true), and BlockDBAutoEnableRank (default: DefaultRank), WoMEnableEnvExtensions (default: false).&lt;br /&gt;
*Config: Added {{perm|Spectate}} permission that covers {{cmd|Spectate}} and {{cmd|SpecPatrol}}.&lt;br /&gt;
*Config: Added {{perm|DrawAdvanced}} permission that covers {{cmd|Brush}}, {{cmd|Sphere, {{cmd|SphereH}}, {{cmd|Torus}}, and {{cmd|Restore}} commands.&lt;br /&gt;
*Config: Added {{perm|ManageBlockDB}} permission that covers {{cmd|BlockDB}}.&lt;br /&gt;
*Config: Added {{perm|UndoOthersActions}} permission that covers {{cmd|UndoPlayer}} and {{cmd|UndoArea}}.&lt;br /&gt;
*Config: {{cmd|Reload}} can now update more config keys without needing a restart: AutoRankEnabled, BandwidthUseMode, ConsoleName, DefaultRank, DefaultBuildRank, PatrolledRank.&lt;br /&gt;
*Config: Removed obsolete ShowBannedConnectionMessages config key.&lt;br /&gt;
*Config Fix: Fixed DefaultRank/DefaultBuildRank/PatrolledRank settings not being applied.&lt;br /&gt;
*ConfigGUI: Added BlockDB settings to &amp;quot;Worlds&amp;quot; tab and &amp;quot;Add/Edit World&amp;quot; dialog.&lt;br /&gt;
*ConfigGUI: Reorganized Rank tab.&lt;br /&gt;
*ConfigGUI: Relaxed restrictions on rank prefixes.&lt;br /&gt;
*ConfigGUI: Added &amp;quot;Insert Color&amp;quot; and &amp;quot;Insert Keyword&amp;quot; buttons to announce/rule/greeting editors in ConfigGUI, and a &amp;quot;Reset&amp;quot; button to revert edits.&lt;br /&gt;
*ConfigGUI: Any errors/warnings that are produced while loading &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt; in ConfigGUI are now displayed at startup.&lt;br /&gt;
*ConfigGUI Fix: ConfigGUI no longer loses worlds&#039; whitelists/blacklists.&lt;br /&gt;
*ConfigGUI Fix: Fixed several bugs related to renaming worlds.&lt;br /&gt;
*ConfigGUI Fix: Fixed several &amp;quot;Reset&amp;quot; bugs.&lt;br /&gt;
*ConfigGUI Fix: Fixed &amp;quot;Enable colors in IRC&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*ConfigGUI Fix: Fixed ConfigTool&#039;s Chat tab not updating to reflect changes in rank colors/prefixes.&lt;br /&gt;
*ConfigGUI Fix: Fixed sort order in Worlds tab when sorting by world size.&lt;br /&gt;
*ConfigGUI Fix: Fixed some rank dropdown menus in ConfigGUI showing &amp;quot;(lowest rank)&amp;quot; instead of &amp;quot;(default rank)&amp;quot; as the default option.&lt;br /&gt;
*Drawing: Introduced a brush/pattern system for draw commands. Rewrote (almost) all existing draw commands to take advantage of that new infrastructure. Brushes are: Normal (default), Checkered, Random, Cloudy, Marbled, Replace, ReplaceNot, ReplaceBrush.&lt;br /&gt;
*Drawing: Added a way to {{cmd|Undo}} up to five commands back. Use {{cmd|Redo to reverse it.&lt;br /&gt;
*Drawing: Added {{cmd|Torus}} drawing command, written and contributed by M1_Abrams.&lt;br /&gt;
*Drawing: Added support for multiple copy/paste slots, using {{cmd|CopySlot}}. Number of slots of configurable per-rank.&lt;br /&gt;
*Drawing: {{cmd|Replace}} and {{cmd|ReplaceNot}} can now take just one blocktype. The replacement type is inferred from the type of block player is holding when clicking.&lt;br /&gt;
*Drawing: {{cmd|Undo}} now cancels the last drawing commands.&lt;br /&gt;
*Drawing: Added a new [[Blocks|block name aliases]]: &amp;quot;g&amp;quot; for grass, &amp;quot;w&amp;quot; for water, &amp;quot;a&amp;quot; for air.&lt;br /&gt;
*Drawing Fix: Added a missing volume check to {{cmd|Line}}, and fixed {{cmd|CuboidW}} volume calculations.&lt;br /&gt;
*Drawing Fix: Fixed {{cmd|Copy}} and {{cmd|Cut}} reporting incorrect orientation.&lt;br /&gt;
*FrontEnd: Colored ConfigCLI log messages: red for errors, yellow for warnings, dark gray for debug, default (gray) for everything else. Call with &amp;quot;--noconsolecolor&amp;quot; parameter to disable.&lt;br /&gt;
*FrontEnd: ServerCLI now handles all updater modes properly, and downloads updater/restarts if needed.&lt;br /&gt;
*FrontEnd: Improved window titles.&lt;br /&gt;
*FrontEnd Fix: Fixed ServerCLI writing errors to stdout instead of stderr.&lt;br /&gt;
*Misc: Players who log out hidden will now log in silently, still hidden.&lt;br /&gt;
*Misc: More [[Constants|keywords]] are now usable in announcements, rules, and greeting files: {SERVER_NAME}, {MOTD}, {RANK}, {PLAYER_NAME}, {TIME}, {WORLD}, {PLAYERS}, and {WORLDS}&lt;br /&gt;
*Misc: Kicked or disconnected players no longer have their TotalTime increased for the time idled.&lt;br /&gt;
*Misc: fCraft will refuse to start up if running old versions of mono (2.4 or earlier).&lt;br /&gt;
*Misc: Crash reporter now prints a reference number for submitted reports.&lt;br /&gt;
*Misc: AutoRank now only evaluates online players on a timer. A full database sweep will only be done on startup or on-demand. This should notably reduce average CPU use on large databases.&lt;br /&gt;
*Misc: Added AutoRank pseudoplayer (similar to Console), who is now credited with all autorank promotions/demotions.&lt;br /&gt;
*Misc: Increased the allowed clicking distance when manually clicking blocks, to account for lag.&lt;br /&gt;
*Misc: IRC bot now announces channel kicks and nick changes.&lt;br /&gt;
*Misc: When a player with a reserved slot tries to join a full world, the longest-idle player will be kicked to make room.&lt;br /&gt;
*Misc: Frozen, demoted, and banned players are now automatically unhidden. Frozen players are undeafened. Banned players are also automatically unfrozen and unmuted.&lt;br /&gt;
*Misc: When a player&#039;s rank is changed, their bindings are now reset (to avoid issues with {{cmd|Water}}, {{cmd|Lava}}, and {{cmd|Solid}}), and any in-progress selection is canceled ([[:Category:Requires Draw|draw]] commands, {{cmd|Zone}}, {{cmd|ZTest}}, {{cmd|BInfo}}, {{cmd|Measure}}, etc)&lt;br /&gt;
*Misc: Frozen players now have a little blue star appended to their names, similar to the red star for banned players.&lt;br /&gt;
*Misc: Moved all heartbeat-related operations to the background thread (fixes lag spikes when minecraft.net times out).&lt;br /&gt;
*Misc: Added a dynamically updated compass at the top-right of the screen, visible to players who use WoM 1.8.8+&lt;br /&gt;
*Misc: Added a check for libMonoPosix on server startup. This allows catching misconfigured Mono setups early.&lt;br /&gt;
*Misc: Ranks now default to &amp;quot;white&amp;quot; color (&amp;quot;&amp;amp;f&amp;quot;) instead of &amp;quot;none&amp;quot; color (&amp;quot;&amp;quot;).&lt;br /&gt;
*Misc: Edited the &amp;quot;failed to load main world&amp;quot; message to sound less menacing, since it&#039;s usually caused just by main world filling up.&lt;br /&gt;
*Misc: Sped up {{cmd|PruneDB}}, {{cmd|MassRank}}, map generation. Reduced memory use of draw commands, undo buffers, and ConfigGUI.&lt;br /&gt;
*Misc Fix: Fixed &amp;quot;duplicate metadata key&amp;quot; warning in FCMv3 maps.&lt;br /&gt;
*Misc Fix: Fixed a zone-related race condition when exporting to Opticraft map format.&lt;br /&gt;
*Misc Fix: Fixed fCraft being unable to start if fCraft.dll is in the root directory of a drive (e.g. in &amp;quot;C:/&amp;quot;)&lt;br /&gt;
*Misc Fix: Fixed a bug that caused bandwidth to sometimes be wasted on needlessly updating position of non-moving players.&lt;br /&gt;
*Misc Fix: Fixed a clock drift problem in periodic SchedulerTasks.&lt;br /&gt;
*Misc Fix: Fixed a case where, in some rank configurations, players would see themselves as offline when hidden (in {{cmd|Info}}, {{cmd|BInfo}}, {{cmd|Players}}, etc).&lt;br /&gt;
*PlayerDB: Added 46th column: PlayerInfo.IsHidden (&#039;h&#039; if hidden, otherwise blank).&lt;br /&gt;
*PlayerDB: Added 47th column: PlayerInfo.LastModified (UTC unix timestamp). Accuracy is not yet guaranteed.&lt;br /&gt;
*PlayerDB: Added 48th column: PlayerInfo.DisplayedName (string or blank). Overrides &amp;quot;Name&amp;quot; field for purposes of displaying formatted name (ClassyName).&lt;br /&gt;
*PlayerDB: Removed 14th column (FailedLoginCount) due to disuse.&lt;br /&gt;
*PlayerDB: PlayerDB now writes out changes to TotalTime incrementally for online players, instead of applying the change on-logout.&lt;br /&gt;
*Worlds: Added a way to change some environment and texture settings per-map, using {{cmd|Env}}.&lt;br /&gt;
*Worlds: Per-world settings on backup intervals now work.&lt;br /&gt;
*Worlds: Added BlockDB - a system for tracking edits per-block. Added related {{cmd|BlockDB}} and {{cmd|BInfo}} commands.&lt;br /&gt;
*Worlds: Added {{cmd|UndoPlayer}} and {{cmd|UndoArea}} commands for undoing players&#039; actions using BlockDB.&lt;br /&gt;
*Worlds: If a world has a missing map file, a warning is now shown, and a default flatgrass map is created.&lt;br /&gt;
*Worlds: Added a way to set per-rank main world, using {{cmd|WMain}}.&lt;br /&gt;
*Worlds: Added {{cmd|Restore}} command, inspired by good old MinerCPP. Selectively loads a map from another file or backup.&lt;br /&gt;
*Worlds: Allowed non-standard dimensions (neither multiples of 16, nor powers of 2). Added a warning about glitches when using nonstandard dimensions.&lt;br /&gt;
*Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to {{cmd|WInfo}} and to &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worlds: MapGenerator tweaks: &amp;quot;default&amp;quot; template is now known as &amp;quot;random,&amp;quot; &amp;quot;mountains&amp;quot; template now has more cliffs and snow on mountaintops, &amp;quot;island&amp;quot; template is less rough and has nice beaches, and water is now automatically removed from &amp;quot;desert&amp;quot; maps.&lt;br /&gt;
*Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.&lt;br /&gt;
*Worlds Fix: Fixed an exploit that allowed players to bypass world access permissions in certain rank configurations.&lt;br /&gt;
*Worlds Fix: Fixed some rare crashes in {{cmd|WLoad}}.&lt;br /&gt;
*Worlds Fix: Fixed {{cmd|WAccess}} and {{cmd|WBuild}} occasionally not saving the world list after adding players to the access/build whitelists.&lt;br /&gt;
*Worlds Fix: Fixed being unable to change just the capitalization when renaming worlds from ConfigGUI, under Windows.&lt;br /&gt;
*Zones: Added {{cmd|ZRename}} command to rename zones.&lt;br /&gt;
*Zones: Added {{cmd|ZMark}} command to use zone boundaries for drawing or making selections.&lt;br /&gt;
*Zones Fix: Fixed {{cmd|ZAdd}} crash when adding more than one personal zone for the same player ({{cmd|ZAdd|+Name}}).&lt;br /&gt;
*Zones Fix: Fixed a rare case where two players could simultaneously create a zone with the same name on the same world, which would crash one of the players.&lt;br /&gt;
*Zones Fix: {{cmd|Zones}} no longer crashes if used on a world with a missing or corrupt map file.&lt;br /&gt;
*Zones Fix: Tightened security checks of {{cmd|ZAdd}} and {{cmd|ZRemove}} to prevent a permission exploit.&lt;br /&gt;
*API: Added specialized MetadataCollection class to manage per-map and per-player metadata, and ZoneCollection for zones.&lt;br /&gt;
*API: Added ReSharper-compatible annotations and more argument checks throughout the codebase.&lt;br /&gt;
*API: fCraft now consistently uses [X,Y,Z] for coordinates (where X/Y are horizontal, and Z is vertical), and [Width,Length,Height] for dimensions (Width/Length horizontal, Height vertical).&lt;br /&gt;
*API: Merged Session and Player classes. All session-related functionality is in Player.Networking.cs file.&lt;br /&gt;
*API: New line-wrapping algorithm provides better performance and safety. Now using &amp;quot;\n&amp;quot; instead of &amp;quot;&amp;amp;N&amp;quot; to force a newline.&lt;br /&gt;
*API: Renamed World.PlayerList to World.Players, Server.PlayerList to Server.Players, and added PlayerDB.PlayerInfoList&lt;br /&gt;
*API: New LINQ-style API for working with sets of players. This API is now used for all messaging and packet-sending. Old API (Server.Send* and World.Send*) was removed.&lt;br /&gt;
*API: New unified API for handling player-generated chat (Chat static class), and new events (Chat.Sending and Chat.Sent).&lt;br /&gt;
*API: All cancellable events now implement ICancellableEvent.&lt;br /&gt;
*API: MapDAT and MapNBT now implement IMapConverter.LoadHeader.&lt;br /&gt;
*API: Converted IClassy.GetClassyName(), Rank.GetFullName(), and Player.GetListName() to properties.&lt;br /&gt;
*API: Renamed ConfigKey.GetBool() to ConfigKey.Enabled(). Added ConfigKey.TryGetInt() and ConfigKey.TryGetBool() methods.&lt;br /&gt;
*API: CommandManager.RegisterCommand() now checks for reserved command names (currently &amp;quot;ok&amp;quot; and &amp;quot;nvm&amp;quot;), and does a better job at handling command name capitalization differences.&lt;br /&gt;
*API: Added ability to override Player.MaxBlockPlacementRange, Player.SocketTimeout, Heartbeat.Delay, and Heartbeat.Timeout.&lt;br /&gt;
*API: Renamed RankManager.ParseRank(string) to Rank.Parse(string)&lt;br /&gt;
*API: All draw/undo/copy/paste commands have been moved to fCraft.Drawing namespace.&lt;br /&gt;
*API: Added support for multiple {{cmd|Help}} sections per command.&lt;br /&gt;
*API: Added CommandCategory.Debug, removed CommandDescriptor.HelpHander and HelpHandler delegate.&lt;br /&gt;
*API: Moved Server.Player* events to Player.* and Server.PlayerInfo* to PlayerInfo.*&lt;br /&gt;
*API: Expanded the confirmation system (&amp;lt;code&amp;gt;/OK&amp;lt;/code&amp;gt;) to allow custom callbacks, decoupled from the command system.&lt;br /&gt;
*API Fix: &amp;quot;Bad heartbeat&amp;quot; reply from minecraft.net no longer triggers UrlChanged event.&lt;br /&gt;
*API Fix: Fixed a couple bugs in BoundingBox.GetIntersection and BoundingBox.Contains.&lt;br /&gt;
*API Fix: Fixed {{cmd|Replace}} and {{cmd|ReplaceNot}} not firing Player.PlacedBlock&lt;br /&gt;
*events.&lt;br /&gt;
*API Fix: Uncaught exceptions that occur while parsing player messages no longer send crash reports when in DEBUG configuration.&lt;br /&gt;
&lt;br /&gt;
=0.5xx=&lt;br /&gt;
&lt;br /&gt;
===0.537===&lt;br /&gt;
&#039;&#039;14 September 2011 - r991&#039;&#039;&lt;br /&gt;
*Fixed another heartbeat-related issue caused by minecraft.net updates.&lt;br /&gt;
&lt;br /&gt;
===0.536===&lt;br /&gt;
&#039;&#039;14 September 2011 - r988&#039;&#039;&lt;br /&gt;
*Fix: Fixed a rare crash in DoChangeRank when promoting/demoting offline players.&lt;br /&gt;
*Fix: Fixed a case where world access/build whitelist additions were not immediately saved.&lt;br /&gt;
*Fix: Fixed several errors in the way time spans were displayed.&lt;br /&gt;
*Fix: Unhandled exceptions in background task callbacks will no longer take down the server&lt;br /&gt;
*Change: Changed the heartbeat handler to use GET instead of POST (workaround for minecraft.net problems).&lt;br /&gt;
*Change: Removed AutoLauncher.&lt;br /&gt;
&lt;br /&gt;
===0.535===&lt;br /&gt;
&#039;&#039;1 July 2011 - r702&#039;&#039;&lt;br /&gt;
*Workaround for minecraft.net heartbeat changes.&lt;br /&gt;
&lt;br /&gt;
===0.534===&lt;br /&gt;
&#039;&#039;18 June 2011 - r668&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;lt;RestartInterval&amp;gt; config key (in seconds). It should help people who are suffering from Mono memory leaks. This setting can only currently be modified by editing config.xml&lt;br /&gt;
*Fix: Fixed /wload and /gen resetting the world&#039;s hidden status.&lt;br /&gt;
*Fix: Fixed &amp;quot;Apply&amp;quot; button not getting enabled in ConfigTool when world list is changed.&lt;br /&gt;
*Fix: Fixed /cw reporting incorrect volume (fixes #3308137).&lt;br /&gt;
*Fix: Added a confirmation when /wrename will result in overwriting a map file, and fixed a related crash (fixes #3311994).&lt;br /&gt;
*Fix: Fixed FormatException in error handling code in World.AcceptPlayer&lt;br /&gt;
*Fix: Fixed /info not showing formatted names for players who appear offline.&lt;br /&gt;
*Fix: Fixed several issues with renaming worlds from ConfigTool.&lt;br /&gt;
*Fix: Fixed /restart breaking under Mono if path contains spaces.&lt;br /&gt;
*Fix: Fixed /staff, /me, and /roll commands not requiring the Chat permission.&lt;br /&gt;
*Fix: Fixed &amp;quot;Use IRC colors&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*Change: Allowed all printable ASCII characters in chat except &#039;&amp;amp;&#039;.&lt;br /&gt;
*Change: Heartbeat tweaks to prevent &amp;quot;Bad heartbeat&amp;quot; from popping up.&lt;br /&gt;
*Optimization: ConfigTool starts up faster, and uses much less memory.&lt;br /&gt;
&lt;br /&gt;
===0.533===&lt;br /&gt;
&#039;&#039;24 May 2011 - r614&#039;&#039;&lt;br /&gt;
*Fix: Fixed a regression in 0.530 that erased some strings in PlayerInfo and IPBanInfo objects, such as ban reasons.&lt;br /&gt;
*Change: Increased heartbeat interval to 27.5 seconds.&lt;br /&gt;
*Change: Reduced jitter of player movement.&lt;br /&gt;
&lt;br /&gt;
===0.532===&lt;br /&gt;
&#039;&#039;23 May 2011 - r611&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;quot;/worlds loaded&amp;quot; command.&lt;br /&gt;
*Fix: Fixed a bug that prevented worlds from accepting any block changes after a map change (/wload or /gen)&lt;br /&gt;
*Fix: Fixed &amp;quot;Player _____ joined main.&amp;quot; displaying twice when players connect.&lt;br /&gt;
*Change: Added /colours as an alias to /colors&lt;br /&gt;
*Change: Adjusted /dumpstats security checks, and made it require EditPlayerDB permission (instead of Import).&lt;br /&gt;
&lt;br /&gt;
===0.531===&lt;br /&gt;
&#039;&#039;20 May 2011 - r603&#039;&#039;&lt;br /&gt;
*Feature: /SInfo now shows bandwidth use, fCraft version, and .NET/Mono version.&lt;br /&gt;
*Feature: Added ability to use coordinates with mark (e.g. &amp;quot;/Mark 0 0 0&amp;quot;).&lt;br /&gt;
*Fix: Fixed non-default rank settings not saving properly from ConfigTool.&lt;br /&gt;
*Fix: Fixed a serialization bug in IPBanList that happened if a ban reason was not given, or if an IP address was not associated with any player.&lt;br /&gt;
*Fix: Fixed a few minor bugs in /WMain.&lt;br /&gt;
*Change: Allowed the caret (^) in chat messages.&lt;br /&gt;
*Change: Reduced movement lag.&lt;br /&gt;
*Change: /version command has been removed due to redundancy with /sinfo.&lt;br /&gt;
*Change: Detailed reasons of player disconnects are now logged better.&lt;br /&gt;
*Change: Increased Minecraft.net heartbeat interval slightly.&lt;br /&gt;
*API: Added new events: Scheduler.TaskAdded, Scheduler.TaskExecuting, Scheduler.TaskExecuted, and Scheduler.TaskRemoved. These events are only available when fCraft.dll is built with DEBUG_SCHEDULER flag because of their performance impact.&lt;br /&gt;
*Optimization: Removed the scheduler overhead from having unloaded worlds.&lt;br /&gt;
*Optimization: Sped up MapGenerator by about 10%.&lt;br /&gt;
&lt;br /&gt;
===0.530===&lt;br /&gt;
&#039;&#039;7 May 2011 - r583&#039;&#039;&lt;br /&gt;
*Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.&lt;br /&gt;
*Feature: Added OptiCraft blocktype names and blocks&#039; numeric IDs as aliases.&lt;br /&gt;
*Fix: Fixed block bindings not being applied to drawing commands.&lt;br /&gt;
*Fix: Fixed fCraft getting confused if worlds.xml contains duplicates.&lt;br /&gt;
*Fix: Fixed &amp;quot;/&amp;quot; (repeat last command) not rewinding the command, which caused some issues with command arguments.&lt;br /&gt;
*Fix: Fixed &amp;quot;Max connections per IP&amp;quot; setting not saving in ConfigTool.&lt;br /&gt;
*Fix: Fixed AnnounceRankChangeReasons checkbox being erroneously tied to RequireRankChangeReasons key in ConfigTool.&lt;br /&gt;
*Fix: Added some missing tooltips to ConfigTool.&lt;br /&gt;
*Fix: Marked 10.0.0.0/8 IP range as LAN.&lt;br /&gt;
*Fix: Fixed an issue with balanced name verification (thanks wootalyzer).&lt;br /&gt;
*Fix: Fixed server announcing hidden players&#039; departure (#3292633). Thanks to Hellenion.&lt;br /&gt;
*Fix: Fixed /bring not checking per-rank permissions (#3292303). Thanks to Denny&lt;br /&gt;
*Fix: Fixed some header bugs in the D3 map converter.&lt;br /&gt;
*Fix: Fixed /wload crashing instead of printing an error message under Mono if the path was malformed.&lt;br /&gt;
*Fix: Fixed /banip not recognizing invalid IPs (e.g. broadcast).&lt;br /&gt;
*Fix: Fixed antispam resetting players&#039; mute time.&lt;br /&gt;
*Fix: Fixed Scheduler being able to add tasks after the shutdown process started.&lt;br /&gt;
*Fix: Reduced problems associated with players trying to connect while the server is shutting down.&lt;br /&gt;
*Fix: Added autorank.xml to the list of protected files.&lt;br /&gt;
*Fix: Fixed a crash in backup system that happened if two backups ran simultaneously and the total size or number of backup files was limited.&lt;br /&gt;
*Fix: Fixed a case where duplicate worlds could be created.&lt;br /&gt;
*Change: When players rejoin a world (e.g. /wflush or /wload), &amp;quot;joined world&amp;quot; message is no longer shown.&lt;br /&gt;
*Change: /mute no longer allows shortening players&#039; mute time, only to extend it.&lt;br /&gt;
*Change: Allowed player names with periods.&lt;br /&gt;
*Change: Removed SaveOnShutdown config key, tweaked range checks on some keys, grouped key tags into section tags.&lt;br /&gt;
*Change: When saving config.xml, keys with default values are now commented out.&lt;br /&gt;
*API: New events! PlayerHideChanged, PlayerInfoCreating, PlayerInfoCreated, PlayerInfoRankChanging, and PlayerInfoRankChanged.&lt;br /&gt;
*API: Server.StartServer() now throws specific exceptions on failure, instead of returning false.&lt;br /&gt;
*API: Removed some obsolete Server events.&lt;br /&gt;
*API: Switched to 100% Utc dates/times internally. PlayerDB now uses UTC Unix timestamps to serialize all dates/times.&lt;br /&gt;
*Optimization: Sped up map generation.&lt;br /&gt;
*Optimization: Reduced PlayerDB saving interval, reduced PlayerDB filesize, reduced CPU and memory use of PlayerDB saving, reduced memory footprint of loaded PlayerDB, improved IPAddress lookup performance in PlayerDB.&lt;br /&gt;
&lt;br /&gt;
===0.522===&lt;br /&gt;
&#039;&#039;16 April 2011 - r546&#039;&#039;&lt;br /&gt;
*Feature: Added more functionality to hollow ellipsoid and sphere, thanks to Redshift. Now it is possible to define outer/inner blocktypes.&lt;br /&gt;
*Feature: Added OptiCraft map format support, courtesy of LgZ-optical&lt;br /&gt;
*Fix: Fixed a serious error that caused a crash when main world became full. This bug affected 0.520 and 0.521.&lt;br /&gt;
*Fix: Fixed AutoLauncher not working under Mono (thanks to ven000m for spotting).&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog crashing if closed while generating a world.&lt;br /&gt;
*Fix: Fixed /restart using ShutdownReason.ShuttingDown (instead of ShutdownReason.Restarting) &lt;br /&gt;
*Fix: Fixed a crash in ConfigTool if MaxPlayers was set to be less than MaxPlayersPerWorld.&lt;br /&gt;
*Fix: When loading old configs (pre-0.520), MaxPlayersPerWorld is automatically set to match MaxPlayers, to avoid unexpected side effects.&lt;br /&gt;
*API: Added WorldCreating and WorldCreated events.&lt;br /&gt;
*API: Moved world-related commands from Server to a new class, WorldManager.&lt;br /&gt;
*API: Renamed RankList to RankManager, and CommandList to CommandManager, for consistency.&lt;br /&gt;
&lt;br /&gt;
===0.521===&lt;br /&gt;
&#039;&#039;12 April 2011 - r534&#039;&#039;&lt;br /&gt;
*Feature: Added a /Clear command, to clear in-game chat. Also works from fCraftConsole and fCraftUI.&lt;br /&gt;
*Fix: Added missing chat commands.&lt;br /&gt;
*Fix: Cosmetic fixes in /ZRemove.&lt;br /&gt;
&lt;br /&gt;
===0.520===&lt;br /&gt;
&#039;&#039;12 April 2011 - r532&#039;&#039;&lt;br /&gt;
*Feature: Removed the server-wide 128 player limit. Now the limit is per-world.&lt;br /&gt;
*Feature: You can now repeat the last command by typing &amp;quot;/&amp;quot;&lt;br /&gt;
*Feature: Added a way to use color codes in chat (with % instead of &amp;amp;), a UseColorCodes permission, and a /colors command.&lt;br /&gt;
*Feature: Added support for multi-line messages or commands. Add &amp;quot; /&amp;quot; to the end of a line to continue typing it.&lt;br /&gt;
*Feature: Added &amp;quot;/commands&amp;quot;, to replace &amp;quot;/help commands&amp;quot;. It allows filtering commands by rank, category, permissions, etc. Aliases: /cmdlist, /cmds&lt;br /&gt;
*Feature: New permissions: ViewPlayerIPs, BringAll&lt;br /&gt;
*Feature: New config switches: AnnounceRankChangeReasons and RequireKickReason.&lt;br /&gt;
*Feature: Replaced LimitOneConnectionPerIP config key (boolean) with a more flexible MaxConnectionsPerIP (int).&lt;br /&gt;
*Feature: Added /bringall command, for moving everyone (or only certain ranks) from your world (or optionally all worlds, or a list of other worlds) to your location.&lt;br /&gt;
*Feature: /bring can be limited per-rank&lt;br /&gt;
*Feature: When file is not found on case-sensitive filesystems, fCraft tries to syggest similar filenames.&lt;br /&gt;
*Feature: Added new constants to use in greeting.txt: {TIME}, {PLAYER_NAME}, {WORLD}, {PLAYERS}, {WORLDS}, {MOTD}&lt;br /&gt;
*Feature: Improved compatibility with SurvivalTest clients.&lt;br /&gt;
*Fix: Fixed /banip not kicking other players from the same IP (besides the named player)&lt;br /&gt;
*Fix: Added missing blocktype validation to MapFCMv2, MapFCMv3, MapMyne, and MapNBT.&lt;br /&gt;
*Fix: Fixed a rare shutdown crash in fCraftUI.&lt;br /&gt;
*Fix: Improved the way PlayerDB.Load handles errors in individual records. A single corrupted entry will no longer prevent the rest from loading.&lt;br /&gt;
*Fix: Fixed fCraftUI abruptly quitting on crash / failure to start, instead of showing the error message. Use &amp;quot;--exitoncrash&amp;quot; command-line switch to reproduce old behavior.&lt;br /&gt;
*Fix: Fixed ConfigTool&#039;s World tab not prompting to delete map files when deleting worlds.&lt;br /&gt;
*Fix: Fixed a bug in MCSharp importer (#3281305)&lt;br /&gt;
*Fix: Fixed a list of permissions in /rinfo not being sorted.&lt;br /&gt;
*Fix: Fixed /mute rank limit dropdown sometimes getting out of sync.&lt;br /&gt;
*Fix: Fixed IRC bot redundantly announcing kicks when someone has been banned.&lt;br /&gt;
*Fix: Fixed a bug where fCraft would fail to start if PlayerDB.txt was truncated/empty.&lt;br /&gt;
*Change: Moved &amp;quot;IP&amp;quot; config key from General to Advanced.&lt;br /&gt;
*Change: Added /spin as an alias to /rotate (for MCLawl users)&lt;br /&gt;
*API: New events: PlayerClicking, PlayerClicked, PlayerPlacingBlock, PlayerPlacedBlock, PlayerListChanged, PlayerBeingKicked, PlayerKicked&lt;br /&gt;
*Optimization: Reduced CPU use of draw commands by ~30%. Sped up PlayerDB loading by ~8%, and reduced memory use when saving. Also reduced PlayerDB filesize by about 15%&lt;br /&gt;
&lt;br /&gt;
===0.512===&lt;br /&gt;
&#039;&#039;2 April 2011 - r508&#039;&#039;&lt;br /&gt;
*Feature: /zones can now be used from console, and can be used on any world (active or inactive).&lt;br /&gt;
*Feature: Improved D3 map importer.&lt;br /&gt;
*Fix: Added missing filename sanity/safety checks to /dumpstats (#3267362, thanks to Hellenion)&lt;br /&gt;
*Fix: Fixed mixed up messages shown in /waccess and /wbuild (#3179189)&lt;br /&gt;
*Fix: Fixed crash reports sometimes failing to submit.&lt;br /&gt;
*Fix: Fixed /dumpstats crashing if a rank had 0 players.&lt;br /&gt;
*Fix: Made Mono version detection less crashy (#3267476, thanks to Hellenion again)&lt;br /&gt;
*Fix: Fixed MapUtility.LoadHeader terminating early, before going through all fallback converters.&lt;br /&gt;
*Fix: Fixed ConfigTool tab order.&lt;br /&gt;
*Fix: Fixed fCraft reporting inaccurate CPU usage figures.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in /rank if an invalid player name was given.&lt;br /&gt;
*Fix: Fixed fCraft project not building under Windows if path contains spaces.&lt;br /&gt;
*Change: Added &amp;quot;/serverreport&amp;quot; as an alias for &amp;quot;/sinfo&amp;quot;&lt;br /&gt;
*Change: Improved the way fCraft handles and reports map loading errors.&lt;br /&gt;
*API Change: Moved all filename constants (e.g. &amp;quot;PlayerDB.txt&amp;quot;) to Paths class.&lt;br /&gt;
&lt;br /&gt;
===0.511===&lt;br /&gt;
&#039;&#039;31 March 2011 - r497&#039;&#039;&lt;br /&gt;
*Feature: Further improvements to Mono support. fCraft will now utilize mono-sgen whenever possible.&lt;br /&gt;
*Fix: Fixed fCraftUI ignoring command-line arguments.&lt;br /&gt;
*Fix: Fixed broken /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed crash reports failing to submit.&lt;br /&gt;
*Fix: Fixed a timezone-related bug that messed up players&#039; &amp;quot;total time on server&amp;quot; stat.&lt;br /&gt;
*Change: Added a warning if running on old versions of Mono (2.6 or lower). &lt;br /&gt;
&lt;br /&gt;
===0.510_r489===&lt;br /&gt;
&#039;&#039;29 March 2011 - r489&#039;&#039;&lt;br /&gt;
*Fix: Fixed unnecessary GDI+ dependence in fCraftConsole under Mono&lt;br /&gt;
*Fix: Fixed EnumKeyAttribute not taking blank values (as in case of ProcessPriority config key).&lt;br /&gt;
&lt;br /&gt;
===0.510===&lt;br /&gt;
&#039;&#039;29 March 2011 - r488&#039;&#039;&lt;br /&gt;
*Feature: The fCraft updater has been rewritten and expanded. It now works under all OSes, and provides more features.&lt;br /&gt;
*Feature: fCraft now handles differences between case-sensitive and case-insensitive filesystems much better. /wrename and /wload are also aware of the filesystem.&lt;br /&gt;
*Feature: fCraft now checks presence, filename capitalization, and integrity of all map files on the world list at startup.&lt;br /&gt;
*Feature: New ConfigTool settings for updater, checkbox for showing &amp;quot;player connected/left&amp;quot; messages, and &amp;quot;/mute&amp;quot; permission settings.&lt;br /&gt;
*Feature: Added &amp;quot;/credits&amp;quot; command to ConfigUI.&lt;br /&gt;
*Feature: Implemented &amp;quot;--norestart&amp;quot; and &amp;quot;--exitoncrash&amp;quot; command-line switches for fCraft.&lt;br /&gt;
*Feature: fCraft event system is being rewritten with modding support in mind.&lt;br /&gt;
*Feature: Improved MCSharp/MCZall/MCLawl map support.&lt;br /&gt;
*Fix: Software errors that happen while parsing player and console commands will no longer cause disconnects/crashes.&lt;br /&gt;
*Fix: IPBanList will attempt to recover records lost due to a recent regression in 0.505.&lt;br /&gt;
*Fix: Fixed /wrename errors in cases where names differ only in capitalization.&lt;br /&gt;
*Fix: Fixed &amp;quot;Copy Existing World&amp;quot; showing the current world on the list in AddWorldPopup.&lt;br /&gt;
*Fix: Fixed &amp;quot;Chat&amp;quot; tab preview not updating when settings are reset.&lt;br /&gt;
*Fix: Fixed per-world whitelist/blacklist not saving when worlds are edited with AddWorldPopup.&lt;br /&gt;
*Fix: Fixed non-verified connections that get kicked from affecting that name&#039;s PlayerInfo.&lt;br /&gt;
*Fix: Server.GenerateSalt() now uses a cryptographically secure PRNG.&lt;br /&gt;
*Fix: Fixed verification problems on servers with HeartbeatEnabled=false.&lt;br /&gt;
*Fix: Fixed a wrong message being shown by /rank if the target is already same or higher/lower rank.&lt;br /&gt;
*Fix: Fixed /winfo showing incorrect information for last lock/unlock event.&lt;br /&gt;
*Fix: Fixed tabbing order on ConfigUI.&lt;br /&gt;
*Fix: Improved the way Server.InitLibrary and Logger.Log errors are handled.&lt;br /&gt;
*Fix: Added missing validation checks to LoadHeader in several map converters.&lt;br /&gt;
*Fix: Fixed players being able to complete a draw command or /zadd, if they were demoted before clicking for the second time.&lt;br /&gt;
*Fix: Added missing /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed a bug in /zinfo that showed incorrect creation/editing times.&lt;br /&gt;
*Fix: Better error messages for unrecognized block names in command parameters.&lt;br /&gt;
*Fix: /restart now works from ConfigUI under Mono (but still broken in fCraftConsole).&lt;br /&gt;
*Fix: Fixed handling of command-line arguments surrounded with quotes.&lt;br /&gt;
*Fix: Fixed a bug at ConfigTool.ConfigUI.xAllowSecurityCircumvention_CheckedChanged (#3181907, thanks to clhdrums87).&lt;br /&gt;
*Fix: Fixed /winfo counting hidden players (#3237877, thanks to Hellenion).&lt;br /&gt;
*Fix: Fixed MCSharp map exporter mixing up map dimensions (#3159501, thanks to dogwatch).&lt;br /&gt;
*Change: Improved the way fCraft project is built. Now all binaries are copied to /trunk/bin/Release or /trunk/bin/Debug.&lt;br /&gt;
*Change: Improved error tolerance of Scheduler.EndShutdown().&lt;br /&gt;
*Change: Expanded Logger.CheckForCommonErrors().&lt;br /&gt;
*Change: Renamed config keys (old ones can still be loaded): IRCBot to IRCBotEnabled, AutomaticUpdates to UpdaterMode.&lt;br /&gt;
*Change: Added /wadd as an alias for /wload.&lt;br /&gt;
*Change: Renamed Mcc namespace to fCraft.MapConversion.&lt;br /&gt;
*Change: Decreased timeout for fCraft update check.&lt;br /&gt;
*Change: Added a confirmation prompt to /rank when adding an unrecognized player name to the database.&lt;br /&gt;
*Optimization: Sped up heartbeat sending and world-related operations, increased world saving interval to 90 seconds, reduced per-player idle CPU usage, halved CPU usage of draw commands.&lt;br /&gt;
&lt;br /&gt;
===0.506===&lt;br /&gt;
&#039;&#039;11 February 2011 - r427&#039;&#039;&lt;br /&gt;
*Feature: Added hollow ellipsoid drawing (/eh) and hollow sphere drawing (/sph), contributed by Conrad &amp;quot;Redshift&amp;quot; Morgan.&lt;br /&gt;
*Fix: Fixed a regression in 0.503 that caused some IP ban records to be lost. I am terribly sorry!&lt;br /&gt;
*Fix: Fixed a path-related error in Map.SaveBackup&lt;br /&gt;
*Fix: Fixed a possible disconnect in Player.CheckBlockSpam is antigrief was not configured properly.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool.SaveWorldList.&lt;br /&gt;
*Fix: Fixed &amp;quot;Limit the number of blocks that can be undone&amp;quot; checkbox misbehaving (thanks to ven000m for bug report).&lt;br /&gt;
*Change: By popular demand /sphere2 is now the default behavior of /sphere.&lt;br /&gt;
*Change: Removed &amp;quot;oldSalt&amp;quot; check for name verification, to avoid having the server write to config.xml unnecessarily.&lt;br /&gt;
*Change: Removed &amp;quot;.backup&amp;quot; file creation, by popular demand. It was kinda useless.&lt;br /&gt;
&lt;br /&gt;
===0.505===&lt;br /&gt;
&#039;&#039;8 February 2011 - r422&#039;&#039;&lt;br /&gt;
*Feature: All draw commands now inform player if any blocks were skipped due to local permission issues (e.g. zones).&lt;br /&gt;
*Fix: Fixed a regression that caused backups to be saved in the wrong path. Backups were being saved to ./backups/ instead of ./maps/backups/&lt;br /&gt;
*Fix: Fixed a permission issue in /replace and /replacenot.&lt;br /&gt;
*Fix: Fixed /info not displaying a list of players from same IP.&lt;br /&gt;
*Fix: Addressed a security issue with salt generation.&lt;br /&gt;
&lt;br /&gt;
===0.504===&lt;br /&gt;
&#039;&#039;3 February 2011 - r419&#039;&#039;&lt;br /&gt;
*Fixed a crash bug related to SecurityController.MinRank&lt;br /&gt;
&lt;br /&gt;
===0.503===&lt;br /&gt;
&#039;&#039;3 February 2011 - r418&#039;&#039;&lt;br /&gt;
*Feature: Added /deafen command. It temporarily blocks all incoming messages (makes you go &amp;quot;deaf&amp;quot;), to allow taking screenshots, recording videos, or just playing without the wall of text.&lt;br /&gt;
*Feature: Added ShowBannedConnectionMessages config key (default: true). When disabled, no &amp;quot;banned player tried to log in&amp;quot; messages are shown.&lt;br /&gt;
*Fix: Fixed PlayerInfo.frozenOn not being set.&lt;br /&gt;
*Fix: Fixed kick messages for players affected by /banall&lt;br /&gt;
*Fix: Fixed /unbanall reason not being shown.&lt;br /&gt;
*Fix: /where now shows what world you are on.&lt;br /&gt;
*Fix: Fixed a couple minor bugs in /waccess and /wbuild.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in SecurityController constructor.&lt;br /&gt;
*Fix: Made several tweaks to improve the first-run experience.&lt;br /&gt;
&lt;br /&gt;
===0.502===&lt;br /&gt;
&#039;&#039;31 January 2011 - r411&#039;&#039;&lt;br /&gt;
*Fix: Adjusted for yet another change in the way minecraft.net replies to heartbeats (should fix all heartbeat issues for now).&lt;br /&gt;
*Fix: Added a check to /zremove to prevent players from deleting zones to gain access to areas from which they&#039;re barred.&lt;br /&gt;
*Fix: Fixed being able to use /me or /staff to write empty messages.&lt;br /&gt;
*Fix: Fixed frozen players not getting defrosted when kicked.&lt;br /&gt;
*Fix: Formatting fixes in &amp;quot;___ was previously frozen&amp;quot; message&lt;br /&gt;
*Fix: Fixed a mini-bug in Map.ValidateHeader()&lt;br /&gt;
*Change: Renamed /wremove to /wunload for consistency. &amp;quot;/wremove&amp;quot; is still usable as an alias.&lt;br /&gt;
&lt;br /&gt;
===0.501===&lt;br /&gt;
&#039;&#039;30 January 2011 - r408&#039;&#039;&lt;br /&gt;
*Feature: Added /sphere and /sphere2, based on code contributed by SystemX17.&lt;br /&gt;
*Feature: Added new config setting: ShowConnectedMessages (default: true)&lt;br /&gt;
*Feature: Added a notification for players who logged in frozen.&lt;br /&gt;
*Fix: Fixed frozen players twitching.&lt;br /&gt;
*Fix: Fixed IRC bot not stripping color codes in messages relayed from IRC to the game.&lt;br /&gt;
*Fix: Fixed lastSeen and lastLoginDate not being set for first-time players who failed to log in (e.g. IP-banned).&lt;br /&gt;
*Fix: Fixed /bring not working properly on frozen players.&lt;br /&gt;
*Fix: Fixed a case where it was possible to add access restrictions to main map.&lt;br /&gt;
*Fix: Fixed per-world whitelists/blacklists being lost when editing worlds.xml via ConfigTool.&lt;br /&gt;
*Fix: Fixed AutoRankAll showing wrong number of players promoted/demoted (just a formatting bug, no promotions were affected)&lt;br /&gt;
&lt;br /&gt;
===0.500===&lt;br /&gt;
&#039;&#039;25 January 2011 - r399&#039;&#039;&lt;br /&gt;
*Commands: Added /line drawing command, kindly contributed by SystemX17&lt;br /&gt;
*Commands: Added /restart command, to restart the server remotely (NOTE: does not work for fCraftWinService yet)&lt;br /&gt;
*Commands: Added /unmute command (same as &amp;quot;/mute name 0&amp;quot;)&lt;br /&gt;
*Commands: Added an option to silently hide (no disconnect/connect message).&lt;br /&gt;
*Commands: Added /ignore and /unignore commands to block chat from another player (for the duration of your visit).&lt;br /&gt;
*Commands: /whide and /wunhide commands added to hide/unhide worlds from the list.&lt;br /&gt;
*Commands: /worlds now takes an optional param: &amp;quot;/worlds all&amp;quot; lists visible+hidden worlds, and &amp;quot;/worlds hidden&amp;quot; lists hidden worlds only.&lt;br /&gt;
*Commands: List of player names from the same IP is now shown in /info.&lt;br /&gt;
*Commands: /help now shows what rank you need to be to use a command (for most commands).&lt;br /&gt;
*Commands: /bring now works on frozen players.&lt;br /&gt;
*Commands: /bring now takes an optional second name/parameter, to teleport someone to someone&lt;br /&gt;
*Commands: /info now shows whether a player is hidden (if the command caller has permission to see).&lt;br /&gt;
*Commands: Fixed a case where teleporting to a player who is currently changing worlds brings one to a wrong location.&lt;br /&gt;
*Commands: Fixed bindings (/water, /lava, /solid, and /bind) not being applied to draw commands.&lt;br /&gt;
*Commands: /wsave and /gen can now create directories if needed.&lt;br /&gt;
*Commands: Fixed a bug in /roll&lt;br /&gt;
*Commands: Sped up /paste, /pastenot, /replace, and /replacenot slightly.&lt;br /&gt;
*ConfigTool: New &amp;quot;Chat&amp;quot; tab for controlling appearance and content of in-game chat.&lt;br /&gt;
*ConfigTool: Added ability to customize MeColor (for /me messages, default: purple) and WarningColor (for major errors/warnings, default: red) in config.&lt;br /&gt;
*ConfigTool: AddWorldPopup can now show detailed info for maps of all supported formats.&lt;br /&gt;
*ConfigTool: Improved tooltips for several items in ConfigUI.&lt;br /&gt;
*FrontEnd: Uncaught exceptions that happen while executing commands from fCraftUI console are now handled by the crash reporter (instead of actually crashing).&lt;br /&gt;
*FrontEnd: Added /clear command for fCraftUI and fCraftConsole - clears log screen.&lt;br /&gt;
*FrontEnd: The URL is no longer highlighted after first heartbeat, to avoid stealing focus from console.&lt;br /&gt;
*Generator: Fixed &amp;quot;flatgrass&amp;quot; template&lt;br /&gt;
*Generator: Fixed alphabetical order in the list of templates&lt;br /&gt;
*Generator: MapGenerator now embeds generation parameters into the map file metadata&lt;br /&gt;
*Generator: Fixed several template loading bugs.&lt;br /&gt;
*Generator: Optimized AddBeaches to be about 2x faster&lt;br /&gt;
*Generator: Added a missing dimension check to /gen&lt;br /&gt;
*IRC: Messages relayed from game to IRC now have color codes preserved.&lt;br /&gt;
*IRC: Kicks, Bans, unbans, promotions, and demotions can now be relayed to IRC.&lt;br /&gt;
*IRC: IRC bot now relays /say messages, and /me messages (both /me on IRC and /me on the server).&lt;br /&gt;
*IRC: IRC Error handling is greatly improved.&lt;br /&gt;
*IRC: (Threaded) If one of the bots loses connection, one of the other bots take over parsing input.&lt;br /&gt;
*IRC: Increased IRC reconnect delay to 15 seconds.&lt;br /&gt;
*Maps: Switched to a new file format (FCMv3) that allows for future additions like block tracking and physics.&lt;br /&gt;
*Maps: Much of MCC (map conversion) API was rewritten for better consistency and performance.&lt;br /&gt;
*Maps: Improved support for loading indev (pre-infinite) maps, including Omen-generated maps.&lt;br /&gt;
*Maps: Improved resilience for loading maps with unknown blocktypes. Instead of failing, it just replaces any unknown blocks with air.&lt;br /&gt;
*Maps: Added consistent header validation to all map format loaders.&lt;br /&gt;
*Maps: Fixed maps not autosaving when zones are added or removed.&lt;br /&gt;
*Maps: Zone definitions are now serialized to XML. Zones saved with this revision of fCraft will no longer be readable by older version of fCraft.&lt;br /&gt;
*Maps: Fixed a bug when loading JTE&#039;s format maps.&lt;br /&gt;
*Maps: Fixed format of backup filenames.&lt;br /&gt;
*PlayerDB: Added new fields: bannedUntil, frozenOn, frozenBy, mutedUntil, mutedBy, IRCPassword, online, leaveReason&lt;br /&gt;
*PlayerDB: Fixed PlayerInfo.ID not being assigned for new players until sever restart / DB reload.&lt;br /&gt;
*PlayerDB: Fixed off-by-one error with PlayerInfo.timesVisited&lt;br /&gt;
*PlayerDB: Fixed /me, /say, rank chat, and /staff not counting towards PlayerInfo.linesWritten&lt;br /&gt;
*PlayerDB: Made PlayerDB more resilient to errors. Reduced filesize slightly by omitting default values for more date fields, and removing milliseconds from &amp;quot;totalTime&amp;quot;&lt;br /&gt;
*PlayerDB: Improved forwards compatibility of PlayerDB by removing maximum-field-count check.&lt;br /&gt;
*Security: Worlds can now have player whitelists and blacklists (just like zones) for access and build permissions.&lt;br /&gt;
*Security: Added a security check to /wsave, /wload, and /gen to prevent reading or overwriting files outside the map folder.&lt;br /&gt;
*Security: Added a per-rank security option to prevent players from whitelisting themselves, removing themselves from blacklists, or lowering their rank&#039;s restrictions on worlds and zones.&lt;br /&gt;
*Security: /mute and /freeze are now persistent even if the player reconnects.&lt;br /&gt;
*Security: Relaxed SetTile packet checks. Players will no longer be kicked due to Minecraft client bugs.&lt;br /&gt;
*Security: Fixed an exploit that allowed changing steps to doublesteps even inside zoned areas.&lt;br /&gt;
*Security: Improved consistency of permission dependencies.&lt;br /&gt;
*Security: Fixed a security exploit in /wmain that allowed players with ManageWorlds permission to gain access to restricted worlds.&lt;br /&gt;
*Security: Fixed a bug that prevented banning players who were not yet in PlayerDB.&lt;br /&gt;
*Security: Added an option to only allow paid players (PaidPlayersOnly)&lt;br /&gt;
*Stability: Made crash reporting more reliable. A failed crash report will no longer prevent error message from being logged and displayed.&lt;br /&gt;
*Stability: Fixed a crash in AddWorldPopup if dialog is closed while a map is still loading.&lt;br /&gt;
*Stability: To improve compatibility with some bots, removed &amp;quot;almost there...&amp;quot; message on the loading screen&lt;br /&gt;
*Stability: Disabled error reporting of common non-fCraft-related errors (like wrong runtime versions, or wrong Mono permissions).&lt;br /&gt;
*Stability: Added &amp;quot;libMonoPosixHelper.so&amp;quot; and &amp;quot;UnauthorizedAccessException&amp;quot; to Logger.CheckForCommonErrors, and made &amp;quot;Could not load file or assembly&amp;quot; check locale-independent.&lt;br /&gt;
*Stability: A backup file is now created whenever PlayerDB, IP ban list, config, or world list are saved (e.g. PlayerDB.txt.backup)&lt;br /&gt;
*Stability: Crash reporter now sends last 25 lines of the log.&lt;br /&gt;
*Stability: Added a fallback overload for Player.Message() that bypasses string format, to make the whole thing less prone to format errors.&lt;br /&gt;
*System: fCraft now takes command-line arguments (at startup) to override the following:&lt;br /&gt;
**working directory (--path=/your/path/here)&lt;br /&gt;
**log directory (--logpath=/your/path/here)&lt;br /&gt;
**map directory (--logpath=/your/path/here) - also overridable in a more user-friendly way via ConfigTool (MapPath key)&lt;br /&gt;
**config file location (--config=/your/path/and/filename.xml)&lt;br /&gt;
*System: Added an option to change the name of Console pseudoplayer in the config.&lt;br /&gt;
*System: Player.GetClassyName() and PlayerInfo.GetClassyName() now add an asterisk after banned players&#039; names&lt;br /&gt;
*System: Fixed hidden players remaining hidden in some cases.&lt;br /&gt;
*System: Fixed PacketWriter.MakeWrappedMessage ignoring uppercase hex colorcodes&lt;br /&gt;
*System: Implemented NoPartialPositionUpdates and RelayAllUpdates config keys.&lt;br /&gt;
*System: Several little glitches and inefficiencies fixed in movement handling code.&lt;br /&gt;
*System: Fixed &amp;quot;player connected&amp;quot; and other messages showing up too early in-game (before map loaded).&lt;br /&gt;
*System: Fixed kick message for players affected by /banall&lt;br /&gt;
*System: Added HeartbeatEnabled config key (default: true)&lt;br /&gt;
*System: Fixed a case where heartbeat could be sent from a different IP than the listening port on systems with multiple NICs/IPs and no configured static IP.&lt;br /&gt;
*System: Increased the write buffer for writing out PlayerDB, reducing I/O time by ~20% on .NET, and ~35% on Mono&lt;br /&gt;
*System: New Scheduler API.&lt;br /&gt;
*System: Modified /wload to avoid loading the map twice in case confirmation is needed.&lt;br /&gt;
*System: Changes to AutoRankEnabled will now be applied when /reloadconfig is called.&lt;br /&gt;
*System: Fixed unnecessary confirmation being asked when world name matches file name in /wload&lt;br /&gt;
*System: Eliminated the heartbeat thread by switching to async i/o.&lt;br /&gt;
*System: Improved startup and shutdown speed.&lt;br /&gt;
*System: Added a &amp;quot;how to promote yourself&amp;quot; message for fresh installations of fCraft.&lt;br /&gt;
*System: Fixed Server.OnPlayerDisconnected event firing for unregistered sessions.&lt;br /&gt;
*System: Made Color.Parse() and Color.GetName() translate fCraft-specific color assignments (e.g &amp;quot;&amp;amp;S&amp;quot; for &amp;quot;System&amp;quot;)&lt;br /&gt;
*System: Added better detection for SMP/Alpha clients trying to connect.&lt;br /&gt;
*System: Sped up AutoRankAll&lt;br /&gt;
&lt;br /&gt;
=0.4xx=&lt;br /&gt;
===0.499===&lt;br /&gt;
&#039;&#039;6 November 2010 - r311&#039;&#039;&lt;br /&gt;
*Feature: Added an option to disable name verification for players connecting from LAN.&lt;br /&gt;
*Feature: Added &#039;flat&#039; template to MapGenerator, allowing to make flat maps with any theme.&lt;br /&gt;
*Feature: Added &#039;grass&#039; pseudotheme to /gen command, which is basically the &#039;Forest&#039; theme with trees disabled.&lt;br /&gt;
*Fix: Fixed /wflush leaving ghosts/clones behind.&lt;br /&gt;
*Fix: Fixed muted players being able to use /say and /staff&lt;br /&gt;
*Fix: Fixed /baninfo ignoring permission checks.&lt;br /&gt;
*Fix: Fixed &amp;quot;draw limit&amp;quot; checkbox getting disabled in ConfigTool if a player had &#039;CopyAndPaste&#039; permission but no &#039;Draw&#039; permission.&lt;br /&gt;
*Fix: Fixed several off-by-1 errors involving random number generation, notably in MapGenerator and Server.GenerateSalt()&lt;br /&gt;
*Fix: Fixed potential crash in MapGenerator.SealLiquids&lt;br /&gt;
*Fix: Fixed a potential crash in Map.SaveBackup() if the map filename contained brackets.&lt;br /&gt;
*Fix: Fixed a forced disconnect when trying to feed /gen a theme or template with brackets in the name.&lt;br /&gt;
&lt;br /&gt;
===0.498===&lt;br /&gt;
&#039;&#039;4 November 2010 - r308&#039;&#039;&lt;br /&gt;
*Change: Disabled zlib support due to more potential memory leaks. fffuuuuu....&lt;br /&gt;
*Fix: Fixed Island, Bay, and Ice templates broken by the last patch.&lt;br /&gt;
*Fix: MapGeneratorArgs: snowTransition was interpreted as absolute (instead of relative) altitude, and marbledHeightmap incorrectly defaulted to &#039;true&#039;.&lt;br /&gt;
*Change: Updated readme and changelog.&lt;br /&gt;
&lt;br /&gt;
===0.497===&lt;br /&gt;
&#039;&#039;4 November 2010 - r306&#039;&#039;&lt;br /&gt;
*Feature: Added accurate progress reporting from MapGenerator. Coming soon: cancellation.&lt;br /&gt;
*Feature: New MapGenerator options: BeachHeight, CliffSmoothing, LandSlope, UnderwaterSlope, MaxHeightVariation, MaxDepthVariation.&lt;br /&gt;
*Feature: Added UI controls for snow/cliff/beach settings to AddWorldPopup.&lt;br /&gt;
*Feature: Added a list of popular IRC networks to ConfigTool.&lt;br /&gt;
*Change: Improved PlayerDB lookup performance by reducing locking.&lt;br /&gt;
*Fix: Fixed MapGenerator calculating slope incorrectly at the water boundary.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add Ore&amp;quot; requiring &amp;quot;Add Caves&amp;quot; in MapGenerator.&lt;br /&gt;
*Fix: Fixed water/lava caves not sealing liquids properly. &lt;br /&gt;
*Change: Set MapGenerator to default to 256x256x96&lt;br /&gt;
*Change: AddWorldPopup Generator tab layout overhaul&lt;br /&gt;
*Change: Organized MapGeneratorArgs and added serialization/deserialization for all the new options.&lt;br /&gt;
&lt;br /&gt;
===0.496===&lt;br /&gt;
&#039;&#039;3 November 2010 - r301&#039;&#039;&lt;br /&gt;
*Fix: Fixed File.Replace() failing if fCraft was set up on a partition/volume other than the one where temp folder is.&lt;br /&gt;
*Fix: Added missing tooltip for &amp;quot;Edit Greeting&amp;quot;&lt;br /&gt;
*Fix: Fixed /sinfo including hidden players in the player count.&lt;br /&gt;
&lt;br /&gt;
===0.495===&lt;br /&gt;
&#039;&#039;2 November 2010 - r300&#039;&#039;&lt;br /&gt;
*Feature: Added a way to edit the greeting message, by editing &amp;quot;greeting.txt&amp;quot;&lt;br /&gt;
*Feature: When a player gets banned, any previously-banned accounts from same IP are listed.&lt;br /&gt;
*Fix: Fixed renaming worlds from ConfigTool&#039;s &amp;quot;worlds&amp;quot; tab not always working.&lt;br /&gt;
*Fix: Fixed several filesystem-related errors on non-Windows systems by using Path.Combine() instead of string concatenation.&lt;br /&gt;
*Fix: Possible workaround for missing heartbeats.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;default build rank&amp;quot; controls in ConfigTools.&lt;br /&gt;
*Fix: Fixed overwrite confirmation popping up for /wload when loading map into an unloaded world with the same name.&lt;br /&gt;
*Fix: Fixed a case where Forester could get into an infinite loop when there&#039;s not enough room to place requested number of trees.&lt;br /&gt;
&lt;br /&gt;
===0.494===&lt;br /&gt;
&#039;&#039;31 October 2010 - r297&#039;&#039;&lt;br /&gt;
*Feature: New map generator features:&lt;br /&gt;
**Adjustable water level.&lt;br /&gt;
**Realistic trees (powered by Forester)&lt;br /&gt;
**Snow on mountaintops&lt;br /&gt;
**Realistic cliffs&lt;br /&gt;
**Beaches&lt;br /&gt;
**New template (peninsula) and theme (swamp).&lt;br /&gt;
**Option to delay heightmap bias until after marbling/inversion.&lt;br /&gt;
*Feature: Added a way to load .mine maps.&lt;br /&gt;
*Feature: Added confirmation for potentially destructive commands: /importranks, /importbans, /massrank, /wload overwrites, /gen overwrites, /wsave overwrites, /zremove.&lt;br /&gt;
*Feature: Added /staff chat and ReadStaffChat permission.&lt;br /&gt;
*Feature: Added wireframe cuboid (/cw)&lt;br /&gt;
*Feature: Added an optional second param for /ch (cuboid hollow) that specifies the blocktype of the &amp;quot;filling&amp;quot;.&lt;br /&gt;
*Feature: Added a way to specify default build permission for new worlds.&lt;br /&gt;
*Fix: Fixed /info, /baninfo, and /banip not handling players whose name contain only digits.&lt;br /&gt;
*Fix: Fixed DoChangeRank mixing up RankChangeType.&lt;br /&gt;
*Fix: Added missing fields to MapGeneratorArgs serializer.&lt;br /&gt;
*Fix: Fixed per-rank draw limits not being calculated correctly in some cases.&lt;br /&gt;
*Fix: Replaced File.Delete/File.Move calls with a more reliable File.Replace call. This should slightly improve reliability of map/playerdb.txt/ipbans.txt/worlds.xml saving.&lt;br /&gt;
*Fix: Fixed a little ConfigTool bug that did not properly reset PatrolledRank after a rank deletion.&lt;br /&gt;
*Fix: Fixed terminal colors not resetting in fCraftConsole after a fatal crash under Mono.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;Play&amp;quot; button in fCraftUI.&lt;br /&gt;
*Fix: Added some basic error reporting to fCraftWinService.&lt;br /&gt;
*Change: Tweaked AddWorldPopup layout to accommodate more options.&lt;br /&gt;
&lt;br /&gt;
===0.493===&lt;br /&gt;
&#039;&#039;27 October 2010 - r290&#039;&#039;&lt;br /&gt;
*Feature: /info now supports autocompletion, wildcards, and IP search.&lt;br /&gt;
*Feature: Experimental service wrapper for fCraft.&lt;br /&gt;
*Feature: Added more editable properties to /setinfo: RankChangeType, BanReason, UnbanReason, RankChangeReason, LastKickReason&lt;br /&gt;
*Feature: Various improvements to /info, including hide-aware &amp;quot;online&amp;quot; indicator.&lt;br /&gt;
*Feature: Made Player.NoAccessMessage() print the minimum required rank, instead of just permission name(s).&lt;br /&gt;
*Feature: Added wootalyzer&#039;s chunk rendering code to IsoCat.&lt;br /&gt;
*Fix: Fixed ConfigTool not taking advantage of ZLibStream &lt;br /&gt;
*Fix: Fixed a very improbable case of a thread getting spinlocked when calling IRC.Send() is preemptied, and if there are at least 2 IRC threads.&lt;br /&gt;
*Fix: Fixed kick packets occasionally not being delivered due to a missing Flush() - thanks to wootalyzer for catching.&lt;br /&gt;
*Fix: Excluded banned and inactive players from DumpStats&lt;br /&gt;
*Fix: Fixed PlayerDB.Save() not escaping LastKickReason &lt;br /&gt;
*Fix: Cleaned up extra messages sent by /unhide.&lt;br /&gt;
*Fix: Fixed LastSeen not updating on-login (only on-logout).&lt;br /&gt;
*Fix: Improved the way fCraft checks for ghost/leftover sessions. Thanks to wootalyzer.&lt;br /&gt;
*Fix: If a player&#039;s name starts with a number, and you try to /tp to a coordinate that starts with the same number, you are no longer teleported to that player instead.&lt;br /&gt;
*Fix: Fixed hidden players being detectable by checking LastSeen in /info.&lt;br /&gt;
*Fix: To avoid performance degradation, GC calls have been centralized, delayed, limited to 1/minute, and moved to the tasks thread.&lt;br /&gt;
*Fix: Added delay between recurring calls to PlayerDB.Save, AutoRankAll, and DoGC - to balance load.&lt;br /&gt;
*Fix: Fixed rankChangeType not being updated.&lt;br /&gt;
*Fix: Fixed some typos reported by tvc. &lt;br /&gt;
*Change: Added &amp;quot;/uf&amp;quot; as an alias for &amp;quot;/unfreeze&amp;quot;, by popular demand. &lt;br /&gt;
*Change: Modified PlayerDB not to use ReaderWriterLockSlim, to avoid Mono issues with recursion.&lt;br /&gt;
*Change: Renamed /editplayerinfo to /setinfo&lt;br /&gt;
*Change: Made enum values in AutoRank (CriterionType, ConditionField, ComparisonOperation, ConditionScopeType, RankChangeType) case-insensitive.&lt;br /&gt;
*Change: Added a reference to /baninfo in /info&lt;br /&gt;
*Change: Made DetectMovementPacketSpam warn players instead of kicking.&lt;br /&gt;
&lt;br /&gt;
===0.492===&lt;br /&gt;
&#039;&#039;19 October 2010 - r280&#039;&#039;&lt;br /&gt;
*Feature: Added EditPlayerDB permission. This permission affects the upcoming AutoRank commands, /editplayerinfo, and ability to promote/demote/ban unrecognized players.&lt;br /&gt;
*Feature: When you kick a player, you are now shown the number of kicks they already have.&lt;br /&gt;
*Feature: More stats are now logged! RankType, TimeSinceLastKick, LastSeen, BlocksDrawn, LastKickBy, LastKickReason.&lt;br /&gt;
*Feature: Added &amp;quot;MaxUndo&amp;quot; config key for changing the default undo limit of 2,000,000 blocks per player.&lt;br /&gt;
*Feature: /info command is augmented with new stats (if available).&lt;br /&gt;
*Fix: Fixed ellipsoid command calculating volume incorrectly for draw limit checks.&lt;br /&gt;
*Fix: Fixed overflowing color code in &amp;quot;Player logged in from an IP previously used by banned players&amp;quot; message.&lt;br /&gt;
*Fix: Fixed PM recipient&#039;s name not getting logged properly.&lt;br /&gt;
*Fix: Previously-unseen players no longer have their FirstLoginDate, LastLoginDate, or TimesVisited set.&lt;br /&gt;
*Fix: /importranks now works correctly on players who are online at the time of import.&lt;br /&gt;
*Change: Added block aliases by popular demand: &amp;quot;bedrock&amp;quot; as an alias for admincrete, &amp;quot;cotton&amp;quot; as alias for &amp;quot;white&amp;quot;, and &amp;quot;aire&amp;quot; as alias for &amp;quot;air&amp;quot;&lt;br /&gt;
*Change: PlayerDB.txt format changes:&lt;br /&gt;
**MaxFieldCount raised to 36&lt;br /&gt;
**New fields added: UID (Int32), RankChangeType (enum, serialized as Int32), LastKickDate (DateTime), LastSeen (DateTime), BlocksDrawn (Int64), LastKickBy (string), LastKickReason (string).&lt;br /&gt;
**RankChangeBy, BannedBy, UnbannedBy, BanReason, UnbanReason, and RankChangeReason now default to empty string instead of &amp;quot;-&amp;quot; or null.&lt;br /&gt;
**If LastIP==IPAddress.None, empty string is saved instead of &amp;quot;255.255.255.255&amp;quot;.&lt;br /&gt;
**DateTime and TimeSpan format shortened to exclude microseconds. See PlayerDB.ToCompactString() for details.&lt;br /&gt;
*Change: AutoRank improvements (disabled in stable builds):&lt;br /&gt;
**Added /editplayerinfo command for easy editing of PlayerDB.&lt;br /&gt;
**Made AutoRank check players in-login (to accelerate promotion).&lt;br /&gt;
**AutoRank now runs on a scheduler.&lt;br /&gt;
**Fixed ConditionPreviousRank crash for played with default rank.&lt;br /&gt;
**Fixed banned players getting promoted by AutoRank.&lt;br /&gt;
**Fixed several serialization/loading issues in AutoRank.&lt;br /&gt;
**New fields added to ConditionIntRange: LastSeen, BlocksDrawn, TimeSinceRankChange, TimeSinceLastKick&lt;br /&gt;
**ConditionRankStatus renamed to ConditionRankChangeType&lt;br /&gt;
&lt;br /&gt;
===0.491===&lt;br /&gt;
&#039;&#039;17 October 2010 - r274&#039;&#039;&lt;br /&gt;
*Feature: Added ability to run multiple parallel IRC bots, to help high-traffic servers deal with IRC lag. This also makes it possible to connect to multiple networks in the future.&lt;br /&gt;
*Feature: Added new block aliases, by popular demand: &amp;quot;emerald&amp;quot;=teal, &amp;quot;fuchsia&amp;quot;=magenta, &amp;quot;cloth&amp;quot;=white, &amp;quot;lightgray&amp;quot;=gray, &amp;quot;lightgrey&amp;quot;=gray, &amp;quot;darkgray&amp;quot;=black, &amp;quot;darkgrey&amp;quot;=black, &amp;quot;brass&amp;quot;=gold&lt;br /&gt;
*Fix: Temporarily disabled 64-bit zlib support while I track down memory leaks. Should fix OutOfMemoryException, I&#039;m very sorry about overlooking that.&lt;br /&gt;
*Fix: Fixed a bug in /info that displayed incorrect &amp;quot;total time on server&amp;quot;.&lt;br /&gt;
*Fix: Per-rank permission checks for /freeze now apply as intended&lt;br /&gt;
*Fix: Fixed several improbable (but not impossible) threading deadlocks/crashes. Thanks to wootalyzer for catching these.&lt;br /&gt;
*Change: Added IRCThreads config key (default: 1, allowed range: 1-3)&lt;br /&gt;
&lt;br /&gt;
===0.490===&lt;br /&gt;
&#039;&#039;14 October 2010 - r264&#039;&#039;&lt;br /&gt;
*Feature: Testing a new map compressor/decompressor: ZLibStream. It should provide 50-200% speed increase, smaller map sizes, lower bandwidth use, and faster map loading.&lt;br /&gt;
*Fix: Fixed /shutdown not waiting the right amount and mixing up seconds/milliseconds.&lt;br /&gt;
*Fix: Fixed &amp;quot;No world found with the name...&amp;quot; showing player&#039;s own name.&lt;br /&gt;
*Fix: Added a fail-safe exception handler to Player.WaitForKick() - a temporary fix.&lt;br /&gt;
*Change: Previous verification salt is now stored, to allow players to validate even right after the server restarts.&lt;br /&gt;
*Change: Restructured SVN. Stable code is now always in /trunk/&lt;br /&gt;
&lt;br /&gt;
===0.487===&lt;br /&gt;
&#039;&#039;12 October 2010 - r255&#039;&#039;&lt;br /&gt;
*Feature: Added contextual help (tooltips) for all of ConfigTool. Help for &amp;quot;Add World&amp;quot; popup is coming in next version.&lt;br /&gt;
*Feature: Added rank limits for Freeze permission&lt;br /&gt;
*Fix: Fixed /mute being unusable from console.&lt;br /&gt;
*Change: Removed ViewOthersInfo requirement from /sinfo&lt;br /&gt;
*Change: Added ViewOthersInfo requirement to /where&lt;br /&gt;
*Change: Improvements to IRC tab layout in ConfigTool.&lt;br /&gt;
&lt;br /&gt;
===0.486===&lt;br /&gt;
&#039;&#039;11 October 2010 - r250&#039;&#039;&lt;br /&gt;
*Quick fix for IRC Bot bug that made server unconnectable.&lt;br /&gt;
&lt;br /&gt;
===0.485===&lt;br /&gt;
&#039;&#039;11 October 2010 - r249&#039;&#039;&lt;br /&gt;
*Feature: Added optional &amp;quot;delay&amp;quot; parameter to /shutdown (default: 5)&lt;br /&gt;
*Feature: World names can now be autocompleted for many commands (like /join and /lock)&lt;br /&gt;
*Fix: Fixed /unhide failing to reveal the player in certain situations.&lt;br /&gt;
*Fix: Fixed /setspawn being usable on players from other worlds.&lt;br /&gt;
*Fix: Fixed player names appearing white for all players.&lt;br /&gt;
*Fix: Fixed a recursion loop in NoWorldMessage()&lt;br /&gt;
*Fix: Fixed help entries for /setspawn and /shutdown&lt;br /&gt;
*Fix: Fixed potential crash in Server.Shutdown() if called after failed initialization/startup.&lt;br /&gt;
*Fix: Fixed potential deadlock/freeze in fCraftUI on shutdown.&lt;br /&gt;
*Change: Improved crash reporting for TargetInvokationException and TypeInitializerException errors.&lt;br /&gt;
*Change: All assemblies are now once again x86/x86_64/IA64 compatible.&lt;br /&gt;
*Change: Server.OnPlayerConnected event now supports cancellation.&lt;br /&gt;
&lt;br /&gt;
===0.484===&lt;br /&gt;
&#039;&#039;10 October 2010 - r245&#039;&#039;&lt;br /&gt;
*Feature: Added a way for IRC bot to use registered nicknames.&lt;br /&gt;
*Feature: /banall-related kicks are now announced in chat.&lt;br /&gt;
*Feature: /setspawn now actually changes player&#039;s spawn. Also, an optional PlayerName param allows temporarily changing other players&#039; spawn point.&lt;br /&gt;
*Feature: Several improvements to /info. Info now shows whether player&#039;s nick or IP was banned, and hides undefined information for players who haven&#039;t ever logged in.&lt;br /&gt;
*Fix: Fixed crash in ConfigTool if announcements were disabled.&lt;br /&gt;
*Fix: Fixed /banall not matching IPs properly, and not counting kicks towards PlayerInfo.&lt;br /&gt;
*Fix: Fixed ConfigUI not shutting down properly if Server.Init() or Server.Start() failed.&lt;br /&gt;
*Fix: Fixed Config.LoadLogOptions() always leaving Debug enabled.&lt;br /&gt;
*Fix: Added Process.GetCurrentProcess().Refresh() to ServerInfo to improve accuracy of /sinfo stat reporting.&lt;br /&gt;
*Fix: Improved /wsave and /wload path handling on non-Windows platforms.&lt;br /&gt;
*Fix: Replaced some potentially unsafe string concatenation in Player.Message() with proper formatting.&lt;br /&gt;
*Fix: Attempting a workaround for Mono memory leak in World.UnloadMap&lt;br /&gt;
*Fix: Fixed ranks from pre-0.480 configs being loaded in wrong order. Sorry!&lt;br /&gt;
*Change: Added a brief delay before reconnecting IRC bot after getting kicked from a channel. &lt;br /&gt;
*Change: PlayerDB is now saved every 60 seconds (instead of every 30).&lt;br /&gt;
*Change: Removed unused IRCBotQuitMsg config key, and added IRCRegisteredNick, IRCNickServ, and IRCNickServMessage keys.&lt;br /&gt;
*Change: Added a popup with crash information to ConfigTool.&lt;br /&gt;
*Change: Made announcements disabled by default.&lt;br /&gt;
&lt;br /&gt;
===0.483===&lt;br /&gt;
&#039;&#039;8 October 2010 - r242&#039;&#039;&lt;br /&gt;
*Feature: Myne/MyneCraft/Hyvebuild/iCraft maps can now be loaded from ConfigTool&#039;s &amp;quot;Add World&amp;quot; dialog.&lt;br /&gt;
*Fix: Fixed incorrect range checks for AnnouncementInterval and SaveInterval config keys (thanks to Shcaap for reporting).&lt;br /&gt;
*Fix: Fixed /hide showing a slightly different &amp;quot;player left&amp;quot; message compared to normal disconnect (thanks to Silverrock for reporting).&lt;br /&gt;
*Change: Added MC#-style &amp;quot;/z&amp;quot; alias for cuboid, by popular demand.&lt;br /&gt;
*Change: Hidden players can now receive PMs. The sender still gets the &amp;quot;No player found&amp;quot; message, but PMs are actually sent.&lt;br /&gt;
&lt;br /&gt;
===0.482===&lt;br /&gt;
&#039;&#039;7 October 2010 - r241&#039;&#039;&lt;br /&gt;
*Feature: Added new command aliases: &amp;quot;f&amp;quot; for &amp;quot;freeze&amp;quot;, and &amp;quot;pat&amp;quot; for &amp;quot;patrol&amp;quot;.&lt;br /&gt;
*Fix: Fixed typos in mute-related messages.&lt;br /&gt;
*Fix: Added missing triggers for OnPlayerListChanged event.&lt;br /&gt;
*Fix: Fixed /reloadconfig not changing several variables (like colors).&lt;br /&gt;
*Fix: Fixed antigrief defaulting to 35/5 (instead of unmetered).&lt;br /&gt;
*Fix: Fixed heartbeat counting hidden players.&lt;br /&gt;
*Fix: Fixed a rare ObjectDisposedException crash on shutdown when running fCraftUI.&lt;br /&gt;
*Change: Added a more informative disconnect message to players connecting with Alpha client.&lt;br /&gt;
*Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.&lt;br /&gt;
*Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.&lt;br /&gt;
&lt;br /&gt;
===0.481===&lt;br /&gt;
&#039;&#039;2 October 2010 - r237&#039;&#039;&lt;br /&gt;
*Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).&lt;br /&gt;
*Fixed a few more references to &amp;quot;player class&amp;quot; terminology instead of &amp;quot;rank&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.480===&lt;br /&gt;
&#039;&#039;2 October 2010 - r236&#039;&#039;&lt;br /&gt;
*Feature: Changed all &amp;quot;player classes&amp;quot; terminology to &amp;quot;ranks&amp;quot; for consistency with other servers. Several commands have been renamed to reflect that: /classes to /ranks, /user to /rank, /class to /rankinfo. All rank-related messages have also been updated.&lt;br /&gt;
*Feature: Added &amp;quot;Raise&amp;quot;/&amp;quot;Lower&amp;quot; buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a &amp;quot;rank&amp;quot; number to reorder ranks.&lt;br /&gt;
*Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.&lt;br /&gt;
*Fix: Improved fCraftUI responsiveness on-startup.&lt;br /&gt;
*Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.&lt;br /&gt;
*Fix: /wremove now always saves the map before unloading.&lt;br /&gt;
*Fix: Fixed Console being affected by chat spam/flood checks.&lt;br /&gt;
*Fix: Fixed /zinfo not showing any separators between player names.&lt;br /&gt;
*Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.&lt;br /&gt;
*Fix: Fixed Security and IRC tabs not being reset by &amp;quot;Reset All Defaults&amp;quot;&lt;br /&gt;
*Fix: Fixed bugged error messages in /tp and /bring when world access permission check fails.&lt;br /&gt;
*Fix: If any class limits were set to default/&amp;quot;(own class)&amp;quot;, the setting is now preserved.&lt;br /&gt;
*Fix: Fixed a bug that didn&#039;t reset Hide limit if it was set to a deleted rank.&lt;br /&gt;
*Change: Removed legacy zone loading code for pre-0.420 maps (due to changes in rank definition format).&lt;br /&gt;
*Change: Added a more informative disconnect message for players trying to connect with Minecraft Alpha clients.&lt;br /&gt;
*Change: Improved rank-based coloring in world list to check both access and build permissions.&lt;br /&gt;
*Change: Added &amp;quot;/fetch&amp;quot; as alias for /bring, and renamed &amp;quot;/save&amp;quot; to &amp;quot;/wsave&amp;quot;.&lt;br /&gt;
*Change: Deleted some obsolete/disabled controls from ConfigTool, removed PingInterval config key, and removed placeholder ControlPhysics and AddLandmarks permissions.&lt;br /&gt;
*Change: Made several changes to improve disconnect detection:&lt;br /&gt;
**Added occasional pings (every 5 seconds or so, depending on activity/inactivity).&lt;br /&gt;
**Reduced socket send/receive timeout from 12 to 10 seconds.&lt;br /&gt;
**Increased socket polling interval to improve performance.&lt;br /&gt;
*Change: If a player tries to connect to a server twice, the FIRST connection is dropped instead of the LAST connection.&lt;br /&gt;
*Refactor: Major changes were made to the way ranks are stored, and to RankList (formerly ClassList) API.&lt;br /&gt;
*Optimization: Made IsoCat rendering faster, and made draw commands use less CPU.&lt;br /&gt;
&lt;br /&gt;
===0.475===&lt;br /&gt;
&#039;&#039;17 September 2010 - r229&#039;&#039;&lt;br /&gt;
*Feature: /ztest now distinguishes between being allowed/denied by rank/class vs by whitelist/blacklist.&lt;br /&gt;
*Fix: Fixed being unable to change rank/class restrictions with /zedit&lt;br /&gt;
*Fix: Fixed a bug that reported wrong average CPU usage&lt;br /&gt;
*Fix: Fixed a crash on saving in ConfigTool, related to new PatrolledClass config key.&lt;br /&gt;
&lt;br /&gt;
===0.474===&lt;br /&gt;
&#039;&#039;16 September 2010 - r228&#039;&#039;&lt;br /&gt;
*Feature: &amp;quot;/mute&amp;quot; command to temporarily stop players from chatting. A new class permission (Mute) is added, granted to op+ by default.&lt;br /&gt;
*Feature: &amp;quot;/shutdown&amp;quot; command to gracefully shutdown the server remotely. A new class permission (ShutdownServer) is added, granted to owner by default.&lt;br /&gt;
*Feature: Added CPU usage information and loaded world count to /sinfo.&lt;br /&gt;
*Fix: Added a way to edit &amp;quot;PatrolledClass&amp;quot; from ConfigTool.&lt;br /&gt;
*Fix: Fixed zone whitelist/blacklist not updated correctly when edited.&lt;br /&gt;
*Fix: Made teleporting to spawn (with /spawn or /tp, no parameters) accessible to all classes.&lt;br /&gt;
*Fix: Adjusted for Notch&#039;s errors in handling player positions in teleport packets. Slightly improves accuracy of /tp, /bring, initial spawning, /patrol, frozen players, and speedhack detection.&lt;br /&gt;
*Fix: Removed &amp;quot;/tp&amp;quot; bounds check when used with typed-in coordinates numbers.&lt;br /&gt;
*Fix: Fixed an extremely unlikely case of PlayerDB/IPBanList overwriting on shutdown if server initialization failed.&lt;br /&gt;
*Fix: Made &amp;quot;server shutting down&amp;quot; packets deliver more reliably (but still not guaranteed).&lt;br /&gt;
*Fix: Fixed Console possibly not seeing hidden players.&lt;br /&gt;
*Change: Added a basic file check to AutoLauncher&lt;br /&gt;
*Change: Added error logging and crash reporting to Server.Shutdown&lt;br /&gt;
*API: Renamed Server.ShutdownStart to Server.ShutdownBegin (for consistency).&lt;br /&gt;
&lt;br /&gt;
===0.473===&lt;br /&gt;
&#039;&#039;15 September 2010 - r227&#039;&#039;&lt;br /&gt;
*Feature: Added zone coordinates to /zinfo&lt;br /&gt;
*Fix: Fixed cross-world /tp teleporting the wrong player.&lt;br /&gt;
*Fix: Fixed odd date formatting in /zinfo&lt;br /&gt;
&lt;br /&gt;
===0.472===&lt;br /&gt;
&#039;&#039;15 September 2010 - r226&#039;&#039;&lt;br /&gt;
*Feature: Added /cut command&lt;br /&gt;
*Feature: Added a new /patrol command. It allows cycling through low-ranked players on a map (with teleportation). The order is determined by how long it&#039;s been since someone checked on a player. A &amp;quot;Patrol&amp;quot; permission and &amp;quot;PatrolledClass&amp;quot; config key were added.&lt;br /&gt;
*Feature: Added a shorthand notation to /zone for making personal zones: &amp;quot;/zone +PlayerName&amp;quot; creates a zone named after the player, with rank limit just above player&#039;s, and with player whitelisted.&lt;br /&gt;
*Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.&lt;br /&gt;
*Fix: Fixed server always binding to IPAddress.Any regardless of config settings.&lt;br /&gt;
*Fix: TP/Bring no longer allow teleporting to hidden players on other worlds.&lt;br /&gt;
*Fix: Server.GetPlayerList(string) now stops searching the list when it finds an exact match.&lt;br /&gt;
*Fix: Fixed client-crash in /zedit when changing class.&lt;br /&gt;
*Fix: Fixed possible corruption of edited zones upon map saving.&lt;br /&gt;
*Fix: Fixed a range of improbable synchronization issues in the way Zone whitelist/blacklist is updated. As a fortunate side-effect, significantly reduced Zone.CanBuild() overhead.&lt;br /&gt;
*Fix: Temporarily added mainThread.Abort() to Server.Shutdown() that&#039;s kicked in if mainThread does not stop within 5s of being notified of shutdown. I am investigating the real cause of the hang.&lt;br /&gt;
*Fix: Fixed hidden players being revealed by promotion/demotion.&lt;br /&gt;
*Change: Added less threatening error messages to IRC bot on network errors (SocketException and IOException).&lt;br /&gt;
*Change: Disabled movement handling code while changing maps.&lt;br /&gt;
*Refactor: Merged StandardCommands and ImportCommands into AdminCommands&lt;br /&gt;
&lt;br /&gt;
===0.471===&lt;br /&gt;
&#039;&#039;14 September 2010 - r224&#039;&#039;&lt;br /&gt;
*Feature: Added ability to specify the server&#039;s IP (to bind to) manually, for machines with multiple NICs. A new config key &amp;quot;IP&amp;quot; (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.&lt;br /&gt;
*Fix: Fixed a bug with player ghosts being left behind when switching worlds.&lt;br /&gt;
*Fix: Fixed a case with kicked players&#039; connections not being terminated at once (thanks to wootalyzer).&lt;br /&gt;
*Fix: Fixed several bugs in hide/unhide functionality.&lt;br /&gt;
*Fix: Fixed a rare crash in AddWorldPopup related to missing maps for existing worlds.&lt;br /&gt;
*Fix: AddWorldPopup will no longer allow adding a world with a duplicate name.&lt;br /&gt;
*Fix: Capped maximum players at the newly-discovered protocol limit of 128 (thanks to wootalyzer).&lt;br /&gt;
*Change: ConfigTool fields now provide better feedback if validation fails.&lt;br /&gt;
*Change: Changed heartbeat interval to 40 seconds (down from 50).&lt;br /&gt;
*Change: Added a special error handler for rare/impossible case of mainWorld not being joinable.&lt;br /&gt;
*Change: Made fatal error messages in fCraftConsole print in red. Better color support coming soon.&lt;br /&gt;
&lt;br /&gt;
===0.470===&lt;br /&gt;
&#039;&#039;13 September 2010 - r223&#039;&#039;&lt;br /&gt;
*Feature: Personal zones - per-zone whitelist and blacklist of individual players. The lists can now be defined with /zadd and edited with /zedit.&lt;br /&gt;
*Feature: Added cave/ore generator from Omen (BETA).&lt;br /&gt;
*Feature: Added &amp;quot;/maps&amp;quot; and &amp;quot;/levels&amp;quot; as aliases for &amp;quot;/worlds&amp;quot;.&lt;br /&gt;
*Feature: Added a way to limit the &amp;quot;Hide&amp;quot; permission per-class. Now you can specify whom can a class hide from.&lt;br /&gt;
*Feature: Zones now remember date/time of creation and last edit, and names of original creator and last editor.&lt;br /&gt;
*Fix: Unauthorized players can no longer PM or use bring/freeze/unfreeze/kick/tp/where on hidden players. They get the standard &amp;quot;player not found&amp;quot; message.&lt;br /&gt;
*Fix: Fixed hidden players being counter towards /players total.&lt;br /&gt;
*Fix: Fixed a potential crash in /wflush when using on unloaded maps.&lt;br /&gt;
*Fix: Doing /banip or /banall on unrecognized players no longer ip-bans 255.255.255.255. Old IPBanList entries relating to 255.255.255.255 will be automatically discarded.&lt;br /&gt;
*Fix: Fixed /replace command uses not being logged.&lt;br /&gt;
*Fix: Fixed /worlds command not showing world count.&lt;br /&gt;
*Fix: Fixed a client-disconnect when trying to unban a player who is not in the database.&lt;br /&gt;
*Fix: Fixed &amp;quot;/join PlayerName&amp;quot; not translating to &amp;quot;/tp PlayerName&amp;quot; correctly.&lt;br /&gt;
*Fix: Fixed a very unlikely client-disconnect in ChangeClass if the entered class name contains curved braces.&lt;br /&gt;
*Change: Changed default name for &amp;quot;/flip&amp;quot; command to &amp;quot;/mirror&amp;quot;, and fixed command&#039;s help. Either term still works.&lt;br /&gt;
*Change: Added more block name aliases:&lt;br /&gt;
**Air: delete, erase&lt;br /&gt;
**Stone: cement, concrete&lt;br /&gt;
**Grass: gras (common typo)&lt;br /&gt;
**Obsidian: onyx&lt;br /&gt;
*Change: Improved formatting of /players, /worlds, and draw command messages.&lt;br /&gt;
&lt;br /&gt;
===0.463===&lt;br /&gt;
&#039;&#039;9 September 2010 - r218&#039;&#039;&lt;br /&gt;
*Fix: Fixed special colors showing up even if ClassColorsInChat is disabled.&lt;br /&gt;
*Fix: Fixed potential client-crash in World.SendToAll(), and related client-crash in lock/unlock.&lt;br /&gt;
&lt;br /&gt;
===0.462===&lt;br /&gt;
&#039;&#039;8 September 2010 - r217&#039;&#039;&lt;br /&gt;
*Fix: The &amp;quot;OK&amp;quot; button in AddWorldPopup no longer stays grayed out.&lt;br /&gt;
*Fix: Fixed &amp;quot;Error occured while loading&amp;quot; in the file information dialog for non-FCM files.&lt;br /&gt;
*Fix: Fixed a crash in /bring when used without any parameters.&lt;br /&gt;
*Fix: Fixed Server.UrlEncode not escaping 0x00-0x0F characters properly.&lt;br /&gt;
*Change: Slightly reduced default tree density in MapGenerator.&lt;br /&gt;
&lt;br /&gt;
===0.461===&lt;br /&gt;
&#039;&#039;8 September 2010 - r216&#039;&#039;&lt;br /&gt;
*Feature: New EXPERIMENTAL &amp;quot;/reloadconfig&amp;quot; command, and associated ReloadConfig permission. Use with caution!&lt;br /&gt;
*Fix: Fixed a case where AddWorldPopup would allow clicking &amp;quot;OK&amp;quot; with a null map.&lt;br /&gt;
*Fix: Fixed player crash if /freeze or /unfreeze is used without arguments.&lt;br /&gt;
*Fix: Fixed player crash on FormatException in /zones and Server.ShowPlayerConnectedMessage.&lt;br /&gt;
*Fix: Fixed potential player crash if LimitOneConnectionPerIP is enabled.&lt;br /&gt;
&lt;br /&gt;
===0.460===&lt;br /&gt;
&#039;&#039;8 September 2010 - r214&#039;&#039;&lt;br /&gt;
*Feature: Added ShowPlayerConnectedMessage and ClassColorsInWorldNames settings to config.&lt;br /&gt;
*Feature: Added /measure command.&lt;br /&gt;
*Feature: Class colors and prefixes are now applied consistently EVERYWHERE.&lt;br /&gt;
*Feature: Banned players now see their ban reason/memo when they get kicked.&lt;br /&gt;
*Feature: A special error message is shown to players trying to connect with Alpha/SMP client.&lt;br /&gt;
*Feature: IsoCat (ConfigTool isometric preview) rendering quality improved: better shadows and slight altitude-based gradient.&lt;br /&gt;
*Feature: Added new blocktype name aliases: &amp;quot;solid&amp;quot;, &amp;quot;golden&amp;quot;, &amp;quot;halfstep&amp;quot;, &amp;quot;halfblock&amp;quot;, &amp;quot;steps&amp;quot;.&lt;br /&gt;
*Feature: Added player count for each class in /classes&lt;br /&gt;
*Fix: Fixed wrong &amp;quot;MaxBackupsSize&amp;quot; range in ConfigTool.&lt;br /&gt;
*Fix: MaxBackupsSize setting is now applied correctly.&lt;br /&gt;
*Fix: IRC color codes are now stripped from forwarded messages.&lt;br /&gt;
*Fix: IRC bot now uses ServerName for &amp;quot;real name&amp;quot;.&lt;br /&gt;
*Fix: Formatting improved in many error messages.&lt;br /&gt;
*Fix: Commas in ban/unban/promote/demote reasons no longer cause problems with PlayerDB.&lt;br /&gt;
*Fix: Removed extra comma from /worlds list that showed in place of hidden/inaccessible worlds.&lt;br /&gt;
*Change: Added 5-second delay between retries in AutoLauncher&lt;br /&gt;
*Change: &amp;quot;Player connected&amp;quot; message condensed to a single line by absorbing &amp;quot;joined world&amp;quot; message.&lt;br /&gt;
*Change: Removed ChangeName permission (and the ability to change names) due to possibility of abuse and confusion. Related /nick and /whois commands were also removed.&lt;br /&gt;
*Change: /tp can now fall back to behave like /join if player name is not found (for all those times when you mistype /tp instead of /join). Conversely, /join falls back to /tp if player was not found.&lt;br /&gt;
*Optimization: Reduced bandwidth use with an adaptive movement packet skipping algorithm. Should reduced outbound traffic by at least 15%.&lt;br /&gt;
*Optimization: BlockUpdate memory usage slightly reduced.&lt;br /&gt;
&lt;br /&gt;
===0.455===&lt;br /&gt;
&#039;&#039;8 September 2010 - r213&#039;&#039;&lt;br /&gt;
*Feature: AutoLauncher (BETA) allows restarting the fCraftConsole server if it crashed. Although it honestly shouldn&#039;t crash at all!&lt;br /&gt;
*Fix: Allowed renaming worlds in cases where only capitalization is different.&lt;br /&gt;
*Fix: If an ip-banned player has more than one connection, all connections are now terminated.&lt;br /&gt;
*Fix: Fixed nonrectangular MCSharp maps getting messed up by the loader.&lt;br /&gt;
*Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.&lt;br /&gt;
*Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of &amp;quot;no player found&amp;quot; message). Affects PMs, {{cmd|TP}}, {{cmd|Bring}}, {{cmd|Freeze}}, {{cmd|Unfreeze}}, {{cmd|Kick}}.&lt;br /&gt;
*Change: Improved OS detection in crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.454===&lt;br /&gt;
*Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.&lt;br /&gt;
*Fix: Replace no longer behaves same as replacenot.&lt;br /&gt;
*Fix: Spaces in IRC messages are now preserved.&lt;br /&gt;
*Fix: Help entries for paste/pastenot corrected.&lt;br /&gt;
*Fix: /cinfo (without parameters) now shows player&#039;s own class info.&lt;br /&gt;
&lt;br /&gt;
===0.453===&lt;br /&gt;
*Feature: It is now possible to reverse last /undo (by typing /undo again).&lt;br /&gt;
*Change: IRC message colors are applied slightly differently now.&lt;br /&gt;
*Change: Added more automated crash reporting hooks - to MainLoop and Tasks.&lt;br /&gt;
*Change: More help messages improved.&lt;br /&gt;
*Change: Added a more informative message for people running outdated versions of Mono and .Net runtime.&lt;br /&gt;
*Optimization: Slightly reduced memory usage of /undo, /paste, and PlayerDB.Load()&lt;br /&gt;
&lt;br /&gt;
===0.452===&lt;br /&gt;
*Feature: New /replacenot command allows replacing all blocks EXCEPT the specified one.&lt;br /&gt;
*Feature: New /flip and /rotate commands to manipulate copied blocks.&lt;br /&gt;
*Feature: /players list is now in alphabetical order.&lt;br /&gt;
*Fix: Trying to specify an unrecognized block type for draw commands (e.g. &amp;quot;/c ai&amp;quot; instead of &amp;quot;/c air&amp;quot;) now shows a proper error message.&lt;br /&gt;
*Fix: Fixed /gen command crashing players if coordinates are typed in before theme/template.&lt;br /&gt;
*Fix: Fixed /e ellipsoids coming out crooked.&lt;br /&gt;
*Fix: &amp;quot;joined for the first time&amp;quot; messages are now shown correctly.&lt;br /&gt;
*Fix: Fixed /replace not working correctly with /undo&lt;br /&gt;
*Fix: Made IRC bot strip nonprintable characters from messages, and ignore empty messages.&lt;br /&gt;
*Fix: World permissions are no longer reset when doing /wload. Also a permission reminder is now shown when creating new worlds.&lt;br /&gt;
*Change: Improved some help messages.&lt;br /&gt;
*Change: Improved IRC error reporting.&lt;br /&gt;
*Change: Added world name back to &amp;quot;Almost there...&amp;quot; join screen.&lt;br /&gt;
*Change: /pasteonly is now called /paste, and /paste is now called /pastenot (for consistency with other custom servers)&lt;br /&gt;
*Optimization: Slightly reduced memory usage of massive drawing commands (over undo limit).&lt;br /&gt;
&lt;br /&gt;
===0.451===&lt;br /&gt;
*Feature: Improved the way fCraft handles fatal errors (crashes). Crash logs are now created more reliably.&lt;br /&gt;
*Feature: Added automated crash reporting to fragmer.net (opt-out).&lt;br /&gt;
*Feature: Added an announcement for players logging in from IPs associated with other previously-banned players.&lt;br /&gt;
*Fix: Curved braces - &amp;quot;{}&amp;quot; - in server name no longer cause problems.&lt;br /&gt;
*Fix: &amp;quot;Leaving the map&amp;quot; kick disabled temporarily, will be made configurable per-class soon.&lt;br /&gt;
*Fix: banall/unbanall commands produce less chat spam.&lt;br /&gt;
*Fix: AFK kicks no longer count towards /info number-of-times-kicked.&lt;br /&gt;
*Change: Added class colors to /info, and fixed formatting bug.&lt;br /&gt;
*Change: Cleaned up &amp;quot;Advanced&amp;quot; tab in ConfigTool.&lt;br /&gt;
**Removed obsolete config keys: PolicyColorCodesInChat, PolicyIllegalCharacters, and RunOnStartup&lt;br /&gt;
**Added SubmitCrashReports and IRCDelay config keys.&lt;br /&gt;
&lt;br /&gt;
===0.450===&lt;br /&gt;
&#039;&#039;26 August 2010&#039;&#039;&lt;br /&gt;
*Feature: IRC bot rewritten for better performance, flexibility, and safety.&lt;br /&gt;
*Feature: New IRC options: IRCBotAnnounceIRCJoins and IRCBotAnnounceServerJoins.&lt;br /&gt;
*Fix: Fixed messages containing only a single slash (&#039;/&#039;) crashing client thread.&lt;br /&gt;
*Change: Removed obsolete IRCBotMsgs config key.&lt;br /&gt;
*Change: Added OnPlayerSentMessage event to Server.&lt;br /&gt;
*Change: IRC bot&#039;s commands (e.g. !status) are temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
===0.445===&lt;br /&gt;
&#039;&#039;25 August 2010&#039;&#039;&lt;br /&gt;
*IMPORTANT! Please update ASAP, a security issue was identified in previous version.&lt;br /&gt;
*Fix: If you need to start message with a slash, you can now escape the slash (type &amp;quot;//&amp;quot;)&lt;br /&gt;
*Fix: Fixed endless update loop (if automatic updates were enabled)&lt;br /&gt;
*Fix: Private messages with a space between &#039;@&#039; and the player name now work.&lt;br /&gt;
*Fix: Hacking-related kicks are not announced globally.&lt;br /&gt;
*Fix: Fixed &amp;quot;/help&amp;quot; giving wrong message if help entry was not found.&lt;br /&gt;
*Change: Minor changes in MapGenerator/Noise&lt;br /&gt;
&lt;br /&gt;
===0.444===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*Feature: New stat command, /sinfo (server info).&lt;br /&gt;
*Fix: Ban reason/memo now shown for normal bans.&lt;br /&gt;
*Fix: /cinfo for unlimited classes no longer shows &amp;quot;draw limit: 0&amp;quot;&lt;br /&gt;
*Fix: Fixed IRC message colors, and removed IRC color codes from log.&lt;br /&gt;
&lt;br /&gt;
===0.443===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New {{cmd|WFlush}} command. It allows finishing all in-progress draw commands at maximum speed (over 100k blocks/second) then forces a map rejoin.&lt;br /&gt;
*Feature: Added more customization options for colors: PrivateMessageColor and IRCMessageColor in Config.&lt;br /&gt;
*Feature: {{cmd|Players}} list is now sorted alphabetically.&lt;br /&gt;
*Feature: Added &amp;quot;Check Port&amp;quot; button to ConfigTool to see if port is open. Uses www.utorrent.com/testport&lt;br /&gt;
*Feature: Added &amp;quot;Play&amp;quot; button to fCraftUI to open server URL in the browser&lt;br /&gt;
*Feature: World names in {{cmd|Worlds}} list are now colored according to each world&#039;s build permission. &lt;br /&gt;
*Feature: Added speedhack detection &amp;amp; prevention (BETA) and corresponding Permission.UseSpeedHack. All your classes will be granted this permission by default. Edit the config to customize it.&lt;br /&gt;
*Fix: When using {{cmd|Mark}} outside of map boundaries, draw limits are no longer calculated incorrectly (thanks to Darnest).&lt;br /&gt;
*Fix: Fixed possible crash in Map.CheckZones() on maps created with {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed compilation issue with &amp;quot;tileset.png&amp;quot; on case-sensitive filesystems.&lt;br /&gt;
*Fix: Fixed class-wide messages not wrapping correctly.&lt;br /&gt;
*Optimization: antigrief and antispam checking overhead reduced.&lt;br /&gt;
&lt;br /&gt;
===0.442===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Fix: Addresses a security issue.&lt;br /&gt;
*Fix: &amp;quot;OK&amp;quot; button in AddWorldPopup is now always disabled if no map is set.&lt;br /&gt;
*Fix: &amp;quot;Feature size&amp;quot; label is now updater correctly when map dimensions are changed.&lt;br /&gt;
*Fix: Added missing player notifications for {{cmd|Undo}} and {{cmd|Cancel}} commands.&lt;br /&gt;
*Change: MapGenerator&#039;s default map size changed to 128x128x80&lt;br /&gt;
&lt;br /&gt;
===0.441===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added cuboid limits to /cinfo&lt;br /&gt;
*Fix: Fixed a bug in BoundingBox that made /paste and zones behave incorrectly&lt;br /&gt;
*Fix: Fixed ban/unban commands not kicking the player if entered name capitalization did not match actual capitalization&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; being broken when using {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed {{cmd|Ban}} rank checks affecting {{cmd|Unban}}&lt;br /&gt;
*Change: Optimized zone permission checks&lt;br /&gt;
&lt;br /&gt;
===0.440===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New MapGenerator with tons of options. You can also save/load custom templates for it.&lt;br /&gt;
*FEATURE: AddWorldPopup interface overhaul.&lt;br /&gt;
*FEATURE: JTE, D3, and Myne/Mynecraft/Hyvebuild/iCraft map format converters added.&lt;br /&gt;
*Feature: Improved syntax of the {{cmd|Gen}} command. See &amp;quot;/help gen&amp;quot; for details.&lt;br /&gt;
*Feature: Reason/memo is now shown publicly when someone gets banned, unbanned, or kicked.&lt;br /&gt;
*Feature: Teleport and Bring work across worlds - world permissions still apply.&lt;br /&gt;
*Feature: Added 4 new Config keys: RequireBanReason, RequireClassChangeReason, AnnounceKickAndBanReasons, AnnounceClassChanges. By default &amp;quot;AnnounceKickAndBanReasons&amp;quot; and &amp;quot;AnnounceClassChanges&amp;quot; are enabled.&lt;br /&gt;
*Feature: Added 5 new fields to PlayerDB: previousClass, classChangeReason, timesKicked, timesKickedOthers, timesBannedOthers.&lt;br /&gt;
*Feature: Added a lot of new information to {{cmd|Info}}.&lt;br /&gt;
*Feature: You can now save map preview images (isometric) from AddWorldPopup.&lt;br /&gt;
*Feature: ConfigTool now shows warnings about any errors logged during Config.Load&lt;br /&gt;
*Fix: Yet another workaround for VerifyNames false negatives (thanks to SpaceManiac).&lt;br /&gt;
*Fix: Fixed being able to paste admincrete/water/lava without permission (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Trying to go over class draw limit no longer causes &amp;quot;Another drawing command is in progress&amp;quot; error.&lt;br /&gt;
*Fix: Mcc.MapUtility.TryLoading() and Map.LoadHeaderOnly() now release file handles as soon as possible. This should fix some &amp;quot;file is being used by another process&amp;quot; errors.&lt;br /&gt;
*Fix: Map spawn should be parsed correctly for MCSharp/MCZall maps&lt;br /&gt;
*Fix: If a map doesn&#039;t start with a gzip header, it no longer has a chance to abort the whole load process.&lt;br /&gt;
*Fix: Fixed blocktype names being case-sensitive.&lt;br /&gt;
*Fix: Added a more informative message when idle players are kicked.&lt;br /&gt;
*Fix: Fixed undo buffer not getting cleared when doing paste/pasteonly&lt;br /&gt;
*Fix: Fixed {{cmd|WAccess}} exception kicking players.&lt;br /&gt;
*Fix: 100% Empty maps no longer crash AddWorldPopup with OutOfMemoryException&lt;br /&gt;
*Fix: Fixed &amp;quot;player is already banned&amp;quot; message when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed no public message appearing when doing {{cmd|BanAll}}&lt;br /&gt;
*Fix: Fixed cuboid/ellipsoid/cuboidh logging blocktype code instead of blocktype name.&lt;br /&gt;
*Fix: Improved the message that&#039;s shown when idle players are kicked.&lt;br /&gt;
*Fix: Documented ability to {{cmd|TP}} to specific coordinates.&lt;br /&gt;
*Fix: AddWorldPopup no longer crashes if user closes &amp;quot;Load Map&amp;quot; dialog before selecting any file.&lt;br /&gt;
*Fix: When drawing affects (in part or in full) a restricted zone, the zone is left untouched, and the rest of draw command finishes (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Fixed crash in AddWorldPopup.AsyncLoad() if map loading failed.&lt;br /&gt;
*Fix: LegacyRankMapping is now parsed correctly&lt;br /&gt;
*Fix: Renaming a class no longer causes &amp;quot;Worlds&amp;quot; tab dropdown menus to go out-of-sync.&lt;br /&gt;
*Change: AddWorldPopup preview image quality improved.&lt;br /&gt;
*Change: Updated to newest version of NBTag library.&lt;br /&gt;
*Change: Frozen players can no longer build/delete.&lt;br /&gt;
*Change: Removed public {{cmd|Undo}} message, added log message instead.&lt;br /&gt;
*Change: Removed AnnounceUnverifiedNames settings.&lt;br /&gt;
*Change: When building/deleting permission is denied, the exact reason is given (instead of a vague &amp;quot;you cannot do that&amp;quot; message) (part of Player.CanPlace overhaul).&lt;br /&gt;
&lt;br /&gt;
===0.435===&lt;br /&gt;
*Feature: Added /copy, /paste, and /pasteonly commands. Rotation coming soon.&lt;br /&gt;
*Feature: Added CopyAndPaste permission, granted to op and owner by default.&lt;br /&gt;
*Feature: Added MapGenType.Cliffs - similar to Mountains type, but with cliffs!&lt;br /&gt;
*Fix: Fixed /paint command&lt;br /&gt;
*Fix: Fixed /baninfo now showing any information if used without parameters.&lt;br /&gt;
*Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.&lt;br /&gt;
&lt;br /&gt;
===0.434===&lt;br /&gt;
*Feature: new /bind command allows mapping any block to any other. Now you can place those unbuildable blocks (water, lava, grass, double-step) in any way you wish. For compatibility, old commands (/water, /solid, /lava, /grass) have been preserved.&lt;br /&gt;
*Change: &amp;quot;step&amp;quot; added as an alias for Stair block. &amp;quot;doublestep&amp;quot; added as an alias for DoubleStair.&lt;br /&gt;
&lt;br /&gt;
===0.433===&lt;br /&gt;
*Feature: /winfo now shows who locked/unlocked the map, and how long ago.&lt;br /&gt;
*Fix: Fixed a error message that showed up when announcements.txt was blank.&lt;br /&gt;
*Fix: Permission check added back to lock/unlock commands.&lt;br /&gt;
*Fix: &amp;quot;mapinfo&amp;quot; added back as alias for /winfo&lt;br /&gt;
*Fix: Fixed locked maps not getting unloaded when all players left&lt;br /&gt;
&lt;br /&gt;
===0.432===&lt;br /&gt;
*Fix: List of worlds printed by /worlds is now sorted alphabetically.&lt;br /&gt;
*Fix: Fixed an obscure half-disconnect bug that left players with id=0 who happened to be on the main world in a semi-disconnected state IF someone else was kicked halfway through the login process before it was assigned an id.&lt;br /&gt;
&lt;br /&gt;
===0.431===&lt;br /&gt;
*Fix: Fixed still messed-up /worlds command.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.430===&lt;br /&gt;
*Fix: Fixed messed-up /worlds command. Sorry about that.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.429===&lt;br /&gt;
*Feature: Command-handler infrastructure has been redesigned. This will allow much more flexibility for devs and plugin makers later.&lt;br /&gt;
*Feature: &amp;quot;/help commands&amp;quot; now only shows available commands by default. Type &amp;quot;/help commands all&amp;quot; to see all commands.&lt;br /&gt;
*Feature: /worlds command now only available worlds by default. Type &amp;quot;/worlds all&amp;quot; to include worlds inaccessible to you.&lt;br /&gt;
*Feature: Help entries added for /zedit, /mark, /version, /rules, and /say.&lt;br /&gt;
*Feature: ConfigTool World tab columns are now sortable.&lt;br /&gt;
*Fix: Fixed &amp;quot;max backups&amp;quot; in ConfigTool being limited to 100. Now it&#039;s at a more reasonable limit of 100000.&lt;br /&gt;
*Fix: Fixed Map.Backup() deleting the newest (instead of the oldest) backup if the total number of files was limited.&lt;br /&gt;
*Fix: Fixed an ERROR that popped up if a player got disconnected during the login process (while player=null).&lt;br /&gt;
*Fix: FormatException crash fixed that caused whole server to go down instead of a player thread.&lt;br /&gt;
*Fix: Several draw-related bugs and crashes fixed.&lt;br /&gt;
*Fix: Fixed crash in /winfo when used on unloaded worlds.&lt;br /&gt;
*Fix: Fixed a bug in Config that caused antigrief to be re-enabled every load.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool that didn&#039;t update AntiGriefSeconds properly when changing between classes.&lt;br /&gt;
*Change: Many /help entries have been improved.&lt;br /&gt;
*Change: Split /class command into two: /classes (aka /ranks) shows a list of classes, and /class (aka /cinfo or /classinfo) shows permission list (missed from last release notes).&lt;br /&gt;
*Change: Added /spawn as an alias for /tp (missed from last release notes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.428===&lt;br /&gt;
*Feature: Line wrapping. Yes, finally.&lt;br /&gt;
*Feature: Per-class draw limits. Defaults are: owner unlimited, op unlimited, regular 4096 (16x16x16), guest 512 (8*8*8)&lt;br /&gt;
*Feature: Per-class antigrief detection. Defaults are: owner unmetered, op umetered, regular 45/6 (7.5 blocks/second), guest 35/5 (7 blocks/second)&lt;br /&gt;
*Feature: Memory usage of draw commands has been reduced by 6 bytes per block (37% improvement).&lt;br /&gt;
*Fix: Extra color codes fixed in /players command.&lt;br /&gt;
*Fix: Fixed a bug with /undo that caused more than one command to be undone at once.&lt;br /&gt;
*Fix: Fixed maps generated with &amp;quot;Realistic terrain&amp;quot; (MapGenerator) having an empty layer at the bottom of the map.&lt;br /&gt;
*Change: Default classes have been tweaked:&lt;br /&gt;
**regular can now use draw commands&lt;br /&gt;
**op can now lock/unlock&lt;br /&gt;
*Change: Improved arrangement of Permission list items.&lt;br /&gt;
*Change: Removed obsolete ConfigKey variables AntigriefBlockCount and AntigriefBlockInterval&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.427===&lt;br /&gt;
*Feature: Added /zedit command for changing zone permissions after creation&lt;br /&gt;
*Feature: New aliases for drawing commands: /c /e /h /r /m&lt;br /&gt;
*Fix: Fix for cuboid command kicking players with &amp;quot;Block.Undefined&amp;quot; if called with no optional BlockType parameter&lt;br /&gt;
*Fix: Fixed zone definitions getting corrupted.&lt;br /&gt;
*Fix: Allowed /save command to be used from console and from remote worlds. Previously you had to join the world to save it.&lt;br /&gt;
*Fix: Fixed potential crash in /winfo when looking up unloaded worlds.&lt;br /&gt;
*Fix: Fixed /zone allowing duplicate names, then kicking the client.&lt;br /&gt;
*Fix: Fixed /ztest showing the standard &amp;quot;you are not allowed to build in this zone&amp;quot; message instead of the expected zone list.&lt;br /&gt;
*Fix: Fixed incorrect description of draw log messages, and backup error messages&lt;br /&gt;
*Fix: Fixed false triggering of &amp;quot;Player asked to be released from its world, but the world did not contain the player&amp;quot; error&lt;br /&gt;
*Change: Fruitified fragmer&#039;s name &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.426===&lt;br /&gt;
*Feature: Announcements! You can define a list of announcements to show periodically. A random line from announcements.txt will be shown to all players at specified interval (in minutes).&lt;br /&gt;
*Feature: /replace command.&lt;br /&gt;
*Feature: /undo command has been improved for more flexibility and better performance.&lt;br /&gt;
*Feature: /winfo (alias: /mapinfo) is added for displaying world name, player count, map dimensions, and access/build permissions.&lt;br /&gt;
*Fix: Fixed a bug that caused duplicate entries to be added to PlayerDB when doing /importranks or /importbans.&lt;br /&gt;
*Change: New ConfigKeys: AnnouncementColor (default: green) and AnnouncementInterval (default: 5 minutes).&lt;br /&gt;
*Change: Draw command stride increased to 16x16x16, for better theoretical performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.425===&lt;br /&gt;
*Feature: Added hollow draw command (/cubh) and aliases (/cuboidh and /bhb)&lt;br /&gt;
*Feature: /players now shows class colors and a total number of players. Breakdown of /players by world is coming soon&lt;br /&gt;
*Feature: Added &amp;quot;Joined world WorldName&amp;quot; message that shows when changing worlds&lt;br /&gt;
*Fix: Improved several /help entries&lt;br /&gt;
*Fix: Fixed a bug in Map.SaveBackup() that could cause a crash if MaxBackups was set&lt;br /&gt;
*Fix: Fixed a bug in ConfigUI where &amp;quot;Delete World&amp;quot; button could leave the map file behind and/or cause an error&lt;br /&gt;
*Fix: Calling lock/unlock from console without a WorldName now shows a nicer error message&lt;br /&gt;
*Change: Improved safety checks of /join command&lt;br /&gt;
*Change: Added a catch-all exception handler into Server.MainLoop&lt;br /&gt;
*Change: Added exception handlers for EVERY single piece of code that requires file access&lt;br /&gt;
*Change: Added more thread safety in MapCommands.WorldRename that resolves a potential race condition with Map.Save&lt;br /&gt;
*Change: Modified IPBanList to use the standard temp folder (instead of fCraft working path) for its temp files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.424===&lt;br /&gt;
*Fix: Fixed /unhide and normal connection getting different messages&lt;br /&gt;
*Fix: Fixed client crash when viewing /rules if the rule file has blank lines&lt;br /&gt;
*Fix: Worlds with capital letters in the name are joinable again&lt;br /&gt;
*Fix: Potential crash in DoClassChange() if target player is already same rank AND is not currently on the server&lt;br /&gt;
*Change: Moved the command list to /help commands&lt;br /&gt;
*Change: Performance and thread-safety improvements to PlayerDB&lt;br /&gt;
*Change: Disabled some more debugging code to avoid taking up unnecessary resources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.423===&lt;br /&gt;
*Feature: /importbans now also supports &amp;quot;banned-ip.txt&amp;quot;&lt;br /&gt;
*Feature: Logs are now stored in /logs/ folder. Your fCraft.log file will be moved there automatically and renamed to &amp;quot;_OldLog.log&amp;quot;&lt;br /&gt;
*Feature: Log splitting now works by day or by session. Set &amp;quot;LogMode&amp;quot; key in config.xml or see Logging tab in ConfigTool.&lt;br /&gt;
*Feature: All maps are now stored in /maps/ folder. Your map files will be moved automatically first time you start ConfigTool/fCraftConsole/fCraftUI&lt;br /&gt;
*Feature: Reserved slots now work&lt;br /&gt;
*Fix: Fixed a bug in fCraft.Server.LoadWorldListXML that could make all worlds hidden.&lt;br /&gt;
*Fix: &amp;quot;player connected&amp;quot; message shown when someone connects, instead of just &amp;quot;player joined world&amp;quot;&lt;br /&gt;
*Fix: &amp;quot;player left the server&amp;quot; message is not shown if the player got kicked before LoginSequence finished (e.g. if server was full)&lt;br /&gt;
*Fix: Added back IP logging for incoming connections&lt;br /&gt;
*Fix: Fixed ConfigTool-generated maps not having correct spawn point&lt;br /&gt;
*Fix: Fixed /user showing both promote and demote messages at once&lt;br /&gt;
*Fix: Removed references to old &amp;quot;/drawundo&amp;quot; command name in &amp;quot;/undo&amp;quot; messages&lt;br /&gt;
*Fix: Fixed &amp;quot;Unrecognized entry ignored: LegacyRankMapping =&amp;quot; warning&lt;br /&gt;
*Change: Made /importbans and /importranks save PlayerDB at once&lt;br /&gt;
*Change: fCraft now forcibly resets its working directory to the same path where the executable is&lt;br /&gt;
*Change: Removed &amp;quot;delete old file?&amp;quot; prompt when renaming worlds in AddWorldPopup. Now it just does it, to match tabWorlds&#039; DataGridView behavior&lt;br /&gt;
*Change: Added additional error checks to Map.Backup() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.422===&lt;br /&gt;
*Feature: Further improved network performance by introducing nonblocking (lock-free) data structure to packet output buffer&lt;br /&gt;
*Fix: Fixed &amp;quot;world creation failed&amp;quot; error if worlds.xml defined a non-existing world to be main&lt;br /&gt;
*Fix: Added back missing messages when doing /user on offline users&lt;br /&gt;
*Fix: Fixed player name color not being updated when their class changes&lt;br /&gt;
*Fix: Added missing /help entries for /importbans and /importranks&lt;br /&gt;
*Change: Improved help messages for /lock, /unban, /unbanip, /undo, /wload, /wmain, and /wremove&lt;br /&gt;
*Change: Tweaked default values of BlockUpdateThrottling and maxBlockUpdatesPerTick for maximum lag-free performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.421===&lt;br /&gt;
*Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players&lt;br /&gt;
*Feature: Added the ability to ban unseen players&lt;br /&gt;
*Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated &amp;quot;Import&amp;quot; permission was added. See &amp;quot;/help importbans&amp;quot; and &amp;quot;/help importranks&amp;quot; for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.&lt;br /&gt;
*Feature: Improved BlockUpdateQueue performance (faster drawing commands!) by switching to a lock-free data structure&lt;br /&gt;
*Fix: Fixed startup errors not being logged if config.xml has not been parsed yet&lt;br /&gt;
*Fix: Fixed ConfigUI input box not aligning properly when window is resized&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; generated maps being 1 block off vertically&lt;br /&gt;
*Change: Updated PlayerDB and IPBanList to use standard temporary folder (instead of dumping temp files into fCraft directory)&lt;br /&gt;
*Change: Added &amp;quot;logging starts&amp;quot; marker that&#039;s written to console and log on-startup&lt;br /&gt;
*Change: fCraftUI log now displays the last 2000 lines (up from 1000 lines)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.420===&lt;br /&gt;
*Feature: New &amp;quot;Worlds&amp;quot; tab in ConfigTool for managing your world list&lt;br /&gt;
*Feature: Isometric map previews and map generation in ConfigTool&lt;br /&gt;
*Feature: Implemented a class-ID system that allows adding/renaming/deleting classes without breaking compatibility. DeleteClassPopup was added for this&lt;br /&gt;
*Feature: Added LimitOneConnectionPerIP option to config &amp;amp; configtool&lt;br /&gt;
*Feature: Worlds can now be hidden from the /worlds list&lt;br /&gt;
*Feature: Added /whois command for checking if a player is using real name or nickname. BE CAREFUL WITH &amp;quot;ChangeName&amp;quot; PERMISSION!&lt;br /&gt;
*Feature: fCraft now generates crash.txt on unhandled fatal errors&lt;br /&gt;
*Feature: Implemented theme support, and added 2 new terrain types (Coast and River) for MapGenerator. See &amp;quot;/help gen&amp;quot; for details, or use ConfigTool.&lt;br /&gt;
*Feature: Pressing Up/Down keys in fCraftUI will show previously typed commands.&lt;br /&gt;
*Fix: Fixed a bug in /wmain and /wload that sometimes made the server unconnectable after changing map&lt;br /&gt;
*Fix: Limits on the /kick command now apply correctly&lt;br /&gt;
*Fix: Fixed /wbuild and /waccess showing wrong messages&lt;br /&gt;
*Fix: Fixed hidden players unable to build due to grief protection&lt;br /&gt;
*Fix: Added /nick and /whois entries to /help&lt;br /&gt;
*Fix: Removed the ability to call draw commands from console (caused crash)&lt;br /&gt;
*Fix: Fixed /lava checking PlaceWater permission instead of PlaceLava&lt;br /&gt;
*Fix: A debug message about &amp;quot;attempting to unregister an non-existent player&amp;quot; is no longer logged every time VerifyNames fails&lt;br /&gt;
*Fix: When using /where command on other players, correct coordinates are now shown]&lt;br /&gt;
*Fix: Player&#039;s classes are now updated in fCraftUI list when promoted/demoted&lt;br /&gt;
*Fix: PMs are now logged as LogType.PrivateChat (instead of generic LogType.WorldChat)&lt;br /&gt;
*Fix: /hide and /unhide now use Color.Sys instead of hardcoded Color.Yellow&lt;br /&gt;
*Fix: Player&#039;s nicknames (as set by /nick) are applied correctly and preserved when changing worlds&lt;br /&gt;
*Fix: Added missing checks for &amp;quot;Chat&amp;quot; permissions&lt;br /&gt;
*Fix: Color buttons in ConfigTool now show correct background color under Mono&lt;br /&gt;
*Fix: Fixed help entry to /freeze showing incorrect information&lt;br /&gt;
*Fix: Corrected tab order in all ConfigTool forms&lt;br /&gt;
*Change: Added /blb as another alias for /cuboid&lt;br /&gt;
*Change: Removed ReservedSlotBehavior config key&lt;br /&gt;
*Change: Disabled word wrapping in rules.txt editor popup&lt;br /&gt;
*Change: /unhide now resets the player&#039;s nick&lt;br /&gt;
*Change: Both player&#039;s real name and nickname (if any) are now recorded in the log&lt;br /&gt;
*Change: Added a warning to /info when looking up nicknames (instead of real names)&lt;br /&gt;
*Change: Heartbeat salt generation (used to verify names) is now more secure&lt;br /&gt;
*Change: Removed CanPlaceHardenedBlocks from permission list&lt;br /&gt;
*Change: All map generator terrain types have been tweaked for improved appearence&lt;br /&gt;
*Change: Centered all ConfigTool popup windows (AddWorldPopup, ColorPicker, DeleteClassPopup, TextEditorPopup)&lt;br /&gt;
*Change: Hid unneeded icons and buttons from ConfigTool popups&lt;br /&gt;
*Change: Changed the way zones store rank restriction (as part of the compatibility assurance), and added versioning to zone definitions&lt;br /&gt;
*Change: Map.Save() now creates temporary files in the OS-specific temporary folder, not in same folder where fCraft is installed&lt;br /&gt;
*Change: World permissions are now updated automatically when a class is deleted&lt;br /&gt;
*Refactor: Improved consistency in code naming conventions, especially in IRC code&lt;br /&gt;
*Refactor: Improved code organization in many areas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.410===&lt;br /&gt;
*Implemented per-world access and build permissions.&lt;br /&gt;
*Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.&lt;br /&gt;
*New world-related commands:&lt;br /&gt;
**/wmain changes the main world&lt;br /&gt;
**/waccess and /wbuild allow setting per-world permissions&lt;br /&gt;
**/wremove allows deleting worlds&lt;br /&gt;
**/wrename allows renaming worlds without reloading&lt;br /&gt;
**/wload command is significantly improved (see /help wload for more info). The functionality of the old /load command has been merged with /wload. Now /load is an alias for /join, together with /l, /j, and /goto.&lt;br /&gt;
*Removed SaveAndLoad permission - it became redundant with ManageWorlds. Please check your config to ensure that permissions remain consistent.&lt;br /&gt;
*Added new and previously-missing (/lockall, /unlockall, /where, /me, /rules, /setspawn) commands to /help.&lt;br /&gt;
*Disabled verify-names check for localhost (127.0.0.1) when running in Balanced mode.&lt;br /&gt;
*When player is denied access to some command, server now names the specific permission that&#039;s needed.&lt;br /&gt;
*Fixed a potential desync issue when one player rejoins a world, and another joins it simultaneously.&lt;br /&gt;
*Removed /genh command and /compass alias for the /where command.&lt;br /&gt;
*Added a fail-safe exception check when executing console commands. Now the server will stay up even if an exception occurs while executing console command.&lt;br /&gt;
*Improved the way server reacts to fatal errors on startup. Now there is a clear indication that server cannot start.&lt;br /&gt;
*&amp;quot;default map&amp;quot; is now referred to as &amp;quot;main world&amp;quot; for consistency. &lt;br /&gt;
*Improved garbage collection.&lt;br /&gt;
&lt;br /&gt;
===0.405===&lt;br /&gt;
*Added back support for vanilla (server_level.dat) maps.&lt;br /&gt;
*Fixed MCSharp importer leaving nonstandard blocks in the map, causing client crashes. Now all MCSharp-specific blocks are converted to normal types.&lt;br /&gt;
*Fixed visual player list not updating in fCraftUI.&lt;br /&gt;
*Added /players command to list ALL players on the server (in all worlds)&lt;br /&gt;
*Made the BlockType parameter optional for /cuboid and /ellipsoid. Now it takes blocktype of the second click (or last-previously-used-blocktype when using /mark) in the absence of the optional parameter.&lt;br /&gt;
*ConfigTool: Added a new tab for IRC setting.&lt;br /&gt;
*ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.&lt;br /&gt;
*IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.&lt;br /&gt;
*IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot. &lt;br /&gt;
*IRC: Fixed a bug with infinite reconnects on receiving error 433 Nickname already in use.&lt;br /&gt;
*Zones: Changed behavior of overlapping zones:&lt;br /&gt;
**Before: To touch a block, AT LEAST ONE zone has to allow it&lt;br /&gt;
**Now: To touch a block, ALL ZONES have to allow it&lt;br /&gt;
*Zones: Added /ztest command that lists all zones affecting a particular block. It can be used to detect and resolve zone overlaps.&lt;br /&gt;
*Zones: Added proper /help entries for /zone, /zones, /zremove, and /ztest, and contextual help for /zone and /zones.&lt;br /&gt;
*Zones: Made zone commands inaccessible from console (it would cause a crash, since zones are world-specific).&lt;br /&gt;
*Fixed OnPlayerDisconnected and OnPlayerListChanged sometimes firing at the wrong time.&lt;br /&gt;
*Added better error handling to Map.Save() in case the target file is not writable.&lt;br /&gt;
*Updated /help entries for /lock, /unlock, and /load commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.404===&lt;br /&gt;
*Fixed zone borders being off by 1 block.&lt;br /&gt;
*Fixed a rare crash on shutdown.&lt;br /&gt;
*Fixed heartbeat reporting incorrect port number to heartbeat if the port specified in config was not available.&lt;br /&gt;
*Adjusted default class permissions slightly, by popular demand:&lt;br /&gt;
**regulars can now place Water and Lava&lt;br /&gt;
**ops can now use draw commands&lt;br /&gt;
*IRC: Added a config option &#039;IRCMsgs&#039; to toggle join/leave messages on/off. Default is disabled to prevent massive spam.&lt;br /&gt;
*IRC: Fixed a possible crash in IRCComm, related to static initializers.&lt;br /&gt;
*ConfigTool: Fixed many bugs in permission checkbox list.&lt;br /&gt;
*ConfigTool: Added visual editor for rules.txt&lt;br /&gt;
*ConfigTool: Added stub tab for IRC settings (coming soon).&lt;br /&gt;
&lt;br /&gt;
===0.403===&lt;br /&gt;
*Fixed spawnpoint being read incorrectly when using /load.&lt;br /&gt;
*Added a note to ban*/unban* commands that&#039;s shown when player name is not found: &amp;quot;Use the FULL player name for ban/unban commands.&amp;quot;&lt;br /&gt;
*Fixed a thread crash (not server-wide crash) in Session.IoLoop that can be caused by corrupted or malicious handshake packets.&lt;br /&gt;
*Fixed a potential crash when using /info on offline players from console.&lt;br /&gt;
*Fixed a potential crash when using /gen from console.&lt;br /&gt;
*Added more fail-safe checks that ensure that map spawn point is always within the map boundaries.&lt;br /&gt;
*Started logging IPs of connections that try sending corrupted or malicious handshake packets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.402===&lt;br /&gt;
*Added back /load command, and hooked up MCC. Currenly supported: fCraft/fcm, MCSharp/lvl, indev/mclevel, MinerCPP and LuaCraft (dat). Vanilla support coming soon.&lt;br /&gt;
*Fixed worlds being unloaded before all block updates are processed (thus aborting draw commands).&lt;br /&gt;
*Fixed several potential multiworld-related crashes and freezes.&lt;br /&gt;
*Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.&lt;br /&gt;
*IRC: Added an information message to notify users of the IRC Bot&#039;s online status when joining the server.&lt;br /&gt;
*IRC: Added the ability to send NOTICES.&lt;br /&gt;
*IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.&lt;br /&gt;
*IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.&lt;br /&gt;
*Drawing-related state is now reset when changing worlds.&lt;br /&gt;
*Added a limiter to the number of block updates that can be processed per tick (even if there are no players in a world). Fixes server becoming unresponsive when doing enormous drawing commands (millions of blocks).&lt;br /&gt;
*Allowed players to /join the world that they are already on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.401===&lt;br /&gt;
*&#039;&#039;&#039;IDLE/AFK CHECKING&#039;&#039;&#039; This is configurable per-class.&lt;br /&gt;
*Added /version command, and added revision to the version string.&lt;br /&gt;
*Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands. &lt;br /&gt;
*Removed all references to the old pre-multiworld &amp;quot;map.fcm.&amp;quot; Backups now work again. &lt;br /&gt;
*Fixed players not spawning in the right place when changing worlds.&lt;br /&gt;
*IRC Bot will now handle terminations by the IRCd and restart itself upon any errors. &lt;br /&gt;
*IRC Bot can now send from inside the server TO IRC! Use the prefix &#039;#&#039; in-game to send any message to IRC. Forwarding all server chat may be added if requested. To send from the bot to the server, use the bot&#039;s nickname and either &#039;:&#039;, &#039;,&#039; or nothing, then your message.&lt;br /&gt;
*Improved performance of the IRC bot and the task scheduler.&lt;br /&gt;
*Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn&#039;t exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.&lt;br /&gt;
*Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after &#039;#&#039; in server chat.&lt;br /&gt;
*Handshake packet is now written when doing /join, to replace MOTD with a more informative &amp;quot;Now loading [worldname]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.400===&lt;br /&gt;
*&#039;&#039;&#039;MULTIWORLD&#039;&#039;&#039; It&#039;s finally here. See /help for information on new commands: /worlds, /wload, /join&lt;br /&gt;
*Added a persistent world list, saved in worlds.txt - this is subject to change. The file contains a list of world names, each corresponding to an .fcm file. The first world listed at the top of worlds.txt is the default/main one.&lt;br /&gt;
*&#039;&#039;&#039;IRC BOT&#039;&#039;&#039; Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.&lt;br /&gt;
*A field has been added in the config to allow forwarding ALL IRC CHANNEL TRAFFIC to the server. This will override the prefix and make it inactive. &#039;IRCBotForwardAll&#039; is set to false by default.&lt;br /&gt;
*&#039;&#039;&#039;ZONES&#039;&#039;&#039; It is now possible to make guest zones and op zones (and anything in-between) on any map. See /help for information on new commands: /zones, /zone, /zremove.&lt;br /&gt;
*Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.&lt;br /&gt;
*Added /compass command (aka /where).&lt;br /&gt;
*Fixed players sometimes not seeing their /kick message.&lt;br /&gt;
*Added a way to teleport to specific coordinates (/tp x y h)&lt;br /&gt;
*Fixed heartbeats timing out when running fCraft under Mono.&lt;br /&gt;
*Fixed Config.ApplyConfig setting the wrong server throttling variables.&lt;br /&gt;
*Fixed air blocks appearing underwater when using /gen&lt;br /&gt;
*Tweaked /gen parameters to make &amp;quot;island&amp;quot; a bit less ugly.&lt;br /&gt;
*Updated text in fCraftConsole.&lt;br /&gt;
&lt;br /&gt;
=0.3xx=&lt;br /&gt;
===0.330===&lt;br /&gt;
*Added /cuboid and /ellipsoid drawing commands.&lt;br /&gt;
*Improved memory usage.&lt;br /&gt;
*Added &amp;quot;Draw&amp;quot; permission, and made /draw check &amp;quot;DeleteAdmincrete&amp;quot; permission when replacing blocks, and removed unused &amp;quot;PlaceGlitchedSand&amp;quot; permission.&lt;br /&gt;
*Added &amp;quot;Port&amp;quot; and &amp;quot;BackupOnlyWhenChanged&amp;quot; config lines, and corresponding ConfigTool fields.&lt;br /&gt;
*Fixed bug that deleted ALL backups when you check &amp;quot;don&#039;t delete old backups.&amp;quot; That was embarrassing.&lt;br /&gt;
&lt;br /&gt;
===0.325===&lt;br /&gt;
*Added an experimental low-latency mode (faster server response, but more bandwidth required).&lt;br /&gt;
*Improved hacking detection: added anti-chat-spam and anti-grief (block spam) checks.&lt;br /&gt;
*New more aggressive anti-hacking checks for incoming movement and SetTile packets.&lt;br /&gt;
*Fixed an issue with fCraftUI console log getting truncated in the wrong places.&lt;br /&gt;
*Improved Mono compatibility (fixes HttpWebRequest failures).&lt;br /&gt;
&lt;br /&gt;
===0.324===&lt;br /&gt;
*Added /me command.&lt;br /&gt;
*Added step stacking.&lt;br /&gt;
*Fixed a case where disconnected players would leave a ghost behind.&lt;br /&gt;
*Improved shutdown speed.&lt;br /&gt;
*Implemented ProcessPriority setting.&lt;br /&gt;
&lt;br /&gt;
===0.323===&lt;br /&gt;
*Fixed players not being able to delete admincrete after promotion.&lt;br /&gt;
*Fixed a bug that allowed players to noclip into walls when using /tp or /bring.&lt;br /&gt;
*Fixed a security issue with &amp;quot;VerifyNames: Balanced&amp;quot;&lt;br /&gt;
*Added prototype of the security tab in ConfigTool (work in progress).&lt;br /&gt;
&lt;br /&gt;
===0.322===&lt;br /&gt;
*Added a range check to Player.SetTile, to prevent certain types of grief bots.&lt;br /&gt;
*Fixed a bug where map spawnpoint did not change after doing /load.&lt;br /&gt;
*Fixed some typos.&lt;br /&gt;
&lt;br /&gt;
===0.321===&lt;br /&gt;
*Fixed welcome messages not showing.&lt;br /&gt;
*Renamed /alias to /nick, and added a permission check.&lt;br /&gt;
&lt;br /&gt;
===0.320===&lt;br /&gt;
*Finally last fix for the disconnect problem. Sorry about that.&lt;br /&gt;
&lt;br /&gt;
===0.319===&lt;br /&gt;
*Quick fix for disconnect problem.&lt;br /&gt;
&lt;br /&gt;
===0.318===&lt;br /&gt;
*Fixed VerifyNames not saving properly when using ConfigTool.&lt;br /&gt;
*Fixed several potential crashers in Session and World.&lt;br /&gt;
*Fixed a bug that sometimes wrongly showed &amp;quot;class name not recognized&amp;quot;.&lt;br /&gt;
*Added class name autocompletion for class chat (@@classname blah)&lt;br /&gt;
*Started working on the new /load mode that allows loading different sized maps, and loading much faster (not done yet).&lt;br /&gt;
&lt;br /&gt;
===0.317===&lt;br /&gt;
*Optimized handling of player movement and some block/tile updates, making servers more responsive and less laggy.&lt;br /&gt;
*Fixed a possible crash that sometimes happened when server has 1 slot left and 2 people tried to join at once.&lt;br /&gt;
*Fixed a case where a Session object was not properly disposed.&lt;br /&gt;
*Fixed resizing issue in UpdateWindow and reduced connection timeout in Updater&lt;br /&gt;
*Disabled ShowPrefixesInChat and ShowPrefixesInList by default (breaks skin support)&lt;br /&gt;
*Added Player.Send, a safe wrapper for Player.session.Send&lt;br /&gt;
*Fixed /tp, /bring, and /setspawn commands that were broken in the last revision.&lt;br /&gt;
*Fixed ConfigTool not saving &amp;quot;IsPublic&amp;quot; setting correctly.&lt;br /&gt;
&lt;br /&gt;
===0.316===&lt;br /&gt;
*Added partial class-name matching for /class and /user commands.&lt;br /&gt;
*Fixed /banip and /banall not kicking the banned players immediately.&lt;br /&gt;
*Added /rules command. Create &amp;quot;rules.txt&amp;quot; in the server folder to specify.&lt;br /&gt;
*Fixed a bug where player movement sometimes got a little out of sync.&lt;br /&gt;
*Optimized /load speed a bit.&lt;br /&gt;
*Added nicer application icons.&lt;br /&gt;
&lt;br /&gt;
===0.315===&lt;br /&gt;
*Added visual color picker to ConfigTool&lt;br /&gt;
*Added lightweight console interface for fCraft&lt;br /&gt;
*Refactored the main update loop&lt;br /&gt;
&lt;br /&gt;
===0.314===&lt;br /&gt;
*Added AutomaticUpdates option.&lt;br /&gt;
*Integrated the color picker to ConfigTool.&lt;br /&gt;
*Improved hacking detection.&lt;br /&gt;
&lt;br /&gt;
===0.313===&lt;br /&gt;
*Fixed a few glitches left after switching file formats.&lt;br /&gt;
*Improved memory usage when saving maps.&lt;br /&gt;
*Fixed an updater-related crash.&lt;br /&gt;
&lt;br /&gt;
===0.312===&lt;br /&gt;
*New map format (FCM v2) should provide faster loading times.&lt;br /&gt;
*server_level.dat loader is now functional.&lt;br /&gt;
*Fixed possible crash if the default port was not available.&lt;br /&gt;
*Automatic updater should now work properly. More update options to come.&lt;br /&gt;
&lt;br /&gt;
===0.311===&lt;br /&gt;
*Preview version of automatic updater.&lt;br /&gt;
&lt;br /&gt;
===0.310===&lt;br /&gt;
*Cleaned up some VC# crapfiles.&lt;br /&gt;
*Added class prefixes and colors.&lt;br /&gt;
*Added PlaceWater and PlaceLava back to permissions.&lt;br /&gt;
*Fixed rank-limited permissions.&lt;br /&gt;
*Other assorted glitches fixed.&lt;br /&gt;
&lt;br /&gt;
===0.305===&lt;br /&gt;
*removed config.xml from svn.&lt;br /&gt;
&lt;br /&gt;
===0.304===&lt;br /&gt;
*More potential crashes fixed.&lt;br /&gt;
&lt;br /&gt;
===0.303===&lt;br /&gt;
*Fixed a couple potential crashes in ConfigTool and Config.DefineClass&lt;br /&gt;
&lt;br /&gt;
===0.302===&lt;br /&gt;
*Fixed a few minor ConfigTool bugs.&lt;br /&gt;
&lt;br /&gt;
===0.301===&lt;br /&gt;
*Forgot to save config from World.cs after parsing. Minor update.&lt;br /&gt;
&lt;br /&gt;
===0.300===&lt;br /&gt;
*ConfigTool finished. Note that some of the options do not have an effect yet.&lt;br /&gt;
&lt;br /&gt;
=Before 0.3xx=&lt;br /&gt;
*Version history was not kept before this point.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Version_history&amp;diff=2636</id>
		<title>Version history</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Version_history&amp;diff=2636"/>
		<updated>2017-04-30T06:44:04Z</updated>

		<summary type="html">&lt;p&gt;F: /* 0.441 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
=0.6xx=&lt;br /&gt;
===0.644===&lt;br /&gt;
&#039;&#039;27 January 2014 - r2327&#039;&#039;&lt;br /&gt;
*Fix: Fixed a bug that caused character &#039;@&#039; in player names to be treated same as &#039;_&#039; (thanks Dingus)&lt;br /&gt;
*Fix: Fixed a rare crash in {{cmd|ZEdit}} when using the command improperly.&lt;br /&gt;
*Fix: Fixed a DataError being thrown in ConfigGUI&#039;s &amp;quot;Worlds&amp;quot; tab after toggling rank prefixes on/off.&lt;br /&gt;
*Fix: Improved error reporting.&lt;br /&gt;
*Change: Improved reliability of external IP checks.&lt;br /&gt;
&lt;br /&gt;
===0.643===&lt;br /&gt;
&#039;&#039;15 October 2013 - r2234&#039;&#039;&lt;br /&gt;
*Fix: Fixed sometimes wrapping last word of a chat message to the next line, when the whole message could fit on one line (thanks AndrewPH).&lt;br /&gt;
*Fix: Installing updates no longer causes UAC prompts under Windows Vista.&lt;br /&gt;
*Fix: Fixed IRC periodically crashing if someone quits with an empty message.&lt;br /&gt;
*Fix: Fixed IRC-related crashes not being submitted to the crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.642===&lt;br /&gt;
&#039;&#039;27 August 2013 - r2180&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Fill3D}}.&lt;br /&gt;
*Feature: Added caret (^), tilde (~), and grave accent (`) to [[emotes]].&lt;br /&gt;
*Fix: Emotes work via IRC once again.&lt;br /&gt;
*Fix: ConfigGUI: Fixed &amp;quot;Add world&amp;quot; and &amp;quot;Edit world&amp;quot; popups sometimes locking up.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving LastFailedLoginIP properly.&lt;br /&gt;
*Change: Made it easy to switch heartbeat servers (minecraft.net to classicube or back) via ConfigGUI.&lt;br /&gt;
*Change: Added an optional second parameter to {{cmd|DumpStats}}, which allows specifying period of inactivity for filtering players.&lt;br /&gt;
*Change: Improved startup and shutdown times, and reduced CPU use.&lt;br /&gt;
*Change: {{cmd|Hide}} and {{cmd|Unhide}} now indicate when they are silent or not.&lt;br /&gt;
&lt;br /&gt;
===0.641===&lt;br /&gt;
&#039;&#039;17 August 2013 - r2150&#039;&#039;&lt;br /&gt;
*Feature: Improved the way {{cmd|EllipsoidH}} works on flat surfaces. Instead of filled ellipses, it now makes rings.&lt;br /&gt;
*Feature: Added {{cmd|Reply}} (&amp;lt;code&amp;gt;/re&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: {{cmd|Fill2D}} can now fill with any brush, not just solid color.&lt;br /&gt;
*Feature: Added &#039;&#039;HeartbeatUrl&#039;&#039; [[List of config keys#Advanced|config key]], to allow alternative heartbeat/authentication services. &#039;&#039;&#039;Note: [[HeartbeatSaver]] only needs to be updated IF you plan on using something other than minecraft.net&#039;&#039;&#039;&lt;br /&gt;
*Fix: Fixed a InvalidOperationException in ConfigGUI when re-drawing the map preview (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;Realistic&amp;quot; MapGen help (thanks Jonty800).&lt;br /&gt;
*Fix: Now correctly kicking custom premium-MC clients.&lt;br /&gt;
*Fix: Fixed help messages in [[HeartbeatSaver]] and {{cmd|MassRank}}.&lt;br /&gt;
*Fix: Fixed a potential way of revealing hidden players by messaging them.&lt;br /&gt;
*Change: ConfigGUI&#039;s port checker works again.&lt;br /&gt;
*Change: IRC bot will now retry for its primary nick every 30 seconds (thanks Dankirk).&lt;br /&gt;
&lt;br /&gt;
===0.640===&lt;br /&gt;
&#039;&#039;30 July 2013 - r2124&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Feature: [[Mojang accounts|Mojang account]] (email) support.&#039;&#039;&#039; Added {{perm|ViewEmails}} permission and a config option to disallow email users.&lt;br /&gt;
*Feature: Overhauled map generation! Improved {{cmd|Gen}}, new {{cmd|SetGen}} command, more options, preset loading/saving, redesigned ConfigGUI interface, and two new map generation modes: Vanilla (from [http://femto.fcraft.net FemtoCraft]) and FloatingIsland.&lt;br /&gt;
*Feature: Optional [http://www.regular-expressions.info/quickstart.html RegEx] filtering of filenames for [[MapRenderer]] and [[MapConverter]], enabled by &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Feature: Added &amp;lt;i&amp;gt;&amp;quot;Player ___ logged in from an IP shared by frozen players...&amp;quot;&amp;lt;/i&amp;gt; announcement.&lt;br /&gt;
*Feature: Added an optional parameter to toggle commands (grass, water, lava, solid, paint, static) &amp;amp;mdash; &amp;quot;on&amp;quot;/&amp;quot;1&amp;quot; or &amp;quot;off&amp;quot;/&amp;quot;0&amp;quot;.&lt;br /&gt;
*Feature: Added BackupOnMapChange config key, which automates backups when a world&#039;s map is replaced by /Gen or /WLoad (enabled by default).&lt;br /&gt;
*Feature: Added &amp;lt;code&amp;gt;/To&amp;lt;/code&amp;gt; as an alias of {{cmd|TP}}, and &amp;lt;code&amp;gt;/Flush&amp;lt;/code&amp;gt; as an alias for {{cmd|WFlush}}.&lt;br /&gt;
*Feature: [[MapRenderer]] is now much quicker, thanks to optimization and multithreading.&lt;br /&gt;
*Feature: Added ability to change capitalization of player&#039;s name using {{cmd|SetInfo}}.&lt;br /&gt;
*Fix: Fixed MapGenerator sometimes locking up when working with tiny 16x16 maps (thanks 123DMWM).&lt;br /&gt;
*Fix: Fixed world greetings not being saved between restarts (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed {{cmd|WLoad}} showing incorrect map file names when prompting to replace files (thanks Smokeybacon).&lt;br /&gt;
*Fix: Fixed [[Command_Tips#Restricting_player_name_search|online-only name prefix]] revealing hidden players in some commands (thanks Intertoothh and recon).&lt;br /&gt;
*Fix: When a spectating player gets frozen, they are no longer stuck spectating (thanks ruggedbear and NuclearWaffle121).&lt;br /&gt;
*Fix: IRC now handles two-number color codes and reset codes correctly (thanks Liam).&lt;br /&gt;
*Fix: Fixed map changes sometimes leaving behind &amp;quot;ghost maps&amp;quot; for players with rank-specific main maps set (thanks Jonty800).&lt;br /&gt;
*Fix: PlayerDB name autocompletion now correctly handles players with &#039;.&#039; in their names.&lt;br /&gt;
*Fix: Timed backups no longer drift slightly every hour.&lt;br /&gt;
*Fix: Players can now {{cmd|Clear}} their chat even while [[/Deafen|deaf]].&lt;br /&gt;
*Fix: Fixed a rare serialization issue with PlayerDB&#039;s RankChangedBy field.&lt;br /&gt;
*Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Now only allow either one directory, or one-or-more files to be specified. Multiple directories, and mixed directories/files are no longer allowed.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Disabled slow fallback conversion by default (which caused non-map files to take forever to skip in recursive mode). Old behavior can be reenabled with &amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Change: When auto-updating or restarting under Mono, fCraft no longer tries to use &amp;quot;mono-sgen&amp;quot;, now just using &amp;quot;mono&amp;quot; and assuming that runtime is properly configured.&lt;br /&gt;
*Change: {{cmd|WBuild}} and {{cmd|WAccess}} can optionally now take &amp;quot;@&amp;quot; in front of rank name.&lt;br /&gt;
*Change: Removed BackupOnJoin config key.&lt;br /&gt;
*Change: UpdateInstaller&#039;s &amp;lt;code&amp;gt;--restart&amp;lt;/code&amp;gt; parameter is more flexible.&lt;br /&gt;
*Change: Dropped Mono 2.6 support.&lt;br /&gt;
*Change: Optimizations in player movement code, PlayerDB loading/saving, IP ban list loading, map generation, map rendering, {{cmd|Ellipsoid}}, and {{cmd|Sphere}}.&lt;br /&gt;
&lt;br /&gt;
===0.639===&lt;br /&gt;
&#039;&#039;10 December 2012 - r1917&#039;&#039;&lt;br /&gt;
*Feature: Added RankPrefixesOnDisplayedNames config key (default: false), which controls whether to prepend rank prefixes to names of players with a custom DisplayedName set.&lt;br /&gt;
*Feature: Added BypassHttpsCertificateValidation config key (default: false), to ease HTTPS-related pains under Mono.&lt;br /&gt;
*Feature: Added MoveEmoteDotToEndOfMessage config key (default: true), which slightly changes emote formatting, by BobKare&#039;s request.&lt;br /&gt;
*Fix: Fixed a stability issue in the IRC bot.&lt;br /&gt;
*Fix: Fixed incorrect runtime version detection for Mono versions older than 2.6.&lt;br /&gt;
*Fix: Server now gives more informative messages when you try to do something disallowed to yourself (mute, unfreeze, ban, kick, etc).&lt;br /&gt;
*Fix: Fixed being able to teleport to hidden players (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed {{cmd|Unhide}} not faking a join message for hidden players (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed IRC bot sending USER before NICK (fixes occasional error 451) (thanks Hellenion).&lt;br /&gt;
*Change: Added ability to set players&#039; BandwidthUseMode via {{cmd|SetInfo}}.&lt;br /&gt;
*Change: Improved {{cmd|Env}}, {{cmd|UndoAreaNot}}, and {{cmd|Help}} messages.&lt;br /&gt;
*Change: Players&#039; connection messages in logs now include TimesVisited stat.&lt;br /&gt;
*Change: {{cmd|Help|commands}} is no longer an alias for {{cmd|Commands}} (thanks ruggedbear).&lt;br /&gt;
&lt;br /&gt;
===0.638===&lt;br /&gt;
&#039;&#039;29 November 2012 - r1887&#039;&#039;&lt;br /&gt;
*Feature: [[Emotes|Emote]] keywords and their Unicode equivalents can now be included in announcement and rule files.&lt;br /&gt;
*Feature: IRC bot now sends a quit message consisting of server name and shutdown reason.&lt;br /&gt;
*Fix: Fixed a very small chance of PlayerInfo.TimeMutedLeft returning negative time spans.&lt;br /&gt;
*Fix: Leading and trailing spaces are now trimmed from kick/ban/unban reasons.&lt;br /&gt;
*Fix: Fixed some emotes getting trimmed from {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} (thanks Intertoothh)&lt;br /&gt;
*Fix: Fixed RestartInterval starting two chat timers (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed ServerCLI using console colors for the first few messages even if &amp;lt;code&amp;gt;--noconsolecolor&amp;lt;/code&amp;gt; [[List of command-line options|command-line switch]] was given (thanks Hellenion)&lt;br /&gt;
*Change: Added &amp;lt;code&amp;gt;--noupdater&amp;lt;/code&amp;gt; command line switch, which stops fCraft from launching update installer binaries (although all other update-related behavior remains the same)&lt;br /&gt;
*Change: Player&#039;s own name is no longer considered in autocompletion/searches for commands that are not applicable to self (e.g. {{cmd|Ban}}, {{cmd|Mute}}, {{cmd|Ignore}}, {{cmd|TP}}, etc)&lt;br /&gt;
*Change: Logged global chat messages now have &amp;quot;(global)&amp;quot; prepended before player&#039;s name.&lt;br /&gt;
*API: Updated trunk project files to VisualStudio 2010. Target runtime remains .NET 3.5 Client Profile.&lt;br /&gt;
&lt;br /&gt;
===0.637===&lt;br /&gt;
&#039;&#039;16 October 2012 - r1847&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Emotes}} command, to list emotes and their keywords.&lt;br /&gt;
*Fix: Fixed IRC bot cutting off very long messages.&lt;br /&gt;
*Fix: Fixed {{cmd|Info}} not working with some IP ranges (thanks _BjorN64_).&lt;br /&gt;
*Fix: Fixed single-letter emote keywords not working (thanks Wundsalz).&lt;br /&gt;
*Fix: Improved the way IRC bot handles nick conflicts (thanks Jonty800).&lt;br /&gt;
*Fix: {{cmd|DumpStats}} no longer dies when an invalid file name is given (thanks Hellenion).&lt;br /&gt;
*Change: Added a new build configuration, DEBUG_NETWORKING, which traces all incoming and outgoing packets.&lt;br /&gt;
*Change: IRC bot now logs all outgoing messages when built in DEBUG_IRC configuration.&lt;br /&gt;
&lt;br /&gt;
===0.636===&lt;br /&gt;
&#039;&#039;10 October 2012 - r1832&#039;&#039;&lt;br /&gt;
*Feature: Check your configs! New options were added to control display of colors and emotes to/from IRC.&lt;br /&gt;
*Feature: Added {house} [[emotes|emote]]: ⌂ (0x7F).&lt;br /&gt;
*Fix: Fixed newline codes %n/%N not being parsed properly.&lt;br /&gt;
*Fix: Fixed a crash in Color.StripColors (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed random symbols appearing in stack traces in console (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed couple problems with Player.Moving event (thanks 00pol).&lt;br /&gt;
*Fix: Spawn points of MCSharp map files are now loaded correctly (thanks 00pol).&lt;br /&gt;
*Change: Players&#039; DisplayedNames may no longer contains line breaks.&lt;br /&gt;
&lt;br /&gt;
===0.635===&lt;br /&gt;
&#039;&#039;8 October 2012 - r1822&#039;&#039;&lt;br /&gt;
*Feature: Added support for &amp;quot;[[emotes]]&amp;quot; (chat symbols). New permission ({{perm|UseEmotes}}) and config key (IRCAllowEmotes) were added.&lt;br /&gt;
*Fix: Fixed numbers sometimes being accepted as valid (e.g. by {{cmd|Mute}}), although counted as 0-length time spans.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving strings with newlines properly.&lt;br /&gt;
*Fix: Fixed IRC bot sometimes producing messages that are a couple characters over the IRC message size limit (512 chars).&lt;br /&gt;
*Fix: Fixed players being able to use newline codes (&amp;amp;N/&amp;amp;n) on IRC.&lt;br /&gt;
*Fix: Fixed problems with UpdaterMode and BackupOnStartup settings in ConfigGUI.&lt;br /&gt;
*Fix: Fixed fCraft not building in DEBUG_IRC configuration.&lt;br /&gt;
*Change: Added a workaround for TermInfoDriver-related exceptions under Mono (thanks Hellenion)&lt;br /&gt;
*Change: Symbolic [[colors|color codes]] (e.g. %S) can now be used in chat.&lt;br /&gt;
*Change: Backslash can now be used to escape percent [[colors|color codes]] (e.g. \%C).&lt;br /&gt;
*Change: fCraft will now retry looking up the external IP up to 3 times.&lt;br /&gt;
*Change: Lots of documentation, annotation, and API improvements.&lt;br /&gt;
&lt;br /&gt;
===0.634===&lt;br /&gt;
&#039;&#039;30 September 2012 - r1796&#039;&#039;&lt;br /&gt;
*Fix: Fixed an occasional InvalidOperationException when auto-updating in ServerGUI.&lt;br /&gt;
*Fix: Fixed ConfigGUI showing misleading information in &amp;quot;unrecognized entry ignore&amp;quot; errors.&lt;br /&gt;
*Fix: Fixed Logger trying to write to file in [[MapConverter]] and [[MapRenderer]].&lt;br /&gt;
*Fix: Fixed [[MapRenderer]] and [[MapConverter]] spamming zone-related errors (thanks Hellenion and AndrewPH)&lt;br /&gt;
*Fix: Fixed {{cmd|UndoPlayerNot}} help entry (thanks ruggedbear)&lt;br /&gt;
*Change: Heartbeat code now uses HTTPS, as mandated by Mojang. If you use Mono, see http://www.mono-project.com/FAQ:_Security&lt;br /&gt;
*Change: Removed support for the malfunctioning WoM Direct heartbeat service.&lt;br /&gt;
*Change: RankChangeReason is now shown as a &amp;quot;Rank note&amp;quot; in {{cmd|Info}}, even if no other data (PreviousRank/RankChangedBy/RankChangeDate) exists (thanks Wundsalz)&lt;br /&gt;
&lt;br /&gt;
===0.633===&lt;br /&gt;
&#039;&#039;26 September 2012 - r1788&#039;&#039;&lt;br /&gt;
*Feature: Added checkbox for HeartbeatEnabled config key to ConfigGUI, on the advanced tab.&lt;br /&gt;
*Fix: Fixed heartbeat/verification issues caused by &amp;quot;no-www&amp;quot; changes made by Mojang at minecraft.net&lt;br /&gt;
*Fix: Fixed VisualStudio designer being unable to load ConfigGUI.MainForm.&lt;br /&gt;
*Fix: Fixed {{cmd|ZMark}} being spammy (thanks ruggedbear).&lt;br /&gt;
*Fix: Binding &amp;quot;air&amp;quot; block to something now works as expected (deleted blocks are replaced with the binding) (thanks Hellenion).&lt;br /&gt;
*Fix: Added missing tooltips to &amp;quot;Data Backup&amp;quot; checkbox in ConfigGUI (thanks PhoneBook_).&lt;br /&gt;
*Fix: Added [[HeartbeatSaver]] to UpdateInstaller and list of protected filenames.&lt;br /&gt;
*Fix: Fixed occasional startup crash in [[HeartbeatSaver]].&lt;br /&gt;
*Change: {{cmd|Reload|Autorank}} now triggers a re-scan of the whole PlayerDB.&lt;br /&gt;
*Change: Added code to BlockDB to recover misaligned .fbdb files. BlockDB files are supposed to be aligned to 20 bytes. Misalignment might happen if writing didn&#039;t finish properly - e.g. power outage, or ungraceful shutdown.&lt;br /&gt;
*Change: Improved consistency of exit codes in [[HeartbeatSaver]], [[MapConverter]], and [[MapRenderer]].&lt;br /&gt;
&lt;br /&gt;
===0.632===&lt;br /&gt;
&#039;&#039;14 September 2012 - r1765&#039;&#039;&lt;br /&gt;
*Feature: Added standalone [[HeartbeatSaver]] utility, a heartbeat-sending daemon.&lt;br /&gt;
*Feature: Added a way to specify scale/turbulence/seed for cloudy brush.&lt;br /&gt;
*Feature: Renamed &amp;quot;IRC&amp;quot; LogType to &amp;quot;IRCStatus&amp;quot;, and added &amp;quot;IRCChat&amp;quot; LogType. Check your configs.&lt;br /&gt;
*Fix: Fixed the updater. You&#039;ll have to update from version 0.631 manually (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed a bug related to multiple players trying to join an almost-full server at the same time.&lt;br /&gt;
*Fix: Fixed a rare InvalidOperationException crash in ConfigGUI.&lt;br /&gt;
*Fix: Fixed reversed order in {{cmd|BlockInfo}} (thanks recon_).&lt;br /&gt;
*Fix: Fixed a few formatting errors in feedback messages.&lt;br /&gt;
*Fix: Fixed a rare disconnect related to a spectator trying to follow a spectatee to a full world.&lt;br /&gt;
*Fix: Fixed {{cmd|Hide}} not showing a fake disconnect message when needed.&lt;br /&gt;
*Fix: Fixed {{cmd|WRename}} prompting for file overwrite when changing capitalization in a world name.&lt;br /&gt;
*Fix: Fixed UndoArea/UndoAreaNot and UndoPlayer/UndoPlayerNot messages occasionally getting mixed up.&lt;br /&gt;
*Fix: Fixed players being unable to join the server if access restrictions prevent them from joining the rank-specific main world.&lt;br /&gt;
*Fix: {{cmd|WRemove}} now correctly handles removing rank-main worlds.&lt;br /&gt;
*Fix: Fixed a case where newlines in PlayerInfo or IPBanInfo fields would cause record corruption.&lt;br /&gt;
*Fix: Fixed reversed messages in {{cmd|DoNotMark}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed ServerCLI sometimes staying open, waiting on console input, when it&#039;s supposed to shut down or restart.&lt;br /&gt;
*Change: Sped up &amp;quot;cloudy&amp;quot; brush when working with large draw commands.&lt;br /&gt;
*Change: Crash reporter now submits list of names and versions of all loaded assemblies, to help identify mismatched or missing dependencies.&lt;br /&gt;
*Change: Added logging to every confirmation prompt, &amp;quot;/ok&amp;quot;, {{cmd|BlockDB}} enabling/disabling/clearing, {{cmd|ZRemove}}, {{cmd|InfoSwap}}, and {{cmd|Env}}.&lt;br /&gt;
*Change: Any pending confirmations are now reset on world change.&lt;br /&gt;
*Change: Added /I as an alias for {{cmd|Info}}, and /CS as an alias for {{cmd|CopySlot}}.&lt;br /&gt;
*Change: Removed &amp;quot;marbled&amp;quot; brush (&amp;quot;cloudy&amp;quot; works just as well) and FCMv4 map format support (development canceled).&lt;br /&gt;
*Change: {{cmd|Where}} command now only requires {{perm|ViewOthersInfo}} permission to see other players&#039; whereabouts. It can be used by anyone on self.&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.631===&lt;br /&gt;
&#039;&#039;5 September 2012 - r1741&#039;&#039;&lt;br /&gt;
*Feature: Added a way to restrict commands to match online players&#039; names only, by prefixing the name with an exclamation mark (!). See [[Command Tips]] for more.&lt;br /&gt;
*Feature: Added {{cmd|DoNotMark}} command. When toggled on, clicking on blocks does not cause marks to be added to a selection.&lt;br /&gt;
*Fix: Included MapConverter.exe and MapRenderer.exe in list of protected filenames.&lt;br /&gt;
*Fix: Fixed a potential crash in Paths.FileExists when working in case-sensitive mode in a root directory.&lt;br /&gt;
*Fix: Fixed ConfigGUI not loading permission limits properly (thanks recon_).&lt;br /&gt;
*Fix: Added missing fake connection message when using non-silent {{cmd|Unhide}} (thanks Wundsalz).&lt;br /&gt;
*Change: Improvements to fCraft&#039;s built-in crash reporter.&lt;br /&gt;
*Change: Blocks redone with {{cmd|Redo}} are now flagged as &amp;quot;Redone&amp;quot; in /BlockInfo (instead of &amp;quot;UndoneSelf&amp;quot;), [[/Paint|painted]] blocks as &amp;quot;Painted&amp;quot; (instead of &amp;quot;Manual, Replaced&amp;quot;).&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.630===&lt;br /&gt;
&#039;&#039;4 September 2012 - r1727&#039;&#039;&lt;br /&gt;
*Feature: New permissions! {{perm|FlushWorlds}} (previously part of {{perm|ManageWorlds}}), {{perm|UseTimers}} (previously part of {{perm|Say}}), and {{perm|UndoAll}}.&lt;br /&gt;
*Feature: Added ability to undo multiple players&#039; actions at once, or EVERYONE&#039;s actions at once, using {{cmd|UndoPlayer}} and {{cmd|UndoArea}}. Command syntax changed, see wiki.&lt;br /&gt;
*Feature: {{cmd|Info}} now shows whether minecraft.net accounts are free or paid.&lt;br /&gt;
*Feature: Added special &amp;quot;skip&amp;quot;/&amp;quot;none&amp;quot; blocktype, usable with brushes and draw commands.&lt;br /&gt;
*Feature: Added ability to clear world/zone whitelists and blacklists. Use &amp;quot;-*&amp;quot; in place of player name to clear whitelist, and &amp;quot;+*&amp;quot; to clear blacklist.&lt;br /&gt;
*Feature: Added a way to remove all zones in a world, {{cmd|ZRemove|*}}.&lt;br /&gt;
*Feature: Added {{cmd|UndoAreaNot}} (/uan) and {{cmd|UndoPlayerNot}} (/upn), which reverse changes made by everyone EXCEPT the given player(s).&lt;br /&gt;
*Feature: Added [[MapConverter]] and [[MapRenderer]] utilities.&lt;br /&gt;
*Feature: {{cmd|CuboidW}} now supports optionally filling sides and center with different blocktypes, e.g. &amp;quot;/cw white blue red&amp;quot;.&lt;br /&gt;
*Fix: Fixed ServerCLI launching the wrong fCraft binary after running the updater.&lt;br /&gt;
*Fix: Fixed a missing warning in {{cmd|Gen}} when map height is not a multiple of 16.&lt;br /&gt;
*Fix: Fixed a rare case of players receiving desynchronized copies of maps where draw commands are in progress.&lt;br /&gt;
*Fix: Fixed a crash in {{cmd|Commands|&amp;lt;Category&amp;gt;}}&lt;br /&gt;
*Fix: Fixed potential crashes when working with files in root directories (e.g. C:/)&lt;br /&gt;
*Fix: Improved {{cmd|BanEx}} logging.&lt;br /&gt;
*Fix: Improved support for Myne/MyneCraft/HyveBuild/iCraft maps.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog in ConfigGUI defaulting to 20 minutes, instead of &amp;quot;(default)&amp;quot;.&lt;br /&gt;
*Fix: Fixed SaveInterval and BackupInterval being limited to just 100 seconds/minutes in ConfigGUI (thanks Hellenion).&lt;br /&gt;
*Fix: Improved consistency of timestamp format in logs (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed being unable to remove world greetings via {{cmd|WSet}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed IRC bot cutting off long messages (thanks Hellenion).&lt;br /&gt;
*Change: Improved performance of {{cmd|Gen}}, {{cmd|WLoad}}, world loading, and all BlockDB-related commands.&lt;br /&gt;
*Change: Adjustments to block names and aliases, as well as command aliases.&lt;br /&gt;
*Change: Merged {{cmd|Cancel}} and /Nvm commands.&lt;br /&gt;
*Change: &amp;quot;&amp;amp;N&amp;quot; is now usable as a &amp;quot;newline&amp;quot; constant in all configurable strings (rules, announcements, greetings, etc), and &amp;quot;%N&amp;quot; is usable by players with {{perm|UseColorCode}} permissions.&lt;br /&gt;
*Change: Made {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} usable by frozen players.&lt;br /&gt;
*Change: Added a warning to /Colors regarding the minimum rank required to use colorcodes in chat (thanks Jonty800).&lt;br /&gt;
*Change: Ignoring a player no longer prevents you from seeing {{cmd|Say}} messages written by them.&lt;br /&gt;
*Change: {{cmd|Paint}}, {{cmd|Solid}}, {{cmd|Grass}}, {{cmd|Water}}, and {{cmd|Lava}} are no longer usable by players without Build permission, and dont show up in /Commands for them.&lt;br /&gt;
*Change: Clarified {{cmd|ZEdit}} messages when trying to remove self from blacklist, or add yourself to whitelist.&lt;br /&gt;
*Change: {{cmd|Mute}}, {{cmd|Unmute}}, {{cmd|Freeze}}, and {{cmd|Unfreeze}} are now also usable on offline players.&lt;br /&gt;
*Change: Session threads are no longer marked as &amp;quot;background&amp;quot;, to prevent unexpected side effects from session threads being aborted on shutdown. This might slow down shutdown a bit, but there is less to go wrong.&lt;br /&gt;
*Change: World greetings can now support constants.&lt;br /&gt;
*Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.&lt;br /&gt;
*Change: Process exit code is now set to match ShutdownReason.&lt;br /&gt;
*API: Added ChatTimer.Started and ChatTimer.Stopped events, rewrote BlockDB, MapConversion, and IsoCat APIs.&lt;br /&gt;
*API: Many documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.624===&lt;br /&gt;
&#039;&#039;16 July 2012 - r1636&#039;&#039;&lt;br /&gt;
*Fix: Fixed BlockDB time-limiting code trimming too much data from the database.&lt;br /&gt;
*Fix: CommandBook ban import now accepts any filename that ends with &amp;quot;.csv&amp;quot;, not just &amp;quot;bans.csv&amp;quot;.&lt;br /&gt;
*Fix: ServerCLI no longer crashes upon receiving EOF from console.&lt;br /&gt;
*Fix: Fixed a rare case of hidden players being revealed (briefly) when their rank is changed.&lt;br /&gt;
*Fix: Fixed [[/Spectate]] leaving ghost players behind on world change (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed a couple typos in [[/WLock]] and [[/WUnlock]] (thanks ImNoobSoWhat).&lt;br /&gt;
*Change: Added server name to [[/ServerInfo]]&lt;br /&gt;
*Change: If opening a link fails (from ConfigGUI or ServerGUI), the URL is copied to clipboard, instead of crashing.&lt;br /&gt;
*Change: &amp;quot;[[/Import]] bans&amp;quot; no longer prints a message for every player who&#039;s already banned, instead showing a total number of already-banned players at the end.&lt;br /&gt;
*Change: Added a missing &amp;quot;Copy&amp;quot; context menu to the ServerGUI&#039;s log box (thanks to Jonty800).&lt;br /&gt;
*Change: fCraft front-ends now check fCraft.dll&#039;s assembly version, and refuse to start if there is a mismatch (Thanks Zaneo).&lt;br /&gt;
&lt;br /&gt;
===0.623===&lt;br /&gt;
&#039;&#039;9 July 2012 - r1624&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in [[/PasteX]] and [[/PasteNotX]].&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] crash when given a non-banned IP address.&lt;br /&gt;
*Fix: Fixed a crash in Player.DetectChatSpam if AntiSpam was supposed to be disabled.&lt;br /&gt;
*Fix: Fixed typos in comments and messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed a crash in [[/ZAdd]] (thanks thelonedrummer18).&lt;br /&gt;
&lt;br /&gt;
===0.622===&lt;br /&gt;
&#039;&#039;6 July 2012 - r1619&#039;&#039;&lt;br /&gt;
*Feature: ServerGUI message log is now color-coded, easier to select/copy/paste, and featuring clickable links.&lt;br /&gt;
*Fix: Fixed several regressions in [[/Hide]] and [[/Spectate]] that were introduced in 0.620-0.621 (thanks mark_b).&lt;br /&gt;
*Fix: Fixed [[/Deafen]] being usable from console (thanks phonebookguy).&lt;br /&gt;
*Fix: Fixed a crash in Paste/PasteNot/PasteX/PasteNotX (thanks Grant).&lt;br /&gt;
*Misc: Updated some draw command messages, credits, help entries, warnings.&lt;br /&gt;
&lt;br /&gt;
===0.621===&lt;br /&gt;
&#039;&#039;5 July 2012 - r1612&#039;&#039;&lt;br /&gt;
*Feature: Added CommandBook banlist (bans.csv) support to [[/Import]].&lt;br /&gt;
*Feature: Added a way to list all players of a certain rank with &amp;quot;[[/Info]] @ClassName&amp;quot;.&lt;br /&gt;
*Feature: Added {PLAYER_LIST} variable, for use in greetings/announcements/rules.&lt;br /&gt;
*Fix: Fixed changes to DefaultBackupInterval config key not being applied.&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] showing &amp;quot;players on same IP&amp;quot; for players without a recorded IP address.&lt;br /&gt;
*Fix: Fixed fCraft occasionally using localized datetime and number formatting.&lt;br /&gt;
*Fix: Fixed [[/Cut]] storing the selected blocks before checking player&#039;s draw limit (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed [[/Fill2D]] starting a selection even if command parameters could not be parsed (thanks David00143).&lt;br /&gt;
*Fix: Fixed [[/Copy]] and [[/Cut]] reporting incorrect origin information (thanks nope__avi).&lt;br /&gt;
*Fix: Players who are spectating or being spectated by you are no longer hidden from the tab player list (thanks ruggedbear).&lt;br /&gt;
*Change: If multiple players are spectating the same player, they no longer see each other (thanks Hellenion).&lt;br /&gt;
*Change: Small improvements and fixes to [[/WSet]] and to AntiSpam functionality.&lt;br /&gt;
*Change: Sped up PlayerDB loading on startup.&lt;br /&gt;
*Change: Added shortcuts for [[/SetInfo]] field names.&lt;br /&gt;
&lt;br /&gt;
===0.620===&lt;br /&gt;
&#039;&#039;17 June 2012 - r1592&#039;&#039;&lt;br /&gt;
*Feature: WoM Direct description and flags can now be set from config, without the need to go to WoM Direct website.&lt;br /&gt;
*Feature: Added a new [[/WSet]] command, that allows hiding worlds, changing backup settings, and setting greeting messages.&lt;br /&gt;
*Feature: More [[/WInfo]] information is persisted across server restarts: IsLocked, LockedBy, UnlockedBy, LoadedBy, LoadedOn, MapChangedBy, MapChangedOn.&lt;br /&gt;
*Feature: Added IRCStripMinecraftColors config key (default: true). It determines whether Minecraft colorcodes (ampersand codes) entered on IRC should be removed before showing the message in-game.&lt;br /&gt;
*Fix: Fixed incorrect percentages occasional being printed by [[/Measure]], [[/Cancel]], and [[/Undo]].&lt;br /&gt;
*Fix: Locked worlds remain locked after server restart.&lt;br /&gt;
*Fix: Addressed many flaws and glitches in the backup system.&lt;br /&gt;
*Fix: Fixed a case where draw commands that affected no blocks caused division by zero&lt;br /&gt;
*Fix: Fixed a PlayerDB record corruption bug that affected numbers over 100,000,000.&lt;br /&gt;
*Fix: Fixed a stability issue related to LineWrapper (thanks Kevinsweijen and Mc_MrCat).&lt;br /&gt;
*Fix: Fixed IRC markup codes being forwarded to the server in IRC&#039;s channel-kick messages.&lt;br /&gt;
*Fix: Fixed [[/Unmute]] not checking rank limits (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;IP&amp;gt;&amp;quot; and &amp;quot;[[/BanAll]] &amp;lt;PlayerName&amp;gt;&amp;quot; not checking ban exemptions when kicking players (thanks BobKare).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;PlayerName&amp;gt;&amp;quot; not kicking all the players from IP address.&lt;br /&gt;
*Fix: Fixed Undo/Redo messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed compatibility with Mono 2.10.8.1 (thanks Hawkzeh).&lt;br /&gt;
*Change: Removed [[/WHide]] and [[/WUnhide]] (obsoleted by [[/WSet]]).&lt;br /&gt;
&lt;br /&gt;
===0.618===&lt;br /&gt;
&#039;&#039;22 April 2012 - r1568&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in ConfigGUI when trying to sort by map size and a map file is missing (thanks Moose).&lt;br /&gt;
*Change: Ampersands are no longer allowed in chat, even escaped, due to unpredictable Minecraft client behavior.&lt;br /&gt;
&lt;br /&gt;
===0.617===&lt;br /&gt;
&#039;&#039;21 April 2012 - r1564&#039;&#039;&lt;br /&gt;
*Feature: [[/BInfo]] now accepts optional XYZ coordinates, like [[/Mark]].&lt;br /&gt;
*Fix: Added a workaround for &amp;quot;Internal error Flush&amp;quot; under Mono.&lt;br /&gt;
*Fix: Fixed [[/WBring]] printing incorrect usage syntax (thanks recon_)&lt;br /&gt;
*Fix: Fixed typo in [[/BlockDB]] (thanks xN8Gx)&lt;br /&gt;
*Fix: Fixed IRC bots not binding to the specified local endpoint.&lt;br /&gt;
*Fix: Fixed &amp;quot;PreviousRank&amp;quot; not getting updated by [[/SetInfo]] working (thanks nope__avi)&lt;br /&gt;
*Fix: Fixed several rare stability issues (thanks Kevinsweijen).&lt;br /&gt;
*Fix: Fixed [[/Undo]] and [[/Redo]] producing odd log messages if 0 blocks have been changed.&lt;br /&gt;
*&amp;lt;s&amp;gt;Change: Allowed &#039;&amp;amp;&#039; character (ampersand) to be entered in chat, which is now escaped.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===0.616===&lt;br /&gt;
&#039;&#039;10 March 2012 - r1498&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Import]] terminating when importing bans, if a player with the given name is already banned.&lt;br /&gt;
*Fix: Fixed a formatting error in [[/Bring]] and [[/WBring]] confirmation messages.&lt;br /&gt;
*Fix: Fixed mixed-up messages in [[/WAccess]] and [[/WBuild]] when removing players from blacklist/whitelist (thanks ruggedbear and xN8Gx)&lt;br /&gt;
*Fix: Fixed [[/Static]] not turning off after switching worlds (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed [[/Rotate]] printing incorrect copyslot number (thanks Mc_MrCat)&lt;br /&gt;
*Fix: Fixed a ServerGUI crash when pressing the down arrow key after typing in the first console message (thanks Jason)&lt;br /&gt;
*Fix: [[/Me]] messages no longer count towards stats twice (thanks recon_)&lt;br /&gt;
*Fix: [[/Mute]] and [[/Unmute]] now usable with &amp;quot;-&amp;quot; in place of player name (thanks thelonedrummer18)&lt;br /&gt;
*Fix: Fixed README.txt typo (thanks Wolfmade)&lt;br /&gt;
&lt;br /&gt;
===0.615===&lt;br /&gt;
&#039;&#039;2 February 2012 - r1445&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Patrol]] checking Spectate permission, and [[/SpecPatrol]] not checking it.&lt;br /&gt;
*Fix: Fixed [[/WRename]] not updating player&#039;s last-used-world-name (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed colorcodes (%-codes) not getting applied consistently (thanks BobKare)&lt;br /&gt;
*Fix: Fixed a rare name-verification issue that only affected players whose ranks have been imported (thanks Mc_MrCat)&lt;br /&gt;
*Fix: ServerGUI now correctly interprets &amp;quot;Notify&amp;quot; and &amp;quot;Auto&amp;quot; updater settings.&lt;br /&gt;
*Change: Data backups are now stored in ./databackups/ directory.&lt;br /&gt;
&lt;br /&gt;
===0.614===&lt;br /&gt;
&#039;&#039;24 January 2012 - r1426&#039;&#039;&lt;br /&gt;
*Fix: Fixed server crashing if PlayerDB.txt exists but is empty.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Join]] -&amp;quot; using player names, and &amp;quot;[[/TP]] -&amp;quot; using world names.&lt;br /&gt;
*Fix: Solved File.Replace-related errors, which caused occasional save failures.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking caller&#039;s Spectate permission limit when selecting the next target.&lt;br /&gt;
*Fix: Fixed &amp;quot;random&amp;quot; brush producing obvious repeating patterns.&lt;br /&gt;
*Fix: Fixed auto-updater occasionally freezing when attempting to &amp;quot;Restart Now&amp;quot;.&lt;br /&gt;
*Fix: Added permission limit check to [[/Unfreeze]] (thanks Xb0x4d4m)&lt;br /&gt;
*Fix: Improved the way [[/Bring]] and [[/WBring]] enforce access permissions (thanks Hellenion)&lt;br /&gt;
*Change: Added more information about player connects/disconnects to log file.&lt;br /&gt;
&lt;br /&gt;
===0.613===&lt;br /&gt;
&#039;&#039;11 January 2012 - r1401&#039;&#039;&lt;br /&gt;
*Fix: Fixed ConfigGUI not saving changes to ShowConnectionMessages key.&lt;br /&gt;
*Fix: Fixed a case where ConfigGUI could crash while attempting to rename a world.&lt;br /&gt;
*Fix: All spectate permissions are now re-checked when someone gets promoted or demoted.&lt;br /&gt;
*Fix: Fixed ConfigGUI Worlds tab crash when dealing with zoned maps.&lt;br /&gt;
*Fix: Fixed IRC bot not retrying for desired nickname after reconnecting&lt;br /&gt;
*Fix: Fixed a case where editing a world via ConfigGUI would clear security whitelists/blacklists.&lt;br /&gt;
*Fix: Fixed spectating players not being treated as hidden (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed formatting in &amp;quot;Player ___ got auto-kicked&amp;quot; message (thanks BobKare)&lt;br /&gt;
*Fix: Fixed auto-kick revealing hidden players (thanks BobKare)&lt;br /&gt;
*Fix: Fixed RandomBrush-related [[/Undo]] artifacts in [[/Triangle]] (thanks Lunara_Noctis)&lt;br /&gt;
&lt;br /&gt;
===0.612===&lt;br /&gt;
&#039;&#039;14 December 2011 - r1307&#039;&#039;&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] @Rank&amp;quot; not autocompleting rank names.&lt;br /&gt;
*Fix: Fixed compatibility with legacy PlayerDB format versions. PlayerDB files created by fCraft 0.400+ will work again.&lt;br /&gt;
*Fix: Fixed several syntax problems and crashes in /Gen.&lt;br /&gt;
*Fix: Fixed a bug that reset a world&#039;s BackupInterval to default and IsLocked flag to false after changing the map (backport from 0.700).&lt;br /&gt;
*Fix: Fixed a bug that prevented kicks/bans/promotions/demotions from being announced on IRC if no reason was given.&lt;br /&gt;
*Change: Capped all user-entered time spans at 9999 days.&lt;br /&gt;
*Change: Shortened and clarified some confirmation prompts ([[/Gen]], [[/WLoad]], [[/ZRemove]], [[/Import]], [[/MassRank]]).&lt;br /&gt;
&lt;br /&gt;
===0.611===&lt;br /&gt;
&#039;&#039;3 December 2011 - r1282&#039;&#039;&lt;br /&gt;
*Feature: Added information about periodic backups to [[/WInfo]].&lt;br /&gt;
*Fix: Fixed [[/Players]] not working properly if both world name and offset were given.&lt;br /&gt;
*Fix: Fixed [[/WAccess]], [[/WBuild]], and [[/ZEdit]] not working with one-letter rank names.&lt;br /&gt;
*Fix: Fixed [[/BanIP]], /BanAll, /UnbanIP, and /UnbanAll treating fully numeric player names as IPs.&lt;br /&gt;
*Fix: Fixed [[/SetInfo]] not resetting PlayerInfo.LastModified date.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] populated&amp;quot; revealing worlds with hidden players.&lt;br /&gt;
*Fix: Fixed [[/BringAll]] ignoring per-rank limits in some cases (thanks ferny530)&lt;br /&gt;
*Fix: Fixed appearance of black and white blocks in [[/Env]] edges (thanks Jonty)&lt;br /&gt;
*Fix: Fixed a bug in Position.Equals&amp;lt;Position&amp;gt;(), which may have caused unnecessary position updates in Player.UpdateVisibleEntities (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed a little crash in Chat.GetRawMessageType (thanks ruggedbear)&lt;br /&gt;
*Fix: Fixed a case where Player.CanPlace checked permissions against the wrong world&#039;s BuildSecurity controller (thanks Xesdra)&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Commands]] @Rank&amp;quot; showing hidden commands (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed a typo in [[/Worlds]] (thanks Kevinsweijen)&lt;br /&gt;
*Fix: Fixed BlockDBAutoEnable and BlockDBAutoEnableRank config keys being placed in the &amp;quot;General&amp;quot; section.&lt;br /&gt;
*Change: Improved config.xml format (now version 152). Configs created with fCraft 0.611+ will not be usable with older versions of fCraft.&lt;br /&gt;
*Change: Rewrote ServerGUI startup code to make it more responsive (thanks to 800craft for the idea).&lt;br /&gt;
*Change: Added information about command-line options to the README, and fixed some typos.&lt;br /&gt;
*Change: MaxConnectionsPerIP restriction no longer applies to localhost.&lt;br /&gt;
*Change: Increased block-ratio limit for &amp;quot;random&amp;quot;, &amp;quot;cloudy&amp;quot;, and &amp;quot;marbled&amp;quot; brushes from 1000 to 10,000.&lt;br /&gt;
&lt;br /&gt;
===0.610===&lt;br /&gt;
&#039;&#039;18 November 2011 - r1240&#039;&#039;&lt;br /&gt;
*Feature: Added [[/Fill2D]] (/f2d), [[/Triangle]] (/t), and [[/TriangleW]] (/tw) draw commands.&lt;br /&gt;
*Feature: Added ability to filter [[/Worlds]] by rank.&lt;br /&gt;
*Feature: Added [[/Static]] (a way to repeat selection commands).&lt;br /&gt;
*Feature: Added MaxUndoStates config key (how many steps back can [[/Undo]] go), and ConfigGUI bindings.&lt;br /&gt;
*Feature: Added experimental IP-range lookup to [[/Info]] (CIDR notation). Changed /Info pattern-matching single-character symbol from &#039;.&#039; to &#039;?&#039;&lt;br /&gt;
*Feature: Added pagination to [[/Players]].&lt;br /&gt;
*Feature: [[/Spectate]] and [[/SpecPatrol]] now show what commands, PMs, and rank messages the target types in.&lt;br /&gt;
*Feature: Added a way to change server salt without needing a restart, using &amp;lt;code&amp;gt;[[/Reload]] Salt&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: [[/Measure]] now shows statistics about block types in the selection.&lt;br /&gt;
*Feature: [[/Gen]] now has two new templates: &amp;quot;ocean&amp;quot; and &amp;quot;empty&amp;quot;&lt;br /&gt;
*Fix: Many fixes in name-retyping functionality.&lt;br /&gt;
*Fix: Addressed stability issues in LineWrapper and Undo/Redo.&lt;br /&gt;
*Fix: Fixed [[/WLock]] not canceling all draw commands (as intended).&lt;br /&gt;
*Fix: Fixed some outdated descriptions, links, and tooltips in ConfigGUI.&lt;br /&gt;
*Fix: Fixed being able to BanIP/BanAll/UnbanIP/UnbanAll invalid IP addresses (0.0.0.0 and 255.255.255.255).&lt;br /&gt;
*Fix: Fixed [[/Info]] printing a blank page (instead of the last page) if given offset is greater than the total number of matches.&lt;br /&gt;
*Fix: Fixed rank prefixes being appended to players&#039; names if DisplayedName is set.&lt;br /&gt;
*Fix: Fixed a couple rare crashes/hangs in ServerGUI when parsing console commands.&lt;br /&gt;
*Fix: Fixed [[/Ban]] and [[/Unban]] announcing when they&#039;re not supposed to.&lt;br /&gt;
*Fix: Fixed a potential crash in [[/BanInfo]] when looking up an IP address directly (no player name).&lt;br /&gt;
*Fix: Fixed another obscure way of revealing hidden players.&lt;br /&gt;
*Fix: Fixed Beta client kick message (thanks Voziv).&lt;br /&gt;
*Fix: Fixed [[/Commands]] defaulting to printing ALL commands.&lt;br /&gt;
*Fix: Fixed [[/Undo]] trying to re-cancel canceled commands.&lt;br /&gt;
*Fix: Fixed uncaught &amp;quot;Illegal characters in path.&amp;quot; exception when trying to save a [[/Gen]]&#039;erated map to an invalid filename.&lt;br /&gt;
*Fix: Fixed typos in [[/ReplaceNot]] and [[/UndoArea]].&lt;br /&gt;
*Change: Added a warning on startup if name verification is disabled.&lt;br /&gt;
*Change: Tweaks and improvements to [[/Info]], [[/WInfo]], [[/BanInfo]], [[/SetInfo]], and [[/Commands]].&lt;br /&gt;
*Change: Removed code that tries next port if the given one could not be used. Now fCraft either starts on the port specified in config, or dies.&lt;br /&gt;
*Change: Commands now complain about being given too many parameters (in addition to complaining about too few parameters). This should help catch mistyped commands.&lt;br /&gt;
*Change: Added an option to disable giant-tree generation in ConfigGUI&#039;s map generator.&lt;br /&gt;
*Change: Changed log format for bans/kicks to include more information, and fixed log message format for &amp;quot;Player ____ logged in from an IP shared by banned players...&amp;quot;&lt;br /&gt;
*Change: Included config.xml in the automated data backup.&lt;br /&gt;
*Change: ConfigGUI tweaks and improvements.&lt;br /&gt;
*Change: Changes some aliases:&lt;br /&gt;
**Added /Whois and /WhoWas as aliases for [[/Info]].&lt;br /&gt;
**Set &amp;quot;/B&amp;quot; and &amp;quot;/About&amp;quot; to be aliases for [[/BInfo]].&lt;br /&gt;
*Change: Changed some ConfigKey defaults:&lt;br /&gt;
**BlockDBEnabled defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
**WomEnableEnvExtensions defaults to &amp;quot;false&amp;quot;&lt;br /&gt;
**IRCBotAnnounceServerEvents defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
*Change: Discontinued ServerWinService (formerly fCraftWinService) subproject.&lt;br /&gt;
*API: Improved Vector3I, Vector3F, and Position classes a bit.&lt;br /&gt;
*API: New events: DrawOperation.Beginning / Began / Ended&lt;br /&gt;
*API: Changed the way PlayerInfo stores empty string fields. Instead of a 0-length string, it now uses nulls.&lt;br /&gt;
*Optimization: Sped up PlayerDB loading/saving, and boolean ConfigKey lookup.&lt;br /&gt;
&lt;br /&gt;
===0.604===&lt;br /&gt;
&#039;&#039;23 October 2011 - r1155&#039;&#039;&lt;br /&gt;
*Feature: Added support for repeating previously-entered player and world names. Just put a dash (-) in place of the player/world name when using a command, and fCraft will fill in the most-recently-used name.&lt;br /&gt;
*Fix: Fixed an occasional SecurityController-related crash in [[/Gen]], [[/WLoad]], and ConfigGUI world editor.&lt;br /&gt;
*Fix: Fixed an very rare problem in shutdown/restart commands.&lt;br /&gt;
*Fix: Fixed a rare crash that only happened if: MaxPlayers&amp;gt;128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.&lt;br /&gt;
*Fix: Fixed naming of paste/pastenot and pastex/pastenotx&lt;br /&gt;
*Fix: Fixed a permission exploit in /wbring (thanks to panda100123)&lt;br /&gt;
*Fix: Fixed [[/Rules]] section finder accidentally being case-sensitive.&lt;br /&gt;
*Fix: Fixed an issue with MCSharp/MCZall/MCLawl/MCQuai/MCStorm/MCForge/MCWhatever importer.&lt;br /&gt;
*Change: Decreased shading strength in IsoCat renderer.&lt;br /&gt;
*Change: Added /Who as an alias for [[/Players]], by request.&lt;br /&gt;
*Change: Clarified ConfigGUI description of name verification settings.&lt;br /&gt;
*Change: Normalized command name capitalization. Command names must now start with an uppercase letter, for consistency.&lt;br /&gt;
*API: Fixed inconsistencies in PlayerDB.txt header row format declaration.&lt;br /&gt;
&lt;br /&gt;
===0.603===&lt;br /&gt;
&#039;&#039;20 October 2011 - r1142&#039;&#039;&lt;br /&gt;
*Fix: [[/Cancel]] can no longer be repeated with &amp;quot;/&amp;quot; (no longer replaces previously-called command).&lt;br /&gt;
*Fix: Fixed [[/Rotate]] and [[/Mirror]] messing up if a paste command is in progress.&lt;br /&gt;
*Fix: Re-enabled crash interception and reporting.&lt;br /&gt;
&lt;br /&gt;
===0.602===&lt;br /&gt;
&#039;&#039;18 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Feature: One-click paste commands are now the default. Two-click aligned paste commands are now known as [[/PasteX]] (/PX) and [[/PasteNotX]].&lt;br /&gt;
*Feature: Added [[/ReplaceBrush]] (/RB) command (shortcut for &amp;lt;code&amp;gt;[[/Brush]] ReplaceBrush&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;[[/Cuboid]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: Added a way to change number of copy/paste slots per rank from ConfigGUI.&lt;br /&gt;
*Fix: Fixed a few typos and missing help entries.&lt;br /&gt;
*Fix: Fixed DrawOp completion message and log entry.&lt;br /&gt;
*Fix: Fixed [[/Paste]] and [[/PasteNot]] not properly clipping against world boundaries.&lt;br /&gt;
*Fix: Fixed ConfigGUI not preserving environment settings for worlds.&lt;br /&gt;
*Fix: Fixed ConfigGUI losing some worlds and showing some errors when importing from 0.5xx.&lt;br /&gt;
*Fix: Fixed [[/Bring]] not being usable from console.&lt;br /&gt;
*Fix: Fixed [[/WRename]] crashing if invalid characters (from filesystem&#039;s point of view) are present in the new name.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking for Spectate permission.&lt;br /&gt;
*Fix: Fixed [[/UndoArea]]&#039;d and [[/UndoPlayer]]&#039;ed blocks having &amp;quot;Restored&amp;quot; flag set in /bi&lt;br /&gt;
*Fix: Fixed a detached checkbox on &amp;quot;Worlds&amp;quot; tab of ConfigGUI.&lt;br /&gt;
*Fix: Fixed [[/Say]], [[/Staff]], and [[/Me]] getting logged twice.&lt;br /&gt;
*Fix: Fixed per-world backup settings being cleared on server restart.&lt;br /&gt;
*Fix: Fixed a rare NullReferenceException in WorldManager.LoadWorldList that occurred if the main world was missing, and the fallback world had access restrictions.&lt;br /&gt;
*Fix: Fixed some issues with BlockDB settings in &amp;quot;Add World&amp;quot; and &amp;quot;Edit World&amp;quot; popups of ConfiGUI.&lt;br /&gt;
*Fix: Fixed a rare ConfigGUI crash when resetting the rank tab whole one of the old ranks is selected.&lt;br /&gt;
*Change: Sped up [[/EllipsoidH]] and [[/SphereH]] slightly (thanks to Redshift).&lt;br /&gt;
*Change: Improved error handling in [[/Env]] when setting level.&lt;br /&gt;
*Change: Double-buffered the preview on &amp;quot;Chat&amp;quot; tab of ConfigGUI, to get rid of flicker.&lt;br /&gt;
*Change: Clarified auto-freeze message when trying to kick/ban someone without a required reason string.&lt;br /&gt;
&lt;br /&gt;
===0.601===&lt;br /&gt;
&#039;&#039;15 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Fixed several issues with [[/Undo]] and drawing commands.&lt;br /&gt;
&lt;br /&gt;
===0.600===&lt;br /&gt;
&#039;&#039;14 October 2011 - r1107&#039;&#039;&lt;br /&gt;
:&#039;&#039;See [http://www.fcraft.net/0.600/ http://www.fCraft.net/0.600] for a summary of changes, and upgrade notes.&#039;&#039;&lt;br /&gt;
*Chat: Added a {{cmd|Timer}} command for creating publicly-announced countdowns/timers.&lt;br /&gt;
*Chat: Added a way to cancel partial messages: &amp;lt;code&amp;gt;/Nvm&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Chat: Removed &amp;quot;Banned player ___ tried to log in&amp;quot; and &amp;quot;Player ___ tried to log in from a banned IP&amp;quot; messages.&lt;br /&gt;
*Chat: {{cmd|Say}}, {{cmd|Staff}}, and {{cmd|Me}} commands can no longer repeated using &amp;quot;/&amp;quot; shortcut.&lt;br /&gt;
*Chat: Added a warning when trying to PM deafened players.&lt;br /&gt;
*Chat: Added a shortcut for chatting to same rank: &amp;quot;@@ Message&amp;quot;&lt;br /&gt;
*Chat: Increased the number of blank lines sent by {{cmd|Clear}} to 30, to accommodate players with smaller-than-normal font sizes.&lt;br /&gt;
*Chat Fix: Fixed {{cmd|Say}}, {{cmd|Roll}}, {{cmd|Staff}}, and {{cmd|Me}} sometimes bypassing {{perm|Chat}} permission, mute check, or spam detection check.&lt;br /&gt;
*Chat Fix: Fixed rank chat being logged twice.&lt;br /&gt;
*Chat Fix: Fixed some system messages getting through to deafened players.&lt;br /&gt;
*Chat Fix: {{cmd|Deafen}} now clears the screen when toggled on.&lt;br /&gt;
*Commands: Rank and zone names now autocomplete.&lt;br /&gt;
*Commands: Players can no longer freeze, mute, kick, ban, unban, promote, or demote themselves.&lt;br /&gt;
*Commands: {{cmd|Players}} can now be called with an optional WorldName parameter, to only list players in a particular world.&lt;br /&gt;
*Commands: {{cmd|WLoad}} now takes two more optional parameters: build rank and access rank names.&lt;br /&gt;
*Commands: {{cmd|Info}} now shows last leave reason, idle time, freeze/mute information, and ban exemption status.&lt;br /&gt;
*Commands: Augmented {{cmd|Rules}} to support several rule categories.&lt;br /&gt;
*Commands: Added {{cmd|Spectate}} and {{cmd|SpecPatrol}} (&amp;lt;code&amp;gt;/SPat&amp;lt;/code&amp;gt;) commands.&lt;br /&gt;
*Commands: Added {{cmd|WBring}} (brings target player to a world);&lt;br /&gt;
*Commands: Added {{cmd|Spawn}} command (brings you to spawn). Typing &amp;quot;{{cmd|TP}}&amp;quot; no longer does the same thing, and {{cmd|TP}} now always requires {{perm|Teleport}} permission.&lt;br /&gt;
*Commands: Algorithm that {{cmd|Patrol}} uses to pick the next target was improved.&lt;br /&gt;
*Commands: Renamed Lock/Unlock commands to {{cmd|WLock}}/{{cmd|WUnlock}}, for consistency.&lt;br /&gt;
*Commands: Merged &amp;lt;code&amp;gt;/ReloadConfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/AutoRankReload&amp;lt;/code&amp;gt; into {{cmd|Reload}} command. Merged &amp;lt;code&amp;gt;/ImportRanks&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/ImportBans&amp;lt;/code&amp;gt; into {{cmd|Import}} command. Combined functionality of &amp;lt;code&amp;gt;/LockAll&amp;lt;/code&amp;gt; into {{cmd|WLock}}, and functionality of &amp;lt;code&amp;gt;/UnlockAll&amp;lt;/code&amp;gt; into {{cmd|WUnlock}}.&lt;br /&gt;
*Commands: {{cmd|Info}} and {{cmd|Worlds}} now support pagination.&lt;br /&gt;
*Commands: When world access permissions are changed with {{cmd|WAccess}}, players who lost ability to join the world will automatically be moved to main.&lt;br /&gt;
*Commands: Frozen player can no longer call most commands, with exception of: {{cmd|Clear}}, {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|RankInfo}}, {{cmd|ServerInfo}}, {{cmd|Ranks}}, {{cmd|Rules}}, {{cmd|Where}}, {{cmd|Help}}, {{cmd|Commands}}, {{cmd|Colors}}, {{cmd|Worlds}}, {{cmd|Zones}}, and {{cmd|ZInfo}}.&lt;br /&gt;
*Commands: {{cmd|Bring}} and {{cmd|WBring}} now give the option of overriding worlds&#039; access minimum-rank. Explicitly blacklisted players will continue to be barred.&lt;br /&gt;
*Commands: Added {{cmd|InfoSwap}} command, for swapping two players&#039; ranks and PlayerDB records.&lt;br /&gt;
*Commands: Added a way to abort a server shutdown or restart (&amp;quot;{{cmd|Shutdown|abort}}&amp;quot; or &amp;quot;{{cmd|Restart|abort}}&amp;quot;).&lt;br /&gt;
*Commands: {{cmd|RankInfo}} now shows copy/paste slots, idle kick time, and permission limits.&lt;br /&gt;
*Commands: Most time-related commands now take the [[Time formatting|compact format]] (e.g. 1m30s, 45s, 24h, etc).&lt;br /&gt;
*Commands: Color-coded {{cmd|Commands}}.&lt;br /&gt;
*Commands: Limited {{cmd|Mute}} duration to range between 1 second and 700 days (100 weeks).&lt;br /&gt;
*Commands: {{cmd|SetInfo}} now allows changing players&#039; DisplayedName.&lt;br /&gt;
*Commands: A warning is now shown when a player is kicked/banned, and other players are still connected from the IP.&lt;br /&gt;
*Commands: Added a way to add IP ban exemptions using {{cmd|BanEx}} (banning all players from IP except a particular one).&lt;br /&gt;
*Commands: Added automatic countdowns to {{cmd|Shutdown}} and {{cmd|Restart}}.&lt;br /&gt;
*Commands: Added more stats to {{cmd|ServerInfo}}.&lt;br /&gt;
*Commands: {{cmd|MassRank}} now defaults to silent, and takes a &amp;quot;reason&amp;quot; parameter.&lt;br /&gt;
*Commands: Added &amp;quot;/St&amp;quot; as an alias for {{cmd|Staff}}. Changed &amp;quot;/L&amp;quot; from being alias for {{cmd|Join}}, to being alias for {{cmd|Lava}}. Removed &amp;quot;/Cub&amp;quot; alias for {{cmd|Cuboid}}.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|UnbanIP}} and {{cmd|UnbanAll}} not announcing the unban reason.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Info}} not formatting names of offline players.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Restart}} breaking under Mono if working path contains spaces.&lt;br /&gt;
*Commands Fix: Fixed freeze/unfreeze printing wrong ranks in &amp;quot;You can only freeze players ranked ____ or lower&amp;quot; messages.&lt;br /&gt;
*Commands Fix: Fixed a rare crash in {{cmd|Rules}} when used from console.&lt;br /&gt;
*Commands Fix: {{cmd|BanIP}} and {{cmd|BanAll}} no longer allow to ban the IP if it&#039;s shared by any players whom caller is not allowed to ban.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Ignore}} and {{cmd|Unignore}} printing all matches at once on autocompletion.&lt;br /&gt;
*Commands Fix: Fixed a case where {{cmd|BringAll}} could reveal hidden players.&lt;br /&gt;
*Commands Fix: Fixed a few bugs in {{cmd|DumpStats}}, expanded player listing to top-5/bottom-5, and added &amp;quot;BlocksDrawn&amp;quot; stat.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Rank}} and {{cmd|TP}} commands showing up in {{cmd|Commands}} for ALL players.&lt;br /&gt;
*Commands Fix: Fixed a couple rare bugs in {{cmd|Roll}}.&lt;br /&gt;
*Commands Fix: Fixed broken {{cmd|BringAll}} support for bringing multiple ranks at once.&lt;br /&gt;
*Commands Fix: Fixed several obscure ways of revealing presence of hidden players via commands like {{cmd|ServerInfo}} and {{cmd|Worlds}}.&lt;br /&gt;
*Config: New config keys: BackupDataOnStartup (default: true), RestartInterval (default: 0), HeartbeatToWoMDirect (default: true), BlockDBEnabled (default: true), BlockDBAutoEnable (default: true), and BlockDBAutoEnableRank (default: DefaultRank), WoMEnableEnvExtensions (default: false).&lt;br /&gt;
*Config: Added {{perm|Spectate}} permission that covers {{cmd|Spectate}} and {{cmd|SpecPatrol}}.&lt;br /&gt;
*Config: Added {{perm|DrawAdvanced}} permission that covers {{cmd|Brush}}, {{cmd|Sphere, {{cmd|SphereH}}, {{cmd|Torus}}, and {{cmd|Restore}} commands.&lt;br /&gt;
*Config: Added {{perm|ManageBlockDB}} permission that covers {{cmd|BlockDB}}.&lt;br /&gt;
*Config: Added {{perm|UndoOthersActions}} permission that covers {{cmd|UndoPlayer}} and {{cmd|UndoArea}}.&lt;br /&gt;
*Config: {{cmd|Reload}} can now update more config keys without needing a restart: AutoRankEnabled, BandwidthUseMode, ConsoleName, DefaultRank, DefaultBuildRank, PatrolledRank.&lt;br /&gt;
*Config: Removed obsolete ShowBannedConnectionMessages config key.&lt;br /&gt;
*Config Fix: Fixed DefaultRank/DefaultBuildRank/PatrolledRank settings not being applied.&lt;br /&gt;
*ConfigGUI: Added BlockDB settings to &amp;quot;Worlds&amp;quot; tab and &amp;quot;Add/Edit World&amp;quot; dialog.&lt;br /&gt;
*ConfigGUI: Reorganized Rank tab.&lt;br /&gt;
*ConfigGUI: Relaxed restrictions on rank prefixes.&lt;br /&gt;
*ConfigGUI: Added &amp;quot;Insert Color&amp;quot; and &amp;quot;Insert Keyword&amp;quot; buttons to announce/rule/greeting editors in ConfigGUI, and a &amp;quot;Reset&amp;quot; button to revert edits.&lt;br /&gt;
*ConfigGUI: Any errors/warnings that are produced while loading &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt; in ConfigGUI are now displayed at startup.&lt;br /&gt;
*ConfigGUI Fix: ConfigGUI no longer loses worlds&#039; whitelists/blacklists.&lt;br /&gt;
*ConfigGUI Fix: Fixed several bugs related to renaming worlds.&lt;br /&gt;
*ConfigGUI Fix: Fixed several &amp;quot;Reset&amp;quot; bugs.&lt;br /&gt;
*ConfigGUI Fix: Fixed &amp;quot;Enable colors in IRC&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*ConfigGUI Fix: Fixed ConfigTool&#039;s Chat tab not updating to reflect changes in rank colors/prefixes.&lt;br /&gt;
*ConfigGUI Fix: Fixed sort order in Worlds tab when sorting by world size.&lt;br /&gt;
*ConfigGUI Fix: Fixed some rank dropdown menus in ConfigGUI showing &amp;quot;(lowest rank)&amp;quot; instead of &amp;quot;(default rank)&amp;quot; as the default option.&lt;br /&gt;
*Drawing: Introduced a brush/pattern system for draw commands. Rewrote (almost) all existing draw commands to take advantage of that new infrastructure. Brushes are: Normal (default), Checkered, Random, Cloudy, Marbled, Replace, ReplaceNot, ReplaceBrush.&lt;br /&gt;
*Drawing: Added a way to {{cmd|Undo}} up to five commands back. Use {{cmd|Redo to reverse it.&lt;br /&gt;
*Drawing: Added {{cmd|Torus}} drawing command, written and contributed by M1_Abrams.&lt;br /&gt;
*Drawing: Added support for multiple copy/paste slots, using {{cmd|CopySlot}}. Number of slots of configurable per-rank.&lt;br /&gt;
*Drawing: {{cmd|Replace}} and {{cmd|ReplaceNot}} can now take just one blocktype. The replacement type is inferred from the type of block player is holding when clicking.&lt;br /&gt;
*Drawing: {{cmd|Undo}} now cancels the last drawing commands.&lt;br /&gt;
*Drawing: Added a new [[Blocks|block name aliases]]: &amp;quot;g&amp;quot; for grass, &amp;quot;w&amp;quot; for water, &amp;quot;a&amp;quot; for air.&lt;br /&gt;
*Drawing Fix: Added a missing volume check to {{cmd|Line}}, and fixed {{cmd|CuboidW}} volume calculations.&lt;br /&gt;
*Drawing Fix: Fixed {{cmd|Copy}} and {{cmd|Cut}} reporting incorrect orientation.&lt;br /&gt;
*FrontEnd: Colored ConfigCLI log messages: red for errors, yellow for warnings, dark gray for debug, default (gray) for everything else. Call with &amp;quot;--noconsolecolor&amp;quot; parameter to disable.&lt;br /&gt;
*FrontEnd: ServerCLI now handles all updater modes properly, and downloads updater/restarts if needed.&lt;br /&gt;
*FrontEnd: Improved window titles.&lt;br /&gt;
*FrontEnd Fix: Fixed ServerCLI writing errors to stdout instead of stderr.&lt;br /&gt;
*Misc: Players who log out hidden will now log in silently, still hidden.&lt;br /&gt;
*Misc: More [[Constants|keywords]] are now usable in announcements, rules, and greeting files: {SERVER_NAME}, {MOTD}, {RANK}, {PLAYER_NAME}, {TIME}, {WORLD}, {PLAYERS}, and {WORLDS}&lt;br /&gt;
*Misc: Kicked or disconnected players no longer have their TotalTime increased for the time idled.&lt;br /&gt;
*Misc: fCraft will refuse to start up if running old versions of mono (2.4 or earlier).&lt;br /&gt;
*Misc: Crash reporter now prints a reference number for submitted reports.&lt;br /&gt;
*Misc: AutoRank now only evaluates online players on a timer. A full database sweep will only be done on startup or on-demand. This should notably reduce average CPU use on large databases.&lt;br /&gt;
*Misc: Added AutoRank pseudoplayer (similar to Console), who is now credited with all autorank promotions/demotions.&lt;br /&gt;
*Misc: Increased the allowed clicking distance when manually clicking blocks, to account for lag.&lt;br /&gt;
*Misc: IRC bot now announces channel kicks and nick changes.&lt;br /&gt;
*Misc: When a player with a reserved slot tries to join a full world, the longest-idle player will be kicked to make room.&lt;br /&gt;
*Misc: Frozen, demoted, and banned players are now automatically unhidden. Frozen players are undeafened. Banned players are also automatically unfrozen and unmuted.&lt;br /&gt;
*Misc: When a player&#039;s rank is changed, their bindings are now reset (to avoid issues with {{cmd|Water}}, {{cmd|Lava}}, and {{cmd|Solid}}), and any in-progress selection is canceled ([[:Category:Requires Draw|draw]] commands, {{cmd|Zone}}, {{cmd|ZTest}}, {{cmd|BInfo}}, {{cmd|Measure}}, etc)&lt;br /&gt;
*Misc: Frozen players now have a little blue star appended to their names, similar to the red star for banned players.&lt;br /&gt;
*Misc: Moved all heartbeat-related operations to the background thread (fixes lag spikes when minecraft.net times out).&lt;br /&gt;
*Misc: Added a dynamically updated compass at the top-right of the screen, visible to players who use WoM 1.8.8+&lt;br /&gt;
*Misc: Added a check for libMonoPosix on server startup. This allows catching misconfigured Mono setups early.&lt;br /&gt;
*Misc: Ranks now default to &amp;quot;white&amp;quot; color (&amp;quot;&amp;amp;f&amp;quot;) instead of &amp;quot;none&amp;quot; color (&amp;quot;&amp;quot;).&lt;br /&gt;
*Misc: Edited the &amp;quot;failed to load main world&amp;quot; message to sound less menacing, since it&#039;s usually caused just by main world filling up.&lt;br /&gt;
*Misc: Sped up {{cmd|PruneDB}}, {{cmd|MassRank}}, map generation. Reduced memory use of draw commands, undo buffers, and ConfigGUI.&lt;br /&gt;
*Misc Fix: Fixed &amp;quot;duplicate metadata key&amp;quot; warning in FCMv3 maps.&lt;br /&gt;
*Misc Fix: Fixed a zone-related race condition when exporting to Opticraft map format.&lt;br /&gt;
*Misc Fix: Fixed fCraft being unable to start if fCraft.dll is in the root directory of a drive (e.g. in &amp;quot;C:/&amp;quot;)&lt;br /&gt;
*Misc Fix: Fixed a bug that caused bandwidth to sometimes be wasted on needlessly updating position of non-moving players.&lt;br /&gt;
*Misc Fix: Fixed a clock drift problem in periodic SchedulerTasks.&lt;br /&gt;
*Misc Fix: Fixed a case where, in some rank configurations, players would see themselves as offline when hidden (in {{cmd|Info}}, {{cmd|BInfo}}, {{cmd|Players}}, etc).&lt;br /&gt;
*PlayerDB: Added 46th column: PlayerInfo.IsHidden (&#039;h&#039; if hidden, otherwise blank).&lt;br /&gt;
*PlayerDB: Added 47th column: PlayerInfo.LastModified (UTC unix timestamp). Accuracy is not yet guaranteed.&lt;br /&gt;
*PlayerDB: Added 48th column: PlayerInfo.DisplayedName (string or blank). Overrides &amp;quot;Name&amp;quot; field for purposes of displaying formatted name (ClassyName).&lt;br /&gt;
*PlayerDB: Removed 14th column (FailedLoginCount) due to disuse.&lt;br /&gt;
*PlayerDB: PlayerDB now writes out changes to TotalTime incrementally for online players, instead of applying the change on-logout.&lt;br /&gt;
*Worlds: Added a way to change some environment and texture settings per-map, using {{cmd|Env}}.&lt;br /&gt;
*Worlds: Per-world settings on backup intervals now work.&lt;br /&gt;
*Worlds: Added BlockDB - a system for tracking edits per-block. Added related {{cmd|BlockDB}} and {{cmd|BInfo}} commands.&lt;br /&gt;
*Worlds: Added {{cmd|UndoPlayer}} and {{cmd|UndoArea}} commands for undoing players&#039; actions using BlockDB.&lt;br /&gt;
*Worlds: If a world has a missing map file, a warning is now shown, and a default flatgrass map is created.&lt;br /&gt;
*Worlds: Added a way to set per-rank main world, using {{cmd|WMain}}.&lt;br /&gt;
*Worlds: Added {{cmd|Restore}} command, inspired by good old MinerCPP. Selectively loads a map from another file or backup.&lt;br /&gt;
*Worlds: Allowed non-standard dimensions (neither multiples of 16, nor powers of 2). Added a warning about glitches when using nonstandard dimensions.&lt;br /&gt;
*Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to {{cmd|WInfo}} and to &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worlds: MapGenerator tweaks: &amp;quot;default&amp;quot; template is now known as &amp;quot;random,&amp;quot; &amp;quot;mountains&amp;quot; template now has more cliffs and snow on mountaintops, &amp;quot;island&amp;quot; template is less rough and has nice beaches, and water is now automatically removed from &amp;quot;desert&amp;quot; maps.&lt;br /&gt;
*Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.&lt;br /&gt;
*Worlds Fix: Fixed an exploit that allowed players to bypass world access permissions in certain rank configurations.&lt;br /&gt;
*Worlds Fix: Fixed some rare crashes in {{cmd|WLoad}}.&lt;br /&gt;
*Worlds Fix: Fixed {{cmd|WAccess}} and {{cmd|WBuild}} occasionally not saving the world list after adding players to the access/build whitelists.&lt;br /&gt;
*Worlds Fix: Fixed being unable to change just the capitalization when renaming worlds from ConfigGUI, under Windows.&lt;br /&gt;
*Zones: Added {{cmd|ZRename}} command to rename zones.&lt;br /&gt;
*Zones: Added {{cmd|ZMark}} command to use zone boundaries for drawing or making selections.&lt;br /&gt;
*Zones Fix: Fixed {{cmd|ZAdd}} crash when adding more than one personal zone for the same player ({{cmd|ZAdd|+Name}}).&lt;br /&gt;
*Zones Fix: Fixed a rare case where two players could simultaneously create a zone with the same name on the same world, which would crash one of the players.&lt;br /&gt;
*Zones Fix: {{cmd|Zones}} no longer crashes if used on a world with a missing or corrupt map file.&lt;br /&gt;
*Zones Fix: Tightened security checks of {{cmd|ZAdd}} and {{cmd|ZRemove}} to prevent a permission exploit.&lt;br /&gt;
*API: Added specialized MetadataCollection class to manage per-map and per-player metadata, and ZoneCollection for zones.&lt;br /&gt;
*API: Added ReSharper-compatible annotations and more argument checks throughout the codebase.&lt;br /&gt;
*API: fCraft now consistently uses [X,Y,Z] for coordinates (where X/Y are horizontal, and Z is vertical), and [Width,Length,Height] for dimensions (Width/Length horizontal, Height vertical).&lt;br /&gt;
*API: Merged Session and Player classes. All session-related functionality is in Player.Networking.cs file.&lt;br /&gt;
*API: New line-wrapping algorithm provides better performance and safety. Now using &amp;quot;\n&amp;quot; instead of &amp;quot;&amp;amp;N&amp;quot; to force a newline.&lt;br /&gt;
*API: Renamed World.PlayerList to World.Players, Server.PlayerList to Server.Players, and added PlayerDB.PlayerInfoList&lt;br /&gt;
*API: New LINQ-style API for working with sets of players. This API is now used for all messaging and packet-sending. Old API (Server.Send* and World.Send*) was removed.&lt;br /&gt;
*API: New unified API for handling player-generated chat (Chat static class), and new events (Chat.Sending and Chat.Sent).&lt;br /&gt;
*API: All cancellable events now implement ICancellableEvent.&lt;br /&gt;
*API: MapDAT and MapNBT now implement IMapConverter.LoadHeader.&lt;br /&gt;
*API: Converted IClassy.GetClassyName(), Rank.GetFullName(), and Player.GetListName() to properties.&lt;br /&gt;
*API: Renamed ConfigKey.GetBool() to ConfigKey.Enabled(). Added ConfigKey.TryGetInt() and ConfigKey.TryGetBool() methods.&lt;br /&gt;
*API: CommandManager.RegisterCommand() now checks for reserved command names (currently &amp;quot;ok&amp;quot; and &amp;quot;nvm&amp;quot;), and does a better job at handling command name capitalization differences.&lt;br /&gt;
*API: Added ability to override Player.MaxBlockPlacementRange, Player.SocketTimeout, Heartbeat.Delay, and Heartbeat.Timeout.&lt;br /&gt;
*API: Renamed RankManager.ParseRank(string) to Rank.Parse(string)&lt;br /&gt;
*API: All draw/undo/copy/paste commands have been moved to fCraft.Drawing namespace.&lt;br /&gt;
*API: Added support for multiple {{cmd|Help}} sections per command.&lt;br /&gt;
*API: Added CommandCategory.Debug, removed CommandDescriptor.HelpHander and HelpHandler delegate.&lt;br /&gt;
*API: Moved Server.Player* events to Player.* and Server.PlayerInfo* to PlayerInfo.*&lt;br /&gt;
*API: Expanded the confirmation system (&amp;lt;code&amp;gt;/OK&amp;lt;/code&amp;gt;) to allow custom callbacks, decoupled from the command system.&lt;br /&gt;
*API Fix: &amp;quot;Bad heartbeat&amp;quot; reply from minecraft.net no longer triggers UrlChanged event.&lt;br /&gt;
*API Fix: Fixed a couple bugs in BoundingBox.GetIntersection and BoundingBox.Contains.&lt;br /&gt;
*API Fix: Fixed {{cmd|Replace}} and {{cmd|ReplaceNot}} not firing Player.PlacedBlock&lt;br /&gt;
*events.&lt;br /&gt;
*API Fix: Uncaught exceptions that occur while parsing player messages no longer send crash reports when in DEBUG configuration.&lt;br /&gt;
&lt;br /&gt;
=0.5xx=&lt;br /&gt;
&lt;br /&gt;
===0.537===&lt;br /&gt;
&#039;&#039;14 September 2011 - r991&#039;&#039;&lt;br /&gt;
*Fixed another heartbeat-related issue caused by minecraft.net updates.&lt;br /&gt;
&lt;br /&gt;
===0.536===&lt;br /&gt;
&#039;&#039;14 September 2011 - r988&#039;&#039;&lt;br /&gt;
*Fix: Fixed a rare crash in DoChangeRank when promoting/demoting offline players.&lt;br /&gt;
*Fix: Fixed a case where world access/build whitelist additions were not immediately saved.&lt;br /&gt;
*Fix: Fixed several errors in the way time spans were displayed.&lt;br /&gt;
*Fix: Unhandled exceptions in background task callbacks will no longer take down the server&lt;br /&gt;
*Change: Changed the heartbeat handler to use GET instead of POST (workaround for minecraft.net problems).&lt;br /&gt;
*Change: Removed AutoLauncher.&lt;br /&gt;
&lt;br /&gt;
===0.535===&lt;br /&gt;
&#039;&#039;1 July 2011 - r702&#039;&#039;&lt;br /&gt;
*Workaround for minecraft.net heartbeat changes.&lt;br /&gt;
&lt;br /&gt;
===0.534===&lt;br /&gt;
&#039;&#039;18 June 2011 - r668&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;lt;RestartInterval&amp;gt; config key (in seconds). It should help people who are suffering from Mono memory leaks. This setting can only currently be modified by editing config.xml&lt;br /&gt;
*Fix: Fixed /wload and /gen resetting the world&#039;s hidden status.&lt;br /&gt;
*Fix: Fixed &amp;quot;Apply&amp;quot; button not getting enabled in ConfigTool when world list is changed.&lt;br /&gt;
*Fix: Fixed /cw reporting incorrect volume (fixes #3308137).&lt;br /&gt;
*Fix: Added a confirmation when /wrename will result in overwriting a map file, and fixed a related crash (fixes #3311994).&lt;br /&gt;
*Fix: Fixed FormatException in error handling code in World.AcceptPlayer&lt;br /&gt;
*Fix: Fixed /info not showing formatted names for players who appear offline.&lt;br /&gt;
*Fix: Fixed several issues with renaming worlds from ConfigTool.&lt;br /&gt;
*Fix: Fixed /restart breaking under Mono if path contains spaces.&lt;br /&gt;
*Fix: Fixed /staff, /me, and /roll commands not requiring the Chat permission.&lt;br /&gt;
*Fix: Fixed &amp;quot;Use IRC colors&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*Change: Allowed all printable ASCII characters in chat except &#039;&amp;amp;&#039;.&lt;br /&gt;
*Change: Heartbeat tweaks to prevent &amp;quot;Bad heartbeat&amp;quot; from popping up.&lt;br /&gt;
*Optimization: ConfigTool starts up faster, and uses much less memory.&lt;br /&gt;
&lt;br /&gt;
===0.533===&lt;br /&gt;
&#039;&#039;24 May 2011 - r614&#039;&#039;&lt;br /&gt;
*Fix: Fixed a regression in 0.530 that erased some strings in PlayerInfo and IPBanInfo objects, such as ban reasons.&lt;br /&gt;
*Change: Increased heartbeat interval to 27.5 seconds.&lt;br /&gt;
*Change: Reduced jitter of player movement.&lt;br /&gt;
&lt;br /&gt;
===0.532===&lt;br /&gt;
&#039;&#039;23 May 2011 - r611&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;quot;/worlds loaded&amp;quot; command.&lt;br /&gt;
*Fix: Fixed a bug that prevented worlds from accepting any block changes after a map change (/wload or /gen)&lt;br /&gt;
*Fix: Fixed &amp;quot;Player _____ joined main.&amp;quot; displaying twice when players connect.&lt;br /&gt;
*Change: Added /colours as an alias to /colors&lt;br /&gt;
*Change: Adjusted /dumpstats security checks, and made it require EditPlayerDB permission (instead of Import).&lt;br /&gt;
&lt;br /&gt;
===0.531===&lt;br /&gt;
&#039;&#039;20 May 2011 - r603&#039;&#039;&lt;br /&gt;
*Feature: /SInfo now shows bandwidth use, fCraft version, and .NET/Mono version.&lt;br /&gt;
*Feature: Added ability to use coordinates with mark (e.g. &amp;quot;/Mark 0 0 0&amp;quot;).&lt;br /&gt;
*Fix: Fixed non-default rank settings not saving properly from ConfigTool.&lt;br /&gt;
*Fix: Fixed a serialization bug in IPBanList that happened if a ban reason was not given, or if an IP address was not associated with any player.&lt;br /&gt;
*Fix: Fixed a few minor bugs in /WMain.&lt;br /&gt;
*Change: Allowed the caret (^) in chat messages.&lt;br /&gt;
*Change: Reduced movement lag.&lt;br /&gt;
*Change: /version command has been removed due to redundancy with /sinfo.&lt;br /&gt;
*Change: Detailed reasons of player disconnects are now logged better.&lt;br /&gt;
*Change: Increased Minecraft.net heartbeat interval slightly.&lt;br /&gt;
*API: Added new events: Scheduler.TaskAdded, Scheduler.TaskExecuting, Scheduler.TaskExecuted, and Scheduler.TaskRemoved. These events are only available when fCraft.dll is built with DEBUG_SCHEDULER flag because of their performance impact.&lt;br /&gt;
*Optimization: Removed the scheduler overhead from having unloaded worlds.&lt;br /&gt;
*Optimization: Sped up MapGenerator by about 10%.&lt;br /&gt;
&lt;br /&gt;
===0.530===&lt;br /&gt;
&#039;&#039;7 May 2011 - r583&#039;&#039;&lt;br /&gt;
*Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.&lt;br /&gt;
*Feature: Added OptiCraft blocktype names and blocks&#039; numeric IDs as aliases.&lt;br /&gt;
*Fix: Fixed block bindings not being applied to drawing commands.&lt;br /&gt;
*Fix: Fixed fCraft getting confused if worlds.xml contains duplicates.&lt;br /&gt;
*Fix: Fixed &amp;quot;/&amp;quot; (repeat last command) not rewinding the command, which caused some issues with command arguments.&lt;br /&gt;
*Fix: Fixed &amp;quot;Max connections per IP&amp;quot; setting not saving in ConfigTool.&lt;br /&gt;
*Fix: Fixed AnnounceRankChangeReasons checkbox being erroneously tied to RequireRankChangeReasons key in ConfigTool.&lt;br /&gt;
*Fix: Added some missing tooltips to ConfigTool.&lt;br /&gt;
*Fix: Marked 10.0.0.0/8 IP range as LAN.&lt;br /&gt;
*Fix: Fixed an issue with balanced name verification (thanks wootalyzer).&lt;br /&gt;
*Fix: Fixed server announcing hidden players&#039; departure (#3292633). Thanks to Hellenion.&lt;br /&gt;
*Fix: Fixed /bring not checking per-rank permissions (#3292303). Thanks to Denny&lt;br /&gt;
*Fix: Fixed some header bugs in the D3 map converter.&lt;br /&gt;
*Fix: Fixed /wload crashing instead of printing an error message under Mono if the path was malformed.&lt;br /&gt;
*Fix: Fixed /banip not recognizing invalid IPs (e.g. broadcast).&lt;br /&gt;
*Fix: Fixed antispam resetting players&#039; mute time.&lt;br /&gt;
*Fix: Fixed Scheduler being able to add tasks after the shutdown process started.&lt;br /&gt;
*Fix: Reduced problems associated with players trying to connect while the server is shutting down.&lt;br /&gt;
*Fix: Added autorank.xml to the list of protected files.&lt;br /&gt;
*Fix: Fixed a crash in backup system that happened if two backups ran simultaneously and the total size or number of backup files was limited.&lt;br /&gt;
*Fix: Fixed a case where duplicate worlds could be created.&lt;br /&gt;
*Change: When players rejoin a world (e.g. /wflush or /wload), &amp;quot;joined world&amp;quot; message is no longer shown.&lt;br /&gt;
*Change: /mute no longer allows shortening players&#039; mute time, only to extend it.&lt;br /&gt;
*Change: Allowed player names with periods.&lt;br /&gt;
*Change: Removed SaveOnShutdown config key, tweaked range checks on some keys, grouped key tags into section tags.&lt;br /&gt;
*Change: When saving config.xml, keys with default values are now commented out.&lt;br /&gt;
*API: New events! PlayerHideChanged, PlayerInfoCreating, PlayerInfoCreated, PlayerInfoRankChanging, and PlayerInfoRankChanged.&lt;br /&gt;
*API: Server.StartServer() now throws specific exceptions on failure, instead of returning false.&lt;br /&gt;
*API: Removed some obsolete Server events.&lt;br /&gt;
*API: Switched to 100% Utc dates/times internally. PlayerDB now uses UTC Unix timestamps to serialize all dates/times.&lt;br /&gt;
*Optimization: Sped up map generation.&lt;br /&gt;
*Optimization: Reduced PlayerDB saving interval, reduced PlayerDB filesize, reduced CPU and memory use of PlayerDB saving, reduced memory footprint of loaded PlayerDB, improved IPAddress lookup performance in PlayerDB.&lt;br /&gt;
&lt;br /&gt;
===0.522===&lt;br /&gt;
&#039;&#039;16 April 2011 - r546&#039;&#039;&lt;br /&gt;
*Feature: Added more functionality to hollow ellipsoid and sphere, thanks to Redshift. Now it is possible to define outer/inner blocktypes.&lt;br /&gt;
*Feature: Added OptiCraft map format support, courtesy of LgZ-optical&lt;br /&gt;
*Fix: Fixed a serious error that caused a crash when main world became full. This bug affected 0.520 and 0.521.&lt;br /&gt;
*Fix: Fixed AutoLauncher not working under Mono (thanks to ven000m for spotting).&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog crashing if closed while generating a world.&lt;br /&gt;
*Fix: Fixed /restart using ShutdownReason.ShuttingDown (instead of ShutdownReason.Restarting) &lt;br /&gt;
*Fix: Fixed a crash in ConfigTool if MaxPlayers was set to be less than MaxPlayersPerWorld.&lt;br /&gt;
*Fix: When loading old configs (pre-0.520), MaxPlayersPerWorld is automatically set to match MaxPlayers, to avoid unexpected side effects.&lt;br /&gt;
*API: Added WorldCreating and WorldCreated events.&lt;br /&gt;
*API: Moved world-related commands from Server to a new class, WorldManager.&lt;br /&gt;
*API: Renamed RankList to RankManager, and CommandList to CommandManager, for consistency.&lt;br /&gt;
&lt;br /&gt;
===0.521===&lt;br /&gt;
&#039;&#039;12 April 2011 - r534&#039;&#039;&lt;br /&gt;
*Feature: Added a /Clear command, to clear in-game chat. Also works from fCraftConsole and fCraftUI.&lt;br /&gt;
*Fix: Added missing chat commands.&lt;br /&gt;
*Fix: Cosmetic fixes in /ZRemove.&lt;br /&gt;
&lt;br /&gt;
===0.520===&lt;br /&gt;
&#039;&#039;12 April 2011 - r532&#039;&#039;&lt;br /&gt;
*Feature: Removed the server-wide 128 player limit. Now the limit is per-world.&lt;br /&gt;
*Feature: You can now repeat the last command by typing &amp;quot;/&amp;quot;&lt;br /&gt;
*Feature: Added a way to use color codes in chat (with % instead of &amp;amp;), a UseColorCodes permission, and a /colors command.&lt;br /&gt;
*Feature: Added support for multi-line messages or commands. Add &amp;quot; /&amp;quot; to the end of a line to continue typing it.&lt;br /&gt;
*Feature: Added &amp;quot;/commands&amp;quot;, to replace &amp;quot;/help commands&amp;quot;. It allows filtering commands by rank, category, permissions, etc. Aliases: /cmdlist, /cmds&lt;br /&gt;
*Feature: New permissions: ViewPlayerIPs, BringAll&lt;br /&gt;
*Feature: New config switches: AnnounceRankChangeReasons and RequireKickReason.&lt;br /&gt;
*Feature: Replaced LimitOneConnectionPerIP config key (boolean) with a more flexible MaxConnectionsPerIP (int).&lt;br /&gt;
*Feature: Added /bringall command, for moving everyone (or only certain ranks) from your world (or optionally all worlds, or a list of other worlds) to your location.&lt;br /&gt;
*Feature: /bring can be limited per-rank&lt;br /&gt;
*Feature: When file is not found on case-sensitive filesystems, fCraft tries to syggest similar filenames.&lt;br /&gt;
*Feature: Added new constants to use in greeting.txt: {TIME}, {PLAYER_NAME}, {WORLD}, {PLAYERS}, {WORLDS}, {MOTD}&lt;br /&gt;
*Feature: Improved compatibility with SurvivalTest clients.&lt;br /&gt;
*Fix: Fixed /banip not kicking other players from the same IP (besides the named player)&lt;br /&gt;
*Fix: Added missing blocktype validation to MapFCMv2, MapFCMv3, MapMyne, and MapNBT.&lt;br /&gt;
*Fix: Fixed a rare shutdown crash in fCraftUI.&lt;br /&gt;
*Fix: Improved the way PlayerDB.Load handles errors in individual records. A single corrupted entry will no longer prevent the rest from loading.&lt;br /&gt;
*Fix: Fixed fCraftUI abruptly quitting on crash / failure to start, instead of showing the error message. Use &amp;quot;--exitoncrash&amp;quot; command-line switch to reproduce old behavior.&lt;br /&gt;
*Fix: Fixed ConfigTool&#039;s World tab not prompting to delete map files when deleting worlds.&lt;br /&gt;
*Fix: Fixed a bug in MCSharp importer (#3281305)&lt;br /&gt;
*Fix: Fixed a list of permissions in /rinfo not being sorted.&lt;br /&gt;
*Fix: Fixed /mute rank limit dropdown sometimes getting out of sync.&lt;br /&gt;
*Fix: Fixed IRC bot redundantly announcing kicks when someone has been banned.&lt;br /&gt;
*Fix: Fixed a bug where fCraft would fail to start if PlayerDB.txt was truncated/empty.&lt;br /&gt;
*Change: Moved &amp;quot;IP&amp;quot; config key from General to Advanced.&lt;br /&gt;
*Change: Added /spin as an alias to /rotate (for MCLawl users)&lt;br /&gt;
*API: New events: PlayerClicking, PlayerClicked, PlayerPlacingBlock, PlayerPlacedBlock, PlayerListChanged, PlayerBeingKicked, PlayerKicked&lt;br /&gt;
*Optimization: Reduced CPU use of draw commands by ~30%. Sped up PlayerDB loading by ~8%, and reduced memory use when saving. Also reduced PlayerDB filesize by about 15%&lt;br /&gt;
&lt;br /&gt;
===0.512===&lt;br /&gt;
&#039;&#039;2 April 2011 - r508&#039;&#039;&lt;br /&gt;
*Feature: /zones can now be used from console, and can be used on any world (active or inactive).&lt;br /&gt;
*Feature: Improved D3 map importer.&lt;br /&gt;
*Fix: Added missing filename sanity/safety checks to /dumpstats (#3267362, thanks to Hellenion)&lt;br /&gt;
*Fix: Fixed mixed up messages shown in /waccess and /wbuild (#3179189)&lt;br /&gt;
*Fix: Fixed crash reports sometimes failing to submit.&lt;br /&gt;
*Fix: Fixed /dumpstats crashing if a rank had 0 players.&lt;br /&gt;
*Fix: Made Mono version detection less crashy (#3267476, thanks to Hellenion again)&lt;br /&gt;
*Fix: Fixed MapUtility.LoadHeader terminating early, before going through all fallback converters.&lt;br /&gt;
*Fix: Fixed ConfigTool tab order.&lt;br /&gt;
*Fix: Fixed fCraft reporting inaccurate CPU usage figures.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in /rank if an invalid player name was given.&lt;br /&gt;
*Fix: Fixed fCraft project not building under Windows if path contains spaces.&lt;br /&gt;
*Change: Added &amp;quot;/serverreport&amp;quot; as an alias for &amp;quot;/sinfo&amp;quot;&lt;br /&gt;
*Change: Improved the way fCraft handles and reports map loading errors.&lt;br /&gt;
*API Change: Moved all filename constants (e.g. &amp;quot;PlayerDB.txt&amp;quot;) to Paths class.&lt;br /&gt;
&lt;br /&gt;
===0.511===&lt;br /&gt;
&#039;&#039;31 March 2011 - r497&#039;&#039;&lt;br /&gt;
*Feature: Further improvements to Mono support. fCraft will now utilize mono-sgen whenever possible.&lt;br /&gt;
*Fix: Fixed fCraftUI ignoring command-line arguments.&lt;br /&gt;
*Fix: Fixed broken /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed crash reports failing to submit.&lt;br /&gt;
*Fix: Fixed a timezone-related bug that messed up players&#039; &amp;quot;total time on server&amp;quot; stat.&lt;br /&gt;
*Change: Added a warning if running on old versions of Mono (2.6 or lower). &lt;br /&gt;
&lt;br /&gt;
===0.510_r489===&lt;br /&gt;
&#039;&#039;29 March 2011 - r489&#039;&#039;&lt;br /&gt;
*Fix: Fixed unnecessary GDI+ dependence in fCraftConsole under Mono&lt;br /&gt;
*Fix: Fixed EnumKeyAttribute not taking blank values (as in case of ProcessPriority config key).&lt;br /&gt;
&lt;br /&gt;
===0.510===&lt;br /&gt;
&#039;&#039;29 March 2011 - r488&#039;&#039;&lt;br /&gt;
*Feature: The fCraft updater has been rewritten and expanded. It now works under all OSes, and provides more features.&lt;br /&gt;
*Feature: fCraft now handles differences between case-sensitive and case-insensitive filesystems much better. /wrename and /wload are also aware of the filesystem.&lt;br /&gt;
*Feature: fCraft now checks presence, filename capitalization, and integrity of all map files on the world list at startup.&lt;br /&gt;
*Feature: New ConfigTool settings for updater, checkbox for showing &amp;quot;player connected/left&amp;quot; messages, and &amp;quot;/mute&amp;quot; permission settings.&lt;br /&gt;
*Feature: Added &amp;quot;/credits&amp;quot; command to ConfigUI.&lt;br /&gt;
*Feature: Implemented &amp;quot;--norestart&amp;quot; and &amp;quot;--exitoncrash&amp;quot; command-line switches for fCraft.&lt;br /&gt;
*Feature: fCraft event system is being rewritten with modding support in mind.&lt;br /&gt;
*Feature: Improved MCSharp/MCZall/MCLawl map support.&lt;br /&gt;
*Fix: Software errors that happen while parsing player and console commands will no longer cause disconnects/crashes.&lt;br /&gt;
*Fix: IPBanList will attempt to recover records lost due to a recent regression in 0.505.&lt;br /&gt;
*Fix: Fixed /wrename errors in cases where names differ only in capitalization.&lt;br /&gt;
*Fix: Fixed &amp;quot;Copy Existing World&amp;quot; showing the current world on the list in AddWorldPopup.&lt;br /&gt;
*Fix: Fixed &amp;quot;Chat&amp;quot; tab preview not updating when settings are reset.&lt;br /&gt;
*Fix: Fixed per-world whitelist/blacklist not saving when worlds are edited with AddWorldPopup.&lt;br /&gt;
*Fix: Fixed non-verified connections that get kicked from affecting that name&#039;s PlayerInfo.&lt;br /&gt;
*Fix: Server.GenerateSalt() now uses a cryptographically secure PRNG.&lt;br /&gt;
*Fix: Fixed verification problems on servers with HeartbeatEnabled=false.&lt;br /&gt;
*Fix: Fixed a wrong message being shown by /rank if the target is already same or higher/lower rank.&lt;br /&gt;
*Fix: Fixed /winfo showing incorrect information for last lock/unlock event.&lt;br /&gt;
*Fix: Fixed tabbing order on ConfigUI.&lt;br /&gt;
*Fix: Improved the way Server.InitLibrary and Logger.Log errors are handled.&lt;br /&gt;
*Fix: Added missing validation checks to LoadHeader in several map converters.&lt;br /&gt;
*Fix: Fixed players being able to complete a draw command or /zadd, if they were demoted before clicking for the second time.&lt;br /&gt;
*Fix: Added missing /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed a bug in /zinfo that showed incorrect creation/editing times.&lt;br /&gt;
*Fix: Better error messages for unrecognized block names in command parameters.&lt;br /&gt;
*Fix: /restart now works from ConfigUI under Mono (but still broken in fCraftConsole).&lt;br /&gt;
*Fix: Fixed handling of command-line arguments surrounded with quotes.&lt;br /&gt;
*Fix: Fixed a bug at ConfigTool.ConfigUI.xAllowSecurityCircumvention_CheckedChanged (#3181907, thanks to clhdrums87).&lt;br /&gt;
*Fix: Fixed /winfo counting hidden players (#3237877, thanks to Hellenion).&lt;br /&gt;
*Fix: Fixed MCSharp map exporter mixing up map dimensions (#3159501, thanks to dogwatch).&lt;br /&gt;
*Change: Improved the way fCraft project is built. Now all binaries are copied to /trunk/bin/Release or /trunk/bin/Debug.&lt;br /&gt;
*Change: Improved error tolerance of Scheduler.EndShutdown().&lt;br /&gt;
*Change: Expanded Logger.CheckForCommonErrors().&lt;br /&gt;
*Change: Renamed config keys (old ones can still be loaded): IRCBot to IRCBotEnabled, AutomaticUpdates to UpdaterMode.&lt;br /&gt;
*Change: Added /wadd as an alias for /wload.&lt;br /&gt;
*Change: Renamed Mcc namespace to fCraft.MapConversion.&lt;br /&gt;
*Change: Decreased timeout for fCraft update check.&lt;br /&gt;
*Change: Added a confirmation prompt to /rank when adding an unrecognized player name to the database.&lt;br /&gt;
*Optimization: Sped up heartbeat sending and world-related operations, increased world saving interval to 90 seconds, reduced per-player idle CPU usage, halved CPU usage of draw commands.&lt;br /&gt;
&lt;br /&gt;
===0.506===&lt;br /&gt;
&#039;&#039;11 February 2011 - r427&#039;&#039;&lt;br /&gt;
*Feature: Added hollow ellipsoid drawing (/eh) and hollow sphere drawing (/sph), contributed by Conrad &amp;quot;Redshift&amp;quot; Morgan.&lt;br /&gt;
*Fix: Fixed a regression in 0.503 that caused some IP ban records to be lost. I am terribly sorry!&lt;br /&gt;
*Fix: Fixed a path-related error in Map.SaveBackup&lt;br /&gt;
*Fix: Fixed a possible disconnect in Player.CheckBlockSpam is antigrief was not configured properly.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool.SaveWorldList.&lt;br /&gt;
*Fix: Fixed &amp;quot;Limit the number of blocks that can be undone&amp;quot; checkbox misbehaving (thanks to ven000m for bug report).&lt;br /&gt;
*Change: By popular demand /sphere2 is now the default behavior of /sphere.&lt;br /&gt;
*Change: Removed &amp;quot;oldSalt&amp;quot; check for name verification, to avoid having the server write to config.xml unnecessarily.&lt;br /&gt;
*Change: Removed &amp;quot;.backup&amp;quot; file creation, by popular demand. It was kinda useless.&lt;br /&gt;
&lt;br /&gt;
===0.505===&lt;br /&gt;
&#039;&#039;8 February 2011 - r422&#039;&#039;&lt;br /&gt;
*Feature: All draw commands now inform player if any blocks were skipped due to local permission issues (e.g. zones).&lt;br /&gt;
*Fix: Fixed a regression that caused backups to be saved in the wrong path. Backups were being saved to ./backups/ instead of ./maps/backups/&lt;br /&gt;
*Fix: Fixed a permission issue in /replace and /replacenot.&lt;br /&gt;
*Fix: Fixed /info not displaying a list of players from same IP.&lt;br /&gt;
*Fix: Addressed a security issue with salt generation.&lt;br /&gt;
&lt;br /&gt;
===0.504===&lt;br /&gt;
&#039;&#039;3 February 2011 - r419&#039;&#039;&lt;br /&gt;
*Fixed a crash bug related to SecurityController.MinRank&lt;br /&gt;
&lt;br /&gt;
===0.503===&lt;br /&gt;
&#039;&#039;3 February 2011 - r418&#039;&#039;&lt;br /&gt;
*Feature: Added /deafen command. It temporarily blocks all incoming messages (makes you go &amp;quot;deaf&amp;quot;), to allow taking screenshots, recording videos, or just playing without the wall of text.&lt;br /&gt;
*Feature: Added ShowBannedConnectionMessages config key (default: true). When disabled, no &amp;quot;banned player tried to log in&amp;quot; messages are shown.&lt;br /&gt;
*Fix: Fixed PlayerInfo.frozenOn not being set.&lt;br /&gt;
*Fix: Fixed kick messages for players affected by /banall&lt;br /&gt;
*Fix: Fixed /unbanall reason not being shown.&lt;br /&gt;
*Fix: /where now shows what world you are on.&lt;br /&gt;
*Fix: Fixed a couple minor bugs in /waccess and /wbuild.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in SecurityController constructor.&lt;br /&gt;
*Fix: Made several tweaks to improve the first-run experience.&lt;br /&gt;
&lt;br /&gt;
===0.502===&lt;br /&gt;
&#039;&#039;31 January 2011 - r411&#039;&#039;&lt;br /&gt;
*Fix: Adjusted for yet another change in the way minecraft.net replies to heartbeats (should fix all heartbeat issues for now).&lt;br /&gt;
*Fix: Added a check to /zremove to prevent players from deleting zones to gain access to areas from which they&#039;re barred.&lt;br /&gt;
*Fix: Fixed being able to use /me or /staff to write empty messages.&lt;br /&gt;
*Fix: Fixed frozen players not getting defrosted when kicked.&lt;br /&gt;
*Fix: Formatting fixes in &amp;quot;___ was previously frozen&amp;quot; message&lt;br /&gt;
*Fix: Fixed a mini-bug in Map.ValidateHeader()&lt;br /&gt;
*Change: Renamed /wremove to /wunload for consistency. &amp;quot;/wremove&amp;quot; is still usable as an alias.&lt;br /&gt;
&lt;br /&gt;
===0.501===&lt;br /&gt;
&#039;&#039;30 January 2011 - r408&#039;&#039;&lt;br /&gt;
*Feature: Added /sphere and /sphere2, based on code contributed by SystemX17.&lt;br /&gt;
*Feature: Added new config setting: ShowConnectedMessages (default: true)&lt;br /&gt;
*Feature: Added a notification for players who logged in frozen.&lt;br /&gt;
*Fix: Fixed frozen players twitching.&lt;br /&gt;
*Fix: Fixed IRC bot not stripping color codes in messages relayed from IRC to the game.&lt;br /&gt;
*Fix: Fixed lastSeen and lastLoginDate not being set for first-time players who failed to log in (e.g. IP-banned).&lt;br /&gt;
*Fix: Fixed /bring not working properly on frozen players.&lt;br /&gt;
*Fix: Fixed a case where it was possible to add access restrictions to main map.&lt;br /&gt;
*Fix: Fixed per-world whitelists/blacklists being lost when editing worlds.xml via ConfigTool.&lt;br /&gt;
*Fix: Fixed AutoRankAll showing wrong number of players promoted/demoted (just a formatting bug, no promotions were affected)&lt;br /&gt;
&lt;br /&gt;
===0.500===&lt;br /&gt;
&#039;&#039;25 January 2011 - r399&#039;&#039;&lt;br /&gt;
*Commands: Added /line drawing command, kindly contributed by SystemX17&lt;br /&gt;
*Commands: Added /restart command, to restart the server remotely (NOTE: does not work for fCraftWinService yet)&lt;br /&gt;
*Commands: Added /unmute command (same as &amp;quot;/mute name 0&amp;quot;)&lt;br /&gt;
*Commands: Added an option to silently hide (no disconnect/connect message).&lt;br /&gt;
*Commands: Added /ignore and /unignore commands to block chat from another player (for the duration of your visit).&lt;br /&gt;
*Commands: /whide and /wunhide commands added to hide/unhide worlds from the list.&lt;br /&gt;
*Commands: /worlds now takes an optional param: &amp;quot;/worlds all&amp;quot; lists visible+hidden worlds, and &amp;quot;/worlds hidden&amp;quot; lists hidden worlds only.&lt;br /&gt;
*Commands: List of player names from the same IP is now shown in /info.&lt;br /&gt;
*Commands: /help now shows what rank you need to be to use a command (for most commands).&lt;br /&gt;
*Commands: /bring now works on frozen players.&lt;br /&gt;
*Commands: /bring now takes an optional second name/parameter, to teleport someone to someone&lt;br /&gt;
*Commands: /info now shows whether a player is hidden (if the command caller has permission to see).&lt;br /&gt;
*Commands: Fixed a case where teleporting to a player who is currently changing worlds brings one to a wrong location.&lt;br /&gt;
*Commands: Fixed bindings (/water, /lava, /solid, and /bind) not being applied to draw commands.&lt;br /&gt;
*Commands: /wsave and /gen can now create directories if needed.&lt;br /&gt;
*Commands: Fixed a bug in /roll&lt;br /&gt;
*Commands: Sped up /paste, /pastenot, /replace, and /replacenot slightly.&lt;br /&gt;
*ConfigTool: New &amp;quot;Chat&amp;quot; tab for controlling appearance and content of in-game chat.&lt;br /&gt;
*ConfigTool: Added ability to customize MeColor (for /me messages, default: purple) and WarningColor (for major errors/warnings, default: red) in config.&lt;br /&gt;
*ConfigTool: AddWorldPopup can now show detailed info for maps of all supported formats.&lt;br /&gt;
*ConfigTool: Improved tooltips for several items in ConfigUI.&lt;br /&gt;
*FrontEnd: Uncaught exceptions that happen while executing commands from fCraftUI console are now handled by the crash reporter (instead of actually crashing).&lt;br /&gt;
*FrontEnd: Added /clear command for fCraftUI and fCraftConsole - clears log screen.&lt;br /&gt;
*FrontEnd: The URL is no longer highlighted after first heartbeat, to avoid stealing focus from console.&lt;br /&gt;
*Generator: Fixed &amp;quot;flatgrass&amp;quot; template&lt;br /&gt;
*Generator: Fixed alphabetical order in the list of templates&lt;br /&gt;
*Generator: MapGenerator now embeds generation parameters into the map file metadata&lt;br /&gt;
*Generator: Fixed several template loading bugs.&lt;br /&gt;
*Generator: Optimized AddBeaches to be about 2x faster&lt;br /&gt;
*Generator: Added a missing dimension check to /gen&lt;br /&gt;
*IRC: Messages relayed from game to IRC now have color codes preserved.&lt;br /&gt;
*IRC: Kicks, Bans, unbans, promotions, and demotions can now be relayed to IRC.&lt;br /&gt;
*IRC: IRC bot now relays /say messages, and /me messages (both /me on IRC and /me on the server).&lt;br /&gt;
*IRC: IRC Error handling is greatly improved.&lt;br /&gt;
*IRC: (Threaded) If one of the bots loses connection, one of the other bots take over parsing input.&lt;br /&gt;
*IRC: Increased IRC reconnect delay to 15 seconds.&lt;br /&gt;
*Maps: Switched to a new file format (FCMv3) that allows for future additions like block tracking and physics.&lt;br /&gt;
*Maps: Much of MCC (map conversion) API was rewritten for better consistency and performance.&lt;br /&gt;
*Maps: Improved support for loading indev (pre-infinite) maps, including Omen-generated maps.&lt;br /&gt;
*Maps: Improved resilience for loading maps with unknown blocktypes. Instead of failing, it just replaces any unknown blocks with air.&lt;br /&gt;
*Maps: Added consistent header validation to all map format loaders.&lt;br /&gt;
*Maps: Fixed maps not autosaving when zones are added or removed.&lt;br /&gt;
*Maps: Zone definitions are now serialized to XML. Zones saved with this revision of fCraft will no longer be readable by older version of fCraft.&lt;br /&gt;
*Maps: Fixed a bug when loading JTE&#039;s format maps.&lt;br /&gt;
*Maps: Fixed format of backup filenames.&lt;br /&gt;
*PlayerDB: Added new fields: bannedUntil, frozenOn, frozenBy, mutedUntil, mutedBy, IRCPassword, online, leaveReason&lt;br /&gt;
*PlayerDB: Fixed PlayerInfo.ID not being assigned for new players until sever restart / DB reload.&lt;br /&gt;
*PlayerDB: Fixed off-by-one error with PlayerInfo.timesVisited&lt;br /&gt;
*PlayerDB: Fixed /me, /say, rank chat, and /staff not counting towards PlayerInfo.linesWritten&lt;br /&gt;
*PlayerDB: Made PlayerDB more resilient to errors. Reduced filesize slightly by omitting default values for more date fields, and removing milliseconds from &amp;quot;totalTime&amp;quot;&lt;br /&gt;
*PlayerDB: Improved forwards compatibility of PlayerDB by removing maximum-field-count check.&lt;br /&gt;
*Security: Worlds can now have player whitelists and blacklists (just like zones) for access and build permissions.&lt;br /&gt;
*Security: Added a security check to /wsave, /wload, and /gen to prevent reading or overwriting files outside the map folder.&lt;br /&gt;
*Security: Added a per-rank security option to prevent players from whitelisting themselves, removing themselves from blacklists, or lowering their rank&#039;s restrictions on worlds and zones.&lt;br /&gt;
*Security: /mute and /freeze are now persistent even if the player reconnects.&lt;br /&gt;
*Security: Relaxed SetTile packet checks. Players will no longer be kicked due to Minecraft client bugs.&lt;br /&gt;
*Security: Fixed an exploit that allowed changing steps to doublesteps even inside zoned areas.&lt;br /&gt;
*Security: Improved consistency of permission dependencies.&lt;br /&gt;
*Security: Fixed a security exploit in /wmain that allowed players with ManageWorlds permission to gain access to restricted worlds.&lt;br /&gt;
*Security: Fixed a bug that prevented banning players who were not yet in PlayerDB.&lt;br /&gt;
*Security: Added an option to only allow paid players (PaidPlayersOnly)&lt;br /&gt;
*Stability: Made crash reporting more reliable. A failed crash report will no longer prevent error message from being logged and displayed.&lt;br /&gt;
*Stability: Fixed a crash in AddWorldPopup if dialog is closed while a map is still loading.&lt;br /&gt;
*Stability: To improve compatibility with some bots, removed &amp;quot;almost there...&amp;quot; message on the loading screen&lt;br /&gt;
*Stability: Disabled error reporting of common non-fCraft-related errors (like wrong runtime versions, or wrong Mono permissions).&lt;br /&gt;
*Stability: Added &amp;quot;libMonoPosixHelper.so&amp;quot; and &amp;quot;UnauthorizedAccessException&amp;quot; to Logger.CheckForCommonErrors, and made &amp;quot;Could not load file or assembly&amp;quot; check locale-independent.&lt;br /&gt;
*Stability: A backup file is now created whenever PlayerDB, IP ban list, config, or world list are saved (e.g. PlayerDB.txt.backup)&lt;br /&gt;
*Stability: Crash reporter now sends last 25 lines of the log.&lt;br /&gt;
*Stability: Added a fallback overload for Player.Message() that bypasses string format, to make the whole thing less prone to format errors.&lt;br /&gt;
*System: fCraft now takes command-line arguments (at startup) to override the following:&lt;br /&gt;
**working directory (--path=/your/path/here)&lt;br /&gt;
**log directory (--logpath=/your/path/here)&lt;br /&gt;
**map directory (--logpath=/your/path/here) - also overridable in a more user-friendly way via ConfigTool (MapPath key)&lt;br /&gt;
**config file location (--config=/your/path/and/filename.xml)&lt;br /&gt;
*System: Added an option to change the name of Console pseudoplayer in the config.&lt;br /&gt;
*System: Player.GetClassyName() and PlayerInfo.GetClassyName() now add an asterisk after banned players&#039; names&lt;br /&gt;
*System: Fixed hidden players remaining hidden in some cases.&lt;br /&gt;
*System: Fixed PacketWriter.MakeWrappedMessage ignoring uppercase hex colorcodes&lt;br /&gt;
*System: Implemented NoPartialPositionUpdates and RelayAllUpdates config keys.&lt;br /&gt;
*System: Several little glitches and inefficiencies fixed in movement handling code.&lt;br /&gt;
*System: Fixed &amp;quot;player connected&amp;quot; and other messages showing up too early in-game (before map loaded).&lt;br /&gt;
*System: Fixed kick message for players affected by /banall&lt;br /&gt;
*System: Added HeartbeatEnabled config key (default: true)&lt;br /&gt;
*System: Fixed a case where heartbeat could be sent from a different IP than the listening port on systems with multiple NICs/IPs and no configured static IP.&lt;br /&gt;
*System: Increased the write buffer for writing out PlayerDB, reducing I/O time by ~20% on .NET, and ~35% on Mono&lt;br /&gt;
*System: New Scheduler API.&lt;br /&gt;
*System: Modified /wload to avoid loading the map twice in case confirmation is needed.&lt;br /&gt;
*System: Changes to AutoRankEnabled will now be applied when /reloadconfig is called.&lt;br /&gt;
*System: Fixed unnecessary confirmation being asked when world name matches file name in /wload&lt;br /&gt;
*System: Eliminated the heartbeat thread by switching to async i/o.&lt;br /&gt;
*System: Improved startup and shutdown speed.&lt;br /&gt;
*System: Added a &amp;quot;how to promote yourself&amp;quot; message for fresh installations of fCraft.&lt;br /&gt;
*System: Fixed Server.OnPlayerDisconnected event firing for unregistered sessions.&lt;br /&gt;
*System: Made Color.Parse() and Color.GetName() translate fCraft-specific color assignments (e.g &amp;quot;&amp;amp;S&amp;quot; for &amp;quot;System&amp;quot;)&lt;br /&gt;
*System: Added better detection for SMP/Alpha clients trying to connect.&lt;br /&gt;
*System: Sped up AutoRankAll&lt;br /&gt;
&lt;br /&gt;
=0.4xx=&lt;br /&gt;
===0.499===&lt;br /&gt;
&#039;&#039;6 November 2010 - r311&#039;&#039;&lt;br /&gt;
*Feature: Added an option to disable name verification for players connecting from LAN.&lt;br /&gt;
*Feature: Added &#039;flat&#039; template to MapGenerator, allowing to make flat maps with any theme.&lt;br /&gt;
*Feature: Added &#039;grass&#039; pseudotheme to /gen command, which is basically the &#039;Forest&#039; theme with trees disabled.&lt;br /&gt;
*Fix: Fixed /wflush leaving ghosts/clones behind.&lt;br /&gt;
*Fix: Fixed muted players being able to use /say and /staff&lt;br /&gt;
*Fix: Fixed /baninfo ignoring permission checks.&lt;br /&gt;
*Fix: Fixed &amp;quot;draw limit&amp;quot; checkbox getting disabled in ConfigTool if a player had &#039;CopyAndPaste&#039; permission but no &#039;Draw&#039; permission.&lt;br /&gt;
*Fix: Fixed several off-by-1 errors involving random number generation, notably in MapGenerator and Server.GenerateSalt()&lt;br /&gt;
*Fix: Fixed potential crash in MapGenerator.SealLiquids&lt;br /&gt;
*Fix: Fixed a potential crash in Map.SaveBackup() if the map filename contained brackets.&lt;br /&gt;
*Fix: Fixed a forced disconnect when trying to feed /gen a theme or template with brackets in the name.&lt;br /&gt;
&lt;br /&gt;
===0.498===&lt;br /&gt;
&#039;&#039;4 November 2010 - r308&#039;&#039;&lt;br /&gt;
*Change: Disabled zlib support due to more potential memory leaks. fffuuuuu....&lt;br /&gt;
*Fix: Fixed Island, Bay, and Ice templates broken by the last patch.&lt;br /&gt;
*Fix: MapGeneratorArgs: snowTransition was interpreted as absolute (instead of relative) altitude, and marbledHeightmap incorrectly defaulted to &#039;true&#039;.&lt;br /&gt;
*Change: Updated readme and changelog.&lt;br /&gt;
&lt;br /&gt;
===0.497===&lt;br /&gt;
&#039;&#039;4 November 2010 - r306&#039;&#039;&lt;br /&gt;
*Feature: Added accurate progress reporting from MapGenerator. Coming soon: cancellation.&lt;br /&gt;
*Feature: New MapGenerator options: BeachHeight, CliffSmoothing, LandSlope, UnderwaterSlope, MaxHeightVariation, MaxDepthVariation.&lt;br /&gt;
*Feature: Added UI controls for snow/cliff/beach settings to AddWorldPopup.&lt;br /&gt;
*Feature: Added a list of popular IRC networks to ConfigTool.&lt;br /&gt;
*Change: Improved PlayerDB lookup performance by reducing locking.&lt;br /&gt;
*Fix: Fixed MapGenerator calculating slope incorrectly at the water boundary.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add Ore&amp;quot; requiring &amp;quot;Add Caves&amp;quot; in MapGenerator.&lt;br /&gt;
*Fix: Fixed water/lava caves not sealing liquids properly. &lt;br /&gt;
*Change: Set MapGenerator to default to 256x256x96&lt;br /&gt;
*Change: AddWorldPopup Generator tab layout overhaul&lt;br /&gt;
*Change: Organized MapGeneratorArgs and added serialization/deserialization for all the new options.&lt;br /&gt;
&lt;br /&gt;
===0.496===&lt;br /&gt;
&#039;&#039;3 November 2010 - r301&#039;&#039;&lt;br /&gt;
*Fix: Fixed File.Replace() failing if fCraft was set up on a partition/volume other than the one where temp folder is.&lt;br /&gt;
*Fix: Added missing tooltip for &amp;quot;Edit Greeting&amp;quot;&lt;br /&gt;
*Fix: Fixed /sinfo including hidden players in the player count.&lt;br /&gt;
&lt;br /&gt;
===0.495===&lt;br /&gt;
&#039;&#039;2 November 2010 - r300&#039;&#039;&lt;br /&gt;
*Feature: Added a way to edit the greeting message, by editing &amp;quot;greeting.txt&amp;quot;&lt;br /&gt;
*Feature: When a player gets banned, any previously-banned accounts from same IP are listed.&lt;br /&gt;
*Fix: Fixed renaming worlds from ConfigTool&#039;s &amp;quot;worlds&amp;quot; tab not always working.&lt;br /&gt;
*Fix: Fixed several filesystem-related errors on non-Windows systems by using Path.Combine() instead of string concatenation.&lt;br /&gt;
*Fix: Possible workaround for missing heartbeats.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;default build rank&amp;quot; controls in ConfigTools.&lt;br /&gt;
*Fix: Fixed overwrite confirmation popping up for /wload when loading map into an unloaded world with the same name.&lt;br /&gt;
*Fix: Fixed a case where Forester could get into an infinite loop when there&#039;s not enough room to place requested number of trees.&lt;br /&gt;
&lt;br /&gt;
===0.494===&lt;br /&gt;
&#039;&#039;31 October 2010 - r297&#039;&#039;&lt;br /&gt;
*Feature: New map generator features:&lt;br /&gt;
**Adjustable water level.&lt;br /&gt;
**Realistic trees (powered by Forester)&lt;br /&gt;
**Snow on mountaintops&lt;br /&gt;
**Realistic cliffs&lt;br /&gt;
**Beaches&lt;br /&gt;
**New template (peninsula) and theme (swamp).&lt;br /&gt;
**Option to delay heightmap bias until after marbling/inversion.&lt;br /&gt;
*Feature: Added a way to load .mine maps.&lt;br /&gt;
*Feature: Added confirmation for potentially destructive commands: /importranks, /importbans, /massrank, /wload overwrites, /gen overwrites, /wsave overwrites, /zremove.&lt;br /&gt;
*Feature: Added /staff chat and ReadStaffChat permission.&lt;br /&gt;
*Feature: Added wireframe cuboid (/cw)&lt;br /&gt;
*Feature: Added an optional second param for /ch (cuboid hollow) that specifies the blocktype of the &amp;quot;filling&amp;quot;.&lt;br /&gt;
*Feature: Added a way to specify default build permission for new worlds.&lt;br /&gt;
*Fix: Fixed /info, /baninfo, and /banip not handling players whose name contain only digits.&lt;br /&gt;
*Fix: Fixed DoChangeRank mixing up RankChangeType.&lt;br /&gt;
*Fix: Added missing fields to MapGeneratorArgs serializer.&lt;br /&gt;
*Fix: Fixed per-rank draw limits not being calculated correctly in some cases.&lt;br /&gt;
*Fix: Replaced File.Delete/File.Move calls with a more reliable File.Replace call. This should slightly improve reliability of map/playerdb.txt/ipbans.txt/worlds.xml saving.&lt;br /&gt;
*Fix: Fixed a little ConfigTool bug that did not properly reset PatrolledRank after a rank deletion.&lt;br /&gt;
*Fix: Fixed terminal colors not resetting in fCraftConsole after a fatal crash under Mono.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;Play&amp;quot; button in fCraftUI.&lt;br /&gt;
*Fix: Added some basic error reporting to fCraftWinService.&lt;br /&gt;
*Change: Tweaked AddWorldPopup layout to accommodate more options.&lt;br /&gt;
&lt;br /&gt;
===0.493===&lt;br /&gt;
&#039;&#039;27 October 2010 - r290&#039;&#039;&lt;br /&gt;
*Feature: /info now supports autocompletion, wildcards, and IP search.&lt;br /&gt;
*Feature: Experimental service wrapper for fCraft.&lt;br /&gt;
*Feature: Added more editable properties to /setinfo: RankChangeType, BanReason, UnbanReason, RankChangeReason, LastKickReason&lt;br /&gt;
*Feature: Various improvements to /info, including hide-aware &amp;quot;online&amp;quot; indicator.&lt;br /&gt;
*Feature: Made Player.NoAccessMessage() print the minimum required rank, instead of just permission name(s).&lt;br /&gt;
*Feature: Added wootalyzer&#039;s chunk rendering code to IsoCat.&lt;br /&gt;
*Fix: Fixed ConfigTool not taking advantage of ZLibStream &lt;br /&gt;
*Fix: Fixed a very improbable case of a thread getting spinlocked when calling IRC.Send() is preemptied, and if there are at least 2 IRC threads.&lt;br /&gt;
*Fix: Fixed kick packets occasionally not being delivered due to a missing Flush() - thanks to wootalyzer for catching.&lt;br /&gt;
*Fix: Excluded banned and inactive players from DumpStats&lt;br /&gt;
*Fix: Fixed PlayerDB.Save() not escaping LastKickReason &lt;br /&gt;
*Fix: Cleaned up extra messages sent by /unhide.&lt;br /&gt;
*Fix: Fixed LastSeen not updating on-login (only on-logout).&lt;br /&gt;
*Fix: Improved the way fCraft checks for ghost/leftover sessions. Thanks to wootalyzer.&lt;br /&gt;
*Fix: If a player&#039;s name starts with a number, and you try to /tp to a coordinate that starts with the same number, you are no longer teleported to that player instead.&lt;br /&gt;
*Fix: Fixed hidden players being detectable by checking LastSeen in /info.&lt;br /&gt;
*Fix: To avoid performance degradation, GC calls have been centralized, delayed, limited to 1/minute, and moved to the tasks thread.&lt;br /&gt;
*Fix: Added delay between recurring calls to PlayerDB.Save, AutoRankAll, and DoGC - to balance load.&lt;br /&gt;
*Fix: Fixed rankChangeType not being updated.&lt;br /&gt;
*Fix: Fixed some typos reported by tvc. &lt;br /&gt;
*Change: Added &amp;quot;/uf&amp;quot; as an alias for &amp;quot;/unfreeze&amp;quot;, by popular demand. &lt;br /&gt;
*Change: Modified PlayerDB not to use ReaderWriterLockSlim, to avoid Mono issues with recursion.&lt;br /&gt;
*Change: Renamed /editplayerinfo to /setinfo&lt;br /&gt;
*Change: Made enum values in AutoRank (CriterionType, ConditionField, ComparisonOperation, ConditionScopeType, RankChangeType) case-insensitive.&lt;br /&gt;
*Change: Added a reference to /baninfo in /info&lt;br /&gt;
*Change: Made DetectMovementPacketSpam warn players instead of kicking.&lt;br /&gt;
&lt;br /&gt;
===0.492===&lt;br /&gt;
&#039;&#039;19 October 2010 - r280&#039;&#039;&lt;br /&gt;
*Feature: Added EditPlayerDB permission. This permission affects the upcoming AutoRank commands, /editplayerinfo, and ability to promote/demote/ban unrecognized players.&lt;br /&gt;
*Feature: When you kick a player, you are now shown the number of kicks they already have.&lt;br /&gt;
*Feature: More stats are now logged! RankType, TimeSinceLastKick, LastSeen, BlocksDrawn, LastKickBy, LastKickReason.&lt;br /&gt;
*Feature: Added &amp;quot;MaxUndo&amp;quot; config key for changing the default undo limit of 2,000,000 blocks per player.&lt;br /&gt;
*Feature: /info command is augmented with new stats (if available).&lt;br /&gt;
*Fix: Fixed ellipsoid command calculating volume incorrectly for draw limit checks.&lt;br /&gt;
*Fix: Fixed overflowing color code in &amp;quot;Player logged in from an IP previously used by banned players&amp;quot; message.&lt;br /&gt;
*Fix: Fixed PM recipient&#039;s name not getting logged properly.&lt;br /&gt;
*Fix: Previously-unseen players no longer have their FirstLoginDate, LastLoginDate, or TimesVisited set.&lt;br /&gt;
*Fix: /importranks now works correctly on players who are online at the time of import.&lt;br /&gt;
*Change: Added block aliases by popular demand: &amp;quot;bedrock&amp;quot; as an alias for admincrete, &amp;quot;cotton&amp;quot; as alias for &amp;quot;white&amp;quot;, and &amp;quot;aire&amp;quot; as alias for &amp;quot;air&amp;quot;&lt;br /&gt;
*Change: PlayerDB.txt format changes:&lt;br /&gt;
**MaxFieldCount raised to 36&lt;br /&gt;
**New fields added: UID (Int32), RankChangeType (enum, serialized as Int32), LastKickDate (DateTime), LastSeen (DateTime), BlocksDrawn (Int64), LastKickBy (string), LastKickReason (string).&lt;br /&gt;
**RankChangeBy, BannedBy, UnbannedBy, BanReason, UnbanReason, and RankChangeReason now default to empty string instead of &amp;quot;-&amp;quot; or null.&lt;br /&gt;
**If LastIP==IPAddress.None, empty string is saved instead of &amp;quot;255.255.255.255&amp;quot;.&lt;br /&gt;
**DateTime and TimeSpan format shortened to exclude microseconds. See PlayerDB.ToCompactString() for details.&lt;br /&gt;
*Change: AutoRank improvements (disabled in stable builds):&lt;br /&gt;
**Added /editplayerinfo command for easy editing of PlayerDB.&lt;br /&gt;
**Made AutoRank check players in-login (to accelerate promotion).&lt;br /&gt;
**AutoRank now runs on a scheduler.&lt;br /&gt;
**Fixed ConditionPreviousRank crash for played with default rank.&lt;br /&gt;
**Fixed banned players getting promoted by AutoRank.&lt;br /&gt;
**Fixed several serialization/loading issues in AutoRank.&lt;br /&gt;
**New fields added to ConditionIntRange: LastSeen, BlocksDrawn, TimeSinceRankChange, TimeSinceLastKick&lt;br /&gt;
**ConditionRankStatus renamed to ConditionRankChangeType&lt;br /&gt;
&lt;br /&gt;
===0.491===&lt;br /&gt;
&#039;&#039;17 October 2010 - r274&#039;&#039;&lt;br /&gt;
*Feature: Added ability to run multiple parallel IRC bots, to help high-traffic servers deal with IRC lag. This also makes it possible to connect to multiple networks in the future.&lt;br /&gt;
*Feature: Added new block aliases, by popular demand: &amp;quot;emerald&amp;quot;=teal, &amp;quot;fuchsia&amp;quot;=magenta, &amp;quot;cloth&amp;quot;=white, &amp;quot;lightgray&amp;quot;=gray, &amp;quot;lightgrey&amp;quot;=gray, &amp;quot;darkgray&amp;quot;=black, &amp;quot;darkgrey&amp;quot;=black, &amp;quot;brass&amp;quot;=gold&lt;br /&gt;
*Fix: Temporarily disabled 64-bit zlib support while I track down memory leaks. Should fix OutOfMemoryException, I&#039;m very sorry about overlooking that.&lt;br /&gt;
*Fix: Fixed a bug in /info that displayed incorrect &amp;quot;total time on server&amp;quot;.&lt;br /&gt;
*Fix: Per-rank permission checks for /freeze now apply as intended&lt;br /&gt;
*Fix: Fixed several improbable (but not impossible) threading deadlocks/crashes. Thanks to wootalyzer for catching these.&lt;br /&gt;
*Change: Added IRCThreads config key (default: 1, allowed range: 1-3)&lt;br /&gt;
&lt;br /&gt;
===0.490===&lt;br /&gt;
&#039;&#039;14 October 2010 - r264&#039;&#039;&lt;br /&gt;
*Feature: Testing a new map compressor/decompressor: ZLibStream. It should provide 50-200% speed increase, smaller map sizes, lower bandwidth use, and faster map loading.&lt;br /&gt;
*Fix: Fixed /shutdown not waiting the right amount and mixing up seconds/milliseconds.&lt;br /&gt;
*Fix: Fixed &amp;quot;No world found with the name...&amp;quot; showing player&#039;s own name.&lt;br /&gt;
*Fix: Added a fail-safe exception handler to Player.WaitForKick() - a temporary fix.&lt;br /&gt;
*Change: Previous verification salt is now stored, to allow players to validate even right after the server restarts.&lt;br /&gt;
*Change: Restructured SVN. Stable code is now always in /trunk/&lt;br /&gt;
&lt;br /&gt;
===0.487===&lt;br /&gt;
&#039;&#039;12 October 2010 - r255&#039;&#039;&lt;br /&gt;
*Feature: Added contextual help (tooltips) for all of ConfigTool. Help for &amp;quot;Add World&amp;quot; popup is coming in next version.&lt;br /&gt;
*Feature: Added rank limits for Freeze permission&lt;br /&gt;
*Fix: Fixed /mute being unusable from console.&lt;br /&gt;
*Change: Removed ViewOthersInfo requirement from /sinfo&lt;br /&gt;
*Change: Added ViewOthersInfo requirement to /where&lt;br /&gt;
*Change: Improvements to IRC tab layout in ConfigTool.&lt;br /&gt;
&lt;br /&gt;
===0.486===&lt;br /&gt;
&#039;&#039;11 October 2010 - r250&#039;&#039;&lt;br /&gt;
*Quick fix for IRC Bot bug that made server unconnectable.&lt;br /&gt;
&lt;br /&gt;
===0.485===&lt;br /&gt;
&#039;&#039;11 October 2010 - r249&#039;&#039;&lt;br /&gt;
*Feature: Added optional &amp;quot;delay&amp;quot; parameter to /shutdown (default: 5)&lt;br /&gt;
*Feature: World names can now be autocompleted for many commands (like /join and /lock)&lt;br /&gt;
*Fix: Fixed /unhide failing to reveal the player in certain situations.&lt;br /&gt;
*Fix: Fixed /setspawn being usable on players from other worlds.&lt;br /&gt;
*Fix: Fixed player names appearing white for all players.&lt;br /&gt;
*Fix: Fixed a recursion loop in NoWorldMessage()&lt;br /&gt;
*Fix: Fixed help entries for /setspawn and /shutdown&lt;br /&gt;
*Fix: Fixed potential crash in Server.Shutdown() if called after failed initialization/startup.&lt;br /&gt;
*Fix: Fixed potential deadlock/freeze in fCraftUI on shutdown.&lt;br /&gt;
*Change: Improved crash reporting for TargetInvokationException and TypeInitializerException errors.&lt;br /&gt;
*Change: All assemblies are now once again x86/x86_64/IA64 compatible.&lt;br /&gt;
*Change: Server.OnPlayerConnected event now supports cancellation.&lt;br /&gt;
&lt;br /&gt;
===0.484===&lt;br /&gt;
&#039;&#039;10 October 2010 - r245&#039;&#039;&lt;br /&gt;
*Feature: Added a way for IRC bot to use registered nicknames.&lt;br /&gt;
*Feature: /banall-related kicks are now announced in chat.&lt;br /&gt;
*Feature: /setspawn now actually changes player&#039;s spawn. Also, an optional PlayerName param allows temporarily changing other players&#039; spawn point.&lt;br /&gt;
*Feature: Several improvements to /info. Info now shows whether player&#039;s nick or IP was banned, and hides undefined information for players who haven&#039;t ever logged in.&lt;br /&gt;
*Fix: Fixed crash in ConfigTool if announcements were disabled.&lt;br /&gt;
*Fix: Fixed /banall not matching IPs properly, and not counting kicks towards PlayerInfo.&lt;br /&gt;
*Fix: Fixed ConfigUI not shutting down properly if Server.Init() or Server.Start() failed.&lt;br /&gt;
*Fix: Fixed Config.LoadLogOptions() always leaving Debug enabled.&lt;br /&gt;
*Fix: Added Process.GetCurrentProcess().Refresh() to ServerInfo to improve accuracy of /sinfo stat reporting.&lt;br /&gt;
*Fix: Improved /wsave and /wload path handling on non-Windows platforms.&lt;br /&gt;
*Fix: Replaced some potentially unsafe string concatenation in Player.Message() with proper formatting.&lt;br /&gt;
*Fix: Attempting a workaround for Mono memory leak in World.UnloadMap&lt;br /&gt;
*Fix: Fixed ranks from pre-0.480 configs being loaded in wrong order. Sorry!&lt;br /&gt;
*Change: Added a brief delay before reconnecting IRC bot after getting kicked from a channel. &lt;br /&gt;
*Change: PlayerDB is now saved every 60 seconds (instead of every 30).&lt;br /&gt;
*Change: Removed unused IRCBotQuitMsg config key, and added IRCRegisteredNick, IRCNickServ, and IRCNickServMessage keys.&lt;br /&gt;
*Change: Added a popup with crash information to ConfigTool.&lt;br /&gt;
*Change: Made announcements disabled by default.&lt;br /&gt;
&lt;br /&gt;
===0.483===&lt;br /&gt;
&#039;&#039;8 October 2010 - r242&#039;&#039;&lt;br /&gt;
*Feature: Myne/MyneCraft/Hyvebuild/iCraft maps can now be loaded from ConfigTool&#039;s &amp;quot;Add World&amp;quot; dialog.&lt;br /&gt;
*Fix: Fixed incorrect range checks for AnnouncementInterval and SaveInterval config keys (thanks to Shcaap for reporting).&lt;br /&gt;
*Fix: Fixed /hide showing a slightly different &amp;quot;player left&amp;quot; message compared to normal disconnect (thanks to Silverrock for reporting).&lt;br /&gt;
*Change: Added MC#-style &amp;quot;/z&amp;quot; alias for cuboid, by popular demand.&lt;br /&gt;
*Change: Hidden players can now receive PMs. The sender still gets the &amp;quot;No player found&amp;quot; message, but PMs are actually sent.&lt;br /&gt;
&lt;br /&gt;
===0.482===&lt;br /&gt;
&#039;&#039;7 October 2010 - r241&#039;&#039;&lt;br /&gt;
*Feature: Added new command aliases: &amp;quot;f&amp;quot; for &amp;quot;freeze&amp;quot;, and &amp;quot;pat&amp;quot; for &amp;quot;patrol&amp;quot;.&lt;br /&gt;
*Fix: Fixed typos in mute-related messages.&lt;br /&gt;
*Fix: Added missing triggers for OnPlayerListChanged event.&lt;br /&gt;
*Fix: Fixed /reloadconfig not changing several variables (like colors).&lt;br /&gt;
*Fix: Fixed antigrief defaulting to 35/5 (instead of unmetered).&lt;br /&gt;
*Fix: Fixed heartbeat counting hidden players.&lt;br /&gt;
*Fix: Fixed a rare ObjectDisposedException crash on shutdown when running fCraftUI.&lt;br /&gt;
*Change: Added a more informative disconnect message to players connecting with Alpha client.&lt;br /&gt;
*Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.&lt;br /&gt;
*Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.&lt;br /&gt;
&lt;br /&gt;
===0.481===&lt;br /&gt;
&#039;&#039;2 October 2010 - r237&#039;&#039;&lt;br /&gt;
*Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).&lt;br /&gt;
*Fixed a few more references to &amp;quot;player class&amp;quot; terminology instead of &amp;quot;rank&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.480===&lt;br /&gt;
&#039;&#039;2 October 2010 - r236&#039;&#039;&lt;br /&gt;
*Feature: Changed all &amp;quot;player classes&amp;quot; terminology to &amp;quot;ranks&amp;quot; for consistency with other servers. Several commands have been renamed to reflect that: /classes to /ranks, /user to /rank, /class to /rankinfo. All rank-related messages have also been updated.&lt;br /&gt;
*Feature: Added &amp;quot;Raise&amp;quot;/&amp;quot;Lower&amp;quot; buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a &amp;quot;rank&amp;quot; number to reorder ranks.&lt;br /&gt;
*Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.&lt;br /&gt;
*Fix: Improved fCraftUI responsiveness on-startup.&lt;br /&gt;
*Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.&lt;br /&gt;
*Fix: /wremove now always saves the map before unloading.&lt;br /&gt;
*Fix: Fixed Console being affected by chat spam/flood checks.&lt;br /&gt;
*Fix: Fixed /zinfo not showing any separators between player names.&lt;br /&gt;
*Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.&lt;br /&gt;
*Fix: Fixed Security and IRC tabs not being reset by &amp;quot;Reset All Defaults&amp;quot;&lt;br /&gt;
*Fix: Fixed bugged error messages in /tp and /bring when world access permission check fails.&lt;br /&gt;
*Fix: If any class limits were set to default/&amp;quot;(own class)&amp;quot;, the setting is now preserved.&lt;br /&gt;
*Fix: Fixed a bug that didn&#039;t reset Hide limit if it was set to a deleted rank.&lt;br /&gt;
*Change: Removed legacy zone loading code for pre-0.420 maps (due to changes in rank definition format).&lt;br /&gt;
*Change: Added a more informative disconnect message for players trying to connect with Minecraft Alpha clients.&lt;br /&gt;
*Change: Improved rank-based coloring in world list to check both access and build permissions.&lt;br /&gt;
*Change: Added &amp;quot;/fetch&amp;quot; as alias for /bring, and renamed &amp;quot;/save&amp;quot; to &amp;quot;/wsave&amp;quot;.&lt;br /&gt;
*Change: Deleted some obsolete/disabled controls from ConfigTool, removed PingInterval config key, and removed placeholder ControlPhysics and AddLandmarks permissions.&lt;br /&gt;
*Change: Made several changes to improve disconnect detection:&lt;br /&gt;
**Added occasional pings (every 5 seconds or so, depending on activity/inactivity).&lt;br /&gt;
**Reduced socket send/receive timeout from 12 to 10 seconds.&lt;br /&gt;
**Increased socket polling interval to improve performance.&lt;br /&gt;
*Change: If a player tries to connect to a server twice, the FIRST connection is dropped instead of the LAST connection.&lt;br /&gt;
*Refactor: Major changes were made to the way ranks are stored, and to RankList (formerly ClassList) API.&lt;br /&gt;
*Optimization: Made IsoCat rendering faster, and made draw commands use less CPU.&lt;br /&gt;
&lt;br /&gt;
===0.475===&lt;br /&gt;
&#039;&#039;17 September 2010 - r229&#039;&#039;&lt;br /&gt;
*Feature: /ztest now distinguishes between being allowed/denied by rank/class vs by whitelist/blacklist.&lt;br /&gt;
*Fix: Fixed being unable to change rank/class restrictions with /zedit&lt;br /&gt;
*Fix: Fixed a bug that reported wrong average CPU usage&lt;br /&gt;
*Fix: Fixed a crash on saving in ConfigTool, related to new PatrolledClass config key.&lt;br /&gt;
&lt;br /&gt;
===0.474===&lt;br /&gt;
&#039;&#039;16 September 2010 - r228&#039;&#039;&lt;br /&gt;
*Feature: &amp;quot;/mute&amp;quot; command to temporarily stop players from chatting. A new class permission (Mute) is added, granted to op+ by default.&lt;br /&gt;
*Feature: &amp;quot;/shutdown&amp;quot; command to gracefully shutdown the server remotely. A new class permission (ShutdownServer) is added, granted to owner by default.&lt;br /&gt;
*Feature: Added CPU usage information and loaded world count to /sinfo.&lt;br /&gt;
*Fix: Added a way to edit &amp;quot;PatrolledClass&amp;quot; from ConfigTool.&lt;br /&gt;
*Fix: Fixed zone whitelist/blacklist not updated correctly when edited.&lt;br /&gt;
*Fix: Made teleporting to spawn (with /spawn or /tp, no parameters) accessible to all classes.&lt;br /&gt;
*Fix: Adjusted for Notch&#039;s errors in handling player positions in teleport packets. Slightly improves accuracy of /tp, /bring, initial spawning, /patrol, frozen players, and speedhack detection.&lt;br /&gt;
*Fix: Removed &amp;quot;/tp&amp;quot; bounds check when used with typed-in coordinates numbers.&lt;br /&gt;
*Fix: Fixed an extremely unlikely case of PlayerDB/IPBanList overwriting on shutdown if server initialization failed.&lt;br /&gt;
*Fix: Made &amp;quot;server shutting down&amp;quot; packets deliver more reliably (but still not guaranteed).&lt;br /&gt;
*Fix: Fixed Console possibly not seeing hidden players.&lt;br /&gt;
*Change: Added a basic file check to AutoLauncher&lt;br /&gt;
*Change: Added error logging and crash reporting to Server.Shutdown&lt;br /&gt;
*API: Renamed Server.ShutdownStart to Server.ShutdownBegin (for consistency).&lt;br /&gt;
&lt;br /&gt;
===0.473===&lt;br /&gt;
&#039;&#039;15 September 2010 - r227&#039;&#039;&lt;br /&gt;
*Feature: Added zone coordinates to /zinfo&lt;br /&gt;
*Fix: Fixed cross-world /tp teleporting the wrong player.&lt;br /&gt;
*Fix: Fixed odd date formatting in /zinfo&lt;br /&gt;
&lt;br /&gt;
===0.472===&lt;br /&gt;
&#039;&#039;15 September 2010 - r226&#039;&#039;&lt;br /&gt;
*Feature: Added /cut command&lt;br /&gt;
*Feature: Added a new /patrol command. It allows cycling through low-ranked players on a map (with teleportation). The order is determined by how long it&#039;s been since someone checked on a player. A &amp;quot;Patrol&amp;quot; permission and &amp;quot;PatrolledClass&amp;quot; config key were added.&lt;br /&gt;
*Feature: Added a shorthand notation to /zone for making personal zones: &amp;quot;/zone +PlayerName&amp;quot; creates a zone named after the player, with rank limit just above player&#039;s, and with player whitelisted.&lt;br /&gt;
*Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.&lt;br /&gt;
*Fix: Fixed server always binding to IPAddress.Any regardless of config settings.&lt;br /&gt;
*Fix: TP/Bring no longer allow teleporting to hidden players on other worlds.&lt;br /&gt;
*Fix: Server.GetPlayerList(string) now stops searching the list when it finds an exact match.&lt;br /&gt;
*Fix: Fixed client-crash in /zedit when changing class.&lt;br /&gt;
*Fix: Fixed possible corruption of edited zones upon map saving.&lt;br /&gt;
*Fix: Fixed a range of improbable synchronization issues in the way Zone whitelist/blacklist is updated. As a fortunate side-effect, significantly reduced Zone.CanBuild() overhead.&lt;br /&gt;
*Fix: Temporarily added mainThread.Abort() to Server.Shutdown() that&#039;s kicked in if mainThread does not stop within 5s of being notified of shutdown. I am investigating the real cause of the hang.&lt;br /&gt;
*Fix: Fixed hidden players being revealed by promotion/demotion.&lt;br /&gt;
*Change: Added less threatening error messages to IRC bot on network errors (SocketException and IOException).&lt;br /&gt;
*Change: Disabled movement handling code while changing maps.&lt;br /&gt;
*Refactor: Merged StandardCommands and ImportCommands into AdminCommands&lt;br /&gt;
&lt;br /&gt;
===0.471===&lt;br /&gt;
&#039;&#039;14 September 2010 - r224&#039;&#039;&lt;br /&gt;
*Feature: Added ability to specify the server&#039;s IP (to bind to) manually, for machines with multiple NICs. A new config key &amp;quot;IP&amp;quot; (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.&lt;br /&gt;
*Fix: Fixed a bug with player ghosts being left behind when switching worlds.&lt;br /&gt;
*Fix: Fixed a case with kicked players&#039; connections not being terminated at once (thanks to wootalyzer).&lt;br /&gt;
*Fix: Fixed several bugs in hide/unhide functionality.&lt;br /&gt;
*Fix: Fixed a rare crash in AddWorldPopup related to missing maps for existing worlds.&lt;br /&gt;
*Fix: AddWorldPopup will no longer allow adding a world with a duplicate name.&lt;br /&gt;
*Fix: Capped maximum players at the newly-discovered protocol limit of 128 (thanks to wootalyzer).&lt;br /&gt;
*Change: ConfigTool fields now provide better feedback if validation fails.&lt;br /&gt;
*Change: Changed heartbeat interval to 40 seconds (down from 50).&lt;br /&gt;
*Change: Added a special error handler for rare/impossible case of mainWorld not being joinable.&lt;br /&gt;
*Change: Made fatal error messages in fCraftConsole print in red. Better color support coming soon.&lt;br /&gt;
&lt;br /&gt;
===0.470===&lt;br /&gt;
&#039;&#039;13 September 2010 - r223&#039;&#039;&lt;br /&gt;
*Feature: Personal zones - per-zone whitelist and blacklist of individual players. The lists can now be defined with /zadd and edited with /zedit.&lt;br /&gt;
*Feature: Added cave/ore generator from Omen (BETA).&lt;br /&gt;
*Feature: Added &amp;quot;/maps&amp;quot; and &amp;quot;/levels&amp;quot; as aliases for &amp;quot;/worlds&amp;quot;.&lt;br /&gt;
*Feature: Added a way to limit the &amp;quot;Hide&amp;quot; permission per-class. Now you can specify whom can a class hide from.&lt;br /&gt;
*Feature: Zones now remember date/time of creation and last edit, and names of original creator and last editor.&lt;br /&gt;
*Fix: Unauthorized players can no longer PM or use bring/freeze/unfreeze/kick/tp/where on hidden players. They get the standard &amp;quot;player not found&amp;quot; message.&lt;br /&gt;
*Fix: Fixed hidden players being counter towards /players total.&lt;br /&gt;
*Fix: Fixed a potential crash in /wflush when using on unloaded maps.&lt;br /&gt;
*Fix: Doing /banip or /banall on unrecognized players no longer ip-bans 255.255.255.255. Old IPBanList entries relating to 255.255.255.255 will be automatically discarded.&lt;br /&gt;
*Fix: Fixed /replace command uses not being logged.&lt;br /&gt;
*Fix: Fixed /worlds command not showing world count.&lt;br /&gt;
*Fix: Fixed a client-disconnect when trying to unban a player who is not in the database.&lt;br /&gt;
*Fix: Fixed &amp;quot;/join PlayerName&amp;quot; not translating to &amp;quot;/tp PlayerName&amp;quot; correctly.&lt;br /&gt;
*Fix: Fixed a very unlikely client-disconnect in ChangeClass if the entered class name contains curved braces.&lt;br /&gt;
*Change: Changed default name for &amp;quot;/flip&amp;quot; command to &amp;quot;/mirror&amp;quot;, and fixed command&#039;s help. Either term still works.&lt;br /&gt;
*Change: Added more block name aliases:&lt;br /&gt;
**Air: delete, erase&lt;br /&gt;
**Stone: cement, concrete&lt;br /&gt;
**Grass: gras (common typo)&lt;br /&gt;
**Obsidian: onyx&lt;br /&gt;
*Change: Improved formatting of /players, /worlds, and draw command messages.&lt;br /&gt;
&lt;br /&gt;
===0.463===&lt;br /&gt;
&#039;&#039;9 September 2010 - r218&#039;&#039;&lt;br /&gt;
*Fix: Fixed special colors showing up even if ClassColorsInChat is disabled.&lt;br /&gt;
*Fix: Fixed potential client-crash in World.SendToAll(), and related client-crash in lock/unlock.&lt;br /&gt;
&lt;br /&gt;
===0.462===&lt;br /&gt;
&#039;&#039;8 September 2010 - r217&#039;&#039;&lt;br /&gt;
*Fix: The &amp;quot;OK&amp;quot; button in AddWorldPopup no longer stays grayed out.&lt;br /&gt;
*Fix: Fixed &amp;quot;Error occured while loading&amp;quot; in the file information dialog for non-FCM files.&lt;br /&gt;
*Fix: Fixed a crash in /bring when used without any parameters.&lt;br /&gt;
*Fix: Fixed Server.UrlEncode not escaping 0x00-0x0F characters properly.&lt;br /&gt;
*Change: Slightly reduced default tree density in MapGenerator.&lt;br /&gt;
&lt;br /&gt;
===0.461===&lt;br /&gt;
&#039;&#039;8 September 2010 - r216&#039;&#039;&lt;br /&gt;
*Feature: New EXPERIMENTAL &amp;quot;/reloadconfig&amp;quot; command, and associated ReloadConfig permission. Use with caution!&lt;br /&gt;
*Fix: Fixed a case where AddWorldPopup would allow clicking &amp;quot;OK&amp;quot; with a null map.&lt;br /&gt;
*Fix: Fixed player crash if /freeze or /unfreeze is used without arguments.&lt;br /&gt;
*Fix: Fixed player crash on FormatException in /zones and Server.ShowPlayerConnectedMessage.&lt;br /&gt;
*Fix: Fixed potential player crash if LimitOneConnectionPerIP is enabled.&lt;br /&gt;
&lt;br /&gt;
===0.460===&lt;br /&gt;
&#039;&#039;8 September 2010 - r214&#039;&#039;&lt;br /&gt;
*Feature: Added ShowPlayerConnectedMessage and ClassColorsInWorldNames settings to config.&lt;br /&gt;
*Feature: Added /measure command.&lt;br /&gt;
*Feature: Class colors and prefixes are now applied consistently EVERYWHERE.&lt;br /&gt;
*Feature: Banned players now see their ban reason/memo when they get kicked.&lt;br /&gt;
*Feature: A special error message is shown to players trying to connect with Alpha/SMP client.&lt;br /&gt;
*Feature: IsoCat (ConfigTool isometric preview) rendering quality improved: better shadows and slight altitude-based gradient.&lt;br /&gt;
*Feature: Added new blocktype name aliases: &amp;quot;solid&amp;quot;, &amp;quot;golden&amp;quot;, &amp;quot;halfstep&amp;quot;, &amp;quot;halfblock&amp;quot;, &amp;quot;steps&amp;quot;.&lt;br /&gt;
*Feature: Added player count for each class in /classes&lt;br /&gt;
*Fix: Fixed wrong &amp;quot;MaxBackupsSize&amp;quot; range in ConfigTool.&lt;br /&gt;
*Fix: MaxBackupsSize setting is now applied correctly.&lt;br /&gt;
*Fix: IRC color codes are now stripped from forwarded messages.&lt;br /&gt;
*Fix: IRC bot now uses ServerName for &amp;quot;real name&amp;quot;.&lt;br /&gt;
*Fix: Formatting improved in many error messages.&lt;br /&gt;
*Fix: Commas in ban/unban/promote/demote reasons no longer cause problems with PlayerDB.&lt;br /&gt;
*Fix: Removed extra comma from /worlds list that showed in place of hidden/inaccessible worlds.&lt;br /&gt;
*Change: Added 5-second delay between retries in AutoLauncher&lt;br /&gt;
*Change: &amp;quot;Player connected&amp;quot; message condensed to a single line by absorbing &amp;quot;joined world&amp;quot; message.&lt;br /&gt;
*Change: Removed ChangeName permission (and the ability to change names) due to possibility of abuse and confusion. Related /nick and /whois commands were also removed.&lt;br /&gt;
*Change: /tp can now fall back to behave like /join if player name is not found (for all those times when you mistype /tp instead of /join). Conversely, /join falls back to /tp if player was not found.&lt;br /&gt;
*Optimization: Reduced bandwidth use with an adaptive movement packet skipping algorithm. Should reduced outbound traffic by at least 15%.&lt;br /&gt;
*Optimization: BlockUpdate memory usage slightly reduced.&lt;br /&gt;
&lt;br /&gt;
===0.455===&lt;br /&gt;
&#039;&#039;8 September 2010 - r213&#039;&#039;&lt;br /&gt;
*Feature: AutoLauncher (BETA) allows restarting the fCraftConsole server if it crashed. Although it honestly shouldn&#039;t crash at all!&lt;br /&gt;
*Fix: Allowed renaming worlds in cases where only capitalization is different.&lt;br /&gt;
*Fix: If an ip-banned player has more than one connection, all connections are now terminated.&lt;br /&gt;
*Fix: Fixed nonrectangular MCSharp maps getting messed up by the loader.&lt;br /&gt;
*Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.&lt;br /&gt;
*Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of &amp;quot;no player found&amp;quot; message). Affects PMs, {{cmd|TP}}, {{cmd|Bring}}, {{cmd|Freeze}}, {{cmd|Unfreeze}}, {{cmd|Kick}}.&lt;br /&gt;
*Change: Improved OS detection in crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.454===&lt;br /&gt;
*Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.&lt;br /&gt;
*Fix: Replace no longer behaves same as replacenot.&lt;br /&gt;
*Fix: Spaces in IRC messages are now preserved.&lt;br /&gt;
*Fix: Help entries for paste/pastenot corrected.&lt;br /&gt;
*Fix: /cinfo (without parameters) now shows player&#039;s own class info.&lt;br /&gt;
&lt;br /&gt;
===0.453===&lt;br /&gt;
*Feature: It is now possible to reverse last /undo (by typing /undo again).&lt;br /&gt;
*Change: IRC message colors are applied slightly differently now.&lt;br /&gt;
*Change: Added more automated crash reporting hooks - to MainLoop and Tasks.&lt;br /&gt;
*Change: More help messages improved.&lt;br /&gt;
*Change: Added a more informative message for people running outdated versions of Mono and .Net runtime.&lt;br /&gt;
*Optimization: Slightly reduced memory usage of /undo, /paste, and PlayerDB.Load()&lt;br /&gt;
&lt;br /&gt;
===0.452===&lt;br /&gt;
*Feature: New /replacenot command allows replacing all blocks EXCEPT the specified one.&lt;br /&gt;
*Feature: New /flip and /rotate commands to manipulate copied blocks.&lt;br /&gt;
*Feature: /players list is now in alphabetical order.&lt;br /&gt;
*Fix: Trying to specify an unrecognized block type for draw commands (e.g. &amp;quot;/c ai&amp;quot; instead of &amp;quot;/c air&amp;quot;) now shows a proper error message.&lt;br /&gt;
*Fix: Fixed /gen command crashing players if coordinates are typed in before theme/template.&lt;br /&gt;
*Fix: Fixed /e ellipsoids coming out crooked.&lt;br /&gt;
*Fix: &amp;quot;joined for the first time&amp;quot; messages are now shown correctly.&lt;br /&gt;
*Fix: Fixed /replace not working correctly with /undo&lt;br /&gt;
*Fix: Made IRC bot strip nonprintable characters from messages, and ignore empty messages.&lt;br /&gt;
*Fix: World permissions are no longer reset when doing /wload. Also a permission reminder is now shown when creating new worlds.&lt;br /&gt;
*Change: Improved some help messages.&lt;br /&gt;
*Change: Improved IRC error reporting.&lt;br /&gt;
*Change: Added world name back to &amp;quot;Almost there...&amp;quot; join screen.&lt;br /&gt;
*Change: /pasteonly is now called /paste, and /paste is now called /pastenot (for consistency with other custom servers)&lt;br /&gt;
*Optimization: Slightly reduced memory usage of massive drawing commands (over undo limit).&lt;br /&gt;
&lt;br /&gt;
===0.451===&lt;br /&gt;
*Feature: Improved the way fCraft handles fatal errors (crashes). Crash logs are now created more reliably.&lt;br /&gt;
*Feature: Added automated crash reporting to fragmer.net (opt-out).&lt;br /&gt;
*Feature: Added an announcement for players logging in from IPs associated with other previously-banned players.&lt;br /&gt;
*Fix: Curved braces - &amp;quot;{}&amp;quot; - in server name no longer cause problems.&lt;br /&gt;
*Fix: &amp;quot;Leaving the map&amp;quot; kick disabled temporarily, will be made configurable per-class soon.&lt;br /&gt;
*Fix: banall/unbanall commands produce less chat spam.&lt;br /&gt;
*Fix: AFK kicks no longer count towards /info number-of-times-kicked.&lt;br /&gt;
*Change: Added class colors to /info, and fixed formatting bug.&lt;br /&gt;
*Change: Cleaned up &amp;quot;Advanced&amp;quot; tab in ConfigTool.&lt;br /&gt;
**Removed obsolete config keys: PolicyColorCodesInChat, PolicyIllegalCharacters, and RunOnStartup&lt;br /&gt;
**Added SubmitCrashReports and IRCDelay config keys.&lt;br /&gt;
&lt;br /&gt;
===0.450===&lt;br /&gt;
&#039;&#039;26 August 2010&#039;&#039;&lt;br /&gt;
*Feature: IRC bot rewritten for better performance, flexibility, and safety.&lt;br /&gt;
*Feature: New IRC options: IRCBotAnnounceIRCJoins and IRCBotAnnounceServerJoins.&lt;br /&gt;
*Fix: Fixed messages containing only a single slash (&#039;/&#039;) crashing client thread.&lt;br /&gt;
*Change: Removed obsolete IRCBotMsgs config key.&lt;br /&gt;
*Change: Added OnPlayerSentMessage event to Server.&lt;br /&gt;
*Change: IRC bot&#039;s commands (e.g. !status) are temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
===0.445===&lt;br /&gt;
&#039;&#039;25 August 2010&#039;&#039;&lt;br /&gt;
*IMPORTANT! Please update ASAP, a security issue was identified in previous version.&lt;br /&gt;
*Fix: If you need to start message with a slash, you can now escape the slash (type &amp;quot;//&amp;quot;)&lt;br /&gt;
*Fix: Fixed endless update loop (if automatic updates were enabled)&lt;br /&gt;
*Fix: Private messages with a space between &#039;@&#039; and the player name now work.&lt;br /&gt;
*Fix: Hacking-related kicks are not announced globally.&lt;br /&gt;
*Fix: Fixed &amp;quot;/help&amp;quot; giving wrong message if help entry was not found.&lt;br /&gt;
*Change: Minor changes in MapGenerator/Noise&lt;br /&gt;
&lt;br /&gt;
===0.444===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*Feature: New stat command, /sinfo (server info).&lt;br /&gt;
*Fix: Ban reason/memo now shown for normal bans.&lt;br /&gt;
*Fix: /cinfo for unlimited classes no longer shows &amp;quot;draw limit: 0&amp;quot;&lt;br /&gt;
*Fix: Fixed IRC message colors, and removed IRC color codes from log.&lt;br /&gt;
&lt;br /&gt;
===0.443===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New {{cmd|WFlush}} command. It allows finishing all in-progress draw commands at maximum speed (over 100k blocks/second) then forces a map rejoin.&lt;br /&gt;
*Feature: Added more customization options for colors: PrivateMessageColor and IRCMessageColor in Config.&lt;br /&gt;
*Feature: {{cmd|Players}} list is now sorted alphabetically.&lt;br /&gt;
*Feature: Added &amp;quot;Check Port&amp;quot; button to ConfigTool to see if port is open. Uses www.utorrent.com/testport&lt;br /&gt;
*Feature: Added &amp;quot;Play&amp;quot; button to fCraftUI to open server URL in the browser&lt;br /&gt;
*Feature: World names in {{cmd|Worlds}} list are now colored according to each world&#039;s build permission. &lt;br /&gt;
*Feature: Added speedhack detection &amp;amp; prevention (BETA) and corresponding Permission.UseSpeedHack. All your classes will be granted this permission by default. Edit the config to customize it.&lt;br /&gt;
*Fix: When using {{cmd|Mark}} outside of map boundaries, draw limits are no longer calculated incorrectly (thanks to Darnest).&lt;br /&gt;
*Fix: Fixed possible crash in Map.CheckZones() on maps created with {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed compilation issue with &amp;quot;tileset.png&amp;quot; on case-sensitive filesystems.&lt;br /&gt;
*Fix: Fixed class-wide messages not wrapping correctly.&lt;br /&gt;
*Optimization: antigrief and antispam checking overhead reduced.&lt;br /&gt;
&lt;br /&gt;
===0.442===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Fix: Addresses a security issue.&lt;br /&gt;
*Fix: &amp;quot;OK&amp;quot; button in AddWorldPopup is now always disabled if no map is set.&lt;br /&gt;
*Fix: &amp;quot;Feature size&amp;quot; label is now updater correctly when map dimensions are changed.&lt;br /&gt;
*Fix: Added missing player notifications for {{cmd|Undo}} and {{cmd|Cancel}} commands.&lt;br /&gt;
*Change: MapGenerator&#039;s default map size changed to 128x128x80&lt;br /&gt;
&lt;br /&gt;
===0.441===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Feature: Added cuboid limits to /cinfo&lt;br /&gt;
*Fix: Fixed a bug in BoundingBox that made /paste and zones behave incorrectly&lt;br /&gt;
*Fix: Fixed ban/unban commands not kicking the player if entered name capitalization did not match actual capitalization&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; being broken when using {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed {{cmd|Ban}} rank checks affecting {{cmd|Unban}}&lt;br /&gt;
*Change: Optimized zone permission checks&lt;br /&gt;
&lt;br /&gt;
===0.440===&lt;br /&gt;
*FEATURE: New MapGenerator with tons of options. You can also save/load custom templates for it.&lt;br /&gt;
*FEATURE: AddWorldPopup interface overhaul.&lt;br /&gt;
*FEATURE: JTE, D3, and Myne/Mynecraft/Hyvebuild/iCraft map format converters added.&lt;br /&gt;
*Feature: Improved syntax of the /gen command. See &amp;quot;/help gen&amp;quot; for details.&lt;br /&gt;
*Feature: Reason/memo is now shown publicly when someone gets banned, unbanned, or kicked.&lt;br /&gt;
*Feature: Teleport and Bring work across worlds - world permissions still apply.&lt;br /&gt;
*Feature: Added 4 new Config keys: RequireBanReason, RequireClassChangeReason, AnnounceKickAndBanReasons, AnnounceClassChanges. By default &amp;quot;AnnounceKickAndBanReasons&amp;quot; and &amp;quot;AnnounceClassChanges&amp;quot; are enabled.&lt;br /&gt;
*Feature: Added 5 new fields to PlayerDB: previousClass, classChangeReason, timesKicked, timesKickedOthers, timesBannedOthers.&lt;br /&gt;
*Feature: Added a lot of new information to /info.&lt;br /&gt;
*Feature: You can now save map preview images (isometric) from AddWorldPopup.&lt;br /&gt;
*Feature: ConfigTool now shows warnings about any errors logged during Config.Load&lt;br /&gt;
*Fix: Yet another workaround for VerifyNames false negatives (thanks to SpaceManiac).&lt;br /&gt;
*Fix: Fixed being able to paste admincrete/water/lava without permission (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Trying to go over class draw limit no longer causes &amp;quot;Another drawing command is in progress&amp;quot; error.&lt;br /&gt;
*Fix: Mcc.MapUtility.TryLoading() and Map.LoadHeaderOnly() now release file handles as soon as possible. This should fix some &amp;quot;file is being used by another process&amp;quot; errors.&lt;br /&gt;
*Fix: Map spawn should be parsed correctly for MCSharp/MCZall maps&lt;br /&gt;
*Fix: If a map doesn&#039;t start with a gzip header, it no longer has a chance to abort the whole load process.&lt;br /&gt;
*Fix: Fixed blocktype names being case-sensitive.&lt;br /&gt;
*Fix: Added a more informative message when idle players are kicked.&lt;br /&gt;
*Fix: Fixed undo buffer not getting cleared when doing paste/pasteonly&lt;br /&gt;
*Fix: Fixed /waccess exception kicking players.&lt;br /&gt;
*Fix: 100% Empty maps no longer crash AddWorldPopup with OutOfMemoryException&lt;br /&gt;
*Fix: Fixed &amp;quot;player is already banned&amp;quot; message when doing /BanAll&lt;br /&gt;
*Fix: Fixed no public message appearing when doing /BanAll&lt;br /&gt;
*Fix: Fixed cuboid/ellipsoid/cuboidh logging blocktype code instead of blocktype name.&lt;br /&gt;
*Fix: Improved the message that&#039;s shown when idle players are kicked.&lt;br /&gt;
*Fix: Documented ability to /tp to specific coordinates.&lt;br /&gt;
*Fix: AddWorldPopup no longer crashes if user closes &amp;quot;Load Map&amp;quot; dialog before selecting any file.&lt;br /&gt;
*Fix: When drawing affects (in part or in full) a restricted zone, the zone is left untouched, and the rest of draw command finishes (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Fixed crash in AddWorldPopup.AsyncLoad() if map loading failed.&lt;br /&gt;
*Fix: LegacyRankMapping is now parsed correctly&lt;br /&gt;
*Fix: Renaming a class no longer causes &amp;quot;Worlds&amp;quot; tab dropdown menus to go out-of-sync.&lt;br /&gt;
*Change: AddWorldPopup preview image quality improved.&lt;br /&gt;
*Change: Updated to newest version of NBTag library.&lt;br /&gt;
*Change: Frozen players can no longer build/delete.&lt;br /&gt;
*Change: Removed public &amp;quot;undo&amp;quot; message, added log message instead.&lt;br /&gt;
*Change: Removed AnnounceUnverifiedNames settings.&lt;br /&gt;
*Change: When building/deleting permission is denied, the exact reason is given (instead of a vague &amp;quot;you cannot do that&amp;quot; message) (part of Player.CanPlace overhaul).&lt;br /&gt;
&lt;br /&gt;
===0.435===&lt;br /&gt;
*Feature: Added /copy, /paste, and /pasteonly commands. Rotation coming soon.&lt;br /&gt;
*Feature: Added CopyAndPaste permission, granted to op and owner by default.&lt;br /&gt;
*Feature: Added MapGenType.Cliffs - similar to Mountains type, but with cliffs!&lt;br /&gt;
*Fix: Fixed /paint command&lt;br /&gt;
*Fix: Fixed /baninfo now showing any information if used without parameters.&lt;br /&gt;
*Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.&lt;br /&gt;
&lt;br /&gt;
===0.434===&lt;br /&gt;
*Feature: new /bind command allows mapping any block to any other. Now you can place those unbuildable blocks (water, lava, grass, double-step) in any way you wish. For compatibility, old commands (/water, /solid, /lava, /grass) have been preserved.&lt;br /&gt;
*Change: &amp;quot;step&amp;quot; added as an alias for Stair block. &amp;quot;doublestep&amp;quot; added as an alias for DoubleStair.&lt;br /&gt;
&lt;br /&gt;
===0.433===&lt;br /&gt;
*Feature: /winfo now shows who locked/unlocked the map, and how long ago.&lt;br /&gt;
*Fix: Fixed a error message that showed up when announcements.txt was blank.&lt;br /&gt;
*Fix: Permission check added back to lock/unlock commands.&lt;br /&gt;
*Fix: &amp;quot;mapinfo&amp;quot; added back as alias for /winfo&lt;br /&gt;
*Fix: Fixed locked maps not getting unloaded when all players left&lt;br /&gt;
&lt;br /&gt;
===0.432===&lt;br /&gt;
*Fix: List of worlds printed by /worlds is now sorted alphabetically.&lt;br /&gt;
*Fix: Fixed an obscure half-disconnect bug that left players with id=0 who happened to be on the main world in a semi-disconnected state IF someone else was kicked halfway through the login process before it was assigned an id.&lt;br /&gt;
&lt;br /&gt;
===0.431===&lt;br /&gt;
*Fix: Fixed still messed-up /worlds command.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.430===&lt;br /&gt;
*Fix: Fixed messed-up /worlds command. Sorry about that.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.429===&lt;br /&gt;
*Feature: Command-handler infrastructure has been redesigned. This will allow much more flexibility for devs and plugin makers later.&lt;br /&gt;
*Feature: &amp;quot;/help commands&amp;quot; now only shows available commands by default. Type &amp;quot;/help commands all&amp;quot; to see all commands.&lt;br /&gt;
*Feature: /worlds command now only available worlds by default. Type &amp;quot;/worlds all&amp;quot; to include worlds inaccessible to you.&lt;br /&gt;
*Feature: Help entries added for /zedit, /mark, /version, /rules, and /say.&lt;br /&gt;
*Feature: ConfigTool World tab columns are now sortable.&lt;br /&gt;
*Fix: Fixed &amp;quot;max backups&amp;quot; in ConfigTool being limited to 100. Now it&#039;s at a more reasonable limit of 100000.&lt;br /&gt;
*Fix: Fixed Map.Backup() deleting the newest (instead of the oldest) backup if the total number of files was limited.&lt;br /&gt;
*Fix: Fixed an ERROR that popped up if a player got disconnected during the login process (while player=null).&lt;br /&gt;
*Fix: FormatException crash fixed that caused whole server to go down instead of a player thread.&lt;br /&gt;
*Fix: Several draw-related bugs and crashes fixed.&lt;br /&gt;
*Fix: Fixed crash in /winfo when used on unloaded worlds.&lt;br /&gt;
*Fix: Fixed a bug in Config that caused antigrief to be re-enabled every load.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool that didn&#039;t update AntiGriefSeconds properly when changing between classes.&lt;br /&gt;
*Change: Many /help entries have been improved.&lt;br /&gt;
*Change: Split /class command into two: /classes (aka /ranks) shows a list of classes, and /class (aka /cinfo or /classinfo) shows permission list (missed from last release notes).&lt;br /&gt;
*Change: Added /spawn as an alias for /tp (missed from last release notes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.428===&lt;br /&gt;
*Feature: Line wrapping. Yes, finally.&lt;br /&gt;
*Feature: Per-class draw limits. Defaults are: owner unlimited, op unlimited, regular 4096 (16x16x16), guest 512 (8*8*8)&lt;br /&gt;
*Feature: Per-class antigrief detection. Defaults are: owner unmetered, op umetered, regular 45/6 (7.5 blocks/second), guest 35/5 (7 blocks/second)&lt;br /&gt;
*Feature: Memory usage of draw commands has been reduced by 6 bytes per block (37% improvement).&lt;br /&gt;
*Fix: Extra color codes fixed in /players command.&lt;br /&gt;
*Fix: Fixed a bug with /undo that caused more than one command to be undone at once.&lt;br /&gt;
*Fix: Fixed maps generated with &amp;quot;Realistic terrain&amp;quot; (MapGenerator) having an empty layer at the bottom of the map.&lt;br /&gt;
*Change: Default classes have been tweaked:&lt;br /&gt;
**regular can now use draw commands&lt;br /&gt;
**op can now lock/unlock&lt;br /&gt;
*Change: Improved arrangement of Permission list items.&lt;br /&gt;
*Change: Removed obsolete ConfigKey variables AntigriefBlockCount and AntigriefBlockInterval&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.427===&lt;br /&gt;
*Feature: Added /zedit command for changing zone permissions after creation&lt;br /&gt;
*Feature: New aliases for drawing commands: /c /e /h /r /m&lt;br /&gt;
*Fix: Fix for cuboid command kicking players with &amp;quot;Block.Undefined&amp;quot; if called with no optional BlockType parameter&lt;br /&gt;
*Fix: Fixed zone definitions getting corrupted.&lt;br /&gt;
*Fix: Allowed /save command to be used from console and from remote worlds. Previously you had to join the world to save it.&lt;br /&gt;
*Fix: Fixed potential crash in /winfo when looking up unloaded worlds.&lt;br /&gt;
*Fix: Fixed /zone allowing duplicate names, then kicking the client.&lt;br /&gt;
*Fix: Fixed /ztest showing the standard &amp;quot;you are not allowed to build in this zone&amp;quot; message instead of the expected zone list.&lt;br /&gt;
*Fix: Fixed incorrect description of draw log messages, and backup error messages&lt;br /&gt;
*Fix: Fixed false triggering of &amp;quot;Player asked to be released from its world, but the world did not contain the player&amp;quot; error&lt;br /&gt;
*Change: Fruitified fragmer&#039;s name &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.426===&lt;br /&gt;
*Feature: Announcements! You can define a list of announcements to show periodically. A random line from announcements.txt will be shown to all players at specified interval (in minutes).&lt;br /&gt;
*Feature: /replace command.&lt;br /&gt;
*Feature: /undo command has been improved for more flexibility and better performance.&lt;br /&gt;
*Feature: /winfo (alias: /mapinfo) is added for displaying world name, player count, map dimensions, and access/build permissions.&lt;br /&gt;
*Fix: Fixed a bug that caused duplicate entries to be added to PlayerDB when doing /importranks or /importbans.&lt;br /&gt;
*Change: New ConfigKeys: AnnouncementColor (default: green) and AnnouncementInterval (default: 5 minutes).&lt;br /&gt;
*Change: Draw command stride increased to 16x16x16, for better theoretical performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.425===&lt;br /&gt;
*Feature: Added hollow draw command (/cubh) and aliases (/cuboidh and /bhb)&lt;br /&gt;
*Feature: /players now shows class colors and a total number of players. Breakdown of /players by world is coming soon&lt;br /&gt;
*Feature: Added &amp;quot;Joined world WorldName&amp;quot; message that shows when changing worlds&lt;br /&gt;
*Fix: Improved several /help entries&lt;br /&gt;
*Fix: Fixed a bug in Map.SaveBackup() that could cause a crash if MaxBackups was set&lt;br /&gt;
*Fix: Fixed a bug in ConfigUI where &amp;quot;Delete World&amp;quot; button could leave the map file behind and/or cause an error&lt;br /&gt;
*Fix: Calling lock/unlock from console without a WorldName now shows a nicer error message&lt;br /&gt;
*Change: Improved safety checks of /join command&lt;br /&gt;
*Change: Added a catch-all exception handler into Server.MainLoop&lt;br /&gt;
*Change: Added exception handlers for EVERY single piece of code that requires file access&lt;br /&gt;
*Change: Added more thread safety in MapCommands.WorldRename that resolves a potential race condition with Map.Save&lt;br /&gt;
*Change: Modified IPBanList to use the standard temp folder (instead of fCraft working path) for its temp files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.424===&lt;br /&gt;
*Fix: Fixed /unhide and normal connection getting different messages&lt;br /&gt;
*Fix: Fixed client crash when viewing /rules if the rule file has blank lines&lt;br /&gt;
*Fix: Worlds with capital letters in the name are joinable again&lt;br /&gt;
*Fix: Potential crash in DoClassChange() if target player is already same rank AND is not currently on the server&lt;br /&gt;
*Change: Moved the command list to /help commands&lt;br /&gt;
*Change: Performance and thread-safety improvements to PlayerDB&lt;br /&gt;
*Change: Disabled some more debugging code to avoid taking up unnecessary resources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.423===&lt;br /&gt;
*Feature: /importbans now also supports &amp;quot;banned-ip.txt&amp;quot;&lt;br /&gt;
*Feature: Logs are now stored in /logs/ folder. Your fCraft.log file will be moved there automatically and renamed to &amp;quot;_OldLog.log&amp;quot;&lt;br /&gt;
*Feature: Log splitting now works by day or by session. Set &amp;quot;LogMode&amp;quot; key in config.xml or see Logging tab in ConfigTool.&lt;br /&gt;
*Feature: All maps are now stored in /maps/ folder. Your map files will be moved automatically first time you start ConfigTool/fCraftConsole/fCraftUI&lt;br /&gt;
*Feature: Reserved slots now work&lt;br /&gt;
*Fix: Fixed a bug in fCraft.Server.LoadWorldListXML that could make all worlds hidden.&lt;br /&gt;
*Fix: &amp;quot;player connected&amp;quot; message shown when someone connects, instead of just &amp;quot;player joined world&amp;quot;&lt;br /&gt;
*Fix: &amp;quot;player left the server&amp;quot; message is not shown if the player got kicked before LoginSequence finished (e.g. if server was full)&lt;br /&gt;
*Fix: Added back IP logging for incoming connections&lt;br /&gt;
*Fix: Fixed ConfigTool-generated maps not having correct spawn point&lt;br /&gt;
*Fix: Fixed /user showing both promote and demote messages at once&lt;br /&gt;
*Fix: Removed references to old &amp;quot;/drawundo&amp;quot; command name in &amp;quot;/undo&amp;quot; messages&lt;br /&gt;
*Fix: Fixed &amp;quot;Unrecognized entry ignored: LegacyRankMapping =&amp;quot; warning&lt;br /&gt;
*Change: Made /importbans and /importranks save PlayerDB at once&lt;br /&gt;
*Change: fCraft now forcibly resets its working directory to the same path where the executable is&lt;br /&gt;
*Change: Removed &amp;quot;delete old file?&amp;quot; prompt when renaming worlds in AddWorldPopup. Now it just does it, to match tabWorlds&#039; DataGridView behavior&lt;br /&gt;
*Change: Added additional error checks to Map.Backup() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.422===&lt;br /&gt;
*Feature: Further improved network performance by introducing nonblocking (lock-free) data structure to packet output buffer&lt;br /&gt;
*Fix: Fixed &amp;quot;world creation failed&amp;quot; error if worlds.xml defined a non-existing world to be main&lt;br /&gt;
*Fix: Added back missing messages when doing /user on offline users&lt;br /&gt;
*Fix: Fixed player name color not being updated when their class changes&lt;br /&gt;
*Fix: Added missing /help entries for /importbans and /importranks&lt;br /&gt;
*Change: Improved help messages for /lock, /unban, /unbanip, /undo, /wload, /wmain, and /wremove&lt;br /&gt;
*Change: Tweaked default values of BlockUpdateThrottling and maxBlockUpdatesPerTick for maximum lag-free performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.421===&lt;br /&gt;
*Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players&lt;br /&gt;
*Feature: Added the ability to ban unseen players&lt;br /&gt;
*Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated &amp;quot;Import&amp;quot; permission was added. See &amp;quot;/help importbans&amp;quot; and &amp;quot;/help importranks&amp;quot; for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.&lt;br /&gt;
*Feature: Improved BlockUpdateQueue performance (faster drawing commands!) by switching to a lock-free data structure&lt;br /&gt;
*Fix: Fixed startup errors not being logged if config.xml has not been parsed yet&lt;br /&gt;
*Fix: Fixed ConfigUI input box not aligning properly when window is resized&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; generated maps being 1 block off vertically&lt;br /&gt;
*Change: Updated PlayerDB and IPBanList to use standard temporary folder (instead of dumping temp files into fCraft directory)&lt;br /&gt;
*Change: Added &amp;quot;logging starts&amp;quot; marker that&#039;s written to console and log on-startup&lt;br /&gt;
*Change: fCraftUI log now displays the last 2000 lines (up from 1000 lines)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.420===&lt;br /&gt;
*Feature: New &amp;quot;Worlds&amp;quot; tab in ConfigTool for managing your world list&lt;br /&gt;
*Feature: Isometric map previews and map generation in ConfigTool&lt;br /&gt;
*Feature: Implemented a class-ID system that allows adding/renaming/deleting classes without breaking compatibility. DeleteClassPopup was added for this&lt;br /&gt;
*Feature: Added LimitOneConnectionPerIP option to config &amp;amp; configtool&lt;br /&gt;
*Feature: Worlds can now be hidden from the /worlds list&lt;br /&gt;
*Feature: Added /whois command for checking if a player is using real name or nickname. BE CAREFUL WITH &amp;quot;ChangeName&amp;quot; PERMISSION!&lt;br /&gt;
*Feature: fCraft now generates crash.txt on unhandled fatal errors&lt;br /&gt;
*Feature: Implemented theme support, and added 2 new terrain types (Coast and River) for MapGenerator. See &amp;quot;/help gen&amp;quot; for details, or use ConfigTool.&lt;br /&gt;
*Feature: Pressing Up/Down keys in fCraftUI will show previously typed commands.&lt;br /&gt;
*Fix: Fixed a bug in /wmain and /wload that sometimes made the server unconnectable after changing map&lt;br /&gt;
*Fix: Limits on the /kick command now apply correctly&lt;br /&gt;
*Fix: Fixed /wbuild and /waccess showing wrong messages&lt;br /&gt;
*Fix: Fixed hidden players unable to build due to grief protection&lt;br /&gt;
*Fix: Added /nick and /whois entries to /help&lt;br /&gt;
*Fix: Removed the ability to call draw commands from console (caused crash)&lt;br /&gt;
*Fix: Fixed /lava checking PlaceWater permission instead of PlaceLava&lt;br /&gt;
*Fix: A debug message about &amp;quot;attempting to unregister an non-existent player&amp;quot; is no longer logged every time VerifyNames fails&lt;br /&gt;
*Fix: When using /where command on other players, correct coordinates are now shown]&lt;br /&gt;
*Fix: Player&#039;s classes are now updated in fCraftUI list when promoted/demoted&lt;br /&gt;
*Fix: PMs are now logged as LogType.PrivateChat (instead of generic LogType.WorldChat)&lt;br /&gt;
*Fix: /hide and /unhide now use Color.Sys instead of hardcoded Color.Yellow&lt;br /&gt;
*Fix: Player&#039;s nicknames (as set by /nick) are applied correctly and preserved when changing worlds&lt;br /&gt;
*Fix: Added missing checks for &amp;quot;Chat&amp;quot; permissions&lt;br /&gt;
*Fix: Color buttons in ConfigTool now show correct background color under Mono&lt;br /&gt;
*Fix: Fixed help entry to /freeze showing incorrect information&lt;br /&gt;
*Fix: Corrected tab order in all ConfigTool forms&lt;br /&gt;
*Change: Added /blb as another alias for /cuboid&lt;br /&gt;
*Change: Removed ReservedSlotBehavior config key&lt;br /&gt;
*Change: Disabled word wrapping in rules.txt editor popup&lt;br /&gt;
*Change: /unhide now resets the player&#039;s nick&lt;br /&gt;
*Change: Both player&#039;s real name and nickname (if any) are now recorded in the log&lt;br /&gt;
*Change: Added a warning to /info when looking up nicknames (instead of real names)&lt;br /&gt;
*Change: Heartbeat salt generation (used to verify names) is now more secure&lt;br /&gt;
*Change: Removed CanPlaceHardenedBlocks from permission list&lt;br /&gt;
*Change: All map generator terrain types have been tweaked for improved appearence&lt;br /&gt;
*Change: Centered all ConfigTool popup windows (AddWorldPopup, ColorPicker, DeleteClassPopup, TextEditorPopup)&lt;br /&gt;
*Change: Hid unneeded icons and buttons from ConfigTool popups&lt;br /&gt;
*Change: Changed the way zones store rank restriction (as part of the compatibility assurance), and added versioning to zone definitions&lt;br /&gt;
*Change: Map.Save() now creates temporary files in the OS-specific temporary folder, not in same folder where fCraft is installed&lt;br /&gt;
*Change: World permissions are now updated automatically when a class is deleted&lt;br /&gt;
*Refactor: Improved consistency in code naming conventions, especially in IRC code&lt;br /&gt;
*Refactor: Improved code organization in many areas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.410===&lt;br /&gt;
*Implemented per-world access and build permissions.&lt;br /&gt;
*Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.&lt;br /&gt;
*New world-related commands:&lt;br /&gt;
**/wmain changes the main world&lt;br /&gt;
**/waccess and /wbuild allow setting per-world permissions&lt;br /&gt;
**/wremove allows deleting worlds&lt;br /&gt;
**/wrename allows renaming worlds without reloading&lt;br /&gt;
**/wload command is significantly improved (see /help wload for more info). The functionality of the old /load command has been merged with /wload. Now /load is an alias for /join, together with /l, /j, and /goto.&lt;br /&gt;
*Removed SaveAndLoad permission - it became redundant with ManageWorlds. Please check your config to ensure that permissions remain consistent.&lt;br /&gt;
*Added new and previously-missing (/lockall, /unlockall, /where, /me, /rules, /setspawn) commands to /help.&lt;br /&gt;
*Disabled verify-names check for localhost (127.0.0.1) when running in Balanced mode.&lt;br /&gt;
*When player is denied access to some command, server now names the specific permission that&#039;s needed.&lt;br /&gt;
*Fixed a potential desync issue when one player rejoins a world, and another joins it simultaneously.&lt;br /&gt;
*Removed /genh command and /compass alias for the /where command.&lt;br /&gt;
*Added a fail-safe exception check when executing console commands. Now the server will stay up even if an exception occurs while executing console command.&lt;br /&gt;
*Improved the way server reacts to fatal errors on startup. Now there is a clear indication that server cannot start.&lt;br /&gt;
*&amp;quot;default map&amp;quot; is now referred to as &amp;quot;main world&amp;quot; for consistency. &lt;br /&gt;
*Improved garbage collection.&lt;br /&gt;
&lt;br /&gt;
===0.405===&lt;br /&gt;
*Added back support for vanilla (server_level.dat) maps.&lt;br /&gt;
*Fixed MCSharp importer leaving nonstandard blocks in the map, causing client crashes. Now all MCSharp-specific blocks are converted to normal types.&lt;br /&gt;
*Fixed visual player list not updating in fCraftUI.&lt;br /&gt;
*Added /players command to list ALL players on the server (in all worlds)&lt;br /&gt;
*Made the BlockType parameter optional for /cuboid and /ellipsoid. Now it takes blocktype of the second click (or last-previously-used-blocktype when using /mark) in the absence of the optional parameter.&lt;br /&gt;
*ConfigTool: Added a new tab for IRC setting.&lt;br /&gt;
*ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.&lt;br /&gt;
*IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.&lt;br /&gt;
*IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot. &lt;br /&gt;
*IRC: Fixed a bug with infinite reconnects on receiving error 433 Nickname already in use.&lt;br /&gt;
*Zones: Changed behavior of overlapping zones:&lt;br /&gt;
**Before: To touch a block, AT LEAST ONE zone has to allow it&lt;br /&gt;
**Now: To touch a block, ALL ZONES have to allow it&lt;br /&gt;
*Zones: Added /ztest command that lists all zones affecting a particular block. It can be used to detect and resolve zone overlaps.&lt;br /&gt;
*Zones: Added proper /help entries for /zone, /zones, /zremove, and /ztest, and contextual help for /zone and /zones.&lt;br /&gt;
*Zones: Made zone commands inaccessible from console (it would cause a crash, since zones are world-specific).&lt;br /&gt;
*Fixed OnPlayerDisconnected and OnPlayerListChanged sometimes firing at the wrong time.&lt;br /&gt;
*Added better error handling to Map.Save() in case the target file is not writable.&lt;br /&gt;
*Updated /help entries for /lock, /unlock, and /load commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.404===&lt;br /&gt;
*Fixed zone borders being off by 1 block.&lt;br /&gt;
*Fixed a rare crash on shutdown.&lt;br /&gt;
*Fixed heartbeat reporting incorrect port number to heartbeat if the port specified in config was not available.&lt;br /&gt;
*Adjusted default class permissions slightly, by popular demand:&lt;br /&gt;
**regulars can now place Water and Lava&lt;br /&gt;
**ops can now use draw commands&lt;br /&gt;
*IRC: Added a config option &#039;IRCMsgs&#039; to toggle join/leave messages on/off. Default is disabled to prevent massive spam.&lt;br /&gt;
*IRC: Fixed a possible crash in IRCComm, related to static initializers.&lt;br /&gt;
*ConfigTool: Fixed many bugs in permission checkbox list.&lt;br /&gt;
*ConfigTool: Added visual editor for rules.txt&lt;br /&gt;
*ConfigTool: Added stub tab for IRC settings (coming soon).&lt;br /&gt;
&lt;br /&gt;
===0.403===&lt;br /&gt;
*Fixed spawnpoint being read incorrectly when using /load.&lt;br /&gt;
*Added a note to ban*/unban* commands that&#039;s shown when player name is not found: &amp;quot;Use the FULL player name for ban/unban commands.&amp;quot;&lt;br /&gt;
*Fixed a thread crash (not server-wide crash) in Session.IoLoop that can be caused by corrupted or malicious handshake packets.&lt;br /&gt;
*Fixed a potential crash when using /info on offline players from console.&lt;br /&gt;
*Fixed a potential crash when using /gen from console.&lt;br /&gt;
*Added more fail-safe checks that ensure that map spawn point is always within the map boundaries.&lt;br /&gt;
*Started logging IPs of connections that try sending corrupted or malicious handshake packets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.402===&lt;br /&gt;
*Added back /load command, and hooked up MCC. Currenly supported: fCraft/fcm, MCSharp/lvl, indev/mclevel, MinerCPP and LuaCraft (dat). Vanilla support coming soon.&lt;br /&gt;
*Fixed worlds being unloaded before all block updates are processed (thus aborting draw commands).&lt;br /&gt;
*Fixed several potential multiworld-related crashes and freezes.&lt;br /&gt;
*Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.&lt;br /&gt;
*IRC: Added an information message to notify users of the IRC Bot&#039;s online status when joining the server.&lt;br /&gt;
*IRC: Added the ability to send NOTICES.&lt;br /&gt;
*IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.&lt;br /&gt;
*IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.&lt;br /&gt;
*Drawing-related state is now reset when changing worlds.&lt;br /&gt;
*Added a limiter to the number of block updates that can be processed per tick (even if there are no players in a world). Fixes server becoming unresponsive when doing enormous drawing commands (millions of blocks).&lt;br /&gt;
*Allowed players to /join the world that they are already on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.401===&lt;br /&gt;
*&#039;&#039;&#039;IDLE/AFK CHECKING&#039;&#039;&#039; This is configurable per-class.&lt;br /&gt;
*Added /version command, and added revision to the version string.&lt;br /&gt;
*Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands. &lt;br /&gt;
*Removed all references to the old pre-multiworld &amp;quot;map.fcm.&amp;quot; Backups now work again. &lt;br /&gt;
*Fixed players not spawning in the right place when changing worlds.&lt;br /&gt;
*IRC Bot will now handle terminations by the IRCd and restart itself upon any errors. &lt;br /&gt;
*IRC Bot can now send from inside the server TO IRC! Use the prefix &#039;#&#039; in-game to send any message to IRC. Forwarding all server chat may be added if requested. To send from the bot to the server, use the bot&#039;s nickname and either &#039;:&#039;, &#039;,&#039; or nothing, then your message.&lt;br /&gt;
*Improved performance of the IRC bot and the task scheduler.&lt;br /&gt;
*Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn&#039;t exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.&lt;br /&gt;
*Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after &#039;#&#039; in server chat.&lt;br /&gt;
*Handshake packet is now written when doing /join, to replace MOTD with a more informative &amp;quot;Now loading [worldname]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.400===&lt;br /&gt;
*&#039;&#039;&#039;MULTIWORLD&#039;&#039;&#039; It&#039;s finally here. See /help for information on new commands: /worlds, /wload, /join&lt;br /&gt;
*Added a persistent world list, saved in worlds.txt - this is subject to change. The file contains a list of world names, each corresponding to an .fcm file. The first world listed at the top of worlds.txt is the default/main one.&lt;br /&gt;
*&#039;&#039;&#039;IRC BOT&#039;&#039;&#039; Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.&lt;br /&gt;
*A field has been added in the config to allow forwarding ALL IRC CHANNEL TRAFFIC to the server. This will override the prefix and make it inactive. &#039;IRCBotForwardAll&#039; is set to false by default.&lt;br /&gt;
*&#039;&#039;&#039;ZONES&#039;&#039;&#039; It is now possible to make guest zones and op zones (and anything in-between) on any map. See /help for information on new commands: /zones, /zone, /zremove.&lt;br /&gt;
*Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.&lt;br /&gt;
*Added /compass command (aka /where).&lt;br /&gt;
*Fixed players sometimes not seeing their /kick message.&lt;br /&gt;
*Added a way to teleport to specific coordinates (/tp x y h)&lt;br /&gt;
*Fixed heartbeats timing out when running fCraft under Mono.&lt;br /&gt;
*Fixed Config.ApplyConfig setting the wrong server throttling variables.&lt;br /&gt;
*Fixed air blocks appearing underwater when using /gen&lt;br /&gt;
*Tweaked /gen parameters to make &amp;quot;island&amp;quot; a bit less ugly.&lt;br /&gt;
*Updated text in fCraftConsole.&lt;br /&gt;
&lt;br /&gt;
=0.3xx=&lt;br /&gt;
===0.330===&lt;br /&gt;
*Added /cuboid and /ellipsoid drawing commands.&lt;br /&gt;
*Improved memory usage.&lt;br /&gt;
*Added &amp;quot;Draw&amp;quot; permission, and made /draw check &amp;quot;DeleteAdmincrete&amp;quot; permission when replacing blocks, and removed unused &amp;quot;PlaceGlitchedSand&amp;quot; permission.&lt;br /&gt;
*Added &amp;quot;Port&amp;quot; and &amp;quot;BackupOnlyWhenChanged&amp;quot; config lines, and corresponding ConfigTool fields.&lt;br /&gt;
*Fixed bug that deleted ALL backups when you check &amp;quot;don&#039;t delete old backups.&amp;quot; That was embarrassing.&lt;br /&gt;
&lt;br /&gt;
===0.325===&lt;br /&gt;
*Added an experimental low-latency mode (faster server response, but more bandwidth required).&lt;br /&gt;
*Improved hacking detection: added anti-chat-spam and anti-grief (block spam) checks.&lt;br /&gt;
*New more aggressive anti-hacking checks for incoming movement and SetTile packets.&lt;br /&gt;
*Fixed an issue with fCraftUI console log getting truncated in the wrong places.&lt;br /&gt;
*Improved Mono compatibility (fixes HttpWebRequest failures).&lt;br /&gt;
&lt;br /&gt;
===0.324===&lt;br /&gt;
*Added /me command.&lt;br /&gt;
*Added step stacking.&lt;br /&gt;
*Fixed a case where disconnected players would leave a ghost behind.&lt;br /&gt;
*Improved shutdown speed.&lt;br /&gt;
*Implemented ProcessPriority setting.&lt;br /&gt;
&lt;br /&gt;
===0.323===&lt;br /&gt;
*Fixed players not being able to delete admincrete after promotion.&lt;br /&gt;
*Fixed a bug that allowed players to noclip into walls when using /tp or /bring.&lt;br /&gt;
*Fixed a security issue with &amp;quot;VerifyNames: Balanced&amp;quot;&lt;br /&gt;
*Added prototype of the security tab in ConfigTool (work in progress).&lt;br /&gt;
&lt;br /&gt;
===0.322===&lt;br /&gt;
*Added a range check to Player.SetTile, to prevent certain types of grief bots.&lt;br /&gt;
*Fixed a bug where map spawnpoint did not change after doing /load.&lt;br /&gt;
*Fixed some typos.&lt;br /&gt;
&lt;br /&gt;
===0.321===&lt;br /&gt;
*Fixed welcome messages not showing.&lt;br /&gt;
*Renamed /alias to /nick, and added a permission check.&lt;br /&gt;
&lt;br /&gt;
===0.320===&lt;br /&gt;
*Finally last fix for the disconnect problem. Sorry about that.&lt;br /&gt;
&lt;br /&gt;
===0.319===&lt;br /&gt;
*Quick fix for disconnect problem.&lt;br /&gt;
&lt;br /&gt;
===0.318===&lt;br /&gt;
*Fixed VerifyNames not saving properly when using ConfigTool.&lt;br /&gt;
*Fixed several potential crashers in Session and World.&lt;br /&gt;
*Fixed a bug that sometimes wrongly showed &amp;quot;class name not recognized&amp;quot;.&lt;br /&gt;
*Added class name autocompletion for class chat (@@classname blah)&lt;br /&gt;
*Started working on the new /load mode that allows loading different sized maps, and loading much faster (not done yet).&lt;br /&gt;
&lt;br /&gt;
===0.317===&lt;br /&gt;
*Optimized handling of player movement and some block/tile updates, making servers more responsive and less laggy.&lt;br /&gt;
*Fixed a possible crash that sometimes happened when server has 1 slot left and 2 people tried to join at once.&lt;br /&gt;
*Fixed a case where a Session object was not properly disposed.&lt;br /&gt;
*Fixed resizing issue in UpdateWindow and reduced connection timeout in Updater&lt;br /&gt;
*Disabled ShowPrefixesInChat and ShowPrefixesInList by default (breaks skin support)&lt;br /&gt;
*Added Player.Send, a safe wrapper for Player.session.Send&lt;br /&gt;
*Fixed /tp, /bring, and /setspawn commands that were broken in the last revision.&lt;br /&gt;
*Fixed ConfigTool not saving &amp;quot;IsPublic&amp;quot; setting correctly.&lt;br /&gt;
&lt;br /&gt;
===0.316===&lt;br /&gt;
*Added partial class-name matching for /class and /user commands.&lt;br /&gt;
*Fixed /banip and /banall not kicking the banned players immediately.&lt;br /&gt;
*Added /rules command. Create &amp;quot;rules.txt&amp;quot; in the server folder to specify.&lt;br /&gt;
*Fixed a bug where player movement sometimes got a little out of sync.&lt;br /&gt;
*Optimized /load speed a bit.&lt;br /&gt;
*Added nicer application icons.&lt;br /&gt;
&lt;br /&gt;
===0.315===&lt;br /&gt;
*Added visual color picker to ConfigTool&lt;br /&gt;
*Added lightweight console interface for fCraft&lt;br /&gt;
*Refactored the main update loop&lt;br /&gt;
&lt;br /&gt;
===0.314===&lt;br /&gt;
*Added AutomaticUpdates option.&lt;br /&gt;
*Integrated the color picker to ConfigTool.&lt;br /&gt;
*Improved hacking detection.&lt;br /&gt;
&lt;br /&gt;
===0.313===&lt;br /&gt;
*Fixed a few glitches left after switching file formats.&lt;br /&gt;
*Improved memory usage when saving maps.&lt;br /&gt;
*Fixed an updater-related crash.&lt;br /&gt;
&lt;br /&gt;
===0.312===&lt;br /&gt;
*New map format (FCM v2) should provide faster loading times.&lt;br /&gt;
*server_level.dat loader is now functional.&lt;br /&gt;
*Fixed possible crash if the default port was not available.&lt;br /&gt;
*Automatic updater should now work properly. More update options to come.&lt;br /&gt;
&lt;br /&gt;
===0.311===&lt;br /&gt;
*Preview version of automatic updater.&lt;br /&gt;
&lt;br /&gt;
===0.310===&lt;br /&gt;
*Cleaned up some VC# crapfiles.&lt;br /&gt;
*Added class prefixes and colors.&lt;br /&gt;
*Added PlaceWater and PlaceLava back to permissions.&lt;br /&gt;
*Fixed rank-limited permissions.&lt;br /&gt;
*Other assorted glitches fixed.&lt;br /&gt;
&lt;br /&gt;
===0.305===&lt;br /&gt;
*removed config.xml from svn.&lt;br /&gt;
&lt;br /&gt;
===0.304===&lt;br /&gt;
*More potential crashes fixed.&lt;br /&gt;
&lt;br /&gt;
===0.303===&lt;br /&gt;
*Fixed a couple potential crashes in ConfigTool and Config.DefineClass&lt;br /&gt;
&lt;br /&gt;
===0.302===&lt;br /&gt;
*Fixed a few minor ConfigTool bugs.&lt;br /&gt;
&lt;br /&gt;
===0.301===&lt;br /&gt;
*Forgot to save config from World.cs after parsing. Minor update.&lt;br /&gt;
&lt;br /&gt;
===0.300===&lt;br /&gt;
*ConfigTool finished. Note that some of the options do not have an effect yet.&lt;br /&gt;
&lt;br /&gt;
=Before 0.3xx=&lt;br /&gt;
*Version history was not kept before this point.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Version_history&amp;diff=2635</id>
		<title>Version history</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Version_history&amp;diff=2635"/>
		<updated>2017-04-30T06:43:22Z</updated>

		<summary type="html">&lt;p&gt;F: /* 0.442 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
=0.6xx=&lt;br /&gt;
===0.644===&lt;br /&gt;
&#039;&#039;27 January 2014 - r2327&#039;&#039;&lt;br /&gt;
*Fix: Fixed a bug that caused character &#039;@&#039; in player names to be treated same as &#039;_&#039; (thanks Dingus)&lt;br /&gt;
*Fix: Fixed a rare crash in {{cmd|ZEdit}} when using the command improperly.&lt;br /&gt;
*Fix: Fixed a DataError being thrown in ConfigGUI&#039;s &amp;quot;Worlds&amp;quot; tab after toggling rank prefixes on/off.&lt;br /&gt;
*Fix: Improved error reporting.&lt;br /&gt;
*Change: Improved reliability of external IP checks.&lt;br /&gt;
&lt;br /&gt;
===0.643===&lt;br /&gt;
&#039;&#039;15 October 2013 - r2234&#039;&#039;&lt;br /&gt;
*Fix: Fixed sometimes wrapping last word of a chat message to the next line, when the whole message could fit on one line (thanks AndrewPH).&lt;br /&gt;
*Fix: Installing updates no longer causes UAC prompts under Windows Vista.&lt;br /&gt;
*Fix: Fixed IRC periodically crashing if someone quits with an empty message.&lt;br /&gt;
*Fix: Fixed IRC-related crashes not being submitted to the crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.642===&lt;br /&gt;
&#039;&#039;27 August 2013 - r2180&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Fill3D}}.&lt;br /&gt;
*Feature: Added caret (^), tilde (~), and grave accent (`) to [[emotes]].&lt;br /&gt;
*Fix: Emotes work via IRC once again.&lt;br /&gt;
*Fix: ConfigGUI: Fixed &amp;quot;Add world&amp;quot; and &amp;quot;Edit world&amp;quot; popups sometimes locking up.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving LastFailedLoginIP properly.&lt;br /&gt;
*Change: Made it easy to switch heartbeat servers (minecraft.net to classicube or back) via ConfigGUI.&lt;br /&gt;
*Change: Added an optional second parameter to {{cmd|DumpStats}}, which allows specifying period of inactivity for filtering players.&lt;br /&gt;
*Change: Improved startup and shutdown times, and reduced CPU use.&lt;br /&gt;
*Change: {{cmd|Hide}} and {{cmd|Unhide}} now indicate when they are silent or not.&lt;br /&gt;
&lt;br /&gt;
===0.641===&lt;br /&gt;
&#039;&#039;17 August 2013 - r2150&#039;&#039;&lt;br /&gt;
*Feature: Improved the way {{cmd|EllipsoidH}} works on flat surfaces. Instead of filled ellipses, it now makes rings.&lt;br /&gt;
*Feature: Added {{cmd|Reply}} (&amp;lt;code&amp;gt;/re&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: {{cmd|Fill2D}} can now fill with any brush, not just solid color.&lt;br /&gt;
*Feature: Added &#039;&#039;HeartbeatUrl&#039;&#039; [[List of config keys#Advanced|config key]], to allow alternative heartbeat/authentication services. &#039;&#039;&#039;Note: [[HeartbeatSaver]] only needs to be updated IF you plan on using something other than minecraft.net&#039;&#039;&#039;&lt;br /&gt;
*Fix: Fixed a InvalidOperationException in ConfigGUI when re-drawing the map preview (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;Realistic&amp;quot; MapGen help (thanks Jonty800).&lt;br /&gt;
*Fix: Now correctly kicking custom premium-MC clients.&lt;br /&gt;
*Fix: Fixed help messages in [[HeartbeatSaver]] and {{cmd|MassRank}}.&lt;br /&gt;
*Fix: Fixed a potential way of revealing hidden players by messaging them.&lt;br /&gt;
*Change: ConfigGUI&#039;s port checker works again.&lt;br /&gt;
*Change: IRC bot will now retry for its primary nick every 30 seconds (thanks Dankirk).&lt;br /&gt;
&lt;br /&gt;
===0.640===&lt;br /&gt;
&#039;&#039;30 July 2013 - r2124&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Feature: [[Mojang accounts|Mojang account]] (email) support.&#039;&#039;&#039; Added {{perm|ViewEmails}} permission and a config option to disallow email users.&lt;br /&gt;
*Feature: Overhauled map generation! Improved {{cmd|Gen}}, new {{cmd|SetGen}} command, more options, preset loading/saving, redesigned ConfigGUI interface, and two new map generation modes: Vanilla (from [http://femto.fcraft.net FemtoCraft]) and FloatingIsland.&lt;br /&gt;
*Feature: Optional [http://www.regular-expressions.info/quickstart.html RegEx] filtering of filenames for [[MapRenderer]] and [[MapConverter]], enabled by &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Feature: Added &amp;lt;i&amp;gt;&amp;quot;Player ___ logged in from an IP shared by frozen players...&amp;quot;&amp;lt;/i&amp;gt; announcement.&lt;br /&gt;
*Feature: Added an optional parameter to toggle commands (grass, water, lava, solid, paint, static) &amp;amp;mdash; &amp;quot;on&amp;quot;/&amp;quot;1&amp;quot; or &amp;quot;off&amp;quot;/&amp;quot;0&amp;quot;.&lt;br /&gt;
*Feature: Added BackupOnMapChange config key, which automates backups when a world&#039;s map is replaced by /Gen or /WLoad (enabled by default).&lt;br /&gt;
*Feature: Added &amp;lt;code&amp;gt;/To&amp;lt;/code&amp;gt; as an alias of {{cmd|TP}}, and &amp;lt;code&amp;gt;/Flush&amp;lt;/code&amp;gt; as an alias for {{cmd|WFlush}}.&lt;br /&gt;
*Feature: [[MapRenderer]] is now much quicker, thanks to optimization and multithreading.&lt;br /&gt;
*Feature: Added ability to change capitalization of player&#039;s name using {{cmd|SetInfo}}.&lt;br /&gt;
*Fix: Fixed MapGenerator sometimes locking up when working with tiny 16x16 maps (thanks 123DMWM).&lt;br /&gt;
*Fix: Fixed world greetings not being saved between restarts (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed {{cmd|WLoad}} showing incorrect map file names when prompting to replace files (thanks Smokeybacon).&lt;br /&gt;
*Fix: Fixed [[Command_Tips#Restricting_player_name_search|online-only name prefix]] revealing hidden players in some commands (thanks Intertoothh and recon).&lt;br /&gt;
*Fix: When a spectating player gets frozen, they are no longer stuck spectating (thanks ruggedbear and NuclearWaffle121).&lt;br /&gt;
*Fix: IRC now handles two-number color codes and reset codes correctly (thanks Liam).&lt;br /&gt;
*Fix: Fixed map changes sometimes leaving behind &amp;quot;ghost maps&amp;quot; for players with rank-specific main maps set (thanks Jonty800).&lt;br /&gt;
*Fix: PlayerDB name autocompletion now correctly handles players with &#039;.&#039; in their names.&lt;br /&gt;
*Fix: Timed backups no longer drift slightly every hour.&lt;br /&gt;
*Fix: Players can now {{cmd|Clear}} their chat even while [[/Deafen|deaf]].&lt;br /&gt;
*Fix: Fixed a rare serialization issue with PlayerDB&#039;s RankChangedBy field.&lt;br /&gt;
*Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Now only allow either one directory, or one-or-more files to be specified. Multiple directories, and mixed directories/files are no longer allowed.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Disabled slow fallback conversion by default (which caused non-map files to take forever to skip in recursive mode). Old behavior can be reenabled with &amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Change: When auto-updating or restarting under Mono, fCraft no longer tries to use &amp;quot;mono-sgen&amp;quot;, now just using &amp;quot;mono&amp;quot; and assuming that runtime is properly configured.&lt;br /&gt;
*Change: {{cmd|WBuild}} and {{cmd|WAccess}} can optionally now take &amp;quot;@&amp;quot; in front of rank name.&lt;br /&gt;
*Change: Removed BackupOnJoin config key.&lt;br /&gt;
*Change: UpdateInstaller&#039;s &amp;lt;code&amp;gt;--restart&amp;lt;/code&amp;gt; parameter is more flexible.&lt;br /&gt;
*Change: Dropped Mono 2.6 support.&lt;br /&gt;
*Change: Optimizations in player movement code, PlayerDB loading/saving, IP ban list loading, map generation, map rendering, {{cmd|Ellipsoid}}, and {{cmd|Sphere}}.&lt;br /&gt;
&lt;br /&gt;
===0.639===&lt;br /&gt;
&#039;&#039;10 December 2012 - r1917&#039;&#039;&lt;br /&gt;
*Feature: Added RankPrefixesOnDisplayedNames config key (default: false), which controls whether to prepend rank prefixes to names of players with a custom DisplayedName set.&lt;br /&gt;
*Feature: Added BypassHttpsCertificateValidation config key (default: false), to ease HTTPS-related pains under Mono.&lt;br /&gt;
*Feature: Added MoveEmoteDotToEndOfMessage config key (default: true), which slightly changes emote formatting, by BobKare&#039;s request.&lt;br /&gt;
*Fix: Fixed a stability issue in the IRC bot.&lt;br /&gt;
*Fix: Fixed incorrect runtime version detection for Mono versions older than 2.6.&lt;br /&gt;
*Fix: Server now gives more informative messages when you try to do something disallowed to yourself (mute, unfreeze, ban, kick, etc).&lt;br /&gt;
*Fix: Fixed being able to teleport to hidden players (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed {{cmd|Unhide}} not faking a join message for hidden players (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed IRC bot sending USER before NICK (fixes occasional error 451) (thanks Hellenion).&lt;br /&gt;
*Change: Added ability to set players&#039; BandwidthUseMode via {{cmd|SetInfo}}.&lt;br /&gt;
*Change: Improved {{cmd|Env}}, {{cmd|UndoAreaNot}}, and {{cmd|Help}} messages.&lt;br /&gt;
*Change: Players&#039; connection messages in logs now include TimesVisited stat.&lt;br /&gt;
*Change: {{cmd|Help|commands}} is no longer an alias for {{cmd|Commands}} (thanks ruggedbear).&lt;br /&gt;
&lt;br /&gt;
===0.638===&lt;br /&gt;
&#039;&#039;29 November 2012 - r1887&#039;&#039;&lt;br /&gt;
*Feature: [[Emotes|Emote]] keywords and their Unicode equivalents can now be included in announcement and rule files.&lt;br /&gt;
*Feature: IRC bot now sends a quit message consisting of server name and shutdown reason.&lt;br /&gt;
*Fix: Fixed a very small chance of PlayerInfo.TimeMutedLeft returning negative time spans.&lt;br /&gt;
*Fix: Leading and trailing spaces are now trimmed from kick/ban/unban reasons.&lt;br /&gt;
*Fix: Fixed some emotes getting trimmed from {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} (thanks Intertoothh)&lt;br /&gt;
*Fix: Fixed RestartInterval starting two chat timers (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed ServerCLI using console colors for the first few messages even if &amp;lt;code&amp;gt;--noconsolecolor&amp;lt;/code&amp;gt; [[List of command-line options|command-line switch]] was given (thanks Hellenion)&lt;br /&gt;
*Change: Added &amp;lt;code&amp;gt;--noupdater&amp;lt;/code&amp;gt; command line switch, which stops fCraft from launching update installer binaries (although all other update-related behavior remains the same)&lt;br /&gt;
*Change: Player&#039;s own name is no longer considered in autocompletion/searches for commands that are not applicable to self (e.g. {{cmd|Ban}}, {{cmd|Mute}}, {{cmd|Ignore}}, {{cmd|TP}}, etc)&lt;br /&gt;
*Change: Logged global chat messages now have &amp;quot;(global)&amp;quot; prepended before player&#039;s name.&lt;br /&gt;
*API: Updated trunk project files to VisualStudio 2010. Target runtime remains .NET 3.5 Client Profile.&lt;br /&gt;
&lt;br /&gt;
===0.637===&lt;br /&gt;
&#039;&#039;16 October 2012 - r1847&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Emotes}} command, to list emotes and their keywords.&lt;br /&gt;
*Fix: Fixed IRC bot cutting off very long messages.&lt;br /&gt;
*Fix: Fixed {{cmd|Info}} not working with some IP ranges (thanks _BjorN64_).&lt;br /&gt;
*Fix: Fixed single-letter emote keywords not working (thanks Wundsalz).&lt;br /&gt;
*Fix: Improved the way IRC bot handles nick conflicts (thanks Jonty800).&lt;br /&gt;
*Fix: {{cmd|DumpStats}} no longer dies when an invalid file name is given (thanks Hellenion).&lt;br /&gt;
*Change: Added a new build configuration, DEBUG_NETWORKING, which traces all incoming and outgoing packets.&lt;br /&gt;
*Change: IRC bot now logs all outgoing messages when built in DEBUG_IRC configuration.&lt;br /&gt;
&lt;br /&gt;
===0.636===&lt;br /&gt;
&#039;&#039;10 October 2012 - r1832&#039;&#039;&lt;br /&gt;
*Feature: Check your configs! New options were added to control display of colors and emotes to/from IRC.&lt;br /&gt;
*Feature: Added {house} [[emotes|emote]]: ⌂ (0x7F).&lt;br /&gt;
*Fix: Fixed newline codes %n/%N not being parsed properly.&lt;br /&gt;
*Fix: Fixed a crash in Color.StripColors (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed random symbols appearing in stack traces in console (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed couple problems with Player.Moving event (thanks 00pol).&lt;br /&gt;
*Fix: Spawn points of MCSharp map files are now loaded correctly (thanks 00pol).&lt;br /&gt;
*Change: Players&#039; DisplayedNames may no longer contains line breaks.&lt;br /&gt;
&lt;br /&gt;
===0.635===&lt;br /&gt;
&#039;&#039;8 October 2012 - r1822&#039;&#039;&lt;br /&gt;
*Feature: Added support for &amp;quot;[[emotes]]&amp;quot; (chat symbols). New permission ({{perm|UseEmotes}}) and config key (IRCAllowEmotes) were added.&lt;br /&gt;
*Fix: Fixed numbers sometimes being accepted as valid (e.g. by {{cmd|Mute}}), although counted as 0-length time spans.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving strings with newlines properly.&lt;br /&gt;
*Fix: Fixed IRC bot sometimes producing messages that are a couple characters over the IRC message size limit (512 chars).&lt;br /&gt;
*Fix: Fixed players being able to use newline codes (&amp;amp;N/&amp;amp;n) on IRC.&lt;br /&gt;
*Fix: Fixed problems with UpdaterMode and BackupOnStartup settings in ConfigGUI.&lt;br /&gt;
*Fix: Fixed fCraft not building in DEBUG_IRC configuration.&lt;br /&gt;
*Change: Added a workaround for TermInfoDriver-related exceptions under Mono (thanks Hellenion)&lt;br /&gt;
*Change: Symbolic [[colors|color codes]] (e.g. %S) can now be used in chat.&lt;br /&gt;
*Change: Backslash can now be used to escape percent [[colors|color codes]] (e.g. \%C).&lt;br /&gt;
*Change: fCraft will now retry looking up the external IP up to 3 times.&lt;br /&gt;
*Change: Lots of documentation, annotation, and API improvements.&lt;br /&gt;
&lt;br /&gt;
===0.634===&lt;br /&gt;
&#039;&#039;30 September 2012 - r1796&#039;&#039;&lt;br /&gt;
*Fix: Fixed an occasional InvalidOperationException when auto-updating in ServerGUI.&lt;br /&gt;
*Fix: Fixed ConfigGUI showing misleading information in &amp;quot;unrecognized entry ignore&amp;quot; errors.&lt;br /&gt;
*Fix: Fixed Logger trying to write to file in [[MapConverter]] and [[MapRenderer]].&lt;br /&gt;
*Fix: Fixed [[MapRenderer]] and [[MapConverter]] spamming zone-related errors (thanks Hellenion and AndrewPH)&lt;br /&gt;
*Fix: Fixed {{cmd|UndoPlayerNot}} help entry (thanks ruggedbear)&lt;br /&gt;
*Change: Heartbeat code now uses HTTPS, as mandated by Mojang. If you use Mono, see http://www.mono-project.com/FAQ:_Security&lt;br /&gt;
*Change: Removed support for the malfunctioning WoM Direct heartbeat service.&lt;br /&gt;
*Change: RankChangeReason is now shown as a &amp;quot;Rank note&amp;quot; in {{cmd|Info}}, even if no other data (PreviousRank/RankChangedBy/RankChangeDate) exists (thanks Wundsalz)&lt;br /&gt;
&lt;br /&gt;
===0.633===&lt;br /&gt;
&#039;&#039;26 September 2012 - r1788&#039;&#039;&lt;br /&gt;
*Feature: Added checkbox for HeartbeatEnabled config key to ConfigGUI, on the advanced tab.&lt;br /&gt;
*Fix: Fixed heartbeat/verification issues caused by &amp;quot;no-www&amp;quot; changes made by Mojang at minecraft.net&lt;br /&gt;
*Fix: Fixed VisualStudio designer being unable to load ConfigGUI.MainForm.&lt;br /&gt;
*Fix: Fixed {{cmd|ZMark}} being spammy (thanks ruggedbear).&lt;br /&gt;
*Fix: Binding &amp;quot;air&amp;quot; block to something now works as expected (deleted blocks are replaced with the binding) (thanks Hellenion).&lt;br /&gt;
*Fix: Added missing tooltips to &amp;quot;Data Backup&amp;quot; checkbox in ConfigGUI (thanks PhoneBook_).&lt;br /&gt;
*Fix: Added [[HeartbeatSaver]] to UpdateInstaller and list of protected filenames.&lt;br /&gt;
*Fix: Fixed occasional startup crash in [[HeartbeatSaver]].&lt;br /&gt;
*Change: {{cmd|Reload|Autorank}} now triggers a re-scan of the whole PlayerDB.&lt;br /&gt;
*Change: Added code to BlockDB to recover misaligned .fbdb files. BlockDB files are supposed to be aligned to 20 bytes. Misalignment might happen if writing didn&#039;t finish properly - e.g. power outage, or ungraceful shutdown.&lt;br /&gt;
*Change: Improved consistency of exit codes in [[HeartbeatSaver]], [[MapConverter]], and [[MapRenderer]].&lt;br /&gt;
&lt;br /&gt;
===0.632===&lt;br /&gt;
&#039;&#039;14 September 2012 - r1765&#039;&#039;&lt;br /&gt;
*Feature: Added standalone [[HeartbeatSaver]] utility, a heartbeat-sending daemon.&lt;br /&gt;
*Feature: Added a way to specify scale/turbulence/seed for cloudy brush.&lt;br /&gt;
*Feature: Renamed &amp;quot;IRC&amp;quot; LogType to &amp;quot;IRCStatus&amp;quot;, and added &amp;quot;IRCChat&amp;quot; LogType. Check your configs.&lt;br /&gt;
*Fix: Fixed the updater. You&#039;ll have to update from version 0.631 manually (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed a bug related to multiple players trying to join an almost-full server at the same time.&lt;br /&gt;
*Fix: Fixed a rare InvalidOperationException crash in ConfigGUI.&lt;br /&gt;
*Fix: Fixed reversed order in {{cmd|BlockInfo}} (thanks recon_).&lt;br /&gt;
*Fix: Fixed a few formatting errors in feedback messages.&lt;br /&gt;
*Fix: Fixed a rare disconnect related to a spectator trying to follow a spectatee to a full world.&lt;br /&gt;
*Fix: Fixed {{cmd|Hide}} not showing a fake disconnect message when needed.&lt;br /&gt;
*Fix: Fixed {{cmd|WRename}} prompting for file overwrite when changing capitalization in a world name.&lt;br /&gt;
*Fix: Fixed UndoArea/UndoAreaNot and UndoPlayer/UndoPlayerNot messages occasionally getting mixed up.&lt;br /&gt;
*Fix: Fixed players being unable to join the server if access restrictions prevent them from joining the rank-specific main world.&lt;br /&gt;
*Fix: {{cmd|WRemove}} now correctly handles removing rank-main worlds.&lt;br /&gt;
*Fix: Fixed a case where newlines in PlayerInfo or IPBanInfo fields would cause record corruption.&lt;br /&gt;
*Fix: Fixed reversed messages in {{cmd|DoNotMark}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed ServerCLI sometimes staying open, waiting on console input, when it&#039;s supposed to shut down or restart.&lt;br /&gt;
*Change: Sped up &amp;quot;cloudy&amp;quot; brush when working with large draw commands.&lt;br /&gt;
*Change: Crash reporter now submits list of names and versions of all loaded assemblies, to help identify mismatched or missing dependencies.&lt;br /&gt;
*Change: Added logging to every confirmation prompt, &amp;quot;/ok&amp;quot;, {{cmd|BlockDB}} enabling/disabling/clearing, {{cmd|ZRemove}}, {{cmd|InfoSwap}}, and {{cmd|Env}}.&lt;br /&gt;
*Change: Any pending confirmations are now reset on world change.&lt;br /&gt;
*Change: Added /I as an alias for {{cmd|Info}}, and /CS as an alias for {{cmd|CopySlot}}.&lt;br /&gt;
*Change: Removed &amp;quot;marbled&amp;quot; brush (&amp;quot;cloudy&amp;quot; works just as well) and FCMv4 map format support (development canceled).&lt;br /&gt;
*Change: {{cmd|Where}} command now only requires {{perm|ViewOthersInfo}} permission to see other players&#039; whereabouts. It can be used by anyone on self.&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.631===&lt;br /&gt;
&#039;&#039;5 September 2012 - r1741&#039;&#039;&lt;br /&gt;
*Feature: Added a way to restrict commands to match online players&#039; names only, by prefixing the name with an exclamation mark (!). See [[Command Tips]] for more.&lt;br /&gt;
*Feature: Added {{cmd|DoNotMark}} command. When toggled on, clicking on blocks does not cause marks to be added to a selection.&lt;br /&gt;
*Fix: Included MapConverter.exe and MapRenderer.exe in list of protected filenames.&lt;br /&gt;
*Fix: Fixed a potential crash in Paths.FileExists when working in case-sensitive mode in a root directory.&lt;br /&gt;
*Fix: Fixed ConfigGUI not loading permission limits properly (thanks recon_).&lt;br /&gt;
*Fix: Added missing fake connection message when using non-silent {{cmd|Unhide}} (thanks Wundsalz).&lt;br /&gt;
*Change: Improvements to fCraft&#039;s built-in crash reporter.&lt;br /&gt;
*Change: Blocks redone with {{cmd|Redo}} are now flagged as &amp;quot;Redone&amp;quot; in /BlockInfo (instead of &amp;quot;UndoneSelf&amp;quot;), [[/Paint|painted]] blocks as &amp;quot;Painted&amp;quot; (instead of &amp;quot;Manual, Replaced&amp;quot;).&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.630===&lt;br /&gt;
&#039;&#039;4 September 2012 - r1727&#039;&#039;&lt;br /&gt;
*Feature: New permissions! {{perm|FlushWorlds}} (previously part of {{perm|ManageWorlds}}), {{perm|UseTimers}} (previously part of {{perm|Say}}), and {{perm|UndoAll}}.&lt;br /&gt;
*Feature: Added ability to undo multiple players&#039; actions at once, or EVERYONE&#039;s actions at once, using {{cmd|UndoPlayer}} and {{cmd|UndoArea}}. Command syntax changed, see wiki.&lt;br /&gt;
*Feature: {{cmd|Info}} now shows whether minecraft.net accounts are free or paid.&lt;br /&gt;
*Feature: Added special &amp;quot;skip&amp;quot;/&amp;quot;none&amp;quot; blocktype, usable with brushes and draw commands.&lt;br /&gt;
*Feature: Added ability to clear world/zone whitelists and blacklists. Use &amp;quot;-*&amp;quot; in place of player name to clear whitelist, and &amp;quot;+*&amp;quot; to clear blacklist.&lt;br /&gt;
*Feature: Added a way to remove all zones in a world, {{cmd|ZRemove|*}}.&lt;br /&gt;
*Feature: Added {{cmd|UndoAreaNot}} (/uan) and {{cmd|UndoPlayerNot}} (/upn), which reverse changes made by everyone EXCEPT the given player(s).&lt;br /&gt;
*Feature: Added [[MapConverter]] and [[MapRenderer]] utilities.&lt;br /&gt;
*Feature: {{cmd|CuboidW}} now supports optionally filling sides and center with different blocktypes, e.g. &amp;quot;/cw white blue red&amp;quot;.&lt;br /&gt;
*Fix: Fixed ServerCLI launching the wrong fCraft binary after running the updater.&lt;br /&gt;
*Fix: Fixed a missing warning in {{cmd|Gen}} when map height is not a multiple of 16.&lt;br /&gt;
*Fix: Fixed a rare case of players receiving desynchronized copies of maps where draw commands are in progress.&lt;br /&gt;
*Fix: Fixed a crash in {{cmd|Commands|&amp;lt;Category&amp;gt;}}&lt;br /&gt;
*Fix: Fixed potential crashes when working with files in root directories (e.g. C:/)&lt;br /&gt;
*Fix: Improved {{cmd|BanEx}} logging.&lt;br /&gt;
*Fix: Improved support for Myne/MyneCraft/HyveBuild/iCraft maps.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog in ConfigGUI defaulting to 20 minutes, instead of &amp;quot;(default)&amp;quot;.&lt;br /&gt;
*Fix: Fixed SaveInterval and BackupInterval being limited to just 100 seconds/minutes in ConfigGUI (thanks Hellenion).&lt;br /&gt;
*Fix: Improved consistency of timestamp format in logs (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed being unable to remove world greetings via {{cmd|WSet}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed IRC bot cutting off long messages (thanks Hellenion).&lt;br /&gt;
*Change: Improved performance of {{cmd|Gen}}, {{cmd|WLoad}}, world loading, and all BlockDB-related commands.&lt;br /&gt;
*Change: Adjustments to block names and aliases, as well as command aliases.&lt;br /&gt;
*Change: Merged {{cmd|Cancel}} and /Nvm commands.&lt;br /&gt;
*Change: &amp;quot;&amp;amp;N&amp;quot; is now usable as a &amp;quot;newline&amp;quot; constant in all configurable strings (rules, announcements, greetings, etc), and &amp;quot;%N&amp;quot; is usable by players with {{perm|UseColorCode}} permissions.&lt;br /&gt;
*Change: Made {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} usable by frozen players.&lt;br /&gt;
*Change: Added a warning to /Colors regarding the minimum rank required to use colorcodes in chat (thanks Jonty800).&lt;br /&gt;
*Change: Ignoring a player no longer prevents you from seeing {{cmd|Say}} messages written by them.&lt;br /&gt;
*Change: {{cmd|Paint}}, {{cmd|Solid}}, {{cmd|Grass}}, {{cmd|Water}}, and {{cmd|Lava}} are no longer usable by players without Build permission, and dont show up in /Commands for them.&lt;br /&gt;
*Change: Clarified {{cmd|ZEdit}} messages when trying to remove self from blacklist, or add yourself to whitelist.&lt;br /&gt;
*Change: {{cmd|Mute}}, {{cmd|Unmute}}, {{cmd|Freeze}}, and {{cmd|Unfreeze}} are now also usable on offline players.&lt;br /&gt;
*Change: Session threads are no longer marked as &amp;quot;background&amp;quot;, to prevent unexpected side effects from session threads being aborted on shutdown. This might slow down shutdown a bit, but there is less to go wrong.&lt;br /&gt;
*Change: World greetings can now support constants.&lt;br /&gt;
*Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.&lt;br /&gt;
*Change: Process exit code is now set to match ShutdownReason.&lt;br /&gt;
*API: Added ChatTimer.Started and ChatTimer.Stopped events, rewrote BlockDB, MapConversion, and IsoCat APIs.&lt;br /&gt;
*API: Many documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.624===&lt;br /&gt;
&#039;&#039;16 July 2012 - r1636&#039;&#039;&lt;br /&gt;
*Fix: Fixed BlockDB time-limiting code trimming too much data from the database.&lt;br /&gt;
*Fix: CommandBook ban import now accepts any filename that ends with &amp;quot;.csv&amp;quot;, not just &amp;quot;bans.csv&amp;quot;.&lt;br /&gt;
*Fix: ServerCLI no longer crashes upon receiving EOF from console.&lt;br /&gt;
*Fix: Fixed a rare case of hidden players being revealed (briefly) when their rank is changed.&lt;br /&gt;
*Fix: Fixed [[/Spectate]] leaving ghost players behind on world change (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed a couple typos in [[/WLock]] and [[/WUnlock]] (thanks ImNoobSoWhat).&lt;br /&gt;
*Change: Added server name to [[/ServerInfo]]&lt;br /&gt;
*Change: If opening a link fails (from ConfigGUI or ServerGUI), the URL is copied to clipboard, instead of crashing.&lt;br /&gt;
*Change: &amp;quot;[[/Import]] bans&amp;quot; no longer prints a message for every player who&#039;s already banned, instead showing a total number of already-banned players at the end.&lt;br /&gt;
*Change: Added a missing &amp;quot;Copy&amp;quot; context menu to the ServerGUI&#039;s log box (thanks to Jonty800).&lt;br /&gt;
*Change: fCraft front-ends now check fCraft.dll&#039;s assembly version, and refuse to start if there is a mismatch (Thanks Zaneo).&lt;br /&gt;
&lt;br /&gt;
===0.623===&lt;br /&gt;
&#039;&#039;9 July 2012 - r1624&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in [[/PasteX]] and [[/PasteNotX]].&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] crash when given a non-banned IP address.&lt;br /&gt;
*Fix: Fixed a crash in Player.DetectChatSpam if AntiSpam was supposed to be disabled.&lt;br /&gt;
*Fix: Fixed typos in comments and messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed a crash in [[/ZAdd]] (thanks thelonedrummer18).&lt;br /&gt;
&lt;br /&gt;
===0.622===&lt;br /&gt;
&#039;&#039;6 July 2012 - r1619&#039;&#039;&lt;br /&gt;
*Feature: ServerGUI message log is now color-coded, easier to select/copy/paste, and featuring clickable links.&lt;br /&gt;
*Fix: Fixed several regressions in [[/Hide]] and [[/Spectate]] that were introduced in 0.620-0.621 (thanks mark_b).&lt;br /&gt;
*Fix: Fixed [[/Deafen]] being usable from console (thanks phonebookguy).&lt;br /&gt;
*Fix: Fixed a crash in Paste/PasteNot/PasteX/PasteNotX (thanks Grant).&lt;br /&gt;
*Misc: Updated some draw command messages, credits, help entries, warnings.&lt;br /&gt;
&lt;br /&gt;
===0.621===&lt;br /&gt;
&#039;&#039;5 July 2012 - r1612&#039;&#039;&lt;br /&gt;
*Feature: Added CommandBook banlist (bans.csv) support to [[/Import]].&lt;br /&gt;
*Feature: Added a way to list all players of a certain rank with &amp;quot;[[/Info]] @ClassName&amp;quot;.&lt;br /&gt;
*Feature: Added {PLAYER_LIST} variable, for use in greetings/announcements/rules.&lt;br /&gt;
*Fix: Fixed changes to DefaultBackupInterval config key not being applied.&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] showing &amp;quot;players on same IP&amp;quot; for players without a recorded IP address.&lt;br /&gt;
*Fix: Fixed fCraft occasionally using localized datetime and number formatting.&lt;br /&gt;
*Fix: Fixed [[/Cut]] storing the selected blocks before checking player&#039;s draw limit (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed [[/Fill2D]] starting a selection even if command parameters could not be parsed (thanks David00143).&lt;br /&gt;
*Fix: Fixed [[/Copy]] and [[/Cut]] reporting incorrect origin information (thanks nope__avi).&lt;br /&gt;
*Fix: Players who are spectating or being spectated by you are no longer hidden from the tab player list (thanks ruggedbear).&lt;br /&gt;
*Change: If multiple players are spectating the same player, they no longer see each other (thanks Hellenion).&lt;br /&gt;
*Change: Small improvements and fixes to [[/WSet]] and to AntiSpam functionality.&lt;br /&gt;
*Change: Sped up PlayerDB loading on startup.&lt;br /&gt;
*Change: Added shortcuts for [[/SetInfo]] field names.&lt;br /&gt;
&lt;br /&gt;
===0.620===&lt;br /&gt;
&#039;&#039;17 June 2012 - r1592&#039;&#039;&lt;br /&gt;
*Feature: WoM Direct description and flags can now be set from config, without the need to go to WoM Direct website.&lt;br /&gt;
*Feature: Added a new [[/WSet]] command, that allows hiding worlds, changing backup settings, and setting greeting messages.&lt;br /&gt;
*Feature: More [[/WInfo]] information is persisted across server restarts: IsLocked, LockedBy, UnlockedBy, LoadedBy, LoadedOn, MapChangedBy, MapChangedOn.&lt;br /&gt;
*Feature: Added IRCStripMinecraftColors config key (default: true). It determines whether Minecraft colorcodes (ampersand codes) entered on IRC should be removed before showing the message in-game.&lt;br /&gt;
*Fix: Fixed incorrect percentages occasional being printed by [[/Measure]], [[/Cancel]], and [[/Undo]].&lt;br /&gt;
*Fix: Locked worlds remain locked after server restart.&lt;br /&gt;
*Fix: Addressed many flaws and glitches in the backup system.&lt;br /&gt;
*Fix: Fixed a case where draw commands that affected no blocks caused division by zero&lt;br /&gt;
*Fix: Fixed a PlayerDB record corruption bug that affected numbers over 100,000,000.&lt;br /&gt;
*Fix: Fixed a stability issue related to LineWrapper (thanks Kevinsweijen and Mc_MrCat).&lt;br /&gt;
*Fix: Fixed IRC markup codes being forwarded to the server in IRC&#039;s channel-kick messages.&lt;br /&gt;
*Fix: Fixed [[/Unmute]] not checking rank limits (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;IP&amp;gt;&amp;quot; and &amp;quot;[[/BanAll]] &amp;lt;PlayerName&amp;gt;&amp;quot; not checking ban exemptions when kicking players (thanks BobKare).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;PlayerName&amp;gt;&amp;quot; not kicking all the players from IP address.&lt;br /&gt;
*Fix: Fixed Undo/Redo messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed compatibility with Mono 2.10.8.1 (thanks Hawkzeh).&lt;br /&gt;
*Change: Removed [[/WHide]] and [[/WUnhide]] (obsoleted by [[/WSet]]).&lt;br /&gt;
&lt;br /&gt;
===0.618===&lt;br /&gt;
&#039;&#039;22 April 2012 - r1568&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in ConfigGUI when trying to sort by map size and a map file is missing (thanks Moose).&lt;br /&gt;
*Change: Ampersands are no longer allowed in chat, even escaped, due to unpredictable Minecraft client behavior.&lt;br /&gt;
&lt;br /&gt;
===0.617===&lt;br /&gt;
&#039;&#039;21 April 2012 - r1564&#039;&#039;&lt;br /&gt;
*Feature: [[/BInfo]] now accepts optional XYZ coordinates, like [[/Mark]].&lt;br /&gt;
*Fix: Added a workaround for &amp;quot;Internal error Flush&amp;quot; under Mono.&lt;br /&gt;
*Fix: Fixed [[/WBring]] printing incorrect usage syntax (thanks recon_)&lt;br /&gt;
*Fix: Fixed typo in [[/BlockDB]] (thanks xN8Gx)&lt;br /&gt;
*Fix: Fixed IRC bots not binding to the specified local endpoint.&lt;br /&gt;
*Fix: Fixed &amp;quot;PreviousRank&amp;quot; not getting updated by [[/SetInfo]] working (thanks nope__avi)&lt;br /&gt;
*Fix: Fixed several rare stability issues (thanks Kevinsweijen).&lt;br /&gt;
*Fix: Fixed [[/Undo]] and [[/Redo]] producing odd log messages if 0 blocks have been changed.&lt;br /&gt;
*&amp;lt;s&amp;gt;Change: Allowed &#039;&amp;amp;&#039; character (ampersand) to be entered in chat, which is now escaped.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===0.616===&lt;br /&gt;
&#039;&#039;10 March 2012 - r1498&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Import]] terminating when importing bans, if a player with the given name is already banned.&lt;br /&gt;
*Fix: Fixed a formatting error in [[/Bring]] and [[/WBring]] confirmation messages.&lt;br /&gt;
*Fix: Fixed mixed-up messages in [[/WAccess]] and [[/WBuild]] when removing players from blacklist/whitelist (thanks ruggedbear and xN8Gx)&lt;br /&gt;
*Fix: Fixed [[/Static]] not turning off after switching worlds (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed [[/Rotate]] printing incorrect copyslot number (thanks Mc_MrCat)&lt;br /&gt;
*Fix: Fixed a ServerGUI crash when pressing the down arrow key after typing in the first console message (thanks Jason)&lt;br /&gt;
*Fix: [[/Me]] messages no longer count towards stats twice (thanks recon_)&lt;br /&gt;
*Fix: [[/Mute]] and [[/Unmute]] now usable with &amp;quot;-&amp;quot; in place of player name (thanks thelonedrummer18)&lt;br /&gt;
*Fix: Fixed README.txt typo (thanks Wolfmade)&lt;br /&gt;
&lt;br /&gt;
===0.615===&lt;br /&gt;
&#039;&#039;2 February 2012 - r1445&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Patrol]] checking Spectate permission, and [[/SpecPatrol]] not checking it.&lt;br /&gt;
*Fix: Fixed [[/WRename]] not updating player&#039;s last-used-world-name (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed colorcodes (%-codes) not getting applied consistently (thanks BobKare)&lt;br /&gt;
*Fix: Fixed a rare name-verification issue that only affected players whose ranks have been imported (thanks Mc_MrCat)&lt;br /&gt;
*Fix: ServerGUI now correctly interprets &amp;quot;Notify&amp;quot; and &amp;quot;Auto&amp;quot; updater settings.&lt;br /&gt;
*Change: Data backups are now stored in ./databackups/ directory.&lt;br /&gt;
&lt;br /&gt;
===0.614===&lt;br /&gt;
&#039;&#039;24 January 2012 - r1426&#039;&#039;&lt;br /&gt;
*Fix: Fixed server crashing if PlayerDB.txt exists but is empty.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Join]] -&amp;quot; using player names, and &amp;quot;[[/TP]] -&amp;quot; using world names.&lt;br /&gt;
*Fix: Solved File.Replace-related errors, which caused occasional save failures.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking caller&#039;s Spectate permission limit when selecting the next target.&lt;br /&gt;
*Fix: Fixed &amp;quot;random&amp;quot; brush producing obvious repeating patterns.&lt;br /&gt;
*Fix: Fixed auto-updater occasionally freezing when attempting to &amp;quot;Restart Now&amp;quot;.&lt;br /&gt;
*Fix: Added permission limit check to [[/Unfreeze]] (thanks Xb0x4d4m)&lt;br /&gt;
*Fix: Improved the way [[/Bring]] and [[/WBring]] enforce access permissions (thanks Hellenion)&lt;br /&gt;
*Change: Added more information about player connects/disconnects to log file.&lt;br /&gt;
&lt;br /&gt;
===0.613===&lt;br /&gt;
&#039;&#039;11 January 2012 - r1401&#039;&#039;&lt;br /&gt;
*Fix: Fixed ConfigGUI not saving changes to ShowConnectionMessages key.&lt;br /&gt;
*Fix: Fixed a case where ConfigGUI could crash while attempting to rename a world.&lt;br /&gt;
*Fix: All spectate permissions are now re-checked when someone gets promoted or demoted.&lt;br /&gt;
*Fix: Fixed ConfigGUI Worlds tab crash when dealing with zoned maps.&lt;br /&gt;
*Fix: Fixed IRC bot not retrying for desired nickname after reconnecting&lt;br /&gt;
*Fix: Fixed a case where editing a world via ConfigGUI would clear security whitelists/blacklists.&lt;br /&gt;
*Fix: Fixed spectating players not being treated as hidden (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed formatting in &amp;quot;Player ___ got auto-kicked&amp;quot; message (thanks BobKare)&lt;br /&gt;
*Fix: Fixed auto-kick revealing hidden players (thanks BobKare)&lt;br /&gt;
*Fix: Fixed RandomBrush-related [[/Undo]] artifacts in [[/Triangle]] (thanks Lunara_Noctis)&lt;br /&gt;
&lt;br /&gt;
===0.612===&lt;br /&gt;
&#039;&#039;14 December 2011 - r1307&#039;&#039;&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] @Rank&amp;quot; not autocompleting rank names.&lt;br /&gt;
*Fix: Fixed compatibility with legacy PlayerDB format versions. PlayerDB files created by fCraft 0.400+ will work again.&lt;br /&gt;
*Fix: Fixed several syntax problems and crashes in /Gen.&lt;br /&gt;
*Fix: Fixed a bug that reset a world&#039;s BackupInterval to default and IsLocked flag to false after changing the map (backport from 0.700).&lt;br /&gt;
*Fix: Fixed a bug that prevented kicks/bans/promotions/demotions from being announced on IRC if no reason was given.&lt;br /&gt;
*Change: Capped all user-entered time spans at 9999 days.&lt;br /&gt;
*Change: Shortened and clarified some confirmation prompts ([[/Gen]], [[/WLoad]], [[/ZRemove]], [[/Import]], [[/MassRank]]).&lt;br /&gt;
&lt;br /&gt;
===0.611===&lt;br /&gt;
&#039;&#039;3 December 2011 - r1282&#039;&#039;&lt;br /&gt;
*Feature: Added information about periodic backups to [[/WInfo]].&lt;br /&gt;
*Fix: Fixed [[/Players]] not working properly if both world name and offset were given.&lt;br /&gt;
*Fix: Fixed [[/WAccess]], [[/WBuild]], and [[/ZEdit]] not working with one-letter rank names.&lt;br /&gt;
*Fix: Fixed [[/BanIP]], /BanAll, /UnbanIP, and /UnbanAll treating fully numeric player names as IPs.&lt;br /&gt;
*Fix: Fixed [[/SetInfo]] not resetting PlayerInfo.LastModified date.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] populated&amp;quot; revealing worlds with hidden players.&lt;br /&gt;
*Fix: Fixed [[/BringAll]] ignoring per-rank limits in some cases (thanks ferny530)&lt;br /&gt;
*Fix: Fixed appearance of black and white blocks in [[/Env]] edges (thanks Jonty)&lt;br /&gt;
*Fix: Fixed a bug in Position.Equals&amp;lt;Position&amp;gt;(), which may have caused unnecessary position updates in Player.UpdateVisibleEntities (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed a little crash in Chat.GetRawMessageType (thanks ruggedbear)&lt;br /&gt;
*Fix: Fixed a case where Player.CanPlace checked permissions against the wrong world&#039;s BuildSecurity controller (thanks Xesdra)&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Commands]] @Rank&amp;quot; showing hidden commands (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed a typo in [[/Worlds]] (thanks Kevinsweijen)&lt;br /&gt;
*Fix: Fixed BlockDBAutoEnable and BlockDBAutoEnableRank config keys being placed in the &amp;quot;General&amp;quot; section.&lt;br /&gt;
*Change: Improved config.xml format (now version 152). Configs created with fCraft 0.611+ will not be usable with older versions of fCraft.&lt;br /&gt;
*Change: Rewrote ServerGUI startup code to make it more responsive (thanks to 800craft for the idea).&lt;br /&gt;
*Change: Added information about command-line options to the README, and fixed some typos.&lt;br /&gt;
*Change: MaxConnectionsPerIP restriction no longer applies to localhost.&lt;br /&gt;
*Change: Increased block-ratio limit for &amp;quot;random&amp;quot;, &amp;quot;cloudy&amp;quot;, and &amp;quot;marbled&amp;quot; brushes from 1000 to 10,000.&lt;br /&gt;
&lt;br /&gt;
===0.610===&lt;br /&gt;
&#039;&#039;18 November 2011 - r1240&#039;&#039;&lt;br /&gt;
*Feature: Added [[/Fill2D]] (/f2d), [[/Triangle]] (/t), and [[/TriangleW]] (/tw) draw commands.&lt;br /&gt;
*Feature: Added ability to filter [[/Worlds]] by rank.&lt;br /&gt;
*Feature: Added [[/Static]] (a way to repeat selection commands).&lt;br /&gt;
*Feature: Added MaxUndoStates config key (how many steps back can [[/Undo]] go), and ConfigGUI bindings.&lt;br /&gt;
*Feature: Added experimental IP-range lookup to [[/Info]] (CIDR notation). Changed /Info pattern-matching single-character symbol from &#039;.&#039; to &#039;?&#039;&lt;br /&gt;
*Feature: Added pagination to [[/Players]].&lt;br /&gt;
*Feature: [[/Spectate]] and [[/SpecPatrol]] now show what commands, PMs, and rank messages the target types in.&lt;br /&gt;
*Feature: Added a way to change server salt without needing a restart, using &amp;lt;code&amp;gt;[[/Reload]] Salt&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: [[/Measure]] now shows statistics about block types in the selection.&lt;br /&gt;
*Feature: [[/Gen]] now has two new templates: &amp;quot;ocean&amp;quot; and &amp;quot;empty&amp;quot;&lt;br /&gt;
*Fix: Many fixes in name-retyping functionality.&lt;br /&gt;
*Fix: Addressed stability issues in LineWrapper and Undo/Redo.&lt;br /&gt;
*Fix: Fixed [[/WLock]] not canceling all draw commands (as intended).&lt;br /&gt;
*Fix: Fixed some outdated descriptions, links, and tooltips in ConfigGUI.&lt;br /&gt;
*Fix: Fixed being able to BanIP/BanAll/UnbanIP/UnbanAll invalid IP addresses (0.0.0.0 and 255.255.255.255).&lt;br /&gt;
*Fix: Fixed [[/Info]] printing a blank page (instead of the last page) if given offset is greater than the total number of matches.&lt;br /&gt;
*Fix: Fixed rank prefixes being appended to players&#039; names if DisplayedName is set.&lt;br /&gt;
*Fix: Fixed a couple rare crashes/hangs in ServerGUI when parsing console commands.&lt;br /&gt;
*Fix: Fixed [[/Ban]] and [[/Unban]] announcing when they&#039;re not supposed to.&lt;br /&gt;
*Fix: Fixed a potential crash in [[/BanInfo]] when looking up an IP address directly (no player name).&lt;br /&gt;
*Fix: Fixed another obscure way of revealing hidden players.&lt;br /&gt;
*Fix: Fixed Beta client kick message (thanks Voziv).&lt;br /&gt;
*Fix: Fixed [[/Commands]] defaulting to printing ALL commands.&lt;br /&gt;
*Fix: Fixed [[/Undo]] trying to re-cancel canceled commands.&lt;br /&gt;
*Fix: Fixed uncaught &amp;quot;Illegal characters in path.&amp;quot; exception when trying to save a [[/Gen]]&#039;erated map to an invalid filename.&lt;br /&gt;
*Fix: Fixed typos in [[/ReplaceNot]] and [[/UndoArea]].&lt;br /&gt;
*Change: Added a warning on startup if name verification is disabled.&lt;br /&gt;
*Change: Tweaks and improvements to [[/Info]], [[/WInfo]], [[/BanInfo]], [[/SetInfo]], and [[/Commands]].&lt;br /&gt;
*Change: Removed code that tries next port if the given one could not be used. Now fCraft either starts on the port specified in config, or dies.&lt;br /&gt;
*Change: Commands now complain about being given too many parameters (in addition to complaining about too few parameters). This should help catch mistyped commands.&lt;br /&gt;
*Change: Added an option to disable giant-tree generation in ConfigGUI&#039;s map generator.&lt;br /&gt;
*Change: Changed log format for bans/kicks to include more information, and fixed log message format for &amp;quot;Player ____ logged in from an IP shared by banned players...&amp;quot;&lt;br /&gt;
*Change: Included config.xml in the automated data backup.&lt;br /&gt;
*Change: ConfigGUI tweaks and improvements.&lt;br /&gt;
*Change: Changes some aliases:&lt;br /&gt;
**Added /Whois and /WhoWas as aliases for [[/Info]].&lt;br /&gt;
**Set &amp;quot;/B&amp;quot; and &amp;quot;/About&amp;quot; to be aliases for [[/BInfo]].&lt;br /&gt;
*Change: Changed some ConfigKey defaults:&lt;br /&gt;
**BlockDBEnabled defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
**WomEnableEnvExtensions defaults to &amp;quot;false&amp;quot;&lt;br /&gt;
**IRCBotAnnounceServerEvents defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
*Change: Discontinued ServerWinService (formerly fCraftWinService) subproject.&lt;br /&gt;
*API: Improved Vector3I, Vector3F, and Position classes a bit.&lt;br /&gt;
*API: New events: DrawOperation.Beginning / Began / Ended&lt;br /&gt;
*API: Changed the way PlayerInfo stores empty string fields. Instead of a 0-length string, it now uses nulls.&lt;br /&gt;
*Optimization: Sped up PlayerDB loading/saving, and boolean ConfigKey lookup.&lt;br /&gt;
&lt;br /&gt;
===0.604===&lt;br /&gt;
&#039;&#039;23 October 2011 - r1155&#039;&#039;&lt;br /&gt;
*Feature: Added support for repeating previously-entered player and world names. Just put a dash (-) in place of the player/world name when using a command, and fCraft will fill in the most-recently-used name.&lt;br /&gt;
*Fix: Fixed an occasional SecurityController-related crash in [[/Gen]], [[/WLoad]], and ConfigGUI world editor.&lt;br /&gt;
*Fix: Fixed an very rare problem in shutdown/restart commands.&lt;br /&gt;
*Fix: Fixed a rare crash that only happened if: MaxPlayers&amp;gt;128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.&lt;br /&gt;
*Fix: Fixed naming of paste/pastenot and pastex/pastenotx&lt;br /&gt;
*Fix: Fixed a permission exploit in /wbring (thanks to panda100123)&lt;br /&gt;
*Fix: Fixed [[/Rules]] section finder accidentally being case-sensitive.&lt;br /&gt;
*Fix: Fixed an issue with MCSharp/MCZall/MCLawl/MCQuai/MCStorm/MCForge/MCWhatever importer.&lt;br /&gt;
*Change: Decreased shading strength in IsoCat renderer.&lt;br /&gt;
*Change: Added /Who as an alias for [[/Players]], by request.&lt;br /&gt;
*Change: Clarified ConfigGUI description of name verification settings.&lt;br /&gt;
*Change: Normalized command name capitalization. Command names must now start with an uppercase letter, for consistency.&lt;br /&gt;
*API: Fixed inconsistencies in PlayerDB.txt header row format declaration.&lt;br /&gt;
&lt;br /&gt;
===0.603===&lt;br /&gt;
&#039;&#039;20 October 2011 - r1142&#039;&#039;&lt;br /&gt;
*Fix: [[/Cancel]] can no longer be repeated with &amp;quot;/&amp;quot; (no longer replaces previously-called command).&lt;br /&gt;
*Fix: Fixed [[/Rotate]] and [[/Mirror]] messing up if a paste command is in progress.&lt;br /&gt;
*Fix: Re-enabled crash interception and reporting.&lt;br /&gt;
&lt;br /&gt;
===0.602===&lt;br /&gt;
&#039;&#039;18 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Feature: One-click paste commands are now the default. Two-click aligned paste commands are now known as [[/PasteX]] (/PX) and [[/PasteNotX]].&lt;br /&gt;
*Feature: Added [[/ReplaceBrush]] (/RB) command (shortcut for &amp;lt;code&amp;gt;[[/Brush]] ReplaceBrush&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;[[/Cuboid]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: Added a way to change number of copy/paste slots per rank from ConfigGUI.&lt;br /&gt;
*Fix: Fixed a few typos and missing help entries.&lt;br /&gt;
*Fix: Fixed DrawOp completion message and log entry.&lt;br /&gt;
*Fix: Fixed [[/Paste]] and [[/PasteNot]] not properly clipping against world boundaries.&lt;br /&gt;
*Fix: Fixed ConfigGUI not preserving environment settings for worlds.&lt;br /&gt;
*Fix: Fixed ConfigGUI losing some worlds and showing some errors when importing from 0.5xx.&lt;br /&gt;
*Fix: Fixed [[/Bring]] not being usable from console.&lt;br /&gt;
*Fix: Fixed [[/WRename]] crashing if invalid characters (from filesystem&#039;s point of view) are present in the new name.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking for Spectate permission.&lt;br /&gt;
*Fix: Fixed [[/UndoArea]]&#039;d and [[/UndoPlayer]]&#039;ed blocks having &amp;quot;Restored&amp;quot; flag set in /bi&lt;br /&gt;
*Fix: Fixed a detached checkbox on &amp;quot;Worlds&amp;quot; tab of ConfigGUI.&lt;br /&gt;
*Fix: Fixed [[/Say]], [[/Staff]], and [[/Me]] getting logged twice.&lt;br /&gt;
*Fix: Fixed per-world backup settings being cleared on server restart.&lt;br /&gt;
*Fix: Fixed a rare NullReferenceException in WorldManager.LoadWorldList that occurred if the main world was missing, and the fallback world had access restrictions.&lt;br /&gt;
*Fix: Fixed some issues with BlockDB settings in &amp;quot;Add World&amp;quot; and &amp;quot;Edit World&amp;quot; popups of ConfiGUI.&lt;br /&gt;
*Fix: Fixed a rare ConfigGUI crash when resetting the rank tab whole one of the old ranks is selected.&lt;br /&gt;
*Change: Sped up [[/EllipsoidH]] and [[/SphereH]] slightly (thanks to Redshift).&lt;br /&gt;
*Change: Improved error handling in [[/Env]] when setting level.&lt;br /&gt;
*Change: Double-buffered the preview on &amp;quot;Chat&amp;quot; tab of ConfigGUI, to get rid of flicker.&lt;br /&gt;
*Change: Clarified auto-freeze message when trying to kick/ban someone without a required reason string.&lt;br /&gt;
&lt;br /&gt;
===0.601===&lt;br /&gt;
&#039;&#039;15 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Fixed several issues with [[/Undo]] and drawing commands.&lt;br /&gt;
&lt;br /&gt;
===0.600===&lt;br /&gt;
&#039;&#039;14 October 2011 - r1107&#039;&#039;&lt;br /&gt;
:&#039;&#039;See [http://www.fcraft.net/0.600/ http://www.fCraft.net/0.600] for a summary of changes, and upgrade notes.&#039;&#039;&lt;br /&gt;
*Chat: Added a {{cmd|Timer}} command for creating publicly-announced countdowns/timers.&lt;br /&gt;
*Chat: Added a way to cancel partial messages: &amp;lt;code&amp;gt;/Nvm&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Chat: Removed &amp;quot;Banned player ___ tried to log in&amp;quot; and &amp;quot;Player ___ tried to log in from a banned IP&amp;quot; messages.&lt;br /&gt;
*Chat: {{cmd|Say}}, {{cmd|Staff}}, and {{cmd|Me}} commands can no longer repeated using &amp;quot;/&amp;quot; shortcut.&lt;br /&gt;
*Chat: Added a warning when trying to PM deafened players.&lt;br /&gt;
*Chat: Added a shortcut for chatting to same rank: &amp;quot;@@ Message&amp;quot;&lt;br /&gt;
*Chat: Increased the number of blank lines sent by {{cmd|Clear}} to 30, to accommodate players with smaller-than-normal font sizes.&lt;br /&gt;
*Chat Fix: Fixed {{cmd|Say}}, {{cmd|Roll}}, {{cmd|Staff}}, and {{cmd|Me}} sometimes bypassing {{perm|Chat}} permission, mute check, or spam detection check.&lt;br /&gt;
*Chat Fix: Fixed rank chat being logged twice.&lt;br /&gt;
*Chat Fix: Fixed some system messages getting through to deafened players.&lt;br /&gt;
*Chat Fix: {{cmd|Deafen}} now clears the screen when toggled on.&lt;br /&gt;
*Commands: Rank and zone names now autocomplete.&lt;br /&gt;
*Commands: Players can no longer freeze, mute, kick, ban, unban, promote, or demote themselves.&lt;br /&gt;
*Commands: {{cmd|Players}} can now be called with an optional WorldName parameter, to only list players in a particular world.&lt;br /&gt;
*Commands: {{cmd|WLoad}} now takes two more optional parameters: build rank and access rank names.&lt;br /&gt;
*Commands: {{cmd|Info}} now shows last leave reason, idle time, freeze/mute information, and ban exemption status.&lt;br /&gt;
*Commands: Augmented {{cmd|Rules}} to support several rule categories.&lt;br /&gt;
*Commands: Added {{cmd|Spectate}} and {{cmd|SpecPatrol}} (&amp;lt;code&amp;gt;/SPat&amp;lt;/code&amp;gt;) commands.&lt;br /&gt;
*Commands: Added {{cmd|WBring}} (brings target player to a world);&lt;br /&gt;
*Commands: Added {{cmd|Spawn}} command (brings you to spawn). Typing &amp;quot;{{cmd|TP}}&amp;quot; no longer does the same thing, and {{cmd|TP}} now always requires {{perm|Teleport}} permission.&lt;br /&gt;
*Commands: Algorithm that {{cmd|Patrol}} uses to pick the next target was improved.&lt;br /&gt;
*Commands: Renamed Lock/Unlock commands to {{cmd|WLock}}/{{cmd|WUnlock}}, for consistency.&lt;br /&gt;
*Commands: Merged &amp;lt;code&amp;gt;/ReloadConfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/AutoRankReload&amp;lt;/code&amp;gt; into {{cmd|Reload}} command. Merged &amp;lt;code&amp;gt;/ImportRanks&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/ImportBans&amp;lt;/code&amp;gt; into {{cmd|Import}} command. Combined functionality of &amp;lt;code&amp;gt;/LockAll&amp;lt;/code&amp;gt; into {{cmd|WLock}}, and functionality of &amp;lt;code&amp;gt;/UnlockAll&amp;lt;/code&amp;gt; into {{cmd|WUnlock}}.&lt;br /&gt;
*Commands: {{cmd|Info}} and {{cmd|Worlds}} now support pagination.&lt;br /&gt;
*Commands: When world access permissions are changed with {{cmd|WAccess}}, players who lost ability to join the world will automatically be moved to main.&lt;br /&gt;
*Commands: Frozen player can no longer call most commands, with exception of: {{cmd|Clear}}, {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|RankInfo}}, {{cmd|ServerInfo}}, {{cmd|Ranks}}, {{cmd|Rules}}, {{cmd|Where}}, {{cmd|Help}}, {{cmd|Commands}}, {{cmd|Colors}}, {{cmd|Worlds}}, {{cmd|Zones}}, and {{cmd|ZInfo}}.&lt;br /&gt;
*Commands: {{cmd|Bring}} and {{cmd|WBring}} now give the option of overriding worlds&#039; access minimum-rank. Explicitly blacklisted players will continue to be barred.&lt;br /&gt;
*Commands: Added {{cmd|InfoSwap}} command, for swapping two players&#039; ranks and PlayerDB records.&lt;br /&gt;
*Commands: Added a way to abort a server shutdown or restart (&amp;quot;{{cmd|Shutdown|abort}}&amp;quot; or &amp;quot;{{cmd|Restart|abort}}&amp;quot;).&lt;br /&gt;
*Commands: {{cmd|RankInfo}} now shows copy/paste slots, idle kick time, and permission limits.&lt;br /&gt;
*Commands: Most time-related commands now take the [[Time formatting|compact format]] (e.g. 1m30s, 45s, 24h, etc).&lt;br /&gt;
*Commands: Color-coded {{cmd|Commands}}.&lt;br /&gt;
*Commands: Limited {{cmd|Mute}} duration to range between 1 second and 700 days (100 weeks).&lt;br /&gt;
*Commands: {{cmd|SetInfo}} now allows changing players&#039; DisplayedName.&lt;br /&gt;
*Commands: A warning is now shown when a player is kicked/banned, and other players are still connected from the IP.&lt;br /&gt;
*Commands: Added a way to add IP ban exemptions using {{cmd|BanEx}} (banning all players from IP except a particular one).&lt;br /&gt;
*Commands: Added automatic countdowns to {{cmd|Shutdown}} and {{cmd|Restart}}.&lt;br /&gt;
*Commands: Added more stats to {{cmd|ServerInfo}}.&lt;br /&gt;
*Commands: {{cmd|MassRank}} now defaults to silent, and takes a &amp;quot;reason&amp;quot; parameter.&lt;br /&gt;
*Commands: Added &amp;quot;/St&amp;quot; as an alias for {{cmd|Staff}}. Changed &amp;quot;/L&amp;quot; from being alias for {{cmd|Join}}, to being alias for {{cmd|Lava}}. Removed &amp;quot;/Cub&amp;quot; alias for {{cmd|Cuboid}}.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|UnbanIP}} and {{cmd|UnbanAll}} not announcing the unban reason.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Info}} not formatting names of offline players.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Restart}} breaking under Mono if working path contains spaces.&lt;br /&gt;
*Commands Fix: Fixed freeze/unfreeze printing wrong ranks in &amp;quot;You can only freeze players ranked ____ or lower&amp;quot; messages.&lt;br /&gt;
*Commands Fix: Fixed a rare crash in {{cmd|Rules}} when used from console.&lt;br /&gt;
*Commands Fix: {{cmd|BanIP}} and {{cmd|BanAll}} no longer allow to ban the IP if it&#039;s shared by any players whom caller is not allowed to ban.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Ignore}} and {{cmd|Unignore}} printing all matches at once on autocompletion.&lt;br /&gt;
*Commands Fix: Fixed a case where {{cmd|BringAll}} could reveal hidden players.&lt;br /&gt;
*Commands Fix: Fixed a few bugs in {{cmd|DumpStats}}, expanded player listing to top-5/bottom-5, and added &amp;quot;BlocksDrawn&amp;quot; stat.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Rank}} and {{cmd|TP}} commands showing up in {{cmd|Commands}} for ALL players.&lt;br /&gt;
*Commands Fix: Fixed a couple rare bugs in {{cmd|Roll}}.&lt;br /&gt;
*Commands Fix: Fixed broken {{cmd|BringAll}} support for bringing multiple ranks at once.&lt;br /&gt;
*Commands Fix: Fixed several obscure ways of revealing presence of hidden players via commands like {{cmd|ServerInfo}} and {{cmd|Worlds}}.&lt;br /&gt;
*Config: New config keys: BackupDataOnStartup (default: true), RestartInterval (default: 0), HeartbeatToWoMDirect (default: true), BlockDBEnabled (default: true), BlockDBAutoEnable (default: true), and BlockDBAutoEnableRank (default: DefaultRank), WoMEnableEnvExtensions (default: false).&lt;br /&gt;
*Config: Added {{perm|Spectate}} permission that covers {{cmd|Spectate}} and {{cmd|SpecPatrol}}.&lt;br /&gt;
*Config: Added {{perm|DrawAdvanced}} permission that covers {{cmd|Brush}}, {{cmd|Sphere, {{cmd|SphereH}}, {{cmd|Torus}}, and {{cmd|Restore}} commands.&lt;br /&gt;
*Config: Added {{perm|ManageBlockDB}} permission that covers {{cmd|BlockDB}}.&lt;br /&gt;
*Config: Added {{perm|UndoOthersActions}} permission that covers {{cmd|UndoPlayer}} and {{cmd|UndoArea}}.&lt;br /&gt;
*Config: {{cmd|Reload}} can now update more config keys without needing a restart: AutoRankEnabled, BandwidthUseMode, ConsoleName, DefaultRank, DefaultBuildRank, PatrolledRank.&lt;br /&gt;
*Config: Removed obsolete ShowBannedConnectionMessages config key.&lt;br /&gt;
*Config Fix: Fixed DefaultRank/DefaultBuildRank/PatrolledRank settings not being applied.&lt;br /&gt;
*ConfigGUI: Added BlockDB settings to &amp;quot;Worlds&amp;quot; tab and &amp;quot;Add/Edit World&amp;quot; dialog.&lt;br /&gt;
*ConfigGUI: Reorganized Rank tab.&lt;br /&gt;
*ConfigGUI: Relaxed restrictions on rank prefixes.&lt;br /&gt;
*ConfigGUI: Added &amp;quot;Insert Color&amp;quot; and &amp;quot;Insert Keyword&amp;quot; buttons to announce/rule/greeting editors in ConfigGUI, and a &amp;quot;Reset&amp;quot; button to revert edits.&lt;br /&gt;
*ConfigGUI: Any errors/warnings that are produced while loading &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt; in ConfigGUI are now displayed at startup.&lt;br /&gt;
*ConfigGUI Fix: ConfigGUI no longer loses worlds&#039; whitelists/blacklists.&lt;br /&gt;
*ConfigGUI Fix: Fixed several bugs related to renaming worlds.&lt;br /&gt;
*ConfigGUI Fix: Fixed several &amp;quot;Reset&amp;quot; bugs.&lt;br /&gt;
*ConfigGUI Fix: Fixed &amp;quot;Enable colors in IRC&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*ConfigGUI Fix: Fixed ConfigTool&#039;s Chat tab not updating to reflect changes in rank colors/prefixes.&lt;br /&gt;
*ConfigGUI Fix: Fixed sort order in Worlds tab when sorting by world size.&lt;br /&gt;
*ConfigGUI Fix: Fixed some rank dropdown menus in ConfigGUI showing &amp;quot;(lowest rank)&amp;quot; instead of &amp;quot;(default rank)&amp;quot; as the default option.&lt;br /&gt;
*Drawing: Introduced a brush/pattern system for draw commands. Rewrote (almost) all existing draw commands to take advantage of that new infrastructure. Brushes are: Normal (default), Checkered, Random, Cloudy, Marbled, Replace, ReplaceNot, ReplaceBrush.&lt;br /&gt;
*Drawing: Added a way to {{cmd|Undo}} up to five commands back. Use {{cmd|Redo to reverse it.&lt;br /&gt;
*Drawing: Added {{cmd|Torus}} drawing command, written and contributed by M1_Abrams.&lt;br /&gt;
*Drawing: Added support for multiple copy/paste slots, using {{cmd|CopySlot}}. Number of slots of configurable per-rank.&lt;br /&gt;
*Drawing: {{cmd|Replace}} and {{cmd|ReplaceNot}} can now take just one blocktype. The replacement type is inferred from the type of block player is holding when clicking.&lt;br /&gt;
*Drawing: {{cmd|Undo}} now cancels the last drawing commands.&lt;br /&gt;
*Drawing: Added a new [[Blocks|block name aliases]]: &amp;quot;g&amp;quot; for grass, &amp;quot;w&amp;quot; for water, &amp;quot;a&amp;quot; for air.&lt;br /&gt;
*Drawing Fix: Added a missing volume check to {{cmd|Line}}, and fixed {{cmd|CuboidW}} volume calculations.&lt;br /&gt;
*Drawing Fix: Fixed {{cmd|Copy}} and {{cmd|Cut}} reporting incorrect orientation.&lt;br /&gt;
*FrontEnd: Colored ConfigCLI log messages: red for errors, yellow for warnings, dark gray for debug, default (gray) for everything else. Call with &amp;quot;--noconsolecolor&amp;quot; parameter to disable.&lt;br /&gt;
*FrontEnd: ServerCLI now handles all updater modes properly, and downloads updater/restarts if needed.&lt;br /&gt;
*FrontEnd: Improved window titles.&lt;br /&gt;
*FrontEnd Fix: Fixed ServerCLI writing errors to stdout instead of stderr.&lt;br /&gt;
*Misc: Players who log out hidden will now log in silently, still hidden.&lt;br /&gt;
*Misc: More [[Constants|keywords]] are now usable in announcements, rules, and greeting files: {SERVER_NAME}, {MOTD}, {RANK}, {PLAYER_NAME}, {TIME}, {WORLD}, {PLAYERS}, and {WORLDS}&lt;br /&gt;
*Misc: Kicked or disconnected players no longer have their TotalTime increased for the time idled.&lt;br /&gt;
*Misc: fCraft will refuse to start up if running old versions of mono (2.4 or earlier).&lt;br /&gt;
*Misc: Crash reporter now prints a reference number for submitted reports.&lt;br /&gt;
*Misc: AutoRank now only evaluates online players on a timer. A full database sweep will only be done on startup or on-demand. This should notably reduce average CPU use on large databases.&lt;br /&gt;
*Misc: Added AutoRank pseudoplayer (similar to Console), who is now credited with all autorank promotions/demotions.&lt;br /&gt;
*Misc: Increased the allowed clicking distance when manually clicking blocks, to account for lag.&lt;br /&gt;
*Misc: IRC bot now announces channel kicks and nick changes.&lt;br /&gt;
*Misc: When a player with a reserved slot tries to join a full world, the longest-idle player will be kicked to make room.&lt;br /&gt;
*Misc: Frozen, demoted, and banned players are now automatically unhidden. Frozen players are undeafened. Banned players are also automatically unfrozen and unmuted.&lt;br /&gt;
*Misc: When a player&#039;s rank is changed, their bindings are now reset (to avoid issues with {{cmd|Water}}, {{cmd|Lava}}, and {{cmd|Solid}}), and any in-progress selection is canceled ([[:Category:Requires Draw|draw]] commands, {{cmd|Zone}}, {{cmd|ZTest}}, {{cmd|BInfo}}, {{cmd|Measure}}, etc)&lt;br /&gt;
*Misc: Frozen players now have a little blue star appended to their names, similar to the red star for banned players.&lt;br /&gt;
*Misc: Moved all heartbeat-related operations to the background thread (fixes lag spikes when minecraft.net times out).&lt;br /&gt;
*Misc: Added a dynamically updated compass at the top-right of the screen, visible to players who use WoM 1.8.8+&lt;br /&gt;
*Misc: Added a check for libMonoPosix on server startup. This allows catching misconfigured Mono setups early.&lt;br /&gt;
*Misc: Ranks now default to &amp;quot;white&amp;quot; color (&amp;quot;&amp;amp;f&amp;quot;) instead of &amp;quot;none&amp;quot; color (&amp;quot;&amp;quot;).&lt;br /&gt;
*Misc: Edited the &amp;quot;failed to load main world&amp;quot; message to sound less menacing, since it&#039;s usually caused just by main world filling up.&lt;br /&gt;
*Misc: Sped up {{cmd|PruneDB}}, {{cmd|MassRank}}, map generation. Reduced memory use of draw commands, undo buffers, and ConfigGUI.&lt;br /&gt;
*Misc Fix: Fixed &amp;quot;duplicate metadata key&amp;quot; warning in FCMv3 maps.&lt;br /&gt;
*Misc Fix: Fixed a zone-related race condition when exporting to Opticraft map format.&lt;br /&gt;
*Misc Fix: Fixed fCraft being unable to start if fCraft.dll is in the root directory of a drive (e.g. in &amp;quot;C:/&amp;quot;)&lt;br /&gt;
*Misc Fix: Fixed a bug that caused bandwidth to sometimes be wasted on needlessly updating position of non-moving players.&lt;br /&gt;
*Misc Fix: Fixed a clock drift problem in periodic SchedulerTasks.&lt;br /&gt;
*Misc Fix: Fixed a case where, in some rank configurations, players would see themselves as offline when hidden (in {{cmd|Info}}, {{cmd|BInfo}}, {{cmd|Players}}, etc).&lt;br /&gt;
*PlayerDB: Added 46th column: PlayerInfo.IsHidden (&#039;h&#039; if hidden, otherwise blank).&lt;br /&gt;
*PlayerDB: Added 47th column: PlayerInfo.LastModified (UTC unix timestamp). Accuracy is not yet guaranteed.&lt;br /&gt;
*PlayerDB: Added 48th column: PlayerInfo.DisplayedName (string or blank). Overrides &amp;quot;Name&amp;quot; field for purposes of displaying formatted name (ClassyName).&lt;br /&gt;
*PlayerDB: Removed 14th column (FailedLoginCount) due to disuse.&lt;br /&gt;
*PlayerDB: PlayerDB now writes out changes to TotalTime incrementally for online players, instead of applying the change on-logout.&lt;br /&gt;
*Worlds: Added a way to change some environment and texture settings per-map, using {{cmd|Env}}.&lt;br /&gt;
*Worlds: Per-world settings on backup intervals now work.&lt;br /&gt;
*Worlds: Added BlockDB - a system for tracking edits per-block. Added related {{cmd|BlockDB}} and {{cmd|BInfo}} commands.&lt;br /&gt;
*Worlds: Added {{cmd|UndoPlayer}} and {{cmd|UndoArea}} commands for undoing players&#039; actions using BlockDB.&lt;br /&gt;
*Worlds: If a world has a missing map file, a warning is now shown, and a default flatgrass map is created.&lt;br /&gt;
*Worlds: Added a way to set per-rank main world, using {{cmd|WMain}}.&lt;br /&gt;
*Worlds: Added {{cmd|Restore}} command, inspired by good old MinerCPP. Selectively loads a map from another file or backup.&lt;br /&gt;
*Worlds: Allowed non-standard dimensions (neither multiples of 16, nor powers of 2). Added a warning about glitches when using nonstandard dimensions.&lt;br /&gt;
*Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to {{cmd|WInfo}} and to &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worlds: MapGenerator tweaks: &amp;quot;default&amp;quot; template is now known as &amp;quot;random,&amp;quot; &amp;quot;mountains&amp;quot; template now has more cliffs and snow on mountaintops, &amp;quot;island&amp;quot; template is less rough and has nice beaches, and water is now automatically removed from &amp;quot;desert&amp;quot; maps.&lt;br /&gt;
*Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.&lt;br /&gt;
*Worlds Fix: Fixed an exploit that allowed players to bypass world access permissions in certain rank configurations.&lt;br /&gt;
*Worlds Fix: Fixed some rare crashes in {{cmd|WLoad}}.&lt;br /&gt;
*Worlds Fix: Fixed {{cmd|WAccess}} and {{cmd|WBuild}} occasionally not saving the world list after adding players to the access/build whitelists.&lt;br /&gt;
*Worlds Fix: Fixed being unable to change just the capitalization when renaming worlds from ConfigGUI, under Windows.&lt;br /&gt;
*Zones: Added {{cmd|ZRename}} command to rename zones.&lt;br /&gt;
*Zones: Added {{cmd|ZMark}} command to use zone boundaries for drawing or making selections.&lt;br /&gt;
*Zones Fix: Fixed {{cmd|ZAdd}} crash when adding more than one personal zone for the same player ({{cmd|ZAdd|+Name}}).&lt;br /&gt;
*Zones Fix: Fixed a rare case where two players could simultaneously create a zone with the same name on the same world, which would crash one of the players.&lt;br /&gt;
*Zones Fix: {{cmd|Zones}} no longer crashes if used on a world with a missing or corrupt map file.&lt;br /&gt;
*Zones Fix: Tightened security checks of {{cmd|ZAdd}} and {{cmd|ZRemove}} to prevent a permission exploit.&lt;br /&gt;
*API: Added specialized MetadataCollection class to manage per-map and per-player metadata, and ZoneCollection for zones.&lt;br /&gt;
*API: Added ReSharper-compatible annotations and more argument checks throughout the codebase.&lt;br /&gt;
*API: fCraft now consistently uses [X,Y,Z] for coordinates (where X/Y are horizontal, and Z is vertical), and [Width,Length,Height] for dimensions (Width/Length horizontal, Height vertical).&lt;br /&gt;
*API: Merged Session and Player classes. All session-related functionality is in Player.Networking.cs file.&lt;br /&gt;
*API: New line-wrapping algorithm provides better performance and safety. Now using &amp;quot;\n&amp;quot; instead of &amp;quot;&amp;amp;N&amp;quot; to force a newline.&lt;br /&gt;
*API: Renamed World.PlayerList to World.Players, Server.PlayerList to Server.Players, and added PlayerDB.PlayerInfoList&lt;br /&gt;
*API: New LINQ-style API for working with sets of players. This API is now used for all messaging and packet-sending. Old API (Server.Send* and World.Send*) was removed.&lt;br /&gt;
*API: New unified API for handling player-generated chat (Chat static class), and new events (Chat.Sending and Chat.Sent).&lt;br /&gt;
*API: All cancellable events now implement ICancellableEvent.&lt;br /&gt;
*API: MapDAT and MapNBT now implement IMapConverter.LoadHeader.&lt;br /&gt;
*API: Converted IClassy.GetClassyName(), Rank.GetFullName(), and Player.GetListName() to properties.&lt;br /&gt;
*API: Renamed ConfigKey.GetBool() to ConfigKey.Enabled(). Added ConfigKey.TryGetInt() and ConfigKey.TryGetBool() methods.&lt;br /&gt;
*API: CommandManager.RegisterCommand() now checks for reserved command names (currently &amp;quot;ok&amp;quot; and &amp;quot;nvm&amp;quot;), and does a better job at handling command name capitalization differences.&lt;br /&gt;
*API: Added ability to override Player.MaxBlockPlacementRange, Player.SocketTimeout, Heartbeat.Delay, and Heartbeat.Timeout.&lt;br /&gt;
*API: Renamed RankManager.ParseRank(string) to Rank.Parse(string)&lt;br /&gt;
*API: All draw/undo/copy/paste commands have been moved to fCraft.Drawing namespace.&lt;br /&gt;
*API: Added support for multiple {{cmd|Help}} sections per command.&lt;br /&gt;
*API: Added CommandCategory.Debug, removed CommandDescriptor.HelpHander and HelpHandler delegate.&lt;br /&gt;
*API: Moved Server.Player* events to Player.* and Server.PlayerInfo* to PlayerInfo.*&lt;br /&gt;
*API: Expanded the confirmation system (&amp;lt;code&amp;gt;/OK&amp;lt;/code&amp;gt;) to allow custom callbacks, decoupled from the command system.&lt;br /&gt;
*API Fix: &amp;quot;Bad heartbeat&amp;quot; reply from minecraft.net no longer triggers UrlChanged event.&lt;br /&gt;
*API Fix: Fixed a couple bugs in BoundingBox.GetIntersection and BoundingBox.Contains.&lt;br /&gt;
*API Fix: Fixed {{cmd|Replace}} and {{cmd|ReplaceNot}} not firing Player.PlacedBlock&lt;br /&gt;
*events.&lt;br /&gt;
*API Fix: Uncaught exceptions that occur while parsing player messages no longer send crash reports when in DEBUG configuration.&lt;br /&gt;
&lt;br /&gt;
=0.5xx=&lt;br /&gt;
&lt;br /&gt;
===0.537===&lt;br /&gt;
&#039;&#039;14 September 2011 - r991&#039;&#039;&lt;br /&gt;
*Fixed another heartbeat-related issue caused by minecraft.net updates.&lt;br /&gt;
&lt;br /&gt;
===0.536===&lt;br /&gt;
&#039;&#039;14 September 2011 - r988&#039;&#039;&lt;br /&gt;
*Fix: Fixed a rare crash in DoChangeRank when promoting/demoting offline players.&lt;br /&gt;
*Fix: Fixed a case where world access/build whitelist additions were not immediately saved.&lt;br /&gt;
*Fix: Fixed several errors in the way time spans were displayed.&lt;br /&gt;
*Fix: Unhandled exceptions in background task callbacks will no longer take down the server&lt;br /&gt;
*Change: Changed the heartbeat handler to use GET instead of POST (workaround for minecraft.net problems).&lt;br /&gt;
*Change: Removed AutoLauncher.&lt;br /&gt;
&lt;br /&gt;
===0.535===&lt;br /&gt;
&#039;&#039;1 July 2011 - r702&#039;&#039;&lt;br /&gt;
*Workaround for minecraft.net heartbeat changes.&lt;br /&gt;
&lt;br /&gt;
===0.534===&lt;br /&gt;
&#039;&#039;18 June 2011 - r668&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;lt;RestartInterval&amp;gt; config key (in seconds). It should help people who are suffering from Mono memory leaks. This setting can only currently be modified by editing config.xml&lt;br /&gt;
*Fix: Fixed /wload and /gen resetting the world&#039;s hidden status.&lt;br /&gt;
*Fix: Fixed &amp;quot;Apply&amp;quot; button not getting enabled in ConfigTool when world list is changed.&lt;br /&gt;
*Fix: Fixed /cw reporting incorrect volume (fixes #3308137).&lt;br /&gt;
*Fix: Added a confirmation when /wrename will result in overwriting a map file, and fixed a related crash (fixes #3311994).&lt;br /&gt;
*Fix: Fixed FormatException in error handling code in World.AcceptPlayer&lt;br /&gt;
*Fix: Fixed /info not showing formatted names for players who appear offline.&lt;br /&gt;
*Fix: Fixed several issues with renaming worlds from ConfigTool.&lt;br /&gt;
*Fix: Fixed /restart breaking under Mono if path contains spaces.&lt;br /&gt;
*Fix: Fixed /staff, /me, and /roll commands not requiring the Chat permission.&lt;br /&gt;
*Fix: Fixed &amp;quot;Use IRC colors&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*Change: Allowed all printable ASCII characters in chat except &#039;&amp;amp;&#039;.&lt;br /&gt;
*Change: Heartbeat tweaks to prevent &amp;quot;Bad heartbeat&amp;quot; from popping up.&lt;br /&gt;
*Optimization: ConfigTool starts up faster, and uses much less memory.&lt;br /&gt;
&lt;br /&gt;
===0.533===&lt;br /&gt;
&#039;&#039;24 May 2011 - r614&#039;&#039;&lt;br /&gt;
*Fix: Fixed a regression in 0.530 that erased some strings in PlayerInfo and IPBanInfo objects, such as ban reasons.&lt;br /&gt;
*Change: Increased heartbeat interval to 27.5 seconds.&lt;br /&gt;
*Change: Reduced jitter of player movement.&lt;br /&gt;
&lt;br /&gt;
===0.532===&lt;br /&gt;
&#039;&#039;23 May 2011 - r611&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;quot;/worlds loaded&amp;quot; command.&lt;br /&gt;
*Fix: Fixed a bug that prevented worlds from accepting any block changes after a map change (/wload or /gen)&lt;br /&gt;
*Fix: Fixed &amp;quot;Player _____ joined main.&amp;quot; displaying twice when players connect.&lt;br /&gt;
*Change: Added /colours as an alias to /colors&lt;br /&gt;
*Change: Adjusted /dumpstats security checks, and made it require EditPlayerDB permission (instead of Import).&lt;br /&gt;
&lt;br /&gt;
===0.531===&lt;br /&gt;
&#039;&#039;20 May 2011 - r603&#039;&#039;&lt;br /&gt;
*Feature: /SInfo now shows bandwidth use, fCraft version, and .NET/Mono version.&lt;br /&gt;
*Feature: Added ability to use coordinates with mark (e.g. &amp;quot;/Mark 0 0 0&amp;quot;).&lt;br /&gt;
*Fix: Fixed non-default rank settings not saving properly from ConfigTool.&lt;br /&gt;
*Fix: Fixed a serialization bug in IPBanList that happened if a ban reason was not given, or if an IP address was not associated with any player.&lt;br /&gt;
*Fix: Fixed a few minor bugs in /WMain.&lt;br /&gt;
*Change: Allowed the caret (^) in chat messages.&lt;br /&gt;
*Change: Reduced movement lag.&lt;br /&gt;
*Change: /version command has been removed due to redundancy with /sinfo.&lt;br /&gt;
*Change: Detailed reasons of player disconnects are now logged better.&lt;br /&gt;
*Change: Increased Minecraft.net heartbeat interval slightly.&lt;br /&gt;
*API: Added new events: Scheduler.TaskAdded, Scheduler.TaskExecuting, Scheduler.TaskExecuted, and Scheduler.TaskRemoved. These events are only available when fCraft.dll is built with DEBUG_SCHEDULER flag because of their performance impact.&lt;br /&gt;
*Optimization: Removed the scheduler overhead from having unloaded worlds.&lt;br /&gt;
*Optimization: Sped up MapGenerator by about 10%.&lt;br /&gt;
&lt;br /&gt;
===0.530===&lt;br /&gt;
&#039;&#039;7 May 2011 - r583&#039;&#039;&lt;br /&gt;
*Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.&lt;br /&gt;
*Feature: Added OptiCraft blocktype names and blocks&#039; numeric IDs as aliases.&lt;br /&gt;
*Fix: Fixed block bindings not being applied to drawing commands.&lt;br /&gt;
*Fix: Fixed fCraft getting confused if worlds.xml contains duplicates.&lt;br /&gt;
*Fix: Fixed &amp;quot;/&amp;quot; (repeat last command) not rewinding the command, which caused some issues with command arguments.&lt;br /&gt;
*Fix: Fixed &amp;quot;Max connections per IP&amp;quot; setting not saving in ConfigTool.&lt;br /&gt;
*Fix: Fixed AnnounceRankChangeReasons checkbox being erroneously tied to RequireRankChangeReasons key in ConfigTool.&lt;br /&gt;
*Fix: Added some missing tooltips to ConfigTool.&lt;br /&gt;
*Fix: Marked 10.0.0.0/8 IP range as LAN.&lt;br /&gt;
*Fix: Fixed an issue with balanced name verification (thanks wootalyzer).&lt;br /&gt;
*Fix: Fixed server announcing hidden players&#039; departure (#3292633). Thanks to Hellenion.&lt;br /&gt;
*Fix: Fixed /bring not checking per-rank permissions (#3292303). Thanks to Denny&lt;br /&gt;
*Fix: Fixed some header bugs in the D3 map converter.&lt;br /&gt;
*Fix: Fixed /wload crashing instead of printing an error message under Mono if the path was malformed.&lt;br /&gt;
*Fix: Fixed /banip not recognizing invalid IPs (e.g. broadcast).&lt;br /&gt;
*Fix: Fixed antispam resetting players&#039; mute time.&lt;br /&gt;
*Fix: Fixed Scheduler being able to add tasks after the shutdown process started.&lt;br /&gt;
*Fix: Reduced problems associated with players trying to connect while the server is shutting down.&lt;br /&gt;
*Fix: Added autorank.xml to the list of protected files.&lt;br /&gt;
*Fix: Fixed a crash in backup system that happened if two backups ran simultaneously and the total size or number of backup files was limited.&lt;br /&gt;
*Fix: Fixed a case where duplicate worlds could be created.&lt;br /&gt;
*Change: When players rejoin a world (e.g. /wflush or /wload), &amp;quot;joined world&amp;quot; message is no longer shown.&lt;br /&gt;
*Change: /mute no longer allows shortening players&#039; mute time, only to extend it.&lt;br /&gt;
*Change: Allowed player names with periods.&lt;br /&gt;
*Change: Removed SaveOnShutdown config key, tweaked range checks on some keys, grouped key tags into section tags.&lt;br /&gt;
*Change: When saving config.xml, keys with default values are now commented out.&lt;br /&gt;
*API: New events! PlayerHideChanged, PlayerInfoCreating, PlayerInfoCreated, PlayerInfoRankChanging, and PlayerInfoRankChanged.&lt;br /&gt;
*API: Server.StartServer() now throws specific exceptions on failure, instead of returning false.&lt;br /&gt;
*API: Removed some obsolete Server events.&lt;br /&gt;
*API: Switched to 100% Utc dates/times internally. PlayerDB now uses UTC Unix timestamps to serialize all dates/times.&lt;br /&gt;
*Optimization: Sped up map generation.&lt;br /&gt;
*Optimization: Reduced PlayerDB saving interval, reduced PlayerDB filesize, reduced CPU and memory use of PlayerDB saving, reduced memory footprint of loaded PlayerDB, improved IPAddress lookup performance in PlayerDB.&lt;br /&gt;
&lt;br /&gt;
===0.522===&lt;br /&gt;
&#039;&#039;16 April 2011 - r546&#039;&#039;&lt;br /&gt;
*Feature: Added more functionality to hollow ellipsoid and sphere, thanks to Redshift. Now it is possible to define outer/inner blocktypes.&lt;br /&gt;
*Feature: Added OptiCraft map format support, courtesy of LgZ-optical&lt;br /&gt;
*Fix: Fixed a serious error that caused a crash when main world became full. This bug affected 0.520 and 0.521.&lt;br /&gt;
*Fix: Fixed AutoLauncher not working under Mono (thanks to ven000m for spotting).&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog crashing if closed while generating a world.&lt;br /&gt;
*Fix: Fixed /restart using ShutdownReason.ShuttingDown (instead of ShutdownReason.Restarting) &lt;br /&gt;
*Fix: Fixed a crash in ConfigTool if MaxPlayers was set to be less than MaxPlayersPerWorld.&lt;br /&gt;
*Fix: When loading old configs (pre-0.520), MaxPlayersPerWorld is automatically set to match MaxPlayers, to avoid unexpected side effects.&lt;br /&gt;
*API: Added WorldCreating and WorldCreated events.&lt;br /&gt;
*API: Moved world-related commands from Server to a new class, WorldManager.&lt;br /&gt;
*API: Renamed RankList to RankManager, and CommandList to CommandManager, for consistency.&lt;br /&gt;
&lt;br /&gt;
===0.521===&lt;br /&gt;
&#039;&#039;12 April 2011 - r534&#039;&#039;&lt;br /&gt;
*Feature: Added a /Clear command, to clear in-game chat. Also works from fCraftConsole and fCraftUI.&lt;br /&gt;
*Fix: Added missing chat commands.&lt;br /&gt;
*Fix: Cosmetic fixes in /ZRemove.&lt;br /&gt;
&lt;br /&gt;
===0.520===&lt;br /&gt;
&#039;&#039;12 April 2011 - r532&#039;&#039;&lt;br /&gt;
*Feature: Removed the server-wide 128 player limit. Now the limit is per-world.&lt;br /&gt;
*Feature: You can now repeat the last command by typing &amp;quot;/&amp;quot;&lt;br /&gt;
*Feature: Added a way to use color codes in chat (with % instead of &amp;amp;), a UseColorCodes permission, and a /colors command.&lt;br /&gt;
*Feature: Added support for multi-line messages or commands. Add &amp;quot; /&amp;quot; to the end of a line to continue typing it.&lt;br /&gt;
*Feature: Added &amp;quot;/commands&amp;quot;, to replace &amp;quot;/help commands&amp;quot;. It allows filtering commands by rank, category, permissions, etc. Aliases: /cmdlist, /cmds&lt;br /&gt;
*Feature: New permissions: ViewPlayerIPs, BringAll&lt;br /&gt;
*Feature: New config switches: AnnounceRankChangeReasons and RequireKickReason.&lt;br /&gt;
*Feature: Replaced LimitOneConnectionPerIP config key (boolean) with a more flexible MaxConnectionsPerIP (int).&lt;br /&gt;
*Feature: Added /bringall command, for moving everyone (or only certain ranks) from your world (or optionally all worlds, or a list of other worlds) to your location.&lt;br /&gt;
*Feature: /bring can be limited per-rank&lt;br /&gt;
*Feature: When file is not found on case-sensitive filesystems, fCraft tries to syggest similar filenames.&lt;br /&gt;
*Feature: Added new constants to use in greeting.txt: {TIME}, {PLAYER_NAME}, {WORLD}, {PLAYERS}, {WORLDS}, {MOTD}&lt;br /&gt;
*Feature: Improved compatibility with SurvivalTest clients.&lt;br /&gt;
*Fix: Fixed /banip not kicking other players from the same IP (besides the named player)&lt;br /&gt;
*Fix: Added missing blocktype validation to MapFCMv2, MapFCMv3, MapMyne, and MapNBT.&lt;br /&gt;
*Fix: Fixed a rare shutdown crash in fCraftUI.&lt;br /&gt;
*Fix: Improved the way PlayerDB.Load handles errors in individual records. A single corrupted entry will no longer prevent the rest from loading.&lt;br /&gt;
*Fix: Fixed fCraftUI abruptly quitting on crash / failure to start, instead of showing the error message. Use &amp;quot;--exitoncrash&amp;quot; command-line switch to reproduce old behavior.&lt;br /&gt;
*Fix: Fixed ConfigTool&#039;s World tab not prompting to delete map files when deleting worlds.&lt;br /&gt;
*Fix: Fixed a bug in MCSharp importer (#3281305)&lt;br /&gt;
*Fix: Fixed a list of permissions in /rinfo not being sorted.&lt;br /&gt;
*Fix: Fixed /mute rank limit dropdown sometimes getting out of sync.&lt;br /&gt;
*Fix: Fixed IRC bot redundantly announcing kicks when someone has been banned.&lt;br /&gt;
*Fix: Fixed a bug where fCraft would fail to start if PlayerDB.txt was truncated/empty.&lt;br /&gt;
*Change: Moved &amp;quot;IP&amp;quot; config key from General to Advanced.&lt;br /&gt;
*Change: Added /spin as an alias to /rotate (for MCLawl users)&lt;br /&gt;
*API: New events: PlayerClicking, PlayerClicked, PlayerPlacingBlock, PlayerPlacedBlock, PlayerListChanged, PlayerBeingKicked, PlayerKicked&lt;br /&gt;
*Optimization: Reduced CPU use of draw commands by ~30%. Sped up PlayerDB loading by ~8%, and reduced memory use when saving. Also reduced PlayerDB filesize by about 15%&lt;br /&gt;
&lt;br /&gt;
===0.512===&lt;br /&gt;
&#039;&#039;2 April 2011 - r508&#039;&#039;&lt;br /&gt;
*Feature: /zones can now be used from console, and can be used on any world (active or inactive).&lt;br /&gt;
*Feature: Improved D3 map importer.&lt;br /&gt;
*Fix: Added missing filename sanity/safety checks to /dumpstats (#3267362, thanks to Hellenion)&lt;br /&gt;
*Fix: Fixed mixed up messages shown in /waccess and /wbuild (#3179189)&lt;br /&gt;
*Fix: Fixed crash reports sometimes failing to submit.&lt;br /&gt;
*Fix: Fixed /dumpstats crashing if a rank had 0 players.&lt;br /&gt;
*Fix: Made Mono version detection less crashy (#3267476, thanks to Hellenion again)&lt;br /&gt;
*Fix: Fixed MapUtility.LoadHeader terminating early, before going through all fallback converters.&lt;br /&gt;
*Fix: Fixed ConfigTool tab order.&lt;br /&gt;
*Fix: Fixed fCraft reporting inaccurate CPU usage figures.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in /rank if an invalid player name was given.&lt;br /&gt;
*Fix: Fixed fCraft project not building under Windows if path contains spaces.&lt;br /&gt;
*Change: Added &amp;quot;/serverreport&amp;quot; as an alias for &amp;quot;/sinfo&amp;quot;&lt;br /&gt;
*Change: Improved the way fCraft handles and reports map loading errors.&lt;br /&gt;
*API Change: Moved all filename constants (e.g. &amp;quot;PlayerDB.txt&amp;quot;) to Paths class.&lt;br /&gt;
&lt;br /&gt;
===0.511===&lt;br /&gt;
&#039;&#039;31 March 2011 - r497&#039;&#039;&lt;br /&gt;
*Feature: Further improvements to Mono support. fCraft will now utilize mono-sgen whenever possible.&lt;br /&gt;
*Fix: Fixed fCraftUI ignoring command-line arguments.&lt;br /&gt;
*Fix: Fixed broken /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed crash reports failing to submit.&lt;br /&gt;
*Fix: Fixed a timezone-related bug that messed up players&#039; &amp;quot;total time on server&amp;quot; stat.&lt;br /&gt;
*Change: Added a warning if running on old versions of Mono (2.6 or lower). &lt;br /&gt;
&lt;br /&gt;
===0.510_r489===&lt;br /&gt;
&#039;&#039;29 March 2011 - r489&#039;&#039;&lt;br /&gt;
*Fix: Fixed unnecessary GDI+ dependence in fCraftConsole under Mono&lt;br /&gt;
*Fix: Fixed EnumKeyAttribute not taking blank values (as in case of ProcessPriority config key).&lt;br /&gt;
&lt;br /&gt;
===0.510===&lt;br /&gt;
&#039;&#039;29 March 2011 - r488&#039;&#039;&lt;br /&gt;
*Feature: The fCraft updater has been rewritten and expanded. It now works under all OSes, and provides more features.&lt;br /&gt;
*Feature: fCraft now handles differences between case-sensitive and case-insensitive filesystems much better. /wrename and /wload are also aware of the filesystem.&lt;br /&gt;
*Feature: fCraft now checks presence, filename capitalization, and integrity of all map files on the world list at startup.&lt;br /&gt;
*Feature: New ConfigTool settings for updater, checkbox for showing &amp;quot;player connected/left&amp;quot; messages, and &amp;quot;/mute&amp;quot; permission settings.&lt;br /&gt;
*Feature: Added &amp;quot;/credits&amp;quot; command to ConfigUI.&lt;br /&gt;
*Feature: Implemented &amp;quot;--norestart&amp;quot; and &amp;quot;--exitoncrash&amp;quot; command-line switches for fCraft.&lt;br /&gt;
*Feature: fCraft event system is being rewritten with modding support in mind.&lt;br /&gt;
*Feature: Improved MCSharp/MCZall/MCLawl map support.&lt;br /&gt;
*Fix: Software errors that happen while parsing player and console commands will no longer cause disconnects/crashes.&lt;br /&gt;
*Fix: IPBanList will attempt to recover records lost due to a recent regression in 0.505.&lt;br /&gt;
*Fix: Fixed /wrename errors in cases where names differ only in capitalization.&lt;br /&gt;
*Fix: Fixed &amp;quot;Copy Existing World&amp;quot; showing the current world on the list in AddWorldPopup.&lt;br /&gt;
*Fix: Fixed &amp;quot;Chat&amp;quot; tab preview not updating when settings are reset.&lt;br /&gt;
*Fix: Fixed per-world whitelist/blacklist not saving when worlds are edited with AddWorldPopup.&lt;br /&gt;
*Fix: Fixed non-verified connections that get kicked from affecting that name&#039;s PlayerInfo.&lt;br /&gt;
*Fix: Server.GenerateSalt() now uses a cryptographically secure PRNG.&lt;br /&gt;
*Fix: Fixed verification problems on servers with HeartbeatEnabled=false.&lt;br /&gt;
*Fix: Fixed a wrong message being shown by /rank if the target is already same or higher/lower rank.&lt;br /&gt;
*Fix: Fixed /winfo showing incorrect information for last lock/unlock event.&lt;br /&gt;
*Fix: Fixed tabbing order on ConfigUI.&lt;br /&gt;
*Fix: Improved the way Server.InitLibrary and Logger.Log errors are handled.&lt;br /&gt;
*Fix: Added missing validation checks to LoadHeader in several map converters.&lt;br /&gt;
*Fix: Fixed players being able to complete a draw command or /zadd, if they were demoted before clicking for the second time.&lt;br /&gt;
*Fix: Added missing /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed a bug in /zinfo that showed incorrect creation/editing times.&lt;br /&gt;
*Fix: Better error messages for unrecognized block names in command parameters.&lt;br /&gt;
*Fix: /restart now works from ConfigUI under Mono (but still broken in fCraftConsole).&lt;br /&gt;
*Fix: Fixed handling of command-line arguments surrounded with quotes.&lt;br /&gt;
*Fix: Fixed a bug at ConfigTool.ConfigUI.xAllowSecurityCircumvention_CheckedChanged (#3181907, thanks to clhdrums87).&lt;br /&gt;
*Fix: Fixed /winfo counting hidden players (#3237877, thanks to Hellenion).&lt;br /&gt;
*Fix: Fixed MCSharp map exporter mixing up map dimensions (#3159501, thanks to dogwatch).&lt;br /&gt;
*Change: Improved the way fCraft project is built. Now all binaries are copied to /trunk/bin/Release or /trunk/bin/Debug.&lt;br /&gt;
*Change: Improved error tolerance of Scheduler.EndShutdown().&lt;br /&gt;
*Change: Expanded Logger.CheckForCommonErrors().&lt;br /&gt;
*Change: Renamed config keys (old ones can still be loaded): IRCBot to IRCBotEnabled, AutomaticUpdates to UpdaterMode.&lt;br /&gt;
*Change: Added /wadd as an alias for /wload.&lt;br /&gt;
*Change: Renamed Mcc namespace to fCraft.MapConversion.&lt;br /&gt;
*Change: Decreased timeout for fCraft update check.&lt;br /&gt;
*Change: Added a confirmation prompt to /rank when adding an unrecognized player name to the database.&lt;br /&gt;
*Optimization: Sped up heartbeat sending and world-related operations, increased world saving interval to 90 seconds, reduced per-player idle CPU usage, halved CPU usage of draw commands.&lt;br /&gt;
&lt;br /&gt;
===0.506===&lt;br /&gt;
&#039;&#039;11 February 2011 - r427&#039;&#039;&lt;br /&gt;
*Feature: Added hollow ellipsoid drawing (/eh) and hollow sphere drawing (/sph), contributed by Conrad &amp;quot;Redshift&amp;quot; Morgan.&lt;br /&gt;
*Fix: Fixed a regression in 0.503 that caused some IP ban records to be lost. I am terribly sorry!&lt;br /&gt;
*Fix: Fixed a path-related error in Map.SaveBackup&lt;br /&gt;
*Fix: Fixed a possible disconnect in Player.CheckBlockSpam is antigrief was not configured properly.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool.SaveWorldList.&lt;br /&gt;
*Fix: Fixed &amp;quot;Limit the number of blocks that can be undone&amp;quot; checkbox misbehaving (thanks to ven000m for bug report).&lt;br /&gt;
*Change: By popular demand /sphere2 is now the default behavior of /sphere.&lt;br /&gt;
*Change: Removed &amp;quot;oldSalt&amp;quot; check for name verification, to avoid having the server write to config.xml unnecessarily.&lt;br /&gt;
*Change: Removed &amp;quot;.backup&amp;quot; file creation, by popular demand. It was kinda useless.&lt;br /&gt;
&lt;br /&gt;
===0.505===&lt;br /&gt;
&#039;&#039;8 February 2011 - r422&#039;&#039;&lt;br /&gt;
*Feature: All draw commands now inform player if any blocks were skipped due to local permission issues (e.g. zones).&lt;br /&gt;
*Fix: Fixed a regression that caused backups to be saved in the wrong path. Backups were being saved to ./backups/ instead of ./maps/backups/&lt;br /&gt;
*Fix: Fixed a permission issue in /replace and /replacenot.&lt;br /&gt;
*Fix: Fixed /info not displaying a list of players from same IP.&lt;br /&gt;
*Fix: Addressed a security issue with salt generation.&lt;br /&gt;
&lt;br /&gt;
===0.504===&lt;br /&gt;
&#039;&#039;3 February 2011 - r419&#039;&#039;&lt;br /&gt;
*Fixed a crash bug related to SecurityController.MinRank&lt;br /&gt;
&lt;br /&gt;
===0.503===&lt;br /&gt;
&#039;&#039;3 February 2011 - r418&#039;&#039;&lt;br /&gt;
*Feature: Added /deafen command. It temporarily blocks all incoming messages (makes you go &amp;quot;deaf&amp;quot;), to allow taking screenshots, recording videos, or just playing without the wall of text.&lt;br /&gt;
*Feature: Added ShowBannedConnectionMessages config key (default: true). When disabled, no &amp;quot;banned player tried to log in&amp;quot; messages are shown.&lt;br /&gt;
*Fix: Fixed PlayerInfo.frozenOn not being set.&lt;br /&gt;
*Fix: Fixed kick messages for players affected by /banall&lt;br /&gt;
*Fix: Fixed /unbanall reason not being shown.&lt;br /&gt;
*Fix: /where now shows what world you are on.&lt;br /&gt;
*Fix: Fixed a couple minor bugs in /waccess and /wbuild.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in SecurityController constructor.&lt;br /&gt;
*Fix: Made several tweaks to improve the first-run experience.&lt;br /&gt;
&lt;br /&gt;
===0.502===&lt;br /&gt;
&#039;&#039;31 January 2011 - r411&#039;&#039;&lt;br /&gt;
*Fix: Adjusted for yet another change in the way minecraft.net replies to heartbeats (should fix all heartbeat issues for now).&lt;br /&gt;
*Fix: Added a check to /zremove to prevent players from deleting zones to gain access to areas from which they&#039;re barred.&lt;br /&gt;
*Fix: Fixed being able to use /me or /staff to write empty messages.&lt;br /&gt;
*Fix: Fixed frozen players not getting defrosted when kicked.&lt;br /&gt;
*Fix: Formatting fixes in &amp;quot;___ was previously frozen&amp;quot; message&lt;br /&gt;
*Fix: Fixed a mini-bug in Map.ValidateHeader()&lt;br /&gt;
*Change: Renamed /wremove to /wunload for consistency. &amp;quot;/wremove&amp;quot; is still usable as an alias.&lt;br /&gt;
&lt;br /&gt;
===0.501===&lt;br /&gt;
&#039;&#039;30 January 2011 - r408&#039;&#039;&lt;br /&gt;
*Feature: Added /sphere and /sphere2, based on code contributed by SystemX17.&lt;br /&gt;
*Feature: Added new config setting: ShowConnectedMessages (default: true)&lt;br /&gt;
*Feature: Added a notification for players who logged in frozen.&lt;br /&gt;
*Fix: Fixed frozen players twitching.&lt;br /&gt;
*Fix: Fixed IRC bot not stripping color codes in messages relayed from IRC to the game.&lt;br /&gt;
*Fix: Fixed lastSeen and lastLoginDate not being set for first-time players who failed to log in (e.g. IP-banned).&lt;br /&gt;
*Fix: Fixed /bring not working properly on frozen players.&lt;br /&gt;
*Fix: Fixed a case where it was possible to add access restrictions to main map.&lt;br /&gt;
*Fix: Fixed per-world whitelists/blacklists being lost when editing worlds.xml via ConfigTool.&lt;br /&gt;
*Fix: Fixed AutoRankAll showing wrong number of players promoted/demoted (just a formatting bug, no promotions were affected)&lt;br /&gt;
&lt;br /&gt;
===0.500===&lt;br /&gt;
&#039;&#039;25 January 2011 - r399&#039;&#039;&lt;br /&gt;
*Commands: Added /line drawing command, kindly contributed by SystemX17&lt;br /&gt;
*Commands: Added /restart command, to restart the server remotely (NOTE: does not work for fCraftWinService yet)&lt;br /&gt;
*Commands: Added /unmute command (same as &amp;quot;/mute name 0&amp;quot;)&lt;br /&gt;
*Commands: Added an option to silently hide (no disconnect/connect message).&lt;br /&gt;
*Commands: Added /ignore and /unignore commands to block chat from another player (for the duration of your visit).&lt;br /&gt;
*Commands: /whide and /wunhide commands added to hide/unhide worlds from the list.&lt;br /&gt;
*Commands: /worlds now takes an optional param: &amp;quot;/worlds all&amp;quot; lists visible+hidden worlds, and &amp;quot;/worlds hidden&amp;quot; lists hidden worlds only.&lt;br /&gt;
*Commands: List of player names from the same IP is now shown in /info.&lt;br /&gt;
*Commands: /help now shows what rank you need to be to use a command (for most commands).&lt;br /&gt;
*Commands: /bring now works on frozen players.&lt;br /&gt;
*Commands: /bring now takes an optional second name/parameter, to teleport someone to someone&lt;br /&gt;
*Commands: /info now shows whether a player is hidden (if the command caller has permission to see).&lt;br /&gt;
*Commands: Fixed a case where teleporting to a player who is currently changing worlds brings one to a wrong location.&lt;br /&gt;
*Commands: Fixed bindings (/water, /lava, /solid, and /bind) not being applied to draw commands.&lt;br /&gt;
*Commands: /wsave and /gen can now create directories if needed.&lt;br /&gt;
*Commands: Fixed a bug in /roll&lt;br /&gt;
*Commands: Sped up /paste, /pastenot, /replace, and /replacenot slightly.&lt;br /&gt;
*ConfigTool: New &amp;quot;Chat&amp;quot; tab for controlling appearance and content of in-game chat.&lt;br /&gt;
*ConfigTool: Added ability to customize MeColor (for /me messages, default: purple) and WarningColor (for major errors/warnings, default: red) in config.&lt;br /&gt;
*ConfigTool: AddWorldPopup can now show detailed info for maps of all supported formats.&lt;br /&gt;
*ConfigTool: Improved tooltips for several items in ConfigUI.&lt;br /&gt;
*FrontEnd: Uncaught exceptions that happen while executing commands from fCraftUI console are now handled by the crash reporter (instead of actually crashing).&lt;br /&gt;
*FrontEnd: Added /clear command for fCraftUI and fCraftConsole - clears log screen.&lt;br /&gt;
*FrontEnd: The URL is no longer highlighted after first heartbeat, to avoid stealing focus from console.&lt;br /&gt;
*Generator: Fixed &amp;quot;flatgrass&amp;quot; template&lt;br /&gt;
*Generator: Fixed alphabetical order in the list of templates&lt;br /&gt;
*Generator: MapGenerator now embeds generation parameters into the map file metadata&lt;br /&gt;
*Generator: Fixed several template loading bugs.&lt;br /&gt;
*Generator: Optimized AddBeaches to be about 2x faster&lt;br /&gt;
*Generator: Added a missing dimension check to /gen&lt;br /&gt;
*IRC: Messages relayed from game to IRC now have color codes preserved.&lt;br /&gt;
*IRC: Kicks, Bans, unbans, promotions, and demotions can now be relayed to IRC.&lt;br /&gt;
*IRC: IRC bot now relays /say messages, and /me messages (both /me on IRC and /me on the server).&lt;br /&gt;
*IRC: IRC Error handling is greatly improved.&lt;br /&gt;
*IRC: (Threaded) If one of the bots loses connection, one of the other bots take over parsing input.&lt;br /&gt;
*IRC: Increased IRC reconnect delay to 15 seconds.&lt;br /&gt;
*Maps: Switched to a new file format (FCMv3) that allows for future additions like block tracking and physics.&lt;br /&gt;
*Maps: Much of MCC (map conversion) API was rewritten for better consistency and performance.&lt;br /&gt;
*Maps: Improved support for loading indev (pre-infinite) maps, including Omen-generated maps.&lt;br /&gt;
*Maps: Improved resilience for loading maps with unknown blocktypes. Instead of failing, it just replaces any unknown blocks with air.&lt;br /&gt;
*Maps: Added consistent header validation to all map format loaders.&lt;br /&gt;
*Maps: Fixed maps not autosaving when zones are added or removed.&lt;br /&gt;
*Maps: Zone definitions are now serialized to XML. Zones saved with this revision of fCraft will no longer be readable by older version of fCraft.&lt;br /&gt;
*Maps: Fixed a bug when loading JTE&#039;s format maps.&lt;br /&gt;
*Maps: Fixed format of backup filenames.&lt;br /&gt;
*PlayerDB: Added new fields: bannedUntil, frozenOn, frozenBy, mutedUntil, mutedBy, IRCPassword, online, leaveReason&lt;br /&gt;
*PlayerDB: Fixed PlayerInfo.ID not being assigned for new players until sever restart / DB reload.&lt;br /&gt;
*PlayerDB: Fixed off-by-one error with PlayerInfo.timesVisited&lt;br /&gt;
*PlayerDB: Fixed /me, /say, rank chat, and /staff not counting towards PlayerInfo.linesWritten&lt;br /&gt;
*PlayerDB: Made PlayerDB more resilient to errors. Reduced filesize slightly by omitting default values for more date fields, and removing milliseconds from &amp;quot;totalTime&amp;quot;&lt;br /&gt;
*PlayerDB: Improved forwards compatibility of PlayerDB by removing maximum-field-count check.&lt;br /&gt;
*Security: Worlds can now have player whitelists and blacklists (just like zones) for access and build permissions.&lt;br /&gt;
*Security: Added a security check to /wsave, /wload, and /gen to prevent reading or overwriting files outside the map folder.&lt;br /&gt;
*Security: Added a per-rank security option to prevent players from whitelisting themselves, removing themselves from blacklists, or lowering their rank&#039;s restrictions on worlds and zones.&lt;br /&gt;
*Security: /mute and /freeze are now persistent even if the player reconnects.&lt;br /&gt;
*Security: Relaxed SetTile packet checks. Players will no longer be kicked due to Minecraft client bugs.&lt;br /&gt;
*Security: Fixed an exploit that allowed changing steps to doublesteps even inside zoned areas.&lt;br /&gt;
*Security: Improved consistency of permission dependencies.&lt;br /&gt;
*Security: Fixed a security exploit in /wmain that allowed players with ManageWorlds permission to gain access to restricted worlds.&lt;br /&gt;
*Security: Fixed a bug that prevented banning players who were not yet in PlayerDB.&lt;br /&gt;
*Security: Added an option to only allow paid players (PaidPlayersOnly)&lt;br /&gt;
*Stability: Made crash reporting more reliable. A failed crash report will no longer prevent error message from being logged and displayed.&lt;br /&gt;
*Stability: Fixed a crash in AddWorldPopup if dialog is closed while a map is still loading.&lt;br /&gt;
*Stability: To improve compatibility with some bots, removed &amp;quot;almost there...&amp;quot; message on the loading screen&lt;br /&gt;
*Stability: Disabled error reporting of common non-fCraft-related errors (like wrong runtime versions, or wrong Mono permissions).&lt;br /&gt;
*Stability: Added &amp;quot;libMonoPosixHelper.so&amp;quot; and &amp;quot;UnauthorizedAccessException&amp;quot; to Logger.CheckForCommonErrors, and made &amp;quot;Could not load file or assembly&amp;quot; check locale-independent.&lt;br /&gt;
*Stability: A backup file is now created whenever PlayerDB, IP ban list, config, or world list are saved (e.g. PlayerDB.txt.backup)&lt;br /&gt;
*Stability: Crash reporter now sends last 25 lines of the log.&lt;br /&gt;
*Stability: Added a fallback overload for Player.Message() that bypasses string format, to make the whole thing less prone to format errors.&lt;br /&gt;
*System: fCraft now takes command-line arguments (at startup) to override the following:&lt;br /&gt;
**working directory (--path=/your/path/here)&lt;br /&gt;
**log directory (--logpath=/your/path/here)&lt;br /&gt;
**map directory (--logpath=/your/path/here) - also overridable in a more user-friendly way via ConfigTool (MapPath key)&lt;br /&gt;
**config file location (--config=/your/path/and/filename.xml)&lt;br /&gt;
*System: Added an option to change the name of Console pseudoplayer in the config.&lt;br /&gt;
*System: Player.GetClassyName() and PlayerInfo.GetClassyName() now add an asterisk after banned players&#039; names&lt;br /&gt;
*System: Fixed hidden players remaining hidden in some cases.&lt;br /&gt;
*System: Fixed PacketWriter.MakeWrappedMessage ignoring uppercase hex colorcodes&lt;br /&gt;
*System: Implemented NoPartialPositionUpdates and RelayAllUpdates config keys.&lt;br /&gt;
*System: Several little glitches and inefficiencies fixed in movement handling code.&lt;br /&gt;
*System: Fixed &amp;quot;player connected&amp;quot; and other messages showing up too early in-game (before map loaded).&lt;br /&gt;
*System: Fixed kick message for players affected by /banall&lt;br /&gt;
*System: Added HeartbeatEnabled config key (default: true)&lt;br /&gt;
*System: Fixed a case where heartbeat could be sent from a different IP than the listening port on systems with multiple NICs/IPs and no configured static IP.&lt;br /&gt;
*System: Increased the write buffer for writing out PlayerDB, reducing I/O time by ~20% on .NET, and ~35% on Mono&lt;br /&gt;
*System: New Scheduler API.&lt;br /&gt;
*System: Modified /wload to avoid loading the map twice in case confirmation is needed.&lt;br /&gt;
*System: Changes to AutoRankEnabled will now be applied when /reloadconfig is called.&lt;br /&gt;
*System: Fixed unnecessary confirmation being asked when world name matches file name in /wload&lt;br /&gt;
*System: Eliminated the heartbeat thread by switching to async i/o.&lt;br /&gt;
*System: Improved startup and shutdown speed.&lt;br /&gt;
*System: Added a &amp;quot;how to promote yourself&amp;quot; message for fresh installations of fCraft.&lt;br /&gt;
*System: Fixed Server.OnPlayerDisconnected event firing for unregistered sessions.&lt;br /&gt;
*System: Made Color.Parse() and Color.GetName() translate fCraft-specific color assignments (e.g &amp;quot;&amp;amp;S&amp;quot; for &amp;quot;System&amp;quot;)&lt;br /&gt;
*System: Added better detection for SMP/Alpha clients trying to connect.&lt;br /&gt;
*System: Sped up AutoRankAll&lt;br /&gt;
&lt;br /&gt;
=0.4xx=&lt;br /&gt;
===0.499===&lt;br /&gt;
&#039;&#039;6 November 2010 - r311&#039;&#039;&lt;br /&gt;
*Feature: Added an option to disable name verification for players connecting from LAN.&lt;br /&gt;
*Feature: Added &#039;flat&#039; template to MapGenerator, allowing to make flat maps with any theme.&lt;br /&gt;
*Feature: Added &#039;grass&#039; pseudotheme to /gen command, which is basically the &#039;Forest&#039; theme with trees disabled.&lt;br /&gt;
*Fix: Fixed /wflush leaving ghosts/clones behind.&lt;br /&gt;
*Fix: Fixed muted players being able to use /say and /staff&lt;br /&gt;
*Fix: Fixed /baninfo ignoring permission checks.&lt;br /&gt;
*Fix: Fixed &amp;quot;draw limit&amp;quot; checkbox getting disabled in ConfigTool if a player had &#039;CopyAndPaste&#039; permission but no &#039;Draw&#039; permission.&lt;br /&gt;
*Fix: Fixed several off-by-1 errors involving random number generation, notably in MapGenerator and Server.GenerateSalt()&lt;br /&gt;
*Fix: Fixed potential crash in MapGenerator.SealLiquids&lt;br /&gt;
*Fix: Fixed a potential crash in Map.SaveBackup() if the map filename contained brackets.&lt;br /&gt;
*Fix: Fixed a forced disconnect when trying to feed /gen a theme or template with brackets in the name.&lt;br /&gt;
&lt;br /&gt;
===0.498===&lt;br /&gt;
&#039;&#039;4 November 2010 - r308&#039;&#039;&lt;br /&gt;
*Change: Disabled zlib support due to more potential memory leaks. fffuuuuu....&lt;br /&gt;
*Fix: Fixed Island, Bay, and Ice templates broken by the last patch.&lt;br /&gt;
*Fix: MapGeneratorArgs: snowTransition was interpreted as absolute (instead of relative) altitude, and marbledHeightmap incorrectly defaulted to &#039;true&#039;.&lt;br /&gt;
*Change: Updated readme and changelog.&lt;br /&gt;
&lt;br /&gt;
===0.497===&lt;br /&gt;
&#039;&#039;4 November 2010 - r306&#039;&#039;&lt;br /&gt;
*Feature: Added accurate progress reporting from MapGenerator. Coming soon: cancellation.&lt;br /&gt;
*Feature: New MapGenerator options: BeachHeight, CliffSmoothing, LandSlope, UnderwaterSlope, MaxHeightVariation, MaxDepthVariation.&lt;br /&gt;
*Feature: Added UI controls for snow/cliff/beach settings to AddWorldPopup.&lt;br /&gt;
*Feature: Added a list of popular IRC networks to ConfigTool.&lt;br /&gt;
*Change: Improved PlayerDB lookup performance by reducing locking.&lt;br /&gt;
*Fix: Fixed MapGenerator calculating slope incorrectly at the water boundary.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add Ore&amp;quot; requiring &amp;quot;Add Caves&amp;quot; in MapGenerator.&lt;br /&gt;
*Fix: Fixed water/lava caves not sealing liquids properly. &lt;br /&gt;
*Change: Set MapGenerator to default to 256x256x96&lt;br /&gt;
*Change: AddWorldPopup Generator tab layout overhaul&lt;br /&gt;
*Change: Organized MapGeneratorArgs and added serialization/deserialization for all the new options.&lt;br /&gt;
&lt;br /&gt;
===0.496===&lt;br /&gt;
&#039;&#039;3 November 2010 - r301&#039;&#039;&lt;br /&gt;
*Fix: Fixed File.Replace() failing if fCraft was set up on a partition/volume other than the one where temp folder is.&lt;br /&gt;
*Fix: Added missing tooltip for &amp;quot;Edit Greeting&amp;quot;&lt;br /&gt;
*Fix: Fixed /sinfo including hidden players in the player count.&lt;br /&gt;
&lt;br /&gt;
===0.495===&lt;br /&gt;
&#039;&#039;2 November 2010 - r300&#039;&#039;&lt;br /&gt;
*Feature: Added a way to edit the greeting message, by editing &amp;quot;greeting.txt&amp;quot;&lt;br /&gt;
*Feature: When a player gets banned, any previously-banned accounts from same IP are listed.&lt;br /&gt;
*Fix: Fixed renaming worlds from ConfigTool&#039;s &amp;quot;worlds&amp;quot; tab not always working.&lt;br /&gt;
*Fix: Fixed several filesystem-related errors on non-Windows systems by using Path.Combine() instead of string concatenation.&lt;br /&gt;
*Fix: Possible workaround for missing heartbeats.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;default build rank&amp;quot; controls in ConfigTools.&lt;br /&gt;
*Fix: Fixed overwrite confirmation popping up for /wload when loading map into an unloaded world with the same name.&lt;br /&gt;
*Fix: Fixed a case where Forester could get into an infinite loop when there&#039;s not enough room to place requested number of trees.&lt;br /&gt;
&lt;br /&gt;
===0.494===&lt;br /&gt;
&#039;&#039;31 October 2010 - r297&#039;&#039;&lt;br /&gt;
*Feature: New map generator features:&lt;br /&gt;
**Adjustable water level.&lt;br /&gt;
**Realistic trees (powered by Forester)&lt;br /&gt;
**Snow on mountaintops&lt;br /&gt;
**Realistic cliffs&lt;br /&gt;
**Beaches&lt;br /&gt;
**New template (peninsula) and theme (swamp).&lt;br /&gt;
**Option to delay heightmap bias until after marbling/inversion.&lt;br /&gt;
*Feature: Added a way to load .mine maps.&lt;br /&gt;
*Feature: Added confirmation for potentially destructive commands: /importranks, /importbans, /massrank, /wload overwrites, /gen overwrites, /wsave overwrites, /zremove.&lt;br /&gt;
*Feature: Added /staff chat and ReadStaffChat permission.&lt;br /&gt;
*Feature: Added wireframe cuboid (/cw)&lt;br /&gt;
*Feature: Added an optional second param for /ch (cuboid hollow) that specifies the blocktype of the &amp;quot;filling&amp;quot;.&lt;br /&gt;
*Feature: Added a way to specify default build permission for new worlds.&lt;br /&gt;
*Fix: Fixed /info, /baninfo, and /banip not handling players whose name contain only digits.&lt;br /&gt;
*Fix: Fixed DoChangeRank mixing up RankChangeType.&lt;br /&gt;
*Fix: Added missing fields to MapGeneratorArgs serializer.&lt;br /&gt;
*Fix: Fixed per-rank draw limits not being calculated correctly in some cases.&lt;br /&gt;
*Fix: Replaced File.Delete/File.Move calls with a more reliable File.Replace call. This should slightly improve reliability of map/playerdb.txt/ipbans.txt/worlds.xml saving.&lt;br /&gt;
*Fix: Fixed a little ConfigTool bug that did not properly reset PatrolledRank after a rank deletion.&lt;br /&gt;
*Fix: Fixed terminal colors not resetting in fCraftConsole after a fatal crash under Mono.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;Play&amp;quot; button in fCraftUI.&lt;br /&gt;
*Fix: Added some basic error reporting to fCraftWinService.&lt;br /&gt;
*Change: Tweaked AddWorldPopup layout to accommodate more options.&lt;br /&gt;
&lt;br /&gt;
===0.493===&lt;br /&gt;
&#039;&#039;27 October 2010 - r290&#039;&#039;&lt;br /&gt;
*Feature: /info now supports autocompletion, wildcards, and IP search.&lt;br /&gt;
*Feature: Experimental service wrapper for fCraft.&lt;br /&gt;
*Feature: Added more editable properties to /setinfo: RankChangeType, BanReason, UnbanReason, RankChangeReason, LastKickReason&lt;br /&gt;
*Feature: Various improvements to /info, including hide-aware &amp;quot;online&amp;quot; indicator.&lt;br /&gt;
*Feature: Made Player.NoAccessMessage() print the minimum required rank, instead of just permission name(s).&lt;br /&gt;
*Feature: Added wootalyzer&#039;s chunk rendering code to IsoCat.&lt;br /&gt;
*Fix: Fixed ConfigTool not taking advantage of ZLibStream &lt;br /&gt;
*Fix: Fixed a very improbable case of a thread getting spinlocked when calling IRC.Send() is preemptied, and if there are at least 2 IRC threads.&lt;br /&gt;
*Fix: Fixed kick packets occasionally not being delivered due to a missing Flush() - thanks to wootalyzer for catching.&lt;br /&gt;
*Fix: Excluded banned and inactive players from DumpStats&lt;br /&gt;
*Fix: Fixed PlayerDB.Save() not escaping LastKickReason &lt;br /&gt;
*Fix: Cleaned up extra messages sent by /unhide.&lt;br /&gt;
*Fix: Fixed LastSeen not updating on-login (only on-logout).&lt;br /&gt;
*Fix: Improved the way fCraft checks for ghost/leftover sessions. Thanks to wootalyzer.&lt;br /&gt;
*Fix: If a player&#039;s name starts with a number, and you try to /tp to a coordinate that starts with the same number, you are no longer teleported to that player instead.&lt;br /&gt;
*Fix: Fixed hidden players being detectable by checking LastSeen in /info.&lt;br /&gt;
*Fix: To avoid performance degradation, GC calls have been centralized, delayed, limited to 1/minute, and moved to the tasks thread.&lt;br /&gt;
*Fix: Added delay between recurring calls to PlayerDB.Save, AutoRankAll, and DoGC - to balance load.&lt;br /&gt;
*Fix: Fixed rankChangeType not being updated.&lt;br /&gt;
*Fix: Fixed some typos reported by tvc. &lt;br /&gt;
*Change: Added &amp;quot;/uf&amp;quot; as an alias for &amp;quot;/unfreeze&amp;quot;, by popular demand. &lt;br /&gt;
*Change: Modified PlayerDB not to use ReaderWriterLockSlim, to avoid Mono issues with recursion.&lt;br /&gt;
*Change: Renamed /editplayerinfo to /setinfo&lt;br /&gt;
*Change: Made enum values in AutoRank (CriterionType, ConditionField, ComparisonOperation, ConditionScopeType, RankChangeType) case-insensitive.&lt;br /&gt;
*Change: Added a reference to /baninfo in /info&lt;br /&gt;
*Change: Made DetectMovementPacketSpam warn players instead of kicking.&lt;br /&gt;
&lt;br /&gt;
===0.492===&lt;br /&gt;
&#039;&#039;19 October 2010 - r280&#039;&#039;&lt;br /&gt;
*Feature: Added EditPlayerDB permission. This permission affects the upcoming AutoRank commands, /editplayerinfo, and ability to promote/demote/ban unrecognized players.&lt;br /&gt;
*Feature: When you kick a player, you are now shown the number of kicks they already have.&lt;br /&gt;
*Feature: More stats are now logged! RankType, TimeSinceLastKick, LastSeen, BlocksDrawn, LastKickBy, LastKickReason.&lt;br /&gt;
*Feature: Added &amp;quot;MaxUndo&amp;quot; config key for changing the default undo limit of 2,000,000 blocks per player.&lt;br /&gt;
*Feature: /info command is augmented with new stats (if available).&lt;br /&gt;
*Fix: Fixed ellipsoid command calculating volume incorrectly for draw limit checks.&lt;br /&gt;
*Fix: Fixed overflowing color code in &amp;quot;Player logged in from an IP previously used by banned players&amp;quot; message.&lt;br /&gt;
*Fix: Fixed PM recipient&#039;s name not getting logged properly.&lt;br /&gt;
*Fix: Previously-unseen players no longer have their FirstLoginDate, LastLoginDate, or TimesVisited set.&lt;br /&gt;
*Fix: /importranks now works correctly on players who are online at the time of import.&lt;br /&gt;
*Change: Added block aliases by popular demand: &amp;quot;bedrock&amp;quot; as an alias for admincrete, &amp;quot;cotton&amp;quot; as alias for &amp;quot;white&amp;quot;, and &amp;quot;aire&amp;quot; as alias for &amp;quot;air&amp;quot;&lt;br /&gt;
*Change: PlayerDB.txt format changes:&lt;br /&gt;
**MaxFieldCount raised to 36&lt;br /&gt;
**New fields added: UID (Int32), RankChangeType (enum, serialized as Int32), LastKickDate (DateTime), LastSeen (DateTime), BlocksDrawn (Int64), LastKickBy (string), LastKickReason (string).&lt;br /&gt;
**RankChangeBy, BannedBy, UnbannedBy, BanReason, UnbanReason, and RankChangeReason now default to empty string instead of &amp;quot;-&amp;quot; or null.&lt;br /&gt;
**If LastIP==IPAddress.None, empty string is saved instead of &amp;quot;255.255.255.255&amp;quot;.&lt;br /&gt;
**DateTime and TimeSpan format shortened to exclude microseconds. See PlayerDB.ToCompactString() for details.&lt;br /&gt;
*Change: AutoRank improvements (disabled in stable builds):&lt;br /&gt;
**Added /editplayerinfo command for easy editing of PlayerDB.&lt;br /&gt;
**Made AutoRank check players in-login (to accelerate promotion).&lt;br /&gt;
**AutoRank now runs on a scheduler.&lt;br /&gt;
**Fixed ConditionPreviousRank crash for played with default rank.&lt;br /&gt;
**Fixed banned players getting promoted by AutoRank.&lt;br /&gt;
**Fixed several serialization/loading issues in AutoRank.&lt;br /&gt;
**New fields added to ConditionIntRange: LastSeen, BlocksDrawn, TimeSinceRankChange, TimeSinceLastKick&lt;br /&gt;
**ConditionRankStatus renamed to ConditionRankChangeType&lt;br /&gt;
&lt;br /&gt;
===0.491===&lt;br /&gt;
&#039;&#039;17 October 2010 - r274&#039;&#039;&lt;br /&gt;
*Feature: Added ability to run multiple parallel IRC bots, to help high-traffic servers deal with IRC lag. This also makes it possible to connect to multiple networks in the future.&lt;br /&gt;
*Feature: Added new block aliases, by popular demand: &amp;quot;emerald&amp;quot;=teal, &amp;quot;fuchsia&amp;quot;=magenta, &amp;quot;cloth&amp;quot;=white, &amp;quot;lightgray&amp;quot;=gray, &amp;quot;lightgrey&amp;quot;=gray, &amp;quot;darkgray&amp;quot;=black, &amp;quot;darkgrey&amp;quot;=black, &amp;quot;brass&amp;quot;=gold&lt;br /&gt;
*Fix: Temporarily disabled 64-bit zlib support while I track down memory leaks. Should fix OutOfMemoryException, I&#039;m very sorry about overlooking that.&lt;br /&gt;
*Fix: Fixed a bug in /info that displayed incorrect &amp;quot;total time on server&amp;quot;.&lt;br /&gt;
*Fix: Per-rank permission checks for /freeze now apply as intended&lt;br /&gt;
*Fix: Fixed several improbable (but not impossible) threading deadlocks/crashes. Thanks to wootalyzer for catching these.&lt;br /&gt;
*Change: Added IRCThreads config key (default: 1, allowed range: 1-3)&lt;br /&gt;
&lt;br /&gt;
===0.490===&lt;br /&gt;
&#039;&#039;14 October 2010 - r264&#039;&#039;&lt;br /&gt;
*Feature: Testing a new map compressor/decompressor: ZLibStream. It should provide 50-200% speed increase, smaller map sizes, lower bandwidth use, and faster map loading.&lt;br /&gt;
*Fix: Fixed /shutdown not waiting the right amount and mixing up seconds/milliseconds.&lt;br /&gt;
*Fix: Fixed &amp;quot;No world found with the name...&amp;quot; showing player&#039;s own name.&lt;br /&gt;
*Fix: Added a fail-safe exception handler to Player.WaitForKick() - a temporary fix.&lt;br /&gt;
*Change: Previous verification salt is now stored, to allow players to validate even right after the server restarts.&lt;br /&gt;
*Change: Restructured SVN. Stable code is now always in /trunk/&lt;br /&gt;
&lt;br /&gt;
===0.487===&lt;br /&gt;
&#039;&#039;12 October 2010 - r255&#039;&#039;&lt;br /&gt;
*Feature: Added contextual help (tooltips) for all of ConfigTool. Help for &amp;quot;Add World&amp;quot; popup is coming in next version.&lt;br /&gt;
*Feature: Added rank limits for Freeze permission&lt;br /&gt;
*Fix: Fixed /mute being unusable from console.&lt;br /&gt;
*Change: Removed ViewOthersInfo requirement from /sinfo&lt;br /&gt;
*Change: Added ViewOthersInfo requirement to /where&lt;br /&gt;
*Change: Improvements to IRC tab layout in ConfigTool.&lt;br /&gt;
&lt;br /&gt;
===0.486===&lt;br /&gt;
&#039;&#039;11 October 2010 - r250&#039;&#039;&lt;br /&gt;
*Quick fix for IRC Bot bug that made server unconnectable.&lt;br /&gt;
&lt;br /&gt;
===0.485===&lt;br /&gt;
&#039;&#039;11 October 2010 - r249&#039;&#039;&lt;br /&gt;
*Feature: Added optional &amp;quot;delay&amp;quot; parameter to /shutdown (default: 5)&lt;br /&gt;
*Feature: World names can now be autocompleted for many commands (like /join and /lock)&lt;br /&gt;
*Fix: Fixed /unhide failing to reveal the player in certain situations.&lt;br /&gt;
*Fix: Fixed /setspawn being usable on players from other worlds.&lt;br /&gt;
*Fix: Fixed player names appearing white for all players.&lt;br /&gt;
*Fix: Fixed a recursion loop in NoWorldMessage()&lt;br /&gt;
*Fix: Fixed help entries for /setspawn and /shutdown&lt;br /&gt;
*Fix: Fixed potential crash in Server.Shutdown() if called after failed initialization/startup.&lt;br /&gt;
*Fix: Fixed potential deadlock/freeze in fCraftUI on shutdown.&lt;br /&gt;
*Change: Improved crash reporting for TargetInvokationException and TypeInitializerException errors.&lt;br /&gt;
*Change: All assemblies are now once again x86/x86_64/IA64 compatible.&lt;br /&gt;
*Change: Server.OnPlayerConnected event now supports cancellation.&lt;br /&gt;
&lt;br /&gt;
===0.484===&lt;br /&gt;
&#039;&#039;10 October 2010 - r245&#039;&#039;&lt;br /&gt;
*Feature: Added a way for IRC bot to use registered nicknames.&lt;br /&gt;
*Feature: /banall-related kicks are now announced in chat.&lt;br /&gt;
*Feature: /setspawn now actually changes player&#039;s spawn. Also, an optional PlayerName param allows temporarily changing other players&#039; spawn point.&lt;br /&gt;
*Feature: Several improvements to /info. Info now shows whether player&#039;s nick or IP was banned, and hides undefined information for players who haven&#039;t ever logged in.&lt;br /&gt;
*Fix: Fixed crash in ConfigTool if announcements were disabled.&lt;br /&gt;
*Fix: Fixed /banall not matching IPs properly, and not counting kicks towards PlayerInfo.&lt;br /&gt;
*Fix: Fixed ConfigUI not shutting down properly if Server.Init() or Server.Start() failed.&lt;br /&gt;
*Fix: Fixed Config.LoadLogOptions() always leaving Debug enabled.&lt;br /&gt;
*Fix: Added Process.GetCurrentProcess().Refresh() to ServerInfo to improve accuracy of /sinfo stat reporting.&lt;br /&gt;
*Fix: Improved /wsave and /wload path handling on non-Windows platforms.&lt;br /&gt;
*Fix: Replaced some potentially unsafe string concatenation in Player.Message() with proper formatting.&lt;br /&gt;
*Fix: Attempting a workaround for Mono memory leak in World.UnloadMap&lt;br /&gt;
*Fix: Fixed ranks from pre-0.480 configs being loaded in wrong order. Sorry!&lt;br /&gt;
*Change: Added a brief delay before reconnecting IRC bot after getting kicked from a channel. &lt;br /&gt;
*Change: PlayerDB is now saved every 60 seconds (instead of every 30).&lt;br /&gt;
*Change: Removed unused IRCBotQuitMsg config key, and added IRCRegisteredNick, IRCNickServ, and IRCNickServMessage keys.&lt;br /&gt;
*Change: Added a popup with crash information to ConfigTool.&lt;br /&gt;
*Change: Made announcements disabled by default.&lt;br /&gt;
&lt;br /&gt;
===0.483===&lt;br /&gt;
&#039;&#039;8 October 2010 - r242&#039;&#039;&lt;br /&gt;
*Feature: Myne/MyneCraft/Hyvebuild/iCraft maps can now be loaded from ConfigTool&#039;s &amp;quot;Add World&amp;quot; dialog.&lt;br /&gt;
*Fix: Fixed incorrect range checks for AnnouncementInterval and SaveInterval config keys (thanks to Shcaap for reporting).&lt;br /&gt;
*Fix: Fixed /hide showing a slightly different &amp;quot;player left&amp;quot; message compared to normal disconnect (thanks to Silverrock for reporting).&lt;br /&gt;
*Change: Added MC#-style &amp;quot;/z&amp;quot; alias for cuboid, by popular demand.&lt;br /&gt;
*Change: Hidden players can now receive PMs. The sender still gets the &amp;quot;No player found&amp;quot; message, but PMs are actually sent.&lt;br /&gt;
&lt;br /&gt;
===0.482===&lt;br /&gt;
&#039;&#039;7 October 2010 - r241&#039;&#039;&lt;br /&gt;
*Feature: Added new command aliases: &amp;quot;f&amp;quot; for &amp;quot;freeze&amp;quot;, and &amp;quot;pat&amp;quot; for &amp;quot;patrol&amp;quot;.&lt;br /&gt;
*Fix: Fixed typos in mute-related messages.&lt;br /&gt;
*Fix: Added missing triggers for OnPlayerListChanged event.&lt;br /&gt;
*Fix: Fixed /reloadconfig not changing several variables (like colors).&lt;br /&gt;
*Fix: Fixed antigrief defaulting to 35/5 (instead of unmetered).&lt;br /&gt;
*Fix: Fixed heartbeat counting hidden players.&lt;br /&gt;
*Fix: Fixed a rare ObjectDisposedException crash on shutdown when running fCraftUI.&lt;br /&gt;
*Change: Added a more informative disconnect message to players connecting with Alpha client.&lt;br /&gt;
*Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.&lt;br /&gt;
*Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.&lt;br /&gt;
&lt;br /&gt;
===0.481===&lt;br /&gt;
&#039;&#039;2 October 2010 - r237&#039;&#039;&lt;br /&gt;
*Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).&lt;br /&gt;
*Fixed a few more references to &amp;quot;player class&amp;quot; terminology instead of &amp;quot;rank&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.480===&lt;br /&gt;
&#039;&#039;2 October 2010 - r236&#039;&#039;&lt;br /&gt;
*Feature: Changed all &amp;quot;player classes&amp;quot; terminology to &amp;quot;ranks&amp;quot; for consistency with other servers. Several commands have been renamed to reflect that: /classes to /ranks, /user to /rank, /class to /rankinfo. All rank-related messages have also been updated.&lt;br /&gt;
*Feature: Added &amp;quot;Raise&amp;quot;/&amp;quot;Lower&amp;quot; buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a &amp;quot;rank&amp;quot; number to reorder ranks.&lt;br /&gt;
*Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.&lt;br /&gt;
*Fix: Improved fCraftUI responsiveness on-startup.&lt;br /&gt;
*Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.&lt;br /&gt;
*Fix: /wremove now always saves the map before unloading.&lt;br /&gt;
*Fix: Fixed Console being affected by chat spam/flood checks.&lt;br /&gt;
*Fix: Fixed /zinfo not showing any separators between player names.&lt;br /&gt;
*Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.&lt;br /&gt;
*Fix: Fixed Security and IRC tabs not being reset by &amp;quot;Reset All Defaults&amp;quot;&lt;br /&gt;
*Fix: Fixed bugged error messages in /tp and /bring when world access permission check fails.&lt;br /&gt;
*Fix: If any class limits were set to default/&amp;quot;(own class)&amp;quot;, the setting is now preserved.&lt;br /&gt;
*Fix: Fixed a bug that didn&#039;t reset Hide limit if it was set to a deleted rank.&lt;br /&gt;
*Change: Removed legacy zone loading code for pre-0.420 maps (due to changes in rank definition format).&lt;br /&gt;
*Change: Added a more informative disconnect message for players trying to connect with Minecraft Alpha clients.&lt;br /&gt;
*Change: Improved rank-based coloring in world list to check both access and build permissions.&lt;br /&gt;
*Change: Added &amp;quot;/fetch&amp;quot; as alias for /bring, and renamed &amp;quot;/save&amp;quot; to &amp;quot;/wsave&amp;quot;.&lt;br /&gt;
*Change: Deleted some obsolete/disabled controls from ConfigTool, removed PingInterval config key, and removed placeholder ControlPhysics and AddLandmarks permissions.&lt;br /&gt;
*Change: Made several changes to improve disconnect detection:&lt;br /&gt;
**Added occasional pings (every 5 seconds or so, depending on activity/inactivity).&lt;br /&gt;
**Reduced socket send/receive timeout from 12 to 10 seconds.&lt;br /&gt;
**Increased socket polling interval to improve performance.&lt;br /&gt;
*Change: If a player tries to connect to a server twice, the FIRST connection is dropped instead of the LAST connection.&lt;br /&gt;
*Refactor: Major changes were made to the way ranks are stored, and to RankList (formerly ClassList) API.&lt;br /&gt;
*Optimization: Made IsoCat rendering faster, and made draw commands use less CPU.&lt;br /&gt;
&lt;br /&gt;
===0.475===&lt;br /&gt;
&#039;&#039;17 September 2010 - r229&#039;&#039;&lt;br /&gt;
*Feature: /ztest now distinguishes between being allowed/denied by rank/class vs by whitelist/blacklist.&lt;br /&gt;
*Fix: Fixed being unable to change rank/class restrictions with /zedit&lt;br /&gt;
*Fix: Fixed a bug that reported wrong average CPU usage&lt;br /&gt;
*Fix: Fixed a crash on saving in ConfigTool, related to new PatrolledClass config key.&lt;br /&gt;
&lt;br /&gt;
===0.474===&lt;br /&gt;
&#039;&#039;16 September 2010 - r228&#039;&#039;&lt;br /&gt;
*Feature: &amp;quot;/mute&amp;quot; command to temporarily stop players from chatting. A new class permission (Mute) is added, granted to op+ by default.&lt;br /&gt;
*Feature: &amp;quot;/shutdown&amp;quot; command to gracefully shutdown the server remotely. A new class permission (ShutdownServer) is added, granted to owner by default.&lt;br /&gt;
*Feature: Added CPU usage information and loaded world count to /sinfo.&lt;br /&gt;
*Fix: Added a way to edit &amp;quot;PatrolledClass&amp;quot; from ConfigTool.&lt;br /&gt;
*Fix: Fixed zone whitelist/blacklist not updated correctly when edited.&lt;br /&gt;
*Fix: Made teleporting to spawn (with /spawn or /tp, no parameters) accessible to all classes.&lt;br /&gt;
*Fix: Adjusted for Notch&#039;s errors in handling player positions in teleport packets. Slightly improves accuracy of /tp, /bring, initial spawning, /patrol, frozen players, and speedhack detection.&lt;br /&gt;
*Fix: Removed &amp;quot;/tp&amp;quot; bounds check when used with typed-in coordinates numbers.&lt;br /&gt;
*Fix: Fixed an extremely unlikely case of PlayerDB/IPBanList overwriting on shutdown if server initialization failed.&lt;br /&gt;
*Fix: Made &amp;quot;server shutting down&amp;quot; packets deliver more reliably (but still not guaranteed).&lt;br /&gt;
*Fix: Fixed Console possibly not seeing hidden players.&lt;br /&gt;
*Change: Added a basic file check to AutoLauncher&lt;br /&gt;
*Change: Added error logging and crash reporting to Server.Shutdown&lt;br /&gt;
*API: Renamed Server.ShutdownStart to Server.ShutdownBegin (for consistency).&lt;br /&gt;
&lt;br /&gt;
===0.473===&lt;br /&gt;
&#039;&#039;15 September 2010 - r227&#039;&#039;&lt;br /&gt;
*Feature: Added zone coordinates to /zinfo&lt;br /&gt;
*Fix: Fixed cross-world /tp teleporting the wrong player.&lt;br /&gt;
*Fix: Fixed odd date formatting in /zinfo&lt;br /&gt;
&lt;br /&gt;
===0.472===&lt;br /&gt;
&#039;&#039;15 September 2010 - r226&#039;&#039;&lt;br /&gt;
*Feature: Added /cut command&lt;br /&gt;
*Feature: Added a new /patrol command. It allows cycling through low-ranked players on a map (with teleportation). The order is determined by how long it&#039;s been since someone checked on a player. A &amp;quot;Patrol&amp;quot; permission and &amp;quot;PatrolledClass&amp;quot; config key were added.&lt;br /&gt;
*Feature: Added a shorthand notation to /zone for making personal zones: &amp;quot;/zone +PlayerName&amp;quot; creates a zone named after the player, with rank limit just above player&#039;s, and with player whitelisted.&lt;br /&gt;
*Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.&lt;br /&gt;
*Fix: Fixed server always binding to IPAddress.Any regardless of config settings.&lt;br /&gt;
*Fix: TP/Bring no longer allow teleporting to hidden players on other worlds.&lt;br /&gt;
*Fix: Server.GetPlayerList(string) now stops searching the list when it finds an exact match.&lt;br /&gt;
*Fix: Fixed client-crash in /zedit when changing class.&lt;br /&gt;
*Fix: Fixed possible corruption of edited zones upon map saving.&lt;br /&gt;
*Fix: Fixed a range of improbable synchronization issues in the way Zone whitelist/blacklist is updated. As a fortunate side-effect, significantly reduced Zone.CanBuild() overhead.&lt;br /&gt;
*Fix: Temporarily added mainThread.Abort() to Server.Shutdown() that&#039;s kicked in if mainThread does not stop within 5s of being notified of shutdown. I am investigating the real cause of the hang.&lt;br /&gt;
*Fix: Fixed hidden players being revealed by promotion/demotion.&lt;br /&gt;
*Change: Added less threatening error messages to IRC bot on network errors (SocketException and IOException).&lt;br /&gt;
*Change: Disabled movement handling code while changing maps.&lt;br /&gt;
*Refactor: Merged StandardCommands and ImportCommands into AdminCommands&lt;br /&gt;
&lt;br /&gt;
===0.471===&lt;br /&gt;
&#039;&#039;14 September 2010 - r224&#039;&#039;&lt;br /&gt;
*Feature: Added ability to specify the server&#039;s IP (to bind to) manually, for machines with multiple NICs. A new config key &amp;quot;IP&amp;quot; (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.&lt;br /&gt;
*Fix: Fixed a bug with player ghosts being left behind when switching worlds.&lt;br /&gt;
*Fix: Fixed a case with kicked players&#039; connections not being terminated at once (thanks to wootalyzer).&lt;br /&gt;
*Fix: Fixed several bugs in hide/unhide functionality.&lt;br /&gt;
*Fix: Fixed a rare crash in AddWorldPopup related to missing maps for existing worlds.&lt;br /&gt;
*Fix: AddWorldPopup will no longer allow adding a world with a duplicate name.&lt;br /&gt;
*Fix: Capped maximum players at the newly-discovered protocol limit of 128 (thanks to wootalyzer).&lt;br /&gt;
*Change: ConfigTool fields now provide better feedback if validation fails.&lt;br /&gt;
*Change: Changed heartbeat interval to 40 seconds (down from 50).&lt;br /&gt;
*Change: Added a special error handler for rare/impossible case of mainWorld not being joinable.&lt;br /&gt;
*Change: Made fatal error messages in fCraftConsole print in red. Better color support coming soon.&lt;br /&gt;
&lt;br /&gt;
===0.470===&lt;br /&gt;
&#039;&#039;13 September 2010 - r223&#039;&#039;&lt;br /&gt;
*Feature: Personal zones - per-zone whitelist and blacklist of individual players. The lists can now be defined with /zadd and edited with /zedit.&lt;br /&gt;
*Feature: Added cave/ore generator from Omen (BETA).&lt;br /&gt;
*Feature: Added &amp;quot;/maps&amp;quot; and &amp;quot;/levels&amp;quot; as aliases for &amp;quot;/worlds&amp;quot;.&lt;br /&gt;
*Feature: Added a way to limit the &amp;quot;Hide&amp;quot; permission per-class. Now you can specify whom can a class hide from.&lt;br /&gt;
*Feature: Zones now remember date/time of creation and last edit, and names of original creator and last editor.&lt;br /&gt;
*Fix: Unauthorized players can no longer PM or use bring/freeze/unfreeze/kick/tp/where on hidden players. They get the standard &amp;quot;player not found&amp;quot; message.&lt;br /&gt;
*Fix: Fixed hidden players being counter towards /players total.&lt;br /&gt;
*Fix: Fixed a potential crash in /wflush when using on unloaded maps.&lt;br /&gt;
*Fix: Doing /banip or /banall on unrecognized players no longer ip-bans 255.255.255.255. Old IPBanList entries relating to 255.255.255.255 will be automatically discarded.&lt;br /&gt;
*Fix: Fixed /replace command uses not being logged.&lt;br /&gt;
*Fix: Fixed /worlds command not showing world count.&lt;br /&gt;
*Fix: Fixed a client-disconnect when trying to unban a player who is not in the database.&lt;br /&gt;
*Fix: Fixed &amp;quot;/join PlayerName&amp;quot; not translating to &amp;quot;/tp PlayerName&amp;quot; correctly.&lt;br /&gt;
*Fix: Fixed a very unlikely client-disconnect in ChangeClass if the entered class name contains curved braces.&lt;br /&gt;
*Change: Changed default name for &amp;quot;/flip&amp;quot; command to &amp;quot;/mirror&amp;quot;, and fixed command&#039;s help. Either term still works.&lt;br /&gt;
*Change: Added more block name aliases:&lt;br /&gt;
**Air: delete, erase&lt;br /&gt;
**Stone: cement, concrete&lt;br /&gt;
**Grass: gras (common typo)&lt;br /&gt;
**Obsidian: onyx&lt;br /&gt;
*Change: Improved formatting of /players, /worlds, and draw command messages.&lt;br /&gt;
&lt;br /&gt;
===0.463===&lt;br /&gt;
&#039;&#039;9 September 2010 - r218&#039;&#039;&lt;br /&gt;
*Fix: Fixed special colors showing up even if ClassColorsInChat is disabled.&lt;br /&gt;
*Fix: Fixed potential client-crash in World.SendToAll(), and related client-crash in lock/unlock.&lt;br /&gt;
&lt;br /&gt;
===0.462===&lt;br /&gt;
&#039;&#039;8 September 2010 - r217&#039;&#039;&lt;br /&gt;
*Fix: The &amp;quot;OK&amp;quot; button in AddWorldPopup no longer stays grayed out.&lt;br /&gt;
*Fix: Fixed &amp;quot;Error occured while loading&amp;quot; in the file information dialog for non-FCM files.&lt;br /&gt;
*Fix: Fixed a crash in /bring when used without any parameters.&lt;br /&gt;
*Fix: Fixed Server.UrlEncode not escaping 0x00-0x0F characters properly.&lt;br /&gt;
*Change: Slightly reduced default tree density in MapGenerator.&lt;br /&gt;
&lt;br /&gt;
===0.461===&lt;br /&gt;
&#039;&#039;8 September 2010 - r216&#039;&#039;&lt;br /&gt;
*Feature: New EXPERIMENTAL &amp;quot;/reloadconfig&amp;quot; command, and associated ReloadConfig permission. Use with caution!&lt;br /&gt;
*Fix: Fixed a case where AddWorldPopup would allow clicking &amp;quot;OK&amp;quot; with a null map.&lt;br /&gt;
*Fix: Fixed player crash if /freeze or /unfreeze is used without arguments.&lt;br /&gt;
*Fix: Fixed player crash on FormatException in /zones and Server.ShowPlayerConnectedMessage.&lt;br /&gt;
*Fix: Fixed potential player crash if LimitOneConnectionPerIP is enabled.&lt;br /&gt;
&lt;br /&gt;
===0.460===&lt;br /&gt;
&#039;&#039;8 September 2010 - r214&#039;&#039;&lt;br /&gt;
*Feature: Added ShowPlayerConnectedMessage and ClassColorsInWorldNames settings to config.&lt;br /&gt;
*Feature: Added /measure command.&lt;br /&gt;
*Feature: Class colors and prefixes are now applied consistently EVERYWHERE.&lt;br /&gt;
*Feature: Banned players now see their ban reason/memo when they get kicked.&lt;br /&gt;
*Feature: A special error message is shown to players trying to connect with Alpha/SMP client.&lt;br /&gt;
*Feature: IsoCat (ConfigTool isometric preview) rendering quality improved: better shadows and slight altitude-based gradient.&lt;br /&gt;
*Feature: Added new blocktype name aliases: &amp;quot;solid&amp;quot;, &amp;quot;golden&amp;quot;, &amp;quot;halfstep&amp;quot;, &amp;quot;halfblock&amp;quot;, &amp;quot;steps&amp;quot;.&lt;br /&gt;
*Feature: Added player count for each class in /classes&lt;br /&gt;
*Fix: Fixed wrong &amp;quot;MaxBackupsSize&amp;quot; range in ConfigTool.&lt;br /&gt;
*Fix: MaxBackupsSize setting is now applied correctly.&lt;br /&gt;
*Fix: IRC color codes are now stripped from forwarded messages.&lt;br /&gt;
*Fix: IRC bot now uses ServerName for &amp;quot;real name&amp;quot;.&lt;br /&gt;
*Fix: Formatting improved in many error messages.&lt;br /&gt;
*Fix: Commas in ban/unban/promote/demote reasons no longer cause problems with PlayerDB.&lt;br /&gt;
*Fix: Removed extra comma from /worlds list that showed in place of hidden/inaccessible worlds.&lt;br /&gt;
*Change: Added 5-second delay between retries in AutoLauncher&lt;br /&gt;
*Change: &amp;quot;Player connected&amp;quot; message condensed to a single line by absorbing &amp;quot;joined world&amp;quot; message.&lt;br /&gt;
*Change: Removed ChangeName permission (and the ability to change names) due to possibility of abuse and confusion. Related /nick and /whois commands were also removed.&lt;br /&gt;
*Change: /tp can now fall back to behave like /join if player name is not found (for all those times when you mistype /tp instead of /join). Conversely, /join falls back to /tp if player was not found.&lt;br /&gt;
*Optimization: Reduced bandwidth use with an adaptive movement packet skipping algorithm. Should reduced outbound traffic by at least 15%.&lt;br /&gt;
*Optimization: BlockUpdate memory usage slightly reduced.&lt;br /&gt;
&lt;br /&gt;
===0.455===&lt;br /&gt;
&#039;&#039;8 September 2010 - r213&#039;&#039;&lt;br /&gt;
*Feature: AutoLauncher (BETA) allows restarting the fCraftConsole server if it crashed. Although it honestly shouldn&#039;t crash at all!&lt;br /&gt;
*Fix: Allowed renaming worlds in cases where only capitalization is different.&lt;br /&gt;
*Fix: If an ip-banned player has more than one connection, all connections are now terminated.&lt;br /&gt;
*Fix: Fixed nonrectangular MCSharp maps getting messed up by the loader.&lt;br /&gt;
*Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.&lt;br /&gt;
*Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of &amp;quot;no player found&amp;quot; message). Affects PMs, {{cmd|TP}}, {{cmd|Bring}}, {{cmd|Freeze}}, {{cmd|Unfreeze}}, {{cmd|Kick}}.&lt;br /&gt;
*Change: Improved OS detection in crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.454===&lt;br /&gt;
*Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.&lt;br /&gt;
*Fix: Replace no longer behaves same as replacenot.&lt;br /&gt;
*Fix: Spaces in IRC messages are now preserved.&lt;br /&gt;
*Fix: Help entries for paste/pastenot corrected.&lt;br /&gt;
*Fix: /cinfo (without parameters) now shows player&#039;s own class info.&lt;br /&gt;
&lt;br /&gt;
===0.453===&lt;br /&gt;
*Feature: It is now possible to reverse last /undo (by typing /undo again).&lt;br /&gt;
*Change: IRC message colors are applied slightly differently now.&lt;br /&gt;
*Change: Added more automated crash reporting hooks - to MainLoop and Tasks.&lt;br /&gt;
*Change: More help messages improved.&lt;br /&gt;
*Change: Added a more informative message for people running outdated versions of Mono and .Net runtime.&lt;br /&gt;
*Optimization: Slightly reduced memory usage of /undo, /paste, and PlayerDB.Load()&lt;br /&gt;
&lt;br /&gt;
===0.452===&lt;br /&gt;
*Feature: New /replacenot command allows replacing all blocks EXCEPT the specified one.&lt;br /&gt;
*Feature: New /flip and /rotate commands to manipulate copied blocks.&lt;br /&gt;
*Feature: /players list is now in alphabetical order.&lt;br /&gt;
*Fix: Trying to specify an unrecognized block type for draw commands (e.g. &amp;quot;/c ai&amp;quot; instead of &amp;quot;/c air&amp;quot;) now shows a proper error message.&lt;br /&gt;
*Fix: Fixed /gen command crashing players if coordinates are typed in before theme/template.&lt;br /&gt;
*Fix: Fixed /e ellipsoids coming out crooked.&lt;br /&gt;
*Fix: &amp;quot;joined for the first time&amp;quot; messages are now shown correctly.&lt;br /&gt;
*Fix: Fixed /replace not working correctly with /undo&lt;br /&gt;
*Fix: Made IRC bot strip nonprintable characters from messages, and ignore empty messages.&lt;br /&gt;
*Fix: World permissions are no longer reset when doing /wload. Also a permission reminder is now shown when creating new worlds.&lt;br /&gt;
*Change: Improved some help messages.&lt;br /&gt;
*Change: Improved IRC error reporting.&lt;br /&gt;
*Change: Added world name back to &amp;quot;Almost there...&amp;quot; join screen.&lt;br /&gt;
*Change: /pasteonly is now called /paste, and /paste is now called /pastenot (for consistency with other custom servers)&lt;br /&gt;
*Optimization: Slightly reduced memory usage of massive drawing commands (over undo limit).&lt;br /&gt;
&lt;br /&gt;
===0.451===&lt;br /&gt;
*Feature: Improved the way fCraft handles fatal errors (crashes). Crash logs are now created more reliably.&lt;br /&gt;
*Feature: Added automated crash reporting to fragmer.net (opt-out).&lt;br /&gt;
*Feature: Added an announcement for players logging in from IPs associated with other previously-banned players.&lt;br /&gt;
*Fix: Curved braces - &amp;quot;{}&amp;quot; - in server name no longer cause problems.&lt;br /&gt;
*Fix: &amp;quot;Leaving the map&amp;quot; kick disabled temporarily, will be made configurable per-class soon.&lt;br /&gt;
*Fix: banall/unbanall commands produce less chat spam.&lt;br /&gt;
*Fix: AFK kicks no longer count towards /info number-of-times-kicked.&lt;br /&gt;
*Change: Added class colors to /info, and fixed formatting bug.&lt;br /&gt;
*Change: Cleaned up &amp;quot;Advanced&amp;quot; tab in ConfigTool.&lt;br /&gt;
**Removed obsolete config keys: PolicyColorCodesInChat, PolicyIllegalCharacters, and RunOnStartup&lt;br /&gt;
**Added SubmitCrashReports and IRCDelay config keys.&lt;br /&gt;
&lt;br /&gt;
===0.450===&lt;br /&gt;
&#039;&#039;26 August 2010&#039;&#039;&lt;br /&gt;
*Feature: IRC bot rewritten for better performance, flexibility, and safety.&lt;br /&gt;
*Feature: New IRC options: IRCBotAnnounceIRCJoins and IRCBotAnnounceServerJoins.&lt;br /&gt;
*Fix: Fixed messages containing only a single slash (&#039;/&#039;) crashing client thread.&lt;br /&gt;
*Change: Removed obsolete IRCBotMsgs config key.&lt;br /&gt;
*Change: Added OnPlayerSentMessage event to Server.&lt;br /&gt;
*Change: IRC bot&#039;s commands (e.g. !status) are temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
===0.445===&lt;br /&gt;
&#039;&#039;25 August 2010&#039;&#039;&lt;br /&gt;
*IMPORTANT! Please update ASAP, a security issue was identified in previous version.&lt;br /&gt;
*Fix: If you need to start message with a slash, you can now escape the slash (type &amp;quot;//&amp;quot;)&lt;br /&gt;
*Fix: Fixed endless update loop (if automatic updates were enabled)&lt;br /&gt;
*Fix: Private messages with a space between &#039;@&#039; and the player name now work.&lt;br /&gt;
*Fix: Hacking-related kicks are not announced globally.&lt;br /&gt;
*Fix: Fixed &amp;quot;/help&amp;quot; giving wrong message if help entry was not found.&lt;br /&gt;
*Change: Minor changes in MapGenerator/Noise&lt;br /&gt;
&lt;br /&gt;
===0.444===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*Feature: New stat command, /sinfo (server info).&lt;br /&gt;
*Fix: Ban reason/memo now shown for normal bans.&lt;br /&gt;
*Fix: /cinfo for unlimited classes no longer shows &amp;quot;draw limit: 0&amp;quot;&lt;br /&gt;
*Fix: Fixed IRC message colors, and removed IRC color codes from log.&lt;br /&gt;
&lt;br /&gt;
===0.443===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New {{cmd|WFlush}} command. It allows finishing all in-progress draw commands at maximum speed (over 100k blocks/second) then forces a map rejoin.&lt;br /&gt;
*Feature: Added more customization options for colors: PrivateMessageColor and IRCMessageColor in Config.&lt;br /&gt;
*Feature: {{cmd|Players}} list is now sorted alphabetically.&lt;br /&gt;
*Feature: Added &amp;quot;Check Port&amp;quot; button to ConfigTool to see if port is open. Uses www.utorrent.com/testport&lt;br /&gt;
*Feature: Added &amp;quot;Play&amp;quot; button to fCraftUI to open server URL in the browser&lt;br /&gt;
*Feature: World names in {{cmd|Worlds}} list are now colored according to each world&#039;s build permission. &lt;br /&gt;
*Feature: Added speedhack detection &amp;amp; prevention (BETA) and corresponding Permission.UseSpeedHack. All your classes will be granted this permission by default. Edit the config to customize it.&lt;br /&gt;
*Fix: When using {{cmd|Mark}} outside of map boundaries, draw limits are no longer calculated incorrectly (thanks to Darnest).&lt;br /&gt;
*Fix: Fixed possible crash in Map.CheckZones() on maps created with {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed compilation issue with &amp;quot;tileset.png&amp;quot; on case-sensitive filesystems.&lt;br /&gt;
*Fix: Fixed class-wide messages not wrapping correctly.&lt;br /&gt;
*Optimization: antigrief and antispam checking overhead reduced.&lt;br /&gt;
&lt;br /&gt;
===0.442===&lt;br /&gt;
&#039;&#039;22 August 2010&#039;&#039;&lt;br /&gt;
*Fix: Addresses a security issue.&lt;br /&gt;
*Fix: &amp;quot;OK&amp;quot; button in AddWorldPopup is now always disabled if no map is set.&lt;br /&gt;
*Fix: &amp;quot;Feature size&amp;quot; label is now updater correctly when map dimensions are changed.&lt;br /&gt;
*Fix: Added missing player notifications for {{cmd|Undo}} and {{cmd|Cancel}} commands.&lt;br /&gt;
*Change: MapGenerator&#039;s default map size changed to 128x128x80&lt;br /&gt;
&lt;br /&gt;
===0.441===&lt;br /&gt;
*Feature: Added cuboid limits to /cinfo&lt;br /&gt;
*Fix: Fixed a bug in BoundingBox that made /paste and zones behave incorrectly&lt;br /&gt;
*Fix: Fixed ban/unban commands not kicking the player if entered name capitalization did not match actual capitalization&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; being broken when using &amp;quot;/gen&amp;quot;&lt;br /&gt;
*Fix: Fixed &amp;quot;/ban&amp;quot; rank checks affecting &amp;quot;/unban&amp;quot;&lt;br /&gt;
*Change: Optimized zone permission checks&lt;br /&gt;
&lt;br /&gt;
===0.440===&lt;br /&gt;
*FEATURE: New MapGenerator with tons of options. You can also save/load custom templates for it.&lt;br /&gt;
*FEATURE: AddWorldPopup interface overhaul.&lt;br /&gt;
*FEATURE: JTE, D3, and Myne/Mynecraft/Hyvebuild/iCraft map format converters added.&lt;br /&gt;
*Feature: Improved syntax of the /gen command. See &amp;quot;/help gen&amp;quot; for details.&lt;br /&gt;
*Feature: Reason/memo is now shown publicly when someone gets banned, unbanned, or kicked.&lt;br /&gt;
*Feature: Teleport and Bring work across worlds - world permissions still apply.&lt;br /&gt;
*Feature: Added 4 new Config keys: RequireBanReason, RequireClassChangeReason, AnnounceKickAndBanReasons, AnnounceClassChanges. By default &amp;quot;AnnounceKickAndBanReasons&amp;quot; and &amp;quot;AnnounceClassChanges&amp;quot; are enabled.&lt;br /&gt;
*Feature: Added 5 new fields to PlayerDB: previousClass, classChangeReason, timesKicked, timesKickedOthers, timesBannedOthers.&lt;br /&gt;
*Feature: Added a lot of new information to /info.&lt;br /&gt;
*Feature: You can now save map preview images (isometric) from AddWorldPopup.&lt;br /&gt;
*Feature: ConfigTool now shows warnings about any errors logged during Config.Load&lt;br /&gt;
*Fix: Yet another workaround for VerifyNames false negatives (thanks to SpaceManiac).&lt;br /&gt;
*Fix: Fixed being able to paste admincrete/water/lava without permission (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Trying to go over class draw limit no longer causes &amp;quot;Another drawing command is in progress&amp;quot; error.&lt;br /&gt;
*Fix: Mcc.MapUtility.TryLoading() and Map.LoadHeaderOnly() now release file handles as soon as possible. This should fix some &amp;quot;file is being used by another process&amp;quot; errors.&lt;br /&gt;
*Fix: Map spawn should be parsed correctly for MCSharp/MCZall maps&lt;br /&gt;
*Fix: If a map doesn&#039;t start with a gzip header, it no longer has a chance to abort the whole load process.&lt;br /&gt;
*Fix: Fixed blocktype names being case-sensitive.&lt;br /&gt;
*Fix: Added a more informative message when idle players are kicked.&lt;br /&gt;
*Fix: Fixed undo buffer not getting cleared when doing paste/pasteonly&lt;br /&gt;
*Fix: Fixed /waccess exception kicking players.&lt;br /&gt;
*Fix: 100% Empty maps no longer crash AddWorldPopup with OutOfMemoryException&lt;br /&gt;
*Fix: Fixed &amp;quot;player is already banned&amp;quot; message when doing /BanAll&lt;br /&gt;
*Fix: Fixed no public message appearing when doing /BanAll&lt;br /&gt;
*Fix: Fixed cuboid/ellipsoid/cuboidh logging blocktype code instead of blocktype name.&lt;br /&gt;
*Fix: Improved the message that&#039;s shown when idle players are kicked.&lt;br /&gt;
*Fix: Documented ability to /tp to specific coordinates.&lt;br /&gt;
*Fix: AddWorldPopup no longer crashes if user closes &amp;quot;Load Map&amp;quot; dialog before selecting any file.&lt;br /&gt;
*Fix: When drawing affects (in part or in full) a restricted zone, the zone is left untouched, and the rest of draw command finishes (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Fixed crash in AddWorldPopup.AsyncLoad() if map loading failed.&lt;br /&gt;
*Fix: LegacyRankMapping is now parsed correctly&lt;br /&gt;
*Fix: Renaming a class no longer causes &amp;quot;Worlds&amp;quot; tab dropdown menus to go out-of-sync.&lt;br /&gt;
*Change: AddWorldPopup preview image quality improved.&lt;br /&gt;
*Change: Updated to newest version of NBTag library.&lt;br /&gt;
*Change: Frozen players can no longer build/delete.&lt;br /&gt;
*Change: Removed public &amp;quot;undo&amp;quot; message, added log message instead.&lt;br /&gt;
*Change: Removed AnnounceUnverifiedNames settings.&lt;br /&gt;
*Change: When building/deleting permission is denied, the exact reason is given (instead of a vague &amp;quot;you cannot do that&amp;quot; message) (part of Player.CanPlace overhaul).&lt;br /&gt;
&lt;br /&gt;
===0.435===&lt;br /&gt;
*Feature: Added /copy, /paste, and /pasteonly commands. Rotation coming soon.&lt;br /&gt;
*Feature: Added CopyAndPaste permission, granted to op and owner by default.&lt;br /&gt;
*Feature: Added MapGenType.Cliffs - similar to Mountains type, but with cliffs!&lt;br /&gt;
*Fix: Fixed /paint command&lt;br /&gt;
*Fix: Fixed /baninfo now showing any information if used without parameters.&lt;br /&gt;
*Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.&lt;br /&gt;
&lt;br /&gt;
===0.434===&lt;br /&gt;
*Feature: new /bind command allows mapping any block to any other. Now you can place those unbuildable blocks (water, lava, grass, double-step) in any way you wish. For compatibility, old commands (/water, /solid, /lava, /grass) have been preserved.&lt;br /&gt;
*Change: &amp;quot;step&amp;quot; added as an alias for Stair block. &amp;quot;doublestep&amp;quot; added as an alias for DoubleStair.&lt;br /&gt;
&lt;br /&gt;
===0.433===&lt;br /&gt;
*Feature: /winfo now shows who locked/unlocked the map, and how long ago.&lt;br /&gt;
*Fix: Fixed a error message that showed up when announcements.txt was blank.&lt;br /&gt;
*Fix: Permission check added back to lock/unlock commands.&lt;br /&gt;
*Fix: &amp;quot;mapinfo&amp;quot; added back as alias for /winfo&lt;br /&gt;
*Fix: Fixed locked maps not getting unloaded when all players left&lt;br /&gt;
&lt;br /&gt;
===0.432===&lt;br /&gt;
*Fix: List of worlds printed by /worlds is now sorted alphabetically.&lt;br /&gt;
*Fix: Fixed an obscure half-disconnect bug that left players with id=0 who happened to be on the main world in a semi-disconnected state IF someone else was kicked halfway through the login process before it was assigned an id.&lt;br /&gt;
&lt;br /&gt;
===0.431===&lt;br /&gt;
*Fix: Fixed still messed-up /worlds command.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.430===&lt;br /&gt;
*Fix: Fixed messed-up /worlds command. Sorry about that.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.429===&lt;br /&gt;
*Feature: Command-handler infrastructure has been redesigned. This will allow much more flexibility for devs and plugin makers later.&lt;br /&gt;
*Feature: &amp;quot;/help commands&amp;quot; now only shows available commands by default. Type &amp;quot;/help commands all&amp;quot; to see all commands.&lt;br /&gt;
*Feature: /worlds command now only available worlds by default. Type &amp;quot;/worlds all&amp;quot; to include worlds inaccessible to you.&lt;br /&gt;
*Feature: Help entries added for /zedit, /mark, /version, /rules, and /say.&lt;br /&gt;
*Feature: ConfigTool World tab columns are now sortable.&lt;br /&gt;
*Fix: Fixed &amp;quot;max backups&amp;quot; in ConfigTool being limited to 100. Now it&#039;s at a more reasonable limit of 100000.&lt;br /&gt;
*Fix: Fixed Map.Backup() deleting the newest (instead of the oldest) backup if the total number of files was limited.&lt;br /&gt;
*Fix: Fixed an ERROR that popped up if a player got disconnected during the login process (while player=null).&lt;br /&gt;
*Fix: FormatException crash fixed that caused whole server to go down instead of a player thread.&lt;br /&gt;
*Fix: Several draw-related bugs and crashes fixed.&lt;br /&gt;
*Fix: Fixed crash in /winfo when used on unloaded worlds.&lt;br /&gt;
*Fix: Fixed a bug in Config that caused antigrief to be re-enabled every load.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool that didn&#039;t update AntiGriefSeconds properly when changing between classes.&lt;br /&gt;
*Change: Many /help entries have been improved.&lt;br /&gt;
*Change: Split /class command into two: /classes (aka /ranks) shows a list of classes, and /class (aka /cinfo or /classinfo) shows permission list (missed from last release notes).&lt;br /&gt;
*Change: Added /spawn as an alias for /tp (missed from last release notes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.428===&lt;br /&gt;
*Feature: Line wrapping. Yes, finally.&lt;br /&gt;
*Feature: Per-class draw limits. Defaults are: owner unlimited, op unlimited, regular 4096 (16x16x16), guest 512 (8*8*8)&lt;br /&gt;
*Feature: Per-class antigrief detection. Defaults are: owner unmetered, op umetered, regular 45/6 (7.5 blocks/second), guest 35/5 (7 blocks/second)&lt;br /&gt;
*Feature: Memory usage of draw commands has been reduced by 6 bytes per block (37% improvement).&lt;br /&gt;
*Fix: Extra color codes fixed in /players command.&lt;br /&gt;
*Fix: Fixed a bug with /undo that caused more than one command to be undone at once.&lt;br /&gt;
*Fix: Fixed maps generated with &amp;quot;Realistic terrain&amp;quot; (MapGenerator) having an empty layer at the bottom of the map.&lt;br /&gt;
*Change: Default classes have been tweaked:&lt;br /&gt;
**regular can now use draw commands&lt;br /&gt;
**op can now lock/unlock&lt;br /&gt;
*Change: Improved arrangement of Permission list items.&lt;br /&gt;
*Change: Removed obsolete ConfigKey variables AntigriefBlockCount and AntigriefBlockInterval&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.427===&lt;br /&gt;
*Feature: Added /zedit command for changing zone permissions after creation&lt;br /&gt;
*Feature: New aliases for drawing commands: /c /e /h /r /m&lt;br /&gt;
*Fix: Fix for cuboid command kicking players with &amp;quot;Block.Undefined&amp;quot; if called with no optional BlockType parameter&lt;br /&gt;
*Fix: Fixed zone definitions getting corrupted.&lt;br /&gt;
*Fix: Allowed /save command to be used from console and from remote worlds. Previously you had to join the world to save it.&lt;br /&gt;
*Fix: Fixed potential crash in /winfo when looking up unloaded worlds.&lt;br /&gt;
*Fix: Fixed /zone allowing duplicate names, then kicking the client.&lt;br /&gt;
*Fix: Fixed /ztest showing the standard &amp;quot;you are not allowed to build in this zone&amp;quot; message instead of the expected zone list.&lt;br /&gt;
*Fix: Fixed incorrect description of draw log messages, and backup error messages&lt;br /&gt;
*Fix: Fixed false triggering of &amp;quot;Player asked to be released from its world, but the world did not contain the player&amp;quot; error&lt;br /&gt;
*Change: Fruitified fragmer&#039;s name &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.426===&lt;br /&gt;
*Feature: Announcements! You can define a list of announcements to show periodically. A random line from announcements.txt will be shown to all players at specified interval (in minutes).&lt;br /&gt;
*Feature: /replace command.&lt;br /&gt;
*Feature: /undo command has been improved for more flexibility and better performance.&lt;br /&gt;
*Feature: /winfo (alias: /mapinfo) is added for displaying world name, player count, map dimensions, and access/build permissions.&lt;br /&gt;
*Fix: Fixed a bug that caused duplicate entries to be added to PlayerDB when doing /importranks or /importbans.&lt;br /&gt;
*Change: New ConfigKeys: AnnouncementColor (default: green) and AnnouncementInterval (default: 5 minutes).&lt;br /&gt;
*Change: Draw command stride increased to 16x16x16, for better theoretical performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.425===&lt;br /&gt;
*Feature: Added hollow draw command (/cubh) and aliases (/cuboidh and /bhb)&lt;br /&gt;
*Feature: /players now shows class colors and a total number of players. Breakdown of /players by world is coming soon&lt;br /&gt;
*Feature: Added &amp;quot;Joined world WorldName&amp;quot; message that shows when changing worlds&lt;br /&gt;
*Fix: Improved several /help entries&lt;br /&gt;
*Fix: Fixed a bug in Map.SaveBackup() that could cause a crash if MaxBackups was set&lt;br /&gt;
*Fix: Fixed a bug in ConfigUI where &amp;quot;Delete World&amp;quot; button could leave the map file behind and/or cause an error&lt;br /&gt;
*Fix: Calling lock/unlock from console without a WorldName now shows a nicer error message&lt;br /&gt;
*Change: Improved safety checks of /join command&lt;br /&gt;
*Change: Added a catch-all exception handler into Server.MainLoop&lt;br /&gt;
*Change: Added exception handlers for EVERY single piece of code that requires file access&lt;br /&gt;
*Change: Added more thread safety in MapCommands.WorldRename that resolves a potential race condition with Map.Save&lt;br /&gt;
*Change: Modified IPBanList to use the standard temp folder (instead of fCraft working path) for its temp files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.424===&lt;br /&gt;
*Fix: Fixed /unhide and normal connection getting different messages&lt;br /&gt;
*Fix: Fixed client crash when viewing /rules if the rule file has blank lines&lt;br /&gt;
*Fix: Worlds with capital letters in the name are joinable again&lt;br /&gt;
*Fix: Potential crash in DoClassChange() if target player is already same rank AND is not currently on the server&lt;br /&gt;
*Change: Moved the command list to /help commands&lt;br /&gt;
*Change: Performance and thread-safety improvements to PlayerDB&lt;br /&gt;
*Change: Disabled some more debugging code to avoid taking up unnecessary resources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.423===&lt;br /&gt;
*Feature: /importbans now also supports &amp;quot;banned-ip.txt&amp;quot;&lt;br /&gt;
*Feature: Logs are now stored in /logs/ folder. Your fCraft.log file will be moved there automatically and renamed to &amp;quot;_OldLog.log&amp;quot;&lt;br /&gt;
*Feature: Log splitting now works by day or by session. Set &amp;quot;LogMode&amp;quot; key in config.xml or see Logging tab in ConfigTool.&lt;br /&gt;
*Feature: All maps are now stored in /maps/ folder. Your map files will be moved automatically first time you start ConfigTool/fCraftConsole/fCraftUI&lt;br /&gt;
*Feature: Reserved slots now work&lt;br /&gt;
*Fix: Fixed a bug in fCraft.Server.LoadWorldListXML that could make all worlds hidden.&lt;br /&gt;
*Fix: &amp;quot;player connected&amp;quot; message shown when someone connects, instead of just &amp;quot;player joined world&amp;quot;&lt;br /&gt;
*Fix: &amp;quot;player left the server&amp;quot; message is not shown if the player got kicked before LoginSequence finished (e.g. if server was full)&lt;br /&gt;
*Fix: Added back IP logging for incoming connections&lt;br /&gt;
*Fix: Fixed ConfigTool-generated maps not having correct spawn point&lt;br /&gt;
*Fix: Fixed /user showing both promote and demote messages at once&lt;br /&gt;
*Fix: Removed references to old &amp;quot;/drawundo&amp;quot; command name in &amp;quot;/undo&amp;quot; messages&lt;br /&gt;
*Fix: Fixed &amp;quot;Unrecognized entry ignored: LegacyRankMapping =&amp;quot; warning&lt;br /&gt;
*Change: Made /importbans and /importranks save PlayerDB at once&lt;br /&gt;
*Change: fCraft now forcibly resets its working directory to the same path where the executable is&lt;br /&gt;
*Change: Removed &amp;quot;delete old file?&amp;quot; prompt when renaming worlds in AddWorldPopup. Now it just does it, to match tabWorlds&#039; DataGridView behavior&lt;br /&gt;
*Change: Added additional error checks to Map.Backup() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.422===&lt;br /&gt;
*Feature: Further improved network performance by introducing nonblocking (lock-free) data structure to packet output buffer&lt;br /&gt;
*Fix: Fixed &amp;quot;world creation failed&amp;quot; error if worlds.xml defined a non-existing world to be main&lt;br /&gt;
*Fix: Added back missing messages when doing /user on offline users&lt;br /&gt;
*Fix: Fixed player name color not being updated when their class changes&lt;br /&gt;
*Fix: Added missing /help entries for /importbans and /importranks&lt;br /&gt;
*Change: Improved help messages for /lock, /unban, /unbanip, /undo, /wload, /wmain, and /wremove&lt;br /&gt;
*Change: Tweaked default values of BlockUpdateThrottling and maxBlockUpdatesPerTick for maximum lag-free performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.421===&lt;br /&gt;
*Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players&lt;br /&gt;
*Feature: Added the ability to ban unseen players&lt;br /&gt;
*Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated &amp;quot;Import&amp;quot; permission was added. See &amp;quot;/help importbans&amp;quot; and &amp;quot;/help importranks&amp;quot; for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.&lt;br /&gt;
*Feature: Improved BlockUpdateQueue performance (faster drawing commands!) by switching to a lock-free data structure&lt;br /&gt;
*Fix: Fixed startup errors not being logged if config.xml has not been parsed yet&lt;br /&gt;
*Fix: Fixed ConfigUI input box not aligning properly when window is resized&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; generated maps being 1 block off vertically&lt;br /&gt;
*Change: Updated PlayerDB and IPBanList to use standard temporary folder (instead of dumping temp files into fCraft directory)&lt;br /&gt;
*Change: Added &amp;quot;logging starts&amp;quot; marker that&#039;s written to console and log on-startup&lt;br /&gt;
*Change: fCraftUI log now displays the last 2000 lines (up from 1000 lines)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.420===&lt;br /&gt;
*Feature: New &amp;quot;Worlds&amp;quot; tab in ConfigTool for managing your world list&lt;br /&gt;
*Feature: Isometric map previews and map generation in ConfigTool&lt;br /&gt;
*Feature: Implemented a class-ID system that allows adding/renaming/deleting classes without breaking compatibility. DeleteClassPopup was added for this&lt;br /&gt;
*Feature: Added LimitOneConnectionPerIP option to config &amp;amp; configtool&lt;br /&gt;
*Feature: Worlds can now be hidden from the /worlds list&lt;br /&gt;
*Feature: Added /whois command for checking if a player is using real name or nickname. BE CAREFUL WITH &amp;quot;ChangeName&amp;quot; PERMISSION!&lt;br /&gt;
*Feature: fCraft now generates crash.txt on unhandled fatal errors&lt;br /&gt;
*Feature: Implemented theme support, and added 2 new terrain types (Coast and River) for MapGenerator. See &amp;quot;/help gen&amp;quot; for details, or use ConfigTool.&lt;br /&gt;
*Feature: Pressing Up/Down keys in fCraftUI will show previously typed commands.&lt;br /&gt;
*Fix: Fixed a bug in /wmain and /wload that sometimes made the server unconnectable after changing map&lt;br /&gt;
*Fix: Limits on the /kick command now apply correctly&lt;br /&gt;
*Fix: Fixed /wbuild and /waccess showing wrong messages&lt;br /&gt;
*Fix: Fixed hidden players unable to build due to grief protection&lt;br /&gt;
*Fix: Added /nick and /whois entries to /help&lt;br /&gt;
*Fix: Removed the ability to call draw commands from console (caused crash)&lt;br /&gt;
*Fix: Fixed /lava checking PlaceWater permission instead of PlaceLava&lt;br /&gt;
*Fix: A debug message about &amp;quot;attempting to unregister an non-existent player&amp;quot; is no longer logged every time VerifyNames fails&lt;br /&gt;
*Fix: When using /where command on other players, correct coordinates are now shown]&lt;br /&gt;
*Fix: Player&#039;s classes are now updated in fCraftUI list when promoted/demoted&lt;br /&gt;
*Fix: PMs are now logged as LogType.PrivateChat (instead of generic LogType.WorldChat)&lt;br /&gt;
*Fix: /hide and /unhide now use Color.Sys instead of hardcoded Color.Yellow&lt;br /&gt;
*Fix: Player&#039;s nicknames (as set by /nick) are applied correctly and preserved when changing worlds&lt;br /&gt;
*Fix: Added missing checks for &amp;quot;Chat&amp;quot; permissions&lt;br /&gt;
*Fix: Color buttons in ConfigTool now show correct background color under Mono&lt;br /&gt;
*Fix: Fixed help entry to /freeze showing incorrect information&lt;br /&gt;
*Fix: Corrected tab order in all ConfigTool forms&lt;br /&gt;
*Change: Added /blb as another alias for /cuboid&lt;br /&gt;
*Change: Removed ReservedSlotBehavior config key&lt;br /&gt;
*Change: Disabled word wrapping in rules.txt editor popup&lt;br /&gt;
*Change: /unhide now resets the player&#039;s nick&lt;br /&gt;
*Change: Both player&#039;s real name and nickname (if any) are now recorded in the log&lt;br /&gt;
*Change: Added a warning to /info when looking up nicknames (instead of real names)&lt;br /&gt;
*Change: Heartbeat salt generation (used to verify names) is now more secure&lt;br /&gt;
*Change: Removed CanPlaceHardenedBlocks from permission list&lt;br /&gt;
*Change: All map generator terrain types have been tweaked for improved appearence&lt;br /&gt;
*Change: Centered all ConfigTool popup windows (AddWorldPopup, ColorPicker, DeleteClassPopup, TextEditorPopup)&lt;br /&gt;
*Change: Hid unneeded icons and buttons from ConfigTool popups&lt;br /&gt;
*Change: Changed the way zones store rank restriction (as part of the compatibility assurance), and added versioning to zone definitions&lt;br /&gt;
*Change: Map.Save() now creates temporary files in the OS-specific temporary folder, not in same folder where fCraft is installed&lt;br /&gt;
*Change: World permissions are now updated automatically when a class is deleted&lt;br /&gt;
*Refactor: Improved consistency in code naming conventions, especially in IRC code&lt;br /&gt;
*Refactor: Improved code organization in many areas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.410===&lt;br /&gt;
*Implemented per-world access and build permissions.&lt;br /&gt;
*Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.&lt;br /&gt;
*New world-related commands:&lt;br /&gt;
**/wmain changes the main world&lt;br /&gt;
**/waccess and /wbuild allow setting per-world permissions&lt;br /&gt;
**/wremove allows deleting worlds&lt;br /&gt;
**/wrename allows renaming worlds without reloading&lt;br /&gt;
**/wload command is significantly improved (see /help wload for more info). The functionality of the old /load command has been merged with /wload. Now /load is an alias for /join, together with /l, /j, and /goto.&lt;br /&gt;
*Removed SaveAndLoad permission - it became redundant with ManageWorlds. Please check your config to ensure that permissions remain consistent.&lt;br /&gt;
*Added new and previously-missing (/lockall, /unlockall, /where, /me, /rules, /setspawn) commands to /help.&lt;br /&gt;
*Disabled verify-names check for localhost (127.0.0.1) when running in Balanced mode.&lt;br /&gt;
*When player is denied access to some command, server now names the specific permission that&#039;s needed.&lt;br /&gt;
*Fixed a potential desync issue when one player rejoins a world, and another joins it simultaneously.&lt;br /&gt;
*Removed /genh command and /compass alias for the /where command.&lt;br /&gt;
*Added a fail-safe exception check when executing console commands. Now the server will stay up even if an exception occurs while executing console command.&lt;br /&gt;
*Improved the way server reacts to fatal errors on startup. Now there is a clear indication that server cannot start.&lt;br /&gt;
*&amp;quot;default map&amp;quot; is now referred to as &amp;quot;main world&amp;quot; for consistency. &lt;br /&gt;
*Improved garbage collection.&lt;br /&gt;
&lt;br /&gt;
===0.405===&lt;br /&gt;
*Added back support for vanilla (server_level.dat) maps.&lt;br /&gt;
*Fixed MCSharp importer leaving nonstandard blocks in the map, causing client crashes. Now all MCSharp-specific blocks are converted to normal types.&lt;br /&gt;
*Fixed visual player list not updating in fCraftUI.&lt;br /&gt;
*Added /players command to list ALL players on the server (in all worlds)&lt;br /&gt;
*Made the BlockType parameter optional for /cuboid and /ellipsoid. Now it takes blocktype of the second click (or last-previously-used-blocktype when using /mark) in the absence of the optional parameter.&lt;br /&gt;
*ConfigTool: Added a new tab for IRC setting.&lt;br /&gt;
*ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.&lt;br /&gt;
*IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.&lt;br /&gt;
*IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot. &lt;br /&gt;
*IRC: Fixed a bug with infinite reconnects on receiving error 433 Nickname already in use.&lt;br /&gt;
*Zones: Changed behavior of overlapping zones:&lt;br /&gt;
**Before: To touch a block, AT LEAST ONE zone has to allow it&lt;br /&gt;
**Now: To touch a block, ALL ZONES have to allow it&lt;br /&gt;
*Zones: Added /ztest command that lists all zones affecting a particular block. It can be used to detect and resolve zone overlaps.&lt;br /&gt;
*Zones: Added proper /help entries for /zone, /zones, /zremove, and /ztest, and contextual help for /zone and /zones.&lt;br /&gt;
*Zones: Made zone commands inaccessible from console (it would cause a crash, since zones are world-specific).&lt;br /&gt;
*Fixed OnPlayerDisconnected and OnPlayerListChanged sometimes firing at the wrong time.&lt;br /&gt;
*Added better error handling to Map.Save() in case the target file is not writable.&lt;br /&gt;
*Updated /help entries for /lock, /unlock, and /load commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.404===&lt;br /&gt;
*Fixed zone borders being off by 1 block.&lt;br /&gt;
*Fixed a rare crash on shutdown.&lt;br /&gt;
*Fixed heartbeat reporting incorrect port number to heartbeat if the port specified in config was not available.&lt;br /&gt;
*Adjusted default class permissions slightly, by popular demand:&lt;br /&gt;
**regulars can now place Water and Lava&lt;br /&gt;
**ops can now use draw commands&lt;br /&gt;
*IRC: Added a config option &#039;IRCMsgs&#039; to toggle join/leave messages on/off. Default is disabled to prevent massive spam.&lt;br /&gt;
*IRC: Fixed a possible crash in IRCComm, related to static initializers.&lt;br /&gt;
*ConfigTool: Fixed many bugs in permission checkbox list.&lt;br /&gt;
*ConfigTool: Added visual editor for rules.txt&lt;br /&gt;
*ConfigTool: Added stub tab for IRC settings (coming soon).&lt;br /&gt;
&lt;br /&gt;
===0.403===&lt;br /&gt;
*Fixed spawnpoint being read incorrectly when using /load.&lt;br /&gt;
*Added a note to ban*/unban* commands that&#039;s shown when player name is not found: &amp;quot;Use the FULL player name for ban/unban commands.&amp;quot;&lt;br /&gt;
*Fixed a thread crash (not server-wide crash) in Session.IoLoop that can be caused by corrupted or malicious handshake packets.&lt;br /&gt;
*Fixed a potential crash when using /info on offline players from console.&lt;br /&gt;
*Fixed a potential crash when using /gen from console.&lt;br /&gt;
*Added more fail-safe checks that ensure that map spawn point is always within the map boundaries.&lt;br /&gt;
*Started logging IPs of connections that try sending corrupted or malicious handshake packets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.402===&lt;br /&gt;
*Added back /load command, and hooked up MCC. Currenly supported: fCraft/fcm, MCSharp/lvl, indev/mclevel, MinerCPP and LuaCraft (dat). Vanilla support coming soon.&lt;br /&gt;
*Fixed worlds being unloaded before all block updates are processed (thus aborting draw commands).&lt;br /&gt;
*Fixed several potential multiworld-related crashes and freezes.&lt;br /&gt;
*Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.&lt;br /&gt;
*IRC: Added an information message to notify users of the IRC Bot&#039;s online status when joining the server.&lt;br /&gt;
*IRC: Added the ability to send NOTICES.&lt;br /&gt;
*IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.&lt;br /&gt;
*IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.&lt;br /&gt;
*Drawing-related state is now reset when changing worlds.&lt;br /&gt;
*Added a limiter to the number of block updates that can be processed per tick (even if there are no players in a world). Fixes server becoming unresponsive when doing enormous drawing commands (millions of blocks).&lt;br /&gt;
*Allowed players to /join the world that they are already on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.401===&lt;br /&gt;
*&#039;&#039;&#039;IDLE/AFK CHECKING&#039;&#039;&#039; This is configurable per-class.&lt;br /&gt;
*Added /version command, and added revision to the version string.&lt;br /&gt;
*Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands. &lt;br /&gt;
*Removed all references to the old pre-multiworld &amp;quot;map.fcm.&amp;quot; Backups now work again. &lt;br /&gt;
*Fixed players not spawning in the right place when changing worlds.&lt;br /&gt;
*IRC Bot will now handle terminations by the IRCd and restart itself upon any errors. &lt;br /&gt;
*IRC Bot can now send from inside the server TO IRC! Use the prefix &#039;#&#039; in-game to send any message to IRC. Forwarding all server chat may be added if requested. To send from the bot to the server, use the bot&#039;s nickname and either &#039;:&#039;, &#039;,&#039; or nothing, then your message.&lt;br /&gt;
*Improved performance of the IRC bot and the task scheduler.&lt;br /&gt;
*Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn&#039;t exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.&lt;br /&gt;
*Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after &#039;#&#039; in server chat.&lt;br /&gt;
*Handshake packet is now written when doing /join, to replace MOTD with a more informative &amp;quot;Now loading [worldname]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.400===&lt;br /&gt;
*&#039;&#039;&#039;MULTIWORLD&#039;&#039;&#039; It&#039;s finally here. See /help for information on new commands: /worlds, /wload, /join&lt;br /&gt;
*Added a persistent world list, saved in worlds.txt - this is subject to change. The file contains a list of world names, each corresponding to an .fcm file. The first world listed at the top of worlds.txt is the default/main one.&lt;br /&gt;
*&#039;&#039;&#039;IRC BOT&#039;&#039;&#039; Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.&lt;br /&gt;
*A field has been added in the config to allow forwarding ALL IRC CHANNEL TRAFFIC to the server. This will override the prefix and make it inactive. &#039;IRCBotForwardAll&#039; is set to false by default.&lt;br /&gt;
*&#039;&#039;&#039;ZONES&#039;&#039;&#039; It is now possible to make guest zones and op zones (and anything in-between) on any map. See /help for information on new commands: /zones, /zone, /zremove.&lt;br /&gt;
*Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.&lt;br /&gt;
*Added /compass command (aka /where).&lt;br /&gt;
*Fixed players sometimes not seeing their /kick message.&lt;br /&gt;
*Added a way to teleport to specific coordinates (/tp x y h)&lt;br /&gt;
*Fixed heartbeats timing out when running fCraft under Mono.&lt;br /&gt;
*Fixed Config.ApplyConfig setting the wrong server throttling variables.&lt;br /&gt;
*Fixed air blocks appearing underwater when using /gen&lt;br /&gt;
*Tweaked /gen parameters to make &amp;quot;island&amp;quot; a bit less ugly.&lt;br /&gt;
*Updated text in fCraftConsole.&lt;br /&gt;
&lt;br /&gt;
=0.3xx=&lt;br /&gt;
===0.330===&lt;br /&gt;
*Added /cuboid and /ellipsoid drawing commands.&lt;br /&gt;
*Improved memory usage.&lt;br /&gt;
*Added &amp;quot;Draw&amp;quot; permission, and made /draw check &amp;quot;DeleteAdmincrete&amp;quot; permission when replacing blocks, and removed unused &amp;quot;PlaceGlitchedSand&amp;quot; permission.&lt;br /&gt;
*Added &amp;quot;Port&amp;quot; and &amp;quot;BackupOnlyWhenChanged&amp;quot; config lines, and corresponding ConfigTool fields.&lt;br /&gt;
*Fixed bug that deleted ALL backups when you check &amp;quot;don&#039;t delete old backups.&amp;quot; That was embarrassing.&lt;br /&gt;
&lt;br /&gt;
===0.325===&lt;br /&gt;
*Added an experimental low-latency mode (faster server response, but more bandwidth required).&lt;br /&gt;
*Improved hacking detection: added anti-chat-spam and anti-grief (block spam) checks.&lt;br /&gt;
*New more aggressive anti-hacking checks for incoming movement and SetTile packets.&lt;br /&gt;
*Fixed an issue with fCraftUI console log getting truncated in the wrong places.&lt;br /&gt;
*Improved Mono compatibility (fixes HttpWebRequest failures).&lt;br /&gt;
&lt;br /&gt;
===0.324===&lt;br /&gt;
*Added /me command.&lt;br /&gt;
*Added step stacking.&lt;br /&gt;
*Fixed a case where disconnected players would leave a ghost behind.&lt;br /&gt;
*Improved shutdown speed.&lt;br /&gt;
*Implemented ProcessPriority setting.&lt;br /&gt;
&lt;br /&gt;
===0.323===&lt;br /&gt;
*Fixed players not being able to delete admincrete after promotion.&lt;br /&gt;
*Fixed a bug that allowed players to noclip into walls when using /tp or /bring.&lt;br /&gt;
*Fixed a security issue with &amp;quot;VerifyNames: Balanced&amp;quot;&lt;br /&gt;
*Added prototype of the security tab in ConfigTool (work in progress).&lt;br /&gt;
&lt;br /&gt;
===0.322===&lt;br /&gt;
*Added a range check to Player.SetTile, to prevent certain types of grief bots.&lt;br /&gt;
*Fixed a bug where map spawnpoint did not change after doing /load.&lt;br /&gt;
*Fixed some typos.&lt;br /&gt;
&lt;br /&gt;
===0.321===&lt;br /&gt;
*Fixed welcome messages not showing.&lt;br /&gt;
*Renamed /alias to /nick, and added a permission check.&lt;br /&gt;
&lt;br /&gt;
===0.320===&lt;br /&gt;
*Finally last fix for the disconnect problem. Sorry about that.&lt;br /&gt;
&lt;br /&gt;
===0.319===&lt;br /&gt;
*Quick fix for disconnect problem.&lt;br /&gt;
&lt;br /&gt;
===0.318===&lt;br /&gt;
*Fixed VerifyNames not saving properly when using ConfigTool.&lt;br /&gt;
*Fixed several potential crashers in Session and World.&lt;br /&gt;
*Fixed a bug that sometimes wrongly showed &amp;quot;class name not recognized&amp;quot;.&lt;br /&gt;
*Added class name autocompletion for class chat (@@classname blah)&lt;br /&gt;
*Started working on the new /load mode that allows loading different sized maps, and loading much faster (not done yet).&lt;br /&gt;
&lt;br /&gt;
===0.317===&lt;br /&gt;
*Optimized handling of player movement and some block/tile updates, making servers more responsive and less laggy.&lt;br /&gt;
*Fixed a possible crash that sometimes happened when server has 1 slot left and 2 people tried to join at once.&lt;br /&gt;
*Fixed a case where a Session object was not properly disposed.&lt;br /&gt;
*Fixed resizing issue in UpdateWindow and reduced connection timeout in Updater&lt;br /&gt;
*Disabled ShowPrefixesInChat and ShowPrefixesInList by default (breaks skin support)&lt;br /&gt;
*Added Player.Send, a safe wrapper for Player.session.Send&lt;br /&gt;
*Fixed /tp, /bring, and /setspawn commands that were broken in the last revision.&lt;br /&gt;
*Fixed ConfigTool not saving &amp;quot;IsPublic&amp;quot; setting correctly.&lt;br /&gt;
&lt;br /&gt;
===0.316===&lt;br /&gt;
*Added partial class-name matching for /class and /user commands.&lt;br /&gt;
*Fixed /banip and /banall not kicking the banned players immediately.&lt;br /&gt;
*Added /rules command. Create &amp;quot;rules.txt&amp;quot; in the server folder to specify.&lt;br /&gt;
*Fixed a bug where player movement sometimes got a little out of sync.&lt;br /&gt;
*Optimized /load speed a bit.&lt;br /&gt;
*Added nicer application icons.&lt;br /&gt;
&lt;br /&gt;
===0.315===&lt;br /&gt;
*Added visual color picker to ConfigTool&lt;br /&gt;
*Added lightweight console interface for fCraft&lt;br /&gt;
*Refactored the main update loop&lt;br /&gt;
&lt;br /&gt;
===0.314===&lt;br /&gt;
*Added AutomaticUpdates option.&lt;br /&gt;
*Integrated the color picker to ConfigTool.&lt;br /&gt;
*Improved hacking detection.&lt;br /&gt;
&lt;br /&gt;
===0.313===&lt;br /&gt;
*Fixed a few glitches left after switching file formats.&lt;br /&gt;
*Improved memory usage when saving maps.&lt;br /&gt;
*Fixed an updater-related crash.&lt;br /&gt;
&lt;br /&gt;
===0.312===&lt;br /&gt;
*New map format (FCM v2) should provide faster loading times.&lt;br /&gt;
*server_level.dat loader is now functional.&lt;br /&gt;
*Fixed possible crash if the default port was not available.&lt;br /&gt;
*Automatic updater should now work properly. More update options to come.&lt;br /&gt;
&lt;br /&gt;
===0.311===&lt;br /&gt;
*Preview version of automatic updater.&lt;br /&gt;
&lt;br /&gt;
===0.310===&lt;br /&gt;
*Cleaned up some VC# crapfiles.&lt;br /&gt;
*Added class prefixes and colors.&lt;br /&gt;
*Added PlaceWater and PlaceLava back to permissions.&lt;br /&gt;
*Fixed rank-limited permissions.&lt;br /&gt;
*Other assorted glitches fixed.&lt;br /&gt;
&lt;br /&gt;
===0.305===&lt;br /&gt;
*removed config.xml from svn.&lt;br /&gt;
&lt;br /&gt;
===0.304===&lt;br /&gt;
*More potential crashes fixed.&lt;br /&gt;
&lt;br /&gt;
===0.303===&lt;br /&gt;
*Fixed a couple potential crashes in ConfigTool and Config.DefineClass&lt;br /&gt;
&lt;br /&gt;
===0.302===&lt;br /&gt;
*Fixed a few minor ConfigTool bugs.&lt;br /&gt;
&lt;br /&gt;
===0.301===&lt;br /&gt;
*Forgot to save config from World.cs after parsing. Minor update.&lt;br /&gt;
&lt;br /&gt;
===0.300===&lt;br /&gt;
*ConfigTool finished. Note that some of the options do not have an effect yet.&lt;br /&gt;
&lt;br /&gt;
=Before 0.3xx=&lt;br /&gt;
*Version history was not kept before this point.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Version_history&amp;diff=2634</id>
		<title>Version history</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Version_history&amp;diff=2634"/>
		<updated>2017-04-30T06:40:17Z</updated>

		<summary type="html">&lt;p&gt;F: /* 0.443 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
=0.6xx=&lt;br /&gt;
===0.644===&lt;br /&gt;
&#039;&#039;27 January 2014 - r2327&#039;&#039;&lt;br /&gt;
*Fix: Fixed a bug that caused character &#039;@&#039; in player names to be treated same as &#039;_&#039; (thanks Dingus)&lt;br /&gt;
*Fix: Fixed a rare crash in {{cmd|ZEdit}} when using the command improperly.&lt;br /&gt;
*Fix: Fixed a DataError being thrown in ConfigGUI&#039;s &amp;quot;Worlds&amp;quot; tab after toggling rank prefixes on/off.&lt;br /&gt;
*Fix: Improved error reporting.&lt;br /&gt;
*Change: Improved reliability of external IP checks.&lt;br /&gt;
&lt;br /&gt;
===0.643===&lt;br /&gt;
&#039;&#039;15 October 2013 - r2234&#039;&#039;&lt;br /&gt;
*Fix: Fixed sometimes wrapping last word of a chat message to the next line, when the whole message could fit on one line (thanks AndrewPH).&lt;br /&gt;
*Fix: Installing updates no longer causes UAC prompts under Windows Vista.&lt;br /&gt;
*Fix: Fixed IRC periodically crashing if someone quits with an empty message.&lt;br /&gt;
*Fix: Fixed IRC-related crashes not being submitted to the crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.642===&lt;br /&gt;
&#039;&#039;27 August 2013 - r2180&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Fill3D}}.&lt;br /&gt;
*Feature: Added caret (^), tilde (~), and grave accent (`) to [[emotes]].&lt;br /&gt;
*Fix: Emotes work via IRC once again.&lt;br /&gt;
*Fix: ConfigGUI: Fixed &amp;quot;Add world&amp;quot; and &amp;quot;Edit world&amp;quot; popups sometimes locking up.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving LastFailedLoginIP properly.&lt;br /&gt;
*Change: Made it easy to switch heartbeat servers (minecraft.net to classicube or back) via ConfigGUI.&lt;br /&gt;
*Change: Added an optional second parameter to {{cmd|DumpStats}}, which allows specifying period of inactivity for filtering players.&lt;br /&gt;
*Change: Improved startup and shutdown times, and reduced CPU use.&lt;br /&gt;
*Change: {{cmd|Hide}} and {{cmd|Unhide}} now indicate when they are silent or not.&lt;br /&gt;
&lt;br /&gt;
===0.641===&lt;br /&gt;
&#039;&#039;17 August 2013 - r2150&#039;&#039;&lt;br /&gt;
*Feature: Improved the way {{cmd|EllipsoidH}} works on flat surfaces. Instead of filled ellipses, it now makes rings.&lt;br /&gt;
*Feature: Added {{cmd|Reply}} (&amp;lt;code&amp;gt;/re&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: {{cmd|Fill2D}} can now fill with any brush, not just solid color.&lt;br /&gt;
*Feature: Added &#039;&#039;HeartbeatUrl&#039;&#039; [[List of config keys#Advanced|config key]], to allow alternative heartbeat/authentication services. &#039;&#039;&#039;Note: [[HeartbeatSaver]] only needs to be updated IF you plan on using something other than minecraft.net&#039;&#039;&#039;&lt;br /&gt;
*Fix: Fixed a InvalidOperationException in ConfigGUI when re-drawing the map preview (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;Realistic&amp;quot; MapGen help (thanks Jonty800).&lt;br /&gt;
*Fix: Now correctly kicking custom premium-MC clients.&lt;br /&gt;
*Fix: Fixed help messages in [[HeartbeatSaver]] and {{cmd|MassRank}}.&lt;br /&gt;
*Fix: Fixed a potential way of revealing hidden players by messaging them.&lt;br /&gt;
*Change: ConfigGUI&#039;s port checker works again.&lt;br /&gt;
*Change: IRC bot will now retry for its primary nick every 30 seconds (thanks Dankirk).&lt;br /&gt;
&lt;br /&gt;
===0.640===&lt;br /&gt;
&#039;&#039;30 July 2013 - r2124&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Feature: [[Mojang accounts|Mojang account]] (email) support.&#039;&#039;&#039; Added {{perm|ViewEmails}} permission and a config option to disallow email users.&lt;br /&gt;
*Feature: Overhauled map generation! Improved {{cmd|Gen}}, new {{cmd|SetGen}} command, more options, preset loading/saving, redesigned ConfigGUI interface, and two new map generation modes: Vanilla (from [http://femto.fcraft.net FemtoCraft]) and FloatingIsland.&lt;br /&gt;
*Feature: Optional [http://www.regular-expressions.info/quickstart.html RegEx] filtering of filenames for [[MapRenderer]] and [[MapConverter]], enabled by &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Feature: Added &amp;lt;i&amp;gt;&amp;quot;Player ___ logged in from an IP shared by frozen players...&amp;quot;&amp;lt;/i&amp;gt; announcement.&lt;br /&gt;
*Feature: Added an optional parameter to toggle commands (grass, water, lava, solid, paint, static) &amp;amp;mdash; &amp;quot;on&amp;quot;/&amp;quot;1&amp;quot; or &amp;quot;off&amp;quot;/&amp;quot;0&amp;quot;.&lt;br /&gt;
*Feature: Added BackupOnMapChange config key, which automates backups when a world&#039;s map is replaced by /Gen or /WLoad (enabled by default).&lt;br /&gt;
*Feature: Added &amp;lt;code&amp;gt;/To&amp;lt;/code&amp;gt; as an alias of {{cmd|TP}}, and &amp;lt;code&amp;gt;/Flush&amp;lt;/code&amp;gt; as an alias for {{cmd|WFlush}}.&lt;br /&gt;
*Feature: [[MapRenderer]] is now much quicker, thanks to optimization and multithreading.&lt;br /&gt;
*Feature: Added ability to change capitalization of player&#039;s name using {{cmd|SetInfo}}.&lt;br /&gt;
*Fix: Fixed MapGenerator sometimes locking up when working with tiny 16x16 maps (thanks 123DMWM).&lt;br /&gt;
*Fix: Fixed world greetings not being saved between restarts (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed {{cmd|WLoad}} showing incorrect map file names when prompting to replace files (thanks Smokeybacon).&lt;br /&gt;
*Fix: Fixed [[Command_Tips#Restricting_player_name_search|online-only name prefix]] revealing hidden players in some commands (thanks Intertoothh and recon).&lt;br /&gt;
*Fix: When a spectating player gets frozen, they are no longer stuck spectating (thanks ruggedbear and NuclearWaffle121).&lt;br /&gt;
*Fix: IRC now handles two-number color codes and reset codes correctly (thanks Liam).&lt;br /&gt;
*Fix: Fixed map changes sometimes leaving behind &amp;quot;ghost maps&amp;quot; for players with rank-specific main maps set (thanks Jonty800).&lt;br /&gt;
*Fix: PlayerDB name autocompletion now correctly handles players with &#039;.&#039; in their names.&lt;br /&gt;
*Fix: Timed backups no longer drift slightly every hour.&lt;br /&gt;
*Fix: Players can now {{cmd|Clear}} their chat even while [[/Deafen|deaf]].&lt;br /&gt;
*Fix: Fixed a rare serialization issue with PlayerDB&#039;s RankChangedBy field.&lt;br /&gt;
*Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Now only allow either one directory, or one-or-more files to be specified. Multiple directories, and mixed directories/files are no longer allowed.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Disabled slow fallback conversion by default (which caused non-map files to take forever to skip in recursive mode). Old behavior can be reenabled with &amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Change: When auto-updating or restarting under Mono, fCraft no longer tries to use &amp;quot;mono-sgen&amp;quot;, now just using &amp;quot;mono&amp;quot; and assuming that runtime is properly configured.&lt;br /&gt;
*Change: {{cmd|WBuild}} and {{cmd|WAccess}} can optionally now take &amp;quot;@&amp;quot; in front of rank name.&lt;br /&gt;
*Change: Removed BackupOnJoin config key.&lt;br /&gt;
*Change: UpdateInstaller&#039;s &amp;lt;code&amp;gt;--restart&amp;lt;/code&amp;gt; parameter is more flexible.&lt;br /&gt;
*Change: Dropped Mono 2.6 support.&lt;br /&gt;
*Change: Optimizations in player movement code, PlayerDB loading/saving, IP ban list loading, map generation, map rendering, {{cmd|Ellipsoid}}, and {{cmd|Sphere}}.&lt;br /&gt;
&lt;br /&gt;
===0.639===&lt;br /&gt;
&#039;&#039;10 December 2012 - r1917&#039;&#039;&lt;br /&gt;
*Feature: Added RankPrefixesOnDisplayedNames config key (default: false), which controls whether to prepend rank prefixes to names of players with a custom DisplayedName set.&lt;br /&gt;
*Feature: Added BypassHttpsCertificateValidation config key (default: false), to ease HTTPS-related pains under Mono.&lt;br /&gt;
*Feature: Added MoveEmoteDotToEndOfMessage config key (default: true), which slightly changes emote formatting, by BobKare&#039;s request.&lt;br /&gt;
*Fix: Fixed a stability issue in the IRC bot.&lt;br /&gt;
*Fix: Fixed incorrect runtime version detection for Mono versions older than 2.6.&lt;br /&gt;
*Fix: Server now gives more informative messages when you try to do something disallowed to yourself (mute, unfreeze, ban, kick, etc).&lt;br /&gt;
*Fix: Fixed being able to teleport to hidden players (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed {{cmd|Unhide}} not faking a join message for hidden players (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed IRC bot sending USER before NICK (fixes occasional error 451) (thanks Hellenion).&lt;br /&gt;
*Change: Added ability to set players&#039; BandwidthUseMode via {{cmd|SetInfo}}.&lt;br /&gt;
*Change: Improved {{cmd|Env}}, {{cmd|UndoAreaNot}}, and {{cmd|Help}} messages.&lt;br /&gt;
*Change: Players&#039; connection messages in logs now include TimesVisited stat.&lt;br /&gt;
*Change: {{cmd|Help|commands}} is no longer an alias for {{cmd|Commands}} (thanks ruggedbear).&lt;br /&gt;
&lt;br /&gt;
===0.638===&lt;br /&gt;
&#039;&#039;29 November 2012 - r1887&#039;&#039;&lt;br /&gt;
*Feature: [[Emotes|Emote]] keywords and their Unicode equivalents can now be included in announcement and rule files.&lt;br /&gt;
*Feature: IRC bot now sends a quit message consisting of server name and shutdown reason.&lt;br /&gt;
*Fix: Fixed a very small chance of PlayerInfo.TimeMutedLeft returning negative time spans.&lt;br /&gt;
*Fix: Leading and trailing spaces are now trimmed from kick/ban/unban reasons.&lt;br /&gt;
*Fix: Fixed some emotes getting trimmed from {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} (thanks Intertoothh)&lt;br /&gt;
*Fix: Fixed RestartInterval starting two chat timers (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed ServerCLI using console colors for the first few messages even if &amp;lt;code&amp;gt;--noconsolecolor&amp;lt;/code&amp;gt; [[List of command-line options|command-line switch]] was given (thanks Hellenion)&lt;br /&gt;
*Change: Added &amp;lt;code&amp;gt;--noupdater&amp;lt;/code&amp;gt; command line switch, which stops fCraft from launching update installer binaries (although all other update-related behavior remains the same)&lt;br /&gt;
*Change: Player&#039;s own name is no longer considered in autocompletion/searches for commands that are not applicable to self (e.g. {{cmd|Ban}}, {{cmd|Mute}}, {{cmd|Ignore}}, {{cmd|TP}}, etc)&lt;br /&gt;
*Change: Logged global chat messages now have &amp;quot;(global)&amp;quot; prepended before player&#039;s name.&lt;br /&gt;
*API: Updated trunk project files to VisualStudio 2010. Target runtime remains .NET 3.5 Client Profile.&lt;br /&gt;
&lt;br /&gt;
===0.637===&lt;br /&gt;
&#039;&#039;16 October 2012 - r1847&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Emotes}} command, to list emotes and their keywords.&lt;br /&gt;
*Fix: Fixed IRC bot cutting off very long messages.&lt;br /&gt;
*Fix: Fixed {{cmd|Info}} not working with some IP ranges (thanks _BjorN64_).&lt;br /&gt;
*Fix: Fixed single-letter emote keywords not working (thanks Wundsalz).&lt;br /&gt;
*Fix: Improved the way IRC bot handles nick conflicts (thanks Jonty800).&lt;br /&gt;
*Fix: {{cmd|DumpStats}} no longer dies when an invalid file name is given (thanks Hellenion).&lt;br /&gt;
*Change: Added a new build configuration, DEBUG_NETWORKING, which traces all incoming and outgoing packets.&lt;br /&gt;
*Change: IRC bot now logs all outgoing messages when built in DEBUG_IRC configuration.&lt;br /&gt;
&lt;br /&gt;
===0.636===&lt;br /&gt;
&#039;&#039;10 October 2012 - r1832&#039;&#039;&lt;br /&gt;
*Feature: Check your configs! New options were added to control display of colors and emotes to/from IRC.&lt;br /&gt;
*Feature: Added {house} [[emotes|emote]]: ⌂ (0x7F).&lt;br /&gt;
*Fix: Fixed newline codes %n/%N not being parsed properly.&lt;br /&gt;
*Fix: Fixed a crash in Color.StripColors (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed random symbols appearing in stack traces in console (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed couple problems with Player.Moving event (thanks 00pol).&lt;br /&gt;
*Fix: Spawn points of MCSharp map files are now loaded correctly (thanks 00pol).&lt;br /&gt;
*Change: Players&#039; DisplayedNames may no longer contains line breaks.&lt;br /&gt;
&lt;br /&gt;
===0.635===&lt;br /&gt;
&#039;&#039;8 October 2012 - r1822&#039;&#039;&lt;br /&gt;
*Feature: Added support for &amp;quot;[[emotes]]&amp;quot; (chat symbols). New permission ({{perm|UseEmotes}}) and config key (IRCAllowEmotes) were added.&lt;br /&gt;
*Fix: Fixed numbers sometimes being accepted as valid (e.g. by {{cmd|Mute}}), although counted as 0-length time spans.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving strings with newlines properly.&lt;br /&gt;
*Fix: Fixed IRC bot sometimes producing messages that are a couple characters over the IRC message size limit (512 chars).&lt;br /&gt;
*Fix: Fixed players being able to use newline codes (&amp;amp;N/&amp;amp;n) on IRC.&lt;br /&gt;
*Fix: Fixed problems with UpdaterMode and BackupOnStartup settings in ConfigGUI.&lt;br /&gt;
*Fix: Fixed fCraft not building in DEBUG_IRC configuration.&lt;br /&gt;
*Change: Added a workaround for TermInfoDriver-related exceptions under Mono (thanks Hellenion)&lt;br /&gt;
*Change: Symbolic [[colors|color codes]] (e.g. %S) can now be used in chat.&lt;br /&gt;
*Change: Backslash can now be used to escape percent [[colors|color codes]] (e.g. \%C).&lt;br /&gt;
*Change: fCraft will now retry looking up the external IP up to 3 times.&lt;br /&gt;
*Change: Lots of documentation, annotation, and API improvements.&lt;br /&gt;
&lt;br /&gt;
===0.634===&lt;br /&gt;
&#039;&#039;30 September 2012 - r1796&#039;&#039;&lt;br /&gt;
*Fix: Fixed an occasional InvalidOperationException when auto-updating in ServerGUI.&lt;br /&gt;
*Fix: Fixed ConfigGUI showing misleading information in &amp;quot;unrecognized entry ignore&amp;quot; errors.&lt;br /&gt;
*Fix: Fixed Logger trying to write to file in [[MapConverter]] and [[MapRenderer]].&lt;br /&gt;
*Fix: Fixed [[MapRenderer]] and [[MapConverter]] spamming zone-related errors (thanks Hellenion and AndrewPH)&lt;br /&gt;
*Fix: Fixed {{cmd|UndoPlayerNot}} help entry (thanks ruggedbear)&lt;br /&gt;
*Change: Heartbeat code now uses HTTPS, as mandated by Mojang. If you use Mono, see http://www.mono-project.com/FAQ:_Security&lt;br /&gt;
*Change: Removed support for the malfunctioning WoM Direct heartbeat service.&lt;br /&gt;
*Change: RankChangeReason is now shown as a &amp;quot;Rank note&amp;quot; in {{cmd|Info}}, even if no other data (PreviousRank/RankChangedBy/RankChangeDate) exists (thanks Wundsalz)&lt;br /&gt;
&lt;br /&gt;
===0.633===&lt;br /&gt;
&#039;&#039;26 September 2012 - r1788&#039;&#039;&lt;br /&gt;
*Feature: Added checkbox for HeartbeatEnabled config key to ConfigGUI, on the advanced tab.&lt;br /&gt;
*Fix: Fixed heartbeat/verification issues caused by &amp;quot;no-www&amp;quot; changes made by Mojang at minecraft.net&lt;br /&gt;
*Fix: Fixed VisualStudio designer being unable to load ConfigGUI.MainForm.&lt;br /&gt;
*Fix: Fixed {{cmd|ZMark}} being spammy (thanks ruggedbear).&lt;br /&gt;
*Fix: Binding &amp;quot;air&amp;quot; block to something now works as expected (deleted blocks are replaced with the binding) (thanks Hellenion).&lt;br /&gt;
*Fix: Added missing tooltips to &amp;quot;Data Backup&amp;quot; checkbox in ConfigGUI (thanks PhoneBook_).&lt;br /&gt;
*Fix: Added [[HeartbeatSaver]] to UpdateInstaller and list of protected filenames.&lt;br /&gt;
*Fix: Fixed occasional startup crash in [[HeartbeatSaver]].&lt;br /&gt;
*Change: {{cmd|Reload|Autorank}} now triggers a re-scan of the whole PlayerDB.&lt;br /&gt;
*Change: Added code to BlockDB to recover misaligned .fbdb files. BlockDB files are supposed to be aligned to 20 bytes. Misalignment might happen if writing didn&#039;t finish properly - e.g. power outage, or ungraceful shutdown.&lt;br /&gt;
*Change: Improved consistency of exit codes in [[HeartbeatSaver]], [[MapConverter]], and [[MapRenderer]].&lt;br /&gt;
&lt;br /&gt;
===0.632===&lt;br /&gt;
&#039;&#039;14 September 2012 - r1765&#039;&#039;&lt;br /&gt;
*Feature: Added standalone [[HeartbeatSaver]] utility, a heartbeat-sending daemon.&lt;br /&gt;
*Feature: Added a way to specify scale/turbulence/seed for cloudy brush.&lt;br /&gt;
*Feature: Renamed &amp;quot;IRC&amp;quot; LogType to &amp;quot;IRCStatus&amp;quot;, and added &amp;quot;IRCChat&amp;quot; LogType. Check your configs.&lt;br /&gt;
*Fix: Fixed the updater. You&#039;ll have to update from version 0.631 manually (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed a bug related to multiple players trying to join an almost-full server at the same time.&lt;br /&gt;
*Fix: Fixed a rare InvalidOperationException crash in ConfigGUI.&lt;br /&gt;
*Fix: Fixed reversed order in {{cmd|BlockInfo}} (thanks recon_).&lt;br /&gt;
*Fix: Fixed a few formatting errors in feedback messages.&lt;br /&gt;
*Fix: Fixed a rare disconnect related to a spectator trying to follow a spectatee to a full world.&lt;br /&gt;
*Fix: Fixed {{cmd|Hide}} not showing a fake disconnect message when needed.&lt;br /&gt;
*Fix: Fixed {{cmd|WRename}} prompting for file overwrite when changing capitalization in a world name.&lt;br /&gt;
*Fix: Fixed UndoArea/UndoAreaNot and UndoPlayer/UndoPlayerNot messages occasionally getting mixed up.&lt;br /&gt;
*Fix: Fixed players being unable to join the server if access restrictions prevent them from joining the rank-specific main world.&lt;br /&gt;
*Fix: {{cmd|WRemove}} now correctly handles removing rank-main worlds.&lt;br /&gt;
*Fix: Fixed a case where newlines in PlayerInfo or IPBanInfo fields would cause record corruption.&lt;br /&gt;
*Fix: Fixed reversed messages in {{cmd|DoNotMark}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed ServerCLI sometimes staying open, waiting on console input, when it&#039;s supposed to shut down or restart.&lt;br /&gt;
*Change: Sped up &amp;quot;cloudy&amp;quot; brush when working with large draw commands.&lt;br /&gt;
*Change: Crash reporter now submits list of names and versions of all loaded assemblies, to help identify mismatched or missing dependencies.&lt;br /&gt;
*Change: Added logging to every confirmation prompt, &amp;quot;/ok&amp;quot;, {{cmd|BlockDB}} enabling/disabling/clearing, {{cmd|ZRemove}}, {{cmd|InfoSwap}}, and {{cmd|Env}}.&lt;br /&gt;
*Change: Any pending confirmations are now reset on world change.&lt;br /&gt;
*Change: Added /I as an alias for {{cmd|Info}}, and /CS as an alias for {{cmd|CopySlot}}.&lt;br /&gt;
*Change: Removed &amp;quot;marbled&amp;quot; brush (&amp;quot;cloudy&amp;quot; works just as well) and FCMv4 map format support (development canceled).&lt;br /&gt;
*Change: {{cmd|Where}} command now only requires {{perm|ViewOthersInfo}} permission to see other players&#039; whereabouts. It can be used by anyone on self.&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.631===&lt;br /&gt;
&#039;&#039;5 September 2012 - r1741&#039;&#039;&lt;br /&gt;
*Feature: Added a way to restrict commands to match online players&#039; names only, by prefixing the name with an exclamation mark (!). See [[Command Tips]] for more.&lt;br /&gt;
*Feature: Added {{cmd|DoNotMark}} command. When toggled on, clicking on blocks does not cause marks to be added to a selection.&lt;br /&gt;
*Fix: Included MapConverter.exe and MapRenderer.exe in list of protected filenames.&lt;br /&gt;
*Fix: Fixed a potential crash in Paths.FileExists when working in case-sensitive mode in a root directory.&lt;br /&gt;
*Fix: Fixed ConfigGUI not loading permission limits properly (thanks recon_).&lt;br /&gt;
*Fix: Added missing fake connection message when using non-silent {{cmd|Unhide}} (thanks Wundsalz).&lt;br /&gt;
*Change: Improvements to fCraft&#039;s built-in crash reporter.&lt;br /&gt;
*Change: Blocks redone with {{cmd|Redo}} are now flagged as &amp;quot;Redone&amp;quot; in /BlockInfo (instead of &amp;quot;UndoneSelf&amp;quot;), [[/Paint|painted]] blocks as &amp;quot;Painted&amp;quot; (instead of &amp;quot;Manual, Replaced&amp;quot;).&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.630===&lt;br /&gt;
&#039;&#039;4 September 2012 - r1727&#039;&#039;&lt;br /&gt;
*Feature: New permissions! {{perm|FlushWorlds}} (previously part of {{perm|ManageWorlds}}), {{perm|UseTimers}} (previously part of {{perm|Say}}), and {{perm|UndoAll}}.&lt;br /&gt;
*Feature: Added ability to undo multiple players&#039; actions at once, or EVERYONE&#039;s actions at once, using {{cmd|UndoPlayer}} and {{cmd|UndoArea}}. Command syntax changed, see wiki.&lt;br /&gt;
*Feature: {{cmd|Info}} now shows whether minecraft.net accounts are free or paid.&lt;br /&gt;
*Feature: Added special &amp;quot;skip&amp;quot;/&amp;quot;none&amp;quot; blocktype, usable with brushes and draw commands.&lt;br /&gt;
*Feature: Added ability to clear world/zone whitelists and blacklists. Use &amp;quot;-*&amp;quot; in place of player name to clear whitelist, and &amp;quot;+*&amp;quot; to clear blacklist.&lt;br /&gt;
*Feature: Added a way to remove all zones in a world, {{cmd|ZRemove|*}}.&lt;br /&gt;
*Feature: Added {{cmd|UndoAreaNot}} (/uan) and {{cmd|UndoPlayerNot}} (/upn), which reverse changes made by everyone EXCEPT the given player(s).&lt;br /&gt;
*Feature: Added [[MapConverter]] and [[MapRenderer]] utilities.&lt;br /&gt;
*Feature: {{cmd|CuboidW}} now supports optionally filling sides and center with different blocktypes, e.g. &amp;quot;/cw white blue red&amp;quot;.&lt;br /&gt;
*Fix: Fixed ServerCLI launching the wrong fCraft binary after running the updater.&lt;br /&gt;
*Fix: Fixed a missing warning in {{cmd|Gen}} when map height is not a multiple of 16.&lt;br /&gt;
*Fix: Fixed a rare case of players receiving desynchronized copies of maps where draw commands are in progress.&lt;br /&gt;
*Fix: Fixed a crash in {{cmd|Commands|&amp;lt;Category&amp;gt;}}&lt;br /&gt;
*Fix: Fixed potential crashes when working with files in root directories (e.g. C:/)&lt;br /&gt;
*Fix: Improved {{cmd|BanEx}} logging.&lt;br /&gt;
*Fix: Improved support for Myne/MyneCraft/HyveBuild/iCraft maps.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog in ConfigGUI defaulting to 20 minutes, instead of &amp;quot;(default)&amp;quot;.&lt;br /&gt;
*Fix: Fixed SaveInterval and BackupInterval being limited to just 100 seconds/minutes in ConfigGUI (thanks Hellenion).&lt;br /&gt;
*Fix: Improved consistency of timestamp format in logs (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed being unable to remove world greetings via {{cmd|WSet}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed IRC bot cutting off long messages (thanks Hellenion).&lt;br /&gt;
*Change: Improved performance of {{cmd|Gen}}, {{cmd|WLoad}}, world loading, and all BlockDB-related commands.&lt;br /&gt;
*Change: Adjustments to block names and aliases, as well as command aliases.&lt;br /&gt;
*Change: Merged {{cmd|Cancel}} and /Nvm commands.&lt;br /&gt;
*Change: &amp;quot;&amp;amp;N&amp;quot; is now usable as a &amp;quot;newline&amp;quot; constant in all configurable strings (rules, announcements, greetings, etc), and &amp;quot;%N&amp;quot; is usable by players with {{perm|UseColorCode}} permissions.&lt;br /&gt;
*Change: Made {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} usable by frozen players.&lt;br /&gt;
*Change: Added a warning to /Colors regarding the minimum rank required to use colorcodes in chat (thanks Jonty800).&lt;br /&gt;
*Change: Ignoring a player no longer prevents you from seeing {{cmd|Say}} messages written by them.&lt;br /&gt;
*Change: {{cmd|Paint}}, {{cmd|Solid}}, {{cmd|Grass}}, {{cmd|Water}}, and {{cmd|Lava}} are no longer usable by players without Build permission, and dont show up in /Commands for them.&lt;br /&gt;
*Change: Clarified {{cmd|ZEdit}} messages when trying to remove self from blacklist, or add yourself to whitelist.&lt;br /&gt;
*Change: {{cmd|Mute}}, {{cmd|Unmute}}, {{cmd|Freeze}}, and {{cmd|Unfreeze}} are now also usable on offline players.&lt;br /&gt;
*Change: Session threads are no longer marked as &amp;quot;background&amp;quot;, to prevent unexpected side effects from session threads being aborted on shutdown. This might slow down shutdown a bit, but there is less to go wrong.&lt;br /&gt;
*Change: World greetings can now support constants.&lt;br /&gt;
*Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.&lt;br /&gt;
*Change: Process exit code is now set to match ShutdownReason.&lt;br /&gt;
*API: Added ChatTimer.Started and ChatTimer.Stopped events, rewrote BlockDB, MapConversion, and IsoCat APIs.&lt;br /&gt;
*API: Many documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.624===&lt;br /&gt;
&#039;&#039;16 July 2012 - r1636&#039;&#039;&lt;br /&gt;
*Fix: Fixed BlockDB time-limiting code trimming too much data from the database.&lt;br /&gt;
*Fix: CommandBook ban import now accepts any filename that ends with &amp;quot;.csv&amp;quot;, not just &amp;quot;bans.csv&amp;quot;.&lt;br /&gt;
*Fix: ServerCLI no longer crashes upon receiving EOF from console.&lt;br /&gt;
*Fix: Fixed a rare case of hidden players being revealed (briefly) when their rank is changed.&lt;br /&gt;
*Fix: Fixed [[/Spectate]] leaving ghost players behind on world change (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed a couple typos in [[/WLock]] and [[/WUnlock]] (thanks ImNoobSoWhat).&lt;br /&gt;
*Change: Added server name to [[/ServerInfo]]&lt;br /&gt;
*Change: If opening a link fails (from ConfigGUI or ServerGUI), the URL is copied to clipboard, instead of crashing.&lt;br /&gt;
*Change: &amp;quot;[[/Import]] bans&amp;quot; no longer prints a message for every player who&#039;s already banned, instead showing a total number of already-banned players at the end.&lt;br /&gt;
*Change: Added a missing &amp;quot;Copy&amp;quot; context menu to the ServerGUI&#039;s log box (thanks to Jonty800).&lt;br /&gt;
*Change: fCraft front-ends now check fCraft.dll&#039;s assembly version, and refuse to start if there is a mismatch (Thanks Zaneo).&lt;br /&gt;
&lt;br /&gt;
===0.623===&lt;br /&gt;
&#039;&#039;9 July 2012 - r1624&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in [[/PasteX]] and [[/PasteNotX]].&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] crash when given a non-banned IP address.&lt;br /&gt;
*Fix: Fixed a crash in Player.DetectChatSpam if AntiSpam was supposed to be disabled.&lt;br /&gt;
*Fix: Fixed typos in comments and messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed a crash in [[/ZAdd]] (thanks thelonedrummer18).&lt;br /&gt;
&lt;br /&gt;
===0.622===&lt;br /&gt;
&#039;&#039;6 July 2012 - r1619&#039;&#039;&lt;br /&gt;
*Feature: ServerGUI message log is now color-coded, easier to select/copy/paste, and featuring clickable links.&lt;br /&gt;
*Fix: Fixed several regressions in [[/Hide]] and [[/Spectate]] that were introduced in 0.620-0.621 (thanks mark_b).&lt;br /&gt;
*Fix: Fixed [[/Deafen]] being usable from console (thanks phonebookguy).&lt;br /&gt;
*Fix: Fixed a crash in Paste/PasteNot/PasteX/PasteNotX (thanks Grant).&lt;br /&gt;
*Misc: Updated some draw command messages, credits, help entries, warnings.&lt;br /&gt;
&lt;br /&gt;
===0.621===&lt;br /&gt;
&#039;&#039;5 July 2012 - r1612&#039;&#039;&lt;br /&gt;
*Feature: Added CommandBook banlist (bans.csv) support to [[/Import]].&lt;br /&gt;
*Feature: Added a way to list all players of a certain rank with &amp;quot;[[/Info]] @ClassName&amp;quot;.&lt;br /&gt;
*Feature: Added {PLAYER_LIST} variable, for use in greetings/announcements/rules.&lt;br /&gt;
*Fix: Fixed changes to DefaultBackupInterval config key not being applied.&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] showing &amp;quot;players on same IP&amp;quot; for players without a recorded IP address.&lt;br /&gt;
*Fix: Fixed fCraft occasionally using localized datetime and number formatting.&lt;br /&gt;
*Fix: Fixed [[/Cut]] storing the selected blocks before checking player&#039;s draw limit (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed [[/Fill2D]] starting a selection even if command parameters could not be parsed (thanks David00143).&lt;br /&gt;
*Fix: Fixed [[/Copy]] and [[/Cut]] reporting incorrect origin information (thanks nope__avi).&lt;br /&gt;
*Fix: Players who are spectating or being spectated by you are no longer hidden from the tab player list (thanks ruggedbear).&lt;br /&gt;
*Change: If multiple players are spectating the same player, they no longer see each other (thanks Hellenion).&lt;br /&gt;
*Change: Small improvements and fixes to [[/WSet]] and to AntiSpam functionality.&lt;br /&gt;
*Change: Sped up PlayerDB loading on startup.&lt;br /&gt;
*Change: Added shortcuts for [[/SetInfo]] field names.&lt;br /&gt;
&lt;br /&gt;
===0.620===&lt;br /&gt;
&#039;&#039;17 June 2012 - r1592&#039;&#039;&lt;br /&gt;
*Feature: WoM Direct description and flags can now be set from config, without the need to go to WoM Direct website.&lt;br /&gt;
*Feature: Added a new [[/WSet]] command, that allows hiding worlds, changing backup settings, and setting greeting messages.&lt;br /&gt;
*Feature: More [[/WInfo]] information is persisted across server restarts: IsLocked, LockedBy, UnlockedBy, LoadedBy, LoadedOn, MapChangedBy, MapChangedOn.&lt;br /&gt;
*Feature: Added IRCStripMinecraftColors config key (default: true). It determines whether Minecraft colorcodes (ampersand codes) entered on IRC should be removed before showing the message in-game.&lt;br /&gt;
*Fix: Fixed incorrect percentages occasional being printed by [[/Measure]], [[/Cancel]], and [[/Undo]].&lt;br /&gt;
*Fix: Locked worlds remain locked after server restart.&lt;br /&gt;
*Fix: Addressed many flaws and glitches in the backup system.&lt;br /&gt;
*Fix: Fixed a case where draw commands that affected no blocks caused division by zero&lt;br /&gt;
*Fix: Fixed a PlayerDB record corruption bug that affected numbers over 100,000,000.&lt;br /&gt;
*Fix: Fixed a stability issue related to LineWrapper (thanks Kevinsweijen and Mc_MrCat).&lt;br /&gt;
*Fix: Fixed IRC markup codes being forwarded to the server in IRC&#039;s channel-kick messages.&lt;br /&gt;
*Fix: Fixed [[/Unmute]] not checking rank limits (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;IP&amp;gt;&amp;quot; and &amp;quot;[[/BanAll]] &amp;lt;PlayerName&amp;gt;&amp;quot; not checking ban exemptions when kicking players (thanks BobKare).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;PlayerName&amp;gt;&amp;quot; not kicking all the players from IP address.&lt;br /&gt;
*Fix: Fixed Undo/Redo messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed compatibility with Mono 2.10.8.1 (thanks Hawkzeh).&lt;br /&gt;
*Change: Removed [[/WHide]] and [[/WUnhide]] (obsoleted by [[/WSet]]).&lt;br /&gt;
&lt;br /&gt;
===0.618===&lt;br /&gt;
&#039;&#039;22 April 2012 - r1568&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in ConfigGUI when trying to sort by map size and a map file is missing (thanks Moose).&lt;br /&gt;
*Change: Ampersands are no longer allowed in chat, even escaped, due to unpredictable Minecraft client behavior.&lt;br /&gt;
&lt;br /&gt;
===0.617===&lt;br /&gt;
&#039;&#039;21 April 2012 - r1564&#039;&#039;&lt;br /&gt;
*Feature: [[/BInfo]] now accepts optional XYZ coordinates, like [[/Mark]].&lt;br /&gt;
*Fix: Added a workaround for &amp;quot;Internal error Flush&amp;quot; under Mono.&lt;br /&gt;
*Fix: Fixed [[/WBring]] printing incorrect usage syntax (thanks recon_)&lt;br /&gt;
*Fix: Fixed typo in [[/BlockDB]] (thanks xN8Gx)&lt;br /&gt;
*Fix: Fixed IRC bots not binding to the specified local endpoint.&lt;br /&gt;
*Fix: Fixed &amp;quot;PreviousRank&amp;quot; not getting updated by [[/SetInfo]] working (thanks nope__avi)&lt;br /&gt;
*Fix: Fixed several rare stability issues (thanks Kevinsweijen).&lt;br /&gt;
*Fix: Fixed [[/Undo]] and [[/Redo]] producing odd log messages if 0 blocks have been changed.&lt;br /&gt;
*&amp;lt;s&amp;gt;Change: Allowed &#039;&amp;amp;&#039; character (ampersand) to be entered in chat, which is now escaped.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===0.616===&lt;br /&gt;
&#039;&#039;10 March 2012 - r1498&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Import]] terminating when importing bans, if a player with the given name is already banned.&lt;br /&gt;
*Fix: Fixed a formatting error in [[/Bring]] and [[/WBring]] confirmation messages.&lt;br /&gt;
*Fix: Fixed mixed-up messages in [[/WAccess]] and [[/WBuild]] when removing players from blacklist/whitelist (thanks ruggedbear and xN8Gx)&lt;br /&gt;
*Fix: Fixed [[/Static]] not turning off after switching worlds (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed [[/Rotate]] printing incorrect copyslot number (thanks Mc_MrCat)&lt;br /&gt;
*Fix: Fixed a ServerGUI crash when pressing the down arrow key after typing in the first console message (thanks Jason)&lt;br /&gt;
*Fix: [[/Me]] messages no longer count towards stats twice (thanks recon_)&lt;br /&gt;
*Fix: [[/Mute]] and [[/Unmute]] now usable with &amp;quot;-&amp;quot; in place of player name (thanks thelonedrummer18)&lt;br /&gt;
*Fix: Fixed README.txt typo (thanks Wolfmade)&lt;br /&gt;
&lt;br /&gt;
===0.615===&lt;br /&gt;
&#039;&#039;2 February 2012 - r1445&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Patrol]] checking Spectate permission, and [[/SpecPatrol]] not checking it.&lt;br /&gt;
*Fix: Fixed [[/WRename]] not updating player&#039;s last-used-world-name (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed colorcodes (%-codes) not getting applied consistently (thanks BobKare)&lt;br /&gt;
*Fix: Fixed a rare name-verification issue that only affected players whose ranks have been imported (thanks Mc_MrCat)&lt;br /&gt;
*Fix: ServerGUI now correctly interprets &amp;quot;Notify&amp;quot; and &amp;quot;Auto&amp;quot; updater settings.&lt;br /&gt;
*Change: Data backups are now stored in ./databackups/ directory.&lt;br /&gt;
&lt;br /&gt;
===0.614===&lt;br /&gt;
&#039;&#039;24 January 2012 - r1426&#039;&#039;&lt;br /&gt;
*Fix: Fixed server crashing if PlayerDB.txt exists but is empty.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Join]] -&amp;quot; using player names, and &amp;quot;[[/TP]] -&amp;quot; using world names.&lt;br /&gt;
*Fix: Solved File.Replace-related errors, which caused occasional save failures.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking caller&#039;s Spectate permission limit when selecting the next target.&lt;br /&gt;
*Fix: Fixed &amp;quot;random&amp;quot; brush producing obvious repeating patterns.&lt;br /&gt;
*Fix: Fixed auto-updater occasionally freezing when attempting to &amp;quot;Restart Now&amp;quot;.&lt;br /&gt;
*Fix: Added permission limit check to [[/Unfreeze]] (thanks Xb0x4d4m)&lt;br /&gt;
*Fix: Improved the way [[/Bring]] and [[/WBring]] enforce access permissions (thanks Hellenion)&lt;br /&gt;
*Change: Added more information about player connects/disconnects to log file.&lt;br /&gt;
&lt;br /&gt;
===0.613===&lt;br /&gt;
&#039;&#039;11 January 2012 - r1401&#039;&#039;&lt;br /&gt;
*Fix: Fixed ConfigGUI not saving changes to ShowConnectionMessages key.&lt;br /&gt;
*Fix: Fixed a case where ConfigGUI could crash while attempting to rename a world.&lt;br /&gt;
*Fix: All spectate permissions are now re-checked when someone gets promoted or demoted.&lt;br /&gt;
*Fix: Fixed ConfigGUI Worlds tab crash when dealing with zoned maps.&lt;br /&gt;
*Fix: Fixed IRC bot not retrying for desired nickname after reconnecting&lt;br /&gt;
*Fix: Fixed a case where editing a world via ConfigGUI would clear security whitelists/blacklists.&lt;br /&gt;
*Fix: Fixed spectating players not being treated as hidden (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed formatting in &amp;quot;Player ___ got auto-kicked&amp;quot; message (thanks BobKare)&lt;br /&gt;
*Fix: Fixed auto-kick revealing hidden players (thanks BobKare)&lt;br /&gt;
*Fix: Fixed RandomBrush-related [[/Undo]] artifacts in [[/Triangle]] (thanks Lunara_Noctis)&lt;br /&gt;
&lt;br /&gt;
===0.612===&lt;br /&gt;
&#039;&#039;14 December 2011 - r1307&#039;&#039;&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] @Rank&amp;quot; not autocompleting rank names.&lt;br /&gt;
*Fix: Fixed compatibility with legacy PlayerDB format versions. PlayerDB files created by fCraft 0.400+ will work again.&lt;br /&gt;
*Fix: Fixed several syntax problems and crashes in /Gen.&lt;br /&gt;
*Fix: Fixed a bug that reset a world&#039;s BackupInterval to default and IsLocked flag to false after changing the map (backport from 0.700).&lt;br /&gt;
*Fix: Fixed a bug that prevented kicks/bans/promotions/demotions from being announced on IRC if no reason was given.&lt;br /&gt;
*Change: Capped all user-entered time spans at 9999 days.&lt;br /&gt;
*Change: Shortened and clarified some confirmation prompts ([[/Gen]], [[/WLoad]], [[/ZRemove]], [[/Import]], [[/MassRank]]).&lt;br /&gt;
&lt;br /&gt;
===0.611===&lt;br /&gt;
&#039;&#039;3 December 2011 - r1282&#039;&#039;&lt;br /&gt;
*Feature: Added information about periodic backups to [[/WInfo]].&lt;br /&gt;
*Fix: Fixed [[/Players]] not working properly if both world name and offset were given.&lt;br /&gt;
*Fix: Fixed [[/WAccess]], [[/WBuild]], and [[/ZEdit]] not working with one-letter rank names.&lt;br /&gt;
*Fix: Fixed [[/BanIP]], /BanAll, /UnbanIP, and /UnbanAll treating fully numeric player names as IPs.&lt;br /&gt;
*Fix: Fixed [[/SetInfo]] not resetting PlayerInfo.LastModified date.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] populated&amp;quot; revealing worlds with hidden players.&lt;br /&gt;
*Fix: Fixed [[/BringAll]] ignoring per-rank limits in some cases (thanks ferny530)&lt;br /&gt;
*Fix: Fixed appearance of black and white blocks in [[/Env]] edges (thanks Jonty)&lt;br /&gt;
*Fix: Fixed a bug in Position.Equals&amp;lt;Position&amp;gt;(), which may have caused unnecessary position updates in Player.UpdateVisibleEntities (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed a little crash in Chat.GetRawMessageType (thanks ruggedbear)&lt;br /&gt;
*Fix: Fixed a case where Player.CanPlace checked permissions against the wrong world&#039;s BuildSecurity controller (thanks Xesdra)&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Commands]] @Rank&amp;quot; showing hidden commands (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed a typo in [[/Worlds]] (thanks Kevinsweijen)&lt;br /&gt;
*Fix: Fixed BlockDBAutoEnable and BlockDBAutoEnableRank config keys being placed in the &amp;quot;General&amp;quot; section.&lt;br /&gt;
*Change: Improved config.xml format (now version 152). Configs created with fCraft 0.611+ will not be usable with older versions of fCraft.&lt;br /&gt;
*Change: Rewrote ServerGUI startup code to make it more responsive (thanks to 800craft for the idea).&lt;br /&gt;
*Change: Added information about command-line options to the README, and fixed some typos.&lt;br /&gt;
*Change: MaxConnectionsPerIP restriction no longer applies to localhost.&lt;br /&gt;
*Change: Increased block-ratio limit for &amp;quot;random&amp;quot;, &amp;quot;cloudy&amp;quot;, and &amp;quot;marbled&amp;quot; brushes from 1000 to 10,000.&lt;br /&gt;
&lt;br /&gt;
===0.610===&lt;br /&gt;
&#039;&#039;18 November 2011 - r1240&#039;&#039;&lt;br /&gt;
*Feature: Added [[/Fill2D]] (/f2d), [[/Triangle]] (/t), and [[/TriangleW]] (/tw) draw commands.&lt;br /&gt;
*Feature: Added ability to filter [[/Worlds]] by rank.&lt;br /&gt;
*Feature: Added [[/Static]] (a way to repeat selection commands).&lt;br /&gt;
*Feature: Added MaxUndoStates config key (how many steps back can [[/Undo]] go), and ConfigGUI bindings.&lt;br /&gt;
*Feature: Added experimental IP-range lookup to [[/Info]] (CIDR notation). Changed /Info pattern-matching single-character symbol from &#039;.&#039; to &#039;?&#039;&lt;br /&gt;
*Feature: Added pagination to [[/Players]].&lt;br /&gt;
*Feature: [[/Spectate]] and [[/SpecPatrol]] now show what commands, PMs, and rank messages the target types in.&lt;br /&gt;
*Feature: Added a way to change server salt without needing a restart, using &amp;lt;code&amp;gt;[[/Reload]] Salt&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: [[/Measure]] now shows statistics about block types in the selection.&lt;br /&gt;
*Feature: [[/Gen]] now has two new templates: &amp;quot;ocean&amp;quot; and &amp;quot;empty&amp;quot;&lt;br /&gt;
*Fix: Many fixes in name-retyping functionality.&lt;br /&gt;
*Fix: Addressed stability issues in LineWrapper and Undo/Redo.&lt;br /&gt;
*Fix: Fixed [[/WLock]] not canceling all draw commands (as intended).&lt;br /&gt;
*Fix: Fixed some outdated descriptions, links, and tooltips in ConfigGUI.&lt;br /&gt;
*Fix: Fixed being able to BanIP/BanAll/UnbanIP/UnbanAll invalid IP addresses (0.0.0.0 and 255.255.255.255).&lt;br /&gt;
*Fix: Fixed [[/Info]] printing a blank page (instead of the last page) if given offset is greater than the total number of matches.&lt;br /&gt;
*Fix: Fixed rank prefixes being appended to players&#039; names if DisplayedName is set.&lt;br /&gt;
*Fix: Fixed a couple rare crashes/hangs in ServerGUI when parsing console commands.&lt;br /&gt;
*Fix: Fixed [[/Ban]] and [[/Unban]] announcing when they&#039;re not supposed to.&lt;br /&gt;
*Fix: Fixed a potential crash in [[/BanInfo]] when looking up an IP address directly (no player name).&lt;br /&gt;
*Fix: Fixed another obscure way of revealing hidden players.&lt;br /&gt;
*Fix: Fixed Beta client kick message (thanks Voziv).&lt;br /&gt;
*Fix: Fixed [[/Commands]] defaulting to printing ALL commands.&lt;br /&gt;
*Fix: Fixed [[/Undo]] trying to re-cancel canceled commands.&lt;br /&gt;
*Fix: Fixed uncaught &amp;quot;Illegal characters in path.&amp;quot; exception when trying to save a [[/Gen]]&#039;erated map to an invalid filename.&lt;br /&gt;
*Fix: Fixed typos in [[/ReplaceNot]] and [[/UndoArea]].&lt;br /&gt;
*Change: Added a warning on startup if name verification is disabled.&lt;br /&gt;
*Change: Tweaks and improvements to [[/Info]], [[/WInfo]], [[/BanInfo]], [[/SetInfo]], and [[/Commands]].&lt;br /&gt;
*Change: Removed code that tries next port if the given one could not be used. Now fCraft either starts on the port specified in config, or dies.&lt;br /&gt;
*Change: Commands now complain about being given too many parameters (in addition to complaining about too few parameters). This should help catch mistyped commands.&lt;br /&gt;
*Change: Added an option to disable giant-tree generation in ConfigGUI&#039;s map generator.&lt;br /&gt;
*Change: Changed log format for bans/kicks to include more information, and fixed log message format for &amp;quot;Player ____ logged in from an IP shared by banned players...&amp;quot;&lt;br /&gt;
*Change: Included config.xml in the automated data backup.&lt;br /&gt;
*Change: ConfigGUI tweaks and improvements.&lt;br /&gt;
*Change: Changes some aliases:&lt;br /&gt;
**Added /Whois and /WhoWas as aliases for [[/Info]].&lt;br /&gt;
**Set &amp;quot;/B&amp;quot; and &amp;quot;/About&amp;quot; to be aliases for [[/BInfo]].&lt;br /&gt;
*Change: Changed some ConfigKey defaults:&lt;br /&gt;
**BlockDBEnabled defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
**WomEnableEnvExtensions defaults to &amp;quot;false&amp;quot;&lt;br /&gt;
**IRCBotAnnounceServerEvents defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
*Change: Discontinued ServerWinService (formerly fCraftWinService) subproject.&lt;br /&gt;
*API: Improved Vector3I, Vector3F, and Position classes a bit.&lt;br /&gt;
*API: New events: DrawOperation.Beginning / Began / Ended&lt;br /&gt;
*API: Changed the way PlayerInfo stores empty string fields. Instead of a 0-length string, it now uses nulls.&lt;br /&gt;
*Optimization: Sped up PlayerDB loading/saving, and boolean ConfigKey lookup.&lt;br /&gt;
&lt;br /&gt;
===0.604===&lt;br /&gt;
&#039;&#039;23 October 2011 - r1155&#039;&#039;&lt;br /&gt;
*Feature: Added support for repeating previously-entered player and world names. Just put a dash (-) in place of the player/world name when using a command, and fCraft will fill in the most-recently-used name.&lt;br /&gt;
*Fix: Fixed an occasional SecurityController-related crash in [[/Gen]], [[/WLoad]], and ConfigGUI world editor.&lt;br /&gt;
*Fix: Fixed an very rare problem in shutdown/restart commands.&lt;br /&gt;
*Fix: Fixed a rare crash that only happened if: MaxPlayers&amp;gt;128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.&lt;br /&gt;
*Fix: Fixed naming of paste/pastenot and pastex/pastenotx&lt;br /&gt;
*Fix: Fixed a permission exploit in /wbring (thanks to panda100123)&lt;br /&gt;
*Fix: Fixed [[/Rules]] section finder accidentally being case-sensitive.&lt;br /&gt;
*Fix: Fixed an issue with MCSharp/MCZall/MCLawl/MCQuai/MCStorm/MCForge/MCWhatever importer.&lt;br /&gt;
*Change: Decreased shading strength in IsoCat renderer.&lt;br /&gt;
*Change: Added /Who as an alias for [[/Players]], by request.&lt;br /&gt;
*Change: Clarified ConfigGUI description of name verification settings.&lt;br /&gt;
*Change: Normalized command name capitalization. Command names must now start with an uppercase letter, for consistency.&lt;br /&gt;
*API: Fixed inconsistencies in PlayerDB.txt header row format declaration.&lt;br /&gt;
&lt;br /&gt;
===0.603===&lt;br /&gt;
&#039;&#039;20 October 2011 - r1142&#039;&#039;&lt;br /&gt;
*Fix: [[/Cancel]] can no longer be repeated with &amp;quot;/&amp;quot; (no longer replaces previously-called command).&lt;br /&gt;
*Fix: Fixed [[/Rotate]] and [[/Mirror]] messing up if a paste command is in progress.&lt;br /&gt;
*Fix: Re-enabled crash interception and reporting.&lt;br /&gt;
&lt;br /&gt;
===0.602===&lt;br /&gt;
&#039;&#039;18 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Feature: One-click paste commands are now the default. Two-click aligned paste commands are now known as [[/PasteX]] (/PX) and [[/PasteNotX]].&lt;br /&gt;
*Feature: Added [[/ReplaceBrush]] (/RB) command (shortcut for &amp;lt;code&amp;gt;[[/Brush]] ReplaceBrush&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;[[/Cuboid]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: Added a way to change number of copy/paste slots per rank from ConfigGUI.&lt;br /&gt;
*Fix: Fixed a few typos and missing help entries.&lt;br /&gt;
*Fix: Fixed DrawOp completion message and log entry.&lt;br /&gt;
*Fix: Fixed [[/Paste]] and [[/PasteNot]] not properly clipping against world boundaries.&lt;br /&gt;
*Fix: Fixed ConfigGUI not preserving environment settings for worlds.&lt;br /&gt;
*Fix: Fixed ConfigGUI losing some worlds and showing some errors when importing from 0.5xx.&lt;br /&gt;
*Fix: Fixed [[/Bring]] not being usable from console.&lt;br /&gt;
*Fix: Fixed [[/WRename]] crashing if invalid characters (from filesystem&#039;s point of view) are present in the new name.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking for Spectate permission.&lt;br /&gt;
*Fix: Fixed [[/UndoArea]]&#039;d and [[/UndoPlayer]]&#039;ed blocks having &amp;quot;Restored&amp;quot; flag set in /bi&lt;br /&gt;
*Fix: Fixed a detached checkbox on &amp;quot;Worlds&amp;quot; tab of ConfigGUI.&lt;br /&gt;
*Fix: Fixed [[/Say]], [[/Staff]], and [[/Me]] getting logged twice.&lt;br /&gt;
*Fix: Fixed per-world backup settings being cleared on server restart.&lt;br /&gt;
*Fix: Fixed a rare NullReferenceException in WorldManager.LoadWorldList that occurred if the main world was missing, and the fallback world had access restrictions.&lt;br /&gt;
*Fix: Fixed some issues with BlockDB settings in &amp;quot;Add World&amp;quot; and &amp;quot;Edit World&amp;quot; popups of ConfiGUI.&lt;br /&gt;
*Fix: Fixed a rare ConfigGUI crash when resetting the rank tab whole one of the old ranks is selected.&lt;br /&gt;
*Change: Sped up [[/EllipsoidH]] and [[/SphereH]] slightly (thanks to Redshift).&lt;br /&gt;
*Change: Improved error handling in [[/Env]] when setting level.&lt;br /&gt;
*Change: Double-buffered the preview on &amp;quot;Chat&amp;quot; tab of ConfigGUI, to get rid of flicker.&lt;br /&gt;
*Change: Clarified auto-freeze message when trying to kick/ban someone without a required reason string.&lt;br /&gt;
&lt;br /&gt;
===0.601===&lt;br /&gt;
&#039;&#039;15 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Fixed several issues with [[/Undo]] and drawing commands.&lt;br /&gt;
&lt;br /&gt;
===0.600===&lt;br /&gt;
&#039;&#039;14 October 2011 - r1107&#039;&#039;&lt;br /&gt;
:&#039;&#039;See [http://www.fcraft.net/0.600/ http://www.fCraft.net/0.600] for a summary of changes, and upgrade notes.&#039;&#039;&lt;br /&gt;
*Chat: Added a {{cmd|Timer}} command for creating publicly-announced countdowns/timers.&lt;br /&gt;
*Chat: Added a way to cancel partial messages: &amp;lt;code&amp;gt;/Nvm&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Chat: Removed &amp;quot;Banned player ___ tried to log in&amp;quot; and &amp;quot;Player ___ tried to log in from a banned IP&amp;quot; messages.&lt;br /&gt;
*Chat: {{cmd|Say}}, {{cmd|Staff}}, and {{cmd|Me}} commands can no longer repeated using &amp;quot;/&amp;quot; shortcut.&lt;br /&gt;
*Chat: Added a warning when trying to PM deafened players.&lt;br /&gt;
*Chat: Added a shortcut for chatting to same rank: &amp;quot;@@ Message&amp;quot;&lt;br /&gt;
*Chat: Increased the number of blank lines sent by {{cmd|Clear}} to 30, to accommodate players with smaller-than-normal font sizes.&lt;br /&gt;
*Chat Fix: Fixed {{cmd|Say}}, {{cmd|Roll}}, {{cmd|Staff}}, and {{cmd|Me}} sometimes bypassing {{perm|Chat}} permission, mute check, or spam detection check.&lt;br /&gt;
*Chat Fix: Fixed rank chat being logged twice.&lt;br /&gt;
*Chat Fix: Fixed some system messages getting through to deafened players.&lt;br /&gt;
*Chat Fix: {{cmd|Deafen}} now clears the screen when toggled on.&lt;br /&gt;
*Commands: Rank and zone names now autocomplete.&lt;br /&gt;
*Commands: Players can no longer freeze, mute, kick, ban, unban, promote, or demote themselves.&lt;br /&gt;
*Commands: {{cmd|Players}} can now be called with an optional WorldName parameter, to only list players in a particular world.&lt;br /&gt;
*Commands: {{cmd|WLoad}} now takes two more optional parameters: build rank and access rank names.&lt;br /&gt;
*Commands: {{cmd|Info}} now shows last leave reason, idle time, freeze/mute information, and ban exemption status.&lt;br /&gt;
*Commands: Augmented {{cmd|Rules}} to support several rule categories.&lt;br /&gt;
*Commands: Added {{cmd|Spectate}} and {{cmd|SpecPatrol}} (&amp;lt;code&amp;gt;/SPat&amp;lt;/code&amp;gt;) commands.&lt;br /&gt;
*Commands: Added {{cmd|WBring}} (brings target player to a world);&lt;br /&gt;
*Commands: Added {{cmd|Spawn}} command (brings you to spawn). Typing &amp;quot;{{cmd|TP}}&amp;quot; no longer does the same thing, and {{cmd|TP}} now always requires {{perm|Teleport}} permission.&lt;br /&gt;
*Commands: Algorithm that {{cmd|Patrol}} uses to pick the next target was improved.&lt;br /&gt;
*Commands: Renamed Lock/Unlock commands to {{cmd|WLock}}/{{cmd|WUnlock}}, for consistency.&lt;br /&gt;
*Commands: Merged &amp;lt;code&amp;gt;/ReloadConfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/AutoRankReload&amp;lt;/code&amp;gt; into {{cmd|Reload}} command. Merged &amp;lt;code&amp;gt;/ImportRanks&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/ImportBans&amp;lt;/code&amp;gt; into {{cmd|Import}} command. Combined functionality of &amp;lt;code&amp;gt;/LockAll&amp;lt;/code&amp;gt; into {{cmd|WLock}}, and functionality of &amp;lt;code&amp;gt;/UnlockAll&amp;lt;/code&amp;gt; into {{cmd|WUnlock}}.&lt;br /&gt;
*Commands: {{cmd|Info}} and {{cmd|Worlds}} now support pagination.&lt;br /&gt;
*Commands: When world access permissions are changed with {{cmd|WAccess}}, players who lost ability to join the world will automatically be moved to main.&lt;br /&gt;
*Commands: Frozen player can no longer call most commands, with exception of: {{cmd|Clear}}, {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|RankInfo}}, {{cmd|ServerInfo}}, {{cmd|Ranks}}, {{cmd|Rules}}, {{cmd|Where}}, {{cmd|Help}}, {{cmd|Commands}}, {{cmd|Colors}}, {{cmd|Worlds}}, {{cmd|Zones}}, and {{cmd|ZInfo}}.&lt;br /&gt;
*Commands: {{cmd|Bring}} and {{cmd|WBring}} now give the option of overriding worlds&#039; access minimum-rank. Explicitly blacklisted players will continue to be barred.&lt;br /&gt;
*Commands: Added {{cmd|InfoSwap}} command, for swapping two players&#039; ranks and PlayerDB records.&lt;br /&gt;
*Commands: Added a way to abort a server shutdown or restart (&amp;quot;{{cmd|Shutdown|abort}}&amp;quot; or &amp;quot;{{cmd|Restart|abort}}&amp;quot;).&lt;br /&gt;
*Commands: {{cmd|RankInfo}} now shows copy/paste slots, idle kick time, and permission limits.&lt;br /&gt;
*Commands: Most time-related commands now take the [[Time formatting|compact format]] (e.g. 1m30s, 45s, 24h, etc).&lt;br /&gt;
*Commands: Color-coded {{cmd|Commands}}.&lt;br /&gt;
*Commands: Limited {{cmd|Mute}} duration to range between 1 second and 700 days (100 weeks).&lt;br /&gt;
*Commands: {{cmd|SetInfo}} now allows changing players&#039; DisplayedName.&lt;br /&gt;
*Commands: A warning is now shown when a player is kicked/banned, and other players are still connected from the IP.&lt;br /&gt;
*Commands: Added a way to add IP ban exemptions using {{cmd|BanEx}} (banning all players from IP except a particular one).&lt;br /&gt;
*Commands: Added automatic countdowns to {{cmd|Shutdown}} and {{cmd|Restart}}.&lt;br /&gt;
*Commands: Added more stats to {{cmd|ServerInfo}}.&lt;br /&gt;
*Commands: {{cmd|MassRank}} now defaults to silent, and takes a &amp;quot;reason&amp;quot; parameter.&lt;br /&gt;
*Commands: Added &amp;quot;/St&amp;quot; as an alias for {{cmd|Staff}}. Changed &amp;quot;/L&amp;quot; from being alias for {{cmd|Join}}, to being alias for {{cmd|Lava}}. Removed &amp;quot;/Cub&amp;quot; alias for {{cmd|Cuboid}}.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|UnbanIP}} and {{cmd|UnbanAll}} not announcing the unban reason.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Info}} not formatting names of offline players.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Restart}} breaking under Mono if working path contains spaces.&lt;br /&gt;
*Commands Fix: Fixed freeze/unfreeze printing wrong ranks in &amp;quot;You can only freeze players ranked ____ or lower&amp;quot; messages.&lt;br /&gt;
*Commands Fix: Fixed a rare crash in {{cmd|Rules}} when used from console.&lt;br /&gt;
*Commands Fix: {{cmd|BanIP}} and {{cmd|BanAll}} no longer allow to ban the IP if it&#039;s shared by any players whom caller is not allowed to ban.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Ignore}} and {{cmd|Unignore}} printing all matches at once on autocompletion.&lt;br /&gt;
*Commands Fix: Fixed a case where {{cmd|BringAll}} could reveal hidden players.&lt;br /&gt;
*Commands Fix: Fixed a few bugs in {{cmd|DumpStats}}, expanded player listing to top-5/bottom-5, and added &amp;quot;BlocksDrawn&amp;quot; stat.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Rank}} and {{cmd|TP}} commands showing up in {{cmd|Commands}} for ALL players.&lt;br /&gt;
*Commands Fix: Fixed a couple rare bugs in {{cmd|Roll}}.&lt;br /&gt;
*Commands Fix: Fixed broken {{cmd|BringAll}} support for bringing multiple ranks at once.&lt;br /&gt;
*Commands Fix: Fixed several obscure ways of revealing presence of hidden players via commands like {{cmd|ServerInfo}} and {{cmd|Worlds}}.&lt;br /&gt;
*Config: New config keys: BackupDataOnStartup (default: true), RestartInterval (default: 0), HeartbeatToWoMDirect (default: true), BlockDBEnabled (default: true), BlockDBAutoEnable (default: true), and BlockDBAutoEnableRank (default: DefaultRank), WoMEnableEnvExtensions (default: false).&lt;br /&gt;
*Config: Added {{perm|Spectate}} permission that covers {{cmd|Spectate}} and {{cmd|SpecPatrol}}.&lt;br /&gt;
*Config: Added {{perm|DrawAdvanced}} permission that covers {{cmd|Brush}}, {{cmd|Sphere, {{cmd|SphereH}}, {{cmd|Torus}}, and {{cmd|Restore}} commands.&lt;br /&gt;
*Config: Added {{perm|ManageBlockDB}} permission that covers {{cmd|BlockDB}}.&lt;br /&gt;
*Config: Added {{perm|UndoOthersActions}} permission that covers {{cmd|UndoPlayer}} and {{cmd|UndoArea}}.&lt;br /&gt;
*Config: {{cmd|Reload}} can now update more config keys without needing a restart: AutoRankEnabled, BandwidthUseMode, ConsoleName, DefaultRank, DefaultBuildRank, PatrolledRank.&lt;br /&gt;
*Config: Removed obsolete ShowBannedConnectionMessages config key.&lt;br /&gt;
*Config Fix: Fixed DefaultRank/DefaultBuildRank/PatrolledRank settings not being applied.&lt;br /&gt;
*ConfigGUI: Added BlockDB settings to &amp;quot;Worlds&amp;quot; tab and &amp;quot;Add/Edit World&amp;quot; dialog.&lt;br /&gt;
*ConfigGUI: Reorganized Rank tab.&lt;br /&gt;
*ConfigGUI: Relaxed restrictions on rank prefixes.&lt;br /&gt;
*ConfigGUI: Added &amp;quot;Insert Color&amp;quot; and &amp;quot;Insert Keyword&amp;quot; buttons to announce/rule/greeting editors in ConfigGUI, and a &amp;quot;Reset&amp;quot; button to revert edits.&lt;br /&gt;
*ConfigGUI: Any errors/warnings that are produced while loading &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt; in ConfigGUI are now displayed at startup.&lt;br /&gt;
*ConfigGUI Fix: ConfigGUI no longer loses worlds&#039; whitelists/blacklists.&lt;br /&gt;
*ConfigGUI Fix: Fixed several bugs related to renaming worlds.&lt;br /&gt;
*ConfigGUI Fix: Fixed several &amp;quot;Reset&amp;quot; bugs.&lt;br /&gt;
*ConfigGUI Fix: Fixed &amp;quot;Enable colors in IRC&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*ConfigGUI Fix: Fixed ConfigTool&#039;s Chat tab not updating to reflect changes in rank colors/prefixes.&lt;br /&gt;
*ConfigGUI Fix: Fixed sort order in Worlds tab when sorting by world size.&lt;br /&gt;
*ConfigGUI Fix: Fixed some rank dropdown menus in ConfigGUI showing &amp;quot;(lowest rank)&amp;quot; instead of &amp;quot;(default rank)&amp;quot; as the default option.&lt;br /&gt;
*Drawing: Introduced a brush/pattern system for draw commands. Rewrote (almost) all existing draw commands to take advantage of that new infrastructure. Brushes are: Normal (default), Checkered, Random, Cloudy, Marbled, Replace, ReplaceNot, ReplaceBrush.&lt;br /&gt;
*Drawing: Added a way to {{cmd|Undo}} up to five commands back. Use {{cmd|Redo to reverse it.&lt;br /&gt;
*Drawing: Added {{cmd|Torus}} drawing command, written and contributed by M1_Abrams.&lt;br /&gt;
*Drawing: Added support for multiple copy/paste slots, using {{cmd|CopySlot}}. Number of slots of configurable per-rank.&lt;br /&gt;
*Drawing: {{cmd|Replace}} and {{cmd|ReplaceNot}} can now take just one blocktype. The replacement type is inferred from the type of block player is holding when clicking.&lt;br /&gt;
*Drawing: {{cmd|Undo}} now cancels the last drawing commands.&lt;br /&gt;
*Drawing: Added a new [[Blocks|block name aliases]]: &amp;quot;g&amp;quot; for grass, &amp;quot;w&amp;quot; for water, &amp;quot;a&amp;quot; for air.&lt;br /&gt;
*Drawing Fix: Added a missing volume check to {{cmd|Line}}, and fixed {{cmd|CuboidW}} volume calculations.&lt;br /&gt;
*Drawing Fix: Fixed {{cmd|Copy}} and {{cmd|Cut}} reporting incorrect orientation.&lt;br /&gt;
*FrontEnd: Colored ConfigCLI log messages: red for errors, yellow for warnings, dark gray for debug, default (gray) for everything else. Call with &amp;quot;--noconsolecolor&amp;quot; parameter to disable.&lt;br /&gt;
*FrontEnd: ServerCLI now handles all updater modes properly, and downloads updater/restarts if needed.&lt;br /&gt;
*FrontEnd: Improved window titles.&lt;br /&gt;
*FrontEnd Fix: Fixed ServerCLI writing errors to stdout instead of stderr.&lt;br /&gt;
*Misc: Players who log out hidden will now log in silently, still hidden.&lt;br /&gt;
*Misc: More [[Constants|keywords]] are now usable in announcements, rules, and greeting files: {SERVER_NAME}, {MOTD}, {RANK}, {PLAYER_NAME}, {TIME}, {WORLD}, {PLAYERS}, and {WORLDS}&lt;br /&gt;
*Misc: Kicked or disconnected players no longer have their TotalTime increased for the time idled.&lt;br /&gt;
*Misc: fCraft will refuse to start up if running old versions of mono (2.4 or earlier).&lt;br /&gt;
*Misc: Crash reporter now prints a reference number for submitted reports.&lt;br /&gt;
*Misc: AutoRank now only evaluates online players on a timer. A full database sweep will only be done on startup or on-demand. This should notably reduce average CPU use on large databases.&lt;br /&gt;
*Misc: Added AutoRank pseudoplayer (similar to Console), who is now credited with all autorank promotions/demotions.&lt;br /&gt;
*Misc: Increased the allowed clicking distance when manually clicking blocks, to account for lag.&lt;br /&gt;
*Misc: IRC bot now announces channel kicks and nick changes.&lt;br /&gt;
*Misc: When a player with a reserved slot tries to join a full world, the longest-idle player will be kicked to make room.&lt;br /&gt;
*Misc: Frozen, demoted, and banned players are now automatically unhidden. Frozen players are undeafened. Banned players are also automatically unfrozen and unmuted.&lt;br /&gt;
*Misc: When a player&#039;s rank is changed, their bindings are now reset (to avoid issues with {{cmd|Water}}, {{cmd|Lava}}, and {{cmd|Solid}}), and any in-progress selection is canceled ([[:Category:Requires Draw|draw]] commands, {{cmd|Zone}}, {{cmd|ZTest}}, {{cmd|BInfo}}, {{cmd|Measure}}, etc)&lt;br /&gt;
*Misc: Frozen players now have a little blue star appended to their names, similar to the red star for banned players.&lt;br /&gt;
*Misc: Moved all heartbeat-related operations to the background thread (fixes lag spikes when minecraft.net times out).&lt;br /&gt;
*Misc: Added a dynamically updated compass at the top-right of the screen, visible to players who use WoM 1.8.8+&lt;br /&gt;
*Misc: Added a check for libMonoPosix on server startup. This allows catching misconfigured Mono setups early.&lt;br /&gt;
*Misc: Ranks now default to &amp;quot;white&amp;quot; color (&amp;quot;&amp;amp;f&amp;quot;) instead of &amp;quot;none&amp;quot; color (&amp;quot;&amp;quot;).&lt;br /&gt;
*Misc: Edited the &amp;quot;failed to load main world&amp;quot; message to sound less menacing, since it&#039;s usually caused just by main world filling up.&lt;br /&gt;
*Misc: Sped up {{cmd|PruneDB}}, {{cmd|MassRank}}, map generation. Reduced memory use of draw commands, undo buffers, and ConfigGUI.&lt;br /&gt;
*Misc Fix: Fixed &amp;quot;duplicate metadata key&amp;quot; warning in FCMv3 maps.&lt;br /&gt;
*Misc Fix: Fixed a zone-related race condition when exporting to Opticraft map format.&lt;br /&gt;
*Misc Fix: Fixed fCraft being unable to start if fCraft.dll is in the root directory of a drive (e.g. in &amp;quot;C:/&amp;quot;)&lt;br /&gt;
*Misc Fix: Fixed a bug that caused bandwidth to sometimes be wasted on needlessly updating position of non-moving players.&lt;br /&gt;
*Misc Fix: Fixed a clock drift problem in periodic SchedulerTasks.&lt;br /&gt;
*Misc Fix: Fixed a case where, in some rank configurations, players would see themselves as offline when hidden (in {{cmd|Info}}, {{cmd|BInfo}}, {{cmd|Players}}, etc).&lt;br /&gt;
*PlayerDB: Added 46th column: PlayerInfo.IsHidden (&#039;h&#039; if hidden, otherwise blank).&lt;br /&gt;
*PlayerDB: Added 47th column: PlayerInfo.LastModified (UTC unix timestamp). Accuracy is not yet guaranteed.&lt;br /&gt;
*PlayerDB: Added 48th column: PlayerInfo.DisplayedName (string or blank). Overrides &amp;quot;Name&amp;quot; field for purposes of displaying formatted name (ClassyName).&lt;br /&gt;
*PlayerDB: Removed 14th column (FailedLoginCount) due to disuse.&lt;br /&gt;
*PlayerDB: PlayerDB now writes out changes to TotalTime incrementally for online players, instead of applying the change on-logout.&lt;br /&gt;
*Worlds: Added a way to change some environment and texture settings per-map, using {{cmd|Env}}.&lt;br /&gt;
*Worlds: Per-world settings on backup intervals now work.&lt;br /&gt;
*Worlds: Added BlockDB - a system for tracking edits per-block. Added related {{cmd|BlockDB}} and {{cmd|BInfo}} commands.&lt;br /&gt;
*Worlds: Added {{cmd|UndoPlayer}} and {{cmd|UndoArea}} commands for undoing players&#039; actions using BlockDB.&lt;br /&gt;
*Worlds: If a world has a missing map file, a warning is now shown, and a default flatgrass map is created.&lt;br /&gt;
*Worlds: Added a way to set per-rank main world, using {{cmd|WMain}}.&lt;br /&gt;
*Worlds: Added {{cmd|Restore}} command, inspired by good old MinerCPP. Selectively loads a map from another file or backup.&lt;br /&gt;
*Worlds: Allowed non-standard dimensions (neither multiples of 16, nor powers of 2). Added a warning about glitches when using nonstandard dimensions.&lt;br /&gt;
*Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to {{cmd|WInfo}} and to &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worlds: MapGenerator tweaks: &amp;quot;default&amp;quot; template is now known as &amp;quot;random,&amp;quot; &amp;quot;mountains&amp;quot; template now has more cliffs and snow on mountaintops, &amp;quot;island&amp;quot; template is less rough and has nice beaches, and water is now automatically removed from &amp;quot;desert&amp;quot; maps.&lt;br /&gt;
*Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.&lt;br /&gt;
*Worlds Fix: Fixed an exploit that allowed players to bypass world access permissions in certain rank configurations.&lt;br /&gt;
*Worlds Fix: Fixed some rare crashes in {{cmd|WLoad}}.&lt;br /&gt;
*Worlds Fix: Fixed {{cmd|WAccess}} and {{cmd|WBuild}} occasionally not saving the world list after adding players to the access/build whitelists.&lt;br /&gt;
*Worlds Fix: Fixed being unable to change just the capitalization when renaming worlds from ConfigGUI, under Windows.&lt;br /&gt;
*Zones: Added {{cmd|ZRename}} command to rename zones.&lt;br /&gt;
*Zones: Added {{cmd|ZMark}} command to use zone boundaries for drawing or making selections.&lt;br /&gt;
*Zones Fix: Fixed {{cmd|ZAdd}} crash when adding more than one personal zone for the same player ({{cmd|ZAdd|+Name}}).&lt;br /&gt;
*Zones Fix: Fixed a rare case where two players could simultaneously create a zone with the same name on the same world, which would crash one of the players.&lt;br /&gt;
*Zones Fix: {{cmd|Zones}} no longer crashes if used on a world with a missing or corrupt map file.&lt;br /&gt;
*Zones Fix: Tightened security checks of {{cmd|ZAdd}} and {{cmd|ZRemove}} to prevent a permission exploit.&lt;br /&gt;
*API: Added specialized MetadataCollection class to manage per-map and per-player metadata, and ZoneCollection for zones.&lt;br /&gt;
*API: Added ReSharper-compatible annotations and more argument checks throughout the codebase.&lt;br /&gt;
*API: fCraft now consistently uses [X,Y,Z] for coordinates (where X/Y are horizontal, and Z is vertical), and [Width,Length,Height] for dimensions (Width/Length horizontal, Height vertical).&lt;br /&gt;
*API: Merged Session and Player classes. All session-related functionality is in Player.Networking.cs file.&lt;br /&gt;
*API: New line-wrapping algorithm provides better performance and safety. Now using &amp;quot;\n&amp;quot; instead of &amp;quot;&amp;amp;N&amp;quot; to force a newline.&lt;br /&gt;
*API: Renamed World.PlayerList to World.Players, Server.PlayerList to Server.Players, and added PlayerDB.PlayerInfoList&lt;br /&gt;
*API: New LINQ-style API for working with sets of players. This API is now used for all messaging and packet-sending. Old API (Server.Send* and World.Send*) was removed.&lt;br /&gt;
*API: New unified API for handling player-generated chat (Chat static class), and new events (Chat.Sending and Chat.Sent).&lt;br /&gt;
*API: All cancellable events now implement ICancellableEvent.&lt;br /&gt;
*API: MapDAT and MapNBT now implement IMapConverter.LoadHeader.&lt;br /&gt;
*API: Converted IClassy.GetClassyName(), Rank.GetFullName(), and Player.GetListName() to properties.&lt;br /&gt;
*API: Renamed ConfigKey.GetBool() to ConfigKey.Enabled(). Added ConfigKey.TryGetInt() and ConfigKey.TryGetBool() methods.&lt;br /&gt;
*API: CommandManager.RegisterCommand() now checks for reserved command names (currently &amp;quot;ok&amp;quot; and &amp;quot;nvm&amp;quot;), and does a better job at handling command name capitalization differences.&lt;br /&gt;
*API: Added ability to override Player.MaxBlockPlacementRange, Player.SocketTimeout, Heartbeat.Delay, and Heartbeat.Timeout.&lt;br /&gt;
*API: Renamed RankManager.ParseRank(string) to Rank.Parse(string)&lt;br /&gt;
*API: All draw/undo/copy/paste commands have been moved to fCraft.Drawing namespace.&lt;br /&gt;
*API: Added support for multiple {{cmd|Help}} sections per command.&lt;br /&gt;
*API: Added CommandCategory.Debug, removed CommandDescriptor.HelpHander and HelpHandler delegate.&lt;br /&gt;
*API: Moved Server.Player* events to Player.* and Server.PlayerInfo* to PlayerInfo.*&lt;br /&gt;
*API: Expanded the confirmation system (&amp;lt;code&amp;gt;/OK&amp;lt;/code&amp;gt;) to allow custom callbacks, decoupled from the command system.&lt;br /&gt;
*API Fix: &amp;quot;Bad heartbeat&amp;quot; reply from minecraft.net no longer triggers UrlChanged event.&lt;br /&gt;
*API Fix: Fixed a couple bugs in BoundingBox.GetIntersection and BoundingBox.Contains.&lt;br /&gt;
*API Fix: Fixed {{cmd|Replace}} and {{cmd|ReplaceNot}} not firing Player.PlacedBlock&lt;br /&gt;
*events.&lt;br /&gt;
*API Fix: Uncaught exceptions that occur while parsing player messages no longer send crash reports when in DEBUG configuration.&lt;br /&gt;
&lt;br /&gt;
=0.5xx=&lt;br /&gt;
&lt;br /&gt;
===0.537===&lt;br /&gt;
&#039;&#039;14 September 2011 - r991&#039;&#039;&lt;br /&gt;
*Fixed another heartbeat-related issue caused by minecraft.net updates.&lt;br /&gt;
&lt;br /&gt;
===0.536===&lt;br /&gt;
&#039;&#039;14 September 2011 - r988&#039;&#039;&lt;br /&gt;
*Fix: Fixed a rare crash in DoChangeRank when promoting/demoting offline players.&lt;br /&gt;
*Fix: Fixed a case where world access/build whitelist additions were not immediately saved.&lt;br /&gt;
*Fix: Fixed several errors in the way time spans were displayed.&lt;br /&gt;
*Fix: Unhandled exceptions in background task callbacks will no longer take down the server&lt;br /&gt;
*Change: Changed the heartbeat handler to use GET instead of POST (workaround for minecraft.net problems).&lt;br /&gt;
*Change: Removed AutoLauncher.&lt;br /&gt;
&lt;br /&gt;
===0.535===&lt;br /&gt;
&#039;&#039;1 July 2011 - r702&#039;&#039;&lt;br /&gt;
*Workaround for minecraft.net heartbeat changes.&lt;br /&gt;
&lt;br /&gt;
===0.534===&lt;br /&gt;
&#039;&#039;18 June 2011 - r668&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;lt;RestartInterval&amp;gt; config key (in seconds). It should help people who are suffering from Mono memory leaks. This setting can only currently be modified by editing config.xml&lt;br /&gt;
*Fix: Fixed /wload and /gen resetting the world&#039;s hidden status.&lt;br /&gt;
*Fix: Fixed &amp;quot;Apply&amp;quot; button not getting enabled in ConfigTool when world list is changed.&lt;br /&gt;
*Fix: Fixed /cw reporting incorrect volume (fixes #3308137).&lt;br /&gt;
*Fix: Added a confirmation when /wrename will result in overwriting a map file, and fixed a related crash (fixes #3311994).&lt;br /&gt;
*Fix: Fixed FormatException in error handling code in World.AcceptPlayer&lt;br /&gt;
*Fix: Fixed /info not showing formatted names for players who appear offline.&lt;br /&gt;
*Fix: Fixed several issues with renaming worlds from ConfigTool.&lt;br /&gt;
*Fix: Fixed /restart breaking under Mono if path contains spaces.&lt;br /&gt;
*Fix: Fixed /staff, /me, and /roll commands not requiring the Chat permission.&lt;br /&gt;
*Fix: Fixed &amp;quot;Use IRC colors&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*Change: Allowed all printable ASCII characters in chat except &#039;&amp;amp;&#039;.&lt;br /&gt;
*Change: Heartbeat tweaks to prevent &amp;quot;Bad heartbeat&amp;quot; from popping up.&lt;br /&gt;
*Optimization: ConfigTool starts up faster, and uses much less memory.&lt;br /&gt;
&lt;br /&gt;
===0.533===&lt;br /&gt;
&#039;&#039;24 May 2011 - r614&#039;&#039;&lt;br /&gt;
*Fix: Fixed a regression in 0.530 that erased some strings in PlayerInfo and IPBanInfo objects, such as ban reasons.&lt;br /&gt;
*Change: Increased heartbeat interval to 27.5 seconds.&lt;br /&gt;
*Change: Reduced jitter of player movement.&lt;br /&gt;
&lt;br /&gt;
===0.532===&lt;br /&gt;
&#039;&#039;23 May 2011 - r611&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;quot;/worlds loaded&amp;quot; command.&lt;br /&gt;
*Fix: Fixed a bug that prevented worlds from accepting any block changes after a map change (/wload or /gen)&lt;br /&gt;
*Fix: Fixed &amp;quot;Player _____ joined main.&amp;quot; displaying twice when players connect.&lt;br /&gt;
*Change: Added /colours as an alias to /colors&lt;br /&gt;
*Change: Adjusted /dumpstats security checks, and made it require EditPlayerDB permission (instead of Import).&lt;br /&gt;
&lt;br /&gt;
===0.531===&lt;br /&gt;
&#039;&#039;20 May 2011 - r603&#039;&#039;&lt;br /&gt;
*Feature: /SInfo now shows bandwidth use, fCraft version, and .NET/Mono version.&lt;br /&gt;
*Feature: Added ability to use coordinates with mark (e.g. &amp;quot;/Mark 0 0 0&amp;quot;).&lt;br /&gt;
*Fix: Fixed non-default rank settings not saving properly from ConfigTool.&lt;br /&gt;
*Fix: Fixed a serialization bug in IPBanList that happened if a ban reason was not given, or if an IP address was not associated with any player.&lt;br /&gt;
*Fix: Fixed a few minor bugs in /WMain.&lt;br /&gt;
*Change: Allowed the caret (^) in chat messages.&lt;br /&gt;
*Change: Reduced movement lag.&lt;br /&gt;
*Change: /version command has been removed due to redundancy with /sinfo.&lt;br /&gt;
*Change: Detailed reasons of player disconnects are now logged better.&lt;br /&gt;
*Change: Increased Minecraft.net heartbeat interval slightly.&lt;br /&gt;
*API: Added new events: Scheduler.TaskAdded, Scheduler.TaskExecuting, Scheduler.TaskExecuted, and Scheduler.TaskRemoved. These events are only available when fCraft.dll is built with DEBUG_SCHEDULER flag because of their performance impact.&lt;br /&gt;
*Optimization: Removed the scheduler overhead from having unloaded worlds.&lt;br /&gt;
*Optimization: Sped up MapGenerator by about 10%.&lt;br /&gt;
&lt;br /&gt;
===0.530===&lt;br /&gt;
&#039;&#039;7 May 2011 - r583&#039;&#039;&lt;br /&gt;
*Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.&lt;br /&gt;
*Feature: Added OptiCraft blocktype names and blocks&#039; numeric IDs as aliases.&lt;br /&gt;
*Fix: Fixed block bindings not being applied to drawing commands.&lt;br /&gt;
*Fix: Fixed fCraft getting confused if worlds.xml contains duplicates.&lt;br /&gt;
*Fix: Fixed &amp;quot;/&amp;quot; (repeat last command) not rewinding the command, which caused some issues with command arguments.&lt;br /&gt;
*Fix: Fixed &amp;quot;Max connections per IP&amp;quot; setting not saving in ConfigTool.&lt;br /&gt;
*Fix: Fixed AnnounceRankChangeReasons checkbox being erroneously tied to RequireRankChangeReasons key in ConfigTool.&lt;br /&gt;
*Fix: Added some missing tooltips to ConfigTool.&lt;br /&gt;
*Fix: Marked 10.0.0.0/8 IP range as LAN.&lt;br /&gt;
*Fix: Fixed an issue with balanced name verification (thanks wootalyzer).&lt;br /&gt;
*Fix: Fixed server announcing hidden players&#039; departure (#3292633). Thanks to Hellenion.&lt;br /&gt;
*Fix: Fixed /bring not checking per-rank permissions (#3292303). Thanks to Denny&lt;br /&gt;
*Fix: Fixed some header bugs in the D3 map converter.&lt;br /&gt;
*Fix: Fixed /wload crashing instead of printing an error message under Mono if the path was malformed.&lt;br /&gt;
*Fix: Fixed /banip not recognizing invalid IPs (e.g. broadcast).&lt;br /&gt;
*Fix: Fixed antispam resetting players&#039; mute time.&lt;br /&gt;
*Fix: Fixed Scheduler being able to add tasks after the shutdown process started.&lt;br /&gt;
*Fix: Reduced problems associated with players trying to connect while the server is shutting down.&lt;br /&gt;
*Fix: Added autorank.xml to the list of protected files.&lt;br /&gt;
*Fix: Fixed a crash in backup system that happened if two backups ran simultaneously and the total size or number of backup files was limited.&lt;br /&gt;
*Fix: Fixed a case where duplicate worlds could be created.&lt;br /&gt;
*Change: When players rejoin a world (e.g. /wflush or /wload), &amp;quot;joined world&amp;quot; message is no longer shown.&lt;br /&gt;
*Change: /mute no longer allows shortening players&#039; mute time, only to extend it.&lt;br /&gt;
*Change: Allowed player names with periods.&lt;br /&gt;
*Change: Removed SaveOnShutdown config key, tweaked range checks on some keys, grouped key tags into section tags.&lt;br /&gt;
*Change: When saving config.xml, keys with default values are now commented out.&lt;br /&gt;
*API: New events! PlayerHideChanged, PlayerInfoCreating, PlayerInfoCreated, PlayerInfoRankChanging, and PlayerInfoRankChanged.&lt;br /&gt;
*API: Server.StartServer() now throws specific exceptions on failure, instead of returning false.&lt;br /&gt;
*API: Removed some obsolete Server events.&lt;br /&gt;
*API: Switched to 100% Utc dates/times internally. PlayerDB now uses UTC Unix timestamps to serialize all dates/times.&lt;br /&gt;
*Optimization: Sped up map generation.&lt;br /&gt;
*Optimization: Reduced PlayerDB saving interval, reduced PlayerDB filesize, reduced CPU and memory use of PlayerDB saving, reduced memory footprint of loaded PlayerDB, improved IPAddress lookup performance in PlayerDB.&lt;br /&gt;
&lt;br /&gt;
===0.522===&lt;br /&gt;
&#039;&#039;16 April 2011 - r546&#039;&#039;&lt;br /&gt;
*Feature: Added more functionality to hollow ellipsoid and sphere, thanks to Redshift. Now it is possible to define outer/inner blocktypes.&lt;br /&gt;
*Feature: Added OptiCraft map format support, courtesy of LgZ-optical&lt;br /&gt;
*Fix: Fixed a serious error that caused a crash when main world became full. This bug affected 0.520 and 0.521.&lt;br /&gt;
*Fix: Fixed AutoLauncher not working under Mono (thanks to ven000m for spotting).&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog crashing if closed while generating a world.&lt;br /&gt;
*Fix: Fixed /restart using ShutdownReason.ShuttingDown (instead of ShutdownReason.Restarting) &lt;br /&gt;
*Fix: Fixed a crash in ConfigTool if MaxPlayers was set to be less than MaxPlayersPerWorld.&lt;br /&gt;
*Fix: When loading old configs (pre-0.520), MaxPlayersPerWorld is automatically set to match MaxPlayers, to avoid unexpected side effects.&lt;br /&gt;
*API: Added WorldCreating and WorldCreated events.&lt;br /&gt;
*API: Moved world-related commands from Server to a new class, WorldManager.&lt;br /&gt;
*API: Renamed RankList to RankManager, and CommandList to CommandManager, for consistency.&lt;br /&gt;
&lt;br /&gt;
===0.521===&lt;br /&gt;
&#039;&#039;12 April 2011 - r534&#039;&#039;&lt;br /&gt;
*Feature: Added a /Clear command, to clear in-game chat. Also works from fCraftConsole and fCraftUI.&lt;br /&gt;
*Fix: Added missing chat commands.&lt;br /&gt;
*Fix: Cosmetic fixes in /ZRemove.&lt;br /&gt;
&lt;br /&gt;
===0.520===&lt;br /&gt;
&#039;&#039;12 April 2011 - r532&#039;&#039;&lt;br /&gt;
*Feature: Removed the server-wide 128 player limit. Now the limit is per-world.&lt;br /&gt;
*Feature: You can now repeat the last command by typing &amp;quot;/&amp;quot;&lt;br /&gt;
*Feature: Added a way to use color codes in chat (with % instead of &amp;amp;), a UseColorCodes permission, and a /colors command.&lt;br /&gt;
*Feature: Added support for multi-line messages or commands. Add &amp;quot; /&amp;quot; to the end of a line to continue typing it.&lt;br /&gt;
*Feature: Added &amp;quot;/commands&amp;quot;, to replace &amp;quot;/help commands&amp;quot;. It allows filtering commands by rank, category, permissions, etc. Aliases: /cmdlist, /cmds&lt;br /&gt;
*Feature: New permissions: ViewPlayerIPs, BringAll&lt;br /&gt;
*Feature: New config switches: AnnounceRankChangeReasons and RequireKickReason.&lt;br /&gt;
*Feature: Replaced LimitOneConnectionPerIP config key (boolean) with a more flexible MaxConnectionsPerIP (int).&lt;br /&gt;
*Feature: Added /bringall command, for moving everyone (or only certain ranks) from your world (or optionally all worlds, or a list of other worlds) to your location.&lt;br /&gt;
*Feature: /bring can be limited per-rank&lt;br /&gt;
*Feature: When file is not found on case-sensitive filesystems, fCraft tries to syggest similar filenames.&lt;br /&gt;
*Feature: Added new constants to use in greeting.txt: {TIME}, {PLAYER_NAME}, {WORLD}, {PLAYERS}, {WORLDS}, {MOTD}&lt;br /&gt;
*Feature: Improved compatibility with SurvivalTest clients.&lt;br /&gt;
*Fix: Fixed /banip not kicking other players from the same IP (besides the named player)&lt;br /&gt;
*Fix: Added missing blocktype validation to MapFCMv2, MapFCMv3, MapMyne, and MapNBT.&lt;br /&gt;
*Fix: Fixed a rare shutdown crash in fCraftUI.&lt;br /&gt;
*Fix: Improved the way PlayerDB.Load handles errors in individual records. A single corrupted entry will no longer prevent the rest from loading.&lt;br /&gt;
*Fix: Fixed fCraftUI abruptly quitting on crash / failure to start, instead of showing the error message. Use &amp;quot;--exitoncrash&amp;quot; command-line switch to reproduce old behavior.&lt;br /&gt;
*Fix: Fixed ConfigTool&#039;s World tab not prompting to delete map files when deleting worlds.&lt;br /&gt;
*Fix: Fixed a bug in MCSharp importer (#3281305)&lt;br /&gt;
*Fix: Fixed a list of permissions in /rinfo not being sorted.&lt;br /&gt;
*Fix: Fixed /mute rank limit dropdown sometimes getting out of sync.&lt;br /&gt;
*Fix: Fixed IRC bot redundantly announcing kicks when someone has been banned.&lt;br /&gt;
*Fix: Fixed a bug where fCraft would fail to start if PlayerDB.txt was truncated/empty.&lt;br /&gt;
*Change: Moved &amp;quot;IP&amp;quot; config key from General to Advanced.&lt;br /&gt;
*Change: Added /spin as an alias to /rotate (for MCLawl users)&lt;br /&gt;
*API: New events: PlayerClicking, PlayerClicked, PlayerPlacingBlock, PlayerPlacedBlock, PlayerListChanged, PlayerBeingKicked, PlayerKicked&lt;br /&gt;
*Optimization: Reduced CPU use of draw commands by ~30%. Sped up PlayerDB loading by ~8%, and reduced memory use when saving. Also reduced PlayerDB filesize by about 15%&lt;br /&gt;
&lt;br /&gt;
===0.512===&lt;br /&gt;
&#039;&#039;2 April 2011 - r508&#039;&#039;&lt;br /&gt;
*Feature: /zones can now be used from console, and can be used on any world (active or inactive).&lt;br /&gt;
*Feature: Improved D3 map importer.&lt;br /&gt;
*Fix: Added missing filename sanity/safety checks to /dumpstats (#3267362, thanks to Hellenion)&lt;br /&gt;
*Fix: Fixed mixed up messages shown in /waccess and /wbuild (#3179189)&lt;br /&gt;
*Fix: Fixed crash reports sometimes failing to submit.&lt;br /&gt;
*Fix: Fixed /dumpstats crashing if a rank had 0 players.&lt;br /&gt;
*Fix: Made Mono version detection less crashy (#3267476, thanks to Hellenion again)&lt;br /&gt;
*Fix: Fixed MapUtility.LoadHeader terminating early, before going through all fallback converters.&lt;br /&gt;
*Fix: Fixed ConfigTool tab order.&lt;br /&gt;
*Fix: Fixed fCraft reporting inaccurate CPU usage figures.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in /rank if an invalid player name was given.&lt;br /&gt;
*Fix: Fixed fCraft project not building under Windows if path contains spaces.&lt;br /&gt;
*Change: Added &amp;quot;/serverreport&amp;quot; as an alias for &amp;quot;/sinfo&amp;quot;&lt;br /&gt;
*Change: Improved the way fCraft handles and reports map loading errors.&lt;br /&gt;
*API Change: Moved all filename constants (e.g. &amp;quot;PlayerDB.txt&amp;quot;) to Paths class.&lt;br /&gt;
&lt;br /&gt;
===0.511===&lt;br /&gt;
&#039;&#039;31 March 2011 - r497&#039;&#039;&lt;br /&gt;
*Feature: Further improvements to Mono support. fCraft will now utilize mono-sgen whenever possible.&lt;br /&gt;
*Fix: Fixed fCraftUI ignoring command-line arguments.&lt;br /&gt;
*Fix: Fixed broken /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed crash reports failing to submit.&lt;br /&gt;
*Fix: Fixed a timezone-related bug that messed up players&#039; &amp;quot;total time on server&amp;quot; stat.&lt;br /&gt;
*Change: Added a warning if running on old versions of Mono (2.6 or lower). &lt;br /&gt;
&lt;br /&gt;
===0.510_r489===&lt;br /&gt;
&#039;&#039;29 March 2011 - r489&#039;&#039;&lt;br /&gt;
*Fix: Fixed unnecessary GDI+ dependence in fCraftConsole under Mono&lt;br /&gt;
*Fix: Fixed EnumKeyAttribute not taking blank values (as in case of ProcessPriority config key).&lt;br /&gt;
&lt;br /&gt;
===0.510===&lt;br /&gt;
&#039;&#039;29 March 2011 - r488&#039;&#039;&lt;br /&gt;
*Feature: The fCraft updater has been rewritten and expanded. It now works under all OSes, and provides more features.&lt;br /&gt;
*Feature: fCraft now handles differences between case-sensitive and case-insensitive filesystems much better. /wrename and /wload are also aware of the filesystem.&lt;br /&gt;
*Feature: fCraft now checks presence, filename capitalization, and integrity of all map files on the world list at startup.&lt;br /&gt;
*Feature: New ConfigTool settings for updater, checkbox for showing &amp;quot;player connected/left&amp;quot; messages, and &amp;quot;/mute&amp;quot; permission settings.&lt;br /&gt;
*Feature: Added &amp;quot;/credits&amp;quot; command to ConfigUI.&lt;br /&gt;
*Feature: Implemented &amp;quot;--norestart&amp;quot; and &amp;quot;--exitoncrash&amp;quot; command-line switches for fCraft.&lt;br /&gt;
*Feature: fCraft event system is being rewritten with modding support in mind.&lt;br /&gt;
*Feature: Improved MCSharp/MCZall/MCLawl map support.&lt;br /&gt;
*Fix: Software errors that happen while parsing player and console commands will no longer cause disconnects/crashes.&lt;br /&gt;
*Fix: IPBanList will attempt to recover records lost due to a recent regression in 0.505.&lt;br /&gt;
*Fix: Fixed /wrename errors in cases where names differ only in capitalization.&lt;br /&gt;
*Fix: Fixed &amp;quot;Copy Existing World&amp;quot; showing the current world on the list in AddWorldPopup.&lt;br /&gt;
*Fix: Fixed &amp;quot;Chat&amp;quot; tab preview not updating when settings are reset.&lt;br /&gt;
*Fix: Fixed per-world whitelist/blacklist not saving when worlds are edited with AddWorldPopup.&lt;br /&gt;
*Fix: Fixed non-verified connections that get kicked from affecting that name&#039;s PlayerInfo.&lt;br /&gt;
*Fix: Server.GenerateSalt() now uses a cryptographically secure PRNG.&lt;br /&gt;
*Fix: Fixed verification problems on servers with HeartbeatEnabled=false.&lt;br /&gt;
*Fix: Fixed a wrong message being shown by /rank if the target is already same or higher/lower rank.&lt;br /&gt;
*Fix: Fixed /winfo showing incorrect information for last lock/unlock event.&lt;br /&gt;
*Fix: Fixed tabbing order on ConfigUI.&lt;br /&gt;
*Fix: Improved the way Server.InitLibrary and Logger.Log errors are handled.&lt;br /&gt;
*Fix: Added missing validation checks to LoadHeader in several map converters.&lt;br /&gt;
*Fix: Fixed players being able to complete a draw command or /zadd, if they were demoted before clicking for the second time.&lt;br /&gt;
*Fix: Added missing /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed a bug in /zinfo that showed incorrect creation/editing times.&lt;br /&gt;
*Fix: Better error messages for unrecognized block names in command parameters.&lt;br /&gt;
*Fix: /restart now works from ConfigUI under Mono (but still broken in fCraftConsole).&lt;br /&gt;
*Fix: Fixed handling of command-line arguments surrounded with quotes.&lt;br /&gt;
*Fix: Fixed a bug at ConfigTool.ConfigUI.xAllowSecurityCircumvention_CheckedChanged (#3181907, thanks to clhdrums87).&lt;br /&gt;
*Fix: Fixed /winfo counting hidden players (#3237877, thanks to Hellenion).&lt;br /&gt;
*Fix: Fixed MCSharp map exporter mixing up map dimensions (#3159501, thanks to dogwatch).&lt;br /&gt;
*Change: Improved the way fCraft project is built. Now all binaries are copied to /trunk/bin/Release or /trunk/bin/Debug.&lt;br /&gt;
*Change: Improved error tolerance of Scheduler.EndShutdown().&lt;br /&gt;
*Change: Expanded Logger.CheckForCommonErrors().&lt;br /&gt;
*Change: Renamed config keys (old ones can still be loaded): IRCBot to IRCBotEnabled, AutomaticUpdates to UpdaterMode.&lt;br /&gt;
*Change: Added /wadd as an alias for /wload.&lt;br /&gt;
*Change: Renamed Mcc namespace to fCraft.MapConversion.&lt;br /&gt;
*Change: Decreased timeout for fCraft update check.&lt;br /&gt;
*Change: Added a confirmation prompt to /rank when adding an unrecognized player name to the database.&lt;br /&gt;
*Optimization: Sped up heartbeat sending and world-related operations, increased world saving interval to 90 seconds, reduced per-player idle CPU usage, halved CPU usage of draw commands.&lt;br /&gt;
&lt;br /&gt;
===0.506===&lt;br /&gt;
&#039;&#039;11 February 2011 - r427&#039;&#039;&lt;br /&gt;
*Feature: Added hollow ellipsoid drawing (/eh) and hollow sphere drawing (/sph), contributed by Conrad &amp;quot;Redshift&amp;quot; Morgan.&lt;br /&gt;
*Fix: Fixed a regression in 0.503 that caused some IP ban records to be lost. I am terribly sorry!&lt;br /&gt;
*Fix: Fixed a path-related error in Map.SaveBackup&lt;br /&gt;
*Fix: Fixed a possible disconnect in Player.CheckBlockSpam is antigrief was not configured properly.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool.SaveWorldList.&lt;br /&gt;
*Fix: Fixed &amp;quot;Limit the number of blocks that can be undone&amp;quot; checkbox misbehaving (thanks to ven000m for bug report).&lt;br /&gt;
*Change: By popular demand /sphere2 is now the default behavior of /sphere.&lt;br /&gt;
*Change: Removed &amp;quot;oldSalt&amp;quot; check for name verification, to avoid having the server write to config.xml unnecessarily.&lt;br /&gt;
*Change: Removed &amp;quot;.backup&amp;quot; file creation, by popular demand. It was kinda useless.&lt;br /&gt;
&lt;br /&gt;
===0.505===&lt;br /&gt;
&#039;&#039;8 February 2011 - r422&#039;&#039;&lt;br /&gt;
*Feature: All draw commands now inform player if any blocks were skipped due to local permission issues (e.g. zones).&lt;br /&gt;
*Fix: Fixed a regression that caused backups to be saved in the wrong path. Backups were being saved to ./backups/ instead of ./maps/backups/&lt;br /&gt;
*Fix: Fixed a permission issue in /replace and /replacenot.&lt;br /&gt;
*Fix: Fixed /info not displaying a list of players from same IP.&lt;br /&gt;
*Fix: Addressed a security issue with salt generation.&lt;br /&gt;
&lt;br /&gt;
===0.504===&lt;br /&gt;
&#039;&#039;3 February 2011 - r419&#039;&#039;&lt;br /&gt;
*Fixed a crash bug related to SecurityController.MinRank&lt;br /&gt;
&lt;br /&gt;
===0.503===&lt;br /&gt;
&#039;&#039;3 February 2011 - r418&#039;&#039;&lt;br /&gt;
*Feature: Added /deafen command. It temporarily blocks all incoming messages (makes you go &amp;quot;deaf&amp;quot;), to allow taking screenshots, recording videos, or just playing without the wall of text.&lt;br /&gt;
*Feature: Added ShowBannedConnectionMessages config key (default: true). When disabled, no &amp;quot;banned player tried to log in&amp;quot; messages are shown.&lt;br /&gt;
*Fix: Fixed PlayerInfo.frozenOn not being set.&lt;br /&gt;
*Fix: Fixed kick messages for players affected by /banall&lt;br /&gt;
*Fix: Fixed /unbanall reason not being shown.&lt;br /&gt;
*Fix: /where now shows what world you are on.&lt;br /&gt;
*Fix: Fixed a couple minor bugs in /waccess and /wbuild.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in SecurityController constructor.&lt;br /&gt;
*Fix: Made several tweaks to improve the first-run experience.&lt;br /&gt;
&lt;br /&gt;
===0.502===&lt;br /&gt;
&#039;&#039;31 January 2011 - r411&#039;&#039;&lt;br /&gt;
*Fix: Adjusted for yet another change in the way minecraft.net replies to heartbeats (should fix all heartbeat issues for now).&lt;br /&gt;
*Fix: Added a check to /zremove to prevent players from deleting zones to gain access to areas from which they&#039;re barred.&lt;br /&gt;
*Fix: Fixed being able to use /me or /staff to write empty messages.&lt;br /&gt;
*Fix: Fixed frozen players not getting defrosted when kicked.&lt;br /&gt;
*Fix: Formatting fixes in &amp;quot;___ was previously frozen&amp;quot; message&lt;br /&gt;
*Fix: Fixed a mini-bug in Map.ValidateHeader()&lt;br /&gt;
*Change: Renamed /wremove to /wunload for consistency. &amp;quot;/wremove&amp;quot; is still usable as an alias.&lt;br /&gt;
&lt;br /&gt;
===0.501===&lt;br /&gt;
&#039;&#039;30 January 2011 - r408&#039;&#039;&lt;br /&gt;
*Feature: Added /sphere and /sphere2, based on code contributed by SystemX17.&lt;br /&gt;
*Feature: Added new config setting: ShowConnectedMessages (default: true)&lt;br /&gt;
*Feature: Added a notification for players who logged in frozen.&lt;br /&gt;
*Fix: Fixed frozen players twitching.&lt;br /&gt;
*Fix: Fixed IRC bot not stripping color codes in messages relayed from IRC to the game.&lt;br /&gt;
*Fix: Fixed lastSeen and lastLoginDate not being set for first-time players who failed to log in (e.g. IP-banned).&lt;br /&gt;
*Fix: Fixed /bring not working properly on frozen players.&lt;br /&gt;
*Fix: Fixed a case where it was possible to add access restrictions to main map.&lt;br /&gt;
*Fix: Fixed per-world whitelists/blacklists being lost when editing worlds.xml via ConfigTool.&lt;br /&gt;
*Fix: Fixed AutoRankAll showing wrong number of players promoted/demoted (just a formatting bug, no promotions were affected)&lt;br /&gt;
&lt;br /&gt;
===0.500===&lt;br /&gt;
&#039;&#039;25 January 2011 - r399&#039;&#039;&lt;br /&gt;
*Commands: Added /line drawing command, kindly contributed by SystemX17&lt;br /&gt;
*Commands: Added /restart command, to restart the server remotely (NOTE: does not work for fCraftWinService yet)&lt;br /&gt;
*Commands: Added /unmute command (same as &amp;quot;/mute name 0&amp;quot;)&lt;br /&gt;
*Commands: Added an option to silently hide (no disconnect/connect message).&lt;br /&gt;
*Commands: Added /ignore and /unignore commands to block chat from another player (for the duration of your visit).&lt;br /&gt;
*Commands: /whide and /wunhide commands added to hide/unhide worlds from the list.&lt;br /&gt;
*Commands: /worlds now takes an optional param: &amp;quot;/worlds all&amp;quot; lists visible+hidden worlds, and &amp;quot;/worlds hidden&amp;quot; lists hidden worlds only.&lt;br /&gt;
*Commands: List of player names from the same IP is now shown in /info.&lt;br /&gt;
*Commands: /help now shows what rank you need to be to use a command (for most commands).&lt;br /&gt;
*Commands: /bring now works on frozen players.&lt;br /&gt;
*Commands: /bring now takes an optional second name/parameter, to teleport someone to someone&lt;br /&gt;
*Commands: /info now shows whether a player is hidden (if the command caller has permission to see).&lt;br /&gt;
*Commands: Fixed a case where teleporting to a player who is currently changing worlds brings one to a wrong location.&lt;br /&gt;
*Commands: Fixed bindings (/water, /lava, /solid, and /bind) not being applied to draw commands.&lt;br /&gt;
*Commands: /wsave and /gen can now create directories if needed.&lt;br /&gt;
*Commands: Fixed a bug in /roll&lt;br /&gt;
*Commands: Sped up /paste, /pastenot, /replace, and /replacenot slightly.&lt;br /&gt;
*ConfigTool: New &amp;quot;Chat&amp;quot; tab for controlling appearance and content of in-game chat.&lt;br /&gt;
*ConfigTool: Added ability to customize MeColor (for /me messages, default: purple) and WarningColor (for major errors/warnings, default: red) in config.&lt;br /&gt;
*ConfigTool: AddWorldPopup can now show detailed info for maps of all supported formats.&lt;br /&gt;
*ConfigTool: Improved tooltips for several items in ConfigUI.&lt;br /&gt;
*FrontEnd: Uncaught exceptions that happen while executing commands from fCraftUI console are now handled by the crash reporter (instead of actually crashing).&lt;br /&gt;
*FrontEnd: Added /clear command for fCraftUI and fCraftConsole - clears log screen.&lt;br /&gt;
*FrontEnd: The URL is no longer highlighted after first heartbeat, to avoid stealing focus from console.&lt;br /&gt;
*Generator: Fixed &amp;quot;flatgrass&amp;quot; template&lt;br /&gt;
*Generator: Fixed alphabetical order in the list of templates&lt;br /&gt;
*Generator: MapGenerator now embeds generation parameters into the map file metadata&lt;br /&gt;
*Generator: Fixed several template loading bugs.&lt;br /&gt;
*Generator: Optimized AddBeaches to be about 2x faster&lt;br /&gt;
*Generator: Added a missing dimension check to /gen&lt;br /&gt;
*IRC: Messages relayed from game to IRC now have color codes preserved.&lt;br /&gt;
*IRC: Kicks, Bans, unbans, promotions, and demotions can now be relayed to IRC.&lt;br /&gt;
*IRC: IRC bot now relays /say messages, and /me messages (both /me on IRC and /me on the server).&lt;br /&gt;
*IRC: IRC Error handling is greatly improved.&lt;br /&gt;
*IRC: (Threaded) If one of the bots loses connection, one of the other bots take over parsing input.&lt;br /&gt;
*IRC: Increased IRC reconnect delay to 15 seconds.&lt;br /&gt;
*Maps: Switched to a new file format (FCMv3) that allows for future additions like block tracking and physics.&lt;br /&gt;
*Maps: Much of MCC (map conversion) API was rewritten for better consistency and performance.&lt;br /&gt;
*Maps: Improved support for loading indev (pre-infinite) maps, including Omen-generated maps.&lt;br /&gt;
*Maps: Improved resilience for loading maps with unknown blocktypes. Instead of failing, it just replaces any unknown blocks with air.&lt;br /&gt;
*Maps: Added consistent header validation to all map format loaders.&lt;br /&gt;
*Maps: Fixed maps not autosaving when zones are added or removed.&lt;br /&gt;
*Maps: Zone definitions are now serialized to XML. Zones saved with this revision of fCraft will no longer be readable by older version of fCraft.&lt;br /&gt;
*Maps: Fixed a bug when loading JTE&#039;s format maps.&lt;br /&gt;
*Maps: Fixed format of backup filenames.&lt;br /&gt;
*PlayerDB: Added new fields: bannedUntil, frozenOn, frozenBy, mutedUntil, mutedBy, IRCPassword, online, leaveReason&lt;br /&gt;
*PlayerDB: Fixed PlayerInfo.ID not being assigned for new players until sever restart / DB reload.&lt;br /&gt;
*PlayerDB: Fixed off-by-one error with PlayerInfo.timesVisited&lt;br /&gt;
*PlayerDB: Fixed /me, /say, rank chat, and /staff not counting towards PlayerInfo.linesWritten&lt;br /&gt;
*PlayerDB: Made PlayerDB more resilient to errors. Reduced filesize slightly by omitting default values for more date fields, and removing milliseconds from &amp;quot;totalTime&amp;quot;&lt;br /&gt;
*PlayerDB: Improved forwards compatibility of PlayerDB by removing maximum-field-count check.&lt;br /&gt;
*Security: Worlds can now have player whitelists and blacklists (just like zones) for access and build permissions.&lt;br /&gt;
*Security: Added a security check to /wsave, /wload, and /gen to prevent reading or overwriting files outside the map folder.&lt;br /&gt;
*Security: Added a per-rank security option to prevent players from whitelisting themselves, removing themselves from blacklists, or lowering their rank&#039;s restrictions on worlds and zones.&lt;br /&gt;
*Security: /mute and /freeze are now persistent even if the player reconnects.&lt;br /&gt;
*Security: Relaxed SetTile packet checks. Players will no longer be kicked due to Minecraft client bugs.&lt;br /&gt;
*Security: Fixed an exploit that allowed changing steps to doublesteps even inside zoned areas.&lt;br /&gt;
*Security: Improved consistency of permission dependencies.&lt;br /&gt;
*Security: Fixed a security exploit in /wmain that allowed players with ManageWorlds permission to gain access to restricted worlds.&lt;br /&gt;
*Security: Fixed a bug that prevented banning players who were not yet in PlayerDB.&lt;br /&gt;
*Security: Added an option to only allow paid players (PaidPlayersOnly)&lt;br /&gt;
*Stability: Made crash reporting more reliable. A failed crash report will no longer prevent error message from being logged and displayed.&lt;br /&gt;
*Stability: Fixed a crash in AddWorldPopup if dialog is closed while a map is still loading.&lt;br /&gt;
*Stability: To improve compatibility with some bots, removed &amp;quot;almost there...&amp;quot; message on the loading screen&lt;br /&gt;
*Stability: Disabled error reporting of common non-fCraft-related errors (like wrong runtime versions, or wrong Mono permissions).&lt;br /&gt;
*Stability: Added &amp;quot;libMonoPosixHelper.so&amp;quot; and &amp;quot;UnauthorizedAccessException&amp;quot; to Logger.CheckForCommonErrors, and made &amp;quot;Could not load file or assembly&amp;quot; check locale-independent.&lt;br /&gt;
*Stability: A backup file is now created whenever PlayerDB, IP ban list, config, or world list are saved (e.g. PlayerDB.txt.backup)&lt;br /&gt;
*Stability: Crash reporter now sends last 25 lines of the log.&lt;br /&gt;
*Stability: Added a fallback overload for Player.Message() that bypasses string format, to make the whole thing less prone to format errors.&lt;br /&gt;
*System: fCraft now takes command-line arguments (at startup) to override the following:&lt;br /&gt;
**working directory (--path=/your/path/here)&lt;br /&gt;
**log directory (--logpath=/your/path/here)&lt;br /&gt;
**map directory (--logpath=/your/path/here) - also overridable in a more user-friendly way via ConfigTool (MapPath key)&lt;br /&gt;
**config file location (--config=/your/path/and/filename.xml)&lt;br /&gt;
*System: Added an option to change the name of Console pseudoplayer in the config.&lt;br /&gt;
*System: Player.GetClassyName() and PlayerInfo.GetClassyName() now add an asterisk after banned players&#039; names&lt;br /&gt;
*System: Fixed hidden players remaining hidden in some cases.&lt;br /&gt;
*System: Fixed PacketWriter.MakeWrappedMessage ignoring uppercase hex colorcodes&lt;br /&gt;
*System: Implemented NoPartialPositionUpdates and RelayAllUpdates config keys.&lt;br /&gt;
*System: Several little glitches and inefficiencies fixed in movement handling code.&lt;br /&gt;
*System: Fixed &amp;quot;player connected&amp;quot; and other messages showing up too early in-game (before map loaded).&lt;br /&gt;
*System: Fixed kick message for players affected by /banall&lt;br /&gt;
*System: Added HeartbeatEnabled config key (default: true)&lt;br /&gt;
*System: Fixed a case where heartbeat could be sent from a different IP than the listening port on systems with multiple NICs/IPs and no configured static IP.&lt;br /&gt;
*System: Increased the write buffer for writing out PlayerDB, reducing I/O time by ~20% on .NET, and ~35% on Mono&lt;br /&gt;
*System: New Scheduler API.&lt;br /&gt;
*System: Modified /wload to avoid loading the map twice in case confirmation is needed.&lt;br /&gt;
*System: Changes to AutoRankEnabled will now be applied when /reloadconfig is called.&lt;br /&gt;
*System: Fixed unnecessary confirmation being asked when world name matches file name in /wload&lt;br /&gt;
*System: Eliminated the heartbeat thread by switching to async i/o.&lt;br /&gt;
*System: Improved startup and shutdown speed.&lt;br /&gt;
*System: Added a &amp;quot;how to promote yourself&amp;quot; message for fresh installations of fCraft.&lt;br /&gt;
*System: Fixed Server.OnPlayerDisconnected event firing for unregistered sessions.&lt;br /&gt;
*System: Made Color.Parse() and Color.GetName() translate fCraft-specific color assignments (e.g &amp;quot;&amp;amp;S&amp;quot; for &amp;quot;System&amp;quot;)&lt;br /&gt;
*System: Added better detection for SMP/Alpha clients trying to connect.&lt;br /&gt;
*System: Sped up AutoRankAll&lt;br /&gt;
&lt;br /&gt;
=0.4xx=&lt;br /&gt;
===0.499===&lt;br /&gt;
&#039;&#039;6 November 2010 - r311&#039;&#039;&lt;br /&gt;
*Feature: Added an option to disable name verification for players connecting from LAN.&lt;br /&gt;
*Feature: Added &#039;flat&#039; template to MapGenerator, allowing to make flat maps with any theme.&lt;br /&gt;
*Feature: Added &#039;grass&#039; pseudotheme to /gen command, which is basically the &#039;Forest&#039; theme with trees disabled.&lt;br /&gt;
*Fix: Fixed /wflush leaving ghosts/clones behind.&lt;br /&gt;
*Fix: Fixed muted players being able to use /say and /staff&lt;br /&gt;
*Fix: Fixed /baninfo ignoring permission checks.&lt;br /&gt;
*Fix: Fixed &amp;quot;draw limit&amp;quot; checkbox getting disabled in ConfigTool if a player had &#039;CopyAndPaste&#039; permission but no &#039;Draw&#039; permission.&lt;br /&gt;
*Fix: Fixed several off-by-1 errors involving random number generation, notably in MapGenerator and Server.GenerateSalt()&lt;br /&gt;
*Fix: Fixed potential crash in MapGenerator.SealLiquids&lt;br /&gt;
*Fix: Fixed a potential crash in Map.SaveBackup() if the map filename contained brackets.&lt;br /&gt;
*Fix: Fixed a forced disconnect when trying to feed /gen a theme or template with brackets in the name.&lt;br /&gt;
&lt;br /&gt;
===0.498===&lt;br /&gt;
&#039;&#039;4 November 2010 - r308&#039;&#039;&lt;br /&gt;
*Change: Disabled zlib support due to more potential memory leaks. fffuuuuu....&lt;br /&gt;
*Fix: Fixed Island, Bay, and Ice templates broken by the last patch.&lt;br /&gt;
*Fix: MapGeneratorArgs: snowTransition was interpreted as absolute (instead of relative) altitude, and marbledHeightmap incorrectly defaulted to &#039;true&#039;.&lt;br /&gt;
*Change: Updated readme and changelog.&lt;br /&gt;
&lt;br /&gt;
===0.497===&lt;br /&gt;
&#039;&#039;4 November 2010 - r306&#039;&#039;&lt;br /&gt;
*Feature: Added accurate progress reporting from MapGenerator. Coming soon: cancellation.&lt;br /&gt;
*Feature: New MapGenerator options: BeachHeight, CliffSmoothing, LandSlope, UnderwaterSlope, MaxHeightVariation, MaxDepthVariation.&lt;br /&gt;
*Feature: Added UI controls for snow/cliff/beach settings to AddWorldPopup.&lt;br /&gt;
*Feature: Added a list of popular IRC networks to ConfigTool.&lt;br /&gt;
*Change: Improved PlayerDB lookup performance by reducing locking.&lt;br /&gt;
*Fix: Fixed MapGenerator calculating slope incorrectly at the water boundary.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add Ore&amp;quot; requiring &amp;quot;Add Caves&amp;quot; in MapGenerator.&lt;br /&gt;
*Fix: Fixed water/lava caves not sealing liquids properly. &lt;br /&gt;
*Change: Set MapGenerator to default to 256x256x96&lt;br /&gt;
*Change: AddWorldPopup Generator tab layout overhaul&lt;br /&gt;
*Change: Organized MapGeneratorArgs and added serialization/deserialization for all the new options.&lt;br /&gt;
&lt;br /&gt;
===0.496===&lt;br /&gt;
&#039;&#039;3 November 2010 - r301&#039;&#039;&lt;br /&gt;
*Fix: Fixed File.Replace() failing if fCraft was set up on a partition/volume other than the one where temp folder is.&lt;br /&gt;
*Fix: Added missing tooltip for &amp;quot;Edit Greeting&amp;quot;&lt;br /&gt;
*Fix: Fixed /sinfo including hidden players in the player count.&lt;br /&gt;
&lt;br /&gt;
===0.495===&lt;br /&gt;
&#039;&#039;2 November 2010 - r300&#039;&#039;&lt;br /&gt;
*Feature: Added a way to edit the greeting message, by editing &amp;quot;greeting.txt&amp;quot;&lt;br /&gt;
*Feature: When a player gets banned, any previously-banned accounts from same IP are listed.&lt;br /&gt;
*Fix: Fixed renaming worlds from ConfigTool&#039;s &amp;quot;worlds&amp;quot; tab not always working.&lt;br /&gt;
*Fix: Fixed several filesystem-related errors on non-Windows systems by using Path.Combine() instead of string concatenation.&lt;br /&gt;
*Fix: Possible workaround for missing heartbeats.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;default build rank&amp;quot; controls in ConfigTools.&lt;br /&gt;
*Fix: Fixed overwrite confirmation popping up for /wload when loading map into an unloaded world with the same name.&lt;br /&gt;
*Fix: Fixed a case where Forester could get into an infinite loop when there&#039;s not enough room to place requested number of trees.&lt;br /&gt;
&lt;br /&gt;
===0.494===&lt;br /&gt;
&#039;&#039;31 October 2010 - r297&#039;&#039;&lt;br /&gt;
*Feature: New map generator features:&lt;br /&gt;
**Adjustable water level.&lt;br /&gt;
**Realistic trees (powered by Forester)&lt;br /&gt;
**Snow on mountaintops&lt;br /&gt;
**Realistic cliffs&lt;br /&gt;
**Beaches&lt;br /&gt;
**New template (peninsula) and theme (swamp).&lt;br /&gt;
**Option to delay heightmap bias until after marbling/inversion.&lt;br /&gt;
*Feature: Added a way to load .mine maps.&lt;br /&gt;
*Feature: Added confirmation for potentially destructive commands: /importranks, /importbans, /massrank, /wload overwrites, /gen overwrites, /wsave overwrites, /zremove.&lt;br /&gt;
*Feature: Added /staff chat and ReadStaffChat permission.&lt;br /&gt;
*Feature: Added wireframe cuboid (/cw)&lt;br /&gt;
*Feature: Added an optional second param for /ch (cuboid hollow) that specifies the blocktype of the &amp;quot;filling&amp;quot;.&lt;br /&gt;
*Feature: Added a way to specify default build permission for new worlds.&lt;br /&gt;
*Fix: Fixed /info, /baninfo, and /banip not handling players whose name contain only digits.&lt;br /&gt;
*Fix: Fixed DoChangeRank mixing up RankChangeType.&lt;br /&gt;
*Fix: Added missing fields to MapGeneratorArgs serializer.&lt;br /&gt;
*Fix: Fixed per-rank draw limits not being calculated correctly in some cases.&lt;br /&gt;
*Fix: Replaced File.Delete/File.Move calls with a more reliable File.Replace call. This should slightly improve reliability of map/playerdb.txt/ipbans.txt/worlds.xml saving.&lt;br /&gt;
*Fix: Fixed a little ConfigTool bug that did not properly reset PatrolledRank after a rank deletion.&lt;br /&gt;
*Fix: Fixed terminal colors not resetting in fCraftConsole after a fatal crash under Mono.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;Play&amp;quot; button in fCraftUI.&lt;br /&gt;
*Fix: Added some basic error reporting to fCraftWinService.&lt;br /&gt;
*Change: Tweaked AddWorldPopup layout to accommodate more options.&lt;br /&gt;
&lt;br /&gt;
===0.493===&lt;br /&gt;
&#039;&#039;27 October 2010 - r290&#039;&#039;&lt;br /&gt;
*Feature: /info now supports autocompletion, wildcards, and IP search.&lt;br /&gt;
*Feature: Experimental service wrapper for fCraft.&lt;br /&gt;
*Feature: Added more editable properties to /setinfo: RankChangeType, BanReason, UnbanReason, RankChangeReason, LastKickReason&lt;br /&gt;
*Feature: Various improvements to /info, including hide-aware &amp;quot;online&amp;quot; indicator.&lt;br /&gt;
*Feature: Made Player.NoAccessMessage() print the minimum required rank, instead of just permission name(s).&lt;br /&gt;
*Feature: Added wootalyzer&#039;s chunk rendering code to IsoCat.&lt;br /&gt;
*Fix: Fixed ConfigTool not taking advantage of ZLibStream &lt;br /&gt;
*Fix: Fixed a very improbable case of a thread getting spinlocked when calling IRC.Send() is preemptied, and if there are at least 2 IRC threads.&lt;br /&gt;
*Fix: Fixed kick packets occasionally not being delivered due to a missing Flush() - thanks to wootalyzer for catching.&lt;br /&gt;
*Fix: Excluded banned and inactive players from DumpStats&lt;br /&gt;
*Fix: Fixed PlayerDB.Save() not escaping LastKickReason &lt;br /&gt;
*Fix: Cleaned up extra messages sent by /unhide.&lt;br /&gt;
*Fix: Fixed LastSeen not updating on-login (only on-logout).&lt;br /&gt;
*Fix: Improved the way fCraft checks for ghost/leftover sessions. Thanks to wootalyzer.&lt;br /&gt;
*Fix: If a player&#039;s name starts with a number, and you try to /tp to a coordinate that starts with the same number, you are no longer teleported to that player instead.&lt;br /&gt;
*Fix: Fixed hidden players being detectable by checking LastSeen in /info.&lt;br /&gt;
*Fix: To avoid performance degradation, GC calls have been centralized, delayed, limited to 1/minute, and moved to the tasks thread.&lt;br /&gt;
*Fix: Added delay between recurring calls to PlayerDB.Save, AutoRankAll, and DoGC - to balance load.&lt;br /&gt;
*Fix: Fixed rankChangeType not being updated.&lt;br /&gt;
*Fix: Fixed some typos reported by tvc. &lt;br /&gt;
*Change: Added &amp;quot;/uf&amp;quot; as an alias for &amp;quot;/unfreeze&amp;quot;, by popular demand. &lt;br /&gt;
*Change: Modified PlayerDB not to use ReaderWriterLockSlim, to avoid Mono issues with recursion.&lt;br /&gt;
*Change: Renamed /editplayerinfo to /setinfo&lt;br /&gt;
*Change: Made enum values in AutoRank (CriterionType, ConditionField, ComparisonOperation, ConditionScopeType, RankChangeType) case-insensitive.&lt;br /&gt;
*Change: Added a reference to /baninfo in /info&lt;br /&gt;
*Change: Made DetectMovementPacketSpam warn players instead of kicking.&lt;br /&gt;
&lt;br /&gt;
===0.492===&lt;br /&gt;
&#039;&#039;19 October 2010 - r280&#039;&#039;&lt;br /&gt;
*Feature: Added EditPlayerDB permission. This permission affects the upcoming AutoRank commands, /editplayerinfo, and ability to promote/demote/ban unrecognized players.&lt;br /&gt;
*Feature: When you kick a player, you are now shown the number of kicks they already have.&lt;br /&gt;
*Feature: More stats are now logged! RankType, TimeSinceLastKick, LastSeen, BlocksDrawn, LastKickBy, LastKickReason.&lt;br /&gt;
*Feature: Added &amp;quot;MaxUndo&amp;quot; config key for changing the default undo limit of 2,000,000 blocks per player.&lt;br /&gt;
*Feature: /info command is augmented with new stats (if available).&lt;br /&gt;
*Fix: Fixed ellipsoid command calculating volume incorrectly for draw limit checks.&lt;br /&gt;
*Fix: Fixed overflowing color code in &amp;quot;Player logged in from an IP previously used by banned players&amp;quot; message.&lt;br /&gt;
*Fix: Fixed PM recipient&#039;s name not getting logged properly.&lt;br /&gt;
*Fix: Previously-unseen players no longer have their FirstLoginDate, LastLoginDate, or TimesVisited set.&lt;br /&gt;
*Fix: /importranks now works correctly on players who are online at the time of import.&lt;br /&gt;
*Change: Added block aliases by popular demand: &amp;quot;bedrock&amp;quot; as an alias for admincrete, &amp;quot;cotton&amp;quot; as alias for &amp;quot;white&amp;quot;, and &amp;quot;aire&amp;quot; as alias for &amp;quot;air&amp;quot;&lt;br /&gt;
*Change: PlayerDB.txt format changes:&lt;br /&gt;
**MaxFieldCount raised to 36&lt;br /&gt;
**New fields added: UID (Int32), RankChangeType (enum, serialized as Int32), LastKickDate (DateTime), LastSeen (DateTime), BlocksDrawn (Int64), LastKickBy (string), LastKickReason (string).&lt;br /&gt;
**RankChangeBy, BannedBy, UnbannedBy, BanReason, UnbanReason, and RankChangeReason now default to empty string instead of &amp;quot;-&amp;quot; or null.&lt;br /&gt;
**If LastIP==IPAddress.None, empty string is saved instead of &amp;quot;255.255.255.255&amp;quot;.&lt;br /&gt;
**DateTime and TimeSpan format shortened to exclude microseconds. See PlayerDB.ToCompactString() for details.&lt;br /&gt;
*Change: AutoRank improvements (disabled in stable builds):&lt;br /&gt;
**Added /editplayerinfo command for easy editing of PlayerDB.&lt;br /&gt;
**Made AutoRank check players in-login (to accelerate promotion).&lt;br /&gt;
**AutoRank now runs on a scheduler.&lt;br /&gt;
**Fixed ConditionPreviousRank crash for played with default rank.&lt;br /&gt;
**Fixed banned players getting promoted by AutoRank.&lt;br /&gt;
**Fixed several serialization/loading issues in AutoRank.&lt;br /&gt;
**New fields added to ConditionIntRange: LastSeen, BlocksDrawn, TimeSinceRankChange, TimeSinceLastKick&lt;br /&gt;
**ConditionRankStatus renamed to ConditionRankChangeType&lt;br /&gt;
&lt;br /&gt;
===0.491===&lt;br /&gt;
&#039;&#039;17 October 2010 - r274&#039;&#039;&lt;br /&gt;
*Feature: Added ability to run multiple parallel IRC bots, to help high-traffic servers deal with IRC lag. This also makes it possible to connect to multiple networks in the future.&lt;br /&gt;
*Feature: Added new block aliases, by popular demand: &amp;quot;emerald&amp;quot;=teal, &amp;quot;fuchsia&amp;quot;=magenta, &amp;quot;cloth&amp;quot;=white, &amp;quot;lightgray&amp;quot;=gray, &amp;quot;lightgrey&amp;quot;=gray, &amp;quot;darkgray&amp;quot;=black, &amp;quot;darkgrey&amp;quot;=black, &amp;quot;brass&amp;quot;=gold&lt;br /&gt;
*Fix: Temporarily disabled 64-bit zlib support while I track down memory leaks. Should fix OutOfMemoryException, I&#039;m very sorry about overlooking that.&lt;br /&gt;
*Fix: Fixed a bug in /info that displayed incorrect &amp;quot;total time on server&amp;quot;.&lt;br /&gt;
*Fix: Per-rank permission checks for /freeze now apply as intended&lt;br /&gt;
*Fix: Fixed several improbable (but not impossible) threading deadlocks/crashes. Thanks to wootalyzer for catching these.&lt;br /&gt;
*Change: Added IRCThreads config key (default: 1, allowed range: 1-3)&lt;br /&gt;
&lt;br /&gt;
===0.490===&lt;br /&gt;
&#039;&#039;14 October 2010 - r264&#039;&#039;&lt;br /&gt;
*Feature: Testing a new map compressor/decompressor: ZLibStream. It should provide 50-200% speed increase, smaller map sizes, lower bandwidth use, and faster map loading.&lt;br /&gt;
*Fix: Fixed /shutdown not waiting the right amount and mixing up seconds/milliseconds.&lt;br /&gt;
*Fix: Fixed &amp;quot;No world found with the name...&amp;quot; showing player&#039;s own name.&lt;br /&gt;
*Fix: Added a fail-safe exception handler to Player.WaitForKick() - a temporary fix.&lt;br /&gt;
*Change: Previous verification salt is now stored, to allow players to validate even right after the server restarts.&lt;br /&gt;
*Change: Restructured SVN. Stable code is now always in /trunk/&lt;br /&gt;
&lt;br /&gt;
===0.487===&lt;br /&gt;
&#039;&#039;12 October 2010 - r255&#039;&#039;&lt;br /&gt;
*Feature: Added contextual help (tooltips) for all of ConfigTool. Help for &amp;quot;Add World&amp;quot; popup is coming in next version.&lt;br /&gt;
*Feature: Added rank limits for Freeze permission&lt;br /&gt;
*Fix: Fixed /mute being unusable from console.&lt;br /&gt;
*Change: Removed ViewOthersInfo requirement from /sinfo&lt;br /&gt;
*Change: Added ViewOthersInfo requirement to /where&lt;br /&gt;
*Change: Improvements to IRC tab layout in ConfigTool.&lt;br /&gt;
&lt;br /&gt;
===0.486===&lt;br /&gt;
&#039;&#039;11 October 2010 - r250&#039;&#039;&lt;br /&gt;
*Quick fix for IRC Bot bug that made server unconnectable.&lt;br /&gt;
&lt;br /&gt;
===0.485===&lt;br /&gt;
&#039;&#039;11 October 2010 - r249&#039;&#039;&lt;br /&gt;
*Feature: Added optional &amp;quot;delay&amp;quot; parameter to /shutdown (default: 5)&lt;br /&gt;
*Feature: World names can now be autocompleted for many commands (like /join and /lock)&lt;br /&gt;
*Fix: Fixed /unhide failing to reveal the player in certain situations.&lt;br /&gt;
*Fix: Fixed /setspawn being usable on players from other worlds.&lt;br /&gt;
*Fix: Fixed player names appearing white for all players.&lt;br /&gt;
*Fix: Fixed a recursion loop in NoWorldMessage()&lt;br /&gt;
*Fix: Fixed help entries for /setspawn and /shutdown&lt;br /&gt;
*Fix: Fixed potential crash in Server.Shutdown() if called after failed initialization/startup.&lt;br /&gt;
*Fix: Fixed potential deadlock/freeze in fCraftUI on shutdown.&lt;br /&gt;
*Change: Improved crash reporting for TargetInvokationException and TypeInitializerException errors.&lt;br /&gt;
*Change: All assemblies are now once again x86/x86_64/IA64 compatible.&lt;br /&gt;
*Change: Server.OnPlayerConnected event now supports cancellation.&lt;br /&gt;
&lt;br /&gt;
===0.484===&lt;br /&gt;
&#039;&#039;10 October 2010 - r245&#039;&#039;&lt;br /&gt;
*Feature: Added a way for IRC bot to use registered nicknames.&lt;br /&gt;
*Feature: /banall-related kicks are now announced in chat.&lt;br /&gt;
*Feature: /setspawn now actually changes player&#039;s spawn. Also, an optional PlayerName param allows temporarily changing other players&#039; spawn point.&lt;br /&gt;
*Feature: Several improvements to /info. Info now shows whether player&#039;s nick or IP was banned, and hides undefined information for players who haven&#039;t ever logged in.&lt;br /&gt;
*Fix: Fixed crash in ConfigTool if announcements were disabled.&lt;br /&gt;
*Fix: Fixed /banall not matching IPs properly, and not counting kicks towards PlayerInfo.&lt;br /&gt;
*Fix: Fixed ConfigUI not shutting down properly if Server.Init() or Server.Start() failed.&lt;br /&gt;
*Fix: Fixed Config.LoadLogOptions() always leaving Debug enabled.&lt;br /&gt;
*Fix: Added Process.GetCurrentProcess().Refresh() to ServerInfo to improve accuracy of /sinfo stat reporting.&lt;br /&gt;
*Fix: Improved /wsave and /wload path handling on non-Windows platforms.&lt;br /&gt;
*Fix: Replaced some potentially unsafe string concatenation in Player.Message() with proper formatting.&lt;br /&gt;
*Fix: Attempting a workaround for Mono memory leak in World.UnloadMap&lt;br /&gt;
*Fix: Fixed ranks from pre-0.480 configs being loaded in wrong order. Sorry!&lt;br /&gt;
*Change: Added a brief delay before reconnecting IRC bot after getting kicked from a channel. &lt;br /&gt;
*Change: PlayerDB is now saved every 60 seconds (instead of every 30).&lt;br /&gt;
*Change: Removed unused IRCBotQuitMsg config key, and added IRCRegisteredNick, IRCNickServ, and IRCNickServMessage keys.&lt;br /&gt;
*Change: Added a popup with crash information to ConfigTool.&lt;br /&gt;
*Change: Made announcements disabled by default.&lt;br /&gt;
&lt;br /&gt;
===0.483===&lt;br /&gt;
&#039;&#039;8 October 2010 - r242&#039;&#039;&lt;br /&gt;
*Feature: Myne/MyneCraft/Hyvebuild/iCraft maps can now be loaded from ConfigTool&#039;s &amp;quot;Add World&amp;quot; dialog.&lt;br /&gt;
*Fix: Fixed incorrect range checks for AnnouncementInterval and SaveInterval config keys (thanks to Shcaap for reporting).&lt;br /&gt;
*Fix: Fixed /hide showing a slightly different &amp;quot;player left&amp;quot; message compared to normal disconnect (thanks to Silverrock for reporting).&lt;br /&gt;
*Change: Added MC#-style &amp;quot;/z&amp;quot; alias for cuboid, by popular demand.&lt;br /&gt;
*Change: Hidden players can now receive PMs. The sender still gets the &amp;quot;No player found&amp;quot; message, but PMs are actually sent.&lt;br /&gt;
&lt;br /&gt;
===0.482===&lt;br /&gt;
&#039;&#039;7 October 2010 - r241&#039;&#039;&lt;br /&gt;
*Feature: Added new command aliases: &amp;quot;f&amp;quot; for &amp;quot;freeze&amp;quot;, and &amp;quot;pat&amp;quot; for &amp;quot;patrol&amp;quot;.&lt;br /&gt;
*Fix: Fixed typos in mute-related messages.&lt;br /&gt;
*Fix: Added missing triggers for OnPlayerListChanged event.&lt;br /&gt;
*Fix: Fixed /reloadconfig not changing several variables (like colors).&lt;br /&gt;
*Fix: Fixed antigrief defaulting to 35/5 (instead of unmetered).&lt;br /&gt;
*Fix: Fixed heartbeat counting hidden players.&lt;br /&gt;
*Fix: Fixed a rare ObjectDisposedException crash on shutdown when running fCraftUI.&lt;br /&gt;
*Change: Added a more informative disconnect message to players connecting with Alpha client.&lt;br /&gt;
*Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.&lt;br /&gt;
*Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.&lt;br /&gt;
&lt;br /&gt;
===0.481===&lt;br /&gt;
&#039;&#039;2 October 2010 - r237&#039;&#039;&lt;br /&gt;
*Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).&lt;br /&gt;
*Fixed a few more references to &amp;quot;player class&amp;quot; terminology instead of &amp;quot;rank&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.480===&lt;br /&gt;
&#039;&#039;2 October 2010 - r236&#039;&#039;&lt;br /&gt;
*Feature: Changed all &amp;quot;player classes&amp;quot; terminology to &amp;quot;ranks&amp;quot; for consistency with other servers. Several commands have been renamed to reflect that: /classes to /ranks, /user to /rank, /class to /rankinfo. All rank-related messages have also been updated.&lt;br /&gt;
*Feature: Added &amp;quot;Raise&amp;quot;/&amp;quot;Lower&amp;quot; buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a &amp;quot;rank&amp;quot; number to reorder ranks.&lt;br /&gt;
*Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.&lt;br /&gt;
*Fix: Improved fCraftUI responsiveness on-startup.&lt;br /&gt;
*Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.&lt;br /&gt;
*Fix: /wremove now always saves the map before unloading.&lt;br /&gt;
*Fix: Fixed Console being affected by chat spam/flood checks.&lt;br /&gt;
*Fix: Fixed /zinfo not showing any separators between player names.&lt;br /&gt;
*Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.&lt;br /&gt;
*Fix: Fixed Security and IRC tabs not being reset by &amp;quot;Reset All Defaults&amp;quot;&lt;br /&gt;
*Fix: Fixed bugged error messages in /tp and /bring when world access permission check fails.&lt;br /&gt;
*Fix: If any class limits were set to default/&amp;quot;(own class)&amp;quot;, the setting is now preserved.&lt;br /&gt;
*Fix: Fixed a bug that didn&#039;t reset Hide limit if it was set to a deleted rank.&lt;br /&gt;
*Change: Removed legacy zone loading code for pre-0.420 maps (due to changes in rank definition format).&lt;br /&gt;
*Change: Added a more informative disconnect message for players trying to connect with Minecraft Alpha clients.&lt;br /&gt;
*Change: Improved rank-based coloring in world list to check both access and build permissions.&lt;br /&gt;
*Change: Added &amp;quot;/fetch&amp;quot; as alias for /bring, and renamed &amp;quot;/save&amp;quot; to &amp;quot;/wsave&amp;quot;.&lt;br /&gt;
*Change: Deleted some obsolete/disabled controls from ConfigTool, removed PingInterval config key, and removed placeholder ControlPhysics and AddLandmarks permissions.&lt;br /&gt;
*Change: Made several changes to improve disconnect detection:&lt;br /&gt;
**Added occasional pings (every 5 seconds or so, depending on activity/inactivity).&lt;br /&gt;
**Reduced socket send/receive timeout from 12 to 10 seconds.&lt;br /&gt;
**Increased socket polling interval to improve performance.&lt;br /&gt;
*Change: If a player tries to connect to a server twice, the FIRST connection is dropped instead of the LAST connection.&lt;br /&gt;
*Refactor: Major changes were made to the way ranks are stored, and to RankList (formerly ClassList) API.&lt;br /&gt;
*Optimization: Made IsoCat rendering faster, and made draw commands use less CPU.&lt;br /&gt;
&lt;br /&gt;
===0.475===&lt;br /&gt;
&#039;&#039;17 September 2010 - r229&#039;&#039;&lt;br /&gt;
*Feature: /ztest now distinguishes between being allowed/denied by rank/class vs by whitelist/blacklist.&lt;br /&gt;
*Fix: Fixed being unable to change rank/class restrictions with /zedit&lt;br /&gt;
*Fix: Fixed a bug that reported wrong average CPU usage&lt;br /&gt;
*Fix: Fixed a crash on saving in ConfigTool, related to new PatrolledClass config key.&lt;br /&gt;
&lt;br /&gt;
===0.474===&lt;br /&gt;
&#039;&#039;16 September 2010 - r228&#039;&#039;&lt;br /&gt;
*Feature: &amp;quot;/mute&amp;quot; command to temporarily stop players from chatting. A new class permission (Mute) is added, granted to op+ by default.&lt;br /&gt;
*Feature: &amp;quot;/shutdown&amp;quot; command to gracefully shutdown the server remotely. A new class permission (ShutdownServer) is added, granted to owner by default.&lt;br /&gt;
*Feature: Added CPU usage information and loaded world count to /sinfo.&lt;br /&gt;
*Fix: Added a way to edit &amp;quot;PatrolledClass&amp;quot; from ConfigTool.&lt;br /&gt;
*Fix: Fixed zone whitelist/blacklist not updated correctly when edited.&lt;br /&gt;
*Fix: Made teleporting to spawn (with /spawn or /tp, no parameters) accessible to all classes.&lt;br /&gt;
*Fix: Adjusted for Notch&#039;s errors in handling player positions in teleport packets. Slightly improves accuracy of /tp, /bring, initial spawning, /patrol, frozen players, and speedhack detection.&lt;br /&gt;
*Fix: Removed &amp;quot;/tp&amp;quot; bounds check when used with typed-in coordinates numbers.&lt;br /&gt;
*Fix: Fixed an extremely unlikely case of PlayerDB/IPBanList overwriting on shutdown if server initialization failed.&lt;br /&gt;
*Fix: Made &amp;quot;server shutting down&amp;quot; packets deliver more reliably (but still not guaranteed).&lt;br /&gt;
*Fix: Fixed Console possibly not seeing hidden players.&lt;br /&gt;
*Change: Added a basic file check to AutoLauncher&lt;br /&gt;
*Change: Added error logging and crash reporting to Server.Shutdown&lt;br /&gt;
*API: Renamed Server.ShutdownStart to Server.ShutdownBegin (for consistency).&lt;br /&gt;
&lt;br /&gt;
===0.473===&lt;br /&gt;
&#039;&#039;15 September 2010 - r227&#039;&#039;&lt;br /&gt;
*Feature: Added zone coordinates to /zinfo&lt;br /&gt;
*Fix: Fixed cross-world /tp teleporting the wrong player.&lt;br /&gt;
*Fix: Fixed odd date formatting in /zinfo&lt;br /&gt;
&lt;br /&gt;
===0.472===&lt;br /&gt;
&#039;&#039;15 September 2010 - r226&#039;&#039;&lt;br /&gt;
*Feature: Added /cut command&lt;br /&gt;
*Feature: Added a new /patrol command. It allows cycling through low-ranked players on a map (with teleportation). The order is determined by how long it&#039;s been since someone checked on a player. A &amp;quot;Patrol&amp;quot; permission and &amp;quot;PatrolledClass&amp;quot; config key were added.&lt;br /&gt;
*Feature: Added a shorthand notation to /zone for making personal zones: &amp;quot;/zone +PlayerName&amp;quot; creates a zone named after the player, with rank limit just above player&#039;s, and with player whitelisted.&lt;br /&gt;
*Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.&lt;br /&gt;
*Fix: Fixed server always binding to IPAddress.Any regardless of config settings.&lt;br /&gt;
*Fix: TP/Bring no longer allow teleporting to hidden players on other worlds.&lt;br /&gt;
*Fix: Server.GetPlayerList(string) now stops searching the list when it finds an exact match.&lt;br /&gt;
*Fix: Fixed client-crash in /zedit when changing class.&lt;br /&gt;
*Fix: Fixed possible corruption of edited zones upon map saving.&lt;br /&gt;
*Fix: Fixed a range of improbable synchronization issues in the way Zone whitelist/blacklist is updated. As a fortunate side-effect, significantly reduced Zone.CanBuild() overhead.&lt;br /&gt;
*Fix: Temporarily added mainThread.Abort() to Server.Shutdown() that&#039;s kicked in if mainThread does not stop within 5s of being notified of shutdown. I am investigating the real cause of the hang.&lt;br /&gt;
*Fix: Fixed hidden players being revealed by promotion/demotion.&lt;br /&gt;
*Change: Added less threatening error messages to IRC bot on network errors (SocketException and IOException).&lt;br /&gt;
*Change: Disabled movement handling code while changing maps.&lt;br /&gt;
*Refactor: Merged StandardCommands and ImportCommands into AdminCommands&lt;br /&gt;
&lt;br /&gt;
===0.471===&lt;br /&gt;
&#039;&#039;14 September 2010 - r224&#039;&#039;&lt;br /&gt;
*Feature: Added ability to specify the server&#039;s IP (to bind to) manually, for machines with multiple NICs. A new config key &amp;quot;IP&amp;quot; (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.&lt;br /&gt;
*Fix: Fixed a bug with player ghosts being left behind when switching worlds.&lt;br /&gt;
*Fix: Fixed a case with kicked players&#039; connections not being terminated at once (thanks to wootalyzer).&lt;br /&gt;
*Fix: Fixed several bugs in hide/unhide functionality.&lt;br /&gt;
*Fix: Fixed a rare crash in AddWorldPopup related to missing maps for existing worlds.&lt;br /&gt;
*Fix: AddWorldPopup will no longer allow adding a world with a duplicate name.&lt;br /&gt;
*Fix: Capped maximum players at the newly-discovered protocol limit of 128 (thanks to wootalyzer).&lt;br /&gt;
*Change: ConfigTool fields now provide better feedback if validation fails.&lt;br /&gt;
*Change: Changed heartbeat interval to 40 seconds (down from 50).&lt;br /&gt;
*Change: Added a special error handler for rare/impossible case of mainWorld not being joinable.&lt;br /&gt;
*Change: Made fatal error messages in fCraftConsole print in red. Better color support coming soon.&lt;br /&gt;
&lt;br /&gt;
===0.470===&lt;br /&gt;
&#039;&#039;13 September 2010 - r223&#039;&#039;&lt;br /&gt;
*Feature: Personal zones - per-zone whitelist and blacklist of individual players. The lists can now be defined with /zadd and edited with /zedit.&lt;br /&gt;
*Feature: Added cave/ore generator from Omen (BETA).&lt;br /&gt;
*Feature: Added &amp;quot;/maps&amp;quot; and &amp;quot;/levels&amp;quot; as aliases for &amp;quot;/worlds&amp;quot;.&lt;br /&gt;
*Feature: Added a way to limit the &amp;quot;Hide&amp;quot; permission per-class. Now you can specify whom can a class hide from.&lt;br /&gt;
*Feature: Zones now remember date/time of creation and last edit, and names of original creator and last editor.&lt;br /&gt;
*Fix: Unauthorized players can no longer PM or use bring/freeze/unfreeze/kick/tp/where on hidden players. They get the standard &amp;quot;player not found&amp;quot; message.&lt;br /&gt;
*Fix: Fixed hidden players being counter towards /players total.&lt;br /&gt;
*Fix: Fixed a potential crash in /wflush when using on unloaded maps.&lt;br /&gt;
*Fix: Doing /banip or /banall on unrecognized players no longer ip-bans 255.255.255.255. Old IPBanList entries relating to 255.255.255.255 will be automatically discarded.&lt;br /&gt;
*Fix: Fixed /replace command uses not being logged.&lt;br /&gt;
*Fix: Fixed /worlds command not showing world count.&lt;br /&gt;
*Fix: Fixed a client-disconnect when trying to unban a player who is not in the database.&lt;br /&gt;
*Fix: Fixed &amp;quot;/join PlayerName&amp;quot; not translating to &amp;quot;/tp PlayerName&amp;quot; correctly.&lt;br /&gt;
*Fix: Fixed a very unlikely client-disconnect in ChangeClass if the entered class name contains curved braces.&lt;br /&gt;
*Change: Changed default name for &amp;quot;/flip&amp;quot; command to &amp;quot;/mirror&amp;quot;, and fixed command&#039;s help. Either term still works.&lt;br /&gt;
*Change: Added more block name aliases:&lt;br /&gt;
**Air: delete, erase&lt;br /&gt;
**Stone: cement, concrete&lt;br /&gt;
**Grass: gras (common typo)&lt;br /&gt;
**Obsidian: onyx&lt;br /&gt;
*Change: Improved formatting of /players, /worlds, and draw command messages.&lt;br /&gt;
&lt;br /&gt;
===0.463===&lt;br /&gt;
&#039;&#039;9 September 2010 - r218&#039;&#039;&lt;br /&gt;
*Fix: Fixed special colors showing up even if ClassColorsInChat is disabled.&lt;br /&gt;
*Fix: Fixed potential client-crash in World.SendToAll(), and related client-crash in lock/unlock.&lt;br /&gt;
&lt;br /&gt;
===0.462===&lt;br /&gt;
&#039;&#039;8 September 2010 - r217&#039;&#039;&lt;br /&gt;
*Fix: The &amp;quot;OK&amp;quot; button in AddWorldPopup no longer stays grayed out.&lt;br /&gt;
*Fix: Fixed &amp;quot;Error occured while loading&amp;quot; in the file information dialog for non-FCM files.&lt;br /&gt;
*Fix: Fixed a crash in /bring when used without any parameters.&lt;br /&gt;
*Fix: Fixed Server.UrlEncode not escaping 0x00-0x0F characters properly.&lt;br /&gt;
*Change: Slightly reduced default tree density in MapGenerator.&lt;br /&gt;
&lt;br /&gt;
===0.461===&lt;br /&gt;
&#039;&#039;8 September 2010 - r216&#039;&#039;&lt;br /&gt;
*Feature: New EXPERIMENTAL &amp;quot;/reloadconfig&amp;quot; command, and associated ReloadConfig permission. Use with caution!&lt;br /&gt;
*Fix: Fixed a case where AddWorldPopup would allow clicking &amp;quot;OK&amp;quot; with a null map.&lt;br /&gt;
*Fix: Fixed player crash if /freeze or /unfreeze is used without arguments.&lt;br /&gt;
*Fix: Fixed player crash on FormatException in /zones and Server.ShowPlayerConnectedMessage.&lt;br /&gt;
*Fix: Fixed potential player crash if LimitOneConnectionPerIP is enabled.&lt;br /&gt;
&lt;br /&gt;
===0.460===&lt;br /&gt;
&#039;&#039;8 September 2010 - r214&#039;&#039;&lt;br /&gt;
*Feature: Added ShowPlayerConnectedMessage and ClassColorsInWorldNames settings to config.&lt;br /&gt;
*Feature: Added /measure command.&lt;br /&gt;
*Feature: Class colors and prefixes are now applied consistently EVERYWHERE.&lt;br /&gt;
*Feature: Banned players now see their ban reason/memo when they get kicked.&lt;br /&gt;
*Feature: A special error message is shown to players trying to connect with Alpha/SMP client.&lt;br /&gt;
*Feature: IsoCat (ConfigTool isometric preview) rendering quality improved: better shadows and slight altitude-based gradient.&lt;br /&gt;
*Feature: Added new blocktype name aliases: &amp;quot;solid&amp;quot;, &amp;quot;golden&amp;quot;, &amp;quot;halfstep&amp;quot;, &amp;quot;halfblock&amp;quot;, &amp;quot;steps&amp;quot;.&lt;br /&gt;
*Feature: Added player count for each class in /classes&lt;br /&gt;
*Fix: Fixed wrong &amp;quot;MaxBackupsSize&amp;quot; range in ConfigTool.&lt;br /&gt;
*Fix: MaxBackupsSize setting is now applied correctly.&lt;br /&gt;
*Fix: IRC color codes are now stripped from forwarded messages.&lt;br /&gt;
*Fix: IRC bot now uses ServerName for &amp;quot;real name&amp;quot;.&lt;br /&gt;
*Fix: Formatting improved in many error messages.&lt;br /&gt;
*Fix: Commas in ban/unban/promote/demote reasons no longer cause problems with PlayerDB.&lt;br /&gt;
*Fix: Removed extra comma from /worlds list that showed in place of hidden/inaccessible worlds.&lt;br /&gt;
*Change: Added 5-second delay between retries in AutoLauncher&lt;br /&gt;
*Change: &amp;quot;Player connected&amp;quot; message condensed to a single line by absorbing &amp;quot;joined world&amp;quot; message.&lt;br /&gt;
*Change: Removed ChangeName permission (and the ability to change names) due to possibility of abuse and confusion. Related /nick and /whois commands were also removed.&lt;br /&gt;
*Change: /tp can now fall back to behave like /join if player name is not found (for all those times when you mistype /tp instead of /join). Conversely, /join falls back to /tp if player was not found.&lt;br /&gt;
*Optimization: Reduced bandwidth use with an adaptive movement packet skipping algorithm. Should reduced outbound traffic by at least 15%.&lt;br /&gt;
*Optimization: BlockUpdate memory usage slightly reduced.&lt;br /&gt;
&lt;br /&gt;
===0.455===&lt;br /&gt;
&#039;&#039;8 September 2010 - r213&#039;&#039;&lt;br /&gt;
*Feature: AutoLauncher (BETA) allows restarting the fCraftConsole server if it crashed. Although it honestly shouldn&#039;t crash at all!&lt;br /&gt;
*Fix: Allowed renaming worlds in cases where only capitalization is different.&lt;br /&gt;
*Fix: If an ip-banned player has more than one connection, all connections are now terminated.&lt;br /&gt;
*Fix: Fixed nonrectangular MCSharp maps getting messed up by the loader.&lt;br /&gt;
*Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.&lt;br /&gt;
*Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of &amp;quot;no player found&amp;quot; message). Affects PMs, {{cmd|TP}}, {{cmd|Bring}}, {{cmd|Freeze}}, {{cmd|Unfreeze}}, {{cmd|Kick}}.&lt;br /&gt;
*Change: Improved OS detection in crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.454===&lt;br /&gt;
*Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.&lt;br /&gt;
*Fix: Replace no longer behaves same as replacenot.&lt;br /&gt;
*Fix: Spaces in IRC messages are now preserved.&lt;br /&gt;
*Fix: Help entries for paste/pastenot corrected.&lt;br /&gt;
*Fix: /cinfo (without parameters) now shows player&#039;s own class info.&lt;br /&gt;
&lt;br /&gt;
===0.453===&lt;br /&gt;
*Feature: It is now possible to reverse last /undo (by typing /undo again).&lt;br /&gt;
*Change: IRC message colors are applied slightly differently now.&lt;br /&gt;
*Change: Added more automated crash reporting hooks - to MainLoop and Tasks.&lt;br /&gt;
*Change: More help messages improved.&lt;br /&gt;
*Change: Added a more informative message for people running outdated versions of Mono and .Net runtime.&lt;br /&gt;
*Optimization: Slightly reduced memory usage of /undo, /paste, and PlayerDB.Load()&lt;br /&gt;
&lt;br /&gt;
===0.452===&lt;br /&gt;
*Feature: New /replacenot command allows replacing all blocks EXCEPT the specified one.&lt;br /&gt;
*Feature: New /flip and /rotate commands to manipulate copied blocks.&lt;br /&gt;
*Feature: /players list is now in alphabetical order.&lt;br /&gt;
*Fix: Trying to specify an unrecognized block type for draw commands (e.g. &amp;quot;/c ai&amp;quot; instead of &amp;quot;/c air&amp;quot;) now shows a proper error message.&lt;br /&gt;
*Fix: Fixed /gen command crashing players if coordinates are typed in before theme/template.&lt;br /&gt;
*Fix: Fixed /e ellipsoids coming out crooked.&lt;br /&gt;
*Fix: &amp;quot;joined for the first time&amp;quot; messages are now shown correctly.&lt;br /&gt;
*Fix: Fixed /replace not working correctly with /undo&lt;br /&gt;
*Fix: Made IRC bot strip nonprintable characters from messages, and ignore empty messages.&lt;br /&gt;
*Fix: World permissions are no longer reset when doing /wload. Also a permission reminder is now shown when creating new worlds.&lt;br /&gt;
*Change: Improved some help messages.&lt;br /&gt;
*Change: Improved IRC error reporting.&lt;br /&gt;
*Change: Added world name back to &amp;quot;Almost there...&amp;quot; join screen.&lt;br /&gt;
*Change: /pasteonly is now called /paste, and /paste is now called /pastenot (for consistency with other custom servers)&lt;br /&gt;
*Optimization: Slightly reduced memory usage of massive drawing commands (over undo limit).&lt;br /&gt;
&lt;br /&gt;
===0.451===&lt;br /&gt;
*Feature: Improved the way fCraft handles fatal errors (crashes). Crash logs are now created more reliably.&lt;br /&gt;
*Feature: Added automated crash reporting to fragmer.net (opt-out).&lt;br /&gt;
*Feature: Added an announcement for players logging in from IPs associated with other previously-banned players.&lt;br /&gt;
*Fix: Curved braces - &amp;quot;{}&amp;quot; - in server name no longer cause problems.&lt;br /&gt;
*Fix: &amp;quot;Leaving the map&amp;quot; kick disabled temporarily, will be made configurable per-class soon.&lt;br /&gt;
*Fix: banall/unbanall commands produce less chat spam.&lt;br /&gt;
*Fix: AFK kicks no longer count towards /info number-of-times-kicked.&lt;br /&gt;
*Change: Added class colors to /info, and fixed formatting bug.&lt;br /&gt;
*Change: Cleaned up &amp;quot;Advanced&amp;quot; tab in ConfigTool.&lt;br /&gt;
**Removed obsolete config keys: PolicyColorCodesInChat, PolicyIllegalCharacters, and RunOnStartup&lt;br /&gt;
**Added SubmitCrashReports and IRCDelay config keys.&lt;br /&gt;
&lt;br /&gt;
===0.450===&lt;br /&gt;
&#039;&#039;26 August 2010&#039;&#039;&lt;br /&gt;
*Feature: IRC bot rewritten for better performance, flexibility, and safety.&lt;br /&gt;
*Feature: New IRC options: IRCBotAnnounceIRCJoins and IRCBotAnnounceServerJoins.&lt;br /&gt;
*Fix: Fixed messages containing only a single slash (&#039;/&#039;) crashing client thread.&lt;br /&gt;
*Change: Removed obsolete IRCBotMsgs config key.&lt;br /&gt;
*Change: Added OnPlayerSentMessage event to Server.&lt;br /&gt;
*Change: IRC bot&#039;s commands (e.g. !status) are temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
===0.445===&lt;br /&gt;
&#039;&#039;25 August 2010&#039;&#039;&lt;br /&gt;
*IMPORTANT! Please update ASAP, a security issue was identified in previous version.&lt;br /&gt;
*Fix: If you need to start message with a slash, you can now escape the slash (type &amp;quot;//&amp;quot;)&lt;br /&gt;
*Fix: Fixed endless update loop (if automatic updates were enabled)&lt;br /&gt;
*Fix: Private messages with a space between &#039;@&#039; and the player name now work.&lt;br /&gt;
*Fix: Hacking-related kicks are not announced globally.&lt;br /&gt;
*Fix: Fixed &amp;quot;/help&amp;quot; giving wrong message if help entry was not found.&lt;br /&gt;
*Change: Minor changes in MapGenerator/Noise&lt;br /&gt;
&lt;br /&gt;
===0.444===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*Feature: New stat command, /sinfo (server info).&lt;br /&gt;
*Fix: Ban reason/memo now shown for normal bans.&lt;br /&gt;
*Fix: /cinfo for unlimited classes no longer shows &amp;quot;draw limit: 0&amp;quot;&lt;br /&gt;
*Fix: Fixed IRC message colors, and removed IRC color codes from log.&lt;br /&gt;
&lt;br /&gt;
===0.443===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*FEATURE: New {{cmd|WFlush}} command. It allows finishing all in-progress draw commands at maximum speed (over 100k blocks/second) then forces a map rejoin.&lt;br /&gt;
*Feature: Added more customization options for colors: PrivateMessageColor and IRCMessageColor in Config.&lt;br /&gt;
*Feature: {{cmd|Players}} list is now sorted alphabetically.&lt;br /&gt;
*Feature: Added &amp;quot;Check Port&amp;quot; button to ConfigTool to see if port is open. Uses www.utorrent.com/testport&lt;br /&gt;
*Feature: Added &amp;quot;Play&amp;quot; button to fCraftUI to open server URL in the browser&lt;br /&gt;
*Feature: World names in {{cmd|Worlds}} list are now colored according to each world&#039;s build permission. &lt;br /&gt;
*Feature: Added speedhack detection &amp;amp; prevention (BETA) and corresponding Permission.UseSpeedHack. All your classes will be granted this permission by default. Edit the config to customize it.&lt;br /&gt;
*Fix: When using {{cmd|Mark}} outside of map boundaries, draw limits are no longer calculated incorrectly (thanks to Darnest).&lt;br /&gt;
*Fix: Fixed possible crash in Map.CheckZones() on maps created with {{cmd|Gen}}&lt;br /&gt;
*Fix: Fixed compilation issue with &amp;quot;tileset.png&amp;quot; on case-sensitive filesystems.&lt;br /&gt;
*Fix: Fixed class-wide messages not wrapping correctly.&lt;br /&gt;
*Optimization: antigrief and antispam checking overhead reduced.&lt;br /&gt;
&lt;br /&gt;
===0.442===&lt;br /&gt;
*Fix: Addresses a security issue.&lt;br /&gt;
*Fix: &amp;quot;OK&amp;quot; button in AddWorldPopup is now always disabled if no map is set.&lt;br /&gt;
*Fix: &amp;quot;Feature size&amp;quot; label is now updater correctly when map dimensions are changed.&lt;br /&gt;
*Fix: Added missing player notifications for /undo and /cancel commands.&lt;br /&gt;
*Change: MapGenerator&#039;s default map size changed to 128x128x80&lt;br /&gt;
&lt;br /&gt;
===0.441===&lt;br /&gt;
*Feature: Added cuboid limits to /cinfo&lt;br /&gt;
*Fix: Fixed a bug in BoundingBox that made /paste and zones behave incorrectly&lt;br /&gt;
*Fix: Fixed ban/unban commands not kicking the player if entered name capitalization did not match actual capitalization&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; being broken when using &amp;quot;/gen&amp;quot;&lt;br /&gt;
*Fix: Fixed &amp;quot;/ban&amp;quot; rank checks affecting &amp;quot;/unban&amp;quot;&lt;br /&gt;
*Change: Optimized zone permission checks&lt;br /&gt;
&lt;br /&gt;
===0.440===&lt;br /&gt;
*FEATURE: New MapGenerator with tons of options. You can also save/load custom templates for it.&lt;br /&gt;
*FEATURE: AddWorldPopup interface overhaul.&lt;br /&gt;
*FEATURE: JTE, D3, and Myne/Mynecraft/Hyvebuild/iCraft map format converters added.&lt;br /&gt;
*Feature: Improved syntax of the /gen command. See &amp;quot;/help gen&amp;quot; for details.&lt;br /&gt;
*Feature: Reason/memo is now shown publicly when someone gets banned, unbanned, or kicked.&lt;br /&gt;
*Feature: Teleport and Bring work across worlds - world permissions still apply.&lt;br /&gt;
*Feature: Added 4 new Config keys: RequireBanReason, RequireClassChangeReason, AnnounceKickAndBanReasons, AnnounceClassChanges. By default &amp;quot;AnnounceKickAndBanReasons&amp;quot; and &amp;quot;AnnounceClassChanges&amp;quot; are enabled.&lt;br /&gt;
*Feature: Added 5 new fields to PlayerDB: previousClass, classChangeReason, timesKicked, timesKickedOthers, timesBannedOthers.&lt;br /&gt;
*Feature: Added a lot of new information to /info.&lt;br /&gt;
*Feature: You can now save map preview images (isometric) from AddWorldPopup.&lt;br /&gt;
*Feature: ConfigTool now shows warnings about any errors logged during Config.Load&lt;br /&gt;
*Fix: Yet another workaround for VerifyNames false negatives (thanks to SpaceManiac).&lt;br /&gt;
*Fix: Fixed being able to paste admincrete/water/lava without permission (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Trying to go over class draw limit no longer causes &amp;quot;Another drawing command is in progress&amp;quot; error.&lt;br /&gt;
*Fix: Mcc.MapUtility.TryLoading() and Map.LoadHeaderOnly() now release file handles as soon as possible. This should fix some &amp;quot;file is being used by another process&amp;quot; errors.&lt;br /&gt;
*Fix: Map spawn should be parsed correctly for MCSharp/MCZall maps&lt;br /&gt;
*Fix: If a map doesn&#039;t start with a gzip header, it no longer has a chance to abort the whole load process.&lt;br /&gt;
*Fix: Fixed blocktype names being case-sensitive.&lt;br /&gt;
*Fix: Added a more informative message when idle players are kicked.&lt;br /&gt;
*Fix: Fixed undo buffer not getting cleared when doing paste/pasteonly&lt;br /&gt;
*Fix: Fixed /waccess exception kicking players.&lt;br /&gt;
*Fix: 100% Empty maps no longer crash AddWorldPopup with OutOfMemoryException&lt;br /&gt;
*Fix: Fixed &amp;quot;player is already banned&amp;quot; message when doing /BanAll&lt;br /&gt;
*Fix: Fixed no public message appearing when doing /BanAll&lt;br /&gt;
*Fix: Fixed cuboid/ellipsoid/cuboidh logging blocktype code instead of blocktype name.&lt;br /&gt;
*Fix: Improved the message that&#039;s shown when idle players are kicked.&lt;br /&gt;
*Fix: Documented ability to /tp to specific coordinates.&lt;br /&gt;
*Fix: AddWorldPopup no longer crashes if user closes &amp;quot;Load Map&amp;quot; dialog before selecting any file.&lt;br /&gt;
*Fix: When drawing affects (in part or in full) a restricted zone, the zone is left untouched, and the rest of draw command finishes (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Fixed crash in AddWorldPopup.AsyncLoad() if map loading failed.&lt;br /&gt;
*Fix: LegacyRankMapping is now parsed correctly&lt;br /&gt;
*Fix: Renaming a class no longer causes &amp;quot;Worlds&amp;quot; tab dropdown menus to go out-of-sync.&lt;br /&gt;
*Change: AddWorldPopup preview image quality improved.&lt;br /&gt;
*Change: Updated to newest version of NBTag library.&lt;br /&gt;
*Change: Frozen players can no longer build/delete.&lt;br /&gt;
*Change: Removed public &amp;quot;undo&amp;quot; message, added log message instead.&lt;br /&gt;
*Change: Removed AnnounceUnverifiedNames settings.&lt;br /&gt;
*Change: When building/deleting permission is denied, the exact reason is given (instead of a vague &amp;quot;you cannot do that&amp;quot; message) (part of Player.CanPlace overhaul).&lt;br /&gt;
&lt;br /&gt;
===0.435===&lt;br /&gt;
*Feature: Added /copy, /paste, and /pasteonly commands. Rotation coming soon.&lt;br /&gt;
*Feature: Added CopyAndPaste permission, granted to op and owner by default.&lt;br /&gt;
*Feature: Added MapGenType.Cliffs - similar to Mountains type, but with cliffs!&lt;br /&gt;
*Fix: Fixed /paint command&lt;br /&gt;
*Fix: Fixed /baninfo now showing any information if used without parameters.&lt;br /&gt;
*Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.&lt;br /&gt;
&lt;br /&gt;
===0.434===&lt;br /&gt;
*Feature: new /bind command allows mapping any block to any other. Now you can place those unbuildable blocks (water, lava, grass, double-step) in any way you wish. For compatibility, old commands (/water, /solid, /lava, /grass) have been preserved.&lt;br /&gt;
*Change: &amp;quot;step&amp;quot; added as an alias for Stair block. &amp;quot;doublestep&amp;quot; added as an alias for DoubleStair.&lt;br /&gt;
&lt;br /&gt;
===0.433===&lt;br /&gt;
*Feature: /winfo now shows who locked/unlocked the map, and how long ago.&lt;br /&gt;
*Fix: Fixed a error message that showed up when announcements.txt was blank.&lt;br /&gt;
*Fix: Permission check added back to lock/unlock commands.&lt;br /&gt;
*Fix: &amp;quot;mapinfo&amp;quot; added back as alias for /winfo&lt;br /&gt;
*Fix: Fixed locked maps not getting unloaded when all players left&lt;br /&gt;
&lt;br /&gt;
===0.432===&lt;br /&gt;
*Fix: List of worlds printed by /worlds is now sorted alphabetically.&lt;br /&gt;
*Fix: Fixed an obscure half-disconnect bug that left players with id=0 who happened to be on the main world in a semi-disconnected state IF someone else was kicked halfway through the login process before it was assigned an id.&lt;br /&gt;
&lt;br /&gt;
===0.431===&lt;br /&gt;
*Fix: Fixed still messed-up /worlds command.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.430===&lt;br /&gt;
*Fix: Fixed messed-up /worlds command. Sorry about that.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.429===&lt;br /&gt;
*Feature: Command-handler infrastructure has been redesigned. This will allow much more flexibility for devs and plugin makers later.&lt;br /&gt;
*Feature: &amp;quot;/help commands&amp;quot; now only shows available commands by default. Type &amp;quot;/help commands all&amp;quot; to see all commands.&lt;br /&gt;
*Feature: /worlds command now only available worlds by default. Type &amp;quot;/worlds all&amp;quot; to include worlds inaccessible to you.&lt;br /&gt;
*Feature: Help entries added for /zedit, /mark, /version, /rules, and /say.&lt;br /&gt;
*Feature: ConfigTool World tab columns are now sortable.&lt;br /&gt;
*Fix: Fixed &amp;quot;max backups&amp;quot; in ConfigTool being limited to 100. Now it&#039;s at a more reasonable limit of 100000.&lt;br /&gt;
*Fix: Fixed Map.Backup() deleting the newest (instead of the oldest) backup if the total number of files was limited.&lt;br /&gt;
*Fix: Fixed an ERROR that popped up if a player got disconnected during the login process (while player=null).&lt;br /&gt;
*Fix: FormatException crash fixed that caused whole server to go down instead of a player thread.&lt;br /&gt;
*Fix: Several draw-related bugs and crashes fixed.&lt;br /&gt;
*Fix: Fixed crash in /winfo when used on unloaded worlds.&lt;br /&gt;
*Fix: Fixed a bug in Config that caused antigrief to be re-enabled every load.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool that didn&#039;t update AntiGriefSeconds properly when changing between classes.&lt;br /&gt;
*Change: Many /help entries have been improved.&lt;br /&gt;
*Change: Split /class command into two: /classes (aka /ranks) shows a list of classes, and /class (aka /cinfo or /classinfo) shows permission list (missed from last release notes).&lt;br /&gt;
*Change: Added /spawn as an alias for /tp (missed from last release notes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.428===&lt;br /&gt;
*Feature: Line wrapping. Yes, finally.&lt;br /&gt;
*Feature: Per-class draw limits. Defaults are: owner unlimited, op unlimited, regular 4096 (16x16x16), guest 512 (8*8*8)&lt;br /&gt;
*Feature: Per-class antigrief detection. Defaults are: owner unmetered, op umetered, regular 45/6 (7.5 blocks/second), guest 35/5 (7 blocks/second)&lt;br /&gt;
*Feature: Memory usage of draw commands has been reduced by 6 bytes per block (37% improvement).&lt;br /&gt;
*Fix: Extra color codes fixed in /players command.&lt;br /&gt;
*Fix: Fixed a bug with /undo that caused more than one command to be undone at once.&lt;br /&gt;
*Fix: Fixed maps generated with &amp;quot;Realistic terrain&amp;quot; (MapGenerator) having an empty layer at the bottom of the map.&lt;br /&gt;
*Change: Default classes have been tweaked:&lt;br /&gt;
**regular can now use draw commands&lt;br /&gt;
**op can now lock/unlock&lt;br /&gt;
*Change: Improved arrangement of Permission list items.&lt;br /&gt;
*Change: Removed obsolete ConfigKey variables AntigriefBlockCount and AntigriefBlockInterval&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.427===&lt;br /&gt;
*Feature: Added /zedit command for changing zone permissions after creation&lt;br /&gt;
*Feature: New aliases for drawing commands: /c /e /h /r /m&lt;br /&gt;
*Fix: Fix for cuboid command kicking players with &amp;quot;Block.Undefined&amp;quot; if called with no optional BlockType parameter&lt;br /&gt;
*Fix: Fixed zone definitions getting corrupted.&lt;br /&gt;
*Fix: Allowed /save command to be used from console and from remote worlds. Previously you had to join the world to save it.&lt;br /&gt;
*Fix: Fixed potential crash in /winfo when looking up unloaded worlds.&lt;br /&gt;
*Fix: Fixed /zone allowing duplicate names, then kicking the client.&lt;br /&gt;
*Fix: Fixed /ztest showing the standard &amp;quot;you are not allowed to build in this zone&amp;quot; message instead of the expected zone list.&lt;br /&gt;
*Fix: Fixed incorrect description of draw log messages, and backup error messages&lt;br /&gt;
*Fix: Fixed false triggering of &amp;quot;Player asked to be released from its world, but the world did not contain the player&amp;quot; error&lt;br /&gt;
*Change: Fruitified fragmer&#039;s name &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.426===&lt;br /&gt;
*Feature: Announcements! You can define a list of announcements to show periodically. A random line from announcements.txt will be shown to all players at specified interval (in minutes).&lt;br /&gt;
*Feature: /replace command.&lt;br /&gt;
*Feature: /undo command has been improved for more flexibility and better performance.&lt;br /&gt;
*Feature: /winfo (alias: /mapinfo) is added for displaying world name, player count, map dimensions, and access/build permissions.&lt;br /&gt;
*Fix: Fixed a bug that caused duplicate entries to be added to PlayerDB when doing /importranks or /importbans.&lt;br /&gt;
*Change: New ConfigKeys: AnnouncementColor (default: green) and AnnouncementInterval (default: 5 minutes).&lt;br /&gt;
*Change: Draw command stride increased to 16x16x16, for better theoretical performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.425===&lt;br /&gt;
*Feature: Added hollow draw command (/cubh) and aliases (/cuboidh and /bhb)&lt;br /&gt;
*Feature: /players now shows class colors and a total number of players. Breakdown of /players by world is coming soon&lt;br /&gt;
*Feature: Added &amp;quot;Joined world WorldName&amp;quot; message that shows when changing worlds&lt;br /&gt;
*Fix: Improved several /help entries&lt;br /&gt;
*Fix: Fixed a bug in Map.SaveBackup() that could cause a crash if MaxBackups was set&lt;br /&gt;
*Fix: Fixed a bug in ConfigUI where &amp;quot;Delete World&amp;quot; button could leave the map file behind and/or cause an error&lt;br /&gt;
*Fix: Calling lock/unlock from console without a WorldName now shows a nicer error message&lt;br /&gt;
*Change: Improved safety checks of /join command&lt;br /&gt;
*Change: Added a catch-all exception handler into Server.MainLoop&lt;br /&gt;
*Change: Added exception handlers for EVERY single piece of code that requires file access&lt;br /&gt;
*Change: Added more thread safety in MapCommands.WorldRename that resolves a potential race condition with Map.Save&lt;br /&gt;
*Change: Modified IPBanList to use the standard temp folder (instead of fCraft working path) for its temp files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.424===&lt;br /&gt;
*Fix: Fixed /unhide and normal connection getting different messages&lt;br /&gt;
*Fix: Fixed client crash when viewing /rules if the rule file has blank lines&lt;br /&gt;
*Fix: Worlds with capital letters in the name are joinable again&lt;br /&gt;
*Fix: Potential crash in DoClassChange() if target player is already same rank AND is not currently on the server&lt;br /&gt;
*Change: Moved the command list to /help commands&lt;br /&gt;
*Change: Performance and thread-safety improvements to PlayerDB&lt;br /&gt;
*Change: Disabled some more debugging code to avoid taking up unnecessary resources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.423===&lt;br /&gt;
*Feature: /importbans now also supports &amp;quot;banned-ip.txt&amp;quot;&lt;br /&gt;
*Feature: Logs are now stored in /logs/ folder. Your fCraft.log file will be moved there automatically and renamed to &amp;quot;_OldLog.log&amp;quot;&lt;br /&gt;
*Feature: Log splitting now works by day or by session. Set &amp;quot;LogMode&amp;quot; key in config.xml or see Logging tab in ConfigTool.&lt;br /&gt;
*Feature: All maps are now stored in /maps/ folder. Your map files will be moved automatically first time you start ConfigTool/fCraftConsole/fCraftUI&lt;br /&gt;
*Feature: Reserved slots now work&lt;br /&gt;
*Fix: Fixed a bug in fCraft.Server.LoadWorldListXML that could make all worlds hidden.&lt;br /&gt;
*Fix: &amp;quot;player connected&amp;quot; message shown when someone connects, instead of just &amp;quot;player joined world&amp;quot;&lt;br /&gt;
*Fix: &amp;quot;player left the server&amp;quot; message is not shown if the player got kicked before LoginSequence finished (e.g. if server was full)&lt;br /&gt;
*Fix: Added back IP logging for incoming connections&lt;br /&gt;
*Fix: Fixed ConfigTool-generated maps not having correct spawn point&lt;br /&gt;
*Fix: Fixed /user showing both promote and demote messages at once&lt;br /&gt;
*Fix: Removed references to old &amp;quot;/drawundo&amp;quot; command name in &amp;quot;/undo&amp;quot; messages&lt;br /&gt;
*Fix: Fixed &amp;quot;Unrecognized entry ignored: LegacyRankMapping =&amp;quot; warning&lt;br /&gt;
*Change: Made /importbans and /importranks save PlayerDB at once&lt;br /&gt;
*Change: fCraft now forcibly resets its working directory to the same path where the executable is&lt;br /&gt;
*Change: Removed &amp;quot;delete old file?&amp;quot; prompt when renaming worlds in AddWorldPopup. Now it just does it, to match tabWorlds&#039; DataGridView behavior&lt;br /&gt;
*Change: Added additional error checks to Map.Backup() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.422===&lt;br /&gt;
*Feature: Further improved network performance by introducing nonblocking (lock-free) data structure to packet output buffer&lt;br /&gt;
*Fix: Fixed &amp;quot;world creation failed&amp;quot; error if worlds.xml defined a non-existing world to be main&lt;br /&gt;
*Fix: Added back missing messages when doing /user on offline users&lt;br /&gt;
*Fix: Fixed player name color not being updated when their class changes&lt;br /&gt;
*Fix: Added missing /help entries for /importbans and /importranks&lt;br /&gt;
*Change: Improved help messages for /lock, /unban, /unbanip, /undo, /wload, /wmain, and /wremove&lt;br /&gt;
*Change: Tweaked default values of BlockUpdateThrottling and maxBlockUpdatesPerTick for maximum lag-free performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.421===&lt;br /&gt;
*Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players&lt;br /&gt;
*Feature: Added the ability to ban unseen players&lt;br /&gt;
*Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated &amp;quot;Import&amp;quot; permission was added. See &amp;quot;/help importbans&amp;quot; and &amp;quot;/help importranks&amp;quot; for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.&lt;br /&gt;
*Feature: Improved BlockUpdateQueue performance (faster drawing commands!) by switching to a lock-free data structure&lt;br /&gt;
*Fix: Fixed startup errors not being logged if config.xml has not been parsed yet&lt;br /&gt;
*Fix: Fixed ConfigUI input box not aligning properly when window is resized&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; generated maps being 1 block off vertically&lt;br /&gt;
*Change: Updated PlayerDB and IPBanList to use standard temporary folder (instead of dumping temp files into fCraft directory)&lt;br /&gt;
*Change: Added &amp;quot;logging starts&amp;quot; marker that&#039;s written to console and log on-startup&lt;br /&gt;
*Change: fCraftUI log now displays the last 2000 lines (up from 1000 lines)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.420===&lt;br /&gt;
*Feature: New &amp;quot;Worlds&amp;quot; tab in ConfigTool for managing your world list&lt;br /&gt;
*Feature: Isometric map previews and map generation in ConfigTool&lt;br /&gt;
*Feature: Implemented a class-ID system that allows adding/renaming/deleting classes without breaking compatibility. DeleteClassPopup was added for this&lt;br /&gt;
*Feature: Added LimitOneConnectionPerIP option to config &amp;amp; configtool&lt;br /&gt;
*Feature: Worlds can now be hidden from the /worlds list&lt;br /&gt;
*Feature: Added /whois command for checking if a player is using real name or nickname. BE CAREFUL WITH &amp;quot;ChangeName&amp;quot; PERMISSION!&lt;br /&gt;
*Feature: fCraft now generates crash.txt on unhandled fatal errors&lt;br /&gt;
*Feature: Implemented theme support, and added 2 new terrain types (Coast and River) for MapGenerator. See &amp;quot;/help gen&amp;quot; for details, or use ConfigTool.&lt;br /&gt;
*Feature: Pressing Up/Down keys in fCraftUI will show previously typed commands.&lt;br /&gt;
*Fix: Fixed a bug in /wmain and /wload that sometimes made the server unconnectable after changing map&lt;br /&gt;
*Fix: Limits on the /kick command now apply correctly&lt;br /&gt;
*Fix: Fixed /wbuild and /waccess showing wrong messages&lt;br /&gt;
*Fix: Fixed hidden players unable to build due to grief protection&lt;br /&gt;
*Fix: Added /nick and /whois entries to /help&lt;br /&gt;
*Fix: Removed the ability to call draw commands from console (caused crash)&lt;br /&gt;
*Fix: Fixed /lava checking PlaceWater permission instead of PlaceLava&lt;br /&gt;
*Fix: A debug message about &amp;quot;attempting to unregister an non-existent player&amp;quot; is no longer logged every time VerifyNames fails&lt;br /&gt;
*Fix: When using /where command on other players, correct coordinates are now shown]&lt;br /&gt;
*Fix: Player&#039;s classes are now updated in fCraftUI list when promoted/demoted&lt;br /&gt;
*Fix: PMs are now logged as LogType.PrivateChat (instead of generic LogType.WorldChat)&lt;br /&gt;
*Fix: /hide and /unhide now use Color.Sys instead of hardcoded Color.Yellow&lt;br /&gt;
*Fix: Player&#039;s nicknames (as set by /nick) are applied correctly and preserved when changing worlds&lt;br /&gt;
*Fix: Added missing checks for &amp;quot;Chat&amp;quot; permissions&lt;br /&gt;
*Fix: Color buttons in ConfigTool now show correct background color under Mono&lt;br /&gt;
*Fix: Fixed help entry to /freeze showing incorrect information&lt;br /&gt;
*Fix: Corrected tab order in all ConfigTool forms&lt;br /&gt;
*Change: Added /blb as another alias for /cuboid&lt;br /&gt;
*Change: Removed ReservedSlotBehavior config key&lt;br /&gt;
*Change: Disabled word wrapping in rules.txt editor popup&lt;br /&gt;
*Change: /unhide now resets the player&#039;s nick&lt;br /&gt;
*Change: Both player&#039;s real name and nickname (if any) are now recorded in the log&lt;br /&gt;
*Change: Added a warning to /info when looking up nicknames (instead of real names)&lt;br /&gt;
*Change: Heartbeat salt generation (used to verify names) is now more secure&lt;br /&gt;
*Change: Removed CanPlaceHardenedBlocks from permission list&lt;br /&gt;
*Change: All map generator terrain types have been tweaked for improved appearence&lt;br /&gt;
*Change: Centered all ConfigTool popup windows (AddWorldPopup, ColorPicker, DeleteClassPopup, TextEditorPopup)&lt;br /&gt;
*Change: Hid unneeded icons and buttons from ConfigTool popups&lt;br /&gt;
*Change: Changed the way zones store rank restriction (as part of the compatibility assurance), and added versioning to zone definitions&lt;br /&gt;
*Change: Map.Save() now creates temporary files in the OS-specific temporary folder, not in same folder where fCraft is installed&lt;br /&gt;
*Change: World permissions are now updated automatically when a class is deleted&lt;br /&gt;
*Refactor: Improved consistency in code naming conventions, especially in IRC code&lt;br /&gt;
*Refactor: Improved code organization in many areas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.410===&lt;br /&gt;
*Implemented per-world access and build permissions.&lt;br /&gt;
*Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.&lt;br /&gt;
*New world-related commands:&lt;br /&gt;
**/wmain changes the main world&lt;br /&gt;
**/waccess and /wbuild allow setting per-world permissions&lt;br /&gt;
**/wremove allows deleting worlds&lt;br /&gt;
**/wrename allows renaming worlds without reloading&lt;br /&gt;
**/wload command is significantly improved (see /help wload for more info). The functionality of the old /load command has been merged with /wload. Now /load is an alias for /join, together with /l, /j, and /goto.&lt;br /&gt;
*Removed SaveAndLoad permission - it became redundant with ManageWorlds. Please check your config to ensure that permissions remain consistent.&lt;br /&gt;
*Added new and previously-missing (/lockall, /unlockall, /where, /me, /rules, /setspawn) commands to /help.&lt;br /&gt;
*Disabled verify-names check for localhost (127.0.0.1) when running in Balanced mode.&lt;br /&gt;
*When player is denied access to some command, server now names the specific permission that&#039;s needed.&lt;br /&gt;
*Fixed a potential desync issue when one player rejoins a world, and another joins it simultaneously.&lt;br /&gt;
*Removed /genh command and /compass alias for the /where command.&lt;br /&gt;
*Added a fail-safe exception check when executing console commands. Now the server will stay up even if an exception occurs while executing console command.&lt;br /&gt;
*Improved the way server reacts to fatal errors on startup. Now there is a clear indication that server cannot start.&lt;br /&gt;
*&amp;quot;default map&amp;quot; is now referred to as &amp;quot;main world&amp;quot; for consistency. &lt;br /&gt;
*Improved garbage collection.&lt;br /&gt;
&lt;br /&gt;
===0.405===&lt;br /&gt;
*Added back support for vanilla (server_level.dat) maps.&lt;br /&gt;
*Fixed MCSharp importer leaving nonstandard blocks in the map, causing client crashes. Now all MCSharp-specific blocks are converted to normal types.&lt;br /&gt;
*Fixed visual player list not updating in fCraftUI.&lt;br /&gt;
*Added /players command to list ALL players on the server (in all worlds)&lt;br /&gt;
*Made the BlockType parameter optional for /cuboid and /ellipsoid. Now it takes blocktype of the second click (or last-previously-used-blocktype when using /mark) in the absence of the optional parameter.&lt;br /&gt;
*ConfigTool: Added a new tab for IRC setting.&lt;br /&gt;
*ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.&lt;br /&gt;
*IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.&lt;br /&gt;
*IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot. &lt;br /&gt;
*IRC: Fixed a bug with infinite reconnects on receiving error 433 Nickname already in use.&lt;br /&gt;
*Zones: Changed behavior of overlapping zones:&lt;br /&gt;
**Before: To touch a block, AT LEAST ONE zone has to allow it&lt;br /&gt;
**Now: To touch a block, ALL ZONES have to allow it&lt;br /&gt;
*Zones: Added /ztest command that lists all zones affecting a particular block. It can be used to detect and resolve zone overlaps.&lt;br /&gt;
*Zones: Added proper /help entries for /zone, /zones, /zremove, and /ztest, and contextual help for /zone and /zones.&lt;br /&gt;
*Zones: Made zone commands inaccessible from console (it would cause a crash, since zones are world-specific).&lt;br /&gt;
*Fixed OnPlayerDisconnected and OnPlayerListChanged sometimes firing at the wrong time.&lt;br /&gt;
*Added better error handling to Map.Save() in case the target file is not writable.&lt;br /&gt;
*Updated /help entries for /lock, /unlock, and /load commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.404===&lt;br /&gt;
*Fixed zone borders being off by 1 block.&lt;br /&gt;
*Fixed a rare crash on shutdown.&lt;br /&gt;
*Fixed heartbeat reporting incorrect port number to heartbeat if the port specified in config was not available.&lt;br /&gt;
*Adjusted default class permissions slightly, by popular demand:&lt;br /&gt;
**regulars can now place Water and Lava&lt;br /&gt;
**ops can now use draw commands&lt;br /&gt;
*IRC: Added a config option &#039;IRCMsgs&#039; to toggle join/leave messages on/off. Default is disabled to prevent massive spam.&lt;br /&gt;
*IRC: Fixed a possible crash in IRCComm, related to static initializers.&lt;br /&gt;
*ConfigTool: Fixed many bugs in permission checkbox list.&lt;br /&gt;
*ConfigTool: Added visual editor for rules.txt&lt;br /&gt;
*ConfigTool: Added stub tab for IRC settings (coming soon).&lt;br /&gt;
&lt;br /&gt;
===0.403===&lt;br /&gt;
*Fixed spawnpoint being read incorrectly when using /load.&lt;br /&gt;
*Added a note to ban*/unban* commands that&#039;s shown when player name is not found: &amp;quot;Use the FULL player name for ban/unban commands.&amp;quot;&lt;br /&gt;
*Fixed a thread crash (not server-wide crash) in Session.IoLoop that can be caused by corrupted or malicious handshake packets.&lt;br /&gt;
*Fixed a potential crash when using /info on offline players from console.&lt;br /&gt;
*Fixed a potential crash when using /gen from console.&lt;br /&gt;
*Added more fail-safe checks that ensure that map spawn point is always within the map boundaries.&lt;br /&gt;
*Started logging IPs of connections that try sending corrupted or malicious handshake packets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.402===&lt;br /&gt;
*Added back /load command, and hooked up MCC. Currenly supported: fCraft/fcm, MCSharp/lvl, indev/mclevel, MinerCPP and LuaCraft (dat). Vanilla support coming soon.&lt;br /&gt;
*Fixed worlds being unloaded before all block updates are processed (thus aborting draw commands).&lt;br /&gt;
*Fixed several potential multiworld-related crashes and freezes.&lt;br /&gt;
*Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.&lt;br /&gt;
*IRC: Added an information message to notify users of the IRC Bot&#039;s online status when joining the server.&lt;br /&gt;
*IRC: Added the ability to send NOTICES.&lt;br /&gt;
*IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.&lt;br /&gt;
*IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.&lt;br /&gt;
*Drawing-related state is now reset when changing worlds.&lt;br /&gt;
*Added a limiter to the number of block updates that can be processed per tick (even if there are no players in a world). Fixes server becoming unresponsive when doing enormous drawing commands (millions of blocks).&lt;br /&gt;
*Allowed players to /join the world that they are already on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.401===&lt;br /&gt;
*&#039;&#039;&#039;IDLE/AFK CHECKING&#039;&#039;&#039; This is configurable per-class.&lt;br /&gt;
*Added /version command, and added revision to the version string.&lt;br /&gt;
*Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands. &lt;br /&gt;
*Removed all references to the old pre-multiworld &amp;quot;map.fcm.&amp;quot; Backups now work again. &lt;br /&gt;
*Fixed players not spawning in the right place when changing worlds.&lt;br /&gt;
*IRC Bot will now handle terminations by the IRCd and restart itself upon any errors. &lt;br /&gt;
*IRC Bot can now send from inside the server TO IRC! Use the prefix &#039;#&#039; in-game to send any message to IRC. Forwarding all server chat may be added if requested. To send from the bot to the server, use the bot&#039;s nickname and either &#039;:&#039;, &#039;,&#039; or nothing, then your message.&lt;br /&gt;
*Improved performance of the IRC bot and the task scheduler.&lt;br /&gt;
*Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn&#039;t exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.&lt;br /&gt;
*Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after &#039;#&#039; in server chat.&lt;br /&gt;
*Handshake packet is now written when doing /join, to replace MOTD with a more informative &amp;quot;Now loading [worldname]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.400===&lt;br /&gt;
*&#039;&#039;&#039;MULTIWORLD&#039;&#039;&#039; It&#039;s finally here. See /help for information on new commands: /worlds, /wload, /join&lt;br /&gt;
*Added a persistent world list, saved in worlds.txt - this is subject to change. The file contains a list of world names, each corresponding to an .fcm file. The first world listed at the top of worlds.txt is the default/main one.&lt;br /&gt;
*&#039;&#039;&#039;IRC BOT&#039;&#039;&#039; Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.&lt;br /&gt;
*A field has been added in the config to allow forwarding ALL IRC CHANNEL TRAFFIC to the server. This will override the prefix and make it inactive. &#039;IRCBotForwardAll&#039; is set to false by default.&lt;br /&gt;
*&#039;&#039;&#039;ZONES&#039;&#039;&#039; It is now possible to make guest zones and op zones (and anything in-between) on any map. See /help for information on new commands: /zones, /zone, /zremove.&lt;br /&gt;
*Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.&lt;br /&gt;
*Added /compass command (aka /where).&lt;br /&gt;
*Fixed players sometimes not seeing their /kick message.&lt;br /&gt;
*Added a way to teleport to specific coordinates (/tp x y h)&lt;br /&gt;
*Fixed heartbeats timing out when running fCraft under Mono.&lt;br /&gt;
*Fixed Config.ApplyConfig setting the wrong server throttling variables.&lt;br /&gt;
*Fixed air blocks appearing underwater when using /gen&lt;br /&gt;
*Tweaked /gen parameters to make &amp;quot;island&amp;quot; a bit less ugly.&lt;br /&gt;
*Updated text in fCraftConsole.&lt;br /&gt;
&lt;br /&gt;
=0.3xx=&lt;br /&gt;
===0.330===&lt;br /&gt;
*Added /cuboid and /ellipsoid drawing commands.&lt;br /&gt;
*Improved memory usage.&lt;br /&gt;
*Added &amp;quot;Draw&amp;quot; permission, and made /draw check &amp;quot;DeleteAdmincrete&amp;quot; permission when replacing blocks, and removed unused &amp;quot;PlaceGlitchedSand&amp;quot; permission.&lt;br /&gt;
*Added &amp;quot;Port&amp;quot; and &amp;quot;BackupOnlyWhenChanged&amp;quot; config lines, and corresponding ConfigTool fields.&lt;br /&gt;
*Fixed bug that deleted ALL backups when you check &amp;quot;don&#039;t delete old backups.&amp;quot; That was embarrassing.&lt;br /&gt;
&lt;br /&gt;
===0.325===&lt;br /&gt;
*Added an experimental low-latency mode (faster server response, but more bandwidth required).&lt;br /&gt;
*Improved hacking detection: added anti-chat-spam and anti-grief (block spam) checks.&lt;br /&gt;
*New more aggressive anti-hacking checks for incoming movement and SetTile packets.&lt;br /&gt;
*Fixed an issue with fCraftUI console log getting truncated in the wrong places.&lt;br /&gt;
*Improved Mono compatibility (fixes HttpWebRequest failures).&lt;br /&gt;
&lt;br /&gt;
===0.324===&lt;br /&gt;
*Added /me command.&lt;br /&gt;
*Added step stacking.&lt;br /&gt;
*Fixed a case where disconnected players would leave a ghost behind.&lt;br /&gt;
*Improved shutdown speed.&lt;br /&gt;
*Implemented ProcessPriority setting.&lt;br /&gt;
&lt;br /&gt;
===0.323===&lt;br /&gt;
*Fixed players not being able to delete admincrete after promotion.&lt;br /&gt;
*Fixed a bug that allowed players to noclip into walls when using /tp or /bring.&lt;br /&gt;
*Fixed a security issue with &amp;quot;VerifyNames: Balanced&amp;quot;&lt;br /&gt;
*Added prototype of the security tab in ConfigTool (work in progress).&lt;br /&gt;
&lt;br /&gt;
===0.322===&lt;br /&gt;
*Added a range check to Player.SetTile, to prevent certain types of grief bots.&lt;br /&gt;
*Fixed a bug where map spawnpoint did not change after doing /load.&lt;br /&gt;
*Fixed some typos.&lt;br /&gt;
&lt;br /&gt;
===0.321===&lt;br /&gt;
*Fixed welcome messages not showing.&lt;br /&gt;
*Renamed /alias to /nick, and added a permission check.&lt;br /&gt;
&lt;br /&gt;
===0.320===&lt;br /&gt;
*Finally last fix for the disconnect problem. Sorry about that.&lt;br /&gt;
&lt;br /&gt;
===0.319===&lt;br /&gt;
*Quick fix for disconnect problem.&lt;br /&gt;
&lt;br /&gt;
===0.318===&lt;br /&gt;
*Fixed VerifyNames not saving properly when using ConfigTool.&lt;br /&gt;
*Fixed several potential crashers in Session and World.&lt;br /&gt;
*Fixed a bug that sometimes wrongly showed &amp;quot;class name not recognized&amp;quot;.&lt;br /&gt;
*Added class name autocompletion for class chat (@@classname blah)&lt;br /&gt;
*Started working on the new /load mode that allows loading different sized maps, and loading much faster (not done yet).&lt;br /&gt;
&lt;br /&gt;
===0.317===&lt;br /&gt;
*Optimized handling of player movement and some block/tile updates, making servers more responsive and less laggy.&lt;br /&gt;
*Fixed a possible crash that sometimes happened when server has 1 slot left and 2 people tried to join at once.&lt;br /&gt;
*Fixed a case where a Session object was not properly disposed.&lt;br /&gt;
*Fixed resizing issue in UpdateWindow and reduced connection timeout in Updater&lt;br /&gt;
*Disabled ShowPrefixesInChat and ShowPrefixesInList by default (breaks skin support)&lt;br /&gt;
*Added Player.Send, a safe wrapper for Player.session.Send&lt;br /&gt;
*Fixed /tp, /bring, and /setspawn commands that were broken in the last revision.&lt;br /&gt;
*Fixed ConfigTool not saving &amp;quot;IsPublic&amp;quot; setting correctly.&lt;br /&gt;
&lt;br /&gt;
===0.316===&lt;br /&gt;
*Added partial class-name matching for /class and /user commands.&lt;br /&gt;
*Fixed /banip and /banall not kicking the banned players immediately.&lt;br /&gt;
*Added /rules command. Create &amp;quot;rules.txt&amp;quot; in the server folder to specify.&lt;br /&gt;
*Fixed a bug where player movement sometimes got a little out of sync.&lt;br /&gt;
*Optimized /load speed a bit.&lt;br /&gt;
*Added nicer application icons.&lt;br /&gt;
&lt;br /&gt;
===0.315===&lt;br /&gt;
*Added visual color picker to ConfigTool&lt;br /&gt;
*Added lightweight console interface for fCraft&lt;br /&gt;
*Refactored the main update loop&lt;br /&gt;
&lt;br /&gt;
===0.314===&lt;br /&gt;
*Added AutomaticUpdates option.&lt;br /&gt;
*Integrated the color picker to ConfigTool.&lt;br /&gt;
*Improved hacking detection.&lt;br /&gt;
&lt;br /&gt;
===0.313===&lt;br /&gt;
*Fixed a few glitches left after switching file formats.&lt;br /&gt;
*Improved memory usage when saving maps.&lt;br /&gt;
*Fixed an updater-related crash.&lt;br /&gt;
&lt;br /&gt;
===0.312===&lt;br /&gt;
*New map format (FCM v2) should provide faster loading times.&lt;br /&gt;
*server_level.dat loader is now functional.&lt;br /&gt;
*Fixed possible crash if the default port was not available.&lt;br /&gt;
*Automatic updater should now work properly. More update options to come.&lt;br /&gt;
&lt;br /&gt;
===0.311===&lt;br /&gt;
*Preview version of automatic updater.&lt;br /&gt;
&lt;br /&gt;
===0.310===&lt;br /&gt;
*Cleaned up some VC# crapfiles.&lt;br /&gt;
*Added class prefixes and colors.&lt;br /&gt;
*Added PlaceWater and PlaceLava back to permissions.&lt;br /&gt;
*Fixed rank-limited permissions.&lt;br /&gt;
*Other assorted glitches fixed.&lt;br /&gt;
&lt;br /&gt;
===0.305===&lt;br /&gt;
*removed config.xml from svn.&lt;br /&gt;
&lt;br /&gt;
===0.304===&lt;br /&gt;
*More potential crashes fixed.&lt;br /&gt;
&lt;br /&gt;
===0.303===&lt;br /&gt;
*Fixed a couple potential crashes in ConfigTool and Config.DefineClass&lt;br /&gt;
&lt;br /&gt;
===0.302===&lt;br /&gt;
*Fixed a few minor ConfigTool bugs.&lt;br /&gt;
&lt;br /&gt;
===0.301===&lt;br /&gt;
*Forgot to save config from World.cs after parsing. Minor update.&lt;br /&gt;
&lt;br /&gt;
===0.300===&lt;br /&gt;
*ConfigTool finished. Note that some of the options do not have an effect yet.&lt;br /&gt;
&lt;br /&gt;
=Before 0.3xx=&lt;br /&gt;
*Version history was not kept before this point.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Version_history&amp;diff=2633</id>
		<title>Version history</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Version_history&amp;diff=2633"/>
		<updated>2017-04-30T06:39:26Z</updated>

		<summary type="html">&lt;p&gt;F: /* 0.444 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
=0.6xx=&lt;br /&gt;
===0.644===&lt;br /&gt;
&#039;&#039;27 January 2014 - r2327&#039;&#039;&lt;br /&gt;
*Fix: Fixed a bug that caused character &#039;@&#039; in player names to be treated same as &#039;_&#039; (thanks Dingus)&lt;br /&gt;
*Fix: Fixed a rare crash in {{cmd|ZEdit}} when using the command improperly.&lt;br /&gt;
*Fix: Fixed a DataError being thrown in ConfigGUI&#039;s &amp;quot;Worlds&amp;quot; tab after toggling rank prefixes on/off.&lt;br /&gt;
*Fix: Improved error reporting.&lt;br /&gt;
*Change: Improved reliability of external IP checks.&lt;br /&gt;
&lt;br /&gt;
===0.643===&lt;br /&gt;
&#039;&#039;15 October 2013 - r2234&#039;&#039;&lt;br /&gt;
*Fix: Fixed sometimes wrapping last word of a chat message to the next line, when the whole message could fit on one line (thanks AndrewPH).&lt;br /&gt;
*Fix: Installing updates no longer causes UAC prompts under Windows Vista.&lt;br /&gt;
*Fix: Fixed IRC periodically crashing if someone quits with an empty message.&lt;br /&gt;
*Fix: Fixed IRC-related crashes not being submitted to the crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.642===&lt;br /&gt;
&#039;&#039;27 August 2013 - r2180&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Fill3D}}.&lt;br /&gt;
*Feature: Added caret (^), tilde (~), and grave accent (`) to [[emotes]].&lt;br /&gt;
*Fix: Emotes work via IRC once again.&lt;br /&gt;
*Fix: ConfigGUI: Fixed &amp;quot;Add world&amp;quot; and &amp;quot;Edit world&amp;quot; popups sometimes locking up.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving LastFailedLoginIP properly.&lt;br /&gt;
*Change: Made it easy to switch heartbeat servers (minecraft.net to classicube or back) via ConfigGUI.&lt;br /&gt;
*Change: Added an optional second parameter to {{cmd|DumpStats}}, which allows specifying period of inactivity for filtering players.&lt;br /&gt;
*Change: Improved startup and shutdown times, and reduced CPU use.&lt;br /&gt;
*Change: {{cmd|Hide}} and {{cmd|Unhide}} now indicate when they are silent or not.&lt;br /&gt;
&lt;br /&gt;
===0.641===&lt;br /&gt;
&#039;&#039;17 August 2013 - r2150&#039;&#039;&lt;br /&gt;
*Feature: Improved the way {{cmd|EllipsoidH}} works on flat surfaces. Instead of filled ellipses, it now makes rings.&lt;br /&gt;
*Feature: Added {{cmd|Reply}} (&amp;lt;code&amp;gt;/re&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: {{cmd|Fill2D}} can now fill with any brush, not just solid color.&lt;br /&gt;
*Feature: Added &#039;&#039;HeartbeatUrl&#039;&#039; [[List of config keys#Advanced|config key]], to allow alternative heartbeat/authentication services. &#039;&#039;&#039;Note: [[HeartbeatSaver]] only needs to be updated IF you plan on using something other than minecraft.net&#039;&#039;&#039;&lt;br /&gt;
*Fix: Fixed a InvalidOperationException in ConfigGUI when re-drawing the map preview (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;Realistic&amp;quot; MapGen help (thanks Jonty800).&lt;br /&gt;
*Fix: Now correctly kicking custom premium-MC clients.&lt;br /&gt;
*Fix: Fixed help messages in [[HeartbeatSaver]] and {{cmd|MassRank}}.&lt;br /&gt;
*Fix: Fixed a potential way of revealing hidden players by messaging them.&lt;br /&gt;
*Change: ConfigGUI&#039;s port checker works again.&lt;br /&gt;
*Change: IRC bot will now retry for its primary nick every 30 seconds (thanks Dankirk).&lt;br /&gt;
&lt;br /&gt;
===0.640===&lt;br /&gt;
&#039;&#039;30 July 2013 - r2124&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Feature: [[Mojang accounts|Mojang account]] (email) support.&#039;&#039;&#039; Added {{perm|ViewEmails}} permission and a config option to disallow email users.&lt;br /&gt;
*Feature: Overhauled map generation! Improved {{cmd|Gen}}, new {{cmd|SetGen}} command, more options, preset loading/saving, redesigned ConfigGUI interface, and two new map generation modes: Vanilla (from [http://femto.fcraft.net FemtoCraft]) and FloatingIsland.&lt;br /&gt;
*Feature: Optional [http://www.regular-expressions.info/quickstart.html RegEx] filtering of filenames for [[MapRenderer]] and [[MapConverter]], enabled by &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Feature: Added &amp;lt;i&amp;gt;&amp;quot;Player ___ logged in from an IP shared by frozen players...&amp;quot;&amp;lt;/i&amp;gt; announcement.&lt;br /&gt;
*Feature: Added an optional parameter to toggle commands (grass, water, lava, solid, paint, static) &amp;amp;mdash; &amp;quot;on&amp;quot;/&amp;quot;1&amp;quot; or &amp;quot;off&amp;quot;/&amp;quot;0&amp;quot;.&lt;br /&gt;
*Feature: Added BackupOnMapChange config key, which automates backups when a world&#039;s map is replaced by /Gen or /WLoad (enabled by default).&lt;br /&gt;
*Feature: Added &amp;lt;code&amp;gt;/To&amp;lt;/code&amp;gt; as an alias of {{cmd|TP}}, and &amp;lt;code&amp;gt;/Flush&amp;lt;/code&amp;gt; as an alias for {{cmd|WFlush}}.&lt;br /&gt;
*Feature: [[MapRenderer]] is now much quicker, thanks to optimization and multithreading.&lt;br /&gt;
*Feature: Added ability to change capitalization of player&#039;s name using {{cmd|SetInfo}}.&lt;br /&gt;
*Fix: Fixed MapGenerator sometimes locking up when working with tiny 16x16 maps (thanks 123DMWM).&lt;br /&gt;
*Fix: Fixed world greetings not being saved between restarts (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed {{cmd|WLoad}} showing incorrect map file names when prompting to replace files (thanks Smokeybacon).&lt;br /&gt;
*Fix: Fixed [[Command_Tips#Restricting_player_name_search|online-only name prefix]] revealing hidden players in some commands (thanks Intertoothh and recon).&lt;br /&gt;
*Fix: When a spectating player gets frozen, they are no longer stuck spectating (thanks ruggedbear and NuclearWaffle121).&lt;br /&gt;
*Fix: IRC now handles two-number color codes and reset codes correctly (thanks Liam).&lt;br /&gt;
*Fix: Fixed map changes sometimes leaving behind &amp;quot;ghost maps&amp;quot; for players with rank-specific main maps set (thanks Jonty800).&lt;br /&gt;
*Fix: PlayerDB name autocompletion now correctly handles players with &#039;.&#039; in their names.&lt;br /&gt;
*Fix: Timed backups no longer drift slightly every hour.&lt;br /&gt;
*Fix: Players can now {{cmd|Clear}} their chat even while [[/Deafen|deaf]].&lt;br /&gt;
*Fix: Fixed a rare serialization issue with PlayerDB&#039;s RankChangedBy field.&lt;br /&gt;
*Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Now only allow either one directory, or one-or-more files to be specified. Multiple directories, and mixed directories/files are no longer allowed.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Disabled slow fallback conversion by default (which caused non-map files to take forever to skip in recursive mode). Old behavior can be reenabled with &amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Change: When auto-updating or restarting under Mono, fCraft no longer tries to use &amp;quot;mono-sgen&amp;quot;, now just using &amp;quot;mono&amp;quot; and assuming that runtime is properly configured.&lt;br /&gt;
*Change: {{cmd|WBuild}} and {{cmd|WAccess}} can optionally now take &amp;quot;@&amp;quot; in front of rank name.&lt;br /&gt;
*Change: Removed BackupOnJoin config key.&lt;br /&gt;
*Change: UpdateInstaller&#039;s &amp;lt;code&amp;gt;--restart&amp;lt;/code&amp;gt; parameter is more flexible.&lt;br /&gt;
*Change: Dropped Mono 2.6 support.&lt;br /&gt;
*Change: Optimizations in player movement code, PlayerDB loading/saving, IP ban list loading, map generation, map rendering, {{cmd|Ellipsoid}}, and {{cmd|Sphere}}.&lt;br /&gt;
&lt;br /&gt;
===0.639===&lt;br /&gt;
&#039;&#039;10 December 2012 - r1917&#039;&#039;&lt;br /&gt;
*Feature: Added RankPrefixesOnDisplayedNames config key (default: false), which controls whether to prepend rank prefixes to names of players with a custom DisplayedName set.&lt;br /&gt;
*Feature: Added BypassHttpsCertificateValidation config key (default: false), to ease HTTPS-related pains under Mono.&lt;br /&gt;
*Feature: Added MoveEmoteDotToEndOfMessage config key (default: true), which slightly changes emote formatting, by BobKare&#039;s request.&lt;br /&gt;
*Fix: Fixed a stability issue in the IRC bot.&lt;br /&gt;
*Fix: Fixed incorrect runtime version detection for Mono versions older than 2.6.&lt;br /&gt;
*Fix: Server now gives more informative messages when you try to do something disallowed to yourself (mute, unfreeze, ban, kick, etc).&lt;br /&gt;
*Fix: Fixed being able to teleport to hidden players (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed {{cmd|Unhide}} not faking a join message for hidden players (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed IRC bot sending USER before NICK (fixes occasional error 451) (thanks Hellenion).&lt;br /&gt;
*Change: Added ability to set players&#039; BandwidthUseMode via {{cmd|SetInfo}}.&lt;br /&gt;
*Change: Improved {{cmd|Env}}, {{cmd|UndoAreaNot}}, and {{cmd|Help}} messages.&lt;br /&gt;
*Change: Players&#039; connection messages in logs now include TimesVisited stat.&lt;br /&gt;
*Change: {{cmd|Help|commands}} is no longer an alias for {{cmd|Commands}} (thanks ruggedbear).&lt;br /&gt;
&lt;br /&gt;
===0.638===&lt;br /&gt;
&#039;&#039;29 November 2012 - r1887&#039;&#039;&lt;br /&gt;
*Feature: [[Emotes|Emote]] keywords and their Unicode equivalents can now be included in announcement and rule files.&lt;br /&gt;
*Feature: IRC bot now sends a quit message consisting of server name and shutdown reason.&lt;br /&gt;
*Fix: Fixed a very small chance of PlayerInfo.TimeMutedLeft returning negative time spans.&lt;br /&gt;
*Fix: Leading and trailing spaces are now trimmed from kick/ban/unban reasons.&lt;br /&gt;
*Fix: Fixed some emotes getting trimmed from {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} (thanks Intertoothh)&lt;br /&gt;
*Fix: Fixed RestartInterval starting two chat timers (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed ServerCLI using console colors for the first few messages even if &amp;lt;code&amp;gt;--noconsolecolor&amp;lt;/code&amp;gt; [[List of command-line options|command-line switch]] was given (thanks Hellenion)&lt;br /&gt;
*Change: Added &amp;lt;code&amp;gt;--noupdater&amp;lt;/code&amp;gt; command line switch, which stops fCraft from launching update installer binaries (although all other update-related behavior remains the same)&lt;br /&gt;
*Change: Player&#039;s own name is no longer considered in autocompletion/searches for commands that are not applicable to self (e.g. {{cmd|Ban}}, {{cmd|Mute}}, {{cmd|Ignore}}, {{cmd|TP}}, etc)&lt;br /&gt;
*Change: Logged global chat messages now have &amp;quot;(global)&amp;quot; prepended before player&#039;s name.&lt;br /&gt;
*API: Updated trunk project files to VisualStudio 2010. Target runtime remains .NET 3.5 Client Profile.&lt;br /&gt;
&lt;br /&gt;
===0.637===&lt;br /&gt;
&#039;&#039;16 October 2012 - r1847&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Emotes}} command, to list emotes and their keywords.&lt;br /&gt;
*Fix: Fixed IRC bot cutting off very long messages.&lt;br /&gt;
*Fix: Fixed {{cmd|Info}} not working with some IP ranges (thanks _BjorN64_).&lt;br /&gt;
*Fix: Fixed single-letter emote keywords not working (thanks Wundsalz).&lt;br /&gt;
*Fix: Improved the way IRC bot handles nick conflicts (thanks Jonty800).&lt;br /&gt;
*Fix: {{cmd|DumpStats}} no longer dies when an invalid file name is given (thanks Hellenion).&lt;br /&gt;
*Change: Added a new build configuration, DEBUG_NETWORKING, which traces all incoming and outgoing packets.&lt;br /&gt;
*Change: IRC bot now logs all outgoing messages when built in DEBUG_IRC configuration.&lt;br /&gt;
&lt;br /&gt;
===0.636===&lt;br /&gt;
&#039;&#039;10 October 2012 - r1832&#039;&#039;&lt;br /&gt;
*Feature: Check your configs! New options were added to control display of colors and emotes to/from IRC.&lt;br /&gt;
*Feature: Added {house} [[emotes|emote]]: ⌂ (0x7F).&lt;br /&gt;
*Fix: Fixed newline codes %n/%N not being parsed properly.&lt;br /&gt;
*Fix: Fixed a crash in Color.StripColors (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed random symbols appearing in stack traces in console (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed couple problems with Player.Moving event (thanks 00pol).&lt;br /&gt;
*Fix: Spawn points of MCSharp map files are now loaded correctly (thanks 00pol).&lt;br /&gt;
*Change: Players&#039; DisplayedNames may no longer contains line breaks.&lt;br /&gt;
&lt;br /&gt;
===0.635===&lt;br /&gt;
&#039;&#039;8 October 2012 - r1822&#039;&#039;&lt;br /&gt;
*Feature: Added support for &amp;quot;[[emotes]]&amp;quot; (chat symbols). New permission ({{perm|UseEmotes}}) and config key (IRCAllowEmotes) were added.&lt;br /&gt;
*Fix: Fixed numbers sometimes being accepted as valid (e.g. by {{cmd|Mute}}), although counted as 0-length time spans.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving strings with newlines properly.&lt;br /&gt;
*Fix: Fixed IRC bot sometimes producing messages that are a couple characters over the IRC message size limit (512 chars).&lt;br /&gt;
*Fix: Fixed players being able to use newline codes (&amp;amp;N/&amp;amp;n) on IRC.&lt;br /&gt;
*Fix: Fixed problems with UpdaterMode and BackupOnStartup settings in ConfigGUI.&lt;br /&gt;
*Fix: Fixed fCraft not building in DEBUG_IRC configuration.&lt;br /&gt;
*Change: Added a workaround for TermInfoDriver-related exceptions under Mono (thanks Hellenion)&lt;br /&gt;
*Change: Symbolic [[colors|color codes]] (e.g. %S) can now be used in chat.&lt;br /&gt;
*Change: Backslash can now be used to escape percent [[colors|color codes]] (e.g. \%C).&lt;br /&gt;
*Change: fCraft will now retry looking up the external IP up to 3 times.&lt;br /&gt;
*Change: Lots of documentation, annotation, and API improvements.&lt;br /&gt;
&lt;br /&gt;
===0.634===&lt;br /&gt;
&#039;&#039;30 September 2012 - r1796&#039;&#039;&lt;br /&gt;
*Fix: Fixed an occasional InvalidOperationException when auto-updating in ServerGUI.&lt;br /&gt;
*Fix: Fixed ConfigGUI showing misleading information in &amp;quot;unrecognized entry ignore&amp;quot; errors.&lt;br /&gt;
*Fix: Fixed Logger trying to write to file in [[MapConverter]] and [[MapRenderer]].&lt;br /&gt;
*Fix: Fixed [[MapRenderer]] and [[MapConverter]] spamming zone-related errors (thanks Hellenion and AndrewPH)&lt;br /&gt;
*Fix: Fixed {{cmd|UndoPlayerNot}} help entry (thanks ruggedbear)&lt;br /&gt;
*Change: Heartbeat code now uses HTTPS, as mandated by Mojang. If you use Mono, see http://www.mono-project.com/FAQ:_Security&lt;br /&gt;
*Change: Removed support for the malfunctioning WoM Direct heartbeat service.&lt;br /&gt;
*Change: RankChangeReason is now shown as a &amp;quot;Rank note&amp;quot; in {{cmd|Info}}, even if no other data (PreviousRank/RankChangedBy/RankChangeDate) exists (thanks Wundsalz)&lt;br /&gt;
&lt;br /&gt;
===0.633===&lt;br /&gt;
&#039;&#039;26 September 2012 - r1788&#039;&#039;&lt;br /&gt;
*Feature: Added checkbox for HeartbeatEnabled config key to ConfigGUI, on the advanced tab.&lt;br /&gt;
*Fix: Fixed heartbeat/verification issues caused by &amp;quot;no-www&amp;quot; changes made by Mojang at minecraft.net&lt;br /&gt;
*Fix: Fixed VisualStudio designer being unable to load ConfigGUI.MainForm.&lt;br /&gt;
*Fix: Fixed {{cmd|ZMark}} being spammy (thanks ruggedbear).&lt;br /&gt;
*Fix: Binding &amp;quot;air&amp;quot; block to something now works as expected (deleted blocks are replaced with the binding) (thanks Hellenion).&lt;br /&gt;
*Fix: Added missing tooltips to &amp;quot;Data Backup&amp;quot; checkbox in ConfigGUI (thanks PhoneBook_).&lt;br /&gt;
*Fix: Added [[HeartbeatSaver]] to UpdateInstaller and list of protected filenames.&lt;br /&gt;
*Fix: Fixed occasional startup crash in [[HeartbeatSaver]].&lt;br /&gt;
*Change: {{cmd|Reload|Autorank}} now triggers a re-scan of the whole PlayerDB.&lt;br /&gt;
*Change: Added code to BlockDB to recover misaligned .fbdb files. BlockDB files are supposed to be aligned to 20 bytes. Misalignment might happen if writing didn&#039;t finish properly - e.g. power outage, or ungraceful shutdown.&lt;br /&gt;
*Change: Improved consistency of exit codes in [[HeartbeatSaver]], [[MapConverter]], and [[MapRenderer]].&lt;br /&gt;
&lt;br /&gt;
===0.632===&lt;br /&gt;
&#039;&#039;14 September 2012 - r1765&#039;&#039;&lt;br /&gt;
*Feature: Added standalone [[HeartbeatSaver]] utility, a heartbeat-sending daemon.&lt;br /&gt;
*Feature: Added a way to specify scale/turbulence/seed for cloudy brush.&lt;br /&gt;
*Feature: Renamed &amp;quot;IRC&amp;quot; LogType to &amp;quot;IRCStatus&amp;quot;, and added &amp;quot;IRCChat&amp;quot; LogType. Check your configs.&lt;br /&gt;
*Fix: Fixed the updater. You&#039;ll have to update from version 0.631 manually (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed a bug related to multiple players trying to join an almost-full server at the same time.&lt;br /&gt;
*Fix: Fixed a rare InvalidOperationException crash in ConfigGUI.&lt;br /&gt;
*Fix: Fixed reversed order in {{cmd|BlockInfo}} (thanks recon_).&lt;br /&gt;
*Fix: Fixed a few formatting errors in feedback messages.&lt;br /&gt;
*Fix: Fixed a rare disconnect related to a spectator trying to follow a spectatee to a full world.&lt;br /&gt;
*Fix: Fixed {{cmd|Hide}} not showing a fake disconnect message when needed.&lt;br /&gt;
*Fix: Fixed {{cmd|WRename}} prompting for file overwrite when changing capitalization in a world name.&lt;br /&gt;
*Fix: Fixed UndoArea/UndoAreaNot and UndoPlayer/UndoPlayerNot messages occasionally getting mixed up.&lt;br /&gt;
*Fix: Fixed players being unable to join the server if access restrictions prevent them from joining the rank-specific main world.&lt;br /&gt;
*Fix: {{cmd|WRemove}} now correctly handles removing rank-main worlds.&lt;br /&gt;
*Fix: Fixed a case where newlines in PlayerInfo or IPBanInfo fields would cause record corruption.&lt;br /&gt;
*Fix: Fixed reversed messages in {{cmd|DoNotMark}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed ServerCLI sometimes staying open, waiting on console input, when it&#039;s supposed to shut down or restart.&lt;br /&gt;
*Change: Sped up &amp;quot;cloudy&amp;quot; brush when working with large draw commands.&lt;br /&gt;
*Change: Crash reporter now submits list of names and versions of all loaded assemblies, to help identify mismatched or missing dependencies.&lt;br /&gt;
*Change: Added logging to every confirmation prompt, &amp;quot;/ok&amp;quot;, {{cmd|BlockDB}} enabling/disabling/clearing, {{cmd|ZRemove}}, {{cmd|InfoSwap}}, and {{cmd|Env}}.&lt;br /&gt;
*Change: Any pending confirmations are now reset on world change.&lt;br /&gt;
*Change: Added /I as an alias for {{cmd|Info}}, and /CS as an alias for {{cmd|CopySlot}}.&lt;br /&gt;
*Change: Removed &amp;quot;marbled&amp;quot; brush (&amp;quot;cloudy&amp;quot; works just as well) and FCMv4 map format support (development canceled).&lt;br /&gt;
*Change: {{cmd|Where}} command now only requires {{perm|ViewOthersInfo}} permission to see other players&#039; whereabouts. It can be used by anyone on self.&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.631===&lt;br /&gt;
&#039;&#039;5 September 2012 - r1741&#039;&#039;&lt;br /&gt;
*Feature: Added a way to restrict commands to match online players&#039; names only, by prefixing the name with an exclamation mark (!). See [[Command Tips]] for more.&lt;br /&gt;
*Feature: Added {{cmd|DoNotMark}} command. When toggled on, clicking on blocks does not cause marks to be added to a selection.&lt;br /&gt;
*Fix: Included MapConverter.exe and MapRenderer.exe in list of protected filenames.&lt;br /&gt;
*Fix: Fixed a potential crash in Paths.FileExists when working in case-sensitive mode in a root directory.&lt;br /&gt;
*Fix: Fixed ConfigGUI not loading permission limits properly (thanks recon_).&lt;br /&gt;
*Fix: Added missing fake connection message when using non-silent {{cmd|Unhide}} (thanks Wundsalz).&lt;br /&gt;
*Change: Improvements to fCraft&#039;s built-in crash reporter.&lt;br /&gt;
*Change: Blocks redone with {{cmd|Redo}} are now flagged as &amp;quot;Redone&amp;quot; in /BlockInfo (instead of &amp;quot;UndoneSelf&amp;quot;), [[/Paint|painted]] blocks as &amp;quot;Painted&amp;quot; (instead of &amp;quot;Manual, Replaced&amp;quot;).&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.630===&lt;br /&gt;
&#039;&#039;4 September 2012 - r1727&#039;&#039;&lt;br /&gt;
*Feature: New permissions! {{perm|FlushWorlds}} (previously part of {{perm|ManageWorlds}}), {{perm|UseTimers}} (previously part of {{perm|Say}}), and {{perm|UndoAll}}.&lt;br /&gt;
*Feature: Added ability to undo multiple players&#039; actions at once, or EVERYONE&#039;s actions at once, using {{cmd|UndoPlayer}} and {{cmd|UndoArea}}. Command syntax changed, see wiki.&lt;br /&gt;
*Feature: {{cmd|Info}} now shows whether minecraft.net accounts are free or paid.&lt;br /&gt;
*Feature: Added special &amp;quot;skip&amp;quot;/&amp;quot;none&amp;quot; blocktype, usable with brushes and draw commands.&lt;br /&gt;
*Feature: Added ability to clear world/zone whitelists and blacklists. Use &amp;quot;-*&amp;quot; in place of player name to clear whitelist, and &amp;quot;+*&amp;quot; to clear blacklist.&lt;br /&gt;
*Feature: Added a way to remove all zones in a world, {{cmd|ZRemove|*}}.&lt;br /&gt;
*Feature: Added {{cmd|UndoAreaNot}} (/uan) and {{cmd|UndoPlayerNot}} (/upn), which reverse changes made by everyone EXCEPT the given player(s).&lt;br /&gt;
*Feature: Added [[MapConverter]] and [[MapRenderer]] utilities.&lt;br /&gt;
*Feature: {{cmd|CuboidW}} now supports optionally filling sides and center with different blocktypes, e.g. &amp;quot;/cw white blue red&amp;quot;.&lt;br /&gt;
*Fix: Fixed ServerCLI launching the wrong fCraft binary after running the updater.&lt;br /&gt;
*Fix: Fixed a missing warning in {{cmd|Gen}} when map height is not a multiple of 16.&lt;br /&gt;
*Fix: Fixed a rare case of players receiving desynchronized copies of maps where draw commands are in progress.&lt;br /&gt;
*Fix: Fixed a crash in {{cmd|Commands|&amp;lt;Category&amp;gt;}}&lt;br /&gt;
*Fix: Fixed potential crashes when working with files in root directories (e.g. C:/)&lt;br /&gt;
*Fix: Improved {{cmd|BanEx}} logging.&lt;br /&gt;
*Fix: Improved support for Myne/MyneCraft/HyveBuild/iCraft maps.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog in ConfigGUI defaulting to 20 minutes, instead of &amp;quot;(default)&amp;quot;.&lt;br /&gt;
*Fix: Fixed SaveInterval and BackupInterval being limited to just 100 seconds/minutes in ConfigGUI (thanks Hellenion).&lt;br /&gt;
*Fix: Improved consistency of timestamp format in logs (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed being unable to remove world greetings via {{cmd|WSet}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed IRC bot cutting off long messages (thanks Hellenion).&lt;br /&gt;
*Change: Improved performance of {{cmd|Gen}}, {{cmd|WLoad}}, world loading, and all BlockDB-related commands.&lt;br /&gt;
*Change: Adjustments to block names and aliases, as well as command aliases.&lt;br /&gt;
*Change: Merged {{cmd|Cancel}} and /Nvm commands.&lt;br /&gt;
*Change: &amp;quot;&amp;amp;N&amp;quot; is now usable as a &amp;quot;newline&amp;quot; constant in all configurable strings (rules, announcements, greetings, etc), and &amp;quot;%N&amp;quot; is usable by players with {{perm|UseColorCode}} permissions.&lt;br /&gt;
*Change: Made {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} usable by frozen players.&lt;br /&gt;
*Change: Added a warning to /Colors regarding the minimum rank required to use colorcodes in chat (thanks Jonty800).&lt;br /&gt;
*Change: Ignoring a player no longer prevents you from seeing {{cmd|Say}} messages written by them.&lt;br /&gt;
*Change: {{cmd|Paint}}, {{cmd|Solid}}, {{cmd|Grass}}, {{cmd|Water}}, and {{cmd|Lava}} are no longer usable by players without Build permission, and dont show up in /Commands for them.&lt;br /&gt;
*Change: Clarified {{cmd|ZEdit}} messages when trying to remove self from blacklist, or add yourself to whitelist.&lt;br /&gt;
*Change: {{cmd|Mute}}, {{cmd|Unmute}}, {{cmd|Freeze}}, and {{cmd|Unfreeze}} are now also usable on offline players.&lt;br /&gt;
*Change: Session threads are no longer marked as &amp;quot;background&amp;quot;, to prevent unexpected side effects from session threads being aborted on shutdown. This might slow down shutdown a bit, but there is less to go wrong.&lt;br /&gt;
*Change: World greetings can now support constants.&lt;br /&gt;
*Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.&lt;br /&gt;
*Change: Process exit code is now set to match ShutdownReason.&lt;br /&gt;
*API: Added ChatTimer.Started and ChatTimer.Stopped events, rewrote BlockDB, MapConversion, and IsoCat APIs.&lt;br /&gt;
*API: Many documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.624===&lt;br /&gt;
&#039;&#039;16 July 2012 - r1636&#039;&#039;&lt;br /&gt;
*Fix: Fixed BlockDB time-limiting code trimming too much data from the database.&lt;br /&gt;
*Fix: CommandBook ban import now accepts any filename that ends with &amp;quot;.csv&amp;quot;, not just &amp;quot;bans.csv&amp;quot;.&lt;br /&gt;
*Fix: ServerCLI no longer crashes upon receiving EOF from console.&lt;br /&gt;
*Fix: Fixed a rare case of hidden players being revealed (briefly) when their rank is changed.&lt;br /&gt;
*Fix: Fixed [[/Spectate]] leaving ghost players behind on world change (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed a couple typos in [[/WLock]] and [[/WUnlock]] (thanks ImNoobSoWhat).&lt;br /&gt;
*Change: Added server name to [[/ServerInfo]]&lt;br /&gt;
*Change: If opening a link fails (from ConfigGUI or ServerGUI), the URL is copied to clipboard, instead of crashing.&lt;br /&gt;
*Change: &amp;quot;[[/Import]] bans&amp;quot; no longer prints a message for every player who&#039;s already banned, instead showing a total number of already-banned players at the end.&lt;br /&gt;
*Change: Added a missing &amp;quot;Copy&amp;quot; context menu to the ServerGUI&#039;s log box (thanks to Jonty800).&lt;br /&gt;
*Change: fCraft front-ends now check fCraft.dll&#039;s assembly version, and refuse to start if there is a mismatch (Thanks Zaneo).&lt;br /&gt;
&lt;br /&gt;
===0.623===&lt;br /&gt;
&#039;&#039;9 July 2012 - r1624&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in [[/PasteX]] and [[/PasteNotX]].&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] crash when given a non-banned IP address.&lt;br /&gt;
*Fix: Fixed a crash in Player.DetectChatSpam if AntiSpam was supposed to be disabled.&lt;br /&gt;
*Fix: Fixed typos in comments and messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed a crash in [[/ZAdd]] (thanks thelonedrummer18).&lt;br /&gt;
&lt;br /&gt;
===0.622===&lt;br /&gt;
&#039;&#039;6 July 2012 - r1619&#039;&#039;&lt;br /&gt;
*Feature: ServerGUI message log is now color-coded, easier to select/copy/paste, and featuring clickable links.&lt;br /&gt;
*Fix: Fixed several regressions in [[/Hide]] and [[/Spectate]] that were introduced in 0.620-0.621 (thanks mark_b).&lt;br /&gt;
*Fix: Fixed [[/Deafen]] being usable from console (thanks phonebookguy).&lt;br /&gt;
*Fix: Fixed a crash in Paste/PasteNot/PasteX/PasteNotX (thanks Grant).&lt;br /&gt;
*Misc: Updated some draw command messages, credits, help entries, warnings.&lt;br /&gt;
&lt;br /&gt;
===0.621===&lt;br /&gt;
&#039;&#039;5 July 2012 - r1612&#039;&#039;&lt;br /&gt;
*Feature: Added CommandBook banlist (bans.csv) support to [[/Import]].&lt;br /&gt;
*Feature: Added a way to list all players of a certain rank with &amp;quot;[[/Info]] @ClassName&amp;quot;.&lt;br /&gt;
*Feature: Added {PLAYER_LIST} variable, for use in greetings/announcements/rules.&lt;br /&gt;
*Fix: Fixed changes to DefaultBackupInterval config key not being applied.&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] showing &amp;quot;players on same IP&amp;quot; for players without a recorded IP address.&lt;br /&gt;
*Fix: Fixed fCraft occasionally using localized datetime and number formatting.&lt;br /&gt;
*Fix: Fixed [[/Cut]] storing the selected blocks before checking player&#039;s draw limit (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed [[/Fill2D]] starting a selection even if command parameters could not be parsed (thanks David00143).&lt;br /&gt;
*Fix: Fixed [[/Copy]] and [[/Cut]] reporting incorrect origin information (thanks nope__avi).&lt;br /&gt;
*Fix: Players who are spectating or being spectated by you are no longer hidden from the tab player list (thanks ruggedbear).&lt;br /&gt;
*Change: If multiple players are spectating the same player, they no longer see each other (thanks Hellenion).&lt;br /&gt;
*Change: Small improvements and fixes to [[/WSet]] and to AntiSpam functionality.&lt;br /&gt;
*Change: Sped up PlayerDB loading on startup.&lt;br /&gt;
*Change: Added shortcuts for [[/SetInfo]] field names.&lt;br /&gt;
&lt;br /&gt;
===0.620===&lt;br /&gt;
&#039;&#039;17 June 2012 - r1592&#039;&#039;&lt;br /&gt;
*Feature: WoM Direct description and flags can now be set from config, without the need to go to WoM Direct website.&lt;br /&gt;
*Feature: Added a new [[/WSet]] command, that allows hiding worlds, changing backup settings, and setting greeting messages.&lt;br /&gt;
*Feature: More [[/WInfo]] information is persisted across server restarts: IsLocked, LockedBy, UnlockedBy, LoadedBy, LoadedOn, MapChangedBy, MapChangedOn.&lt;br /&gt;
*Feature: Added IRCStripMinecraftColors config key (default: true). It determines whether Minecraft colorcodes (ampersand codes) entered on IRC should be removed before showing the message in-game.&lt;br /&gt;
*Fix: Fixed incorrect percentages occasional being printed by [[/Measure]], [[/Cancel]], and [[/Undo]].&lt;br /&gt;
*Fix: Locked worlds remain locked after server restart.&lt;br /&gt;
*Fix: Addressed many flaws and glitches in the backup system.&lt;br /&gt;
*Fix: Fixed a case where draw commands that affected no blocks caused division by zero&lt;br /&gt;
*Fix: Fixed a PlayerDB record corruption bug that affected numbers over 100,000,000.&lt;br /&gt;
*Fix: Fixed a stability issue related to LineWrapper (thanks Kevinsweijen and Mc_MrCat).&lt;br /&gt;
*Fix: Fixed IRC markup codes being forwarded to the server in IRC&#039;s channel-kick messages.&lt;br /&gt;
*Fix: Fixed [[/Unmute]] not checking rank limits (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;IP&amp;gt;&amp;quot; and &amp;quot;[[/BanAll]] &amp;lt;PlayerName&amp;gt;&amp;quot; not checking ban exemptions when kicking players (thanks BobKare).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;PlayerName&amp;gt;&amp;quot; not kicking all the players from IP address.&lt;br /&gt;
*Fix: Fixed Undo/Redo messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed compatibility with Mono 2.10.8.1 (thanks Hawkzeh).&lt;br /&gt;
*Change: Removed [[/WHide]] and [[/WUnhide]] (obsoleted by [[/WSet]]).&lt;br /&gt;
&lt;br /&gt;
===0.618===&lt;br /&gt;
&#039;&#039;22 April 2012 - r1568&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in ConfigGUI when trying to sort by map size and a map file is missing (thanks Moose).&lt;br /&gt;
*Change: Ampersands are no longer allowed in chat, even escaped, due to unpredictable Minecraft client behavior.&lt;br /&gt;
&lt;br /&gt;
===0.617===&lt;br /&gt;
&#039;&#039;21 April 2012 - r1564&#039;&#039;&lt;br /&gt;
*Feature: [[/BInfo]] now accepts optional XYZ coordinates, like [[/Mark]].&lt;br /&gt;
*Fix: Added a workaround for &amp;quot;Internal error Flush&amp;quot; under Mono.&lt;br /&gt;
*Fix: Fixed [[/WBring]] printing incorrect usage syntax (thanks recon_)&lt;br /&gt;
*Fix: Fixed typo in [[/BlockDB]] (thanks xN8Gx)&lt;br /&gt;
*Fix: Fixed IRC bots not binding to the specified local endpoint.&lt;br /&gt;
*Fix: Fixed &amp;quot;PreviousRank&amp;quot; not getting updated by [[/SetInfo]] working (thanks nope__avi)&lt;br /&gt;
*Fix: Fixed several rare stability issues (thanks Kevinsweijen).&lt;br /&gt;
*Fix: Fixed [[/Undo]] and [[/Redo]] producing odd log messages if 0 blocks have been changed.&lt;br /&gt;
*&amp;lt;s&amp;gt;Change: Allowed &#039;&amp;amp;&#039; character (ampersand) to be entered in chat, which is now escaped.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===0.616===&lt;br /&gt;
&#039;&#039;10 March 2012 - r1498&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Import]] terminating when importing bans, if a player with the given name is already banned.&lt;br /&gt;
*Fix: Fixed a formatting error in [[/Bring]] and [[/WBring]] confirmation messages.&lt;br /&gt;
*Fix: Fixed mixed-up messages in [[/WAccess]] and [[/WBuild]] when removing players from blacklist/whitelist (thanks ruggedbear and xN8Gx)&lt;br /&gt;
*Fix: Fixed [[/Static]] not turning off after switching worlds (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed [[/Rotate]] printing incorrect copyslot number (thanks Mc_MrCat)&lt;br /&gt;
*Fix: Fixed a ServerGUI crash when pressing the down arrow key after typing in the first console message (thanks Jason)&lt;br /&gt;
*Fix: [[/Me]] messages no longer count towards stats twice (thanks recon_)&lt;br /&gt;
*Fix: [[/Mute]] and [[/Unmute]] now usable with &amp;quot;-&amp;quot; in place of player name (thanks thelonedrummer18)&lt;br /&gt;
*Fix: Fixed README.txt typo (thanks Wolfmade)&lt;br /&gt;
&lt;br /&gt;
===0.615===&lt;br /&gt;
&#039;&#039;2 February 2012 - r1445&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Patrol]] checking Spectate permission, and [[/SpecPatrol]] not checking it.&lt;br /&gt;
*Fix: Fixed [[/WRename]] not updating player&#039;s last-used-world-name (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed colorcodes (%-codes) not getting applied consistently (thanks BobKare)&lt;br /&gt;
*Fix: Fixed a rare name-verification issue that only affected players whose ranks have been imported (thanks Mc_MrCat)&lt;br /&gt;
*Fix: ServerGUI now correctly interprets &amp;quot;Notify&amp;quot; and &amp;quot;Auto&amp;quot; updater settings.&lt;br /&gt;
*Change: Data backups are now stored in ./databackups/ directory.&lt;br /&gt;
&lt;br /&gt;
===0.614===&lt;br /&gt;
&#039;&#039;24 January 2012 - r1426&#039;&#039;&lt;br /&gt;
*Fix: Fixed server crashing if PlayerDB.txt exists but is empty.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Join]] -&amp;quot; using player names, and &amp;quot;[[/TP]] -&amp;quot; using world names.&lt;br /&gt;
*Fix: Solved File.Replace-related errors, which caused occasional save failures.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking caller&#039;s Spectate permission limit when selecting the next target.&lt;br /&gt;
*Fix: Fixed &amp;quot;random&amp;quot; brush producing obvious repeating patterns.&lt;br /&gt;
*Fix: Fixed auto-updater occasionally freezing when attempting to &amp;quot;Restart Now&amp;quot;.&lt;br /&gt;
*Fix: Added permission limit check to [[/Unfreeze]] (thanks Xb0x4d4m)&lt;br /&gt;
*Fix: Improved the way [[/Bring]] and [[/WBring]] enforce access permissions (thanks Hellenion)&lt;br /&gt;
*Change: Added more information about player connects/disconnects to log file.&lt;br /&gt;
&lt;br /&gt;
===0.613===&lt;br /&gt;
&#039;&#039;11 January 2012 - r1401&#039;&#039;&lt;br /&gt;
*Fix: Fixed ConfigGUI not saving changes to ShowConnectionMessages key.&lt;br /&gt;
*Fix: Fixed a case where ConfigGUI could crash while attempting to rename a world.&lt;br /&gt;
*Fix: All spectate permissions are now re-checked when someone gets promoted or demoted.&lt;br /&gt;
*Fix: Fixed ConfigGUI Worlds tab crash when dealing with zoned maps.&lt;br /&gt;
*Fix: Fixed IRC bot not retrying for desired nickname after reconnecting&lt;br /&gt;
*Fix: Fixed a case where editing a world via ConfigGUI would clear security whitelists/blacklists.&lt;br /&gt;
*Fix: Fixed spectating players not being treated as hidden (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed formatting in &amp;quot;Player ___ got auto-kicked&amp;quot; message (thanks BobKare)&lt;br /&gt;
*Fix: Fixed auto-kick revealing hidden players (thanks BobKare)&lt;br /&gt;
*Fix: Fixed RandomBrush-related [[/Undo]] artifacts in [[/Triangle]] (thanks Lunara_Noctis)&lt;br /&gt;
&lt;br /&gt;
===0.612===&lt;br /&gt;
&#039;&#039;14 December 2011 - r1307&#039;&#039;&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] @Rank&amp;quot; not autocompleting rank names.&lt;br /&gt;
*Fix: Fixed compatibility with legacy PlayerDB format versions. PlayerDB files created by fCraft 0.400+ will work again.&lt;br /&gt;
*Fix: Fixed several syntax problems and crashes in /Gen.&lt;br /&gt;
*Fix: Fixed a bug that reset a world&#039;s BackupInterval to default and IsLocked flag to false after changing the map (backport from 0.700).&lt;br /&gt;
*Fix: Fixed a bug that prevented kicks/bans/promotions/demotions from being announced on IRC if no reason was given.&lt;br /&gt;
*Change: Capped all user-entered time spans at 9999 days.&lt;br /&gt;
*Change: Shortened and clarified some confirmation prompts ([[/Gen]], [[/WLoad]], [[/ZRemove]], [[/Import]], [[/MassRank]]).&lt;br /&gt;
&lt;br /&gt;
===0.611===&lt;br /&gt;
&#039;&#039;3 December 2011 - r1282&#039;&#039;&lt;br /&gt;
*Feature: Added information about periodic backups to [[/WInfo]].&lt;br /&gt;
*Fix: Fixed [[/Players]] not working properly if both world name and offset were given.&lt;br /&gt;
*Fix: Fixed [[/WAccess]], [[/WBuild]], and [[/ZEdit]] not working with one-letter rank names.&lt;br /&gt;
*Fix: Fixed [[/BanIP]], /BanAll, /UnbanIP, and /UnbanAll treating fully numeric player names as IPs.&lt;br /&gt;
*Fix: Fixed [[/SetInfo]] not resetting PlayerInfo.LastModified date.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] populated&amp;quot; revealing worlds with hidden players.&lt;br /&gt;
*Fix: Fixed [[/BringAll]] ignoring per-rank limits in some cases (thanks ferny530)&lt;br /&gt;
*Fix: Fixed appearance of black and white blocks in [[/Env]] edges (thanks Jonty)&lt;br /&gt;
*Fix: Fixed a bug in Position.Equals&amp;lt;Position&amp;gt;(), which may have caused unnecessary position updates in Player.UpdateVisibleEntities (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed a little crash in Chat.GetRawMessageType (thanks ruggedbear)&lt;br /&gt;
*Fix: Fixed a case where Player.CanPlace checked permissions against the wrong world&#039;s BuildSecurity controller (thanks Xesdra)&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Commands]] @Rank&amp;quot; showing hidden commands (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed a typo in [[/Worlds]] (thanks Kevinsweijen)&lt;br /&gt;
*Fix: Fixed BlockDBAutoEnable and BlockDBAutoEnableRank config keys being placed in the &amp;quot;General&amp;quot; section.&lt;br /&gt;
*Change: Improved config.xml format (now version 152). Configs created with fCraft 0.611+ will not be usable with older versions of fCraft.&lt;br /&gt;
*Change: Rewrote ServerGUI startup code to make it more responsive (thanks to 800craft for the idea).&lt;br /&gt;
*Change: Added information about command-line options to the README, and fixed some typos.&lt;br /&gt;
*Change: MaxConnectionsPerIP restriction no longer applies to localhost.&lt;br /&gt;
*Change: Increased block-ratio limit for &amp;quot;random&amp;quot;, &amp;quot;cloudy&amp;quot;, and &amp;quot;marbled&amp;quot; brushes from 1000 to 10,000.&lt;br /&gt;
&lt;br /&gt;
===0.610===&lt;br /&gt;
&#039;&#039;18 November 2011 - r1240&#039;&#039;&lt;br /&gt;
*Feature: Added [[/Fill2D]] (/f2d), [[/Triangle]] (/t), and [[/TriangleW]] (/tw) draw commands.&lt;br /&gt;
*Feature: Added ability to filter [[/Worlds]] by rank.&lt;br /&gt;
*Feature: Added [[/Static]] (a way to repeat selection commands).&lt;br /&gt;
*Feature: Added MaxUndoStates config key (how many steps back can [[/Undo]] go), and ConfigGUI bindings.&lt;br /&gt;
*Feature: Added experimental IP-range lookup to [[/Info]] (CIDR notation). Changed /Info pattern-matching single-character symbol from &#039;.&#039; to &#039;?&#039;&lt;br /&gt;
*Feature: Added pagination to [[/Players]].&lt;br /&gt;
*Feature: [[/Spectate]] and [[/SpecPatrol]] now show what commands, PMs, and rank messages the target types in.&lt;br /&gt;
*Feature: Added a way to change server salt without needing a restart, using &amp;lt;code&amp;gt;[[/Reload]] Salt&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: [[/Measure]] now shows statistics about block types in the selection.&lt;br /&gt;
*Feature: [[/Gen]] now has two new templates: &amp;quot;ocean&amp;quot; and &amp;quot;empty&amp;quot;&lt;br /&gt;
*Fix: Many fixes in name-retyping functionality.&lt;br /&gt;
*Fix: Addressed stability issues in LineWrapper and Undo/Redo.&lt;br /&gt;
*Fix: Fixed [[/WLock]] not canceling all draw commands (as intended).&lt;br /&gt;
*Fix: Fixed some outdated descriptions, links, and tooltips in ConfigGUI.&lt;br /&gt;
*Fix: Fixed being able to BanIP/BanAll/UnbanIP/UnbanAll invalid IP addresses (0.0.0.0 and 255.255.255.255).&lt;br /&gt;
*Fix: Fixed [[/Info]] printing a blank page (instead of the last page) if given offset is greater than the total number of matches.&lt;br /&gt;
*Fix: Fixed rank prefixes being appended to players&#039; names if DisplayedName is set.&lt;br /&gt;
*Fix: Fixed a couple rare crashes/hangs in ServerGUI when parsing console commands.&lt;br /&gt;
*Fix: Fixed [[/Ban]] and [[/Unban]] announcing when they&#039;re not supposed to.&lt;br /&gt;
*Fix: Fixed a potential crash in [[/BanInfo]] when looking up an IP address directly (no player name).&lt;br /&gt;
*Fix: Fixed another obscure way of revealing hidden players.&lt;br /&gt;
*Fix: Fixed Beta client kick message (thanks Voziv).&lt;br /&gt;
*Fix: Fixed [[/Commands]] defaulting to printing ALL commands.&lt;br /&gt;
*Fix: Fixed [[/Undo]] trying to re-cancel canceled commands.&lt;br /&gt;
*Fix: Fixed uncaught &amp;quot;Illegal characters in path.&amp;quot; exception when trying to save a [[/Gen]]&#039;erated map to an invalid filename.&lt;br /&gt;
*Fix: Fixed typos in [[/ReplaceNot]] and [[/UndoArea]].&lt;br /&gt;
*Change: Added a warning on startup if name verification is disabled.&lt;br /&gt;
*Change: Tweaks and improvements to [[/Info]], [[/WInfo]], [[/BanInfo]], [[/SetInfo]], and [[/Commands]].&lt;br /&gt;
*Change: Removed code that tries next port if the given one could not be used. Now fCraft either starts on the port specified in config, or dies.&lt;br /&gt;
*Change: Commands now complain about being given too many parameters (in addition to complaining about too few parameters). This should help catch mistyped commands.&lt;br /&gt;
*Change: Added an option to disable giant-tree generation in ConfigGUI&#039;s map generator.&lt;br /&gt;
*Change: Changed log format for bans/kicks to include more information, and fixed log message format for &amp;quot;Player ____ logged in from an IP shared by banned players...&amp;quot;&lt;br /&gt;
*Change: Included config.xml in the automated data backup.&lt;br /&gt;
*Change: ConfigGUI tweaks and improvements.&lt;br /&gt;
*Change: Changes some aliases:&lt;br /&gt;
**Added /Whois and /WhoWas as aliases for [[/Info]].&lt;br /&gt;
**Set &amp;quot;/B&amp;quot; and &amp;quot;/About&amp;quot; to be aliases for [[/BInfo]].&lt;br /&gt;
*Change: Changed some ConfigKey defaults:&lt;br /&gt;
**BlockDBEnabled defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
**WomEnableEnvExtensions defaults to &amp;quot;false&amp;quot;&lt;br /&gt;
**IRCBotAnnounceServerEvents defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
*Change: Discontinued ServerWinService (formerly fCraftWinService) subproject.&lt;br /&gt;
*API: Improved Vector3I, Vector3F, and Position classes a bit.&lt;br /&gt;
*API: New events: DrawOperation.Beginning / Began / Ended&lt;br /&gt;
*API: Changed the way PlayerInfo stores empty string fields. Instead of a 0-length string, it now uses nulls.&lt;br /&gt;
*Optimization: Sped up PlayerDB loading/saving, and boolean ConfigKey lookup.&lt;br /&gt;
&lt;br /&gt;
===0.604===&lt;br /&gt;
&#039;&#039;23 October 2011 - r1155&#039;&#039;&lt;br /&gt;
*Feature: Added support for repeating previously-entered player and world names. Just put a dash (-) in place of the player/world name when using a command, and fCraft will fill in the most-recently-used name.&lt;br /&gt;
*Fix: Fixed an occasional SecurityController-related crash in [[/Gen]], [[/WLoad]], and ConfigGUI world editor.&lt;br /&gt;
*Fix: Fixed an very rare problem in shutdown/restart commands.&lt;br /&gt;
*Fix: Fixed a rare crash that only happened if: MaxPlayers&amp;gt;128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.&lt;br /&gt;
*Fix: Fixed naming of paste/pastenot and pastex/pastenotx&lt;br /&gt;
*Fix: Fixed a permission exploit in /wbring (thanks to panda100123)&lt;br /&gt;
*Fix: Fixed [[/Rules]] section finder accidentally being case-sensitive.&lt;br /&gt;
*Fix: Fixed an issue with MCSharp/MCZall/MCLawl/MCQuai/MCStorm/MCForge/MCWhatever importer.&lt;br /&gt;
*Change: Decreased shading strength in IsoCat renderer.&lt;br /&gt;
*Change: Added /Who as an alias for [[/Players]], by request.&lt;br /&gt;
*Change: Clarified ConfigGUI description of name verification settings.&lt;br /&gt;
*Change: Normalized command name capitalization. Command names must now start with an uppercase letter, for consistency.&lt;br /&gt;
*API: Fixed inconsistencies in PlayerDB.txt header row format declaration.&lt;br /&gt;
&lt;br /&gt;
===0.603===&lt;br /&gt;
&#039;&#039;20 October 2011 - r1142&#039;&#039;&lt;br /&gt;
*Fix: [[/Cancel]] can no longer be repeated with &amp;quot;/&amp;quot; (no longer replaces previously-called command).&lt;br /&gt;
*Fix: Fixed [[/Rotate]] and [[/Mirror]] messing up if a paste command is in progress.&lt;br /&gt;
*Fix: Re-enabled crash interception and reporting.&lt;br /&gt;
&lt;br /&gt;
===0.602===&lt;br /&gt;
&#039;&#039;18 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Feature: One-click paste commands are now the default. Two-click aligned paste commands are now known as [[/PasteX]] (/PX) and [[/PasteNotX]].&lt;br /&gt;
*Feature: Added [[/ReplaceBrush]] (/RB) command (shortcut for &amp;lt;code&amp;gt;[[/Brush]] ReplaceBrush&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;[[/Cuboid]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: Added a way to change number of copy/paste slots per rank from ConfigGUI.&lt;br /&gt;
*Fix: Fixed a few typos and missing help entries.&lt;br /&gt;
*Fix: Fixed DrawOp completion message and log entry.&lt;br /&gt;
*Fix: Fixed [[/Paste]] and [[/PasteNot]] not properly clipping against world boundaries.&lt;br /&gt;
*Fix: Fixed ConfigGUI not preserving environment settings for worlds.&lt;br /&gt;
*Fix: Fixed ConfigGUI losing some worlds and showing some errors when importing from 0.5xx.&lt;br /&gt;
*Fix: Fixed [[/Bring]] not being usable from console.&lt;br /&gt;
*Fix: Fixed [[/WRename]] crashing if invalid characters (from filesystem&#039;s point of view) are present in the new name.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking for Spectate permission.&lt;br /&gt;
*Fix: Fixed [[/UndoArea]]&#039;d and [[/UndoPlayer]]&#039;ed blocks having &amp;quot;Restored&amp;quot; flag set in /bi&lt;br /&gt;
*Fix: Fixed a detached checkbox on &amp;quot;Worlds&amp;quot; tab of ConfigGUI.&lt;br /&gt;
*Fix: Fixed [[/Say]], [[/Staff]], and [[/Me]] getting logged twice.&lt;br /&gt;
*Fix: Fixed per-world backup settings being cleared on server restart.&lt;br /&gt;
*Fix: Fixed a rare NullReferenceException in WorldManager.LoadWorldList that occurred if the main world was missing, and the fallback world had access restrictions.&lt;br /&gt;
*Fix: Fixed some issues with BlockDB settings in &amp;quot;Add World&amp;quot; and &amp;quot;Edit World&amp;quot; popups of ConfiGUI.&lt;br /&gt;
*Fix: Fixed a rare ConfigGUI crash when resetting the rank tab whole one of the old ranks is selected.&lt;br /&gt;
*Change: Sped up [[/EllipsoidH]] and [[/SphereH]] slightly (thanks to Redshift).&lt;br /&gt;
*Change: Improved error handling in [[/Env]] when setting level.&lt;br /&gt;
*Change: Double-buffered the preview on &amp;quot;Chat&amp;quot; tab of ConfigGUI, to get rid of flicker.&lt;br /&gt;
*Change: Clarified auto-freeze message when trying to kick/ban someone without a required reason string.&lt;br /&gt;
&lt;br /&gt;
===0.601===&lt;br /&gt;
&#039;&#039;15 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Fixed several issues with [[/Undo]] and drawing commands.&lt;br /&gt;
&lt;br /&gt;
===0.600===&lt;br /&gt;
&#039;&#039;14 October 2011 - r1107&#039;&#039;&lt;br /&gt;
:&#039;&#039;See [http://www.fcraft.net/0.600/ http://www.fCraft.net/0.600] for a summary of changes, and upgrade notes.&#039;&#039;&lt;br /&gt;
*Chat: Added a {{cmd|Timer}} command for creating publicly-announced countdowns/timers.&lt;br /&gt;
*Chat: Added a way to cancel partial messages: &amp;lt;code&amp;gt;/Nvm&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Chat: Removed &amp;quot;Banned player ___ tried to log in&amp;quot; and &amp;quot;Player ___ tried to log in from a banned IP&amp;quot; messages.&lt;br /&gt;
*Chat: {{cmd|Say}}, {{cmd|Staff}}, and {{cmd|Me}} commands can no longer repeated using &amp;quot;/&amp;quot; shortcut.&lt;br /&gt;
*Chat: Added a warning when trying to PM deafened players.&lt;br /&gt;
*Chat: Added a shortcut for chatting to same rank: &amp;quot;@@ Message&amp;quot;&lt;br /&gt;
*Chat: Increased the number of blank lines sent by {{cmd|Clear}} to 30, to accommodate players with smaller-than-normal font sizes.&lt;br /&gt;
*Chat Fix: Fixed {{cmd|Say}}, {{cmd|Roll}}, {{cmd|Staff}}, and {{cmd|Me}} sometimes bypassing {{perm|Chat}} permission, mute check, or spam detection check.&lt;br /&gt;
*Chat Fix: Fixed rank chat being logged twice.&lt;br /&gt;
*Chat Fix: Fixed some system messages getting through to deafened players.&lt;br /&gt;
*Chat Fix: {{cmd|Deafen}} now clears the screen when toggled on.&lt;br /&gt;
*Commands: Rank and zone names now autocomplete.&lt;br /&gt;
*Commands: Players can no longer freeze, mute, kick, ban, unban, promote, or demote themselves.&lt;br /&gt;
*Commands: {{cmd|Players}} can now be called with an optional WorldName parameter, to only list players in a particular world.&lt;br /&gt;
*Commands: {{cmd|WLoad}} now takes two more optional parameters: build rank and access rank names.&lt;br /&gt;
*Commands: {{cmd|Info}} now shows last leave reason, idle time, freeze/mute information, and ban exemption status.&lt;br /&gt;
*Commands: Augmented {{cmd|Rules}} to support several rule categories.&lt;br /&gt;
*Commands: Added {{cmd|Spectate}} and {{cmd|SpecPatrol}} (&amp;lt;code&amp;gt;/SPat&amp;lt;/code&amp;gt;) commands.&lt;br /&gt;
*Commands: Added {{cmd|WBring}} (brings target player to a world);&lt;br /&gt;
*Commands: Added {{cmd|Spawn}} command (brings you to spawn). Typing &amp;quot;{{cmd|TP}}&amp;quot; no longer does the same thing, and {{cmd|TP}} now always requires {{perm|Teleport}} permission.&lt;br /&gt;
*Commands: Algorithm that {{cmd|Patrol}} uses to pick the next target was improved.&lt;br /&gt;
*Commands: Renamed Lock/Unlock commands to {{cmd|WLock}}/{{cmd|WUnlock}}, for consistency.&lt;br /&gt;
*Commands: Merged &amp;lt;code&amp;gt;/ReloadConfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/AutoRankReload&amp;lt;/code&amp;gt; into {{cmd|Reload}} command. Merged &amp;lt;code&amp;gt;/ImportRanks&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/ImportBans&amp;lt;/code&amp;gt; into {{cmd|Import}} command. Combined functionality of &amp;lt;code&amp;gt;/LockAll&amp;lt;/code&amp;gt; into {{cmd|WLock}}, and functionality of &amp;lt;code&amp;gt;/UnlockAll&amp;lt;/code&amp;gt; into {{cmd|WUnlock}}.&lt;br /&gt;
*Commands: {{cmd|Info}} and {{cmd|Worlds}} now support pagination.&lt;br /&gt;
*Commands: When world access permissions are changed with {{cmd|WAccess}}, players who lost ability to join the world will automatically be moved to main.&lt;br /&gt;
*Commands: Frozen player can no longer call most commands, with exception of: {{cmd|Clear}}, {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|RankInfo}}, {{cmd|ServerInfo}}, {{cmd|Ranks}}, {{cmd|Rules}}, {{cmd|Where}}, {{cmd|Help}}, {{cmd|Commands}}, {{cmd|Colors}}, {{cmd|Worlds}}, {{cmd|Zones}}, and {{cmd|ZInfo}}.&lt;br /&gt;
*Commands: {{cmd|Bring}} and {{cmd|WBring}} now give the option of overriding worlds&#039; access minimum-rank. Explicitly blacklisted players will continue to be barred.&lt;br /&gt;
*Commands: Added {{cmd|InfoSwap}} command, for swapping two players&#039; ranks and PlayerDB records.&lt;br /&gt;
*Commands: Added a way to abort a server shutdown or restart (&amp;quot;{{cmd|Shutdown|abort}}&amp;quot; or &amp;quot;{{cmd|Restart|abort}}&amp;quot;).&lt;br /&gt;
*Commands: {{cmd|RankInfo}} now shows copy/paste slots, idle kick time, and permission limits.&lt;br /&gt;
*Commands: Most time-related commands now take the [[Time formatting|compact format]] (e.g. 1m30s, 45s, 24h, etc).&lt;br /&gt;
*Commands: Color-coded {{cmd|Commands}}.&lt;br /&gt;
*Commands: Limited {{cmd|Mute}} duration to range between 1 second and 700 days (100 weeks).&lt;br /&gt;
*Commands: {{cmd|SetInfo}} now allows changing players&#039; DisplayedName.&lt;br /&gt;
*Commands: A warning is now shown when a player is kicked/banned, and other players are still connected from the IP.&lt;br /&gt;
*Commands: Added a way to add IP ban exemptions using {{cmd|BanEx}} (banning all players from IP except a particular one).&lt;br /&gt;
*Commands: Added automatic countdowns to {{cmd|Shutdown}} and {{cmd|Restart}}.&lt;br /&gt;
*Commands: Added more stats to {{cmd|ServerInfo}}.&lt;br /&gt;
*Commands: {{cmd|MassRank}} now defaults to silent, and takes a &amp;quot;reason&amp;quot; parameter.&lt;br /&gt;
*Commands: Added &amp;quot;/St&amp;quot; as an alias for {{cmd|Staff}}. Changed &amp;quot;/L&amp;quot; from being alias for {{cmd|Join}}, to being alias for {{cmd|Lava}}. Removed &amp;quot;/Cub&amp;quot; alias for {{cmd|Cuboid}}.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|UnbanIP}} and {{cmd|UnbanAll}} not announcing the unban reason.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Info}} not formatting names of offline players.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Restart}} breaking under Mono if working path contains spaces.&lt;br /&gt;
*Commands Fix: Fixed freeze/unfreeze printing wrong ranks in &amp;quot;You can only freeze players ranked ____ or lower&amp;quot; messages.&lt;br /&gt;
*Commands Fix: Fixed a rare crash in {{cmd|Rules}} when used from console.&lt;br /&gt;
*Commands Fix: {{cmd|BanIP}} and {{cmd|BanAll}} no longer allow to ban the IP if it&#039;s shared by any players whom caller is not allowed to ban.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Ignore}} and {{cmd|Unignore}} printing all matches at once on autocompletion.&lt;br /&gt;
*Commands Fix: Fixed a case where {{cmd|BringAll}} could reveal hidden players.&lt;br /&gt;
*Commands Fix: Fixed a few bugs in {{cmd|DumpStats}}, expanded player listing to top-5/bottom-5, and added &amp;quot;BlocksDrawn&amp;quot; stat.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Rank}} and {{cmd|TP}} commands showing up in {{cmd|Commands}} for ALL players.&lt;br /&gt;
*Commands Fix: Fixed a couple rare bugs in {{cmd|Roll}}.&lt;br /&gt;
*Commands Fix: Fixed broken {{cmd|BringAll}} support for bringing multiple ranks at once.&lt;br /&gt;
*Commands Fix: Fixed several obscure ways of revealing presence of hidden players via commands like {{cmd|ServerInfo}} and {{cmd|Worlds}}.&lt;br /&gt;
*Config: New config keys: BackupDataOnStartup (default: true), RestartInterval (default: 0), HeartbeatToWoMDirect (default: true), BlockDBEnabled (default: true), BlockDBAutoEnable (default: true), and BlockDBAutoEnableRank (default: DefaultRank), WoMEnableEnvExtensions (default: false).&lt;br /&gt;
*Config: Added {{perm|Spectate}} permission that covers {{cmd|Spectate}} and {{cmd|SpecPatrol}}.&lt;br /&gt;
*Config: Added {{perm|DrawAdvanced}} permission that covers {{cmd|Brush}}, {{cmd|Sphere, {{cmd|SphereH}}, {{cmd|Torus}}, and {{cmd|Restore}} commands.&lt;br /&gt;
*Config: Added {{perm|ManageBlockDB}} permission that covers {{cmd|BlockDB}}.&lt;br /&gt;
*Config: Added {{perm|UndoOthersActions}} permission that covers {{cmd|UndoPlayer}} and {{cmd|UndoArea}}.&lt;br /&gt;
*Config: {{cmd|Reload}} can now update more config keys without needing a restart: AutoRankEnabled, BandwidthUseMode, ConsoleName, DefaultRank, DefaultBuildRank, PatrolledRank.&lt;br /&gt;
*Config: Removed obsolete ShowBannedConnectionMessages config key.&lt;br /&gt;
*Config Fix: Fixed DefaultRank/DefaultBuildRank/PatrolledRank settings not being applied.&lt;br /&gt;
*ConfigGUI: Added BlockDB settings to &amp;quot;Worlds&amp;quot; tab and &amp;quot;Add/Edit World&amp;quot; dialog.&lt;br /&gt;
*ConfigGUI: Reorganized Rank tab.&lt;br /&gt;
*ConfigGUI: Relaxed restrictions on rank prefixes.&lt;br /&gt;
*ConfigGUI: Added &amp;quot;Insert Color&amp;quot; and &amp;quot;Insert Keyword&amp;quot; buttons to announce/rule/greeting editors in ConfigGUI, and a &amp;quot;Reset&amp;quot; button to revert edits.&lt;br /&gt;
*ConfigGUI: Any errors/warnings that are produced while loading &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt; in ConfigGUI are now displayed at startup.&lt;br /&gt;
*ConfigGUI Fix: ConfigGUI no longer loses worlds&#039; whitelists/blacklists.&lt;br /&gt;
*ConfigGUI Fix: Fixed several bugs related to renaming worlds.&lt;br /&gt;
*ConfigGUI Fix: Fixed several &amp;quot;Reset&amp;quot; bugs.&lt;br /&gt;
*ConfigGUI Fix: Fixed &amp;quot;Enable colors in IRC&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*ConfigGUI Fix: Fixed ConfigTool&#039;s Chat tab not updating to reflect changes in rank colors/prefixes.&lt;br /&gt;
*ConfigGUI Fix: Fixed sort order in Worlds tab when sorting by world size.&lt;br /&gt;
*ConfigGUI Fix: Fixed some rank dropdown menus in ConfigGUI showing &amp;quot;(lowest rank)&amp;quot; instead of &amp;quot;(default rank)&amp;quot; as the default option.&lt;br /&gt;
*Drawing: Introduced a brush/pattern system for draw commands. Rewrote (almost) all existing draw commands to take advantage of that new infrastructure. Brushes are: Normal (default), Checkered, Random, Cloudy, Marbled, Replace, ReplaceNot, ReplaceBrush.&lt;br /&gt;
*Drawing: Added a way to {{cmd|Undo}} up to five commands back. Use {{cmd|Redo to reverse it.&lt;br /&gt;
*Drawing: Added {{cmd|Torus}} drawing command, written and contributed by M1_Abrams.&lt;br /&gt;
*Drawing: Added support for multiple copy/paste slots, using {{cmd|CopySlot}}. Number of slots of configurable per-rank.&lt;br /&gt;
*Drawing: {{cmd|Replace}} and {{cmd|ReplaceNot}} can now take just one blocktype. The replacement type is inferred from the type of block player is holding when clicking.&lt;br /&gt;
*Drawing: {{cmd|Undo}} now cancels the last drawing commands.&lt;br /&gt;
*Drawing: Added a new [[Blocks|block name aliases]]: &amp;quot;g&amp;quot; for grass, &amp;quot;w&amp;quot; for water, &amp;quot;a&amp;quot; for air.&lt;br /&gt;
*Drawing Fix: Added a missing volume check to {{cmd|Line}}, and fixed {{cmd|CuboidW}} volume calculations.&lt;br /&gt;
*Drawing Fix: Fixed {{cmd|Copy}} and {{cmd|Cut}} reporting incorrect orientation.&lt;br /&gt;
*FrontEnd: Colored ConfigCLI log messages: red for errors, yellow for warnings, dark gray for debug, default (gray) for everything else. Call with &amp;quot;--noconsolecolor&amp;quot; parameter to disable.&lt;br /&gt;
*FrontEnd: ServerCLI now handles all updater modes properly, and downloads updater/restarts if needed.&lt;br /&gt;
*FrontEnd: Improved window titles.&lt;br /&gt;
*FrontEnd Fix: Fixed ServerCLI writing errors to stdout instead of stderr.&lt;br /&gt;
*Misc: Players who log out hidden will now log in silently, still hidden.&lt;br /&gt;
*Misc: More [[Constants|keywords]] are now usable in announcements, rules, and greeting files: {SERVER_NAME}, {MOTD}, {RANK}, {PLAYER_NAME}, {TIME}, {WORLD}, {PLAYERS}, and {WORLDS}&lt;br /&gt;
*Misc: Kicked or disconnected players no longer have their TotalTime increased for the time idled.&lt;br /&gt;
*Misc: fCraft will refuse to start up if running old versions of mono (2.4 or earlier).&lt;br /&gt;
*Misc: Crash reporter now prints a reference number for submitted reports.&lt;br /&gt;
*Misc: AutoRank now only evaluates online players on a timer. A full database sweep will only be done on startup or on-demand. This should notably reduce average CPU use on large databases.&lt;br /&gt;
*Misc: Added AutoRank pseudoplayer (similar to Console), who is now credited with all autorank promotions/demotions.&lt;br /&gt;
*Misc: Increased the allowed clicking distance when manually clicking blocks, to account for lag.&lt;br /&gt;
*Misc: IRC bot now announces channel kicks and nick changes.&lt;br /&gt;
*Misc: When a player with a reserved slot tries to join a full world, the longest-idle player will be kicked to make room.&lt;br /&gt;
*Misc: Frozen, demoted, and banned players are now automatically unhidden. Frozen players are undeafened. Banned players are also automatically unfrozen and unmuted.&lt;br /&gt;
*Misc: When a player&#039;s rank is changed, their bindings are now reset (to avoid issues with {{cmd|Water}}, {{cmd|Lava}}, and {{cmd|Solid}}), and any in-progress selection is canceled ([[:Category:Requires Draw|draw]] commands, {{cmd|Zone}}, {{cmd|ZTest}}, {{cmd|BInfo}}, {{cmd|Measure}}, etc)&lt;br /&gt;
*Misc: Frozen players now have a little blue star appended to their names, similar to the red star for banned players.&lt;br /&gt;
*Misc: Moved all heartbeat-related operations to the background thread (fixes lag spikes when minecraft.net times out).&lt;br /&gt;
*Misc: Added a dynamically updated compass at the top-right of the screen, visible to players who use WoM 1.8.8+&lt;br /&gt;
*Misc: Added a check for libMonoPosix on server startup. This allows catching misconfigured Mono setups early.&lt;br /&gt;
*Misc: Ranks now default to &amp;quot;white&amp;quot; color (&amp;quot;&amp;amp;f&amp;quot;) instead of &amp;quot;none&amp;quot; color (&amp;quot;&amp;quot;).&lt;br /&gt;
*Misc: Edited the &amp;quot;failed to load main world&amp;quot; message to sound less menacing, since it&#039;s usually caused just by main world filling up.&lt;br /&gt;
*Misc: Sped up {{cmd|PruneDB}}, {{cmd|MassRank}}, map generation. Reduced memory use of draw commands, undo buffers, and ConfigGUI.&lt;br /&gt;
*Misc Fix: Fixed &amp;quot;duplicate metadata key&amp;quot; warning in FCMv3 maps.&lt;br /&gt;
*Misc Fix: Fixed a zone-related race condition when exporting to Opticraft map format.&lt;br /&gt;
*Misc Fix: Fixed fCraft being unable to start if fCraft.dll is in the root directory of a drive (e.g. in &amp;quot;C:/&amp;quot;)&lt;br /&gt;
*Misc Fix: Fixed a bug that caused bandwidth to sometimes be wasted on needlessly updating position of non-moving players.&lt;br /&gt;
*Misc Fix: Fixed a clock drift problem in periodic SchedulerTasks.&lt;br /&gt;
*Misc Fix: Fixed a case where, in some rank configurations, players would see themselves as offline when hidden (in {{cmd|Info}}, {{cmd|BInfo}}, {{cmd|Players}}, etc).&lt;br /&gt;
*PlayerDB: Added 46th column: PlayerInfo.IsHidden (&#039;h&#039; if hidden, otherwise blank).&lt;br /&gt;
*PlayerDB: Added 47th column: PlayerInfo.LastModified (UTC unix timestamp). Accuracy is not yet guaranteed.&lt;br /&gt;
*PlayerDB: Added 48th column: PlayerInfo.DisplayedName (string or blank). Overrides &amp;quot;Name&amp;quot; field for purposes of displaying formatted name (ClassyName).&lt;br /&gt;
*PlayerDB: Removed 14th column (FailedLoginCount) due to disuse.&lt;br /&gt;
*PlayerDB: PlayerDB now writes out changes to TotalTime incrementally for online players, instead of applying the change on-logout.&lt;br /&gt;
*Worlds: Added a way to change some environment and texture settings per-map, using {{cmd|Env}}.&lt;br /&gt;
*Worlds: Per-world settings on backup intervals now work.&lt;br /&gt;
*Worlds: Added BlockDB - a system for tracking edits per-block. Added related {{cmd|BlockDB}} and {{cmd|BInfo}} commands.&lt;br /&gt;
*Worlds: Added {{cmd|UndoPlayer}} and {{cmd|UndoArea}} commands for undoing players&#039; actions using BlockDB.&lt;br /&gt;
*Worlds: If a world has a missing map file, a warning is now shown, and a default flatgrass map is created.&lt;br /&gt;
*Worlds: Added a way to set per-rank main world, using {{cmd|WMain}}.&lt;br /&gt;
*Worlds: Added {{cmd|Restore}} command, inspired by good old MinerCPP. Selectively loads a map from another file or backup.&lt;br /&gt;
*Worlds: Allowed non-standard dimensions (neither multiples of 16, nor powers of 2). Added a warning about glitches when using nonstandard dimensions.&lt;br /&gt;
*Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to {{cmd|WInfo}} and to &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worlds: MapGenerator tweaks: &amp;quot;default&amp;quot; template is now known as &amp;quot;random,&amp;quot; &amp;quot;mountains&amp;quot; template now has more cliffs and snow on mountaintops, &amp;quot;island&amp;quot; template is less rough and has nice beaches, and water is now automatically removed from &amp;quot;desert&amp;quot; maps.&lt;br /&gt;
*Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.&lt;br /&gt;
*Worlds Fix: Fixed an exploit that allowed players to bypass world access permissions in certain rank configurations.&lt;br /&gt;
*Worlds Fix: Fixed some rare crashes in {{cmd|WLoad}}.&lt;br /&gt;
*Worlds Fix: Fixed {{cmd|WAccess}} and {{cmd|WBuild}} occasionally not saving the world list after adding players to the access/build whitelists.&lt;br /&gt;
*Worlds Fix: Fixed being unable to change just the capitalization when renaming worlds from ConfigGUI, under Windows.&lt;br /&gt;
*Zones: Added {{cmd|ZRename}} command to rename zones.&lt;br /&gt;
*Zones: Added {{cmd|ZMark}} command to use zone boundaries for drawing or making selections.&lt;br /&gt;
*Zones Fix: Fixed {{cmd|ZAdd}} crash when adding more than one personal zone for the same player ({{cmd|ZAdd|+Name}}).&lt;br /&gt;
*Zones Fix: Fixed a rare case where two players could simultaneously create a zone with the same name on the same world, which would crash one of the players.&lt;br /&gt;
*Zones Fix: {{cmd|Zones}} no longer crashes if used on a world with a missing or corrupt map file.&lt;br /&gt;
*Zones Fix: Tightened security checks of {{cmd|ZAdd}} and {{cmd|ZRemove}} to prevent a permission exploit.&lt;br /&gt;
*API: Added specialized MetadataCollection class to manage per-map and per-player metadata, and ZoneCollection for zones.&lt;br /&gt;
*API: Added ReSharper-compatible annotations and more argument checks throughout the codebase.&lt;br /&gt;
*API: fCraft now consistently uses [X,Y,Z] for coordinates (where X/Y are horizontal, and Z is vertical), and [Width,Length,Height] for dimensions (Width/Length horizontal, Height vertical).&lt;br /&gt;
*API: Merged Session and Player classes. All session-related functionality is in Player.Networking.cs file.&lt;br /&gt;
*API: New line-wrapping algorithm provides better performance and safety. Now using &amp;quot;\n&amp;quot; instead of &amp;quot;&amp;amp;N&amp;quot; to force a newline.&lt;br /&gt;
*API: Renamed World.PlayerList to World.Players, Server.PlayerList to Server.Players, and added PlayerDB.PlayerInfoList&lt;br /&gt;
*API: New LINQ-style API for working with sets of players. This API is now used for all messaging and packet-sending. Old API (Server.Send* and World.Send*) was removed.&lt;br /&gt;
*API: New unified API for handling player-generated chat (Chat static class), and new events (Chat.Sending and Chat.Sent).&lt;br /&gt;
*API: All cancellable events now implement ICancellableEvent.&lt;br /&gt;
*API: MapDAT and MapNBT now implement IMapConverter.LoadHeader.&lt;br /&gt;
*API: Converted IClassy.GetClassyName(), Rank.GetFullName(), and Player.GetListName() to properties.&lt;br /&gt;
*API: Renamed ConfigKey.GetBool() to ConfigKey.Enabled(). Added ConfigKey.TryGetInt() and ConfigKey.TryGetBool() methods.&lt;br /&gt;
*API: CommandManager.RegisterCommand() now checks for reserved command names (currently &amp;quot;ok&amp;quot; and &amp;quot;nvm&amp;quot;), and does a better job at handling command name capitalization differences.&lt;br /&gt;
*API: Added ability to override Player.MaxBlockPlacementRange, Player.SocketTimeout, Heartbeat.Delay, and Heartbeat.Timeout.&lt;br /&gt;
*API: Renamed RankManager.ParseRank(string) to Rank.Parse(string)&lt;br /&gt;
*API: All draw/undo/copy/paste commands have been moved to fCraft.Drawing namespace.&lt;br /&gt;
*API: Added support for multiple {{cmd|Help}} sections per command.&lt;br /&gt;
*API: Added CommandCategory.Debug, removed CommandDescriptor.HelpHander and HelpHandler delegate.&lt;br /&gt;
*API: Moved Server.Player* events to Player.* and Server.PlayerInfo* to PlayerInfo.*&lt;br /&gt;
*API: Expanded the confirmation system (&amp;lt;code&amp;gt;/OK&amp;lt;/code&amp;gt;) to allow custom callbacks, decoupled from the command system.&lt;br /&gt;
*API Fix: &amp;quot;Bad heartbeat&amp;quot; reply from minecraft.net no longer triggers UrlChanged event.&lt;br /&gt;
*API Fix: Fixed a couple bugs in BoundingBox.GetIntersection and BoundingBox.Contains.&lt;br /&gt;
*API Fix: Fixed {{cmd|Replace}} and {{cmd|ReplaceNot}} not firing Player.PlacedBlock&lt;br /&gt;
*events.&lt;br /&gt;
*API Fix: Uncaught exceptions that occur while parsing player messages no longer send crash reports when in DEBUG configuration.&lt;br /&gt;
&lt;br /&gt;
=0.5xx=&lt;br /&gt;
&lt;br /&gt;
===0.537===&lt;br /&gt;
&#039;&#039;14 September 2011 - r991&#039;&#039;&lt;br /&gt;
*Fixed another heartbeat-related issue caused by minecraft.net updates.&lt;br /&gt;
&lt;br /&gt;
===0.536===&lt;br /&gt;
&#039;&#039;14 September 2011 - r988&#039;&#039;&lt;br /&gt;
*Fix: Fixed a rare crash in DoChangeRank when promoting/demoting offline players.&lt;br /&gt;
*Fix: Fixed a case where world access/build whitelist additions were not immediately saved.&lt;br /&gt;
*Fix: Fixed several errors in the way time spans were displayed.&lt;br /&gt;
*Fix: Unhandled exceptions in background task callbacks will no longer take down the server&lt;br /&gt;
*Change: Changed the heartbeat handler to use GET instead of POST (workaround for minecraft.net problems).&lt;br /&gt;
*Change: Removed AutoLauncher.&lt;br /&gt;
&lt;br /&gt;
===0.535===&lt;br /&gt;
&#039;&#039;1 July 2011 - r702&#039;&#039;&lt;br /&gt;
*Workaround for minecraft.net heartbeat changes.&lt;br /&gt;
&lt;br /&gt;
===0.534===&lt;br /&gt;
&#039;&#039;18 June 2011 - r668&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;lt;RestartInterval&amp;gt; config key (in seconds). It should help people who are suffering from Mono memory leaks. This setting can only currently be modified by editing config.xml&lt;br /&gt;
*Fix: Fixed /wload and /gen resetting the world&#039;s hidden status.&lt;br /&gt;
*Fix: Fixed &amp;quot;Apply&amp;quot; button not getting enabled in ConfigTool when world list is changed.&lt;br /&gt;
*Fix: Fixed /cw reporting incorrect volume (fixes #3308137).&lt;br /&gt;
*Fix: Added a confirmation when /wrename will result in overwriting a map file, and fixed a related crash (fixes #3311994).&lt;br /&gt;
*Fix: Fixed FormatException in error handling code in World.AcceptPlayer&lt;br /&gt;
*Fix: Fixed /info not showing formatted names for players who appear offline.&lt;br /&gt;
*Fix: Fixed several issues with renaming worlds from ConfigTool.&lt;br /&gt;
*Fix: Fixed /restart breaking under Mono if path contains spaces.&lt;br /&gt;
*Fix: Fixed /staff, /me, and /roll commands not requiring the Chat permission.&lt;br /&gt;
*Fix: Fixed &amp;quot;Use IRC colors&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*Change: Allowed all printable ASCII characters in chat except &#039;&amp;amp;&#039;.&lt;br /&gt;
*Change: Heartbeat tweaks to prevent &amp;quot;Bad heartbeat&amp;quot; from popping up.&lt;br /&gt;
*Optimization: ConfigTool starts up faster, and uses much less memory.&lt;br /&gt;
&lt;br /&gt;
===0.533===&lt;br /&gt;
&#039;&#039;24 May 2011 - r614&#039;&#039;&lt;br /&gt;
*Fix: Fixed a regression in 0.530 that erased some strings in PlayerInfo and IPBanInfo objects, such as ban reasons.&lt;br /&gt;
*Change: Increased heartbeat interval to 27.5 seconds.&lt;br /&gt;
*Change: Reduced jitter of player movement.&lt;br /&gt;
&lt;br /&gt;
===0.532===&lt;br /&gt;
&#039;&#039;23 May 2011 - r611&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;quot;/worlds loaded&amp;quot; command.&lt;br /&gt;
*Fix: Fixed a bug that prevented worlds from accepting any block changes after a map change (/wload or /gen)&lt;br /&gt;
*Fix: Fixed &amp;quot;Player _____ joined main.&amp;quot; displaying twice when players connect.&lt;br /&gt;
*Change: Added /colours as an alias to /colors&lt;br /&gt;
*Change: Adjusted /dumpstats security checks, and made it require EditPlayerDB permission (instead of Import).&lt;br /&gt;
&lt;br /&gt;
===0.531===&lt;br /&gt;
&#039;&#039;20 May 2011 - r603&#039;&#039;&lt;br /&gt;
*Feature: /SInfo now shows bandwidth use, fCraft version, and .NET/Mono version.&lt;br /&gt;
*Feature: Added ability to use coordinates with mark (e.g. &amp;quot;/Mark 0 0 0&amp;quot;).&lt;br /&gt;
*Fix: Fixed non-default rank settings not saving properly from ConfigTool.&lt;br /&gt;
*Fix: Fixed a serialization bug in IPBanList that happened if a ban reason was not given, or if an IP address was not associated with any player.&lt;br /&gt;
*Fix: Fixed a few minor bugs in /WMain.&lt;br /&gt;
*Change: Allowed the caret (^) in chat messages.&lt;br /&gt;
*Change: Reduced movement lag.&lt;br /&gt;
*Change: /version command has been removed due to redundancy with /sinfo.&lt;br /&gt;
*Change: Detailed reasons of player disconnects are now logged better.&lt;br /&gt;
*Change: Increased Minecraft.net heartbeat interval slightly.&lt;br /&gt;
*API: Added new events: Scheduler.TaskAdded, Scheduler.TaskExecuting, Scheduler.TaskExecuted, and Scheduler.TaskRemoved. These events are only available when fCraft.dll is built with DEBUG_SCHEDULER flag because of their performance impact.&lt;br /&gt;
*Optimization: Removed the scheduler overhead from having unloaded worlds.&lt;br /&gt;
*Optimization: Sped up MapGenerator by about 10%.&lt;br /&gt;
&lt;br /&gt;
===0.530===&lt;br /&gt;
&#039;&#039;7 May 2011 - r583&#039;&#039;&lt;br /&gt;
*Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.&lt;br /&gt;
*Feature: Added OptiCraft blocktype names and blocks&#039; numeric IDs as aliases.&lt;br /&gt;
*Fix: Fixed block bindings not being applied to drawing commands.&lt;br /&gt;
*Fix: Fixed fCraft getting confused if worlds.xml contains duplicates.&lt;br /&gt;
*Fix: Fixed &amp;quot;/&amp;quot; (repeat last command) not rewinding the command, which caused some issues with command arguments.&lt;br /&gt;
*Fix: Fixed &amp;quot;Max connections per IP&amp;quot; setting not saving in ConfigTool.&lt;br /&gt;
*Fix: Fixed AnnounceRankChangeReasons checkbox being erroneously tied to RequireRankChangeReasons key in ConfigTool.&lt;br /&gt;
*Fix: Added some missing tooltips to ConfigTool.&lt;br /&gt;
*Fix: Marked 10.0.0.0/8 IP range as LAN.&lt;br /&gt;
*Fix: Fixed an issue with balanced name verification (thanks wootalyzer).&lt;br /&gt;
*Fix: Fixed server announcing hidden players&#039; departure (#3292633). Thanks to Hellenion.&lt;br /&gt;
*Fix: Fixed /bring not checking per-rank permissions (#3292303). Thanks to Denny&lt;br /&gt;
*Fix: Fixed some header bugs in the D3 map converter.&lt;br /&gt;
*Fix: Fixed /wload crashing instead of printing an error message under Mono if the path was malformed.&lt;br /&gt;
*Fix: Fixed /banip not recognizing invalid IPs (e.g. broadcast).&lt;br /&gt;
*Fix: Fixed antispam resetting players&#039; mute time.&lt;br /&gt;
*Fix: Fixed Scheduler being able to add tasks after the shutdown process started.&lt;br /&gt;
*Fix: Reduced problems associated with players trying to connect while the server is shutting down.&lt;br /&gt;
*Fix: Added autorank.xml to the list of protected files.&lt;br /&gt;
*Fix: Fixed a crash in backup system that happened if two backups ran simultaneously and the total size or number of backup files was limited.&lt;br /&gt;
*Fix: Fixed a case where duplicate worlds could be created.&lt;br /&gt;
*Change: When players rejoin a world (e.g. /wflush or /wload), &amp;quot;joined world&amp;quot; message is no longer shown.&lt;br /&gt;
*Change: /mute no longer allows shortening players&#039; mute time, only to extend it.&lt;br /&gt;
*Change: Allowed player names with periods.&lt;br /&gt;
*Change: Removed SaveOnShutdown config key, tweaked range checks on some keys, grouped key tags into section tags.&lt;br /&gt;
*Change: When saving config.xml, keys with default values are now commented out.&lt;br /&gt;
*API: New events! PlayerHideChanged, PlayerInfoCreating, PlayerInfoCreated, PlayerInfoRankChanging, and PlayerInfoRankChanged.&lt;br /&gt;
*API: Server.StartServer() now throws specific exceptions on failure, instead of returning false.&lt;br /&gt;
*API: Removed some obsolete Server events.&lt;br /&gt;
*API: Switched to 100% Utc dates/times internally. PlayerDB now uses UTC Unix timestamps to serialize all dates/times.&lt;br /&gt;
*Optimization: Sped up map generation.&lt;br /&gt;
*Optimization: Reduced PlayerDB saving interval, reduced PlayerDB filesize, reduced CPU and memory use of PlayerDB saving, reduced memory footprint of loaded PlayerDB, improved IPAddress lookup performance in PlayerDB.&lt;br /&gt;
&lt;br /&gt;
===0.522===&lt;br /&gt;
&#039;&#039;16 April 2011 - r546&#039;&#039;&lt;br /&gt;
*Feature: Added more functionality to hollow ellipsoid and sphere, thanks to Redshift. Now it is possible to define outer/inner blocktypes.&lt;br /&gt;
*Feature: Added OptiCraft map format support, courtesy of LgZ-optical&lt;br /&gt;
*Fix: Fixed a serious error that caused a crash when main world became full. This bug affected 0.520 and 0.521.&lt;br /&gt;
*Fix: Fixed AutoLauncher not working under Mono (thanks to ven000m for spotting).&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog crashing if closed while generating a world.&lt;br /&gt;
*Fix: Fixed /restart using ShutdownReason.ShuttingDown (instead of ShutdownReason.Restarting) &lt;br /&gt;
*Fix: Fixed a crash in ConfigTool if MaxPlayers was set to be less than MaxPlayersPerWorld.&lt;br /&gt;
*Fix: When loading old configs (pre-0.520), MaxPlayersPerWorld is automatically set to match MaxPlayers, to avoid unexpected side effects.&lt;br /&gt;
*API: Added WorldCreating and WorldCreated events.&lt;br /&gt;
*API: Moved world-related commands from Server to a new class, WorldManager.&lt;br /&gt;
*API: Renamed RankList to RankManager, and CommandList to CommandManager, for consistency.&lt;br /&gt;
&lt;br /&gt;
===0.521===&lt;br /&gt;
&#039;&#039;12 April 2011 - r534&#039;&#039;&lt;br /&gt;
*Feature: Added a /Clear command, to clear in-game chat. Also works from fCraftConsole and fCraftUI.&lt;br /&gt;
*Fix: Added missing chat commands.&lt;br /&gt;
*Fix: Cosmetic fixes in /ZRemove.&lt;br /&gt;
&lt;br /&gt;
===0.520===&lt;br /&gt;
&#039;&#039;12 April 2011 - r532&#039;&#039;&lt;br /&gt;
*Feature: Removed the server-wide 128 player limit. Now the limit is per-world.&lt;br /&gt;
*Feature: You can now repeat the last command by typing &amp;quot;/&amp;quot;&lt;br /&gt;
*Feature: Added a way to use color codes in chat (with % instead of &amp;amp;), a UseColorCodes permission, and a /colors command.&lt;br /&gt;
*Feature: Added support for multi-line messages or commands. Add &amp;quot; /&amp;quot; to the end of a line to continue typing it.&lt;br /&gt;
*Feature: Added &amp;quot;/commands&amp;quot;, to replace &amp;quot;/help commands&amp;quot;. It allows filtering commands by rank, category, permissions, etc. Aliases: /cmdlist, /cmds&lt;br /&gt;
*Feature: New permissions: ViewPlayerIPs, BringAll&lt;br /&gt;
*Feature: New config switches: AnnounceRankChangeReasons and RequireKickReason.&lt;br /&gt;
*Feature: Replaced LimitOneConnectionPerIP config key (boolean) with a more flexible MaxConnectionsPerIP (int).&lt;br /&gt;
*Feature: Added /bringall command, for moving everyone (or only certain ranks) from your world (or optionally all worlds, or a list of other worlds) to your location.&lt;br /&gt;
*Feature: /bring can be limited per-rank&lt;br /&gt;
*Feature: When file is not found on case-sensitive filesystems, fCraft tries to syggest similar filenames.&lt;br /&gt;
*Feature: Added new constants to use in greeting.txt: {TIME}, {PLAYER_NAME}, {WORLD}, {PLAYERS}, {WORLDS}, {MOTD}&lt;br /&gt;
*Feature: Improved compatibility with SurvivalTest clients.&lt;br /&gt;
*Fix: Fixed /banip not kicking other players from the same IP (besides the named player)&lt;br /&gt;
*Fix: Added missing blocktype validation to MapFCMv2, MapFCMv3, MapMyne, and MapNBT.&lt;br /&gt;
*Fix: Fixed a rare shutdown crash in fCraftUI.&lt;br /&gt;
*Fix: Improved the way PlayerDB.Load handles errors in individual records. A single corrupted entry will no longer prevent the rest from loading.&lt;br /&gt;
*Fix: Fixed fCraftUI abruptly quitting on crash / failure to start, instead of showing the error message. Use &amp;quot;--exitoncrash&amp;quot; command-line switch to reproduce old behavior.&lt;br /&gt;
*Fix: Fixed ConfigTool&#039;s World tab not prompting to delete map files when deleting worlds.&lt;br /&gt;
*Fix: Fixed a bug in MCSharp importer (#3281305)&lt;br /&gt;
*Fix: Fixed a list of permissions in /rinfo not being sorted.&lt;br /&gt;
*Fix: Fixed /mute rank limit dropdown sometimes getting out of sync.&lt;br /&gt;
*Fix: Fixed IRC bot redundantly announcing kicks when someone has been banned.&lt;br /&gt;
*Fix: Fixed a bug where fCraft would fail to start if PlayerDB.txt was truncated/empty.&lt;br /&gt;
*Change: Moved &amp;quot;IP&amp;quot; config key from General to Advanced.&lt;br /&gt;
*Change: Added /spin as an alias to /rotate (for MCLawl users)&lt;br /&gt;
*API: New events: PlayerClicking, PlayerClicked, PlayerPlacingBlock, PlayerPlacedBlock, PlayerListChanged, PlayerBeingKicked, PlayerKicked&lt;br /&gt;
*Optimization: Reduced CPU use of draw commands by ~30%. Sped up PlayerDB loading by ~8%, and reduced memory use when saving. Also reduced PlayerDB filesize by about 15%&lt;br /&gt;
&lt;br /&gt;
===0.512===&lt;br /&gt;
&#039;&#039;2 April 2011 - r508&#039;&#039;&lt;br /&gt;
*Feature: /zones can now be used from console, and can be used on any world (active or inactive).&lt;br /&gt;
*Feature: Improved D3 map importer.&lt;br /&gt;
*Fix: Added missing filename sanity/safety checks to /dumpstats (#3267362, thanks to Hellenion)&lt;br /&gt;
*Fix: Fixed mixed up messages shown in /waccess and /wbuild (#3179189)&lt;br /&gt;
*Fix: Fixed crash reports sometimes failing to submit.&lt;br /&gt;
*Fix: Fixed /dumpstats crashing if a rank had 0 players.&lt;br /&gt;
*Fix: Made Mono version detection less crashy (#3267476, thanks to Hellenion again)&lt;br /&gt;
*Fix: Fixed MapUtility.LoadHeader terminating early, before going through all fallback converters.&lt;br /&gt;
*Fix: Fixed ConfigTool tab order.&lt;br /&gt;
*Fix: Fixed fCraft reporting inaccurate CPU usage figures.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in /rank if an invalid player name was given.&lt;br /&gt;
*Fix: Fixed fCraft project not building under Windows if path contains spaces.&lt;br /&gt;
*Change: Added &amp;quot;/serverreport&amp;quot; as an alias for &amp;quot;/sinfo&amp;quot;&lt;br /&gt;
*Change: Improved the way fCraft handles and reports map loading errors.&lt;br /&gt;
*API Change: Moved all filename constants (e.g. &amp;quot;PlayerDB.txt&amp;quot;) to Paths class.&lt;br /&gt;
&lt;br /&gt;
===0.511===&lt;br /&gt;
&#039;&#039;31 March 2011 - r497&#039;&#039;&lt;br /&gt;
*Feature: Further improvements to Mono support. fCraft will now utilize mono-sgen whenever possible.&lt;br /&gt;
*Fix: Fixed fCraftUI ignoring command-line arguments.&lt;br /&gt;
*Fix: Fixed broken /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed crash reports failing to submit.&lt;br /&gt;
*Fix: Fixed a timezone-related bug that messed up players&#039; &amp;quot;total time on server&amp;quot; stat.&lt;br /&gt;
*Change: Added a warning if running on old versions of Mono (2.6 or lower). &lt;br /&gt;
&lt;br /&gt;
===0.510_r489===&lt;br /&gt;
&#039;&#039;29 March 2011 - r489&#039;&#039;&lt;br /&gt;
*Fix: Fixed unnecessary GDI+ dependence in fCraftConsole under Mono&lt;br /&gt;
*Fix: Fixed EnumKeyAttribute not taking blank values (as in case of ProcessPriority config key).&lt;br /&gt;
&lt;br /&gt;
===0.510===&lt;br /&gt;
&#039;&#039;29 March 2011 - r488&#039;&#039;&lt;br /&gt;
*Feature: The fCraft updater has been rewritten and expanded. It now works under all OSes, and provides more features.&lt;br /&gt;
*Feature: fCraft now handles differences between case-sensitive and case-insensitive filesystems much better. /wrename and /wload are also aware of the filesystem.&lt;br /&gt;
*Feature: fCraft now checks presence, filename capitalization, and integrity of all map files on the world list at startup.&lt;br /&gt;
*Feature: New ConfigTool settings for updater, checkbox for showing &amp;quot;player connected/left&amp;quot; messages, and &amp;quot;/mute&amp;quot; permission settings.&lt;br /&gt;
*Feature: Added &amp;quot;/credits&amp;quot; command to ConfigUI.&lt;br /&gt;
*Feature: Implemented &amp;quot;--norestart&amp;quot; and &amp;quot;--exitoncrash&amp;quot; command-line switches for fCraft.&lt;br /&gt;
*Feature: fCraft event system is being rewritten with modding support in mind.&lt;br /&gt;
*Feature: Improved MCSharp/MCZall/MCLawl map support.&lt;br /&gt;
*Fix: Software errors that happen while parsing player and console commands will no longer cause disconnects/crashes.&lt;br /&gt;
*Fix: IPBanList will attempt to recover records lost due to a recent regression in 0.505.&lt;br /&gt;
*Fix: Fixed /wrename errors in cases where names differ only in capitalization.&lt;br /&gt;
*Fix: Fixed &amp;quot;Copy Existing World&amp;quot; showing the current world on the list in AddWorldPopup.&lt;br /&gt;
*Fix: Fixed &amp;quot;Chat&amp;quot; tab preview not updating when settings are reset.&lt;br /&gt;
*Fix: Fixed per-world whitelist/blacklist not saving when worlds are edited with AddWorldPopup.&lt;br /&gt;
*Fix: Fixed non-verified connections that get kicked from affecting that name&#039;s PlayerInfo.&lt;br /&gt;
*Fix: Server.GenerateSalt() now uses a cryptographically secure PRNG.&lt;br /&gt;
*Fix: Fixed verification problems on servers with HeartbeatEnabled=false.&lt;br /&gt;
*Fix: Fixed a wrong message being shown by /rank if the target is already same or higher/lower rank.&lt;br /&gt;
*Fix: Fixed /winfo showing incorrect information for last lock/unlock event.&lt;br /&gt;
*Fix: Fixed tabbing order on ConfigUI.&lt;br /&gt;
*Fix: Improved the way Server.InitLibrary and Logger.Log errors are handled.&lt;br /&gt;
*Fix: Added missing validation checks to LoadHeader in several map converters.&lt;br /&gt;
*Fix: Fixed players being able to complete a draw command or /zadd, if they were demoted before clicking for the second time.&lt;br /&gt;
*Fix: Added missing /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed a bug in /zinfo that showed incorrect creation/editing times.&lt;br /&gt;
*Fix: Better error messages for unrecognized block names in command parameters.&lt;br /&gt;
*Fix: /restart now works from ConfigUI under Mono (but still broken in fCraftConsole).&lt;br /&gt;
*Fix: Fixed handling of command-line arguments surrounded with quotes.&lt;br /&gt;
*Fix: Fixed a bug at ConfigTool.ConfigUI.xAllowSecurityCircumvention_CheckedChanged (#3181907, thanks to clhdrums87).&lt;br /&gt;
*Fix: Fixed /winfo counting hidden players (#3237877, thanks to Hellenion).&lt;br /&gt;
*Fix: Fixed MCSharp map exporter mixing up map dimensions (#3159501, thanks to dogwatch).&lt;br /&gt;
*Change: Improved the way fCraft project is built. Now all binaries are copied to /trunk/bin/Release or /trunk/bin/Debug.&lt;br /&gt;
*Change: Improved error tolerance of Scheduler.EndShutdown().&lt;br /&gt;
*Change: Expanded Logger.CheckForCommonErrors().&lt;br /&gt;
*Change: Renamed config keys (old ones can still be loaded): IRCBot to IRCBotEnabled, AutomaticUpdates to UpdaterMode.&lt;br /&gt;
*Change: Added /wadd as an alias for /wload.&lt;br /&gt;
*Change: Renamed Mcc namespace to fCraft.MapConversion.&lt;br /&gt;
*Change: Decreased timeout for fCraft update check.&lt;br /&gt;
*Change: Added a confirmation prompt to /rank when adding an unrecognized player name to the database.&lt;br /&gt;
*Optimization: Sped up heartbeat sending and world-related operations, increased world saving interval to 90 seconds, reduced per-player idle CPU usage, halved CPU usage of draw commands.&lt;br /&gt;
&lt;br /&gt;
===0.506===&lt;br /&gt;
&#039;&#039;11 February 2011 - r427&#039;&#039;&lt;br /&gt;
*Feature: Added hollow ellipsoid drawing (/eh) and hollow sphere drawing (/sph), contributed by Conrad &amp;quot;Redshift&amp;quot; Morgan.&lt;br /&gt;
*Fix: Fixed a regression in 0.503 that caused some IP ban records to be lost. I am terribly sorry!&lt;br /&gt;
*Fix: Fixed a path-related error in Map.SaveBackup&lt;br /&gt;
*Fix: Fixed a possible disconnect in Player.CheckBlockSpam is antigrief was not configured properly.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool.SaveWorldList.&lt;br /&gt;
*Fix: Fixed &amp;quot;Limit the number of blocks that can be undone&amp;quot; checkbox misbehaving (thanks to ven000m for bug report).&lt;br /&gt;
*Change: By popular demand /sphere2 is now the default behavior of /sphere.&lt;br /&gt;
*Change: Removed &amp;quot;oldSalt&amp;quot; check for name verification, to avoid having the server write to config.xml unnecessarily.&lt;br /&gt;
*Change: Removed &amp;quot;.backup&amp;quot; file creation, by popular demand. It was kinda useless.&lt;br /&gt;
&lt;br /&gt;
===0.505===&lt;br /&gt;
&#039;&#039;8 February 2011 - r422&#039;&#039;&lt;br /&gt;
*Feature: All draw commands now inform player if any blocks were skipped due to local permission issues (e.g. zones).&lt;br /&gt;
*Fix: Fixed a regression that caused backups to be saved in the wrong path. Backups were being saved to ./backups/ instead of ./maps/backups/&lt;br /&gt;
*Fix: Fixed a permission issue in /replace and /replacenot.&lt;br /&gt;
*Fix: Fixed /info not displaying a list of players from same IP.&lt;br /&gt;
*Fix: Addressed a security issue with salt generation.&lt;br /&gt;
&lt;br /&gt;
===0.504===&lt;br /&gt;
&#039;&#039;3 February 2011 - r419&#039;&#039;&lt;br /&gt;
*Fixed a crash bug related to SecurityController.MinRank&lt;br /&gt;
&lt;br /&gt;
===0.503===&lt;br /&gt;
&#039;&#039;3 February 2011 - r418&#039;&#039;&lt;br /&gt;
*Feature: Added /deafen command. It temporarily blocks all incoming messages (makes you go &amp;quot;deaf&amp;quot;), to allow taking screenshots, recording videos, or just playing without the wall of text.&lt;br /&gt;
*Feature: Added ShowBannedConnectionMessages config key (default: true). When disabled, no &amp;quot;banned player tried to log in&amp;quot; messages are shown.&lt;br /&gt;
*Fix: Fixed PlayerInfo.frozenOn not being set.&lt;br /&gt;
*Fix: Fixed kick messages for players affected by /banall&lt;br /&gt;
*Fix: Fixed /unbanall reason not being shown.&lt;br /&gt;
*Fix: /where now shows what world you are on.&lt;br /&gt;
*Fix: Fixed a couple minor bugs in /waccess and /wbuild.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in SecurityController constructor.&lt;br /&gt;
*Fix: Made several tweaks to improve the first-run experience.&lt;br /&gt;
&lt;br /&gt;
===0.502===&lt;br /&gt;
&#039;&#039;31 January 2011 - r411&#039;&#039;&lt;br /&gt;
*Fix: Adjusted for yet another change in the way minecraft.net replies to heartbeats (should fix all heartbeat issues for now).&lt;br /&gt;
*Fix: Added a check to /zremove to prevent players from deleting zones to gain access to areas from which they&#039;re barred.&lt;br /&gt;
*Fix: Fixed being able to use /me or /staff to write empty messages.&lt;br /&gt;
*Fix: Fixed frozen players not getting defrosted when kicked.&lt;br /&gt;
*Fix: Formatting fixes in &amp;quot;___ was previously frozen&amp;quot; message&lt;br /&gt;
*Fix: Fixed a mini-bug in Map.ValidateHeader()&lt;br /&gt;
*Change: Renamed /wremove to /wunload for consistency. &amp;quot;/wremove&amp;quot; is still usable as an alias.&lt;br /&gt;
&lt;br /&gt;
===0.501===&lt;br /&gt;
&#039;&#039;30 January 2011 - r408&#039;&#039;&lt;br /&gt;
*Feature: Added /sphere and /sphere2, based on code contributed by SystemX17.&lt;br /&gt;
*Feature: Added new config setting: ShowConnectedMessages (default: true)&lt;br /&gt;
*Feature: Added a notification for players who logged in frozen.&lt;br /&gt;
*Fix: Fixed frozen players twitching.&lt;br /&gt;
*Fix: Fixed IRC bot not stripping color codes in messages relayed from IRC to the game.&lt;br /&gt;
*Fix: Fixed lastSeen and lastLoginDate not being set for first-time players who failed to log in (e.g. IP-banned).&lt;br /&gt;
*Fix: Fixed /bring not working properly on frozen players.&lt;br /&gt;
*Fix: Fixed a case where it was possible to add access restrictions to main map.&lt;br /&gt;
*Fix: Fixed per-world whitelists/blacklists being lost when editing worlds.xml via ConfigTool.&lt;br /&gt;
*Fix: Fixed AutoRankAll showing wrong number of players promoted/demoted (just a formatting bug, no promotions were affected)&lt;br /&gt;
&lt;br /&gt;
===0.500===&lt;br /&gt;
&#039;&#039;25 January 2011 - r399&#039;&#039;&lt;br /&gt;
*Commands: Added /line drawing command, kindly contributed by SystemX17&lt;br /&gt;
*Commands: Added /restart command, to restart the server remotely (NOTE: does not work for fCraftWinService yet)&lt;br /&gt;
*Commands: Added /unmute command (same as &amp;quot;/mute name 0&amp;quot;)&lt;br /&gt;
*Commands: Added an option to silently hide (no disconnect/connect message).&lt;br /&gt;
*Commands: Added /ignore and /unignore commands to block chat from another player (for the duration of your visit).&lt;br /&gt;
*Commands: /whide and /wunhide commands added to hide/unhide worlds from the list.&lt;br /&gt;
*Commands: /worlds now takes an optional param: &amp;quot;/worlds all&amp;quot; lists visible+hidden worlds, and &amp;quot;/worlds hidden&amp;quot; lists hidden worlds only.&lt;br /&gt;
*Commands: List of player names from the same IP is now shown in /info.&lt;br /&gt;
*Commands: /help now shows what rank you need to be to use a command (for most commands).&lt;br /&gt;
*Commands: /bring now works on frozen players.&lt;br /&gt;
*Commands: /bring now takes an optional second name/parameter, to teleport someone to someone&lt;br /&gt;
*Commands: /info now shows whether a player is hidden (if the command caller has permission to see).&lt;br /&gt;
*Commands: Fixed a case where teleporting to a player who is currently changing worlds brings one to a wrong location.&lt;br /&gt;
*Commands: Fixed bindings (/water, /lava, /solid, and /bind) not being applied to draw commands.&lt;br /&gt;
*Commands: /wsave and /gen can now create directories if needed.&lt;br /&gt;
*Commands: Fixed a bug in /roll&lt;br /&gt;
*Commands: Sped up /paste, /pastenot, /replace, and /replacenot slightly.&lt;br /&gt;
*ConfigTool: New &amp;quot;Chat&amp;quot; tab for controlling appearance and content of in-game chat.&lt;br /&gt;
*ConfigTool: Added ability to customize MeColor (for /me messages, default: purple) and WarningColor (for major errors/warnings, default: red) in config.&lt;br /&gt;
*ConfigTool: AddWorldPopup can now show detailed info for maps of all supported formats.&lt;br /&gt;
*ConfigTool: Improved tooltips for several items in ConfigUI.&lt;br /&gt;
*FrontEnd: Uncaught exceptions that happen while executing commands from fCraftUI console are now handled by the crash reporter (instead of actually crashing).&lt;br /&gt;
*FrontEnd: Added /clear command for fCraftUI and fCraftConsole - clears log screen.&lt;br /&gt;
*FrontEnd: The URL is no longer highlighted after first heartbeat, to avoid stealing focus from console.&lt;br /&gt;
*Generator: Fixed &amp;quot;flatgrass&amp;quot; template&lt;br /&gt;
*Generator: Fixed alphabetical order in the list of templates&lt;br /&gt;
*Generator: MapGenerator now embeds generation parameters into the map file metadata&lt;br /&gt;
*Generator: Fixed several template loading bugs.&lt;br /&gt;
*Generator: Optimized AddBeaches to be about 2x faster&lt;br /&gt;
*Generator: Added a missing dimension check to /gen&lt;br /&gt;
*IRC: Messages relayed from game to IRC now have color codes preserved.&lt;br /&gt;
*IRC: Kicks, Bans, unbans, promotions, and demotions can now be relayed to IRC.&lt;br /&gt;
*IRC: IRC bot now relays /say messages, and /me messages (both /me on IRC and /me on the server).&lt;br /&gt;
*IRC: IRC Error handling is greatly improved.&lt;br /&gt;
*IRC: (Threaded) If one of the bots loses connection, one of the other bots take over parsing input.&lt;br /&gt;
*IRC: Increased IRC reconnect delay to 15 seconds.&lt;br /&gt;
*Maps: Switched to a new file format (FCMv3) that allows for future additions like block tracking and physics.&lt;br /&gt;
*Maps: Much of MCC (map conversion) API was rewritten for better consistency and performance.&lt;br /&gt;
*Maps: Improved support for loading indev (pre-infinite) maps, including Omen-generated maps.&lt;br /&gt;
*Maps: Improved resilience for loading maps with unknown blocktypes. Instead of failing, it just replaces any unknown blocks with air.&lt;br /&gt;
*Maps: Added consistent header validation to all map format loaders.&lt;br /&gt;
*Maps: Fixed maps not autosaving when zones are added or removed.&lt;br /&gt;
*Maps: Zone definitions are now serialized to XML. Zones saved with this revision of fCraft will no longer be readable by older version of fCraft.&lt;br /&gt;
*Maps: Fixed a bug when loading JTE&#039;s format maps.&lt;br /&gt;
*Maps: Fixed format of backup filenames.&lt;br /&gt;
*PlayerDB: Added new fields: bannedUntil, frozenOn, frozenBy, mutedUntil, mutedBy, IRCPassword, online, leaveReason&lt;br /&gt;
*PlayerDB: Fixed PlayerInfo.ID not being assigned for new players until sever restart / DB reload.&lt;br /&gt;
*PlayerDB: Fixed off-by-one error with PlayerInfo.timesVisited&lt;br /&gt;
*PlayerDB: Fixed /me, /say, rank chat, and /staff not counting towards PlayerInfo.linesWritten&lt;br /&gt;
*PlayerDB: Made PlayerDB more resilient to errors. Reduced filesize slightly by omitting default values for more date fields, and removing milliseconds from &amp;quot;totalTime&amp;quot;&lt;br /&gt;
*PlayerDB: Improved forwards compatibility of PlayerDB by removing maximum-field-count check.&lt;br /&gt;
*Security: Worlds can now have player whitelists and blacklists (just like zones) for access and build permissions.&lt;br /&gt;
*Security: Added a security check to /wsave, /wload, and /gen to prevent reading or overwriting files outside the map folder.&lt;br /&gt;
*Security: Added a per-rank security option to prevent players from whitelisting themselves, removing themselves from blacklists, or lowering their rank&#039;s restrictions on worlds and zones.&lt;br /&gt;
*Security: /mute and /freeze are now persistent even if the player reconnects.&lt;br /&gt;
*Security: Relaxed SetTile packet checks. Players will no longer be kicked due to Minecraft client bugs.&lt;br /&gt;
*Security: Fixed an exploit that allowed changing steps to doublesteps even inside zoned areas.&lt;br /&gt;
*Security: Improved consistency of permission dependencies.&lt;br /&gt;
*Security: Fixed a security exploit in /wmain that allowed players with ManageWorlds permission to gain access to restricted worlds.&lt;br /&gt;
*Security: Fixed a bug that prevented banning players who were not yet in PlayerDB.&lt;br /&gt;
*Security: Added an option to only allow paid players (PaidPlayersOnly)&lt;br /&gt;
*Stability: Made crash reporting more reliable. A failed crash report will no longer prevent error message from being logged and displayed.&lt;br /&gt;
*Stability: Fixed a crash in AddWorldPopup if dialog is closed while a map is still loading.&lt;br /&gt;
*Stability: To improve compatibility with some bots, removed &amp;quot;almost there...&amp;quot; message on the loading screen&lt;br /&gt;
*Stability: Disabled error reporting of common non-fCraft-related errors (like wrong runtime versions, or wrong Mono permissions).&lt;br /&gt;
*Stability: Added &amp;quot;libMonoPosixHelper.so&amp;quot; and &amp;quot;UnauthorizedAccessException&amp;quot; to Logger.CheckForCommonErrors, and made &amp;quot;Could not load file or assembly&amp;quot; check locale-independent.&lt;br /&gt;
*Stability: A backup file is now created whenever PlayerDB, IP ban list, config, or world list are saved (e.g. PlayerDB.txt.backup)&lt;br /&gt;
*Stability: Crash reporter now sends last 25 lines of the log.&lt;br /&gt;
*Stability: Added a fallback overload for Player.Message() that bypasses string format, to make the whole thing less prone to format errors.&lt;br /&gt;
*System: fCraft now takes command-line arguments (at startup) to override the following:&lt;br /&gt;
**working directory (--path=/your/path/here)&lt;br /&gt;
**log directory (--logpath=/your/path/here)&lt;br /&gt;
**map directory (--logpath=/your/path/here) - also overridable in a more user-friendly way via ConfigTool (MapPath key)&lt;br /&gt;
**config file location (--config=/your/path/and/filename.xml)&lt;br /&gt;
*System: Added an option to change the name of Console pseudoplayer in the config.&lt;br /&gt;
*System: Player.GetClassyName() and PlayerInfo.GetClassyName() now add an asterisk after banned players&#039; names&lt;br /&gt;
*System: Fixed hidden players remaining hidden in some cases.&lt;br /&gt;
*System: Fixed PacketWriter.MakeWrappedMessage ignoring uppercase hex colorcodes&lt;br /&gt;
*System: Implemented NoPartialPositionUpdates and RelayAllUpdates config keys.&lt;br /&gt;
*System: Several little glitches and inefficiencies fixed in movement handling code.&lt;br /&gt;
*System: Fixed &amp;quot;player connected&amp;quot; and other messages showing up too early in-game (before map loaded).&lt;br /&gt;
*System: Fixed kick message for players affected by /banall&lt;br /&gt;
*System: Added HeartbeatEnabled config key (default: true)&lt;br /&gt;
*System: Fixed a case where heartbeat could be sent from a different IP than the listening port on systems with multiple NICs/IPs and no configured static IP.&lt;br /&gt;
*System: Increased the write buffer for writing out PlayerDB, reducing I/O time by ~20% on .NET, and ~35% on Mono&lt;br /&gt;
*System: New Scheduler API.&lt;br /&gt;
*System: Modified /wload to avoid loading the map twice in case confirmation is needed.&lt;br /&gt;
*System: Changes to AutoRankEnabled will now be applied when /reloadconfig is called.&lt;br /&gt;
*System: Fixed unnecessary confirmation being asked when world name matches file name in /wload&lt;br /&gt;
*System: Eliminated the heartbeat thread by switching to async i/o.&lt;br /&gt;
*System: Improved startup and shutdown speed.&lt;br /&gt;
*System: Added a &amp;quot;how to promote yourself&amp;quot; message for fresh installations of fCraft.&lt;br /&gt;
*System: Fixed Server.OnPlayerDisconnected event firing for unregistered sessions.&lt;br /&gt;
*System: Made Color.Parse() and Color.GetName() translate fCraft-specific color assignments (e.g &amp;quot;&amp;amp;S&amp;quot; for &amp;quot;System&amp;quot;)&lt;br /&gt;
*System: Added better detection for SMP/Alpha clients trying to connect.&lt;br /&gt;
*System: Sped up AutoRankAll&lt;br /&gt;
&lt;br /&gt;
=0.4xx=&lt;br /&gt;
===0.499===&lt;br /&gt;
&#039;&#039;6 November 2010 - r311&#039;&#039;&lt;br /&gt;
*Feature: Added an option to disable name verification for players connecting from LAN.&lt;br /&gt;
*Feature: Added &#039;flat&#039; template to MapGenerator, allowing to make flat maps with any theme.&lt;br /&gt;
*Feature: Added &#039;grass&#039; pseudotheme to /gen command, which is basically the &#039;Forest&#039; theme with trees disabled.&lt;br /&gt;
*Fix: Fixed /wflush leaving ghosts/clones behind.&lt;br /&gt;
*Fix: Fixed muted players being able to use /say and /staff&lt;br /&gt;
*Fix: Fixed /baninfo ignoring permission checks.&lt;br /&gt;
*Fix: Fixed &amp;quot;draw limit&amp;quot; checkbox getting disabled in ConfigTool if a player had &#039;CopyAndPaste&#039; permission but no &#039;Draw&#039; permission.&lt;br /&gt;
*Fix: Fixed several off-by-1 errors involving random number generation, notably in MapGenerator and Server.GenerateSalt()&lt;br /&gt;
*Fix: Fixed potential crash in MapGenerator.SealLiquids&lt;br /&gt;
*Fix: Fixed a potential crash in Map.SaveBackup() if the map filename contained brackets.&lt;br /&gt;
*Fix: Fixed a forced disconnect when trying to feed /gen a theme or template with brackets in the name.&lt;br /&gt;
&lt;br /&gt;
===0.498===&lt;br /&gt;
&#039;&#039;4 November 2010 - r308&#039;&#039;&lt;br /&gt;
*Change: Disabled zlib support due to more potential memory leaks. fffuuuuu....&lt;br /&gt;
*Fix: Fixed Island, Bay, and Ice templates broken by the last patch.&lt;br /&gt;
*Fix: MapGeneratorArgs: snowTransition was interpreted as absolute (instead of relative) altitude, and marbledHeightmap incorrectly defaulted to &#039;true&#039;.&lt;br /&gt;
*Change: Updated readme and changelog.&lt;br /&gt;
&lt;br /&gt;
===0.497===&lt;br /&gt;
&#039;&#039;4 November 2010 - r306&#039;&#039;&lt;br /&gt;
*Feature: Added accurate progress reporting from MapGenerator. Coming soon: cancellation.&lt;br /&gt;
*Feature: New MapGenerator options: BeachHeight, CliffSmoothing, LandSlope, UnderwaterSlope, MaxHeightVariation, MaxDepthVariation.&lt;br /&gt;
*Feature: Added UI controls for snow/cliff/beach settings to AddWorldPopup.&lt;br /&gt;
*Feature: Added a list of popular IRC networks to ConfigTool.&lt;br /&gt;
*Change: Improved PlayerDB lookup performance by reducing locking.&lt;br /&gt;
*Fix: Fixed MapGenerator calculating slope incorrectly at the water boundary.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add Ore&amp;quot; requiring &amp;quot;Add Caves&amp;quot; in MapGenerator.&lt;br /&gt;
*Fix: Fixed water/lava caves not sealing liquids properly. &lt;br /&gt;
*Change: Set MapGenerator to default to 256x256x96&lt;br /&gt;
*Change: AddWorldPopup Generator tab layout overhaul&lt;br /&gt;
*Change: Organized MapGeneratorArgs and added serialization/deserialization for all the new options.&lt;br /&gt;
&lt;br /&gt;
===0.496===&lt;br /&gt;
&#039;&#039;3 November 2010 - r301&#039;&#039;&lt;br /&gt;
*Fix: Fixed File.Replace() failing if fCraft was set up on a partition/volume other than the one where temp folder is.&lt;br /&gt;
*Fix: Added missing tooltip for &amp;quot;Edit Greeting&amp;quot;&lt;br /&gt;
*Fix: Fixed /sinfo including hidden players in the player count.&lt;br /&gt;
&lt;br /&gt;
===0.495===&lt;br /&gt;
&#039;&#039;2 November 2010 - r300&#039;&#039;&lt;br /&gt;
*Feature: Added a way to edit the greeting message, by editing &amp;quot;greeting.txt&amp;quot;&lt;br /&gt;
*Feature: When a player gets banned, any previously-banned accounts from same IP are listed.&lt;br /&gt;
*Fix: Fixed renaming worlds from ConfigTool&#039;s &amp;quot;worlds&amp;quot; tab not always working.&lt;br /&gt;
*Fix: Fixed several filesystem-related errors on non-Windows systems by using Path.Combine() instead of string concatenation.&lt;br /&gt;
*Fix: Possible workaround for missing heartbeats.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;default build rank&amp;quot; controls in ConfigTools.&lt;br /&gt;
*Fix: Fixed overwrite confirmation popping up for /wload when loading map into an unloaded world with the same name.&lt;br /&gt;
*Fix: Fixed a case where Forester could get into an infinite loop when there&#039;s not enough room to place requested number of trees.&lt;br /&gt;
&lt;br /&gt;
===0.494===&lt;br /&gt;
&#039;&#039;31 October 2010 - r297&#039;&#039;&lt;br /&gt;
*Feature: New map generator features:&lt;br /&gt;
**Adjustable water level.&lt;br /&gt;
**Realistic trees (powered by Forester)&lt;br /&gt;
**Snow on mountaintops&lt;br /&gt;
**Realistic cliffs&lt;br /&gt;
**Beaches&lt;br /&gt;
**New template (peninsula) and theme (swamp).&lt;br /&gt;
**Option to delay heightmap bias until after marbling/inversion.&lt;br /&gt;
*Feature: Added a way to load .mine maps.&lt;br /&gt;
*Feature: Added confirmation for potentially destructive commands: /importranks, /importbans, /massrank, /wload overwrites, /gen overwrites, /wsave overwrites, /zremove.&lt;br /&gt;
*Feature: Added /staff chat and ReadStaffChat permission.&lt;br /&gt;
*Feature: Added wireframe cuboid (/cw)&lt;br /&gt;
*Feature: Added an optional second param for /ch (cuboid hollow) that specifies the blocktype of the &amp;quot;filling&amp;quot;.&lt;br /&gt;
*Feature: Added a way to specify default build permission for new worlds.&lt;br /&gt;
*Fix: Fixed /info, /baninfo, and /banip not handling players whose name contain only digits.&lt;br /&gt;
*Fix: Fixed DoChangeRank mixing up RankChangeType.&lt;br /&gt;
*Fix: Added missing fields to MapGeneratorArgs serializer.&lt;br /&gt;
*Fix: Fixed per-rank draw limits not being calculated correctly in some cases.&lt;br /&gt;
*Fix: Replaced File.Delete/File.Move calls with a more reliable File.Replace call. This should slightly improve reliability of map/playerdb.txt/ipbans.txt/worlds.xml saving.&lt;br /&gt;
*Fix: Fixed a little ConfigTool bug that did not properly reset PatrolledRank after a rank deletion.&lt;br /&gt;
*Fix: Fixed terminal colors not resetting in fCraftConsole after a fatal crash under Mono.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;Play&amp;quot; button in fCraftUI.&lt;br /&gt;
*Fix: Added some basic error reporting to fCraftWinService.&lt;br /&gt;
*Change: Tweaked AddWorldPopup layout to accommodate more options.&lt;br /&gt;
&lt;br /&gt;
===0.493===&lt;br /&gt;
&#039;&#039;27 October 2010 - r290&#039;&#039;&lt;br /&gt;
*Feature: /info now supports autocompletion, wildcards, and IP search.&lt;br /&gt;
*Feature: Experimental service wrapper for fCraft.&lt;br /&gt;
*Feature: Added more editable properties to /setinfo: RankChangeType, BanReason, UnbanReason, RankChangeReason, LastKickReason&lt;br /&gt;
*Feature: Various improvements to /info, including hide-aware &amp;quot;online&amp;quot; indicator.&lt;br /&gt;
*Feature: Made Player.NoAccessMessage() print the minimum required rank, instead of just permission name(s).&lt;br /&gt;
*Feature: Added wootalyzer&#039;s chunk rendering code to IsoCat.&lt;br /&gt;
*Fix: Fixed ConfigTool not taking advantage of ZLibStream &lt;br /&gt;
*Fix: Fixed a very improbable case of a thread getting spinlocked when calling IRC.Send() is preemptied, and if there are at least 2 IRC threads.&lt;br /&gt;
*Fix: Fixed kick packets occasionally not being delivered due to a missing Flush() - thanks to wootalyzer for catching.&lt;br /&gt;
*Fix: Excluded banned and inactive players from DumpStats&lt;br /&gt;
*Fix: Fixed PlayerDB.Save() not escaping LastKickReason &lt;br /&gt;
*Fix: Cleaned up extra messages sent by /unhide.&lt;br /&gt;
*Fix: Fixed LastSeen not updating on-login (only on-logout).&lt;br /&gt;
*Fix: Improved the way fCraft checks for ghost/leftover sessions. Thanks to wootalyzer.&lt;br /&gt;
*Fix: If a player&#039;s name starts with a number, and you try to /tp to a coordinate that starts with the same number, you are no longer teleported to that player instead.&lt;br /&gt;
*Fix: Fixed hidden players being detectable by checking LastSeen in /info.&lt;br /&gt;
*Fix: To avoid performance degradation, GC calls have been centralized, delayed, limited to 1/minute, and moved to the tasks thread.&lt;br /&gt;
*Fix: Added delay between recurring calls to PlayerDB.Save, AutoRankAll, and DoGC - to balance load.&lt;br /&gt;
*Fix: Fixed rankChangeType not being updated.&lt;br /&gt;
*Fix: Fixed some typos reported by tvc. &lt;br /&gt;
*Change: Added &amp;quot;/uf&amp;quot; as an alias for &amp;quot;/unfreeze&amp;quot;, by popular demand. &lt;br /&gt;
*Change: Modified PlayerDB not to use ReaderWriterLockSlim, to avoid Mono issues with recursion.&lt;br /&gt;
*Change: Renamed /editplayerinfo to /setinfo&lt;br /&gt;
*Change: Made enum values in AutoRank (CriterionType, ConditionField, ComparisonOperation, ConditionScopeType, RankChangeType) case-insensitive.&lt;br /&gt;
*Change: Added a reference to /baninfo in /info&lt;br /&gt;
*Change: Made DetectMovementPacketSpam warn players instead of kicking.&lt;br /&gt;
&lt;br /&gt;
===0.492===&lt;br /&gt;
&#039;&#039;19 October 2010 - r280&#039;&#039;&lt;br /&gt;
*Feature: Added EditPlayerDB permission. This permission affects the upcoming AutoRank commands, /editplayerinfo, and ability to promote/demote/ban unrecognized players.&lt;br /&gt;
*Feature: When you kick a player, you are now shown the number of kicks they already have.&lt;br /&gt;
*Feature: More stats are now logged! RankType, TimeSinceLastKick, LastSeen, BlocksDrawn, LastKickBy, LastKickReason.&lt;br /&gt;
*Feature: Added &amp;quot;MaxUndo&amp;quot; config key for changing the default undo limit of 2,000,000 blocks per player.&lt;br /&gt;
*Feature: /info command is augmented with new stats (if available).&lt;br /&gt;
*Fix: Fixed ellipsoid command calculating volume incorrectly for draw limit checks.&lt;br /&gt;
*Fix: Fixed overflowing color code in &amp;quot;Player logged in from an IP previously used by banned players&amp;quot; message.&lt;br /&gt;
*Fix: Fixed PM recipient&#039;s name not getting logged properly.&lt;br /&gt;
*Fix: Previously-unseen players no longer have their FirstLoginDate, LastLoginDate, or TimesVisited set.&lt;br /&gt;
*Fix: /importranks now works correctly on players who are online at the time of import.&lt;br /&gt;
*Change: Added block aliases by popular demand: &amp;quot;bedrock&amp;quot; as an alias for admincrete, &amp;quot;cotton&amp;quot; as alias for &amp;quot;white&amp;quot;, and &amp;quot;aire&amp;quot; as alias for &amp;quot;air&amp;quot;&lt;br /&gt;
*Change: PlayerDB.txt format changes:&lt;br /&gt;
**MaxFieldCount raised to 36&lt;br /&gt;
**New fields added: UID (Int32), RankChangeType (enum, serialized as Int32), LastKickDate (DateTime), LastSeen (DateTime), BlocksDrawn (Int64), LastKickBy (string), LastKickReason (string).&lt;br /&gt;
**RankChangeBy, BannedBy, UnbannedBy, BanReason, UnbanReason, and RankChangeReason now default to empty string instead of &amp;quot;-&amp;quot; or null.&lt;br /&gt;
**If LastIP==IPAddress.None, empty string is saved instead of &amp;quot;255.255.255.255&amp;quot;.&lt;br /&gt;
**DateTime and TimeSpan format shortened to exclude microseconds. See PlayerDB.ToCompactString() for details.&lt;br /&gt;
*Change: AutoRank improvements (disabled in stable builds):&lt;br /&gt;
**Added /editplayerinfo command for easy editing of PlayerDB.&lt;br /&gt;
**Made AutoRank check players in-login (to accelerate promotion).&lt;br /&gt;
**AutoRank now runs on a scheduler.&lt;br /&gt;
**Fixed ConditionPreviousRank crash for played with default rank.&lt;br /&gt;
**Fixed banned players getting promoted by AutoRank.&lt;br /&gt;
**Fixed several serialization/loading issues in AutoRank.&lt;br /&gt;
**New fields added to ConditionIntRange: LastSeen, BlocksDrawn, TimeSinceRankChange, TimeSinceLastKick&lt;br /&gt;
**ConditionRankStatus renamed to ConditionRankChangeType&lt;br /&gt;
&lt;br /&gt;
===0.491===&lt;br /&gt;
&#039;&#039;17 October 2010 - r274&#039;&#039;&lt;br /&gt;
*Feature: Added ability to run multiple parallel IRC bots, to help high-traffic servers deal with IRC lag. This also makes it possible to connect to multiple networks in the future.&lt;br /&gt;
*Feature: Added new block aliases, by popular demand: &amp;quot;emerald&amp;quot;=teal, &amp;quot;fuchsia&amp;quot;=magenta, &amp;quot;cloth&amp;quot;=white, &amp;quot;lightgray&amp;quot;=gray, &amp;quot;lightgrey&amp;quot;=gray, &amp;quot;darkgray&amp;quot;=black, &amp;quot;darkgrey&amp;quot;=black, &amp;quot;brass&amp;quot;=gold&lt;br /&gt;
*Fix: Temporarily disabled 64-bit zlib support while I track down memory leaks. Should fix OutOfMemoryException, I&#039;m very sorry about overlooking that.&lt;br /&gt;
*Fix: Fixed a bug in /info that displayed incorrect &amp;quot;total time on server&amp;quot;.&lt;br /&gt;
*Fix: Per-rank permission checks for /freeze now apply as intended&lt;br /&gt;
*Fix: Fixed several improbable (but not impossible) threading deadlocks/crashes. Thanks to wootalyzer for catching these.&lt;br /&gt;
*Change: Added IRCThreads config key (default: 1, allowed range: 1-3)&lt;br /&gt;
&lt;br /&gt;
===0.490===&lt;br /&gt;
&#039;&#039;14 October 2010 - r264&#039;&#039;&lt;br /&gt;
*Feature: Testing a new map compressor/decompressor: ZLibStream. It should provide 50-200% speed increase, smaller map sizes, lower bandwidth use, and faster map loading.&lt;br /&gt;
*Fix: Fixed /shutdown not waiting the right amount and mixing up seconds/milliseconds.&lt;br /&gt;
*Fix: Fixed &amp;quot;No world found with the name...&amp;quot; showing player&#039;s own name.&lt;br /&gt;
*Fix: Added a fail-safe exception handler to Player.WaitForKick() - a temporary fix.&lt;br /&gt;
*Change: Previous verification salt is now stored, to allow players to validate even right after the server restarts.&lt;br /&gt;
*Change: Restructured SVN. Stable code is now always in /trunk/&lt;br /&gt;
&lt;br /&gt;
===0.487===&lt;br /&gt;
&#039;&#039;12 October 2010 - r255&#039;&#039;&lt;br /&gt;
*Feature: Added contextual help (tooltips) for all of ConfigTool. Help for &amp;quot;Add World&amp;quot; popup is coming in next version.&lt;br /&gt;
*Feature: Added rank limits for Freeze permission&lt;br /&gt;
*Fix: Fixed /mute being unusable from console.&lt;br /&gt;
*Change: Removed ViewOthersInfo requirement from /sinfo&lt;br /&gt;
*Change: Added ViewOthersInfo requirement to /where&lt;br /&gt;
*Change: Improvements to IRC tab layout in ConfigTool.&lt;br /&gt;
&lt;br /&gt;
===0.486===&lt;br /&gt;
&#039;&#039;11 October 2010 - r250&#039;&#039;&lt;br /&gt;
*Quick fix for IRC Bot bug that made server unconnectable.&lt;br /&gt;
&lt;br /&gt;
===0.485===&lt;br /&gt;
&#039;&#039;11 October 2010 - r249&#039;&#039;&lt;br /&gt;
*Feature: Added optional &amp;quot;delay&amp;quot; parameter to /shutdown (default: 5)&lt;br /&gt;
*Feature: World names can now be autocompleted for many commands (like /join and /lock)&lt;br /&gt;
*Fix: Fixed /unhide failing to reveal the player in certain situations.&lt;br /&gt;
*Fix: Fixed /setspawn being usable on players from other worlds.&lt;br /&gt;
*Fix: Fixed player names appearing white for all players.&lt;br /&gt;
*Fix: Fixed a recursion loop in NoWorldMessage()&lt;br /&gt;
*Fix: Fixed help entries for /setspawn and /shutdown&lt;br /&gt;
*Fix: Fixed potential crash in Server.Shutdown() if called after failed initialization/startup.&lt;br /&gt;
*Fix: Fixed potential deadlock/freeze in fCraftUI on shutdown.&lt;br /&gt;
*Change: Improved crash reporting for TargetInvokationException and TypeInitializerException errors.&lt;br /&gt;
*Change: All assemblies are now once again x86/x86_64/IA64 compatible.&lt;br /&gt;
*Change: Server.OnPlayerConnected event now supports cancellation.&lt;br /&gt;
&lt;br /&gt;
===0.484===&lt;br /&gt;
&#039;&#039;10 October 2010 - r245&#039;&#039;&lt;br /&gt;
*Feature: Added a way for IRC bot to use registered nicknames.&lt;br /&gt;
*Feature: /banall-related kicks are now announced in chat.&lt;br /&gt;
*Feature: /setspawn now actually changes player&#039;s spawn. Also, an optional PlayerName param allows temporarily changing other players&#039; spawn point.&lt;br /&gt;
*Feature: Several improvements to /info. Info now shows whether player&#039;s nick or IP was banned, and hides undefined information for players who haven&#039;t ever logged in.&lt;br /&gt;
*Fix: Fixed crash in ConfigTool if announcements were disabled.&lt;br /&gt;
*Fix: Fixed /banall not matching IPs properly, and not counting kicks towards PlayerInfo.&lt;br /&gt;
*Fix: Fixed ConfigUI not shutting down properly if Server.Init() or Server.Start() failed.&lt;br /&gt;
*Fix: Fixed Config.LoadLogOptions() always leaving Debug enabled.&lt;br /&gt;
*Fix: Added Process.GetCurrentProcess().Refresh() to ServerInfo to improve accuracy of /sinfo stat reporting.&lt;br /&gt;
*Fix: Improved /wsave and /wload path handling on non-Windows platforms.&lt;br /&gt;
*Fix: Replaced some potentially unsafe string concatenation in Player.Message() with proper formatting.&lt;br /&gt;
*Fix: Attempting a workaround for Mono memory leak in World.UnloadMap&lt;br /&gt;
*Fix: Fixed ranks from pre-0.480 configs being loaded in wrong order. Sorry!&lt;br /&gt;
*Change: Added a brief delay before reconnecting IRC bot after getting kicked from a channel. &lt;br /&gt;
*Change: PlayerDB is now saved every 60 seconds (instead of every 30).&lt;br /&gt;
*Change: Removed unused IRCBotQuitMsg config key, and added IRCRegisteredNick, IRCNickServ, and IRCNickServMessage keys.&lt;br /&gt;
*Change: Added a popup with crash information to ConfigTool.&lt;br /&gt;
*Change: Made announcements disabled by default.&lt;br /&gt;
&lt;br /&gt;
===0.483===&lt;br /&gt;
&#039;&#039;8 October 2010 - r242&#039;&#039;&lt;br /&gt;
*Feature: Myne/MyneCraft/Hyvebuild/iCraft maps can now be loaded from ConfigTool&#039;s &amp;quot;Add World&amp;quot; dialog.&lt;br /&gt;
*Fix: Fixed incorrect range checks for AnnouncementInterval and SaveInterval config keys (thanks to Shcaap for reporting).&lt;br /&gt;
*Fix: Fixed /hide showing a slightly different &amp;quot;player left&amp;quot; message compared to normal disconnect (thanks to Silverrock for reporting).&lt;br /&gt;
*Change: Added MC#-style &amp;quot;/z&amp;quot; alias for cuboid, by popular demand.&lt;br /&gt;
*Change: Hidden players can now receive PMs. The sender still gets the &amp;quot;No player found&amp;quot; message, but PMs are actually sent.&lt;br /&gt;
&lt;br /&gt;
===0.482===&lt;br /&gt;
&#039;&#039;7 October 2010 - r241&#039;&#039;&lt;br /&gt;
*Feature: Added new command aliases: &amp;quot;f&amp;quot; for &amp;quot;freeze&amp;quot;, and &amp;quot;pat&amp;quot; for &amp;quot;patrol&amp;quot;.&lt;br /&gt;
*Fix: Fixed typos in mute-related messages.&lt;br /&gt;
*Fix: Added missing triggers for OnPlayerListChanged event.&lt;br /&gt;
*Fix: Fixed /reloadconfig not changing several variables (like colors).&lt;br /&gt;
*Fix: Fixed antigrief defaulting to 35/5 (instead of unmetered).&lt;br /&gt;
*Fix: Fixed heartbeat counting hidden players.&lt;br /&gt;
*Fix: Fixed a rare ObjectDisposedException crash on shutdown when running fCraftUI.&lt;br /&gt;
*Change: Added a more informative disconnect message to players connecting with Alpha client.&lt;br /&gt;
*Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.&lt;br /&gt;
*Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.&lt;br /&gt;
&lt;br /&gt;
===0.481===&lt;br /&gt;
&#039;&#039;2 October 2010 - r237&#039;&#039;&lt;br /&gt;
*Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).&lt;br /&gt;
*Fixed a few more references to &amp;quot;player class&amp;quot; terminology instead of &amp;quot;rank&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.480===&lt;br /&gt;
&#039;&#039;2 October 2010 - r236&#039;&#039;&lt;br /&gt;
*Feature: Changed all &amp;quot;player classes&amp;quot; terminology to &amp;quot;ranks&amp;quot; for consistency with other servers. Several commands have been renamed to reflect that: /classes to /ranks, /user to /rank, /class to /rankinfo. All rank-related messages have also been updated.&lt;br /&gt;
*Feature: Added &amp;quot;Raise&amp;quot;/&amp;quot;Lower&amp;quot; buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a &amp;quot;rank&amp;quot; number to reorder ranks.&lt;br /&gt;
*Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.&lt;br /&gt;
*Fix: Improved fCraftUI responsiveness on-startup.&lt;br /&gt;
*Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.&lt;br /&gt;
*Fix: /wremove now always saves the map before unloading.&lt;br /&gt;
*Fix: Fixed Console being affected by chat spam/flood checks.&lt;br /&gt;
*Fix: Fixed /zinfo not showing any separators between player names.&lt;br /&gt;
*Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.&lt;br /&gt;
*Fix: Fixed Security and IRC tabs not being reset by &amp;quot;Reset All Defaults&amp;quot;&lt;br /&gt;
*Fix: Fixed bugged error messages in /tp and /bring when world access permission check fails.&lt;br /&gt;
*Fix: If any class limits were set to default/&amp;quot;(own class)&amp;quot;, the setting is now preserved.&lt;br /&gt;
*Fix: Fixed a bug that didn&#039;t reset Hide limit if it was set to a deleted rank.&lt;br /&gt;
*Change: Removed legacy zone loading code for pre-0.420 maps (due to changes in rank definition format).&lt;br /&gt;
*Change: Added a more informative disconnect message for players trying to connect with Minecraft Alpha clients.&lt;br /&gt;
*Change: Improved rank-based coloring in world list to check both access and build permissions.&lt;br /&gt;
*Change: Added &amp;quot;/fetch&amp;quot; as alias for /bring, and renamed &amp;quot;/save&amp;quot; to &amp;quot;/wsave&amp;quot;.&lt;br /&gt;
*Change: Deleted some obsolete/disabled controls from ConfigTool, removed PingInterval config key, and removed placeholder ControlPhysics and AddLandmarks permissions.&lt;br /&gt;
*Change: Made several changes to improve disconnect detection:&lt;br /&gt;
**Added occasional pings (every 5 seconds or so, depending on activity/inactivity).&lt;br /&gt;
**Reduced socket send/receive timeout from 12 to 10 seconds.&lt;br /&gt;
**Increased socket polling interval to improve performance.&lt;br /&gt;
*Change: If a player tries to connect to a server twice, the FIRST connection is dropped instead of the LAST connection.&lt;br /&gt;
*Refactor: Major changes were made to the way ranks are stored, and to RankList (formerly ClassList) API.&lt;br /&gt;
*Optimization: Made IsoCat rendering faster, and made draw commands use less CPU.&lt;br /&gt;
&lt;br /&gt;
===0.475===&lt;br /&gt;
&#039;&#039;17 September 2010 - r229&#039;&#039;&lt;br /&gt;
*Feature: /ztest now distinguishes between being allowed/denied by rank/class vs by whitelist/blacklist.&lt;br /&gt;
*Fix: Fixed being unable to change rank/class restrictions with /zedit&lt;br /&gt;
*Fix: Fixed a bug that reported wrong average CPU usage&lt;br /&gt;
*Fix: Fixed a crash on saving in ConfigTool, related to new PatrolledClass config key.&lt;br /&gt;
&lt;br /&gt;
===0.474===&lt;br /&gt;
&#039;&#039;16 September 2010 - r228&#039;&#039;&lt;br /&gt;
*Feature: &amp;quot;/mute&amp;quot; command to temporarily stop players from chatting. A new class permission (Mute) is added, granted to op+ by default.&lt;br /&gt;
*Feature: &amp;quot;/shutdown&amp;quot; command to gracefully shutdown the server remotely. A new class permission (ShutdownServer) is added, granted to owner by default.&lt;br /&gt;
*Feature: Added CPU usage information and loaded world count to /sinfo.&lt;br /&gt;
*Fix: Added a way to edit &amp;quot;PatrolledClass&amp;quot; from ConfigTool.&lt;br /&gt;
*Fix: Fixed zone whitelist/blacklist not updated correctly when edited.&lt;br /&gt;
*Fix: Made teleporting to spawn (with /spawn or /tp, no parameters) accessible to all classes.&lt;br /&gt;
*Fix: Adjusted for Notch&#039;s errors in handling player positions in teleport packets. Slightly improves accuracy of /tp, /bring, initial spawning, /patrol, frozen players, and speedhack detection.&lt;br /&gt;
*Fix: Removed &amp;quot;/tp&amp;quot; bounds check when used with typed-in coordinates numbers.&lt;br /&gt;
*Fix: Fixed an extremely unlikely case of PlayerDB/IPBanList overwriting on shutdown if server initialization failed.&lt;br /&gt;
*Fix: Made &amp;quot;server shutting down&amp;quot; packets deliver more reliably (but still not guaranteed).&lt;br /&gt;
*Fix: Fixed Console possibly not seeing hidden players.&lt;br /&gt;
*Change: Added a basic file check to AutoLauncher&lt;br /&gt;
*Change: Added error logging and crash reporting to Server.Shutdown&lt;br /&gt;
*API: Renamed Server.ShutdownStart to Server.ShutdownBegin (for consistency).&lt;br /&gt;
&lt;br /&gt;
===0.473===&lt;br /&gt;
&#039;&#039;15 September 2010 - r227&#039;&#039;&lt;br /&gt;
*Feature: Added zone coordinates to /zinfo&lt;br /&gt;
*Fix: Fixed cross-world /tp teleporting the wrong player.&lt;br /&gt;
*Fix: Fixed odd date formatting in /zinfo&lt;br /&gt;
&lt;br /&gt;
===0.472===&lt;br /&gt;
&#039;&#039;15 September 2010 - r226&#039;&#039;&lt;br /&gt;
*Feature: Added /cut command&lt;br /&gt;
*Feature: Added a new /patrol command. It allows cycling through low-ranked players on a map (with teleportation). The order is determined by how long it&#039;s been since someone checked on a player. A &amp;quot;Patrol&amp;quot; permission and &amp;quot;PatrolledClass&amp;quot; config key were added.&lt;br /&gt;
*Feature: Added a shorthand notation to /zone for making personal zones: &amp;quot;/zone +PlayerName&amp;quot; creates a zone named after the player, with rank limit just above player&#039;s, and with player whitelisted.&lt;br /&gt;
*Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.&lt;br /&gt;
*Fix: Fixed server always binding to IPAddress.Any regardless of config settings.&lt;br /&gt;
*Fix: TP/Bring no longer allow teleporting to hidden players on other worlds.&lt;br /&gt;
*Fix: Server.GetPlayerList(string) now stops searching the list when it finds an exact match.&lt;br /&gt;
*Fix: Fixed client-crash in /zedit when changing class.&lt;br /&gt;
*Fix: Fixed possible corruption of edited zones upon map saving.&lt;br /&gt;
*Fix: Fixed a range of improbable synchronization issues in the way Zone whitelist/blacklist is updated. As a fortunate side-effect, significantly reduced Zone.CanBuild() overhead.&lt;br /&gt;
*Fix: Temporarily added mainThread.Abort() to Server.Shutdown() that&#039;s kicked in if mainThread does not stop within 5s of being notified of shutdown. I am investigating the real cause of the hang.&lt;br /&gt;
*Fix: Fixed hidden players being revealed by promotion/demotion.&lt;br /&gt;
*Change: Added less threatening error messages to IRC bot on network errors (SocketException and IOException).&lt;br /&gt;
*Change: Disabled movement handling code while changing maps.&lt;br /&gt;
*Refactor: Merged StandardCommands and ImportCommands into AdminCommands&lt;br /&gt;
&lt;br /&gt;
===0.471===&lt;br /&gt;
&#039;&#039;14 September 2010 - r224&#039;&#039;&lt;br /&gt;
*Feature: Added ability to specify the server&#039;s IP (to bind to) manually, for machines with multiple NICs. A new config key &amp;quot;IP&amp;quot; (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.&lt;br /&gt;
*Fix: Fixed a bug with player ghosts being left behind when switching worlds.&lt;br /&gt;
*Fix: Fixed a case with kicked players&#039; connections not being terminated at once (thanks to wootalyzer).&lt;br /&gt;
*Fix: Fixed several bugs in hide/unhide functionality.&lt;br /&gt;
*Fix: Fixed a rare crash in AddWorldPopup related to missing maps for existing worlds.&lt;br /&gt;
*Fix: AddWorldPopup will no longer allow adding a world with a duplicate name.&lt;br /&gt;
*Fix: Capped maximum players at the newly-discovered protocol limit of 128 (thanks to wootalyzer).&lt;br /&gt;
*Change: ConfigTool fields now provide better feedback if validation fails.&lt;br /&gt;
*Change: Changed heartbeat interval to 40 seconds (down from 50).&lt;br /&gt;
*Change: Added a special error handler for rare/impossible case of mainWorld not being joinable.&lt;br /&gt;
*Change: Made fatal error messages in fCraftConsole print in red. Better color support coming soon.&lt;br /&gt;
&lt;br /&gt;
===0.470===&lt;br /&gt;
&#039;&#039;13 September 2010 - r223&#039;&#039;&lt;br /&gt;
*Feature: Personal zones - per-zone whitelist and blacklist of individual players. The lists can now be defined with /zadd and edited with /zedit.&lt;br /&gt;
*Feature: Added cave/ore generator from Omen (BETA).&lt;br /&gt;
*Feature: Added &amp;quot;/maps&amp;quot; and &amp;quot;/levels&amp;quot; as aliases for &amp;quot;/worlds&amp;quot;.&lt;br /&gt;
*Feature: Added a way to limit the &amp;quot;Hide&amp;quot; permission per-class. Now you can specify whom can a class hide from.&lt;br /&gt;
*Feature: Zones now remember date/time of creation and last edit, and names of original creator and last editor.&lt;br /&gt;
*Fix: Unauthorized players can no longer PM or use bring/freeze/unfreeze/kick/tp/where on hidden players. They get the standard &amp;quot;player not found&amp;quot; message.&lt;br /&gt;
*Fix: Fixed hidden players being counter towards /players total.&lt;br /&gt;
*Fix: Fixed a potential crash in /wflush when using on unloaded maps.&lt;br /&gt;
*Fix: Doing /banip or /banall on unrecognized players no longer ip-bans 255.255.255.255. Old IPBanList entries relating to 255.255.255.255 will be automatically discarded.&lt;br /&gt;
*Fix: Fixed /replace command uses not being logged.&lt;br /&gt;
*Fix: Fixed /worlds command not showing world count.&lt;br /&gt;
*Fix: Fixed a client-disconnect when trying to unban a player who is not in the database.&lt;br /&gt;
*Fix: Fixed &amp;quot;/join PlayerName&amp;quot; not translating to &amp;quot;/tp PlayerName&amp;quot; correctly.&lt;br /&gt;
*Fix: Fixed a very unlikely client-disconnect in ChangeClass if the entered class name contains curved braces.&lt;br /&gt;
*Change: Changed default name for &amp;quot;/flip&amp;quot; command to &amp;quot;/mirror&amp;quot;, and fixed command&#039;s help. Either term still works.&lt;br /&gt;
*Change: Added more block name aliases:&lt;br /&gt;
**Air: delete, erase&lt;br /&gt;
**Stone: cement, concrete&lt;br /&gt;
**Grass: gras (common typo)&lt;br /&gt;
**Obsidian: onyx&lt;br /&gt;
*Change: Improved formatting of /players, /worlds, and draw command messages.&lt;br /&gt;
&lt;br /&gt;
===0.463===&lt;br /&gt;
&#039;&#039;9 September 2010 - r218&#039;&#039;&lt;br /&gt;
*Fix: Fixed special colors showing up even if ClassColorsInChat is disabled.&lt;br /&gt;
*Fix: Fixed potential client-crash in World.SendToAll(), and related client-crash in lock/unlock.&lt;br /&gt;
&lt;br /&gt;
===0.462===&lt;br /&gt;
&#039;&#039;8 September 2010 - r217&#039;&#039;&lt;br /&gt;
*Fix: The &amp;quot;OK&amp;quot; button in AddWorldPopup no longer stays grayed out.&lt;br /&gt;
*Fix: Fixed &amp;quot;Error occured while loading&amp;quot; in the file information dialog for non-FCM files.&lt;br /&gt;
*Fix: Fixed a crash in /bring when used without any parameters.&lt;br /&gt;
*Fix: Fixed Server.UrlEncode not escaping 0x00-0x0F characters properly.&lt;br /&gt;
*Change: Slightly reduced default tree density in MapGenerator.&lt;br /&gt;
&lt;br /&gt;
===0.461===&lt;br /&gt;
&#039;&#039;8 September 2010 - r216&#039;&#039;&lt;br /&gt;
*Feature: New EXPERIMENTAL &amp;quot;/reloadconfig&amp;quot; command, and associated ReloadConfig permission. Use with caution!&lt;br /&gt;
*Fix: Fixed a case where AddWorldPopup would allow clicking &amp;quot;OK&amp;quot; with a null map.&lt;br /&gt;
*Fix: Fixed player crash if /freeze or /unfreeze is used without arguments.&lt;br /&gt;
*Fix: Fixed player crash on FormatException in /zones and Server.ShowPlayerConnectedMessage.&lt;br /&gt;
*Fix: Fixed potential player crash if LimitOneConnectionPerIP is enabled.&lt;br /&gt;
&lt;br /&gt;
===0.460===&lt;br /&gt;
&#039;&#039;8 September 2010 - r214&#039;&#039;&lt;br /&gt;
*Feature: Added ShowPlayerConnectedMessage and ClassColorsInWorldNames settings to config.&lt;br /&gt;
*Feature: Added /measure command.&lt;br /&gt;
*Feature: Class colors and prefixes are now applied consistently EVERYWHERE.&lt;br /&gt;
*Feature: Banned players now see their ban reason/memo when they get kicked.&lt;br /&gt;
*Feature: A special error message is shown to players trying to connect with Alpha/SMP client.&lt;br /&gt;
*Feature: IsoCat (ConfigTool isometric preview) rendering quality improved: better shadows and slight altitude-based gradient.&lt;br /&gt;
*Feature: Added new blocktype name aliases: &amp;quot;solid&amp;quot;, &amp;quot;golden&amp;quot;, &amp;quot;halfstep&amp;quot;, &amp;quot;halfblock&amp;quot;, &amp;quot;steps&amp;quot;.&lt;br /&gt;
*Feature: Added player count for each class in /classes&lt;br /&gt;
*Fix: Fixed wrong &amp;quot;MaxBackupsSize&amp;quot; range in ConfigTool.&lt;br /&gt;
*Fix: MaxBackupsSize setting is now applied correctly.&lt;br /&gt;
*Fix: IRC color codes are now stripped from forwarded messages.&lt;br /&gt;
*Fix: IRC bot now uses ServerName for &amp;quot;real name&amp;quot;.&lt;br /&gt;
*Fix: Formatting improved in many error messages.&lt;br /&gt;
*Fix: Commas in ban/unban/promote/demote reasons no longer cause problems with PlayerDB.&lt;br /&gt;
*Fix: Removed extra comma from /worlds list that showed in place of hidden/inaccessible worlds.&lt;br /&gt;
*Change: Added 5-second delay between retries in AutoLauncher&lt;br /&gt;
*Change: &amp;quot;Player connected&amp;quot; message condensed to a single line by absorbing &amp;quot;joined world&amp;quot; message.&lt;br /&gt;
*Change: Removed ChangeName permission (and the ability to change names) due to possibility of abuse and confusion. Related /nick and /whois commands were also removed.&lt;br /&gt;
*Change: /tp can now fall back to behave like /join if player name is not found (for all those times when you mistype /tp instead of /join). Conversely, /join falls back to /tp if player was not found.&lt;br /&gt;
*Optimization: Reduced bandwidth use with an adaptive movement packet skipping algorithm. Should reduced outbound traffic by at least 15%.&lt;br /&gt;
*Optimization: BlockUpdate memory usage slightly reduced.&lt;br /&gt;
&lt;br /&gt;
===0.455===&lt;br /&gt;
&#039;&#039;8 September 2010 - r213&#039;&#039;&lt;br /&gt;
*Feature: AutoLauncher (BETA) allows restarting the fCraftConsole server if it crashed. Although it honestly shouldn&#039;t crash at all!&lt;br /&gt;
*Fix: Allowed renaming worlds in cases where only capitalization is different.&lt;br /&gt;
*Fix: If an ip-banned player has more than one connection, all connections are now terminated.&lt;br /&gt;
*Fix: Fixed nonrectangular MCSharp maps getting messed up by the loader.&lt;br /&gt;
*Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.&lt;br /&gt;
*Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of &amp;quot;no player found&amp;quot; message). Affects PMs, {{cmd|TP}}, {{cmd|Bring}}, {{cmd|Freeze}}, {{cmd|Unfreeze}}, {{cmd|Kick}}.&lt;br /&gt;
*Change: Improved OS detection in crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.454===&lt;br /&gt;
*Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.&lt;br /&gt;
*Fix: Replace no longer behaves same as replacenot.&lt;br /&gt;
*Fix: Spaces in IRC messages are now preserved.&lt;br /&gt;
*Fix: Help entries for paste/pastenot corrected.&lt;br /&gt;
*Fix: /cinfo (without parameters) now shows player&#039;s own class info.&lt;br /&gt;
&lt;br /&gt;
===0.453===&lt;br /&gt;
*Feature: It is now possible to reverse last /undo (by typing /undo again).&lt;br /&gt;
*Change: IRC message colors are applied slightly differently now.&lt;br /&gt;
*Change: Added more automated crash reporting hooks - to MainLoop and Tasks.&lt;br /&gt;
*Change: More help messages improved.&lt;br /&gt;
*Change: Added a more informative message for people running outdated versions of Mono and .Net runtime.&lt;br /&gt;
*Optimization: Slightly reduced memory usage of /undo, /paste, and PlayerDB.Load()&lt;br /&gt;
&lt;br /&gt;
===0.452===&lt;br /&gt;
*Feature: New /replacenot command allows replacing all blocks EXCEPT the specified one.&lt;br /&gt;
*Feature: New /flip and /rotate commands to manipulate copied blocks.&lt;br /&gt;
*Feature: /players list is now in alphabetical order.&lt;br /&gt;
*Fix: Trying to specify an unrecognized block type for draw commands (e.g. &amp;quot;/c ai&amp;quot; instead of &amp;quot;/c air&amp;quot;) now shows a proper error message.&lt;br /&gt;
*Fix: Fixed /gen command crashing players if coordinates are typed in before theme/template.&lt;br /&gt;
*Fix: Fixed /e ellipsoids coming out crooked.&lt;br /&gt;
*Fix: &amp;quot;joined for the first time&amp;quot; messages are now shown correctly.&lt;br /&gt;
*Fix: Fixed /replace not working correctly with /undo&lt;br /&gt;
*Fix: Made IRC bot strip nonprintable characters from messages, and ignore empty messages.&lt;br /&gt;
*Fix: World permissions are no longer reset when doing /wload. Also a permission reminder is now shown when creating new worlds.&lt;br /&gt;
*Change: Improved some help messages.&lt;br /&gt;
*Change: Improved IRC error reporting.&lt;br /&gt;
*Change: Added world name back to &amp;quot;Almost there...&amp;quot; join screen.&lt;br /&gt;
*Change: /pasteonly is now called /paste, and /paste is now called /pastenot (for consistency with other custom servers)&lt;br /&gt;
*Optimization: Slightly reduced memory usage of massive drawing commands (over undo limit).&lt;br /&gt;
&lt;br /&gt;
===0.451===&lt;br /&gt;
*Feature: Improved the way fCraft handles fatal errors (crashes). Crash logs are now created more reliably.&lt;br /&gt;
*Feature: Added automated crash reporting to fragmer.net (opt-out).&lt;br /&gt;
*Feature: Added an announcement for players logging in from IPs associated with other previously-banned players.&lt;br /&gt;
*Fix: Curved braces - &amp;quot;{}&amp;quot; - in server name no longer cause problems.&lt;br /&gt;
*Fix: &amp;quot;Leaving the map&amp;quot; kick disabled temporarily, will be made configurable per-class soon.&lt;br /&gt;
*Fix: banall/unbanall commands produce less chat spam.&lt;br /&gt;
*Fix: AFK kicks no longer count towards /info number-of-times-kicked.&lt;br /&gt;
*Change: Added class colors to /info, and fixed formatting bug.&lt;br /&gt;
*Change: Cleaned up &amp;quot;Advanced&amp;quot; tab in ConfigTool.&lt;br /&gt;
**Removed obsolete config keys: PolicyColorCodesInChat, PolicyIllegalCharacters, and RunOnStartup&lt;br /&gt;
**Added SubmitCrashReports and IRCDelay config keys.&lt;br /&gt;
&lt;br /&gt;
===0.450===&lt;br /&gt;
&#039;&#039;26 August 2010&#039;&#039;&lt;br /&gt;
*Feature: IRC bot rewritten for better performance, flexibility, and safety.&lt;br /&gt;
*Feature: New IRC options: IRCBotAnnounceIRCJoins and IRCBotAnnounceServerJoins.&lt;br /&gt;
*Fix: Fixed messages containing only a single slash (&#039;/&#039;) crashing client thread.&lt;br /&gt;
*Change: Removed obsolete IRCBotMsgs config key.&lt;br /&gt;
*Change: Added OnPlayerSentMessage event to Server.&lt;br /&gt;
*Change: IRC bot&#039;s commands (e.g. !status) are temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
===0.445===&lt;br /&gt;
&#039;&#039;25 August 2010&#039;&#039;&lt;br /&gt;
*IMPORTANT! Please update ASAP, a security issue was identified in previous version.&lt;br /&gt;
*Fix: If you need to start message with a slash, you can now escape the slash (type &amp;quot;//&amp;quot;)&lt;br /&gt;
*Fix: Fixed endless update loop (if automatic updates were enabled)&lt;br /&gt;
*Fix: Private messages with a space between &#039;@&#039; and the player name now work.&lt;br /&gt;
*Fix: Hacking-related kicks are not announced globally.&lt;br /&gt;
*Fix: Fixed &amp;quot;/help&amp;quot; giving wrong message if help entry was not found.&lt;br /&gt;
*Change: Minor changes in MapGenerator/Noise&lt;br /&gt;
&lt;br /&gt;
===0.444===&lt;br /&gt;
&#039;&#039;24 August 2010&#039;&#039;&lt;br /&gt;
*Feature: New stat command, /sinfo (server info).&lt;br /&gt;
*Fix: Ban reason/memo now shown for normal bans.&lt;br /&gt;
*Fix: /cinfo for unlimited classes no longer shows &amp;quot;draw limit: 0&amp;quot;&lt;br /&gt;
*Fix: Fixed IRC message colors, and removed IRC color codes from log.&lt;br /&gt;
&lt;br /&gt;
===0.443===&lt;br /&gt;
*FEATURE: New /wflush command. It allows finishing all in-progress draw commands at maximum speed (over 100k blocks/second) then forces a map rejoin.&lt;br /&gt;
*Feature: Added more customization options for colors: PrivateMessageColor and IRCMessageColor in Config.&lt;br /&gt;
*Feature: /players list is now sorted alphabetically.&lt;br /&gt;
*Feature: Added &amp;quot;Check Port&amp;quot; button to ConfigTool to see if port is open. Uses www.utorrent.com/testport&lt;br /&gt;
*Feature: Added &amp;quot;Play&amp;quot; button to fCraftUI to open server URL in the browser&lt;br /&gt;
*Feature: World names in /worlds list are now colored according to each world&#039;s build permission. &lt;br /&gt;
*Feature: Added speedhack detection &amp;amp; prevention (BETA) and corresponding Permission.UseSpeedHack. All your classes will be granted this permission by default. Edit the config to customize it.&lt;br /&gt;
*Fix: When using /mark outside of map boundaries, draw limits are no longer calculated incorrectly (thanks to Darnest).&lt;br /&gt;
*Fix: Fixed possible crash in Map.CheckZones() on maps created with /gen&lt;br /&gt;
*Fix: Fixed compilation issue with &amp;quot;tileset.png&amp;quot; on case-sensitive filesystems.&lt;br /&gt;
*Fix: Fixed class-wide messages not wrapping correctly.&lt;br /&gt;
*Optimization: antigrief and antispam checking overhead reduced.&lt;br /&gt;
&lt;br /&gt;
===0.442===&lt;br /&gt;
*Fix: Addresses a security issue.&lt;br /&gt;
*Fix: &amp;quot;OK&amp;quot; button in AddWorldPopup is now always disabled if no map is set.&lt;br /&gt;
*Fix: &amp;quot;Feature size&amp;quot; label is now updater correctly when map dimensions are changed.&lt;br /&gt;
*Fix: Added missing player notifications for /undo and /cancel commands.&lt;br /&gt;
*Change: MapGenerator&#039;s default map size changed to 128x128x80&lt;br /&gt;
&lt;br /&gt;
===0.441===&lt;br /&gt;
*Feature: Added cuboid limits to /cinfo&lt;br /&gt;
*Fix: Fixed a bug in BoundingBox that made /paste and zones behave incorrectly&lt;br /&gt;
*Fix: Fixed ban/unban commands not kicking the player if entered name capitalization did not match actual capitalization&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; being broken when using &amp;quot;/gen&amp;quot;&lt;br /&gt;
*Fix: Fixed &amp;quot;/ban&amp;quot; rank checks affecting &amp;quot;/unban&amp;quot;&lt;br /&gt;
*Change: Optimized zone permission checks&lt;br /&gt;
&lt;br /&gt;
===0.440===&lt;br /&gt;
*FEATURE: New MapGenerator with tons of options. You can also save/load custom templates for it.&lt;br /&gt;
*FEATURE: AddWorldPopup interface overhaul.&lt;br /&gt;
*FEATURE: JTE, D3, and Myne/Mynecraft/Hyvebuild/iCraft map format converters added.&lt;br /&gt;
*Feature: Improved syntax of the /gen command. See &amp;quot;/help gen&amp;quot; for details.&lt;br /&gt;
*Feature: Reason/memo is now shown publicly when someone gets banned, unbanned, or kicked.&lt;br /&gt;
*Feature: Teleport and Bring work across worlds - world permissions still apply.&lt;br /&gt;
*Feature: Added 4 new Config keys: RequireBanReason, RequireClassChangeReason, AnnounceKickAndBanReasons, AnnounceClassChanges. By default &amp;quot;AnnounceKickAndBanReasons&amp;quot; and &amp;quot;AnnounceClassChanges&amp;quot; are enabled.&lt;br /&gt;
*Feature: Added 5 new fields to PlayerDB: previousClass, classChangeReason, timesKicked, timesKickedOthers, timesBannedOthers.&lt;br /&gt;
*Feature: Added a lot of new information to /info.&lt;br /&gt;
*Feature: You can now save map preview images (isometric) from AddWorldPopup.&lt;br /&gt;
*Feature: ConfigTool now shows warnings about any errors logged during Config.Load&lt;br /&gt;
*Fix: Yet another workaround for VerifyNames false negatives (thanks to SpaceManiac).&lt;br /&gt;
*Fix: Fixed being able to paste admincrete/water/lava without permission (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Trying to go over class draw limit no longer causes &amp;quot;Another drawing command is in progress&amp;quot; error.&lt;br /&gt;
*Fix: Mcc.MapUtility.TryLoading() and Map.LoadHeaderOnly() now release file handles as soon as possible. This should fix some &amp;quot;file is being used by another process&amp;quot; errors.&lt;br /&gt;
*Fix: Map spawn should be parsed correctly for MCSharp/MCZall maps&lt;br /&gt;
*Fix: If a map doesn&#039;t start with a gzip header, it no longer has a chance to abort the whole load process.&lt;br /&gt;
*Fix: Fixed blocktype names being case-sensitive.&lt;br /&gt;
*Fix: Added a more informative message when idle players are kicked.&lt;br /&gt;
*Fix: Fixed undo buffer not getting cleared when doing paste/pasteonly&lt;br /&gt;
*Fix: Fixed /waccess exception kicking players.&lt;br /&gt;
*Fix: 100% Empty maps no longer crash AddWorldPopup with OutOfMemoryException&lt;br /&gt;
*Fix: Fixed &amp;quot;player is already banned&amp;quot; message when doing /BanAll&lt;br /&gt;
*Fix: Fixed no public message appearing when doing /BanAll&lt;br /&gt;
*Fix: Fixed cuboid/ellipsoid/cuboidh logging blocktype code instead of blocktype name.&lt;br /&gt;
*Fix: Improved the message that&#039;s shown when idle players are kicked.&lt;br /&gt;
*Fix: Documented ability to /tp to specific coordinates.&lt;br /&gt;
*Fix: AddWorldPopup no longer crashes if user closes &amp;quot;Load Map&amp;quot; dialog before selecting any file.&lt;br /&gt;
*Fix: When drawing affects (in part or in full) a restricted zone, the zone is left untouched, and the rest of draw command finishes (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Fixed crash in AddWorldPopup.AsyncLoad() if map loading failed.&lt;br /&gt;
*Fix: LegacyRankMapping is now parsed correctly&lt;br /&gt;
*Fix: Renaming a class no longer causes &amp;quot;Worlds&amp;quot; tab dropdown menus to go out-of-sync.&lt;br /&gt;
*Change: AddWorldPopup preview image quality improved.&lt;br /&gt;
*Change: Updated to newest version of NBTag library.&lt;br /&gt;
*Change: Frozen players can no longer build/delete.&lt;br /&gt;
*Change: Removed public &amp;quot;undo&amp;quot; message, added log message instead.&lt;br /&gt;
*Change: Removed AnnounceUnverifiedNames settings.&lt;br /&gt;
*Change: When building/deleting permission is denied, the exact reason is given (instead of a vague &amp;quot;you cannot do that&amp;quot; message) (part of Player.CanPlace overhaul).&lt;br /&gt;
&lt;br /&gt;
===0.435===&lt;br /&gt;
*Feature: Added /copy, /paste, and /pasteonly commands. Rotation coming soon.&lt;br /&gt;
*Feature: Added CopyAndPaste permission, granted to op and owner by default.&lt;br /&gt;
*Feature: Added MapGenType.Cliffs - similar to Mountains type, but with cliffs!&lt;br /&gt;
*Fix: Fixed /paint command&lt;br /&gt;
*Fix: Fixed /baninfo now showing any information if used without parameters.&lt;br /&gt;
*Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.&lt;br /&gt;
&lt;br /&gt;
===0.434===&lt;br /&gt;
*Feature: new /bind command allows mapping any block to any other. Now you can place those unbuildable blocks (water, lava, grass, double-step) in any way you wish. For compatibility, old commands (/water, /solid, /lava, /grass) have been preserved.&lt;br /&gt;
*Change: &amp;quot;step&amp;quot; added as an alias for Stair block. &amp;quot;doublestep&amp;quot; added as an alias for DoubleStair.&lt;br /&gt;
&lt;br /&gt;
===0.433===&lt;br /&gt;
*Feature: /winfo now shows who locked/unlocked the map, and how long ago.&lt;br /&gt;
*Fix: Fixed a error message that showed up when announcements.txt was blank.&lt;br /&gt;
*Fix: Permission check added back to lock/unlock commands.&lt;br /&gt;
*Fix: &amp;quot;mapinfo&amp;quot; added back as alias for /winfo&lt;br /&gt;
*Fix: Fixed locked maps not getting unloaded when all players left&lt;br /&gt;
&lt;br /&gt;
===0.432===&lt;br /&gt;
*Fix: List of worlds printed by /worlds is now sorted alphabetically.&lt;br /&gt;
*Fix: Fixed an obscure half-disconnect bug that left players with id=0 who happened to be on the main world in a semi-disconnected state IF someone else was kicked halfway through the login process before it was assigned an id.&lt;br /&gt;
&lt;br /&gt;
===0.431===&lt;br /&gt;
*Fix: Fixed still messed-up /worlds command.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.430===&lt;br /&gt;
*Fix: Fixed messed-up /worlds command. Sorry about that.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.429===&lt;br /&gt;
*Feature: Command-handler infrastructure has been redesigned. This will allow much more flexibility for devs and plugin makers later.&lt;br /&gt;
*Feature: &amp;quot;/help commands&amp;quot; now only shows available commands by default. Type &amp;quot;/help commands all&amp;quot; to see all commands.&lt;br /&gt;
*Feature: /worlds command now only available worlds by default. Type &amp;quot;/worlds all&amp;quot; to include worlds inaccessible to you.&lt;br /&gt;
*Feature: Help entries added for /zedit, /mark, /version, /rules, and /say.&lt;br /&gt;
*Feature: ConfigTool World tab columns are now sortable.&lt;br /&gt;
*Fix: Fixed &amp;quot;max backups&amp;quot; in ConfigTool being limited to 100. Now it&#039;s at a more reasonable limit of 100000.&lt;br /&gt;
*Fix: Fixed Map.Backup() deleting the newest (instead of the oldest) backup if the total number of files was limited.&lt;br /&gt;
*Fix: Fixed an ERROR that popped up if a player got disconnected during the login process (while player=null).&lt;br /&gt;
*Fix: FormatException crash fixed that caused whole server to go down instead of a player thread.&lt;br /&gt;
*Fix: Several draw-related bugs and crashes fixed.&lt;br /&gt;
*Fix: Fixed crash in /winfo when used on unloaded worlds.&lt;br /&gt;
*Fix: Fixed a bug in Config that caused antigrief to be re-enabled every load.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool that didn&#039;t update AntiGriefSeconds properly when changing between classes.&lt;br /&gt;
*Change: Many /help entries have been improved.&lt;br /&gt;
*Change: Split /class command into two: /classes (aka /ranks) shows a list of classes, and /class (aka /cinfo or /classinfo) shows permission list (missed from last release notes).&lt;br /&gt;
*Change: Added /spawn as an alias for /tp (missed from last release notes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.428===&lt;br /&gt;
*Feature: Line wrapping. Yes, finally.&lt;br /&gt;
*Feature: Per-class draw limits. Defaults are: owner unlimited, op unlimited, regular 4096 (16x16x16), guest 512 (8*8*8)&lt;br /&gt;
*Feature: Per-class antigrief detection. Defaults are: owner unmetered, op umetered, regular 45/6 (7.5 blocks/second), guest 35/5 (7 blocks/second)&lt;br /&gt;
*Feature: Memory usage of draw commands has been reduced by 6 bytes per block (37% improvement).&lt;br /&gt;
*Fix: Extra color codes fixed in /players command.&lt;br /&gt;
*Fix: Fixed a bug with /undo that caused more than one command to be undone at once.&lt;br /&gt;
*Fix: Fixed maps generated with &amp;quot;Realistic terrain&amp;quot; (MapGenerator) having an empty layer at the bottom of the map.&lt;br /&gt;
*Change: Default classes have been tweaked:&lt;br /&gt;
**regular can now use draw commands&lt;br /&gt;
**op can now lock/unlock&lt;br /&gt;
*Change: Improved arrangement of Permission list items.&lt;br /&gt;
*Change: Removed obsolete ConfigKey variables AntigriefBlockCount and AntigriefBlockInterval&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.427===&lt;br /&gt;
*Feature: Added /zedit command for changing zone permissions after creation&lt;br /&gt;
*Feature: New aliases for drawing commands: /c /e /h /r /m&lt;br /&gt;
*Fix: Fix for cuboid command kicking players with &amp;quot;Block.Undefined&amp;quot; if called with no optional BlockType parameter&lt;br /&gt;
*Fix: Fixed zone definitions getting corrupted.&lt;br /&gt;
*Fix: Allowed /save command to be used from console and from remote worlds. Previously you had to join the world to save it.&lt;br /&gt;
*Fix: Fixed potential crash in /winfo when looking up unloaded worlds.&lt;br /&gt;
*Fix: Fixed /zone allowing duplicate names, then kicking the client.&lt;br /&gt;
*Fix: Fixed /ztest showing the standard &amp;quot;you are not allowed to build in this zone&amp;quot; message instead of the expected zone list.&lt;br /&gt;
*Fix: Fixed incorrect description of draw log messages, and backup error messages&lt;br /&gt;
*Fix: Fixed false triggering of &amp;quot;Player asked to be released from its world, but the world did not contain the player&amp;quot; error&lt;br /&gt;
*Change: Fruitified fragmer&#039;s name &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.426===&lt;br /&gt;
*Feature: Announcements! You can define a list of announcements to show periodically. A random line from announcements.txt will be shown to all players at specified interval (in minutes).&lt;br /&gt;
*Feature: /replace command.&lt;br /&gt;
*Feature: /undo command has been improved for more flexibility and better performance.&lt;br /&gt;
*Feature: /winfo (alias: /mapinfo) is added for displaying world name, player count, map dimensions, and access/build permissions.&lt;br /&gt;
*Fix: Fixed a bug that caused duplicate entries to be added to PlayerDB when doing /importranks or /importbans.&lt;br /&gt;
*Change: New ConfigKeys: AnnouncementColor (default: green) and AnnouncementInterval (default: 5 minutes).&lt;br /&gt;
*Change: Draw command stride increased to 16x16x16, for better theoretical performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.425===&lt;br /&gt;
*Feature: Added hollow draw command (/cubh) and aliases (/cuboidh and /bhb)&lt;br /&gt;
*Feature: /players now shows class colors and a total number of players. Breakdown of /players by world is coming soon&lt;br /&gt;
*Feature: Added &amp;quot;Joined world WorldName&amp;quot; message that shows when changing worlds&lt;br /&gt;
*Fix: Improved several /help entries&lt;br /&gt;
*Fix: Fixed a bug in Map.SaveBackup() that could cause a crash if MaxBackups was set&lt;br /&gt;
*Fix: Fixed a bug in ConfigUI where &amp;quot;Delete World&amp;quot; button could leave the map file behind and/or cause an error&lt;br /&gt;
*Fix: Calling lock/unlock from console without a WorldName now shows a nicer error message&lt;br /&gt;
*Change: Improved safety checks of /join command&lt;br /&gt;
*Change: Added a catch-all exception handler into Server.MainLoop&lt;br /&gt;
*Change: Added exception handlers for EVERY single piece of code that requires file access&lt;br /&gt;
*Change: Added more thread safety in MapCommands.WorldRename that resolves a potential race condition with Map.Save&lt;br /&gt;
*Change: Modified IPBanList to use the standard temp folder (instead of fCraft working path) for its temp files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.424===&lt;br /&gt;
*Fix: Fixed /unhide and normal connection getting different messages&lt;br /&gt;
*Fix: Fixed client crash when viewing /rules if the rule file has blank lines&lt;br /&gt;
*Fix: Worlds with capital letters in the name are joinable again&lt;br /&gt;
*Fix: Potential crash in DoClassChange() if target player is already same rank AND is not currently on the server&lt;br /&gt;
*Change: Moved the command list to /help commands&lt;br /&gt;
*Change: Performance and thread-safety improvements to PlayerDB&lt;br /&gt;
*Change: Disabled some more debugging code to avoid taking up unnecessary resources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.423===&lt;br /&gt;
*Feature: /importbans now also supports &amp;quot;banned-ip.txt&amp;quot;&lt;br /&gt;
*Feature: Logs are now stored in /logs/ folder. Your fCraft.log file will be moved there automatically and renamed to &amp;quot;_OldLog.log&amp;quot;&lt;br /&gt;
*Feature: Log splitting now works by day or by session. Set &amp;quot;LogMode&amp;quot; key in config.xml or see Logging tab in ConfigTool.&lt;br /&gt;
*Feature: All maps are now stored in /maps/ folder. Your map files will be moved automatically first time you start ConfigTool/fCraftConsole/fCraftUI&lt;br /&gt;
*Feature: Reserved slots now work&lt;br /&gt;
*Fix: Fixed a bug in fCraft.Server.LoadWorldListXML that could make all worlds hidden.&lt;br /&gt;
*Fix: &amp;quot;player connected&amp;quot; message shown when someone connects, instead of just &amp;quot;player joined world&amp;quot;&lt;br /&gt;
*Fix: &amp;quot;player left the server&amp;quot; message is not shown if the player got kicked before LoginSequence finished (e.g. if server was full)&lt;br /&gt;
*Fix: Added back IP logging for incoming connections&lt;br /&gt;
*Fix: Fixed ConfigTool-generated maps not having correct spawn point&lt;br /&gt;
*Fix: Fixed /user showing both promote and demote messages at once&lt;br /&gt;
*Fix: Removed references to old &amp;quot;/drawundo&amp;quot; command name in &amp;quot;/undo&amp;quot; messages&lt;br /&gt;
*Fix: Fixed &amp;quot;Unrecognized entry ignored: LegacyRankMapping =&amp;quot; warning&lt;br /&gt;
*Change: Made /importbans and /importranks save PlayerDB at once&lt;br /&gt;
*Change: fCraft now forcibly resets its working directory to the same path where the executable is&lt;br /&gt;
*Change: Removed &amp;quot;delete old file?&amp;quot; prompt when renaming worlds in AddWorldPopup. Now it just does it, to match tabWorlds&#039; DataGridView behavior&lt;br /&gt;
*Change: Added additional error checks to Map.Backup() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.422===&lt;br /&gt;
*Feature: Further improved network performance by introducing nonblocking (lock-free) data structure to packet output buffer&lt;br /&gt;
*Fix: Fixed &amp;quot;world creation failed&amp;quot; error if worlds.xml defined a non-existing world to be main&lt;br /&gt;
*Fix: Added back missing messages when doing /user on offline users&lt;br /&gt;
*Fix: Fixed player name color not being updated when their class changes&lt;br /&gt;
*Fix: Added missing /help entries for /importbans and /importranks&lt;br /&gt;
*Change: Improved help messages for /lock, /unban, /unbanip, /undo, /wload, /wmain, and /wremove&lt;br /&gt;
*Change: Tweaked default values of BlockUpdateThrottling and maxBlockUpdatesPerTick for maximum lag-free performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.421===&lt;br /&gt;
*Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players&lt;br /&gt;
*Feature: Added the ability to ban unseen players&lt;br /&gt;
*Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated &amp;quot;Import&amp;quot; permission was added. See &amp;quot;/help importbans&amp;quot; and &amp;quot;/help importranks&amp;quot; for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.&lt;br /&gt;
*Feature: Improved BlockUpdateQueue performance (faster drawing commands!) by switching to a lock-free data structure&lt;br /&gt;
*Fix: Fixed startup errors not being logged if config.xml has not been parsed yet&lt;br /&gt;
*Fix: Fixed ConfigUI input box not aligning properly when window is resized&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; generated maps being 1 block off vertically&lt;br /&gt;
*Change: Updated PlayerDB and IPBanList to use standard temporary folder (instead of dumping temp files into fCraft directory)&lt;br /&gt;
*Change: Added &amp;quot;logging starts&amp;quot; marker that&#039;s written to console and log on-startup&lt;br /&gt;
*Change: fCraftUI log now displays the last 2000 lines (up from 1000 lines)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.420===&lt;br /&gt;
*Feature: New &amp;quot;Worlds&amp;quot; tab in ConfigTool for managing your world list&lt;br /&gt;
*Feature: Isometric map previews and map generation in ConfigTool&lt;br /&gt;
*Feature: Implemented a class-ID system that allows adding/renaming/deleting classes without breaking compatibility. DeleteClassPopup was added for this&lt;br /&gt;
*Feature: Added LimitOneConnectionPerIP option to config &amp;amp; configtool&lt;br /&gt;
*Feature: Worlds can now be hidden from the /worlds list&lt;br /&gt;
*Feature: Added /whois command for checking if a player is using real name or nickname. BE CAREFUL WITH &amp;quot;ChangeName&amp;quot; PERMISSION!&lt;br /&gt;
*Feature: fCraft now generates crash.txt on unhandled fatal errors&lt;br /&gt;
*Feature: Implemented theme support, and added 2 new terrain types (Coast and River) for MapGenerator. See &amp;quot;/help gen&amp;quot; for details, or use ConfigTool.&lt;br /&gt;
*Feature: Pressing Up/Down keys in fCraftUI will show previously typed commands.&lt;br /&gt;
*Fix: Fixed a bug in /wmain and /wload that sometimes made the server unconnectable after changing map&lt;br /&gt;
*Fix: Limits on the /kick command now apply correctly&lt;br /&gt;
*Fix: Fixed /wbuild and /waccess showing wrong messages&lt;br /&gt;
*Fix: Fixed hidden players unable to build due to grief protection&lt;br /&gt;
*Fix: Added /nick and /whois entries to /help&lt;br /&gt;
*Fix: Removed the ability to call draw commands from console (caused crash)&lt;br /&gt;
*Fix: Fixed /lava checking PlaceWater permission instead of PlaceLava&lt;br /&gt;
*Fix: A debug message about &amp;quot;attempting to unregister an non-existent player&amp;quot; is no longer logged every time VerifyNames fails&lt;br /&gt;
*Fix: When using /where command on other players, correct coordinates are now shown]&lt;br /&gt;
*Fix: Player&#039;s classes are now updated in fCraftUI list when promoted/demoted&lt;br /&gt;
*Fix: PMs are now logged as LogType.PrivateChat (instead of generic LogType.WorldChat)&lt;br /&gt;
*Fix: /hide and /unhide now use Color.Sys instead of hardcoded Color.Yellow&lt;br /&gt;
*Fix: Player&#039;s nicknames (as set by /nick) are applied correctly and preserved when changing worlds&lt;br /&gt;
*Fix: Added missing checks for &amp;quot;Chat&amp;quot; permissions&lt;br /&gt;
*Fix: Color buttons in ConfigTool now show correct background color under Mono&lt;br /&gt;
*Fix: Fixed help entry to /freeze showing incorrect information&lt;br /&gt;
*Fix: Corrected tab order in all ConfigTool forms&lt;br /&gt;
*Change: Added /blb as another alias for /cuboid&lt;br /&gt;
*Change: Removed ReservedSlotBehavior config key&lt;br /&gt;
*Change: Disabled word wrapping in rules.txt editor popup&lt;br /&gt;
*Change: /unhide now resets the player&#039;s nick&lt;br /&gt;
*Change: Both player&#039;s real name and nickname (if any) are now recorded in the log&lt;br /&gt;
*Change: Added a warning to /info when looking up nicknames (instead of real names)&lt;br /&gt;
*Change: Heartbeat salt generation (used to verify names) is now more secure&lt;br /&gt;
*Change: Removed CanPlaceHardenedBlocks from permission list&lt;br /&gt;
*Change: All map generator terrain types have been tweaked for improved appearence&lt;br /&gt;
*Change: Centered all ConfigTool popup windows (AddWorldPopup, ColorPicker, DeleteClassPopup, TextEditorPopup)&lt;br /&gt;
*Change: Hid unneeded icons and buttons from ConfigTool popups&lt;br /&gt;
*Change: Changed the way zones store rank restriction (as part of the compatibility assurance), and added versioning to zone definitions&lt;br /&gt;
*Change: Map.Save() now creates temporary files in the OS-specific temporary folder, not in same folder where fCraft is installed&lt;br /&gt;
*Change: World permissions are now updated automatically when a class is deleted&lt;br /&gt;
*Refactor: Improved consistency in code naming conventions, especially in IRC code&lt;br /&gt;
*Refactor: Improved code organization in many areas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.410===&lt;br /&gt;
*Implemented per-world access and build permissions.&lt;br /&gt;
*Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.&lt;br /&gt;
*New world-related commands:&lt;br /&gt;
**/wmain changes the main world&lt;br /&gt;
**/waccess and /wbuild allow setting per-world permissions&lt;br /&gt;
**/wremove allows deleting worlds&lt;br /&gt;
**/wrename allows renaming worlds without reloading&lt;br /&gt;
**/wload command is significantly improved (see /help wload for more info). The functionality of the old /load command has been merged with /wload. Now /load is an alias for /join, together with /l, /j, and /goto.&lt;br /&gt;
*Removed SaveAndLoad permission - it became redundant with ManageWorlds. Please check your config to ensure that permissions remain consistent.&lt;br /&gt;
*Added new and previously-missing (/lockall, /unlockall, /where, /me, /rules, /setspawn) commands to /help.&lt;br /&gt;
*Disabled verify-names check for localhost (127.0.0.1) when running in Balanced mode.&lt;br /&gt;
*When player is denied access to some command, server now names the specific permission that&#039;s needed.&lt;br /&gt;
*Fixed a potential desync issue when one player rejoins a world, and another joins it simultaneously.&lt;br /&gt;
*Removed /genh command and /compass alias for the /where command.&lt;br /&gt;
*Added a fail-safe exception check when executing console commands. Now the server will stay up even if an exception occurs while executing console command.&lt;br /&gt;
*Improved the way server reacts to fatal errors on startup. Now there is a clear indication that server cannot start.&lt;br /&gt;
*&amp;quot;default map&amp;quot; is now referred to as &amp;quot;main world&amp;quot; for consistency. &lt;br /&gt;
*Improved garbage collection.&lt;br /&gt;
&lt;br /&gt;
===0.405===&lt;br /&gt;
*Added back support for vanilla (server_level.dat) maps.&lt;br /&gt;
*Fixed MCSharp importer leaving nonstandard blocks in the map, causing client crashes. Now all MCSharp-specific blocks are converted to normal types.&lt;br /&gt;
*Fixed visual player list not updating in fCraftUI.&lt;br /&gt;
*Added /players command to list ALL players on the server (in all worlds)&lt;br /&gt;
*Made the BlockType parameter optional for /cuboid and /ellipsoid. Now it takes blocktype of the second click (or last-previously-used-blocktype when using /mark) in the absence of the optional parameter.&lt;br /&gt;
*ConfigTool: Added a new tab for IRC setting.&lt;br /&gt;
*ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.&lt;br /&gt;
*IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.&lt;br /&gt;
*IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot. &lt;br /&gt;
*IRC: Fixed a bug with infinite reconnects on receiving error 433 Nickname already in use.&lt;br /&gt;
*Zones: Changed behavior of overlapping zones:&lt;br /&gt;
**Before: To touch a block, AT LEAST ONE zone has to allow it&lt;br /&gt;
**Now: To touch a block, ALL ZONES have to allow it&lt;br /&gt;
*Zones: Added /ztest command that lists all zones affecting a particular block. It can be used to detect and resolve zone overlaps.&lt;br /&gt;
*Zones: Added proper /help entries for /zone, /zones, /zremove, and /ztest, and contextual help for /zone and /zones.&lt;br /&gt;
*Zones: Made zone commands inaccessible from console (it would cause a crash, since zones are world-specific).&lt;br /&gt;
*Fixed OnPlayerDisconnected and OnPlayerListChanged sometimes firing at the wrong time.&lt;br /&gt;
*Added better error handling to Map.Save() in case the target file is not writable.&lt;br /&gt;
*Updated /help entries for /lock, /unlock, and /load commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.404===&lt;br /&gt;
*Fixed zone borders being off by 1 block.&lt;br /&gt;
*Fixed a rare crash on shutdown.&lt;br /&gt;
*Fixed heartbeat reporting incorrect port number to heartbeat if the port specified in config was not available.&lt;br /&gt;
*Adjusted default class permissions slightly, by popular demand:&lt;br /&gt;
**regulars can now place Water and Lava&lt;br /&gt;
**ops can now use draw commands&lt;br /&gt;
*IRC: Added a config option &#039;IRCMsgs&#039; to toggle join/leave messages on/off. Default is disabled to prevent massive spam.&lt;br /&gt;
*IRC: Fixed a possible crash in IRCComm, related to static initializers.&lt;br /&gt;
*ConfigTool: Fixed many bugs in permission checkbox list.&lt;br /&gt;
*ConfigTool: Added visual editor for rules.txt&lt;br /&gt;
*ConfigTool: Added stub tab for IRC settings (coming soon).&lt;br /&gt;
&lt;br /&gt;
===0.403===&lt;br /&gt;
*Fixed spawnpoint being read incorrectly when using /load.&lt;br /&gt;
*Added a note to ban*/unban* commands that&#039;s shown when player name is not found: &amp;quot;Use the FULL player name for ban/unban commands.&amp;quot;&lt;br /&gt;
*Fixed a thread crash (not server-wide crash) in Session.IoLoop that can be caused by corrupted or malicious handshake packets.&lt;br /&gt;
*Fixed a potential crash when using /info on offline players from console.&lt;br /&gt;
*Fixed a potential crash when using /gen from console.&lt;br /&gt;
*Added more fail-safe checks that ensure that map spawn point is always within the map boundaries.&lt;br /&gt;
*Started logging IPs of connections that try sending corrupted or malicious handshake packets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.402===&lt;br /&gt;
*Added back /load command, and hooked up MCC. Currenly supported: fCraft/fcm, MCSharp/lvl, indev/mclevel, MinerCPP and LuaCraft (dat). Vanilla support coming soon.&lt;br /&gt;
*Fixed worlds being unloaded before all block updates are processed (thus aborting draw commands).&lt;br /&gt;
*Fixed several potential multiworld-related crashes and freezes.&lt;br /&gt;
*Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.&lt;br /&gt;
*IRC: Added an information message to notify users of the IRC Bot&#039;s online status when joining the server.&lt;br /&gt;
*IRC: Added the ability to send NOTICES.&lt;br /&gt;
*IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.&lt;br /&gt;
*IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.&lt;br /&gt;
*Drawing-related state is now reset when changing worlds.&lt;br /&gt;
*Added a limiter to the number of block updates that can be processed per tick (even if there are no players in a world). Fixes server becoming unresponsive when doing enormous drawing commands (millions of blocks).&lt;br /&gt;
*Allowed players to /join the world that they are already on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.401===&lt;br /&gt;
*&#039;&#039;&#039;IDLE/AFK CHECKING&#039;&#039;&#039; This is configurable per-class.&lt;br /&gt;
*Added /version command, and added revision to the version string.&lt;br /&gt;
*Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands. &lt;br /&gt;
*Removed all references to the old pre-multiworld &amp;quot;map.fcm.&amp;quot; Backups now work again. &lt;br /&gt;
*Fixed players not spawning in the right place when changing worlds.&lt;br /&gt;
*IRC Bot will now handle terminations by the IRCd and restart itself upon any errors. &lt;br /&gt;
*IRC Bot can now send from inside the server TO IRC! Use the prefix &#039;#&#039; in-game to send any message to IRC. Forwarding all server chat may be added if requested. To send from the bot to the server, use the bot&#039;s nickname and either &#039;:&#039;, &#039;,&#039; or nothing, then your message.&lt;br /&gt;
*Improved performance of the IRC bot and the task scheduler.&lt;br /&gt;
*Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn&#039;t exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.&lt;br /&gt;
*Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after &#039;#&#039; in server chat.&lt;br /&gt;
*Handshake packet is now written when doing /join, to replace MOTD with a more informative &amp;quot;Now loading [worldname]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.400===&lt;br /&gt;
*&#039;&#039;&#039;MULTIWORLD&#039;&#039;&#039; It&#039;s finally here. See /help for information on new commands: /worlds, /wload, /join&lt;br /&gt;
*Added a persistent world list, saved in worlds.txt - this is subject to change. The file contains a list of world names, each corresponding to an .fcm file. The first world listed at the top of worlds.txt is the default/main one.&lt;br /&gt;
*&#039;&#039;&#039;IRC BOT&#039;&#039;&#039; Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.&lt;br /&gt;
*A field has been added in the config to allow forwarding ALL IRC CHANNEL TRAFFIC to the server. This will override the prefix and make it inactive. &#039;IRCBotForwardAll&#039; is set to false by default.&lt;br /&gt;
*&#039;&#039;&#039;ZONES&#039;&#039;&#039; It is now possible to make guest zones and op zones (and anything in-between) on any map. See /help for information on new commands: /zones, /zone, /zremove.&lt;br /&gt;
*Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.&lt;br /&gt;
*Added /compass command (aka /where).&lt;br /&gt;
*Fixed players sometimes not seeing their /kick message.&lt;br /&gt;
*Added a way to teleport to specific coordinates (/tp x y h)&lt;br /&gt;
*Fixed heartbeats timing out when running fCraft under Mono.&lt;br /&gt;
*Fixed Config.ApplyConfig setting the wrong server throttling variables.&lt;br /&gt;
*Fixed air blocks appearing underwater when using /gen&lt;br /&gt;
*Tweaked /gen parameters to make &amp;quot;island&amp;quot; a bit less ugly.&lt;br /&gt;
*Updated text in fCraftConsole.&lt;br /&gt;
&lt;br /&gt;
=0.3xx=&lt;br /&gt;
===0.330===&lt;br /&gt;
*Added /cuboid and /ellipsoid drawing commands.&lt;br /&gt;
*Improved memory usage.&lt;br /&gt;
*Added &amp;quot;Draw&amp;quot; permission, and made /draw check &amp;quot;DeleteAdmincrete&amp;quot; permission when replacing blocks, and removed unused &amp;quot;PlaceGlitchedSand&amp;quot; permission.&lt;br /&gt;
*Added &amp;quot;Port&amp;quot; and &amp;quot;BackupOnlyWhenChanged&amp;quot; config lines, and corresponding ConfigTool fields.&lt;br /&gt;
*Fixed bug that deleted ALL backups when you check &amp;quot;don&#039;t delete old backups.&amp;quot; That was embarrassing.&lt;br /&gt;
&lt;br /&gt;
===0.325===&lt;br /&gt;
*Added an experimental low-latency mode (faster server response, but more bandwidth required).&lt;br /&gt;
*Improved hacking detection: added anti-chat-spam and anti-grief (block spam) checks.&lt;br /&gt;
*New more aggressive anti-hacking checks for incoming movement and SetTile packets.&lt;br /&gt;
*Fixed an issue with fCraftUI console log getting truncated in the wrong places.&lt;br /&gt;
*Improved Mono compatibility (fixes HttpWebRequest failures).&lt;br /&gt;
&lt;br /&gt;
===0.324===&lt;br /&gt;
*Added /me command.&lt;br /&gt;
*Added step stacking.&lt;br /&gt;
*Fixed a case where disconnected players would leave a ghost behind.&lt;br /&gt;
*Improved shutdown speed.&lt;br /&gt;
*Implemented ProcessPriority setting.&lt;br /&gt;
&lt;br /&gt;
===0.323===&lt;br /&gt;
*Fixed players not being able to delete admincrete after promotion.&lt;br /&gt;
*Fixed a bug that allowed players to noclip into walls when using /tp or /bring.&lt;br /&gt;
*Fixed a security issue with &amp;quot;VerifyNames: Balanced&amp;quot;&lt;br /&gt;
*Added prototype of the security tab in ConfigTool (work in progress).&lt;br /&gt;
&lt;br /&gt;
===0.322===&lt;br /&gt;
*Added a range check to Player.SetTile, to prevent certain types of grief bots.&lt;br /&gt;
*Fixed a bug where map spawnpoint did not change after doing /load.&lt;br /&gt;
*Fixed some typos.&lt;br /&gt;
&lt;br /&gt;
===0.321===&lt;br /&gt;
*Fixed welcome messages not showing.&lt;br /&gt;
*Renamed /alias to /nick, and added a permission check.&lt;br /&gt;
&lt;br /&gt;
===0.320===&lt;br /&gt;
*Finally last fix for the disconnect problem. Sorry about that.&lt;br /&gt;
&lt;br /&gt;
===0.319===&lt;br /&gt;
*Quick fix for disconnect problem.&lt;br /&gt;
&lt;br /&gt;
===0.318===&lt;br /&gt;
*Fixed VerifyNames not saving properly when using ConfigTool.&lt;br /&gt;
*Fixed several potential crashers in Session and World.&lt;br /&gt;
*Fixed a bug that sometimes wrongly showed &amp;quot;class name not recognized&amp;quot;.&lt;br /&gt;
*Added class name autocompletion for class chat (@@classname blah)&lt;br /&gt;
*Started working on the new /load mode that allows loading different sized maps, and loading much faster (not done yet).&lt;br /&gt;
&lt;br /&gt;
===0.317===&lt;br /&gt;
*Optimized handling of player movement and some block/tile updates, making servers more responsive and less laggy.&lt;br /&gt;
*Fixed a possible crash that sometimes happened when server has 1 slot left and 2 people tried to join at once.&lt;br /&gt;
*Fixed a case where a Session object was not properly disposed.&lt;br /&gt;
*Fixed resizing issue in UpdateWindow and reduced connection timeout in Updater&lt;br /&gt;
*Disabled ShowPrefixesInChat and ShowPrefixesInList by default (breaks skin support)&lt;br /&gt;
*Added Player.Send, a safe wrapper for Player.session.Send&lt;br /&gt;
*Fixed /tp, /bring, and /setspawn commands that were broken in the last revision.&lt;br /&gt;
*Fixed ConfigTool not saving &amp;quot;IsPublic&amp;quot; setting correctly.&lt;br /&gt;
&lt;br /&gt;
===0.316===&lt;br /&gt;
*Added partial class-name matching for /class and /user commands.&lt;br /&gt;
*Fixed /banip and /banall not kicking the banned players immediately.&lt;br /&gt;
*Added /rules command. Create &amp;quot;rules.txt&amp;quot; in the server folder to specify.&lt;br /&gt;
*Fixed a bug where player movement sometimes got a little out of sync.&lt;br /&gt;
*Optimized /load speed a bit.&lt;br /&gt;
*Added nicer application icons.&lt;br /&gt;
&lt;br /&gt;
===0.315===&lt;br /&gt;
*Added visual color picker to ConfigTool&lt;br /&gt;
*Added lightweight console interface for fCraft&lt;br /&gt;
*Refactored the main update loop&lt;br /&gt;
&lt;br /&gt;
===0.314===&lt;br /&gt;
*Added AutomaticUpdates option.&lt;br /&gt;
*Integrated the color picker to ConfigTool.&lt;br /&gt;
*Improved hacking detection.&lt;br /&gt;
&lt;br /&gt;
===0.313===&lt;br /&gt;
*Fixed a few glitches left after switching file formats.&lt;br /&gt;
*Improved memory usage when saving maps.&lt;br /&gt;
*Fixed an updater-related crash.&lt;br /&gt;
&lt;br /&gt;
===0.312===&lt;br /&gt;
*New map format (FCM v2) should provide faster loading times.&lt;br /&gt;
*server_level.dat loader is now functional.&lt;br /&gt;
*Fixed possible crash if the default port was not available.&lt;br /&gt;
*Automatic updater should now work properly. More update options to come.&lt;br /&gt;
&lt;br /&gt;
===0.311===&lt;br /&gt;
*Preview version of automatic updater.&lt;br /&gt;
&lt;br /&gt;
===0.310===&lt;br /&gt;
*Cleaned up some VC# crapfiles.&lt;br /&gt;
*Added class prefixes and colors.&lt;br /&gt;
*Added PlaceWater and PlaceLava back to permissions.&lt;br /&gt;
*Fixed rank-limited permissions.&lt;br /&gt;
*Other assorted glitches fixed.&lt;br /&gt;
&lt;br /&gt;
===0.305===&lt;br /&gt;
*removed config.xml from svn.&lt;br /&gt;
&lt;br /&gt;
===0.304===&lt;br /&gt;
*More potential crashes fixed.&lt;br /&gt;
&lt;br /&gt;
===0.303===&lt;br /&gt;
*Fixed a couple potential crashes in ConfigTool and Config.DefineClass&lt;br /&gt;
&lt;br /&gt;
===0.302===&lt;br /&gt;
*Fixed a few minor ConfigTool bugs.&lt;br /&gt;
&lt;br /&gt;
===0.301===&lt;br /&gt;
*Forgot to save config from World.cs after parsing. Minor update.&lt;br /&gt;
&lt;br /&gt;
===0.300===&lt;br /&gt;
*ConfigTool finished. Note that some of the options do not have an effect yet.&lt;br /&gt;
&lt;br /&gt;
=Before 0.3xx=&lt;br /&gt;
*Version history was not kept before this point.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Version_history&amp;diff=2632</id>
		<title>Version history</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Version_history&amp;diff=2632"/>
		<updated>2017-04-30T06:39:10Z</updated>

		<summary type="html">&lt;p&gt;F: /* 0.445 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
=0.6xx=&lt;br /&gt;
===0.644===&lt;br /&gt;
&#039;&#039;27 January 2014 - r2327&#039;&#039;&lt;br /&gt;
*Fix: Fixed a bug that caused character &#039;@&#039; in player names to be treated same as &#039;_&#039; (thanks Dingus)&lt;br /&gt;
*Fix: Fixed a rare crash in {{cmd|ZEdit}} when using the command improperly.&lt;br /&gt;
*Fix: Fixed a DataError being thrown in ConfigGUI&#039;s &amp;quot;Worlds&amp;quot; tab after toggling rank prefixes on/off.&lt;br /&gt;
*Fix: Improved error reporting.&lt;br /&gt;
*Change: Improved reliability of external IP checks.&lt;br /&gt;
&lt;br /&gt;
===0.643===&lt;br /&gt;
&#039;&#039;15 October 2013 - r2234&#039;&#039;&lt;br /&gt;
*Fix: Fixed sometimes wrapping last word of a chat message to the next line, when the whole message could fit on one line (thanks AndrewPH).&lt;br /&gt;
*Fix: Installing updates no longer causes UAC prompts under Windows Vista.&lt;br /&gt;
*Fix: Fixed IRC periodically crashing if someone quits with an empty message.&lt;br /&gt;
*Fix: Fixed IRC-related crashes not being submitted to the crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.642===&lt;br /&gt;
&#039;&#039;27 August 2013 - r2180&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Fill3D}}.&lt;br /&gt;
*Feature: Added caret (^), tilde (~), and grave accent (`) to [[emotes]].&lt;br /&gt;
*Fix: Emotes work via IRC once again.&lt;br /&gt;
*Fix: ConfigGUI: Fixed &amp;quot;Add world&amp;quot; and &amp;quot;Edit world&amp;quot; popups sometimes locking up.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving LastFailedLoginIP properly.&lt;br /&gt;
*Change: Made it easy to switch heartbeat servers (minecraft.net to classicube or back) via ConfigGUI.&lt;br /&gt;
*Change: Added an optional second parameter to {{cmd|DumpStats}}, which allows specifying period of inactivity for filtering players.&lt;br /&gt;
*Change: Improved startup and shutdown times, and reduced CPU use.&lt;br /&gt;
*Change: {{cmd|Hide}} and {{cmd|Unhide}} now indicate when they are silent or not.&lt;br /&gt;
&lt;br /&gt;
===0.641===&lt;br /&gt;
&#039;&#039;17 August 2013 - r2150&#039;&#039;&lt;br /&gt;
*Feature: Improved the way {{cmd|EllipsoidH}} works on flat surfaces. Instead of filled ellipses, it now makes rings.&lt;br /&gt;
*Feature: Added {{cmd|Reply}} (&amp;lt;code&amp;gt;/re&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: {{cmd|Fill2D}} can now fill with any brush, not just solid color.&lt;br /&gt;
*Feature: Added &#039;&#039;HeartbeatUrl&#039;&#039; [[List of config keys#Advanced|config key]], to allow alternative heartbeat/authentication services. &#039;&#039;&#039;Note: [[HeartbeatSaver]] only needs to be updated IF you plan on using something other than minecraft.net&#039;&#039;&#039;&lt;br /&gt;
*Fix: Fixed a InvalidOperationException in ConfigGUI when re-drawing the map preview (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;Realistic&amp;quot; MapGen help (thanks Jonty800).&lt;br /&gt;
*Fix: Now correctly kicking custom premium-MC clients.&lt;br /&gt;
*Fix: Fixed help messages in [[HeartbeatSaver]] and {{cmd|MassRank}}.&lt;br /&gt;
*Fix: Fixed a potential way of revealing hidden players by messaging them.&lt;br /&gt;
*Change: ConfigGUI&#039;s port checker works again.&lt;br /&gt;
*Change: IRC bot will now retry for its primary nick every 30 seconds (thanks Dankirk).&lt;br /&gt;
&lt;br /&gt;
===0.640===&lt;br /&gt;
&#039;&#039;30 July 2013 - r2124&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Feature: [[Mojang accounts|Mojang account]] (email) support.&#039;&#039;&#039; Added {{perm|ViewEmails}} permission and a config option to disallow email users.&lt;br /&gt;
*Feature: Overhauled map generation! Improved {{cmd|Gen}}, new {{cmd|SetGen}} command, more options, preset loading/saving, redesigned ConfigGUI interface, and two new map generation modes: Vanilla (from [http://femto.fcraft.net FemtoCraft]) and FloatingIsland.&lt;br /&gt;
*Feature: Optional [http://www.regular-expressions.info/quickstart.html RegEx] filtering of filenames for [[MapRenderer]] and [[MapConverter]], enabled by &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Feature: Added &amp;lt;i&amp;gt;&amp;quot;Player ___ logged in from an IP shared by frozen players...&amp;quot;&amp;lt;/i&amp;gt; announcement.&lt;br /&gt;
*Feature: Added an optional parameter to toggle commands (grass, water, lava, solid, paint, static) &amp;amp;mdash; &amp;quot;on&amp;quot;/&amp;quot;1&amp;quot; or &amp;quot;off&amp;quot;/&amp;quot;0&amp;quot;.&lt;br /&gt;
*Feature: Added BackupOnMapChange config key, which automates backups when a world&#039;s map is replaced by /Gen or /WLoad (enabled by default).&lt;br /&gt;
*Feature: Added &amp;lt;code&amp;gt;/To&amp;lt;/code&amp;gt; as an alias of {{cmd|TP}}, and &amp;lt;code&amp;gt;/Flush&amp;lt;/code&amp;gt; as an alias for {{cmd|WFlush}}.&lt;br /&gt;
*Feature: [[MapRenderer]] is now much quicker, thanks to optimization and multithreading.&lt;br /&gt;
*Feature: Added ability to change capitalization of player&#039;s name using {{cmd|SetInfo}}.&lt;br /&gt;
*Fix: Fixed MapGenerator sometimes locking up when working with tiny 16x16 maps (thanks 123DMWM).&lt;br /&gt;
*Fix: Fixed world greetings not being saved between restarts (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed {{cmd|WLoad}} showing incorrect map file names when prompting to replace files (thanks Smokeybacon).&lt;br /&gt;
*Fix: Fixed [[Command_Tips#Restricting_player_name_search|online-only name prefix]] revealing hidden players in some commands (thanks Intertoothh and recon).&lt;br /&gt;
*Fix: When a spectating player gets frozen, they are no longer stuck spectating (thanks ruggedbear and NuclearWaffle121).&lt;br /&gt;
*Fix: IRC now handles two-number color codes and reset codes correctly (thanks Liam).&lt;br /&gt;
*Fix: Fixed map changes sometimes leaving behind &amp;quot;ghost maps&amp;quot; for players with rank-specific main maps set (thanks Jonty800).&lt;br /&gt;
*Fix: PlayerDB name autocompletion now correctly handles players with &#039;.&#039; in their names.&lt;br /&gt;
*Fix: Timed backups no longer drift slightly every hour.&lt;br /&gt;
*Fix: Players can now {{cmd|Clear}} their chat even while [[/Deafen|deaf]].&lt;br /&gt;
*Fix: Fixed a rare serialization issue with PlayerDB&#039;s RankChangedBy field.&lt;br /&gt;
*Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Now only allow either one directory, or one-or-more files to be specified. Multiple directories, and mixed directories/files are no longer allowed.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Disabled slow fallback conversion by default (which caused non-map files to take forever to skip in recursive mode). Old behavior can be reenabled with &amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Change: When auto-updating or restarting under Mono, fCraft no longer tries to use &amp;quot;mono-sgen&amp;quot;, now just using &amp;quot;mono&amp;quot; and assuming that runtime is properly configured.&lt;br /&gt;
*Change: {{cmd|WBuild}} and {{cmd|WAccess}} can optionally now take &amp;quot;@&amp;quot; in front of rank name.&lt;br /&gt;
*Change: Removed BackupOnJoin config key.&lt;br /&gt;
*Change: UpdateInstaller&#039;s &amp;lt;code&amp;gt;--restart&amp;lt;/code&amp;gt; parameter is more flexible.&lt;br /&gt;
*Change: Dropped Mono 2.6 support.&lt;br /&gt;
*Change: Optimizations in player movement code, PlayerDB loading/saving, IP ban list loading, map generation, map rendering, {{cmd|Ellipsoid}}, and {{cmd|Sphere}}.&lt;br /&gt;
&lt;br /&gt;
===0.639===&lt;br /&gt;
&#039;&#039;10 December 2012 - r1917&#039;&#039;&lt;br /&gt;
*Feature: Added RankPrefixesOnDisplayedNames config key (default: false), which controls whether to prepend rank prefixes to names of players with a custom DisplayedName set.&lt;br /&gt;
*Feature: Added BypassHttpsCertificateValidation config key (default: false), to ease HTTPS-related pains under Mono.&lt;br /&gt;
*Feature: Added MoveEmoteDotToEndOfMessage config key (default: true), which slightly changes emote formatting, by BobKare&#039;s request.&lt;br /&gt;
*Fix: Fixed a stability issue in the IRC bot.&lt;br /&gt;
*Fix: Fixed incorrect runtime version detection for Mono versions older than 2.6.&lt;br /&gt;
*Fix: Server now gives more informative messages when you try to do something disallowed to yourself (mute, unfreeze, ban, kick, etc).&lt;br /&gt;
*Fix: Fixed being able to teleport to hidden players (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed {{cmd|Unhide}} not faking a join message for hidden players (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed IRC bot sending USER before NICK (fixes occasional error 451) (thanks Hellenion).&lt;br /&gt;
*Change: Added ability to set players&#039; BandwidthUseMode via {{cmd|SetInfo}}.&lt;br /&gt;
*Change: Improved {{cmd|Env}}, {{cmd|UndoAreaNot}}, and {{cmd|Help}} messages.&lt;br /&gt;
*Change: Players&#039; connection messages in logs now include TimesVisited stat.&lt;br /&gt;
*Change: {{cmd|Help|commands}} is no longer an alias for {{cmd|Commands}} (thanks ruggedbear).&lt;br /&gt;
&lt;br /&gt;
===0.638===&lt;br /&gt;
&#039;&#039;29 November 2012 - r1887&#039;&#039;&lt;br /&gt;
*Feature: [[Emotes|Emote]] keywords and their Unicode equivalents can now be included in announcement and rule files.&lt;br /&gt;
*Feature: IRC bot now sends a quit message consisting of server name and shutdown reason.&lt;br /&gt;
*Fix: Fixed a very small chance of PlayerInfo.TimeMutedLeft returning negative time spans.&lt;br /&gt;
*Fix: Leading and trailing spaces are now trimmed from kick/ban/unban reasons.&lt;br /&gt;
*Fix: Fixed some emotes getting trimmed from {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} (thanks Intertoothh)&lt;br /&gt;
*Fix: Fixed RestartInterval starting two chat timers (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed ServerCLI using console colors for the first few messages even if &amp;lt;code&amp;gt;--noconsolecolor&amp;lt;/code&amp;gt; [[List of command-line options|command-line switch]] was given (thanks Hellenion)&lt;br /&gt;
*Change: Added &amp;lt;code&amp;gt;--noupdater&amp;lt;/code&amp;gt; command line switch, which stops fCraft from launching update installer binaries (although all other update-related behavior remains the same)&lt;br /&gt;
*Change: Player&#039;s own name is no longer considered in autocompletion/searches for commands that are not applicable to self (e.g. {{cmd|Ban}}, {{cmd|Mute}}, {{cmd|Ignore}}, {{cmd|TP}}, etc)&lt;br /&gt;
*Change: Logged global chat messages now have &amp;quot;(global)&amp;quot; prepended before player&#039;s name.&lt;br /&gt;
*API: Updated trunk project files to VisualStudio 2010. Target runtime remains .NET 3.5 Client Profile.&lt;br /&gt;
&lt;br /&gt;
===0.637===&lt;br /&gt;
&#039;&#039;16 October 2012 - r1847&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Emotes}} command, to list emotes and their keywords.&lt;br /&gt;
*Fix: Fixed IRC bot cutting off very long messages.&lt;br /&gt;
*Fix: Fixed {{cmd|Info}} not working with some IP ranges (thanks _BjorN64_).&lt;br /&gt;
*Fix: Fixed single-letter emote keywords not working (thanks Wundsalz).&lt;br /&gt;
*Fix: Improved the way IRC bot handles nick conflicts (thanks Jonty800).&lt;br /&gt;
*Fix: {{cmd|DumpStats}} no longer dies when an invalid file name is given (thanks Hellenion).&lt;br /&gt;
*Change: Added a new build configuration, DEBUG_NETWORKING, which traces all incoming and outgoing packets.&lt;br /&gt;
*Change: IRC bot now logs all outgoing messages when built in DEBUG_IRC configuration.&lt;br /&gt;
&lt;br /&gt;
===0.636===&lt;br /&gt;
&#039;&#039;10 October 2012 - r1832&#039;&#039;&lt;br /&gt;
*Feature: Check your configs! New options were added to control display of colors and emotes to/from IRC.&lt;br /&gt;
*Feature: Added {house} [[emotes|emote]]: ⌂ (0x7F).&lt;br /&gt;
*Fix: Fixed newline codes %n/%N not being parsed properly.&lt;br /&gt;
*Fix: Fixed a crash in Color.StripColors (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed random symbols appearing in stack traces in console (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed couple problems with Player.Moving event (thanks 00pol).&lt;br /&gt;
*Fix: Spawn points of MCSharp map files are now loaded correctly (thanks 00pol).&lt;br /&gt;
*Change: Players&#039; DisplayedNames may no longer contains line breaks.&lt;br /&gt;
&lt;br /&gt;
===0.635===&lt;br /&gt;
&#039;&#039;8 October 2012 - r1822&#039;&#039;&lt;br /&gt;
*Feature: Added support for &amp;quot;[[emotes]]&amp;quot; (chat symbols). New permission ({{perm|UseEmotes}}) and config key (IRCAllowEmotes) were added.&lt;br /&gt;
*Fix: Fixed numbers sometimes being accepted as valid (e.g. by {{cmd|Mute}}), although counted as 0-length time spans.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving strings with newlines properly.&lt;br /&gt;
*Fix: Fixed IRC bot sometimes producing messages that are a couple characters over the IRC message size limit (512 chars).&lt;br /&gt;
*Fix: Fixed players being able to use newline codes (&amp;amp;N/&amp;amp;n) on IRC.&lt;br /&gt;
*Fix: Fixed problems with UpdaterMode and BackupOnStartup settings in ConfigGUI.&lt;br /&gt;
*Fix: Fixed fCraft not building in DEBUG_IRC configuration.&lt;br /&gt;
*Change: Added a workaround for TermInfoDriver-related exceptions under Mono (thanks Hellenion)&lt;br /&gt;
*Change: Symbolic [[colors|color codes]] (e.g. %S) can now be used in chat.&lt;br /&gt;
*Change: Backslash can now be used to escape percent [[colors|color codes]] (e.g. \%C).&lt;br /&gt;
*Change: fCraft will now retry looking up the external IP up to 3 times.&lt;br /&gt;
*Change: Lots of documentation, annotation, and API improvements.&lt;br /&gt;
&lt;br /&gt;
===0.634===&lt;br /&gt;
&#039;&#039;30 September 2012 - r1796&#039;&#039;&lt;br /&gt;
*Fix: Fixed an occasional InvalidOperationException when auto-updating in ServerGUI.&lt;br /&gt;
*Fix: Fixed ConfigGUI showing misleading information in &amp;quot;unrecognized entry ignore&amp;quot; errors.&lt;br /&gt;
*Fix: Fixed Logger trying to write to file in [[MapConverter]] and [[MapRenderer]].&lt;br /&gt;
*Fix: Fixed [[MapRenderer]] and [[MapConverter]] spamming zone-related errors (thanks Hellenion and AndrewPH)&lt;br /&gt;
*Fix: Fixed {{cmd|UndoPlayerNot}} help entry (thanks ruggedbear)&lt;br /&gt;
*Change: Heartbeat code now uses HTTPS, as mandated by Mojang. If you use Mono, see http://www.mono-project.com/FAQ:_Security&lt;br /&gt;
*Change: Removed support for the malfunctioning WoM Direct heartbeat service.&lt;br /&gt;
*Change: RankChangeReason is now shown as a &amp;quot;Rank note&amp;quot; in {{cmd|Info}}, even if no other data (PreviousRank/RankChangedBy/RankChangeDate) exists (thanks Wundsalz)&lt;br /&gt;
&lt;br /&gt;
===0.633===&lt;br /&gt;
&#039;&#039;26 September 2012 - r1788&#039;&#039;&lt;br /&gt;
*Feature: Added checkbox for HeartbeatEnabled config key to ConfigGUI, on the advanced tab.&lt;br /&gt;
*Fix: Fixed heartbeat/verification issues caused by &amp;quot;no-www&amp;quot; changes made by Mojang at minecraft.net&lt;br /&gt;
*Fix: Fixed VisualStudio designer being unable to load ConfigGUI.MainForm.&lt;br /&gt;
*Fix: Fixed {{cmd|ZMark}} being spammy (thanks ruggedbear).&lt;br /&gt;
*Fix: Binding &amp;quot;air&amp;quot; block to something now works as expected (deleted blocks are replaced with the binding) (thanks Hellenion).&lt;br /&gt;
*Fix: Added missing tooltips to &amp;quot;Data Backup&amp;quot; checkbox in ConfigGUI (thanks PhoneBook_).&lt;br /&gt;
*Fix: Added [[HeartbeatSaver]] to UpdateInstaller and list of protected filenames.&lt;br /&gt;
*Fix: Fixed occasional startup crash in [[HeartbeatSaver]].&lt;br /&gt;
*Change: {{cmd|Reload|Autorank}} now triggers a re-scan of the whole PlayerDB.&lt;br /&gt;
*Change: Added code to BlockDB to recover misaligned .fbdb files. BlockDB files are supposed to be aligned to 20 bytes. Misalignment might happen if writing didn&#039;t finish properly - e.g. power outage, or ungraceful shutdown.&lt;br /&gt;
*Change: Improved consistency of exit codes in [[HeartbeatSaver]], [[MapConverter]], and [[MapRenderer]].&lt;br /&gt;
&lt;br /&gt;
===0.632===&lt;br /&gt;
&#039;&#039;14 September 2012 - r1765&#039;&#039;&lt;br /&gt;
*Feature: Added standalone [[HeartbeatSaver]] utility, a heartbeat-sending daemon.&lt;br /&gt;
*Feature: Added a way to specify scale/turbulence/seed for cloudy brush.&lt;br /&gt;
*Feature: Renamed &amp;quot;IRC&amp;quot; LogType to &amp;quot;IRCStatus&amp;quot;, and added &amp;quot;IRCChat&amp;quot; LogType. Check your configs.&lt;br /&gt;
*Fix: Fixed the updater. You&#039;ll have to update from version 0.631 manually (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed a bug related to multiple players trying to join an almost-full server at the same time.&lt;br /&gt;
*Fix: Fixed a rare InvalidOperationException crash in ConfigGUI.&lt;br /&gt;
*Fix: Fixed reversed order in {{cmd|BlockInfo}} (thanks recon_).&lt;br /&gt;
*Fix: Fixed a few formatting errors in feedback messages.&lt;br /&gt;
*Fix: Fixed a rare disconnect related to a spectator trying to follow a spectatee to a full world.&lt;br /&gt;
*Fix: Fixed {{cmd|Hide}} not showing a fake disconnect message when needed.&lt;br /&gt;
*Fix: Fixed {{cmd|WRename}} prompting for file overwrite when changing capitalization in a world name.&lt;br /&gt;
*Fix: Fixed UndoArea/UndoAreaNot and UndoPlayer/UndoPlayerNot messages occasionally getting mixed up.&lt;br /&gt;
*Fix: Fixed players being unable to join the server if access restrictions prevent them from joining the rank-specific main world.&lt;br /&gt;
*Fix: {{cmd|WRemove}} now correctly handles removing rank-main worlds.&lt;br /&gt;
*Fix: Fixed a case where newlines in PlayerInfo or IPBanInfo fields would cause record corruption.&lt;br /&gt;
*Fix: Fixed reversed messages in {{cmd|DoNotMark}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed ServerCLI sometimes staying open, waiting on console input, when it&#039;s supposed to shut down or restart.&lt;br /&gt;
*Change: Sped up &amp;quot;cloudy&amp;quot; brush when working with large draw commands.&lt;br /&gt;
*Change: Crash reporter now submits list of names and versions of all loaded assemblies, to help identify mismatched or missing dependencies.&lt;br /&gt;
*Change: Added logging to every confirmation prompt, &amp;quot;/ok&amp;quot;, {{cmd|BlockDB}} enabling/disabling/clearing, {{cmd|ZRemove}}, {{cmd|InfoSwap}}, and {{cmd|Env}}.&lt;br /&gt;
*Change: Any pending confirmations are now reset on world change.&lt;br /&gt;
*Change: Added /I as an alias for {{cmd|Info}}, and /CS as an alias for {{cmd|CopySlot}}.&lt;br /&gt;
*Change: Removed &amp;quot;marbled&amp;quot; brush (&amp;quot;cloudy&amp;quot; works just as well) and FCMv4 map format support (development canceled).&lt;br /&gt;
*Change: {{cmd|Where}} command now only requires {{perm|ViewOthersInfo}} permission to see other players&#039; whereabouts. It can be used by anyone on self.&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.631===&lt;br /&gt;
&#039;&#039;5 September 2012 - r1741&#039;&#039;&lt;br /&gt;
*Feature: Added a way to restrict commands to match online players&#039; names only, by prefixing the name with an exclamation mark (!). See [[Command Tips]] for more.&lt;br /&gt;
*Feature: Added {{cmd|DoNotMark}} command. When toggled on, clicking on blocks does not cause marks to be added to a selection.&lt;br /&gt;
*Fix: Included MapConverter.exe and MapRenderer.exe in list of protected filenames.&lt;br /&gt;
*Fix: Fixed a potential crash in Paths.FileExists when working in case-sensitive mode in a root directory.&lt;br /&gt;
*Fix: Fixed ConfigGUI not loading permission limits properly (thanks recon_).&lt;br /&gt;
*Fix: Added missing fake connection message when using non-silent {{cmd|Unhide}} (thanks Wundsalz).&lt;br /&gt;
*Change: Improvements to fCraft&#039;s built-in crash reporter.&lt;br /&gt;
*Change: Blocks redone with {{cmd|Redo}} are now flagged as &amp;quot;Redone&amp;quot; in /BlockInfo (instead of &amp;quot;UndoneSelf&amp;quot;), [[/Paint|painted]] blocks as &amp;quot;Painted&amp;quot; (instead of &amp;quot;Manual, Replaced&amp;quot;).&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.630===&lt;br /&gt;
&#039;&#039;4 September 2012 - r1727&#039;&#039;&lt;br /&gt;
*Feature: New permissions! {{perm|FlushWorlds}} (previously part of {{perm|ManageWorlds}}), {{perm|UseTimers}} (previously part of {{perm|Say}}), and {{perm|UndoAll}}.&lt;br /&gt;
*Feature: Added ability to undo multiple players&#039; actions at once, or EVERYONE&#039;s actions at once, using {{cmd|UndoPlayer}} and {{cmd|UndoArea}}. Command syntax changed, see wiki.&lt;br /&gt;
*Feature: {{cmd|Info}} now shows whether minecraft.net accounts are free or paid.&lt;br /&gt;
*Feature: Added special &amp;quot;skip&amp;quot;/&amp;quot;none&amp;quot; blocktype, usable with brushes and draw commands.&lt;br /&gt;
*Feature: Added ability to clear world/zone whitelists and blacklists. Use &amp;quot;-*&amp;quot; in place of player name to clear whitelist, and &amp;quot;+*&amp;quot; to clear blacklist.&lt;br /&gt;
*Feature: Added a way to remove all zones in a world, {{cmd|ZRemove|*}}.&lt;br /&gt;
*Feature: Added {{cmd|UndoAreaNot}} (/uan) and {{cmd|UndoPlayerNot}} (/upn), which reverse changes made by everyone EXCEPT the given player(s).&lt;br /&gt;
*Feature: Added [[MapConverter]] and [[MapRenderer]] utilities.&lt;br /&gt;
*Feature: {{cmd|CuboidW}} now supports optionally filling sides and center with different blocktypes, e.g. &amp;quot;/cw white blue red&amp;quot;.&lt;br /&gt;
*Fix: Fixed ServerCLI launching the wrong fCraft binary after running the updater.&lt;br /&gt;
*Fix: Fixed a missing warning in {{cmd|Gen}} when map height is not a multiple of 16.&lt;br /&gt;
*Fix: Fixed a rare case of players receiving desynchronized copies of maps where draw commands are in progress.&lt;br /&gt;
*Fix: Fixed a crash in {{cmd|Commands|&amp;lt;Category&amp;gt;}}&lt;br /&gt;
*Fix: Fixed potential crashes when working with files in root directories (e.g. C:/)&lt;br /&gt;
*Fix: Improved {{cmd|BanEx}} logging.&lt;br /&gt;
*Fix: Improved support for Myne/MyneCraft/HyveBuild/iCraft maps.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog in ConfigGUI defaulting to 20 minutes, instead of &amp;quot;(default)&amp;quot;.&lt;br /&gt;
*Fix: Fixed SaveInterval and BackupInterval being limited to just 100 seconds/minutes in ConfigGUI (thanks Hellenion).&lt;br /&gt;
*Fix: Improved consistency of timestamp format in logs (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed being unable to remove world greetings via {{cmd|WSet}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed IRC bot cutting off long messages (thanks Hellenion).&lt;br /&gt;
*Change: Improved performance of {{cmd|Gen}}, {{cmd|WLoad}}, world loading, and all BlockDB-related commands.&lt;br /&gt;
*Change: Adjustments to block names and aliases, as well as command aliases.&lt;br /&gt;
*Change: Merged {{cmd|Cancel}} and /Nvm commands.&lt;br /&gt;
*Change: &amp;quot;&amp;amp;N&amp;quot; is now usable as a &amp;quot;newline&amp;quot; constant in all configurable strings (rules, announcements, greetings, etc), and &amp;quot;%N&amp;quot; is usable by players with {{perm|UseColorCode}} permissions.&lt;br /&gt;
*Change: Made {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} usable by frozen players.&lt;br /&gt;
*Change: Added a warning to /Colors regarding the minimum rank required to use colorcodes in chat (thanks Jonty800).&lt;br /&gt;
*Change: Ignoring a player no longer prevents you from seeing {{cmd|Say}} messages written by them.&lt;br /&gt;
*Change: {{cmd|Paint}}, {{cmd|Solid}}, {{cmd|Grass}}, {{cmd|Water}}, and {{cmd|Lava}} are no longer usable by players without Build permission, and dont show up in /Commands for them.&lt;br /&gt;
*Change: Clarified {{cmd|ZEdit}} messages when trying to remove self from blacklist, or add yourself to whitelist.&lt;br /&gt;
*Change: {{cmd|Mute}}, {{cmd|Unmute}}, {{cmd|Freeze}}, and {{cmd|Unfreeze}} are now also usable on offline players.&lt;br /&gt;
*Change: Session threads are no longer marked as &amp;quot;background&amp;quot;, to prevent unexpected side effects from session threads being aborted on shutdown. This might slow down shutdown a bit, but there is less to go wrong.&lt;br /&gt;
*Change: World greetings can now support constants.&lt;br /&gt;
*Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.&lt;br /&gt;
*Change: Process exit code is now set to match ShutdownReason.&lt;br /&gt;
*API: Added ChatTimer.Started and ChatTimer.Stopped events, rewrote BlockDB, MapConversion, and IsoCat APIs.&lt;br /&gt;
*API: Many documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.624===&lt;br /&gt;
&#039;&#039;16 July 2012 - r1636&#039;&#039;&lt;br /&gt;
*Fix: Fixed BlockDB time-limiting code trimming too much data from the database.&lt;br /&gt;
*Fix: CommandBook ban import now accepts any filename that ends with &amp;quot;.csv&amp;quot;, not just &amp;quot;bans.csv&amp;quot;.&lt;br /&gt;
*Fix: ServerCLI no longer crashes upon receiving EOF from console.&lt;br /&gt;
*Fix: Fixed a rare case of hidden players being revealed (briefly) when their rank is changed.&lt;br /&gt;
*Fix: Fixed [[/Spectate]] leaving ghost players behind on world change (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed a couple typos in [[/WLock]] and [[/WUnlock]] (thanks ImNoobSoWhat).&lt;br /&gt;
*Change: Added server name to [[/ServerInfo]]&lt;br /&gt;
*Change: If opening a link fails (from ConfigGUI or ServerGUI), the URL is copied to clipboard, instead of crashing.&lt;br /&gt;
*Change: &amp;quot;[[/Import]] bans&amp;quot; no longer prints a message for every player who&#039;s already banned, instead showing a total number of already-banned players at the end.&lt;br /&gt;
*Change: Added a missing &amp;quot;Copy&amp;quot; context menu to the ServerGUI&#039;s log box (thanks to Jonty800).&lt;br /&gt;
*Change: fCraft front-ends now check fCraft.dll&#039;s assembly version, and refuse to start if there is a mismatch (Thanks Zaneo).&lt;br /&gt;
&lt;br /&gt;
===0.623===&lt;br /&gt;
&#039;&#039;9 July 2012 - r1624&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in [[/PasteX]] and [[/PasteNotX]].&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] crash when given a non-banned IP address.&lt;br /&gt;
*Fix: Fixed a crash in Player.DetectChatSpam if AntiSpam was supposed to be disabled.&lt;br /&gt;
*Fix: Fixed typos in comments and messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed a crash in [[/ZAdd]] (thanks thelonedrummer18).&lt;br /&gt;
&lt;br /&gt;
===0.622===&lt;br /&gt;
&#039;&#039;6 July 2012 - r1619&#039;&#039;&lt;br /&gt;
*Feature: ServerGUI message log is now color-coded, easier to select/copy/paste, and featuring clickable links.&lt;br /&gt;
*Fix: Fixed several regressions in [[/Hide]] and [[/Spectate]] that were introduced in 0.620-0.621 (thanks mark_b).&lt;br /&gt;
*Fix: Fixed [[/Deafen]] being usable from console (thanks phonebookguy).&lt;br /&gt;
*Fix: Fixed a crash in Paste/PasteNot/PasteX/PasteNotX (thanks Grant).&lt;br /&gt;
*Misc: Updated some draw command messages, credits, help entries, warnings.&lt;br /&gt;
&lt;br /&gt;
===0.621===&lt;br /&gt;
&#039;&#039;5 July 2012 - r1612&#039;&#039;&lt;br /&gt;
*Feature: Added CommandBook banlist (bans.csv) support to [[/Import]].&lt;br /&gt;
*Feature: Added a way to list all players of a certain rank with &amp;quot;[[/Info]] @ClassName&amp;quot;.&lt;br /&gt;
*Feature: Added {PLAYER_LIST} variable, for use in greetings/announcements/rules.&lt;br /&gt;
*Fix: Fixed changes to DefaultBackupInterval config key not being applied.&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] showing &amp;quot;players on same IP&amp;quot; for players without a recorded IP address.&lt;br /&gt;
*Fix: Fixed fCraft occasionally using localized datetime and number formatting.&lt;br /&gt;
*Fix: Fixed [[/Cut]] storing the selected blocks before checking player&#039;s draw limit (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed [[/Fill2D]] starting a selection even if command parameters could not be parsed (thanks David00143).&lt;br /&gt;
*Fix: Fixed [[/Copy]] and [[/Cut]] reporting incorrect origin information (thanks nope__avi).&lt;br /&gt;
*Fix: Players who are spectating or being spectated by you are no longer hidden from the tab player list (thanks ruggedbear).&lt;br /&gt;
*Change: If multiple players are spectating the same player, they no longer see each other (thanks Hellenion).&lt;br /&gt;
*Change: Small improvements and fixes to [[/WSet]] and to AntiSpam functionality.&lt;br /&gt;
*Change: Sped up PlayerDB loading on startup.&lt;br /&gt;
*Change: Added shortcuts for [[/SetInfo]] field names.&lt;br /&gt;
&lt;br /&gt;
===0.620===&lt;br /&gt;
&#039;&#039;17 June 2012 - r1592&#039;&#039;&lt;br /&gt;
*Feature: WoM Direct description and flags can now be set from config, without the need to go to WoM Direct website.&lt;br /&gt;
*Feature: Added a new [[/WSet]] command, that allows hiding worlds, changing backup settings, and setting greeting messages.&lt;br /&gt;
*Feature: More [[/WInfo]] information is persisted across server restarts: IsLocked, LockedBy, UnlockedBy, LoadedBy, LoadedOn, MapChangedBy, MapChangedOn.&lt;br /&gt;
*Feature: Added IRCStripMinecraftColors config key (default: true). It determines whether Minecraft colorcodes (ampersand codes) entered on IRC should be removed before showing the message in-game.&lt;br /&gt;
*Fix: Fixed incorrect percentages occasional being printed by [[/Measure]], [[/Cancel]], and [[/Undo]].&lt;br /&gt;
*Fix: Locked worlds remain locked after server restart.&lt;br /&gt;
*Fix: Addressed many flaws and glitches in the backup system.&lt;br /&gt;
*Fix: Fixed a case where draw commands that affected no blocks caused division by zero&lt;br /&gt;
*Fix: Fixed a PlayerDB record corruption bug that affected numbers over 100,000,000.&lt;br /&gt;
*Fix: Fixed a stability issue related to LineWrapper (thanks Kevinsweijen and Mc_MrCat).&lt;br /&gt;
*Fix: Fixed IRC markup codes being forwarded to the server in IRC&#039;s channel-kick messages.&lt;br /&gt;
*Fix: Fixed [[/Unmute]] not checking rank limits (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;IP&amp;gt;&amp;quot; and &amp;quot;[[/BanAll]] &amp;lt;PlayerName&amp;gt;&amp;quot; not checking ban exemptions when kicking players (thanks BobKare).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;PlayerName&amp;gt;&amp;quot; not kicking all the players from IP address.&lt;br /&gt;
*Fix: Fixed Undo/Redo messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed compatibility with Mono 2.10.8.1 (thanks Hawkzeh).&lt;br /&gt;
*Change: Removed [[/WHide]] and [[/WUnhide]] (obsoleted by [[/WSet]]).&lt;br /&gt;
&lt;br /&gt;
===0.618===&lt;br /&gt;
&#039;&#039;22 April 2012 - r1568&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in ConfigGUI when trying to sort by map size and a map file is missing (thanks Moose).&lt;br /&gt;
*Change: Ampersands are no longer allowed in chat, even escaped, due to unpredictable Minecraft client behavior.&lt;br /&gt;
&lt;br /&gt;
===0.617===&lt;br /&gt;
&#039;&#039;21 April 2012 - r1564&#039;&#039;&lt;br /&gt;
*Feature: [[/BInfo]] now accepts optional XYZ coordinates, like [[/Mark]].&lt;br /&gt;
*Fix: Added a workaround for &amp;quot;Internal error Flush&amp;quot; under Mono.&lt;br /&gt;
*Fix: Fixed [[/WBring]] printing incorrect usage syntax (thanks recon_)&lt;br /&gt;
*Fix: Fixed typo in [[/BlockDB]] (thanks xN8Gx)&lt;br /&gt;
*Fix: Fixed IRC bots not binding to the specified local endpoint.&lt;br /&gt;
*Fix: Fixed &amp;quot;PreviousRank&amp;quot; not getting updated by [[/SetInfo]] working (thanks nope__avi)&lt;br /&gt;
*Fix: Fixed several rare stability issues (thanks Kevinsweijen).&lt;br /&gt;
*Fix: Fixed [[/Undo]] and [[/Redo]] producing odd log messages if 0 blocks have been changed.&lt;br /&gt;
*&amp;lt;s&amp;gt;Change: Allowed &#039;&amp;amp;&#039; character (ampersand) to be entered in chat, which is now escaped.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===0.616===&lt;br /&gt;
&#039;&#039;10 March 2012 - r1498&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Import]] terminating when importing bans, if a player with the given name is already banned.&lt;br /&gt;
*Fix: Fixed a formatting error in [[/Bring]] and [[/WBring]] confirmation messages.&lt;br /&gt;
*Fix: Fixed mixed-up messages in [[/WAccess]] and [[/WBuild]] when removing players from blacklist/whitelist (thanks ruggedbear and xN8Gx)&lt;br /&gt;
*Fix: Fixed [[/Static]] not turning off after switching worlds (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed [[/Rotate]] printing incorrect copyslot number (thanks Mc_MrCat)&lt;br /&gt;
*Fix: Fixed a ServerGUI crash when pressing the down arrow key after typing in the first console message (thanks Jason)&lt;br /&gt;
*Fix: [[/Me]] messages no longer count towards stats twice (thanks recon_)&lt;br /&gt;
*Fix: [[/Mute]] and [[/Unmute]] now usable with &amp;quot;-&amp;quot; in place of player name (thanks thelonedrummer18)&lt;br /&gt;
*Fix: Fixed README.txt typo (thanks Wolfmade)&lt;br /&gt;
&lt;br /&gt;
===0.615===&lt;br /&gt;
&#039;&#039;2 February 2012 - r1445&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Patrol]] checking Spectate permission, and [[/SpecPatrol]] not checking it.&lt;br /&gt;
*Fix: Fixed [[/WRename]] not updating player&#039;s last-used-world-name (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed colorcodes (%-codes) not getting applied consistently (thanks BobKare)&lt;br /&gt;
*Fix: Fixed a rare name-verification issue that only affected players whose ranks have been imported (thanks Mc_MrCat)&lt;br /&gt;
*Fix: ServerGUI now correctly interprets &amp;quot;Notify&amp;quot; and &amp;quot;Auto&amp;quot; updater settings.&lt;br /&gt;
*Change: Data backups are now stored in ./databackups/ directory.&lt;br /&gt;
&lt;br /&gt;
===0.614===&lt;br /&gt;
&#039;&#039;24 January 2012 - r1426&#039;&#039;&lt;br /&gt;
*Fix: Fixed server crashing if PlayerDB.txt exists but is empty.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Join]] -&amp;quot; using player names, and &amp;quot;[[/TP]] -&amp;quot; using world names.&lt;br /&gt;
*Fix: Solved File.Replace-related errors, which caused occasional save failures.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking caller&#039;s Spectate permission limit when selecting the next target.&lt;br /&gt;
*Fix: Fixed &amp;quot;random&amp;quot; brush producing obvious repeating patterns.&lt;br /&gt;
*Fix: Fixed auto-updater occasionally freezing when attempting to &amp;quot;Restart Now&amp;quot;.&lt;br /&gt;
*Fix: Added permission limit check to [[/Unfreeze]] (thanks Xb0x4d4m)&lt;br /&gt;
*Fix: Improved the way [[/Bring]] and [[/WBring]] enforce access permissions (thanks Hellenion)&lt;br /&gt;
*Change: Added more information about player connects/disconnects to log file.&lt;br /&gt;
&lt;br /&gt;
===0.613===&lt;br /&gt;
&#039;&#039;11 January 2012 - r1401&#039;&#039;&lt;br /&gt;
*Fix: Fixed ConfigGUI not saving changes to ShowConnectionMessages key.&lt;br /&gt;
*Fix: Fixed a case where ConfigGUI could crash while attempting to rename a world.&lt;br /&gt;
*Fix: All spectate permissions are now re-checked when someone gets promoted or demoted.&lt;br /&gt;
*Fix: Fixed ConfigGUI Worlds tab crash when dealing with zoned maps.&lt;br /&gt;
*Fix: Fixed IRC bot not retrying for desired nickname after reconnecting&lt;br /&gt;
*Fix: Fixed a case where editing a world via ConfigGUI would clear security whitelists/blacklists.&lt;br /&gt;
*Fix: Fixed spectating players not being treated as hidden (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed formatting in &amp;quot;Player ___ got auto-kicked&amp;quot; message (thanks BobKare)&lt;br /&gt;
*Fix: Fixed auto-kick revealing hidden players (thanks BobKare)&lt;br /&gt;
*Fix: Fixed RandomBrush-related [[/Undo]] artifacts in [[/Triangle]] (thanks Lunara_Noctis)&lt;br /&gt;
&lt;br /&gt;
===0.612===&lt;br /&gt;
&#039;&#039;14 December 2011 - r1307&#039;&#039;&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] @Rank&amp;quot; not autocompleting rank names.&lt;br /&gt;
*Fix: Fixed compatibility with legacy PlayerDB format versions. PlayerDB files created by fCraft 0.400+ will work again.&lt;br /&gt;
*Fix: Fixed several syntax problems and crashes in /Gen.&lt;br /&gt;
*Fix: Fixed a bug that reset a world&#039;s BackupInterval to default and IsLocked flag to false after changing the map (backport from 0.700).&lt;br /&gt;
*Fix: Fixed a bug that prevented kicks/bans/promotions/demotions from being announced on IRC if no reason was given.&lt;br /&gt;
*Change: Capped all user-entered time spans at 9999 days.&lt;br /&gt;
*Change: Shortened and clarified some confirmation prompts ([[/Gen]], [[/WLoad]], [[/ZRemove]], [[/Import]], [[/MassRank]]).&lt;br /&gt;
&lt;br /&gt;
===0.611===&lt;br /&gt;
&#039;&#039;3 December 2011 - r1282&#039;&#039;&lt;br /&gt;
*Feature: Added information about periodic backups to [[/WInfo]].&lt;br /&gt;
*Fix: Fixed [[/Players]] not working properly if both world name and offset were given.&lt;br /&gt;
*Fix: Fixed [[/WAccess]], [[/WBuild]], and [[/ZEdit]] not working with one-letter rank names.&lt;br /&gt;
*Fix: Fixed [[/BanIP]], /BanAll, /UnbanIP, and /UnbanAll treating fully numeric player names as IPs.&lt;br /&gt;
*Fix: Fixed [[/SetInfo]] not resetting PlayerInfo.LastModified date.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] populated&amp;quot; revealing worlds with hidden players.&lt;br /&gt;
*Fix: Fixed [[/BringAll]] ignoring per-rank limits in some cases (thanks ferny530)&lt;br /&gt;
*Fix: Fixed appearance of black and white blocks in [[/Env]] edges (thanks Jonty)&lt;br /&gt;
*Fix: Fixed a bug in Position.Equals&amp;lt;Position&amp;gt;(), which may have caused unnecessary position updates in Player.UpdateVisibleEntities (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed a little crash in Chat.GetRawMessageType (thanks ruggedbear)&lt;br /&gt;
*Fix: Fixed a case where Player.CanPlace checked permissions against the wrong world&#039;s BuildSecurity controller (thanks Xesdra)&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Commands]] @Rank&amp;quot; showing hidden commands (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed a typo in [[/Worlds]] (thanks Kevinsweijen)&lt;br /&gt;
*Fix: Fixed BlockDBAutoEnable and BlockDBAutoEnableRank config keys being placed in the &amp;quot;General&amp;quot; section.&lt;br /&gt;
*Change: Improved config.xml format (now version 152). Configs created with fCraft 0.611+ will not be usable with older versions of fCraft.&lt;br /&gt;
*Change: Rewrote ServerGUI startup code to make it more responsive (thanks to 800craft for the idea).&lt;br /&gt;
*Change: Added information about command-line options to the README, and fixed some typos.&lt;br /&gt;
*Change: MaxConnectionsPerIP restriction no longer applies to localhost.&lt;br /&gt;
*Change: Increased block-ratio limit for &amp;quot;random&amp;quot;, &amp;quot;cloudy&amp;quot;, and &amp;quot;marbled&amp;quot; brushes from 1000 to 10,000.&lt;br /&gt;
&lt;br /&gt;
===0.610===&lt;br /&gt;
&#039;&#039;18 November 2011 - r1240&#039;&#039;&lt;br /&gt;
*Feature: Added [[/Fill2D]] (/f2d), [[/Triangle]] (/t), and [[/TriangleW]] (/tw) draw commands.&lt;br /&gt;
*Feature: Added ability to filter [[/Worlds]] by rank.&lt;br /&gt;
*Feature: Added [[/Static]] (a way to repeat selection commands).&lt;br /&gt;
*Feature: Added MaxUndoStates config key (how many steps back can [[/Undo]] go), and ConfigGUI bindings.&lt;br /&gt;
*Feature: Added experimental IP-range lookup to [[/Info]] (CIDR notation). Changed /Info pattern-matching single-character symbol from &#039;.&#039; to &#039;?&#039;&lt;br /&gt;
*Feature: Added pagination to [[/Players]].&lt;br /&gt;
*Feature: [[/Spectate]] and [[/SpecPatrol]] now show what commands, PMs, and rank messages the target types in.&lt;br /&gt;
*Feature: Added a way to change server salt without needing a restart, using &amp;lt;code&amp;gt;[[/Reload]] Salt&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: [[/Measure]] now shows statistics about block types in the selection.&lt;br /&gt;
*Feature: [[/Gen]] now has two new templates: &amp;quot;ocean&amp;quot; and &amp;quot;empty&amp;quot;&lt;br /&gt;
*Fix: Many fixes in name-retyping functionality.&lt;br /&gt;
*Fix: Addressed stability issues in LineWrapper and Undo/Redo.&lt;br /&gt;
*Fix: Fixed [[/WLock]] not canceling all draw commands (as intended).&lt;br /&gt;
*Fix: Fixed some outdated descriptions, links, and tooltips in ConfigGUI.&lt;br /&gt;
*Fix: Fixed being able to BanIP/BanAll/UnbanIP/UnbanAll invalid IP addresses (0.0.0.0 and 255.255.255.255).&lt;br /&gt;
*Fix: Fixed [[/Info]] printing a blank page (instead of the last page) if given offset is greater than the total number of matches.&lt;br /&gt;
*Fix: Fixed rank prefixes being appended to players&#039; names if DisplayedName is set.&lt;br /&gt;
*Fix: Fixed a couple rare crashes/hangs in ServerGUI when parsing console commands.&lt;br /&gt;
*Fix: Fixed [[/Ban]] and [[/Unban]] announcing when they&#039;re not supposed to.&lt;br /&gt;
*Fix: Fixed a potential crash in [[/BanInfo]] when looking up an IP address directly (no player name).&lt;br /&gt;
*Fix: Fixed another obscure way of revealing hidden players.&lt;br /&gt;
*Fix: Fixed Beta client kick message (thanks Voziv).&lt;br /&gt;
*Fix: Fixed [[/Commands]] defaulting to printing ALL commands.&lt;br /&gt;
*Fix: Fixed [[/Undo]] trying to re-cancel canceled commands.&lt;br /&gt;
*Fix: Fixed uncaught &amp;quot;Illegal characters in path.&amp;quot; exception when trying to save a [[/Gen]]&#039;erated map to an invalid filename.&lt;br /&gt;
*Fix: Fixed typos in [[/ReplaceNot]] and [[/UndoArea]].&lt;br /&gt;
*Change: Added a warning on startup if name verification is disabled.&lt;br /&gt;
*Change: Tweaks and improvements to [[/Info]], [[/WInfo]], [[/BanInfo]], [[/SetInfo]], and [[/Commands]].&lt;br /&gt;
*Change: Removed code that tries next port if the given one could not be used. Now fCraft either starts on the port specified in config, or dies.&lt;br /&gt;
*Change: Commands now complain about being given too many parameters (in addition to complaining about too few parameters). This should help catch mistyped commands.&lt;br /&gt;
*Change: Added an option to disable giant-tree generation in ConfigGUI&#039;s map generator.&lt;br /&gt;
*Change: Changed log format for bans/kicks to include more information, and fixed log message format for &amp;quot;Player ____ logged in from an IP shared by banned players...&amp;quot;&lt;br /&gt;
*Change: Included config.xml in the automated data backup.&lt;br /&gt;
*Change: ConfigGUI tweaks and improvements.&lt;br /&gt;
*Change: Changes some aliases:&lt;br /&gt;
**Added /Whois and /WhoWas as aliases for [[/Info]].&lt;br /&gt;
**Set &amp;quot;/B&amp;quot; and &amp;quot;/About&amp;quot; to be aliases for [[/BInfo]].&lt;br /&gt;
*Change: Changed some ConfigKey defaults:&lt;br /&gt;
**BlockDBEnabled defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
**WomEnableEnvExtensions defaults to &amp;quot;false&amp;quot;&lt;br /&gt;
**IRCBotAnnounceServerEvents defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
*Change: Discontinued ServerWinService (formerly fCraftWinService) subproject.&lt;br /&gt;
*API: Improved Vector3I, Vector3F, and Position classes a bit.&lt;br /&gt;
*API: New events: DrawOperation.Beginning / Began / Ended&lt;br /&gt;
*API: Changed the way PlayerInfo stores empty string fields. Instead of a 0-length string, it now uses nulls.&lt;br /&gt;
*Optimization: Sped up PlayerDB loading/saving, and boolean ConfigKey lookup.&lt;br /&gt;
&lt;br /&gt;
===0.604===&lt;br /&gt;
&#039;&#039;23 October 2011 - r1155&#039;&#039;&lt;br /&gt;
*Feature: Added support for repeating previously-entered player and world names. Just put a dash (-) in place of the player/world name when using a command, and fCraft will fill in the most-recently-used name.&lt;br /&gt;
*Fix: Fixed an occasional SecurityController-related crash in [[/Gen]], [[/WLoad]], and ConfigGUI world editor.&lt;br /&gt;
*Fix: Fixed an very rare problem in shutdown/restart commands.&lt;br /&gt;
*Fix: Fixed a rare crash that only happened if: MaxPlayers&amp;gt;128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.&lt;br /&gt;
*Fix: Fixed naming of paste/pastenot and pastex/pastenotx&lt;br /&gt;
*Fix: Fixed a permission exploit in /wbring (thanks to panda100123)&lt;br /&gt;
*Fix: Fixed [[/Rules]] section finder accidentally being case-sensitive.&lt;br /&gt;
*Fix: Fixed an issue with MCSharp/MCZall/MCLawl/MCQuai/MCStorm/MCForge/MCWhatever importer.&lt;br /&gt;
*Change: Decreased shading strength in IsoCat renderer.&lt;br /&gt;
*Change: Added /Who as an alias for [[/Players]], by request.&lt;br /&gt;
*Change: Clarified ConfigGUI description of name verification settings.&lt;br /&gt;
*Change: Normalized command name capitalization. Command names must now start with an uppercase letter, for consistency.&lt;br /&gt;
*API: Fixed inconsistencies in PlayerDB.txt header row format declaration.&lt;br /&gt;
&lt;br /&gt;
===0.603===&lt;br /&gt;
&#039;&#039;20 October 2011 - r1142&#039;&#039;&lt;br /&gt;
*Fix: [[/Cancel]] can no longer be repeated with &amp;quot;/&amp;quot; (no longer replaces previously-called command).&lt;br /&gt;
*Fix: Fixed [[/Rotate]] and [[/Mirror]] messing up if a paste command is in progress.&lt;br /&gt;
*Fix: Re-enabled crash interception and reporting.&lt;br /&gt;
&lt;br /&gt;
===0.602===&lt;br /&gt;
&#039;&#039;18 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Feature: One-click paste commands are now the default. Two-click aligned paste commands are now known as [[/PasteX]] (/PX) and [[/PasteNotX]].&lt;br /&gt;
*Feature: Added [[/ReplaceBrush]] (/RB) command (shortcut for &amp;lt;code&amp;gt;[[/Brush]] ReplaceBrush&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;[[/Cuboid]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: Added a way to change number of copy/paste slots per rank from ConfigGUI.&lt;br /&gt;
*Fix: Fixed a few typos and missing help entries.&lt;br /&gt;
*Fix: Fixed DrawOp completion message and log entry.&lt;br /&gt;
*Fix: Fixed [[/Paste]] and [[/PasteNot]] not properly clipping against world boundaries.&lt;br /&gt;
*Fix: Fixed ConfigGUI not preserving environment settings for worlds.&lt;br /&gt;
*Fix: Fixed ConfigGUI losing some worlds and showing some errors when importing from 0.5xx.&lt;br /&gt;
*Fix: Fixed [[/Bring]] not being usable from console.&lt;br /&gt;
*Fix: Fixed [[/WRename]] crashing if invalid characters (from filesystem&#039;s point of view) are present in the new name.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking for Spectate permission.&lt;br /&gt;
*Fix: Fixed [[/UndoArea]]&#039;d and [[/UndoPlayer]]&#039;ed blocks having &amp;quot;Restored&amp;quot; flag set in /bi&lt;br /&gt;
*Fix: Fixed a detached checkbox on &amp;quot;Worlds&amp;quot; tab of ConfigGUI.&lt;br /&gt;
*Fix: Fixed [[/Say]], [[/Staff]], and [[/Me]] getting logged twice.&lt;br /&gt;
*Fix: Fixed per-world backup settings being cleared on server restart.&lt;br /&gt;
*Fix: Fixed a rare NullReferenceException in WorldManager.LoadWorldList that occurred if the main world was missing, and the fallback world had access restrictions.&lt;br /&gt;
*Fix: Fixed some issues with BlockDB settings in &amp;quot;Add World&amp;quot; and &amp;quot;Edit World&amp;quot; popups of ConfiGUI.&lt;br /&gt;
*Fix: Fixed a rare ConfigGUI crash when resetting the rank tab whole one of the old ranks is selected.&lt;br /&gt;
*Change: Sped up [[/EllipsoidH]] and [[/SphereH]] slightly (thanks to Redshift).&lt;br /&gt;
*Change: Improved error handling in [[/Env]] when setting level.&lt;br /&gt;
*Change: Double-buffered the preview on &amp;quot;Chat&amp;quot; tab of ConfigGUI, to get rid of flicker.&lt;br /&gt;
*Change: Clarified auto-freeze message when trying to kick/ban someone without a required reason string.&lt;br /&gt;
&lt;br /&gt;
===0.601===&lt;br /&gt;
&#039;&#039;15 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Fixed several issues with [[/Undo]] and drawing commands.&lt;br /&gt;
&lt;br /&gt;
===0.600===&lt;br /&gt;
&#039;&#039;14 October 2011 - r1107&#039;&#039;&lt;br /&gt;
:&#039;&#039;See [http://www.fcraft.net/0.600/ http://www.fCraft.net/0.600] for a summary of changes, and upgrade notes.&#039;&#039;&lt;br /&gt;
*Chat: Added a {{cmd|Timer}} command for creating publicly-announced countdowns/timers.&lt;br /&gt;
*Chat: Added a way to cancel partial messages: &amp;lt;code&amp;gt;/Nvm&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Chat: Removed &amp;quot;Banned player ___ tried to log in&amp;quot; and &amp;quot;Player ___ tried to log in from a banned IP&amp;quot; messages.&lt;br /&gt;
*Chat: {{cmd|Say}}, {{cmd|Staff}}, and {{cmd|Me}} commands can no longer repeated using &amp;quot;/&amp;quot; shortcut.&lt;br /&gt;
*Chat: Added a warning when trying to PM deafened players.&lt;br /&gt;
*Chat: Added a shortcut for chatting to same rank: &amp;quot;@@ Message&amp;quot;&lt;br /&gt;
*Chat: Increased the number of blank lines sent by {{cmd|Clear}} to 30, to accommodate players with smaller-than-normal font sizes.&lt;br /&gt;
*Chat Fix: Fixed {{cmd|Say}}, {{cmd|Roll}}, {{cmd|Staff}}, and {{cmd|Me}} sometimes bypassing {{perm|Chat}} permission, mute check, or spam detection check.&lt;br /&gt;
*Chat Fix: Fixed rank chat being logged twice.&lt;br /&gt;
*Chat Fix: Fixed some system messages getting through to deafened players.&lt;br /&gt;
*Chat Fix: {{cmd|Deafen}} now clears the screen when toggled on.&lt;br /&gt;
*Commands: Rank and zone names now autocomplete.&lt;br /&gt;
*Commands: Players can no longer freeze, mute, kick, ban, unban, promote, or demote themselves.&lt;br /&gt;
*Commands: {{cmd|Players}} can now be called with an optional WorldName parameter, to only list players in a particular world.&lt;br /&gt;
*Commands: {{cmd|WLoad}} now takes two more optional parameters: build rank and access rank names.&lt;br /&gt;
*Commands: {{cmd|Info}} now shows last leave reason, idle time, freeze/mute information, and ban exemption status.&lt;br /&gt;
*Commands: Augmented {{cmd|Rules}} to support several rule categories.&lt;br /&gt;
*Commands: Added {{cmd|Spectate}} and {{cmd|SpecPatrol}} (&amp;lt;code&amp;gt;/SPat&amp;lt;/code&amp;gt;) commands.&lt;br /&gt;
*Commands: Added {{cmd|WBring}} (brings target player to a world);&lt;br /&gt;
*Commands: Added {{cmd|Spawn}} command (brings you to spawn). Typing &amp;quot;{{cmd|TP}}&amp;quot; no longer does the same thing, and {{cmd|TP}} now always requires {{perm|Teleport}} permission.&lt;br /&gt;
*Commands: Algorithm that {{cmd|Patrol}} uses to pick the next target was improved.&lt;br /&gt;
*Commands: Renamed Lock/Unlock commands to {{cmd|WLock}}/{{cmd|WUnlock}}, for consistency.&lt;br /&gt;
*Commands: Merged &amp;lt;code&amp;gt;/ReloadConfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/AutoRankReload&amp;lt;/code&amp;gt; into {{cmd|Reload}} command. Merged &amp;lt;code&amp;gt;/ImportRanks&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/ImportBans&amp;lt;/code&amp;gt; into {{cmd|Import}} command. Combined functionality of &amp;lt;code&amp;gt;/LockAll&amp;lt;/code&amp;gt; into {{cmd|WLock}}, and functionality of &amp;lt;code&amp;gt;/UnlockAll&amp;lt;/code&amp;gt; into {{cmd|WUnlock}}.&lt;br /&gt;
*Commands: {{cmd|Info}} and {{cmd|Worlds}} now support pagination.&lt;br /&gt;
*Commands: When world access permissions are changed with {{cmd|WAccess}}, players who lost ability to join the world will automatically be moved to main.&lt;br /&gt;
*Commands: Frozen player can no longer call most commands, with exception of: {{cmd|Clear}}, {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|RankInfo}}, {{cmd|ServerInfo}}, {{cmd|Ranks}}, {{cmd|Rules}}, {{cmd|Where}}, {{cmd|Help}}, {{cmd|Commands}}, {{cmd|Colors}}, {{cmd|Worlds}}, {{cmd|Zones}}, and {{cmd|ZInfo}}.&lt;br /&gt;
*Commands: {{cmd|Bring}} and {{cmd|WBring}} now give the option of overriding worlds&#039; access minimum-rank. Explicitly blacklisted players will continue to be barred.&lt;br /&gt;
*Commands: Added {{cmd|InfoSwap}} command, for swapping two players&#039; ranks and PlayerDB records.&lt;br /&gt;
*Commands: Added a way to abort a server shutdown or restart (&amp;quot;{{cmd|Shutdown|abort}}&amp;quot; or &amp;quot;{{cmd|Restart|abort}}&amp;quot;).&lt;br /&gt;
*Commands: {{cmd|RankInfo}} now shows copy/paste slots, idle kick time, and permission limits.&lt;br /&gt;
*Commands: Most time-related commands now take the [[Time formatting|compact format]] (e.g. 1m30s, 45s, 24h, etc).&lt;br /&gt;
*Commands: Color-coded {{cmd|Commands}}.&lt;br /&gt;
*Commands: Limited {{cmd|Mute}} duration to range between 1 second and 700 days (100 weeks).&lt;br /&gt;
*Commands: {{cmd|SetInfo}} now allows changing players&#039; DisplayedName.&lt;br /&gt;
*Commands: A warning is now shown when a player is kicked/banned, and other players are still connected from the IP.&lt;br /&gt;
*Commands: Added a way to add IP ban exemptions using {{cmd|BanEx}} (banning all players from IP except a particular one).&lt;br /&gt;
*Commands: Added automatic countdowns to {{cmd|Shutdown}} and {{cmd|Restart}}.&lt;br /&gt;
*Commands: Added more stats to {{cmd|ServerInfo}}.&lt;br /&gt;
*Commands: {{cmd|MassRank}} now defaults to silent, and takes a &amp;quot;reason&amp;quot; parameter.&lt;br /&gt;
*Commands: Added &amp;quot;/St&amp;quot; as an alias for {{cmd|Staff}}. Changed &amp;quot;/L&amp;quot; from being alias for {{cmd|Join}}, to being alias for {{cmd|Lava}}. Removed &amp;quot;/Cub&amp;quot; alias for {{cmd|Cuboid}}.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|UnbanIP}} and {{cmd|UnbanAll}} not announcing the unban reason.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Info}} not formatting names of offline players.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Restart}} breaking under Mono if working path contains spaces.&lt;br /&gt;
*Commands Fix: Fixed freeze/unfreeze printing wrong ranks in &amp;quot;You can only freeze players ranked ____ or lower&amp;quot; messages.&lt;br /&gt;
*Commands Fix: Fixed a rare crash in {{cmd|Rules}} when used from console.&lt;br /&gt;
*Commands Fix: {{cmd|BanIP}} and {{cmd|BanAll}} no longer allow to ban the IP if it&#039;s shared by any players whom caller is not allowed to ban.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Ignore}} and {{cmd|Unignore}} printing all matches at once on autocompletion.&lt;br /&gt;
*Commands Fix: Fixed a case where {{cmd|BringAll}} could reveal hidden players.&lt;br /&gt;
*Commands Fix: Fixed a few bugs in {{cmd|DumpStats}}, expanded player listing to top-5/bottom-5, and added &amp;quot;BlocksDrawn&amp;quot; stat.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Rank}} and {{cmd|TP}} commands showing up in {{cmd|Commands}} for ALL players.&lt;br /&gt;
*Commands Fix: Fixed a couple rare bugs in {{cmd|Roll}}.&lt;br /&gt;
*Commands Fix: Fixed broken {{cmd|BringAll}} support for bringing multiple ranks at once.&lt;br /&gt;
*Commands Fix: Fixed several obscure ways of revealing presence of hidden players via commands like {{cmd|ServerInfo}} and {{cmd|Worlds}}.&lt;br /&gt;
*Config: New config keys: BackupDataOnStartup (default: true), RestartInterval (default: 0), HeartbeatToWoMDirect (default: true), BlockDBEnabled (default: true), BlockDBAutoEnable (default: true), and BlockDBAutoEnableRank (default: DefaultRank), WoMEnableEnvExtensions (default: false).&lt;br /&gt;
*Config: Added {{perm|Spectate}} permission that covers {{cmd|Spectate}} and {{cmd|SpecPatrol}}.&lt;br /&gt;
*Config: Added {{perm|DrawAdvanced}} permission that covers {{cmd|Brush}}, {{cmd|Sphere, {{cmd|SphereH}}, {{cmd|Torus}}, and {{cmd|Restore}} commands.&lt;br /&gt;
*Config: Added {{perm|ManageBlockDB}} permission that covers {{cmd|BlockDB}}.&lt;br /&gt;
*Config: Added {{perm|UndoOthersActions}} permission that covers {{cmd|UndoPlayer}} and {{cmd|UndoArea}}.&lt;br /&gt;
*Config: {{cmd|Reload}} can now update more config keys without needing a restart: AutoRankEnabled, BandwidthUseMode, ConsoleName, DefaultRank, DefaultBuildRank, PatrolledRank.&lt;br /&gt;
*Config: Removed obsolete ShowBannedConnectionMessages config key.&lt;br /&gt;
*Config Fix: Fixed DefaultRank/DefaultBuildRank/PatrolledRank settings not being applied.&lt;br /&gt;
*ConfigGUI: Added BlockDB settings to &amp;quot;Worlds&amp;quot; tab and &amp;quot;Add/Edit World&amp;quot; dialog.&lt;br /&gt;
*ConfigGUI: Reorganized Rank tab.&lt;br /&gt;
*ConfigGUI: Relaxed restrictions on rank prefixes.&lt;br /&gt;
*ConfigGUI: Added &amp;quot;Insert Color&amp;quot; and &amp;quot;Insert Keyword&amp;quot; buttons to announce/rule/greeting editors in ConfigGUI, and a &amp;quot;Reset&amp;quot; button to revert edits.&lt;br /&gt;
*ConfigGUI: Any errors/warnings that are produced while loading &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt; in ConfigGUI are now displayed at startup.&lt;br /&gt;
*ConfigGUI Fix: ConfigGUI no longer loses worlds&#039; whitelists/blacklists.&lt;br /&gt;
*ConfigGUI Fix: Fixed several bugs related to renaming worlds.&lt;br /&gt;
*ConfigGUI Fix: Fixed several &amp;quot;Reset&amp;quot; bugs.&lt;br /&gt;
*ConfigGUI Fix: Fixed &amp;quot;Enable colors in IRC&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*ConfigGUI Fix: Fixed ConfigTool&#039;s Chat tab not updating to reflect changes in rank colors/prefixes.&lt;br /&gt;
*ConfigGUI Fix: Fixed sort order in Worlds tab when sorting by world size.&lt;br /&gt;
*ConfigGUI Fix: Fixed some rank dropdown menus in ConfigGUI showing &amp;quot;(lowest rank)&amp;quot; instead of &amp;quot;(default rank)&amp;quot; as the default option.&lt;br /&gt;
*Drawing: Introduced a brush/pattern system for draw commands. Rewrote (almost) all existing draw commands to take advantage of that new infrastructure. Brushes are: Normal (default), Checkered, Random, Cloudy, Marbled, Replace, ReplaceNot, ReplaceBrush.&lt;br /&gt;
*Drawing: Added a way to {{cmd|Undo}} up to five commands back. Use {{cmd|Redo to reverse it.&lt;br /&gt;
*Drawing: Added {{cmd|Torus}} drawing command, written and contributed by M1_Abrams.&lt;br /&gt;
*Drawing: Added support for multiple copy/paste slots, using {{cmd|CopySlot}}. Number of slots of configurable per-rank.&lt;br /&gt;
*Drawing: {{cmd|Replace}} and {{cmd|ReplaceNot}} can now take just one blocktype. The replacement type is inferred from the type of block player is holding when clicking.&lt;br /&gt;
*Drawing: {{cmd|Undo}} now cancels the last drawing commands.&lt;br /&gt;
*Drawing: Added a new [[Blocks|block name aliases]]: &amp;quot;g&amp;quot; for grass, &amp;quot;w&amp;quot; for water, &amp;quot;a&amp;quot; for air.&lt;br /&gt;
*Drawing Fix: Added a missing volume check to {{cmd|Line}}, and fixed {{cmd|CuboidW}} volume calculations.&lt;br /&gt;
*Drawing Fix: Fixed {{cmd|Copy}} and {{cmd|Cut}} reporting incorrect orientation.&lt;br /&gt;
*FrontEnd: Colored ConfigCLI log messages: red for errors, yellow for warnings, dark gray for debug, default (gray) for everything else. Call with &amp;quot;--noconsolecolor&amp;quot; parameter to disable.&lt;br /&gt;
*FrontEnd: ServerCLI now handles all updater modes properly, and downloads updater/restarts if needed.&lt;br /&gt;
*FrontEnd: Improved window titles.&lt;br /&gt;
*FrontEnd Fix: Fixed ServerCLI writing errors to stdout instead of stderr.&lt;br /&gt;
*Misc: Players who log out hidden will now log in silently, still hidden.&lt;br /&gt;
*Misc: More [[Constants|keywords]] are now usable in announcements, rules, and greeting files: {SERVER_NAME}, {MOTD}, {RANK}, {PLAYER_NAME}, {TIME}, {WORLD}, {PLAYERS}, and {WORLDS}&lt;br /&gt;
*Misc: Kicked or disconnected players no longer have their TotalTime increased for the time idled.&lt;br /&gt;
*Misc: fCraft will refuse to start up if running old versions of mono (2.4 or earlier).&lt;br /&gt;
*Misc: Crash reporter now prints a reference number for submitted reports.&lt;br /&gt;
*Misc: AutoRank now only evaluates online players on a timer. A full database sweep will only be done on startup or on-demand. This should notably reduce average CPU use on large databases.&lt;br /&gt;
*Misc: Added AutoRank pseudoplayer (similar to Console), who is now credited with all autorank promotions/demotions.&lt;br /&gt;
*Misc: Increased the allowed clicking distance when manually clicking blocks, to account for lag.&lt;br /&gt;
*Misc: IRC bot now announces channel kicks and nick changes.&lt;br /&gt;
*Misc: When a player with a reserved slot tries to join a full world, the longest-idle player will be kicked to make room.&lt;br /&gt;
*Misc: Frozen, demoted, and banned players are now automatically unhidden. Frozen players are undeafened. Banned players are also automatically unfrozen and unmuted.&lt;br /&gt;
*Misc: When a player&#039;s rank is changed, their bindings are now reset (to avoid issues with {{cmd|Water}}, {{cmd|Lava}}, and {{cmd|Solid}}), and any in-progress selection is canceled ([[:Category:Requires Draw|draw]] commands, {{cmd|Zone}}, {{cmd|ZTest}}, {{cmd|BInfo}}, {{cmd|Measure}}, etc)&lt;br /&gt;
*Misc: Frozen players now have a little blue star appended to their names, similar to the red star for banned players.&lt;br /&gt;
*Misc: Moved all heartbeat-related operations to the background thread (fixes lag spikes when minecraft.net times out).&lt;br /&gt;
*Misc: Added a dynamically updated compass at the top-right of the screen, visible to players who use WoM 1.8.8+&lt;br /&gt;
*Misc: Added a check for libMonoPosix on server startup. This allows catching misconfigured Mono setups early.&lt;br /&gt;
*Misc: Ranks now default to &amp;quot;white&amp;quot; color (&amp;quot;&amp;amp;f&amp;quot;) instead of &amp;quot;none&amp;quot; color (&amp;quot;&amp;quot;).&lt;br /&gt;
*Misc: Edited the &amp;quot;failed to load main world&amp;quot; message to sound less menacing, since it&#039;s usually caused just by main world filling up.&lt;br /&gt;
*Misc: Sped up {{cmd|PruneDB}}, {{cmd|MassRank}}, map generation. Reduced memory use of draw commands, undo buffers, and ConfigGUI.&lt;br /&gt;
*Misc Fix: Fixed &amp;quot;duplicate metadata key&amp;quot; warning in FCMv3 maps.&lt;br /&gt;
*Misc Fix: Fixed a zone-related race condition when exporting to Opticraft map format.&lt;br /&gt;
*Misc Fix: Fixed fCraft being unable to start if fCraft.dll is in the root directory of a drive (e.g. in &amp;quot;C:/&amp;quot;)&lt;br /&gt;
*Misc Fix: Fixed a bug that caused bandwidth to sometimes be wasted on needlessly updating position of non-moving players.&lt;br /&gt;
*Misc Fix: Fixed a clock drift problem in periodic SchedulerTasks.&lt;br /&gt;
*Misc Fix: Fixed a case where, in some rank configurations, players would see themselves as offline when hidden (in {{cmd|Info}}, {{cmd|BInfo}}, {{cmd|Players}}, etc).&lt;br /&gt;
*PlayerDB: Added 46th column: PlayerInfo.IsHidden (&#039;h&#039; if hidden, otherwise blank).&lt;br /&gt;
*PlayerDB: Added 47th column: PlayerInfo.LastModified (UTC unix timestamp). Accuracy is not yet guaranteed.&lt;br /&gt;
*PlayerDB: Added 48th column: PlayerInfo.DisplayedName (string or blank). Overrides &amp;quot;Name&amp;quot; field for purposes of displaying formatted name (ClassyName).&lt;br /&gt;
*PlayerDB: Removed 14th column (FailedLoginCount) due to disuse.&lt;br /&gt;
*PlayerDB: PlayerDB now writes out changes to TotalTime incrementally for online players, instead of applying the change on-logout.&lt;br /&gt;
*Worlds: Added a way to change some environment and texture settings per-map, using {{cmd|Env}}.&lt;br /&gt;
*Worlds: Per-world settings on backup intervals now work.&lt;br /&gt;
*Worlds: Added BlockDB - a system for tracking edits per-block. Added related {{cmd|BlockDB}} and {{cmd|BInfo}} commands.&lt;br /&gt;
*Worlds: Added {{cmd|UndoPlayer}} and {{cmd|UndoArea}} commands for undoing players&#039; actions using BlockDB.&lt;br /&gt;
*Worlds: If a world has a missing map file, a warning is now shown, and a default flatgrass map is created.&lt;br /&gt;
*Worlds: Added a way to set per-rank main world, using {{cmd|WMain}}.&lt;br /&gt;
*Worlds: Added {{cmd|Restore}} command, inspired by good old MinerCPP. Selectively loads a map from another file or backup.&lt;br /&gt;
*Worlds: Allowed non-standard dimensions (neither multiples of 16, nor powers of 2). Added a warning about glitches when using nonstandard dimensions.&lt;br /&gt;
*Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to {{cmd|WInfo}} and to &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worlds: MapGenerator tweaks: &amp;quot;default&amp;quot; template is now known as &amp;quot;random,&amp;quot; &amp;quot;mountains&amp;quot; template now has more cliffs and snow on mountaintops, &amp;quot;island&amp;quot; template is less rough and has nice beaches, and water is now automatically removed from &amp;quot;desert&amp;quot; maps.&lt;br /&gt;
*Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.&lt;br /&gt;
*Worlds Fix: Fixed an exploit that allowed players to bypass world access permissions in certain rank configurations.&lt;br /&gt;
*Worlds Fix: Fixed some rare crashes in {{cmd|WLoad}}.&lt;br /&gt;
*Worlds Fix: Fixed {{cmd|WAccess}} and {{cmd|WBuild}} occasionally not saving the world list after adding players to the access/build whitelists.&lt;br /&gt;
*Worlds Fix: Fixed being unable to change just the capitalization when renaming worlds from ConfigGUI, under Windows.&lt;br /&gt;
*Zones: Added {{cmd|ZRename}} command to rename zones.&lt;br /&gt;
*Zones: Added {{cmd|ZMark}} command to use zone boundaries for drawing or making selections.&lt;br /&gt;
*Zones Fix: Fixed {{cmd|ZAdd}} crash when adding more than one personal zone for the same player ({{cmd|ZAdd|+Name}}).&lt;br /&gt;
*Zones Fix: Fixed a rare case where two players could simultaneously create a zone with the same name on the same world, which would crash one of the players.&lt;br /&gt;
*Zones Fix: {{cmd|Zones}} no longer crashes if used on a world with a missing or corrupt map file.&lt;br /&gt;
*Zones Fix: Tightened security checks of {{cmd|ZAdd}} and {{cmd|ZRemove}} to prevent a permission exploit.&lt;br /&gt;
*API: Added specialized MetadataCollection class to manage per-map and per-player metadata, and ZoneCollection for zones.&lt;br /&gt;
*API: Added ReSharper-compatible annotations and more argument checks throughout the codebase.&lt;br /&gt;
*API: fCraft now consistently uses [X,Y,Z] for coordinates (where X/Y are horizontal, and Z is vertical), and [Width,Length,Height] for dimensions (Width/Length horizontal, Height vertical).&lt;br /&gt;
*API: Merged Session and Player classes. All session-related functionality is in Player.Networking.cs file.&lt;br /&gt;
*API: New line-wrapping algorithm provides better performance and safety. Now using &amp;quot;\n&amp;quot; instead of &amp;quot;&amp;amp;N&amp;quot; to force a newline.&lt;br /&gt;
*API: Renamed World.PlayerList to World.Players, Server.PlayerList to Server.Players, and added PlayerDB.PlayerInfoList&lt;br /&gt;
*API: New LINQ-style API for working with sets of players. This API is now used for all messaging and packet-sending. Old API (Server.Send* and World.Send*) was removed.&lt;br /&gt;
*API: New unified API for handling player-generated chat (Chat static class), and new events (Chat.Sending and Chat.Sent).&lt;br /&gt;
*API: All cancellable events now implement ICancellableEvent.&lt;br /&gt;
*API: MapDAT and MapNBT now implement IMapConverter.LoadHeader.&lt;br /&gt;
*API: Converted IClassy.GetClassyName(), Rank.GetFullName(), and Player.GetListName() to properties.&lt;br /&gt;
*API: Renamed ConfigKey.GetBool() to ConfigKey.Enabled(). Added ConfigKey.TryGetInt() and ConfigKey.TryGetBool() methods.&lt;br /&gt;
*API: CommandManager.RegisterCommand() now checks for reserved command names (currently &amp;quot;ok&amp;quot; and &amp;quot;nvm&amp;quot;), and does a better job at handling command name capitalization differences.&lt;br /&gt;
*API: Added ability to override Player.MaxBlockPlacementRange, Player.SocketTimeout, Heartbeat.Delay, and Heartbeat.Timeout.&lt;br /&gt;
*API: Renamed RankManager.ParseRank(string) to Rank.Parse(string)&lt;br /&gt;
*API: All draw/undo/copy/paste commands have been moved to fCraft.Drawing namespace.&lt;br /&gt;
*API: Added support for multiple {{cmd|Help}} sections per command.&lt;br /&gt;
*API: Added CommandCategory.Debug, removed CommandDescriptor.HelpHander and HelpHandler delegate.&lt;br /&gt;
*API: Moved Server.Player* events to Player.* and Server.PlayerInfo* to PlayerInfo.*&lt;br /&gt;
*API: Expanded the confirmation system (&amp;lt;code&amp;gt;/OK&amp;lt;/code&amp;gt;) to allow custom callbacks, decoupled from the command system.&lt;br /&gt;
*API Fix: &amp;quot;Bad heartbeat&amp;quot; reply from minecraft.net no longer triggers UrlChanged event.&lt;br /&gt;
*API Fix: Fixed a couple bugs in BoundingBox.GetIntersection and BoundingBox.Contains.&lt;br /&gt;
*API Fix: Fixed {{cmd|Replace}} and {{cmd|ReplaceNot}} not firing Player.PlacedBlock&lt;br /&gt;
*events.&lt;br /&gt;
*API Fix: Uncaught exceptions that occur while parsing player messages no longer send crash reports when in DEBUG configuration.&lt;br /&gt;
&lt;br /&gt;
=0.5xx=&lt;br /&gt;
&lt;br /&gt;
===0.537===&lt;br /&gt;
&#039;&#039;14 September 2011 - r991&#039;&#039;&lt;br /&gt;
*Fixed another heartbeat-related issue caused by minecraft.net updates.&lt;br /&gt;
&lt;br /&gt;
===0.536===&lt;br /&gt;
&#039;&#039;14 September 2011 - r988&#039;&#039;&lt;br /&gt;
*Fix: Fixed a rare crash in DoChangeRank when promoting/demoting offline players.&lt;br /&gt;
*Fix: Fixed a case where world access/build whitelist additions were not immediately saved.&lt;br /&gt;
*Fix: Fixed several errors in the way time spans were displayed.&lt;br /&gt;
*Fix: Unhandled exceptions in background task callbacks will no longer take down the server&lt;br /&gt;
*Change: Changed the heartbeat handler to use GET instead of POST (workaround for minecraft.net problems).&lt;br /&gt;
*Change: Removed AutoLauncher.&lt;br /&gt;
&lt;br /&gt;
===0.535===&lt;br /&gt;
&#039;&#039;1 July 2011 - r702&#039;&#039;&lt;br /&gt;
*Workaround for minecraft.net heartbeat changes.&lt;br /&gt;
&lt;br /&gt;
===0.534===&lt;br /&gt;
&#039;&#039;18 June 2011 - r668&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;lt;RestartInterval&amp;gt; config key (in seconds). It should help people who are suffering from Mono memory leaks. This setting can only currently be modified by editing config.xml&lt;br /&gt;
*Fix: Fixed /wload and /gen resetting the world&#039;s hidden status.&lt;br /&gt;
*Fix: Fixed &amp;quot;Apply&amp;quot; button not getting enabled in ConfigTool when world list is changed.&lt;br /&gt;
*Fix: Fixed /cw reporting incorrect volume (fixes #3308137).&lt;br /&gt;
*Fix: Added a confirmation when /wrename will result in overwriting a map file, and fixed a related crash (fixes #3311994).&lt;br /&gt;
*Fix: Fixed FormatException in error handling code in World.AcceptPlayer&lt;br /&gt;
*Fix: Fixed /info not showing formatted names for players who appear offline.&lt;br /&gt;
*Fix: Fixed several issues with renaming worlds from ConfigTool.&lt;br /&gt;
*Fix: Fixed /restart breaking under Mono if path contains spaces.&lt;br /&gt;
*Fix: Fixed /staff, /me, and /roll commands not requiring the Chat permission.&lt;br /&gt;
*Fix: Fixed &amp;quot;Use IRC colors&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*Change: Allowed all printable ASCII characters in chat except &#039;&amp;amp;&#039;.&lt;br /&gt;
*Change: Heartbeat tweaks to prevent &amp;quot;Bad heartbeat&amp;quot; from popping up.&lt;br /&gt;
*Optimization: ConfigTool starts up faster, and uses much less memory.&lt;br /&gt;
&lt;br /&gt;
===0.533===&lt;br /&gt;
&#039;&#039;24 May 2011 - r614&#039;&#039;&lt;br /&gt;
*Fix: Fixed a regression in 0.530 that erased some strings in PlayerInfo and IPBanInfo objects, such as ban reasons.&lt;br /&gt;
*Change: Increased heartbeat interval to 27.5 seconds.&lt;br /&gt;
*Change: Reduced jitter of player movement.&lt;br /&gt;
&lt;br /&gt;
===0.532===&lt;br /&gt;
&#039;&#039;23 May 2011 - r611&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;quot;/worlds loaded&amp;quot; command.&lt;br /&gt;
*Fix: Fixed a bug that prevented worlds from accepting any block changes after a map change (/wload or /gen)&lt;br /&gt;
*Fix: Fixed &amp;quot;Player _____ joined main.&amp;quot; displaying twice when players connect.&lt;br /&gt;
*Change: Added /colours as an alias to /colors&lt;br /&gt;
*Change: Adjusted /dumpstats security checks, and made it require EditPlayerDB permission (instead of Import).&lt;br /&gt;
&lt;br /&gt;
===0.531===&lt;br /&gt;
&#039;&#039;20 May 2011 - r603&#039;&#039;&lt;br /&gt;
*Feature: /SInfo now shows bandwidth use, fCraft version, and .NET/Mono version.&lt;br /&gt;
*Feature: Added ability to use coordinates with mark (e.g. &amp;quot;/Mark 0 0 0&amp;quot;).&lt;br /&gt;
*Fix: Fixed non-default rank settings not saving properly from ConfigTool.&lt;br /&gt;
*Fix: Fixed a serialization bug in IPBanList that happened if a ban reason was not given, or if an IP address was not associated with any player.&lt;br /&gt;
*Fix: Fixed a few minor bugs in /WMain.&lt;br /&gt;
*Change: Allowed the caret (^) in chat messages.&lt;br /&gt;
*Change: Reduced movement lag.&lt;br /&gt;
*Change: /version command has been removed due to redundancy with /sinfo.&lt;br /&gt;
*Change: Detailed reasons of player disconnects are now logged better.&lt;br /&gt;
*Change: Increased Minecraft.net heartbeat interval slightly.&lt;br /&gt;
*API: Added new events: Scheduler.TaskAdded, Scheduler.TaskExecuting, Scheduler.TaskExecuted, and Scheduler.TaskRemoved. These events are only available when fCraft.dll is built with DEBUG_SCHEDULER flag because of their performance impact.&lt;br /&gt;
*Optimization: Removed the scheduler overhead from having unloaded worlds.&lt;br /&gt;
*Optimization: Sped up MapGenerator by about 10%.&lt;br /&gt;
&lt;br /&gt;
===0.530===&lt;br /&gt;
&#039;&#039;7 May 2011 - r583&#039;&#039;&lt;br /&gt;
*Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.&lt;br /&gt;
*Feature: Added OptiCraft blocktype names and blocks&#039; numeric IDs as aliases.&lt;br /&gt;
*Fix: Fixed block bindings not being applied to drawing commands.&lt;br /&gt;
*Fix: Fixed fCraft getting confused if worlds.xml contains duplicates.&lt;br /&gt;
*Fix: Fixed &amp;quot;/&amp;quot; (repeat last command) not rewinding the command, which caused some issues with command arguments.&lt;br /&gt;
*Fix: Fixed &amp;quot;Max connections per IP&amp;quot; setting not saving in ConfigTool.&lt;br /&gt;
*Fix: Fixed AnnounceRankChangeReasons checkbox being erroneously tied to RequireRankChangeReasons key in ConfigTool.&lt;br /&gt;
*Fix: Added some missing tooltips to ConfigTool.&lt;br /&gt;
*Fix: Marked 10.0.0.0/8 IP range as LAN.&lt;br /&gt;
*Fix: Fixed an issue with balanced name verification (thanks wootalyzer).&lt;br /&gt;
*Fix: Fixed server announcing hidden players&#039; departure (#3292633). Thanks to Hellenion.&lt;br /&gt;
*Fix: Fixed /bring not checking per-rank permissions (#3292303). Thanks to Denny&lt;br /&gt;
*Fix: Fixed some header bugs in the D3 map converter.&lt;br /&gt;
*Fix: Fixed /wload crashing instead of printing an error message under Mono if the path was malformed.&lt;br /&gt;
*Fix: Fixed /banip not recognizing invalid IPs (e.g. broadcast).&lt;br /&gt;
*Fix: Fixed antispam resetting players&#039; mute time.&lt;br /&gt;
*Fix: Fixed Scheduler being able to add tasks after the shutdown process started.&lt;br /&gt;
*Fix: Reduced problems associated with players trying to connect while the server is shutting down.&lt;br /&gt;
*Fix: Added autorank.xml to the list of protected files.&lt;br /&gt;
*Fix: Fixed a crash in backup system that happened if two backups ran simultaneously and the total size or number of backup files was limited.&lt;br /&gt;
*Fix: Fixed a case where duplicate worlds could be created.&lt;br /&gt;
*Change: When players rejoin a world (e.g. /wflush or /wload), &amp;quot;joined world&amp;quot; message is no longer shown.&lt;br /&gt;
*Change: /mute no longer allows shortening players&#039; mute time, only to extend it.&lt;br /&gt;
*Change: Allowed player names with periods.&lt;br /&gt;
*Change: Removed SaveOnShutdown config key, tweaked range checks on some keys, grouped key tags into section tags.&lt;br /&gt;
*Change: When saving config.xml, keys with default values are now commented out.&lt;br /&gt;
*API: New events! PlayerHideChanged, PlayerInfoCreating, PlayerInfoCreated, PlayerInfoRankChanging, and PlayerInfoRankChanged.&lt;br /&gt;
*API: Server.StartServer() now throws specific exceptions on failure, instead of returning false.&lt;br /&gt;
*API: Removed some obsolete Server events.&lt;br /&gt;
*API: Switched to 100% Utc dates/times internally. PlayerDB now uses UTC Unix timestamps to serialize all dates/times.&lt;br /&gt;
*Optimization: Sped up map generation.&lt;br /&gt;
*Optimization: Reduced PlayerDB saving interval, reduced PlayerDB filesize, reduced CPU and memory use of PlayerDB saving, reduced memory footprint of loaded PlayerDB, improved IPAddress lookup performance in PlayerDB.&lt;br /&gt;
&lt;br /&gt;
===0.522===&lt;br /&gt;
&#039;&#039;16 April 2011 - r546&#039;&#039;&lt;br /&gt;
*Feature: Added more functionality to hollow ellipsoid and sphere, thanks to Redshift. Now it is possible to define outer/inner blocktypes.&lt;br /&gt;
*Feature: Added OptiCraft map format support, courtesy of LgZ-optical&lt;br /&gt;
*Fix: Fixed a serious error that caused a crash when main world became full. This bug affected 0.520 and 0.521.&lt;br /&gt;
*Fix: Fixed AutoLauncher not working under Mono (thanks to ven000m for spotting).&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog crashing if closed while generating a world.&lt;br /&gt;
*Fix: Fixed /restart using ShutdownReason.ShuttingDown (instead of ShutdownReason.Restarting) &lt;br /&gt;
*Fix: Fixed a crash in ConfigTool if MaxPlayers was set to be less than MaxPlayersPerWorld.&lt;br /&gt;
*Fix: When loading old configs (pre-0.520), MaxPlayersPerWorld is automatically set to match MaxPlayers, to avoid unexpected side effects.&lt;br /&gt;
*API: Added WorldCreating and WorldCreated events.&lt;br /&gt;
*API: Moved world-related commands from Server to a new class, WorldManager.&lt;br /&gt;
*API: Renamed RankList to RankManager, and CommandList to CommandManager, for consistency.&lt;br /&gt;
&lt;br /&gt;
===0.521===&lt;br /&gt;
&#039;&#039;12 April 2011 - r534&#039;&#039;&lt;br /&gt;
*Feature: Added a /Clear command, to clear in-game chat. Also works from fCraftConsole and fCraftUI.&lt;br /&gt;
*Fix: Added missing chat commands.&lt;br /&gt;
*Fix: Cosmetic fixes in /ZRemove.&lt;br /&gt;
&lt;br /&gt;
===0.520===&lt;br /&gt;
&#039;&#039;12 April 2011 - r532&#039;&#039;&lt;br /&gt;
*Feature: Removed the server-wide 128 player limit. Now the limit is per-world.&lt;br /&gt;
*Feature: You can now repeat the last command by typing &amp;quot;/&amp;quot;&lt;br /&gt;
*Feature: Added a way to use color codes in chat (with % instead of &amp;amp;), a UseColorCodes permission, and a /colors command.&lt;br /&gt;
*Feature: Added support for multi-line messages or commands. Add &amp;quot; /&amp;quot; to the end of a line to continue typing it.&lt;br /&gt;
*Feature: Added &amp;quot;/commands&amp;quot;, to replace &amp;quot;/help commands&amp;quot;. It allows filtering commands by rank, category, permissions, etc. Aliases: /cmdlist, /cmds&lt;br /&gt;
*Feature: New permissions: ViewPlayerIPs, BringAll&lt;br /&gt;
*Feature: New config switches: AnnounceRankChangeReasons and RequireKickReason.&lt;br /&gt;
*Feature: Replaced LimitOneConnectionPerIP config key (boolean) with a more flexible MaxConnectionsPerIP (int).&lt;br /&gt;
*Feature: Added /bringall command, for moving everyone (or only certain ranks) from your world (or optionally all worlds, or a list of other worlds) to your location.&lt;br /&gt;
*Feature: /bring can be limited per-rank&lt;br /&gt;
*Feature: When file is not found on case-sensitive filesystems, fCraft tries to syggest similar filenames.&lt;br /&gt;
*Feature: Added new constants to use in greeting.txt: {TIME}, {PLAYER_NAME}, {WORLD}, {PLAYERS}, {WORLDS}, {MOTD}&lt;br /&gt;
*Feature: Improved compatibility with SurvivalTest clients.&lt;br /&gt;
*Fix: Fixed /banip not kicking other players from the same IP (besides the named player)&lt;br /&gt;
*Fix: Added missing blocktype validation to MapFCMv2, MapFCMv3, MapMyne, and MapNBT.&lt;br /&gt;
*Fix: Fixed a rare shutdown crash in fCraftUI.&lt;br /&gt;
*Fix: Improved the way PlayerDB.Load handles errors in individual records. A single corrupted entry will no longer prevent the rest from loading.&lt;br /&gt;
*Fix: Fixed fCraftUI abruptly quitting on crash / failure to start, instead of showing the error message. Use &amp;quot;--exitoncrash&amp;quot; command-line switch to reproduce old behavior.&lt;br /&gt;
*Fix: Fixed ConfigTool&#039;s World tab not prompting to delete map files when deleting worlds.&lt;br /&gt;
*Fix: Fixed a bug in MCSharp importer (#3281305)&lt;br /&gt;
*Fix: Fixed a list of permissions in /rinfo not being sorted.&lt;br /&gt;
*Fix: Fixed /mute rank limit dropdown sometimes getting out of sync.&lt;br /&gt;
*Fix: Fixed IRC bot redundantly announcing kicks when someone has been banned.&lt;br /&gt;
*Fix: Fixed a bug where fCraft would fail to start if PlayerDB.txt was truncated/empty.&lt;br /&gt;
*Change: Moved &amp;quot;IP&amp;quot; config key from General to Advanced.&lt;br /&gt;
*Change: Added /spin as an alias to /rotate (for MCLawl users)&lt;br /&gt;
*API: New events: PlayerClicking, PlayerClicked, PlayerPlacingBlock, PlayerPlacedBlock, PlayerListChanged, PlayerBeingKicked, PlayerKicked&lt;br /&gt;
*Optimization: Reduced CPU use of draw commands by ~30%. Sped up PlayerDB loading by ~8%, and reduced memory use when saving. Also reduced PlayerDB filesize by about 15%&lt;br /&gt;
&lt;br /&gt;
===0.512===&lt;br /&gt;
&#039;&#039;2 April 2011 - r508&#039;&#039;&lt;br /&gt;
*Feature: /zones can now be used from console, and can be used on any world (active or inactive).&lt;br /&gt;
*Feature: Improved D3 map importer.&lt;br /&gt;
*Fix: Added missing filename sanity/safety checks to /dumpstats (#3267362, thanks to Hellenion)&lt;br /&gt;
*Fix: Fixed mixed up messages shown in /waccess and /wbuild (#3179189)&lt;br /&gt;
*Fix: Fixed crash reports sometimes failing to submit.&lt;br /&gt;
*Fix: Fixed /dumpstats crashing if a rank had 0 players.&lt;br /&gt;
*Fix: Made Mono version detection less crashy (#3267476, thanks to Hellenion again)&lt;br /&gt;
*Fix: Fixed MapUtility.LoadHeader terminating early, before going through all fallback converters.&lt;br /&gt;
*Fix: Fixed ConfigTool tab order.&lt;br /&gt;
*Fix: Fixed fCraft reporting inaccurate CPU usage figures.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in /rank if an invalid player name was given.&lt;br /&gt;
*Fix: Fixed fCraft project not building under Windows if path contains spaces.&lt;br /&gt;
*Change: Added &amp;quot;/serverreport&amp;quot; as an alias for &amp;quot;/sinfo&amp;quot;&lt;br /&gt;
*Change: Improved the way fCraft handles and reports map loading errors.&lt;br /&gt;
*API Change: Moved all filename constants (e.g. &amp;quot;PlayerDB.txt&amp;quot;) to Paths class.&lt;br /&gt;
&lt;br /&gt;
===0.511===&lt;br /&gt;
&#039;&#039;31 March 2011 - r497&#039;&#039;&lt;br /&gt;
*Feature: Further improvements to Mono support. fCraft will now utilize mono-sgen whenever possible.&lt;br /&gt;
*Fix: Fixed fCraftUI ignoring command-line arguments.&lt;br /&gt;
*Fix: Fixed broken /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed crash reports failing to submit.&lt;br /&gt;
*Fix: Fixed a timezone-related bug that messed up players&#039; &amp;quot;total time on server&amp;quot; stat.&lt;br /&gt;
*Change: Added a warning if running on old versions of Mono (2.6 or lower). &lt;br /&gt;
&lt;br /&gt;
===0.510_r489===&lt;br /&gt;
&#039;&#039;29 March 2011 - r489&#039;&#039;&lt;br /&gt;
*Fix: Fixed unnecessary GDI+ dependence in fCraftConsole under Mono&lt;br /&gt;
*Fix: Fixed EnumKeyAttribute not taking blank values (as in case of ProcessPriority config key).&lt;br /&gt;
&lt;br /&gt;
===0.510===&lt;br /&gt;
&#039;&#039;29 March 2011 - r488&#039;&#039;&lt;br /&gt;
*Feature: The fCraft updater has been rewritten and expanded. It now works under all OSes, and provides more features.&lt;br /&gt;
*Feature: fCraft now handles differences between case-sensitive and case-insensitive filesystems much better. /wrename and /wload are also aware of the filesystem.&lt;br /&gt;
*Feature: fCraft now checks presence, filename capitalization, and integrity of all map files on the world list at startup.&lt;br /&gt;
*Feature: New ConfigTool settings for updater, checkbox for showing &amp;quot;player connected/left&amp;quot; messages, and &amp;quot;/mute&amp;quot; permission settings.&lt;br /&gt;
*Feature: Added &amp;quot;/credits&amp;quot; command to ConfigUI.&lt;br /&gt;
*Feature: Implemented &amp;quot;--norestart&amp;quot; and &amp;quot;--exitoncrash&amp;quot; command-line switches for fCraft.&lt;br /&gt;
*Feature: fCraft event system is being rewritten with modding support in mind.&lt;br /&gt;
*Feature: Improved MCSharp/MCZall/MCLawl map support.&lt;br /&gt;
*Fix: Software errors that happen while parsing player and console commands will no longer cause disconnects/crashes.&lt;br /&gt;
*Fix: IPBanList will attempt to recover records lost due to a recent regression in 0.505.&lt;br /&gt;
*Fix: Fixed /wrename errors in cases where names differ only in capitalization.&lt;br /&gt;
*Fix: Fixed &amp;quot;Copy Existing World&amp;quot; showing the current world on the list in AddWorldPopup.&lt;br /&gt;
*Fix: Fixed &amp;quot;Chat&amp;quot; tab preview not updating when settings are reset.&lt;br /&gt;
*Fix: Fixed per-world whitelist/blacklist not saving when worlds are edited with AddWorldPopup.&lt;br /&gt;
*Fix: Fixed non-verified connections that get kicked from affecting that name&#039;s PlayerInfo.&lt;br /&gt;
*Fix: Server.GenerateSalt() now uses a cryptographically secure PRNG.&lt;br /&gt;
*Fix: Fixed verification problems on servers with HeartbeatEnabled=false.&lt;br /&gt;
*Fix: Fixed a wrong message being shown by /rank if the target is already same or higher/lower rank.&lt;br /&gt;
*Fix: Fixed /winfo showing incorrect information for last lock/unlock event.&lt;br /&gt;
*Fix: Fixed tabbing order on ConfigUI.&lt;br /&gt;
*Fix: Improved the way Server.InitLibrary and Logger.Log errors are handled.&lt;br /&gt;
*Fix: Added missing validation checks to LoadHeader in several map converters.&lt;br /&gt;
*Fix: Fixed players being able to complete a draw command or /zadd, if they were demoted before clicking for the second time.&lt;br /&gt;
*Fix: Added missing /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed a bug in /zinfo that showed incorrect creation/editing times.&lt;br /&gt;
*Fix: Better error messages for unrecognized block names in command parameters.&lt;br /&gt;
*Fix: /restart now works from ConfigUI under Mono (but still broken in fCraftConsole).&lt;br /&gt;
*Fix: Fixed handling of command-line arguments surrounded with quotes.&lt;br /&gt;
*Fix: Fixed a bug at ConfigTool.ConfigUI.xAllowSecurityCircumvention_CheckedChanged (#3181907, thanks to clhdrums87).&lt;br /&gt;
*Fix: Fixed /winfo counting hidden players (#3237877, thanks to Hellenion).&lt;br /&gt;
*Fix: Fixed MCSharp map exporter mixing up map dimensions (#3159501, thanks to dogwatch).&lt;br /&gt;
*Change: Improved the way fCraft project is built. Now all binaries are copied to /trunk/bin/Release or /trunk/bin/Debug.&lt;br /&gt;
*Change: Improved error tolerance of Scheduler.EndShutdown().&lt;br /&gt;
*Change: Expanded Logger.CheckForCommonErrors().&lt;br /&gt;
*Change: Renamed config keys (old ones can still be loaded): IRCBot to IRCBotEnabled, AutomaticUpdates to UpdaterMode.&lt;br /&gt;
*Change: Added /wadd as an alias for /wload.&lt;br /&gt;
*Change: Renamed Mcc namespace to fCraft.MapConversion.&lt;br /&gt;
*Change: Decreased timeout for fCraft update check.&lt;br /&gt;
*Change: Added a confirmation prompt to /rank when adding an unrecognized player name to the database.&lt;br /&gt;
*Optimization: Sped up heartbeat sending and world-related operations, increased world saving interval to 90 seconds, reduced per-player idle CPU usage, halved CPU usage of draw commands.&lt;br /&gt;
&lt;br /&gt;
===0.506===&lt;br /&gt;
&#039;&#039;11 February 2011 - r427&#039;&#039;&lt;br /&gt;
*Feature: Added hollow ellipsoid drawing (/eh) and hollow sphere drawing (/sph), contributed by Conrad &amp;quot;Redshift&amp;quot; Morgan.&lt;br /&gt;
*Fix: Fixed a regression in 0.503 that caused some IP ban records to be lost. I am terribly sorry!&lt;br /&gt;
*Fix: Fixed a path-related error in Map.SaveBackup&lt;br /&gt;
*Fix: Fixed a possible disconnect in Player.CheckBlockSpam is antigrief was not configured properly.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool.SaveWorldList.&lt;br /&gt;
*Fix: Fixed &amp;quot;Limit the number of blocks that can be undone&amp;quot; checkbox misbehaving (thanks to ven000m for bug report).&lt;br /&gt;
*Change: By popular demand /sphere2 is now the default behavior of /sphere.&lt;br /&gt;
*Change: Removed &amp;quot;oldSalt&amp;quot; check for name verification, to avoid having the server write to config.xml unnecessarily.&lt;br /&gt;
*Change: Removed &amp;quot;.backup&amp;quot; file creation, by popular demand. It was kinda useless.&lt;br /&gt;
&lt;br /&gt;
===0.505===&lt;br /&gt;
&#039;&#039;8 February 2011 - r422&#039;&#039;&lt;br /&gt;
*Feature: All draw commands now inform player if any blocks were skipped due to local permission issues (e.g. zones).&lt;br /&gt;
*Fix: Fixed a regression that caused backups to be saved in the wrong path. Backups were being saved to ./backups/ instead of ./maps/backups/&lt;br /&gt;
*Fix: Fixed a permission issue in /replace and /replacenot.&lt;br /&gt;
*Fix: Fixed /info not displaying a list of players from same IP.&lt;br /&gt;
*Fix: Addressed a security issue with salt generation.&lt;br /&gt;
&lt;br /&gt;
===0.504===&lt;br /&gt;
&#039;&#039;3 February 2011 - r419&#039;&#039;&lt;br /&gt;
*Fixed a crash bug related to SecurityController.MinRank&lt;br /&gt;
&lt;br /&gt;
===0.503===&lt;br /&gt;
&#039;&#039;3 February 2011 - r418&#039;&#039;&lt;br /&gt;
*Feature: Added /deafen command. It temporarily blocks all incoming messages (makes you go &amp;quot;deaf&amp;quot;), to allow taking screenshots, recording videos, or just playing without the wall of text.&lt;br /&gt;
*Feature: Added ShowBannedConnectionMessages config key (default: true). When disabled, no &amp;quot;banned player tried to log in&amp;quot; messages are shown.&lt;br /&gt;
*Fix: Fixed PlayerInfo.frozenOn not being set.&lt;br /&gt;
*Fix: Fixed kick messages for players affected by /banall&lt;br /&gt;
*Fix: Fixed /unbanall reason not being shown.&lt;br /&gt;
*Fix: /where now shows what world you are on.&lt;br /&gt;
*Fix: Fixed a couple minor bugs in /waccess and /wbuild.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in SecurityController constructor.&lt;br /&gt;
*Fix: Made several tweaks to improve the first-run experience.&lt;br /&gt;
&lt;br /&gt;
===0.502===&lt;br /&gt;
&#039;&#039;31 January 2011 - r411&#039;&#039;&lt;br /&gt;
*Fix: Adjusted for yet another change in the way minecraft.net replies to heartbeats (should fix all heartbeat issues for now).&lt;br /&gt;
*Fix: Added a check to /zremove to prevent players from deleting zones to gain access to areas from which they&#039;re barred.&lt;br /&gt;
*Fix: Fixed being able to use /me or /staff to write empty messages.&lt;br /&gt;
*Fix: Fixed frozen players not getting defrosted when kicked.&lt;br /&gt;
*Fix: Formatting fixes in &amp;quot;___ was previously frozen&amp;quot; message&lt;br /&gt;
*Fix: Fixed a mini-bug in Map.ValidateHeader()&lt;br /&gt;
*Change: Renamed /wremove to /wunload for consistency. &amp;quot;/wremove&amp;quot; is still usable as an alias.&lt;br /&gt;
&lt;br /&gt;
===0.501===&lt;br /&gt;
&#039;&#039;30 January 2011 - r408&#039;&#039;&lt;br /&gt;
*Feature: Added /sphere and /sphere2, based on code contributed by SystemX17.&lt;br /&gt;
*Feature: Added new config setting: ShowConnectedMessages (default: true)&lt;br /&gt;
*Feature: Added a notification for players who logged in frozen.&lt;br /&gt;
*Fix: Fixed frozen players twitching.&lt;br /&gt;
*Fix: Fixed IRC bot not stripping color codes in messages relayed from IRC to the game.&lt;br /&gt;
*Fix: Fixed lastSeen and lastLoginDate not being set for first-time players who failed to log in (e.g. IP-banned).&lt;br /&gt;
*Fix: Fixed /bring not working properly on frozen players.&lt;br /&gt;
*Fix: Fixed a case where it was possible to add access restrictions to main map.&lt;br /&gt;
*Fix: Fixed per-world whitelists/blacklists being lost when editing worlds.xml via ConfigTool.&lt;br /&gt;
*Fix: Fixed AutoRankAll showing wrong number of players promoted/demoted (just a formatting bug, no promotions were affected)&lt;br /&gt;
&lt;br /&gt;
===0.500===&lt;br /&gt;
&#039;&#039;25 January 2011 - r399&#039;&#039;&lt;br /&gt;
*Commands: Added /line drawing command, kindly contributed by SystemX17&lt;br /&gt;
*Commands: Added /restart command, to restart the server remotely (NOTE: does not work for fCraftWinService yet)&lt;br /&gt;
*Commands: Added /unmute command (same as &amp;quot;/mute name 0&amp;quot;)&lt;br /&gt;
*Commands: Added an option to silently hide (no disconnect/connect message).&lt;br /&gt;
*Commands: Added /ignore and /unignore commands to block chat from another player (for the duration of your visit).&lt;br /&gt;
*Commands: /whide and /wunhide commands added to hide/unhide worlds from the list.&lt;br /&gt;
*Commands: /worlds now takes an optional param: &amp;quot;/worlds all&amp;quot; lists visible+hidden worlds, and &amp;quot;/worlds hidden&amp;quot; lists hidden worlds only.&lt;br /&gt;
*Commands: List of player names from the same IP is now shown in /info.&lt;br /&gt;
*Commands: /help now shows what rank you need to be to use a command (for most commands).&lt;br /&gt;
*Commands: /bring now works on frozen players.&lt;br /&gt;
*Commands: /bring now takes an optional second name/parameter, to teleport someone to someone&lt;br /&gt;
*Commands: /info now shows whether a player is hidden (if the command caller has permission to see).&lt;br /&gt;
*Commands: Fixed a case where teleporting to a player who is currently changing worlds brings one to a wrong location.&lt;br /&gt;
*Commands: Fixed bindings (/water, /lava, /solid, and /bind) not being applied to draw commands.&lt;br /&gt;
*Commands: /wsave and /gen can now create directories if needed.&lt;br /&gt;
*Commands: Fixed a bug in /roll&lt;br /&gt;
*Commands: Sped up /paste, /pastenot, /replace, and /replacenot slightly.&lt;br /&gt;
*ConfigTool: New &amp;quot;Chat&amp;quot; tab for controlling appearance and content of in-game chat.&lt;br /&gt;
*ConfigTool: Added ability to customize MeColor (for /me messages, default: purple) and WarningColor (for major errors/warnings, default: red) in config.&lt;br /&gt;
*ConfigTool: AddWorldPopup can now show detailed info for maps of all supported formats.&lt;br /&gt;
*ConfigTool: Improved tooltips for several items in ConfigUI.&lt;br /&gt;
*FrontEnd: Uncaught exceptions that happen while executing commands from fCraftUI console are now handled by the crash reporter (instead of actually crashing).&lt;br /&gt;
*FrontEnd: Added /clear command for fCraftUI and fCraftConsole - clears log screen.&lt;br /&gt;
*FrontEnd: The URL is no longer highlighted after first heartbeat, to avoid stealing focus from console.&lt;br /&gt;
*Generator: Fixed &amp;quot;flatgrass&amp;quot; template&lt;br /&gt;
*Generator: Fixed alphabetical order in the list of templates&lt;br /&gt;
*Generator: MapGenerator now embeds generation parameters into the map file metadata&lt;br /&gt;
*Generator: Fixed several template loading bugs.&lt;br /&gt;
*Generator: Optimized AddBeaches to be about 2x faster&lt;br /&gt;
*Generator: Added a missing dimension check to /gen&lt;br /&gt;
*IRC: Messages relayed from game to IRC now have color codes preserved.&lt;br /&gt;
*IRC: Kicks, Bans, unbans, promotions, and demotions can now be relayed to IRC.&lt;br /&gt;
*IRC: IRC bot now relays /say messages, and /me messages (both /me on IRC and /me on the server).&lt;br /&gt;
*IRC: IRC Error handling is greatly improved.&lt;br /&gt;
*IRC: (Threaded) If one of the bots loses connection, one of the other bots take over parsing input.&lt;br /&gt;
*IRC: Increased IRC reconnect delay to 15 seconds.&lt;br /&gt;
*Maps: Switched to a new file format (FCMv3) that allows for future additions like block tracking and physics.&lt;br /&gt;
*Maps: Much of MCC (map conversion) API was rewritten for better consistency and performance.&lt;br /&gt;
*Maps: Improved support for loading indev (pre-infinite) maps, including Omen-generated maps.&lt;br /&gt;
*Maps: Improved resilience for loading maps with unknown blocktypes. Instead of failing, it just replaces any unknown blocks with air.&lt;br /&gt;
*Maps: Added consistent header validation to all map format loaders.&lt;br /&gt;
*Maps: Fixed maps not autosaving when zones are added or removed.&lt;br /&gt;
*Maps: Zone definitions are now serialized to XML. Zones saved with this revision of fCraft will no longer be readable by older version of fCraft.&lt;br /&gt;
*Maps: Fixed a bug when loading JTE&#039;s format maps.&lt;br /&gt;
*Maps: Fixed format of backup filenames.&lt;br /&gt;
*PlayerDB: Added new fields: bannedUntil, frozenOn, frozenBy, mutedUntil, mutedBy, IRCPassword, online, leaveReason&lt;br /&gt;
*PlayerDB: Fixed PlayerInfo.ID not being assigned for new players until sever restart / DB reload.&lt;br /&gt;
*PlayerDB: Fixed off-by-one error with PlayerInfo.timesVisited&lt;br /&gt;
*PlayerDB: Fixed /me, /say, rank chat, and /staff not counting towards PlayerInfo.linesWritten&lt;br /&gt;
*PlayerDB: Made PlayerDB more resilient to errors. Reduced filesize slightly by omitting default values for more date fields, and removing milliseconds from &amp;quot;totalTime&amp;quot;&lt;br /&gt;
*PlayerDB: Improved forwards compatibility of PlayerDB by removing maximum-field-count check.&lt;br /&gt;
*Security: Worlds can now have player whitelists and blacklists (just like zones) for access and build permissions.&lt;br /&gt;
*Security: Added a security check to /wsave, /wload, and /gen to prevent reading or overwriting files outside the map folder.&lt;br /&gt;
*Security: Added a per-rank security option to prevent players from whitelisting themselves, removing themselves from blacklists, or lowering their rank&#039;s restrictions on worlds and zones.&lt;br /&gt;
*Security: /mute and /freeze are now persistent even if the player reconnects.&lt;br /&gt;
*Security: Relaxed SetTile packet checks. Players will no longer be kicked due to Minecraft client bugs.&lt;br /&gt;
*Security: Fixed an exploit that allowed changing steps to doublesteps even inside zoned areas.&lt;br /&gt;
*Security: Improved consistency of permission dependencies.&lt;br /&gt;
*Security: Fixed a security exploit in /wmain that allowed players with ManageWorlds permission to gain access to restricted worlds.&lt;br /&gt;
*Security: Fixed a bug that prevented banning players who were not yet in PlayerDB.&lt;br /&gt;
*Security: Added an option to only allow paid players (PaidPlayersOnly)&lt;br /&gt;
*Stability: Made crash reporting more reliable. A failed crash report will no longer prevent error message from being logged and displayed.&lt;br /&gt;
*Stability: Fixed a crash in AddWorldPopup if dialog is closed while a map is still loading.&lt;br /&gt;
*Stability: To improve compatibility with some bots, removed &amp;quot;almost there...&amp;quot; message on the loading screen&lt;br /&gt;
*Stability: Disabled error reporting of common non-fCraft-related errors (like wrong runtime versions, or wrong Mono permissions).&lt;br /&gt;
*Stability: Added &amp;quot;libMonoPosixHelper.so&amp;quot; and &amp;quot;UnauthorizedAccessException&amp;quot; to Logger.CheckForCommonErrors, and made &amp;quot;Could not load file or assembly&amp;quot; check locale-independent.&lt;br /&gt;
*Stability: A backup file is now created whenever PlayerDB, IP ban list, config, or world list are saved (e.g. PlayerDB.txt.backup)&lt;br /&gt;
*Stability: Crash reporter now sends last 25 lines of the log.&lt;br /&gt;
*Stability: Added a fallback overload for Player.Message() that bypasses string format, to make the whole thing less prone to format errors.&lt;br /&gt;
*System: fCraft now takes command-line arguments (at startup) to override the following:&lt;br /&gt;
**working directory (--path=/your/path/here)&lt;br /&gt;
**log directory (--logpath=/your/path/here)&lt;br /&gt;
**map directory (--logpath=/your/path/here) - also overridable in a more user-friendly way via ConfigTool (MapPath key)&lt;br /&gt;
**config file location (--config=/your/path/and/filename.xml)&lt;br /&gt;
*System: Added an option to change the name of Console pseudoplayer in the config.&lt;br /&gt;
*System: Player.GetClassyName() and PlayerInfo.GetClassyName() now add an asterisk after banned players&#039; names&lt;br /&gt;
*System: Fixed hidden players remaining hidden in some cases.&lt;br /&gt;
*System: Fixed PacketWriter.MakeWrappedMessage ignoring uppercase hex colorcodes&lt;br /&gt;
*System: Implemented NoPartialPositionUpdates and RelayAllUpdates config keys.&lt;br /&gt;
*System: Several little glitches and inefficiencies fixed in movement handling code.&lt;br /&gt;
*System: Fixed &amp;quot;player connected&amp;quot; and other messages showing up too early in-game (before map loaded).&lt;br /&gt;
*System: Fixed kick message for players affected by /banall&lt;br /&gt;
*System: Added HeartbeatEnabled config key (default: true)&lt;br /&gt;
*System: Fixed a case where heartbeat could be sent from a different IP than the listening port on systems with multiple NICs/IPs and no configured static IP.&lt;br /&gt;
*System: Increased the write buffer for writing out PlayerDB, reducing I/O time by ~20% on .NET, and ~35% on Mono&lt;br /&gt;
*System: New Scheduler API.&lt;br /&gt;
*System: Modified /wload to avoid loading the map twice in case confirmation is needed.&lt;br /&gt;
*System: Changes to AutoRankEnabled will now be applied when /reloadconfig is called.&lt;br /&gt;
*System: Fixed unnecessary confirmation being asked when world name matches file name in /wload&lt;br /&gt;
*System: Eliminated the heartbeat thread by switching to async i/o.&lt;br /&gt;
*System: Improved startup and shutdown speed.&lt;br /&gt;
*System: Added a &amp;quot;how to promote yourself&amp;quot; message for fresh installations of fCraft.&lt;br /&gt;
*System: Fixed Server.OnPlayerDisconnected event firing for unregistered sessions.&lt;br /&gt;
*System: Made Color.Parse() and Color.GetName() translate fCraft-specific color assignments (e.g &amp;quot;&amp;amp;S&amp;quot; for &amp;quot;System&amp;quot;)&lt;br /&gt;
*System: Added better detection for SMP/Alpha clients trying to connect.&lt;br /&gt;
*System: Sped up AutoRankAll&lt;br /&gt;
&lt;br /&gt;
=0.4xx=&lt;br /&gt;
===0.499===&lt;br /&gt;
&#039;&#039;6 November 2010 - r311&#039;&#039;&lt;br /&gt;
*Feature: Added an option to disable name verification for players connecting from LAN.&lt;br /&gt;
*Feature: Added &#039;flat&#039; template to MapGenerator, allowing to make flat maps with any theme.&lt;br /&gt;
*Feature: Added &#039;grass&#039; pseudotheme to /gen command, which is basically the &#039;Forest&#039; theme with trees disabled.&lt;br /&gt;
*Fix: Fixed /wflush leaving ghosts/clones behind.&lt;br /&gt;
*Fix: Fixed muted players being able to use /say and /staff&lt;br /&gt;
*Fix: Fixed /baninfo ignoring permission checks.&lt;br /&gt;
*Fix: Fixed &amp;quot;draw limit&amp;quot; checkbox getting disabled in ConfigTool if a player had &#039;CopyAndPaste&#039; permission but no &#039;Draw&#039; permission.&lt;br /&gt;
*Fix: Fixed several off-by-1 errors involving random number generation, notably in MapGenerator and Server.GenerateSalt()&lt;br /&gt;
*Fix: Fixed potential crash in MapGenerator.SealLiquids&lt;br /&gt;
*Fix: Fixed a potential crash in Map.SaveBackup() if the map filename contained brackets.&lt;br /&gt;
*Fix: Fixed a forced disconnect when trying to feed /gen a theme or template with brackets in the name.&lt;br /&gt;
&lt;br /&gt;
===0.498===&lt;br /&gt;
&#039;&#039;4 November 2010 - r308&#039;&#039;&lt;br /&gt;
*Change: Disabled zlib support due to more potential memory leaks. fffuuuuu....&lt;br /&gt;
*Fix: Fixed Island, Bay, and Ice templates broken by the last patch.&lt;br /&gt;
*Fix: MapGeneratorArgs: snowTransition was interpreted as absolute (instead of relative) altitude, and marbledHeightmap incorrectly defaulted to &#039;true&#039;.&lt;br /&gt;
*Change: Updated readme and changelog.&lt;br /&gt;
&lt;br /&gt;
===0.497===&lt;br /&gt;
&#039;&#039;4 November 2010 - r306&#039;&#039;&lt;br /&gt;
*Feature: Added accurate progress reporting from MapGenerator. Coming soon: cancellation.&lt;br /&gt;
*Feature: New MapGenerator options: BeachHeight, CliffSmoothing, LandSlope, UnderwaterSlope, MaxHeightVariation, MaxDepthVariation.&lt;br /&gt;
*Feature: Added UI controls for snow/cliff/beach settings to AddWorldPopup.&lt;br /&gt;
*Feature: Added a list of popular IRC networks to ConfigTool.&lt;br /&gt;
*Change: Improved PlayerDB lookup performance by reducing locking.&lt;br /&gt;
*Fix: Fixed MapGenerator calculating slope incorrectly at the water boundary.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add Ore&amp;quot; requiring &amp;quot;Add Caves&amp;quot; in MapGenerator.&lt;br /&gt;
*Fix: Fixed water/lava caves not sealing liquids properly. &lt;br /&gt;
*Change: Set MapGenerator to default to 256x256x96&lt;br /&gt;
*Change: AddWorldPopup Generator tab layout overhaul&lt;br /&gt;
*Change: Organized MapGeneratorArgs and added serialization/deserialization for all the new options.&lt;br /&gt;
&lt;br /&gt;
===0.496===&lt;br /&gt;
&#039;&#039;3 November 2010 - r301&#039;&#039;&lt;br /&gt;
*Fix: Fixed File.Replace() failing if fCraft was set up on a partition/volume other than the one where temp folder is.&lt;br /&gt;
*Fix: Added missing tooltip for &amp;quot;Edit Greeting&amp;quot;&lt;br /&gt;
*Fix: Fixed /sinfo including hidden players in the player count.&lt;br /&gt;
&lt;br /&gt;
===0.495===&lt;br /&gt;
&#039;&#039;2 November 2010 - r300&#039;&#039;&lt;br /&gt;
*Feature: Added a way to edit the greeting message, by editing &amp;quot;greeting.txt&amp;quot;&lt;br /&gt;
*Feature: When a player gets banned, any previously-banned accounts from same IP are listed.&lt;br /&gt;
*Fix: Fixed renaming worlds from ConfigTool&#039;s &amp;quot;worlds&amp;quot; tab not always working.&lt;br /&gt;
*Fix: Fixed several filesystem-related errors on non-Windows systems by using Path.Combine() instead of string concatenation.&lt;br /&gt;
*Fix: Possible workaround for missing heartbeats.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;default build rank&amp;quot; controls in ConfigTools.&lt;br /&gt;
*Fix: Fixed overwrite confirmation popping up for /wload when loading map into an unloaded world with the same name.&lt;br /&gt;
*Fix: Fixed a case where Forester could get into an infinite loop when there&#039;s not enough room to place requested number of trees.&lt;br /&gt;
&lt;br /&gt;
===0.494===&lt;br /&gt;
&#039;&#039;31 October 2010 - r297&#039;&#039;&lt;br /&gt;
*Feature: New map generator features:&lt;br /&gt;
**Adjustable water level.&lt;br /&gt;
**Realistic trees (powered by Forester)&lt;br /&gt;
**Snow on mountaintops&lt;br /&gt;
**Realistic cliffs&lt;br /&gt;
**Beaches&lt;br /&gt;
**New template (peninsula) and theme (swamp).&lt;br /&gt;
**Option to delay heightmap bias until after marbling/inversion.&lt;br /&gt;
*Feature: Added a way to load .mine maps.&lt;br /&gt;
*Feature: Added confirmation for potentially destructive commands: /importranks, /importbans, /massrank, /wload overwrites, /gen overwrites, /wsave overwrites, /zremove.&lt;br /&gt;
*Feature: Added /staff chat and ReadStaffChat permission.&lt;br /&gt;
*Feature: Added wireframe cuboid (/cw)&lt;br /&gt;
*Feature: Added an optional second param for /ch (cuboid hollow) that specifies the blocktype of the &amp;quot;filling&amp;quot;.&lt;br /&gt;
*Feature: Added a way to specify default build permission for new worlds.&lt;br /&gt;
*Fix: Fixed /info, /baninfo, and /banip not handling players whose name contain only digits.&lt;br /&gt;
*Fix: Fixed DoChangeRank mixing up RankChangeType.&lt;br /&gt;
*Fix: Added missing fields to MapGeneratorArgs serializer.&lt;br /&gt;
*Fix: Fixed per-rank draw limits not being calculated correctly in some cases.&lt;br /&gt;
*Fix: Replaced File.Delete/File.Move calls with a more reliable File.Replace call. This should slightly improve reliability of map/playerdb.txt/ipbans.txt/worlds.xml saving.&lt;br /&gt;
*Fix: Fixed a little ConfigTool bug that did not properly reset PatrolledRank after a rank deletion.&lt;br /&gt;
*Fix: Fixed terminal colors not resetting in fCraftConsole after a fatal crash under Mono.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;Play&amp;quot; button in fCraftUI.&lt;br /&gt;
*Fix: Added some basic error reporting to fCraftWinService.&lt;br /&gt;
*Change: Tweaked AddWorldPopup layout to accommodate more options.&lt;br /&gt;
&lt;br /&gt;
===0.493===&lt;br /&gt;
&#039;&#039;27 October 2010 - r290&#039;&#039;&lt;br /&gt;
*Feature: /info now supports autocompletion, wildcards, and IP search.&lt;br /&gt;
*Feature: Experimental service wrapper for fCraft.&lt;br /&gt;
*Feature: Added more editable properties to /setinfo: RankChangeType, BanReason, UnbanReason, RankChangeReason, LastKickReason&lt;br /&gt;
*Feature: Various improvements to /info, including hide-aware &amp;quot;online&amp;quot; indicator.&lt;br /&gt;
*Feature: Made Player.NoAccessMessage() print the minimum required rank, instead of just permission name(s).&lt;br /&gt;
*Feature: Added wootalyzer&#039;s chunk rendering code to IsoCat.&lt;br /&gt;
*Fix: Fixed ConfigTool not taking advantage of ZLibStream &lt;br /&gt;
*Fix: Fixed a very improbable case of a thread getting spinlocked when calling IRC.Send() is preemptied, and if there are at least 2 IRC threads.&lt;br /&gt;
*Fix: Fixed kick packets occasionally not being delivered due to a missing Flush() - thanks to wootalyzer for catching.&lt;br /&gt;
*Fix: Excluded banned and inactive players from DumpStats&lt;br /&gt;
*Fix: Fixed PlayerDB.Save() not escaping LastKickReason &lt;br /&gt;
*Fix: Cleaned up extra messages sent by /unhide.&lt;br /&gt;
*Fix: Fixed LastSeen not updating on-login (only on-logout).&lt;br /&gt;
*Fix: Improved the way fCraft checks for ghost/leftover sessions. Thanks to wootalyzer.&lt;br /&gt;
*Fix: If a player&#039;s name starts with a number, and you try to /tp to a coordinate that starts with the same number, you are no longer teleported to that player instead.&lt;br /&gt;
*Fix: Fixed hidden players being detectable by checking LastSeen in /info.&lt;br /&gt;
*Fix: To avoid performance degradation, GC calls have been centralized, delayed, limited to 1/minute, and moved to the tasks thread.&lt;br /&gt;
*Fix: Added delay between recurring calls to PlayerDB.Save, AutoRankAll, and DoGC - to balance load.&lt;br /&gt;
*Fix: Fixed rankChangeType not being updated.&lt;br /&gt;
*Fix: Fixed some typos reported by tvc. &lt;br /&gt;
*Change: Added &amp;quot;/uf&amp;quot; as an alias for &amp;quot;/unfreeze&amp;quot;, by popular demand. &lt;br /&gt;
*Change: Modified PlayerDB not to use ReaderWriterLockSlim, to avoid Mono issues with recursion.&lt;br /&gt;
*Change: Renamed /editplayerinfo to /setinfo&lt;br /&gt;
*Change: Made enum values in AutoRank (CriterionType, ConditionField, ComparisonOperation, ConditionScopeType, RankChangeType) case-insensitive.&lt;br /&gt;
*Change: Added a reference to /baninfo in /info&lt;br /&gt;
*Change: Made DetectMovementPacketSpam warn players instead of kicking.&lt;br /&gt;
&lt;br /&gt;
===0.492===&lt;br /&gt;
&#039;&#039;19 October 2010 - r280&#039;&#039;&lt;br /&gt;
*Feature: Added EditPlayerDB permission. This permission affects the upcoming AutoRank commands, /editplayerinfo, and ability to promote/demote/ban unrecognized players.&lt;br /&gt;
*Feature: When you kick a player, you are now shown the number of kicks they already have.&lt;br /&gt;
*Feature: More stats are now logged! RankType, TimeSinceLastKick, LastSeen, BlocksDrawn, LastKickBy, LastKickReason.&lt;br /&gt;
*Feature: Added &amp;quot;MaxUndo&amp;quot; config key for changing the default undo limit of 2,000,000 blocks per player.&lt;br /&gt;
*Feature: /info command is augmented with new stats (if available).&lt;br /&gt;
*Fix: Fixed ellipsoid command calculating volume incorrectly for draw limit checks.&lt;br /&gt;
*Fix: Fixed overflowing color code in &amp;quot;Player logged in from an IP previously used by banned players&amp;quot; message.&lt;br /&gt;
*Fix: Fixed PM recipient&#039;s name not getting logged properly.&lt;br /&gt;
*Fix: Previously-unseen players no longer have their FirstLoginDate, LastLoginDate, or TimesVisited set.&lt;br /&gt;
*Fix: /importranks now works correctly on players who are online at the time of import.&lt;br /&gt;
*Change: Added block aliases by popular demand: &amp;quot;bedrock&amp;quot; as an alias for admincrete, &amp;quot;cotton&amp;quot; as alias for &amp;quot;white&amp;quot;, and &amp;quot;aire&amp;quot; as alias for &amp;quot;air&amp;quot;&lt;br /&gt;
*Change: PlayerDB.txt format changes:&lt;br /&gt;
**MaxFieldCount raised to 36&lt;br /&gt;
**New fields added: UID (Int32), RankChangeType (enum, serialized as Int32), LastKickDate (DateTime), LastSeen (DateTime), BlocksDrawn (Int64), LastKickBy (string), LastKickReason (string).&lt;br /&gt;
**RankChangeBy, BannedBy, UnbannedBy, BanReason, UnbanReason, and RankChangeReason now default to empty string instead of &amp;quot;-&amp;quot; or null.&lt;br /&gt;
**If LastIP==IPAddress.None, empty string is saved instead of &amp;quot;255.255.255.255&amp;quot;.&lt;br /&gt;
**DateTime and TimeSpan format shortened to exclude microseconds. See PlayerDB.ToCompactString() for details.&lt;br /&gt;
*Change: AutoRank improvements (disabled in stable builds):&lt;br /&gt;
**Added /editplayerinfo command for easy editing of PlayerDB.&lt;br /&gt;
**Made AutoRank check players in-login (to accelerate promotion).&lt;br /&gt;
**AutoRank now runs on a scheduler.&lt;br /&gt;
**Fixed ConditionPreviousRank crash for played with default rank.&lt;br /&gt;
**Fixed banned players getting promoted by AutoRank.&lt;br /&gt;
**Fixed several serialization/loading issues in AutoRank.&lt;br /&gt;
**New fields added to ConditionIntRange: LastSeen, BlocksDrawn, TimeSinceRankChange, TimeSinceLastKick&lt;br /&gt;
**ConditionRankStatus renamed to ConditionRankChangeType&lt;br /&gt;
&lt;br /&gt;
===0.491===&lt;br /&gt;
&#039;&#039;17 October 2010 - r274&#039;&#039;&lt;br /&gt;
*Feature: Added ability to run multiple parallel IRC bots, to help high-traffic servers deal with IRC lag. This also makes it possible to connect to multiple networks in the future.&lt;br /&gt;
*Feature: Added new block aliases, by popular demand: &amp;quot;emerald&amp;quot;=teal, &amp;quot;fuchsia&amp;quot;=magenta, &amp;quot;cloth&amp;quot;=white, &amp;quot;lightgray&amp;quot;=gray, &amp;quot;lightgrey&amp;quot;=gray, &amp;quot;darkgray&amp;quot;=black, &amp;quot;darkgrey&amp;quot;=black, &amp;quot;brass&amp;quot;=gold&lt;br /&gt;
*Fix: Temporarily disabled 64-bit zlib support while I track down memory leaks. Should fix OutOfMemoryException, I&#039;m very sorry about overlooking that.&lt;br /&gt;
*Fix: Fixed a bug in /info that displayed incorrect &amp;quot;total time on server&amp;quot;.&lt;br /&gt;
*Fix: Per-rank permission checks for /freeze now apply as intended&lt;br /&gt;
*Fix: Fixed several improbable (but not impossible) threading deadlocks/crashes. Thanks to wootalyzer for catching these.&lt;br /&gt;
*Change: Added IRCThreads config key (default: 1, allowed range: 1-3)&lt;br /&gt;
&lt;br /&gt;
===0.490===&lt;br /&gt;
&#039;&#039;14 October 2010 - r264&#039;&#039;&lt;br /&gt;
*Feature: Testing a new map compressor/decompressor: ZLibStream. It should provide 50-200% speed increase, smaller map sizes, lower bandwidth use, and faster map loading.&lt;br /&gt;
*Fix: Fixed /shutdown not waiting the right amount and mixing up seconds/milliseconds.&lt;br /&gt;
*Fix: Fixed &amp;quot;No world found with the name...&amp;quot; showing player&#039;s own name.&lt;br /&gt;
*Fix: Added a fail-safe exception handler to Player.WaitForKick() - a temporary fix.&lt;br /&gt;
*Change: Previous verification salt is now stored, to allow players to validate even right after the server restarts.&lt;br /&gt;
*Change: Restructured SVN. Stable code is now always in /trunk/&lt;br /&gt;
&lt;br /&gt;
===0.487===&lt;br /&gt;
&#039;&#039;12 October 2010 - r255&#039;&#039;&lt;br /&gt;
*Feature: Added contextual help (tooltips) for all of ConfigTool. Help for &amp;quot;Add World&amp;quot; popup is coming in next version.&lt;br /&gt;
*Feature: Added rank limits for Freeze permission&lt;br /&gt;
*Fix: Fixed /mute being unusable from console.&lt;br /&gt;
*Change: Removed ViewOthersInfo requirement from /sinfo&lt;br /&gt;
*Change: Added ViewOthersInfo requirement to /where&lt;br /&gt;
*Change: Improvements to IRC tab layout in ConfigTool.&lt;br /&gt;
&lt;br /&gt;
===0.486===&lt;br /&gt;
&#039;&#039;11 October 2010 - r250&#039;&#039;&lt;br /&gt;
*Quick fix for IRC Bot bug that made server unconnectable.&lt;br /&gt;
&lt;br /&gt;
===0.485===&lt;br /&gt;
&#039;&#039;11 October 2010 - r249&#039;&#039;&lt;br /&gt;
*Feature: Added optional &amp;quot;delay&amp;quot; parameter to /shutdown (default: 5)&lt;br /&gt;
*Feature: World names can now be autocompleted for many commands (like /join and /lock)&lt;br /&gt;
*Fix: Fixed /unhide failing to reveal the player in certain situations.&lt;br /&gt;
*Fix: Fixed /setspawn being usable on players from other worlds.&lt;br /&gt;
*Fix: Fixed player names appearing white for all players.&lt;br /&gt;
*Fix: Fixed a recursion loop in NoWorldMessage()&lt;br /&gt;
*Fix: Fixed help entries for /setspawn and /shutdown&lt;br /&gt;
*Fix: Fixed potential crash in Server.Shutdown() if called after failed initialization/startup.&lt;br /&gt;
*Fix: Fixed potential deadlock/freeze in fCraftUI on shutdown.&lt;br /&gt;
*Change: Improved crash reporting for TargetInvokationException and TypeInitializerException errors.&lt;br /&gt;
*Change: All assemblies are now once again x86/x86_64/IA64 compatible.&lt;br /&gt;
*Change: Server.OnPlayerConnected event now supports cancellation.&lt;br /&gt;
&lt;br /&gt;
===0.484===&lt;br /&gt;
&#039;&#039;10 October 2010 - r245&#039;&#039;&lt;br /&gt;
*Feature: Added a way for IRC bot to use registered nicknames.&lt;br /&gt;
*Feature: /banall-related kicks are now announced in chat.&lt;br /&gt;
*Feature: /setspawn now actually changes player&#039;s spawn. Also, an optional PlayerName param allows temporarily changing other players&#039; spawn point.&lt;br /&gt;
*Feature: Several improvements to /info. Info now shows whether player&#039;s nick or IP was banned, and hides undefined information for players who haven&#039;t ever logged in.&lt;br /&gt;
*Fix: Fixed crash in ConfigTool if announcements were disabled.&lt;br /&gt;
*Fix: Fixed /banall not matching IPs properly, and not counting kicks towards PlayerInfo.&lt;br /&gt;
*Fix: Fixed ConfigUI not shutting down properly if Server.Init() or Server.Start() failed.&lt;br /&gt;
*Fix: Fixed Config.LoadLogOptions() always leaving Debug enabled.&lt;br /&gt;
*Fix: Added Process.GetCurrentProcess().Refresh() to ServerInfo to improve accuracy of /sinfo stat reporting.&lt;br /&gt;
*Fix: Improved /wsave and /wload path handling on non-Windows platforms.&lt;br /&gt;
*Fix: Replaced some potentially unsafe string concatenation in Player.Message() with proper formatting.&lt;br /&gt;
*Fix: Attempting a workaround for Mono memory leak in World.UnloadMap&lt;br /&gt;
*Fix: Fixed ranks from pre-0.480 configs being loaded in wrong order. Sorry!&lt;br /&gt;
*Change: Added a brief delay before reconnecting IRC bot after getting kicked from a channel. &lt;br /&gt;
*Change: PlayerDB is now saved every 60 seconds (instead of every 30).&lt;br /&gt;
*Change: Removed unused IRCBotQuitMsg config key, and added IRCRegisteredNick, IRCNickServ, and IRCNickServMessage keys.&lt;br /&gt;
*Change: Added a popup with crash information to ConfigTool.&lt;br /&gt;
*Change: Made announcements disabled by default.&lt;br /&gt;
&lt;br /&gt;
===0.483===&lt;br /&gt;
&#039;&#039;8 October 2010 - r242&#039;&#039;&lt;br /&gt;
*Feature: Myne/MyneCraft/Hyvebuild/iCraft maps can now be loaded from ConfigTool&#039;s &amp;quot;Add World&amp;quot; dialog.&lt;br /&gt;
*Fix: Fixed incorrect range checks for AnnouncementInterval and SaveInterval config keys (thanks to Shcaap for reporting).&lt;br /&gt;
*Fix: Fixed /hide showing a slightly different &amp;quot;player left&amp;quot; message compared to normal disconnect (thanks to Silverrock for reporting).&lt;br /&gt;
*Change: Added MC#-style &amp;quot;/z&amp;quot; alias for cuboid, by popular demand.&lt;br /&gt;
*Change: Hidden players can now receive PMs. The sender still gets the &amp;quot;No player found&amp;quot; message, but PMs are actually sent.&lt;br /&gt;
&lt;br /&gt;
===0.482===&lt;br /&gt;
&#039;&#039;7 October 2010 - r241&#039;&#039;&lt;br /&gt;
*Feature: Added new command aliases: &amp;quot;f&amp;quot; for &amp;quot;freeze&amp;quot;, and &amp;quot;pat&amp;quot; for &amp;quot;patrol&amp;quot;.&lt;br /&gt;
*Fix: Fixed typos in mute-related messages.&lt;br /&gt;
*Fix: Added missing triggers for OnPlayerListChanged event.&lt;br /&gt;
*Fix: Fixed /reloadconfig not changing several variables (like colors).&lt;br /&gt;
*Fix: Fixed antigrief defaulting to 35/5 (instead of unmetered).&lt;br /&gt;
*Fix: Fixed heartbeat counting hidden players.&lt;br /&gt;
*Fix: Fixed a rare ObjectDisposedException crash on shutdown when running fCraftUI.&lt;br /&gt;
*Change: Added a more informative disconnect message to players connecting with Alpha client.&lt;br /&gt;
*Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.&lt;br /&gt;
*Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.&lt;br /&gt;
&lt;br /&gt;
===0.481===&lt;br /&gt;
&#039;&#039;2 October 2010 - r237&#039;&#039;&lt;br /&gt;
*Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).&lt;br /&gt;
*Fixed a few more references to &amp;quot;player class&amp;quot; terminology instead of &amp;quot;rank&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.480===&lt;br /&gt;
&#039;&#039;2 October 2010 - r236&#039;&#039;&lt;br /&gt;
*Feature: Changed all &amp;quot;player classes&amp;quot; terminology to &amp;quot;ranks&amp;quot; for consistency with other servers. Several commands have been renamed to reflect that: /classes to /ranks, /user to /rank, /class to /rankinfo. All rank-related messages have also been updated.&lt;br /&gt;
*Feature: Added &amp;quot;Raise&amp;quot;/&amp;quot;Lower&amp;quot; buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a &amp;quot;rank&amp;quot; number to reorder ranks.&lt;br /&gt;
*Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.&lt;br /&gt;
*Fix: Improved fCraftUI responsiveness on-startup.&lt;br /&gt;
*Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.&lt;br /&gt;
*Fix: /wremove now always saves the map before unloading.&lt;br /&gt;
*Fix: Fixed Console being affected by chat spam/flood checks.&lt;br /&gt;
*Fix: Fixed /zinfo not showing any separators between player names.&lt;br /&gt;
*Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.&lt;br /&gt;
*Fix: Fixed Security and IRC tabs not being reset by &amp;quot;Reset All Defaults&amp;quot;&lt;br /&gt;
*Fix: Fixed bugged error messages in /tp and /bring when world access permission check fails.&lt;br /&gt;
*Fix: If any class limits were set to default/&amp;quot;(own class)&amp;quot;, the setting is now preserved.&lt;br /&gt;
*Fix: Fixed a bug that didn&#039;t reset Hide limit if it was set to a deleted rank.&lt;br /&gt;
*Change: Removed legacy zone loading code for pre-0.420 maps (due to changes in rank definition format).&lt;br /&gt;
*Change: Added a more informative disconnect message for players trying to connect with Minecraft Alpha clients.&lt;br /&gt;
*Change: Improved rank-based coloring in world list to check both access and build permissions.&lt;br /&gt;
*Change: Added &amp;quot;/fetch&amp;quot; as alias for /bring, and renamed &amp;quot;/save&amp;quot; to &amp;quot;/wsave&amp;quot;.&lt;br /&gt;
*Change: Deleted some obsolete/disabled controls from ConfigTool, removed PingInterval config key, and removed placeholder ControlPhysics and AddLandmarks permissions.&lt;br /&gt;
*Change: Made several changes to improve disconnect detection:&lt;br /&gt;
**Added occasional pings (every 5 seconds or so, depending on activity/inactivity).&lt;br /&gt;
**Reduced socket send/receive timeout from 12 to 10 seconds.&lt;br /&gt;
**Increased socket polling interval to improve performance.&lt;br /&gt;
*Change: If a player tries to connect to a server twice, the FIRST connection is dropped instead of the LAST connection.&lt;br /&gt;
*Refactor: Major changes were made to the way ranks are stored, and to RankList (formerly ClassList) API.&lt;br /&gt;
*Optimization: Made IsoCat rendering faster, and made draw commands use less CPU.&lt;br /&gt;
&lt;br /&gt;
===0.475===&lt;br /&gt;
&#039;&#039;17 September 2010 - r229&#039;&#039;&lt;br /&gt;
*Feature: /ztest now distinguishes between being allowed/denied by rank/class vs by whitelist/blacklist.&lt;br /&gt;
*Fix: Fixed being unable to change rank/class restrictions with /zedit&lt;br /&gt;
*Fix: Fixed a bug that reported wrong average CPU usage&lt;br /&gt;
*Fix: Fixed a crash on saving in ConfigTool, related to new PatrolledClass config key.&lt;br /&gt;
&lt;br /&gt;
===0.474===&lt;br /&gt;
&#039;&#039;16 September 2010 - r228&#039;&#039;&lt;br /&gt;
*Feature: &amp;quot;/mute&amp;quot; command to temporarily stop players from chatting. A new class permission (Mute) is added, granted to op+ by default.&lt;br /&gt;
*Feature: &amp;quot;/shutdown&amp;quot; command to gracefully shutdown the server remotely. A new class permission (ShutdownServer) is added, granted to owner by default.&lt;br /&gt;
*Feature: Added CPU usage information and loaded world count to /sinfo.&lt;br /&gt;
*Fix: Added a way to edit &amp;quot;PatrolledClass&amp;quot; from ConfigTool.&lt;br /&gt;
*Fix: Fixed zone whitelist/blacklist not updated correctly when edited.&lt;br /&gt;
*Fix: Made teleporting to spawn (with /spawn or /tp, no parameters) accessible to all classes.&lt;br /&gt;
*Fix: Adjusted for Notch&#039;s errors in handling player positions in teleport packets. Slightly improves accuracy of /tp, /bring, initial spawning, /patrol, frozen players, and speedhack detection.&lt;br /&gt;
*Fix: Removed &amp;quot;/tp&amp;quot; bounds check when used with typed-in coordinates numbers.&lt;br /&gt;
*Fix: Fixed an extremely unlikely case of PlayerDB/IPBanList overwriting on shutdown if server initialization failed.&lt;br /&gt;
*Fix: Made &amp;quot;server shutting down&amp;quot; packets deliver more reliably (but still not guaranteed).&lt;br /&gt;
*Fix: Fixed Console possibly not seeing hidden players.&lt;br /&gt;
*Change: Added a basic file check to AutoLauncher&lt;br /&gt;
*Change: Added error logging and crash reporting to Server.Shutdown&lt;br /&gt;
*API: Renamed Server.ShutdownStart to Server.ShutdownBegin (for consistency).&lt;br /&gt;
&lt;br /&gt;
===0.473===&lt;br /&gt;
&#039;&#039;15 September 2010 - r227&#039;&#039;&lt;br /&gt;
*Feature: Added zone coordinates to /zinfo&lt;br /&gt;
*Fix: Fixed cross-world /tp teleporting the wrong player.&lt;br /&gt;
*Fix: Fixed odd date formatting in /zinfo&lt;br /&gt;
&lt;br /&gt;
===0.472===&lt;br /&gt;
&#039;&#039;15 September 2010 - r226&#039;&#039;&lt;br /&gt;
*Feature: Added /cut command&lt;br /&gt;
*Feature: Added a new /patrol command. It allows cycling through low-ranked players on a map (with teleportation). The order is determined by how long it&#039;s been since someone checked on a player. A &amp;quot;Patrol&amp;quot; permission and &amp;quot;PatrolledClass&amp;quot; config key were added.&lt;br /&gt;
*Feature: Added a shorthand notation to /zone for making personal zones: &amp;quot;/zone +PlayerName&amp;quot; creates a zone named after the player, with rank limit just above player&#039;s, and with player whitelisted.&lt;br /&gt;
*Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.&lt;br /&gt;
*Fix: Fixed server always binding to IPAddress.Any regardless of config settings.&lt;br /&gt;
*Fix: TP/Bring no longer allow teleporting to hidden players on other worlds.&lt;br /&gt;
*Fix: Server.GetPlayerList(string) now stops searching the list when it finds an exact match.&lt;br /&gt;
*Fix: Fixed client-crash in /zedit when changing class.&lt;br /&gt;
*Fix: Fixed possible corruption of edited zones upon map saving.&lt;br /&gt;
*Fix: Fixed a range of improbable synchronization issues in the way Zone whitelist/blacklist is updated. As a fortunate side-effect, significantly reduced Zone.CanBuild() overhead.&lt;br /&gt;
*Fix: Temporarily added mainThread.Abort() to Server.Shutdown() that&#039;s kicked in if mainThread does not stop within 5s of being notified of shutdown. I am investigating the real cause of the hang.&lt;br /&gt;
*Fix: Fixed hidden players being revealed by promotion/demotion.&lt;br /&gt;
*Change: Added less threatening error messages to IRC bot on network errors (SocketException and IOException).&lt;br /&gt;
*Change: Disabled movement handling code while changing maps.&lt;br /&gt;
*Refactor: Merged StandardCommands and ImportCommands into AdminCommands&lt;br /&gt;
&lt;br /&gt;
===0.471===&lt;br /&gt;
&#039;&#039;14 September 2010 - r224&#039;&#039;&lt;br /&gt;
*Feature: Added ability to specify the server&#039;s IP (to bind to) manually, for machines with multiple NICs. A new config key &amp;quot;IP&amp;quot; (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.&lt;br /&gt;
*Fix: Fixed a bug with player ghosts being left behind when switching worlds.&lt;br /&gt;
*Fix: Fixed a case with kicked players&#039; connections not being terminated at once (thanks to wootalyzer).&lt;br /&gt;
*Fix: Fixed several bugs in hide/unhide functionality.&lt;br /&gt;
*Fix: Fixed a rare crash in AddWorldPopup related to missing maps for existing worlds.&lt;br /&gt;
*Fix: AddWorldPopup will no longer allow adding a world with a duplicate name.&lt;br /&gt;
*Fix: Capped maximum players at the newly-discovered protocol limit of 128 (thanks to wootalyzer).&lt;br /&gt;
*Change: ConfigTool fields now provide better feedback if validation fails.&lt;br /&gt;
*Change: Changed heartbeat interval to 40 seconds (down from 50).&lt;br /&gt;
*Change: Added a special error handler for rare/impossible case of mainWorld not being joinable.&lt;br /&gt;
*Change: Made fatal error messages in fCraftConsole print in red. Better color support coming soon.&lt;br /&gt;
&lt;br /&gt;
===0.470===&lt;br /&gt;
&#039;&#039;13 September 2010 - r223&#039;&#039;&lt;br /&gt;
*Feature: Personal zones - per-zone whitelist and blacklist of individual players. The lists can now be defined with /zadd and edited with /zedit.&lt;br /&gt;
*Feature: Added cave/ore generator from Omen (BETA).&lt;br /&gt;
*Feature: Added &amp;quot;/maps&amp;quot; and &amp;quot;/levels&amp;quot; as aliases for &amp;quot;/worlds&amp;quot;.&lt;br /&gt;
*Feature: Added a way to limit the &amp;quot;Hide&amp;quot; permission per-class. Now you can specify whom can a class hide from.&lt;br /&gt;
*Feature: Zones now remember date/time of creation and last edit, and names of original creator and last editor.&lt;br /&gt;
*Fix: Unauthorized players can no longer PM or use bring/freeze/unfreeze/kick/tp/where on hidden players. They get the standard &amp;quot;player not found&amp;quot; message.&lt;br /&gt;
*Fix: Fixed hidden players being counter towards /players total.&lt;br /&gt;
*Fix: Fixed a potential crash in /wflush when using on unloaded maps.&lt;br /&gt;
*Fix: Doing /banip or /banall on unrecognized players no longer ip-bans 255.255.255.255. Old IPBanList entries relating to 255.255.255.255 will be automatically discarded.&lt;br /&gt;
*Fix: Fixed /replace command uses not being logged.&lt;br /&gt;
*Fix: Fixed /worlds command not showing world count.&lt;br /&gt;
*Fix: Fixed a client-disconnect when trying to unban a player who is not in the database.&lt;br /&gt;
*Fix: Fixed &amp;quot;/join PlayerName&amp;quot; not translating to &amp;quot;/tp PlayerName&amp;quot; correctly.&lt;br /&gt;
*Fix: Fixed a very unlikely client-disconnect in ChangeClass if the entered class name contains curved braces.&lt;br /&gt;
*Change: Changed default name for &amp;quot;/flip&amp;quot; command to &amp;quot;/mirror&amp;quot;, and fixed command&#039;s help. Either term still works.&lt;br /&gt;
*Change: Added more block name aliases:&lt;br /&gt;
**Air: delete, erase&lt;br /&gt;
**Stone: cement, concrete&lt;br /&gt;
**Grass: gras (common typo)&lt;br /&gt;
**Obsidian: onyx&lt;br /&gt;
*Change: Improved formatting of /players, /worlds, and draw command messages.&lt;br /&gt;
&lt;br /&gt;
===0.463===&lt;br /&gt;
&#039;&#039;9 September 2010 - r218&#039;&#039;&lt;br /&gt;
*Fix: Fixed special colors showing up even if ClassColorsInChat is disabled.&lt;br /&gt;
*Fix: Fixed potential client-crash in World.SendToAll(), and related client-crash in lock/unlock.&lt;br /&gt;
&lt;br /&gt;
===0.462===&lt;br /&gt;
&#039;&#039;8 September 2010 - r217&#039;&#039;&lt;br /&gt;
*Fix: The &amp;quot;OK&amp;quot; button in AddWorldPopup no longer stays grayed out.&lt;br /&gt;
*Fix: Fixed &amp;quot;Error occured while loading&amp;quot; in the file information dialog for non-FCM files.&lt;br /&gt;
*Fix: Fixed a crash in /bring when used without any parameters.&lt;br /&gt;
*Fix: Fixed Server.UrlEncode not escaping 0x00-0x0F characters properly.&lt;br /&gt;
*Change: Slightly reduced default tree density in MapGenerator.&lt;br /&gt;
&lt;br /&gt;
===0.461===&lt;br /&gt;
&#039;&#039;8 September 2010 - r216&#039;&#039;&lt;br /&gt;
*Feature: New EXPERIMENTAL &amp;quot;/reloadconfig&amp;quot; command, and associated ReloadConfig permission. Use with caution!&lt;br /&gt;
*Fix: Fixed a case where AddWorldPopup would allow clicking &amp;quot;OK&amp;quot; with a null map.&lt;br /&gt;
*Fix: Fixed player crash if /freeze or /unfreeze is used without arguments.&lt;br /&gt;
*Fix: Fixed player crash on FormatException in /zones and Server.ShowPlayerConnectedMessage.&lt;br /&gt;
*Fix: Fixed potential player crash if LimitOneConnectionPerIP is enabled.&lt;br /&gt;
&lt;br /&gt;
===0.460===&lt;br /&gt;
&#039;&#039;8 September 2010 - r214&#039;&#039;&lt;br /&gt;
*Feature: Added ShowPlayerConnectedMessage and ClassColorsInWorldNames settings to config.&lt;br /&gt;
*Feature: Added /measure command.&lt;br /&gt;
*Feature: Class colors and prefixes are now applied consistently EVERYWHERE.&lt;br /&gt;
*Feature: Banned players now see their ban reason/memo when they get kicked.&lt;br /&gt;
*Feature: A special error message is shown to players trying to connect with Alpha/SMP client.&lt;br /&gt;
*Feature: IsoCat (ConfigTool isometric preview) rendering quality improved: better shadows and slight altitude-based gradient.&lt;br /&gt;
*Feature: Added new blocktype name aliases: &amp;quot;solid&amp;quot;, &amp;quot;golden&amp;quot;, &amp;quot;halfstep&amp;quot;, &amp;quot;halfblock&amp;quot;, &amp;quot;steps&amp;quot;.&lt;br /&gt;
*Feature: Added player count for each class in /classes&lt;br /&gt;
*Fix: Fixed wrong &amp;quot;MaxBackupsSize&amp;quot; range in ConfigTool.&lt;br /&gt;
*Fix: MaxBackupsSize setting is now applied correctly.&lt;br /&gt;
*Fix: IRC color codes are now stripped from forwarded messages.&lt;br /&gt;
*Fix: IRC bot now uses ServerName for &amp;quot;real name&amp;quot;.&lt;br /&gt;
*Fix: Formatting improved in many error messages.&lt;br /&gt;
*Fix: Commas in ban/unban/promote/demote reasons no longer cause problems with PlayerDB.&lt;br /&gt;
*Fix: Removed extra comma from /worlds list that showed in place of hidden/inaccessible worlds.&lt;br /&gt;
*Change: Added 5-second delay between retries in AutoLauncher&lt;br /&gt;
*Change: &amp;quot;Player connected&amp;quot; message condensed to a single line by absorbing &amp;quot;joined world&amp;quot; message.&lt;br /&gt;
*Change: Removed ChangeName permission (and the ability to change names) due to possibility of abuse and confusion. Related /nick and /whois commands were also removed.&lt;br /&gt;
*Change: /tp can now fall back to behave like /join if player name is not found (for all those times when you mistype /tp instead of /join). Conversely, /join falls back to /tp if player was not found.&lt;br /&gt;
*Optimization: Reduced bandwidth use with an adaptive movement packet skipping algorithm. Should reduced outbound traffic by at least 15%.&lt;br /&gt;
*Optimization: BlockUpdate memory usage slightly reduced.&lt;br /&gt;
&lt;br /&gt;
===0.455===&lt;br /&gt;
&#039;&#039;8 September 2010 - r213&#039;&#039;&lt;br /&gt;
*Feature: AutoLauncher (BETA) allows restarting the fCraftConsole server if it crashed. Although it honestly shouldn&#039;t crash at all!&lt;br /&gt;
*Fix: Allowed renaming worlds in cases where only capitalization is different.&lt;br /&gt;
*Fix: If an ip-banned player has more than one connection, all connections are now terminated.&lt;br /&gt;
*Fix: Fixed nonrectangular MCSharp maps getting messed up by the loader.&lt;br /&gt;
*Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.&lt;br /&gt;
*Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of &amp;quot;no player found&amp;quot; message). Affects PMs, {{cmd|TP}}, {{cmd|Bring}}, {{cmd|Freeze}}, {{cmd|Unfreeze}}, {{cmd|Kick}}.&lt;br /&gt;
*Change: Improved OS detection in crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.454===&lt;br /&gt;
*Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.&lt;br /&gt;
*Fix: Replace no longer behaves same as replacenot.&lt;br /&gt;
*Fix: Spaces in IRC messages are now preserved.&lt;br /&gt;
*Fix: Help entries for paste/pastenot corrected.&lt;br /&gt;
*Fix: /cinfo (without parameters) now shows player&#039;s own class info.&lt;br /&gt;
&lt;br /&gt;
===0.453===&lt;br /&gt;
*Feature: It is now possible to reverse last /undo (by typing /undo again).&lt;br /&gt;
*Change: IRC message colors are applied slightly differently now.&lt;br /&gt;
*Change: Added more automated crash reporting hooks - to MainLoop and Tasks.&lt;br /&gt;
*Change: More help messages improved.&lt;br /&gt;
*Change: Added a more informative message for people running outdated versions of Mono and .Net runtime.&lt;br /&gt;
*Optimization: Slightly reduced memory usage of /undo, /paste, and PlayerDB.Load()&lt;br /&gt;
&lt;br /&gt;
===0.452===&lt;br /&gt;
*Feature: New /replacenot command allows replacing all blocks EXCEPT the specified one.&lt;br /&gt;
*Feature: New /flip and /rotate commands to manipulate copied blocks.&lt;br /&gt;
*Feature: /players list is now in alphabetical order.&lt;br /&gt;
*Fix: Trying to specify an unrecognized block type for draw commands (e.g. &amp;quot;/c ai&amp;quot; instead of &amp;quot;/c air&amp;quot;) now shows a proper error message.&lt;br /&gt;
*Fix: Fixed /gen command crashing players if coordinates are typed in before theme/template.&lt;br /&gt;
*Fix: Fixed /e ellipsoids coming out crooked.&lt;br /&gt;
*Fix: &amp;quot;joined for the first time&amp;quot; messages are now shown correctly.&lt;br /&gt;
*Fix: Fixed /replace not working correctly with /undo&lt;br /&gt;
*Fix: Made IRC bot strip nonprintable characters from messages, and ignore empty messages.&lt;br /&gt;
*Fix: World permissions are no longer reset when doing /wload. Also a permission reminder is now shown when creating new worlds.&lt;br /&gt;
*Change: Improved some help messages.&lt;br /&gt;
*Change: Improved IRC error reporting.&lt;br /&gt;
*Change: Added world name back to &amp;quot;Almost there...&amp;quot; join screen.&lt;br /&gt;
*Change: /pasteonly is now called /paste, and /paste is now called /pastenot (for consistency with other custom servers)&lt;br /&gt;
*Optimization: Slightly reduced memory usage of massive drawing commands (over undo limit).&lt;br /&gt;
&lt;br /&gt;
===0.451===&lt;br /&gt;
*Feature: Improved the way fCraft handles fatal errors (crashes). Crash logs are now created more reliably.&lt;br /&gt;
*Feature: Added automated crash reporting to fragmer.net (opt-out).&lt;br /&gt;
*Feature: Added an announcement for players logging in from IPs associated with other previously-banned players.&lt;br /&gt;
*Fix: Curved braces - &amp;quot;{}&amp;quot; - in server name no longer cause problems.&lt;br /&gt;
*Fix: &amp;quot;Leaving the map&amp;quot; kick disabled temporarily, will be made configurable per-class soon.&lt;br /&gt;
*Fix: banall/unbanall commands produce less chat spam.&lt;br /&gt;
*Fix: AFK kicks no longer count towards /info number-of-times-kicked.&lt;br /&gt;
*Change: Added class colors to /info, and fixed formatting bug.&lt;br /&gt;
*Change: Cleaned up &amp;quot;Advanced&amp;quot; tab in ConfigTool.&lt;br /&gt;
**Removed obsolete config keys: PolicyColorCodesInChat, PolicyIllegalCharacters, and RunOnStartup&lt;br /&gt;
**Added SubmitCrashReports and IRCDelay config keys.&lt;br /&gt;
&lt;br /&gt;
===0.450===&lt;br /&gt;
&#039;&#039;26 August 2010&#039;&#039;&lt;br /&gt;
*Feature: IRC bot rewritten for better performance, flexibility, and safety.&lt;br /&gt;
*Feature: New IRC options: IRCBotAnnounceIRCJoins and IRCBotAnnounceServerJoins.&lt;br /&gt;
*Fix: Fixed messages containing only a single slash (&#039;/&#039;) crashing client thread.&lt;br /&gt;
*Change: Removed obsolete IRCBotMsgs config key.&lt;br /&gt;
*Change: Added OnPlayerSentMessage event to Server.&lt;br /&gt;
*Change: IRC bot&#039;s commands (e.g. !status) are temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
===0.445===&lt;br /&gt;
&#039;&#039;25 August 2010&#039;&#039;&lt;br /&gt;
*IMPORTANT! Please update ASAP, a security issue was identified in previous version.&lt;br /&gt;
*Fix: If you need to start message with a slash, you can now escape the slash (type &amp;quot;//&amp;quot;)&lt;br /&gt;
*Fix: Fixed endless update loop (if automatic updates were enabled)&lt;br /&gt;
*Fix: Private messages with a space between &#039;@&#039; and the player name now work.&lt;br /&gt;
*Fix: Hacking-related kicks are not announced globally.&lt;br /&gt;
*Fix: Fixed &amp;quot;/help&amp;quot; giving wrong message if help entry was not found.&lt;br /&gt;
*Change: Minor changes in MapGenerator/Noise&lt;br /&gt;
&lt;br /&gt;
===0.444===&lt;br /&gt;
*Feature: New stat command, /sinfo (server info).&lt;br /&gt;
*Fix: Ban reason/memo now shown for normal bans.&lt;br /&gt;
*Fix: /cinfo for unlimited classes no longer shows &amp;quot;draw limit: 0&amp;quot;&lt;br /&gt;
*Fix: Fixed IRC message colors, and removed IRC color codes from log.&lt;br /&gt;
&lt;br /&gt;
===0.443===&lt;br /&gt;
*FEATURE: New /wflush command. It allows finishing all in-progress draw commands at maximum speed (over 100k blocks/second) then forces a map rejoin.&lt;br /&gt;
*Feature: Added more customization options for colors: PrivateMessageColor and IRCMessageColor in Config.&lt;br /&gt;
*Feature: /players list is now sorted alphabetically.&lt;br /&gt;
*Feature: Added &amp;quot;Check Port&amp;quot; button to ConfigTool to see if port is open. Uses www.utorrent.com/testport&lt;br /&gt;
*Feature: Added &amp;quot;Play&amp;quot; button to fCraftUI to open server URL in the browser&lt;br /&gt;
*Feature: World names in /worlds list are now colored according to each world&#039;s build permission. &lt;br /&gt;
*Feature: Added speedhack detection &amp;amp; prevention (BETA) and corresponding Permission.UseSpeedHack. All your classes will be granted this permission by default. Edit the config to customize it.&lt;br /&gt;
*Fix: When using /mark outside of map boundaries, draw limits are no longer calculated incorrectly (thanks to Darnest).&lt;br /&gt;
*Fix: Fixed possible crash in Map.CheckZones() on maps created with /gen&lt;br /&gt;
*Fix: Fixed compilation issue with &amp;quot;tileset.png&amp;quot; on case-sensitive filesystems.&lt;br /&gt;
*Fix: Fixed class-wide messages not wrapping correctly.&lt;br /&gt;
*Optimization: antigrief and antispam checking overhead reduced.&lt;br /&gt;
&lt;br /&gt;
===0.442===&lt;br /&gt;
*Fix: Addresses a security issue.&lt;br /&gt;
*Fix: &amp;quot;OK&amp;quot; button in AddWorldPopup is now always disabled if no map is set.&lt;br /&gt;
*Fix: &amp;quot;Feature size&amp;quot; label is now updater correctly when map dimensions are changed.&lt;br /&gt;
*Fix: Added missing player notifications for /undo and /cancel commands.&lt;br /&gt;
*Change: MapGenerator&#039;s default map size changed to 128x128x80&lt;br /&gt;
&lt;br /&gt;
===0.441===&lt;br /&gt;
*Feature: Added cuboid limits to /cinfo&lt;br /&gt;
*Fix: Fixed a bug in BoundingBox that made /paste and zones behave incorrectly&lt;br /&gt;
*Fix: Fixed ban/unban commands not kicking the player if entered name capitalization did not match actual capitalization&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; being broken when using &amp;quot;/gen&amp;quot;&lt;br /&gt;
*Fix: Fixed &amp;quot;/ban&amp;quot; rank checks affecting &amp;quot;/unban&amp;quot;&lt;br /&gt;
*Change: Optimized zone permission checks&lt;br /&gt;
&lt;br /&gt;
===0.440===&lt;br /&gt;
*FEATURE: New MapGenerator with tons of options. You can also save/load custom templates for it.&lt;br /&gt;
*FEATURE: AddWorldPopup interface overhaul.&lt;br /&gt;
*FEATURE: JTE, D3, and Myne/Mynecraft/Hyvebuild/iCraft map format converters added.&lt;br /&gt;
*Feature: Improved syntax of the /gen command. See &amp;quot;/help gen&amp;quot; for details.&lt;br /&gt;
*Feature: Reason/memo is now shown publicly when someone gets banned, unbanned, or kicked.&lt;br /&gt;
*Feature: Teleport and Bring work across worlds - world permissions still apply.&lt;br /&gt;
*Feature: Added 4 new Config keys: RequireBanReason, RequireClassChangeReason, AnnounceKickAndBanReasons, AnnounceClassChanges. By default &amp;quot;AnnounceKickAndBanReasons&amp;quot; and &amp;quot;AnnounceClassChanges&amp;quot; are enabled.&lt;br /&gt;
*Feature: Added 5 new fields to PlayerDB: previousClass, classChangeReason, timesKicked, timesKickedOthers, timesBannedOthers.&lt;br /&gt;
*Feature: Added a lot of new information to /info.&lt;br /&gt;
*Feature: You can now save map preview images (isometric) from AddWorldPopup.&lt;br /&gt;
*Feature: ConfigTool now shows warnings about any errors logged during Config.Load&lt;br /&gt;
*Fix: Yet another workaround for VerifyNames false negatives (thanks to SpaceManiac).&lt;br /&gt;
*Fix: Fixed being able to paste admincrete/water/lava without permission (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Trying to go over class draw limit no longer causes &amp;quot;Another drawing command is in progress&amp;quot; error.&lt;br /&gt;
*Fix: Mcc.MapUtility.TryLoading() and Map.LoadHeaderOnly() now release file handles as soon as possible. This should fix some &amp;quot;file is being used by another process&amp;quot; errors.&lt;br /&gt;
*Fix: Map spawn should be parsed correctly for MCSharp/MCZall maps&lt;br /&gt;
*Fix: If a map doesn&#039;t start with a gzip header, it no longer has a chance to abort the whole load process.&lt;br /&gt;
*Fix: Fixed blocktype names being case-sensitive.&lt;br /&gt;
*Fix: Added a more informative message when idle players are kicked.&lt;br /&gt;
*Fix: Fixed undo buffer not getting cleared when doing paste/pasteonly&lt;br /&gt;
*Fix: Fixed /waccess exception kicking players.&lt;br /&gt;
*Fix: 100% Empty maps no longer crash AddWorldPopup with OutOfMemoryException&lt;br /&gt;
*Fix: Fixed &amp;quot;player is already banned&amp;quot; message when doing /BanAll&lt;br /&gt;
*Fix: Fixed no public message appearing when doing /BanAll&lt;br /&gt;
*Fix: Fixed cuboid/ellipsoid/cuboidh logging blocktype code instead of blocktype name.&lt;br /&gt;
*Fix: Improved the message that&#039;s shown when idle players are kicked.&lt;br /&gt;
*Fix: Documented ability to /tp to specific coordinates.&lt;br /&gt;
*Fix: AddWorldPopup no longer crashes if user closes &amp;quot;Load Map&amp;quot; dialog before selecting any file.&lt;br /&gt;
*Fix: When drawing affects (in part or in full) a restricted zone, the zone is left untouched, and the rest of draw command finishes (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Fixed crash in AddWorldPopup.AsyncLoad() if map loading failed.&lt;br /&gt;
*Fix: LegacyRankMapping is now parsed correctly&lt;br /&gt;
*Fix: Renaming a class no longer causes &amp;quot;Worlds&amp;quot; tab dropdown menus to go out-of-sync.&lt;br /&gt;
*Change: AddWorldPopup preview image quality improved.&lt;br /&gt;
*Change: Updated to newest version of NBTag library.&lt;br /&gt;
*Change: Frozen players can no longer build/delete.&lt;br /&gt;
*Change: Removed public &amp;quot;undo&amp;quot; message, added log message instead.&lt;br /&gt;
*Change: Removed AnnounceUnverifiedNames settings.&lt;br /&gt;
*Change: When building/deleting permission is denied, the exact reason is given (instead of a vague &amp;quot;you cannot do that&amp;quot; message) (part of Player.CanPlace overhaul).&lt;br /&gt;
&lt;br /&gt;
===0.435===&lt;br /&gt;
*Feature: Added /copy, /paste, and /pasteonly commands. Rotation coming soon.&lt;br /&gt;
*Feature: Added CopyAndPaste permission, granted to op and owner by default.&lt;br /&gt;
*Feature: Added MapGenType.Cliffs - similar to Mountains type, but with cliffs!&lt;br /&gt;
*Fix: Fixed /paint command&lt;br /&gt;
*Fix: Fixed /baninfo now showing any information if used without parameters.&lt;br /&gt;
*Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.&lt;br /&gt;
&lt;br /&gt;
===0.434===&lt;br /&gt;
*Feature: new /bind command allows mapping any block to any other. Now you can place those unbuildable blocks (water, lava, grass, double-step) in any way you wish. For compatibility, old commands (/water, /solid, /lava, /grass) have been preserved.&lt;br /&gt;
*Change: &amp;quot;step&amp;quot; added as an alias for Stair block. &amp;quot;doublestep&amp;quot; added as an alias for DoubleStair.&lt;br /&gt;
&lt;br /&gt;
===0.433===&lt;br /&gt;
*Feature: /winfo now shows who locked/unlocked the map, and how long ago.&lt;br /&gt;
*Fix: Fixed a error message that showed up when announcements.txt was blank.&lt;br /&gt;
*Fix: Permission check added back to lock/unlock commands.&lt;br /&gt;
*Fix: &amp;quot;mapinfo&amp;quot; added back as alias for /winfo&lt;br /&gt;
*Fix: Fixed locked maps not getting unloaded when all players left&lt;br /&gt;
&lt;br /&gt;
===0.432===&lt;br /&gt;
*Fix: List of worlds printed by /worlds is now sorted alphabetically.&lt;br /&gt;
*Fix: Fixed an obscure half-disconnect bug that left players with id=0 who happened to be on the main world in a semi-disconnected state IF someone else was kicked halfway through the login process before it was assigned an id.&lt;br /&gt;
&lt;br /&gt;
===0.431===&lt;br /&gt;
*Fix: Fixed still messed-up /worlds command.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.430===&lt;br /&gt;
*Fix: Fixed messed-up /worlds command. Sorry about that.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.429===&lt;br /&gt;
*Feature: Command-handler infrastructure has been redesigned. This will allow much more flexibility for devs and plugin makers later.&lt;br /&gt;
*Feature: &amp;quot;/help commands&amp;quot; now only shows available commands by default. Type &amp;quot;/help commands all&amp;quot; to see all commands.&lt;br /&gt;
*Feature: /worlds command now only available worlds by default. Type &amp;quot;/worlds all&amp;quot; to include worlds inaccessible to you.&lt;br /&gt;
*Feature: Help entries added for /zedit, /mark, /version, /rules, and /say.&lt;br /&gt;
*Feature: ConfigTool World tab columns are now sortable.&lt;br /&gt;
*Fix: Fixed &amp;quot;max backups&amp;quot; in ConfigTool being limited to 100. Now it&#039;s at a more reasonable limit of 100000.&lt;br /&gt;
*Fix: Fixed Map.Backup() deleting the newest (instead of the oldest) backup if the total number of files was limited.&lt;br /&gt;
*Fix: Fixed an ERROR that popped up if a player got disconnected during the login process (while player=null).&lt;br /&gt;
*Fix: FormatException crash fixed that caused whole server to go down instead of a player thread.&lt;br /&gt;
*Fix: Several draw-related bugs and crashes fixed.&lt;br /&gt;
*Fix: Fixed crash in /winfo when used on unloaded worlds.&lt;br /&gt;
*Fix: Fixed a bug in Config that caused antigrief to be re-enabled every load.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool that didn&#039;t update AntiGriefSeconds properly when changing between classes.&lt;br /&gt;
*Change: Many /help entries have been improved.&lt;br /&gt;
*Change: Split /class command into two: /classes (aka /ranks) shows a list of classes, and /class (aka /cinfo or /classinfo) shows permission list (missed from last release notes).&lt;br /&gt;
*Change: Added /spawn as an alias for /tp (missed from last release notes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.428===&lt;br /&gt;
*Feature: Line wrapping. Yes, finally.&lt;br /&gt;
*Feature: Per-class draw limits. Defaults are: owner unlimited, op unlimited, regular 4096 (16x16x16), guest 512 (8*8*8)&lt;br /&gt;
*Feature: Per-class antigrief detection. Defaults are: owner unmetered, op umetered, regular 45/6 (7.5 blocks/second), guest 35/5 (7 blocks/second)&lt;br /&gt;
*Feature: Memory usage of draw commands has been reduced by 6 bytes per block (37% improvement).&lt;br /&gt;
*Fix: Extra color codes fixed in /players command.&lt;br /&gt;
*Fix: Fixed a bug with /undo that caused more than one command to be undone at once.&lt;br /&gt;
*Fix: Fixed maps generated with &amp;quot;Realistic terrain&amp;quot; (MapGenerator) having an empty layer at the bottom of the map.&lt;br /&gt;
*Change: Default classes have been tweaked:&lt;br /&gt;
**regular can now use draw commands&lt;br /&gt;
**op can now lock/unlock&lt;br /&gt;
*Change: Improved arrangement of Permission list items.&lt;br /&gt;
*Change: Removed obsolete ConfigKey variables AntigriefBlockCount and AntigriefBlockInterval&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.427===&lt;br /&gt;
*Feature: Added /zedit command for changing zone permissions after creation&lt;br /&gt;
*Feature: New aliases for drawing commands: /c /e /h /r /m&lt;br /&gt;
*Fix: Fix for cuboid command kicking players with &amp;quot;Block.Undefined&amp;quot; if called with no optional BlockType parameter&lt;br /&gt;
*Fix: Fixed zone definitions getting corrupted.&lt;br /&gt;
*Fix: Allowed /save command to be used from console and from remote worlds. Previously you had to join the world to save it.&lt;br /&gt;
*Fix: Fixed potential crash in /winfo when looking up unloaded worlds.&lt;br /&gt;
*Fix: Fixed /zone allowing duplicate names, then kicking the client.&lt;br /&gt;
*Fix: Fixed /ztest showing the standard &amp;quot;you are not allowed to build in this zone&amp;quot; message instead of the expected zone list.&lt;br /&gt;
*Fix: Fixed incorrect description of draw log messages, and backup error messages&lt;br /&gt;
*Fix: Fixed false triggering of &amp;quot;Player asked to be released from its world, but the world did not contain the player&amp;quot; error&lt;br /&gt;
*Change: Fruitified fragmer&#039;s name &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.426===&lt;br /&gt;
*Feature: Announcements! You can define a list of announcements to show periodically. A random line from announcements.txt will be shown to all players at specified interval (in minutes).&lt;br /&gt;
*Feature: /replace command.&lt;br /&gt;
*Feature: /undo command has been improved for more flexibility and better performance.&lt;br /&gt;
*Feature: /winfo (alias: /mapinfo) is added for displaying world name, player count, map dimensions, and access/build permissions.&lt;br /&gt;
*Fix: Fixed a bug that caused duplicate entries to be added to PlayerDB when doing /importranks or /importbans.&lt;br /&gt;
*Change: New ConfigKeys: AnnouncementColor (default: green) and AnnouncementInterval (default: 5 minutes).&lt;br /&gt;
*Change: Draw command stride increased to 16x16x16, for better theoretical performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.425===&lt;br /&gt;
*Feature: Added hollow draw command (/cubh) and aliases (/cuboidh and /bhb)&lt;br /&gt;
*Feature: /players now shows class colors and a total number of players. Breakdown of /players by world is coming soon&lt;br /&gt;
*Feature: Added &amp;quot;Joined world WorldName&amp;quot; message that shows when changing worlds&lt;br /&gt;
*Fix: Improved several /help entries&lt;br /&gt;
*Fix: Fixed a bug in Map.SaveBackup() that could cause a crash if MaxBackups was set&lt;br /&gt;
*Fix: Fixed a bug in ConfigUI where &amp;quot;Delete World&amp;quot; button could leave the map file behind and/or cause an error&lt;br /&gt;
*Fix: Calling lock/unlock from console without a WorldName now shows a nicer error message&lt;br /&gt;
*Change: Improved safety checks of /join command&lt;br /&gt;
*Change: Added a catch-all exception handler into Server.MainLoop&lt;br /&gt;
*Change: Added exception handlers for EVERY single piece of code that requires file access&lt;br /&gt;
*Change: Added more thread safety in MapCommands.WorldRename that resolves a potential race condition with Map.Save&lt;br /&gt;
*Change: Modified IPBanList to use the standard temp folder (instead of fCraft working path) for its temp files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.424===&lt;br /&gt;
*Fix: Fixed /unhide and normal connection getting different messages&lt;br /&gt;
*Fix: Fixed client crash when viewing /rules if the rule file has blank lines&lt;br /&gt;
*Fix: Worlds with capital letters in the name are joinable again&lt;br /&gt;
*Fix: Potential crash in DoClassChange() if target player is already same rank AND is not currently on the server&lt;br /&gt;
*Change: Moved the command list to /help commands&lt;br /&gt;
*Change: Performance and thread-safety improvements to PlayerDB&lt;br /&gt;
*Change: Disabled some more debugging code to avoid taking up unnecessary resources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.423===&lt;br /&gt;
*Feature: /importbans now also supports &amp;quot;banned-ip.txt&amp;quot;&lt;br /&gt;
*Feature: Logs are now stored in /logs/ folder. Your fCraft.log file will be moved there automatically and renamed to &amp;quot;_OldLog.log&amp;quot;&lt;br /&gt;
*Feature: Log splitting now works by day or by session. Set &amp;quot;LogMode&amp;quot; key in config.xml or see Logging tab in ConfigTool.&lt;br /&gt;
*Feature: All maps are now stored in /maps/ folder. Your map files will be moved automatically first time you start ConfigTool/fCraftConsole/fCraftUI&lt;br /&gt;
*Feature: Reserved slots now work&lt;br /&gt;
*Fix: Fixed a bug in fCraft.Server.LoadWorldListXML that could make all worlds hidden.&lt;br /&gt;
*Fix: &amp;quot;player connected&amp;quot; message shown when someone connects, instead of just &amp;quot;player joined world&amp;quot;&lt;br /&gt;
*Fix: &amp;quot;player left the server&amp;quot; message is not shown if the player got kicked before LoginSequence finished (e.g. if server was full)&lt;br /&gt;
*Fix: Added back IP logging for incoming connections&lt;br /&gt;
*Fix: Fixed ConfigTool-generated maps not having correct spawn point&lt;br /&gt;
*Fix: Fixed /user showing both promote and demote messages at once&lt;br /&gt;
*Fix: Removed references to old &amp;quot;/drawundo&amp;quot; command name in &amp;quot;/undo&amp;quot; messages&lt;br /&gt;
*Fix: Fixed &amp;quot;Unrecognized entry ignored: LegacyRankMapping =&amp;quot; warning&lt;br /&gt;
*Change: Made /importbans and /importranks save PlayerDB at once&lt;br /&gt;
*Change: fCraft now forcibly resets its working directory to the same path where the executable is&lt;br /&gt;
*Change: Removed &amp;quot;delete old file?&amp;quot; prompt when renaming worlds in AddWorldPopup. Now it just does it, to match tabWorlds&#039; DataGridView behavior&lt;br /&gt;
*Change: Added additional error checks to Map.Backup() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.422===&lt;br /&gt;
*Feature: Further improved network performance by introducing nonblocking (lock-free) data structure to packet output buffer&lt;br /&gt;
*Fix: Fixed &amp;quot;world creation failed&amp;quot; error if worlds.xml defined a non-existing world to be main&lt;br /&gt;
*Fix: Added back missing messages when doing /user on offline users&lt;br /&gt;
*Fix: Fixed player name color not being updated when their class changes&lt;br /&gt;
*Fix: Added missing /help entries for /importbans and /importranks&lt;br /&gt;
*Change: Improved help messages for /lock, /unban, /unbanip, /undo, /wload, /wmain, and /wremove&lt;br /&gt;
*Change: Tweaked default values of BlockUpdateThrottling and maxBlockUpdatesPerTick for maximum lag-free performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.421===&lt;br /&gt;
*Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players&lt;br /&gt;
*Feature: Added the ability to ban unseen players&lt;br /&gt;
*Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated &amp;quot;Import&amp;quot; permission was added. See &amp;quot;/help importbans&amp;quot; and &amp;quot;/help importranks&amp;quot; for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.&lt;br /&gt;
*Feature: Improved BlockUpdateQueue performance (faster drawing commands!) by switching to a lock-free data structure&lt;br /&gt;
*Fix: Fixed startup errors not being logged if config.xml has not been parsed yet&lt;br /&gt;
*Fix: Fixed ConfigUI input box not aligning properly when window is resized&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; generated maps being 1 block off vertically&lt;br /&gt;
*Change: Updated PlayerDB and IPBanList to use standard temporary folder (instead of dumping temp files into fCraft directory)&lt;br /&gt;
*Change: Added &amp;quot;logging starts&amp;quot; marker that&#039;s written to console and log on-startup&lt;br /&gt;
*Change: fCraftUI log now displays the last 2000 lines (up from 1000 lines)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.420===&lt;br /&gt;
*Feature: New &amp;quot;Worlds&amp;quot; tab in ConfigTool for managing your world list&lt;br /&gt;
*Feature: Isometric map previews and map generation in ConfigTool&lt;br /&gt;
*Feature: Implemented a class-ID system that allows adding/renaming/deleting classes without breaking compatibility. DeleteClassPopup was added for this&lt;br /&gt;
*Feature: Added LimitOneConnectionPerIP option to config &amp;amp; configtool&lt;br /&gt;
*Feature: Worlds can now be hidden from the /worlds list&lt;br /&gt;
*Feature: Added /whois command for checking if a player is using real name or nickname. BE CAREFUL WITH &amp;quot;ChangeName&amp;quot; PERMISSION!&lt;br /&gt;
*Feature: fCraft now generates crash.txt on unhandled fatal errors&lt;br /&gt;
*Feature: Implemented theme support, and added 2 new terrain types (Coast and River) for MapGenerator. See &amp;quot;/help gen&amp;quot; for details, or use ConfigTool.&lt;br /&gt;
*Feature: Pressing Up/Down keys in fCraftUI will show previously typed commands.&lt;br /&gt;
*Fix: Fixed a bug in /wmain and /wload that sometimes made the server unconnectable after changing map&lt;br /&gt;
*Fix: Limits on the /kick command now apply correctly&lt;br /&gt;
*Fix: Fixed /wbuild and /waccess showing wrong messages&lt;br /&gt;
*Fix: Fixed hidden players unable to build due to grief protection&lt;br /&gt;
*Fix: Added /nick and /whois entries to /help&lt;br /&gt;
*Fix: Removed the ability to call draw commands from console (caused crash)&lt;br /&gt;
*Fix: Fixed /lava checking PlaceWater permission instead of PlaceLava&lt;br /&gt;
*Fix: A debug message about &amp;quot;attempting to unregister an non-existent player&amp;quot; is no longer logged every time VerifyNames fails&lt;br /&gt;
*Fix: When using /where command on other players, correct coordinates are now shown]&lt;br /&gt;
*Fix: Player&#039;s classes are now updated in fCraftUI list when promoted/demoted&lt;br /&gt;
*Fix: PMs are now logged as LogType.PrivateChat (instead of generic LogType.WorldChat)&lt;br /&gt;
*Fix: /hide and /unhide now use Color.Sys instead of hardcoded Color.Yellow&lt;br /&gt;
*Fix: Player&#039;s nicknames (as set by /nick) are applied correctly and preserved when changing worlds&lt;br /&gt;
*Fix: Added missing checks for &amp;quot;Chat&amp;quot; permissions&lt;br /&gt;
*Fix: Color buttons in ConfigTool now show correct background color under Mono&lt;br /&gt;
*Fix: Fixed help entry to /freeze showing incorrect information&lt;br /&gt;
*Fix: Corrected tab order in all ConfigTool forms&lt;br /&gt;
*Change: Added /blb as another alias for /cuboid&lt;br /&gt;
*Change: Removed ReservedSlotBehavior config key&lt;br /&gt;
*Change: Disabled word wrapping in rules.txt editor popup&lt;br /&gt;
*Change: /unhide now resets the player&#039;s nick&lt;br /&gt;
*Change: Both player&#039;s real name and nickname (if any) are now recorded in the log&lt;br /&gt;
*Change: Added a warning to /info when looking up nicknames (instead of real names)&lt;br /&gt;
*Change: Heartbeat salt generation (used to verify names) is now more secure&lt;br /&gt;
*Change: Removed CanPlaceHardenedBlocks from permission list&lt;br /&gt;
*Change: All map generator terrain types have been tweaked for improved appearence&lt;br /&gt;
*Change: Centered all ConfigTool popup windows (AddWorldPopup, ColorPicker, DeleteClassPopup, TextEditorPopup)&lt;br /&gt;
*Change: Hid unneeded icons and buttons from ConfigTool popups&lt;br /&gt;
*Change: Changed the way zones store rank restriction (as part of the compatibility assurance), and added versioning to zone definitions&lt;br /&gt;
*Change: Map.Save() now creates temporary files in the OS-specific temporary folder, not in same folder where fCraft is installed&lt;br /&gt;
*Change: World permissions are now updated automatically when a class is deleted&lt;br /&gt;
*Refactor: Improved consistency in code naming conventions, especially in IRC code&lt;br /&gt;
*Refactor: Improved code organization in many areas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.410===&lt;br /&gt;
*Implemented per-world access and build permissions.&lt;br /&gt;
*Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.&lt;br /&gt;
*New world-related commands:&lt;br /&gt;
**/wmain changes the main world&lt;br /&gt;
**/waccess and /wbuild allow setting per-world permissions&lt;br /&gt;
**/wremove allows deleting worlds&lt;br /&gt;
**/wrename allows renaming worlds without reloading&lt;br /&gt;
**/wload command is significantly improved (see /help wload for more info). The functionality of the old /load command has been merged with /wload. Now /load is an alias for /join, together with /l, /j, and /goto.&lt;br /&gt;
*Removed SaveAndLoad permission - it became redundant with ManageWorlds. Please check your config to ensure that permissions remain consistent.&lt;br /&gt;
*Added new and previously-missing (/lockall, /unlockall, /where, /me, /rules, /setspawn) commands to /help.&lt;br /&gt;
*Disabled verify-names check for localhost (127.0.0.1) when running in Balanced mode.&lt;br /&gt;
*When player is denied access to some command, server now names the specific permission that&#039;s needed.&lt;br /&gt;
*Fixed a potential desync issue when one player rejoins a world, and another joins it simultaneously.&lt;br /&gt;
*Removed /genh command and /compass alias for the /where command.&lt;br /&gt;
*Added a fail-safe exception check when executing console commands. Now the server will stay up even if an exception occurs while executing console command.&lt;br /&gt;
*Improved the way server reacts to fatal errors on startup. Now there is a clear indication that server cannot start.&lt;br /&gt;
*&amp;quot;default map&amp;quot; is now referred to as &amp;quot;main world&amp;quot; for consistency. &lt;br /&gt;
*Improved garbage collection.&lt;br /&gt;
&lt;br /&gt;
===0.405===&lt;br /&gt;
*Added back support for vanilla (server_level.dat) maps.&lt;br /&gt;
*Fixed MCSharp importer leaving nonstandard blocks in the map, causing client crashes. Now all MCSharp-specific blocks are converted to normal types.&lt;br /&gt;
*Fixed visual player list not updating in fCraftUI.&lt;br /&gt;
*Added /players command to list ALL players on the server (in all worlds)&lt;br /&gt;
*Made the BlockType parameter optional for /cuboid and /ellipsoid. Now it takes blocktype of the second click (or last-previously-used-blocktype when using /mark) in the absence of the optional parameter.&lt;br /&gt;
*ConfigTool: Added a new tab for IRC setting.&lt;br /&gt;
*ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.&lt;br /&gt;
*IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.&lt;br /&gt;
*IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot. &lt;br /&gt;
*IRC: Fixed a bug with infinite reconnects on receiving error 433 Nickname already in use.&lt;br /&gt;
*Zones: Changed behavior of overlapping zones:&lt;br /&gt;
**Before: To touch a block, AT LEAST ONE zone has to allow it&lt;br /&gt;
**Now: To touch a block, ALL ZONES have to allow it&lt;br /&gt;
*Zones: Added /ztest command that lists all zones affecting a particular block. It can be used to detect and resolve zone overlaps.&lt;br /&gt;
*Zones: Added proper /help entries for /zone, /zones, /zremove, and /ztest, and contextual help for /zone and /zones.&lt;br /&gt;
*Zones: Made zone commands inaccessible from console (it would cause a crash, since zones are world-specific).&lt;br /&gt;
*Fixed OnPlayerDisconnected and OnPlayerListChanged sometimes firing at the wrong time.&lt;br /&gt;
*Added better error handling to Map.Save() in case the target file is not writable.&lt;br /&gt;
*Updated /help entries for /lock, /unlock, and /load commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.404===&lt;br /&gt;
*Fixed zone borders being off by 1 block.&lt;br /&gt;
*Fixed a rare crash on shutdown.&lt;br /&gt;
*Fixed heartbeat reporting incorrect port number to heartbeat if the port specified in config was not available.&lt;br /&gt;
*Adjusted default class permissions slightly, by popular demand:&lt;br /&gt;
**regulars can now place Water and Lava&lt;br /&gt;
**ops can now use draw commands&lt;br /&gt;
*IRC: Added a config option &#039;IRCMsgs&#039; to toggle join/leave messages on/off. Default is disabled to prevent massive spam.&lt;br /&gt;
*IRC: Fixed a possible crash in IRCComm, related to static initializers.&lt;br /&gt;
*ConfigTool: Fixed many bugs in permission checkbox list.&lt;br /&gt;
*ConfigTool: Added visual editor for rules.txt&lt;br /&gt;
*ConfigTool: Added stub tab for IRC settings (coming soon).&lt;br /&gt;
&lt;br /&gt;
===0.403===&lt;br /&gt;
*Fixed spawnpoint being read incorrectly when using /load.&lt;br /&gt;
*Added a note to ban*/unban* commands that&#039;s shown when player name is not found: &amp;quot;Use the FULL player name for ban/unban commands.&amp;quot;&lt;br /&gt;
*Fixed a thread crash (not server-wide crash) in Session.IoLoop that can be caused by corrupted or malicious handshake packets.&lt;br /&gt;
*Fixed a potential crash when using /info on offline players from console.&lt;br /&gt;
*Fixed a potential crash when using /gen from console.&lt;br /&gt;
*Added more fail-safe checks that ensure that map spawn point is always within the map boundaries.&lt;br /&gt;
*Started logging IPs of connections that try sending corrupted or malicious handshake packets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.402===&lt;br /&gt;
*Added back /load command, and hooked up MCC. Currenly supported: fCraft/fcm, MCSharp/lvl, indev/mclevel, MinerCPP and LuaCraft (dat). Vanilla support coming soon.&lt;br /&gt;
*Fixed worlds being unloaded before all block updates are processed (thus aborting draw commands).&lt;br /&gt;
*Fixed several potential multiworld-related crashes and freezes.&lt;br /&gt;
*Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.&lt;br /&gt;
*IRC: Added an information message to notify users of the IRC Bot&#039;s online status when joining the server.&lt;br /&gt;
*IRC: Added the ability to send NOTICES.&lt;br /&gt;
*IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.&lt;br /&gt;
*IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.&lt;br /&gt;
*Drawing-related state is now reset when changing worlds.&lt;br /&gt;
*Added a limiter to the number of block updates that can be processed per tick (even if there are no players in a world). Fixes server becoming unresponsive when doing enormous drawing commands (millions of blocks).&lt;br /&gt;
*Allowed players to /join the world that they are already on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.401===&lt;br /&gt;
*&#039;&#039;&#039;IDLE/AFK CHECKING&#039;&#039;&#039; This is configurable per-class.&lt;br /&gt;
*Added /version command, and added revision to the version string.&lt;br /&gt;
*Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands. &lt;br /&gt;
*Removed all references to the old pre-multiworld &amp;quot;map.fcm.&amp;quot; Backups now work again. &lt;br /&gt;
*Fixed players not spawning in the right place when changing worlds.&lt;br /&gt;
*IRC Bot will now handle terminations by the IRCd and restart itself upon any errors. &lt;br /&gt;
*IRC Bot can now send from inside the server TO IRC! Use the prefix &#039;#&#039; in-game to send any message to IRC. Forwarding all server chat may be added if requested. To send from the bot to the server, use the bot&#039;s nickname and either &#039;:&#039;, &#039;,&#039; or nothing, then your message.&lt;br /&gt;
*Improved performance of the IRC bot and the task scheduler.&lt;br /&gt;
*Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn&#039;t exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.&lt;br /&gt;
*Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after &#039;#&#039; in server chat.&lt;br /&gt;
*Handshake packet is now written when doing /join, to replace MOTD with a more informative &amp;quot;Now loading [worldname]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.400===&lt;br /&gt;
*&#039;&#039;&#039;MULTIWORLD&#039;&#039;&#039; It&#039;s finally here. See /help for information on new commands: /worlds, /wload, /join&lt;br /&gt;
*Added a persistent world list, saved in worlds.txt - this is subject to change. The file contains a list of world names, each corresponding to an .fcm file. The first world listed at the top of worlds.txt is the default/main one.&lt;br /&gt;
*&#039;&#039;&#039;IRC BOT&#039;&#039;&#039; Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.&lt;br /&gt;
*A field has been added in the config to allow forwarding ALL IRC CHANNEL TRAFFIC to the server. This will override the prefix and make it inactive. &#039;IRCBotForwardAll&#039; is set to false by default.&lt;br /&gt;
*&#039;&#039;&#039;ZONES&#039;&#039;&#039; It is now possible to make guest zones and op zones (and anything in-between) on any map. See /help for information on new commands: /zones, /zone, /zremove.&lt;br /&gt;
*Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.&lt;br /&gt;
*Added /compass command (aka /where).&lt;br /&gt;
*Fixed players sometimes not seeing their /kick message.&lt;br /&gt;
*Added a way to teleport to specific coordinates (/tp x y h)&lt;br /&gt;
*Fixed heartbeats timing out when running fCraft under Mono.&lt;br /&gt;
*Fixed Config.ApplyConfig setting the wrong server throttling variables.&lt;br /&gt;
*Fixed air blocks appearing underwater when using /gen&lt;br /&gt;
*Tweaked /gen parameters to make &amp;quot;island&amp;quot; a bit less ugly.&lt;br /&gt;
*Updated text in fCraftConsole.&lt;br /&gt;
&lt;br /&gt;
=0.3xx=&lt;br /&gt;
===0.330===&lt;br /&gt;
*Added /cuboid and /ellipsoid drawing commands.&lt;br /&gt;
*Improved memory usage.&lt;br /&gt;
*Added &amp;quot;Draw&amp;quot; permission, and made /draw check &amp;quot;DeleteAdmincrete&amp;quot; permission when replacing blocks, and removed unused &amp;quot;PlaceGlitchedSand&amp;quot; permission.&lt;br /&gt;
*Added &amp;quot;Port&amp;quot; and &amp;quot;BackupOnlyWhenChanged&amp;quot; config lines, and corresponding ConfigTool fields.&lt;br /&gt;
*Fixed bug that deleted ALL backups when you check &amp;quot;don&#039;t delete old backups.&amp;quot; That was embarrassing.&lt;br /&gt;
&lt;br /&gt;
===0.325===&lt;br /&gt;
*Added an experimental low-latency mode (faster server response, but more bandwidth required).&lt;br /&gt;
*Improved hacking detection: added anti-chat-spam and anti-grief (block spam) checks.&lt;br /&gt;
*New more aggressive anti-hacking checks for incoming movement and SetTile packets.&lt;br /&gt;
*Fixed an issue with fCraftUI console log getting truncated in the wrong places.&lt;br /&gt;
*Improved Mono compatibility (fixes HttpWebRequest failures).&lt;br /&gt;
&lt;br /&gt;
===0.324===&lt;br /&gt;
*Added /me command.&lt;br /&gt;
*Added step stacking.&lt;br /&gt;
*Fixed a case where disconnected players would leave a ghost behind.&lt;br /&gt;
*Improved shutdown speed.&lt;br /&gt;
*Implemented ProcessPriority setting.&lt;br /&gt;
&lt;br /&gt;
===0.323===&lt;br /&gt;
*Fixed players not being able to delete admincrete after promotion.&lt;br /&gt;
*Fixed a bug that allowed players to noclip into walls when using /tp or /bring.&lt;br /&gt;
*Fixed a security issue with &amp;quot;VerifyNames: Balanced&amp;quot;&lt;br /&gt;
*Added prototype of the security tab in ConfigTool (work in progress).&lt;br /&gt;
&lt;br /&gt;
===0.322===&lt;br /&gt;
*Added a range check to Player.SetTile, to prevent certain types of grief bots.&lt;br /&gt;
*Fixed a bug where map spawnpoint did not change after doing /load.&lt;br /&gt;
*Fixed some typos.&lt;br /&gt;
&lt;br /&gt;
===0.321===&lt;br /&gt;
*Fixed welcome messages not showing.&lt;br /&gt;
*Renamed /alias to /nick, and added a permission check.&lt;br /&gt;
&lt;br /&gt;
===0.320===&lt;br /&gt;
*Finally last fix for the disconnect problem. Sorry about that.&lt;br /&gt;
&lt;br /&gt;
===0.319===&lt;br /&gt;
*Quick fix for disconnect problem.&lt;br /&gt;
&lt;br /&gt;
===0.318===&lt;br /&gt;
*Fixed VerifyNames not saving properly when using ConfigTool.&lt;br /&gt;
*Fixed several potential crashers in Session and World.&lt;br /&gt;
*Fixed a bug that sometimes wrongly showed &amp;quot;class name not recognized&amp;quot;.&lt;br /&gt;
*Added class name autocompletion for class chat (@@classname blah)&lt;br /&gt;
*Started working on the new /load mode that allows loading different sized maps, and loading much faster (not done yet).&lt;br /&gt;
&lt;br /&gt;
===0.317===&lt;br /&gt;
*Optimized handling of player movement and some block/tile updates, making servers more responsive and less laggy.&lt;br /&gt;
*Fixed a possible crash that sometimes happened when server has 1 slot left and 2 people tried to join at once.&lt;br /&gt;
*Fixed a case where a Session object was not properly disposed.&lt;br /&gt;
*Fixed resizing issue in UpdateWindow and reduced connection timeout in Updater&lt;br /&gt;
*Disabled ShowPrefixesInChat and ShowPrefixesInList by default (breaks skin support)&lt;br /&gt;
*Added Player.Send, a safe wrapper for Player.session.Send&lt;br /&gt;
*Fixed /tp, /bring, and /setspawn commands that were broken in the last revision.&lt;br /&gt;
*Fixed ConfigTool not saving &amp;quot;IsPublic&amp;quot; setting correctly.&lt;br /&gt;
&lt;br /&gt;
===0.316===&lt;br /&gt;
*Added partial class-name matching for /class and /user commands.&lt;br /&gt;
*Fixed /banip and /banall not kicking the banned players immediately.&lt;br /&gt;
*Added /rules command. Create &amp;quot;rules.txt&amp;quot; in the server folder to specify.&lt;br /&gt;
*Fixed a bug where player movement sometimes got a little out of sync.&lt;br /&gt;
*Optimized /load speed a bit.&lt;br /&gt;
*Added nicer application icons.&lt;br /&gt;
&lt;br /&gt;
===0.315===&lt;br /&gt;
*Added visual color picker to ConfigTool&lt;br /&gt;
*Added lightweight console interface for fCraft&lt;br /&gt;
*Refactored the main update loop&lt;br /&gt;
&lt;br /&gt;
===0.314===&lt;br /&gt;
*Added AutomaticUpdates option.&lt;br /&gt;
*Integrated the color picker to ConfigTool.&lt;br /&gt;
*Improved hacking detection.&lt;br /&gt;
&lt;br /&gt;
===0.313===&lt;br /&gt;
*Fixed a few glitches left after switching file formats.&lt;br /&gt;
*Improved memory usage when saving maps.&lt;br /&gt;
*Fixed an updater-related crash.&lt;br /&gt;
&lt;br /&gt;
===0.312===&lt;br /&gt;
*New map format (FCM v2) should provide faster loading times.&lt;br /&gt;
*server_level.dat loader is now functional.&lt;br /&gt;
*Fixed possible crash if the default port was not available.&lt;br /&gt;
*Automatic updater should now work properly. More update options to come.&lt;br /&gt;
&lt;br /&gt;
===0.311===&lt;br /&gt;
*Preview version of automatic updater.&lt;br /&gt;
&lt;br /&gt;
===0.310===&lt;br /&gt;
*Cleaned up some VC# crapfiles.&lt;br /&gt;
*Added class prefixes and colors.&lt;br /&gt;
*Added PlaceWater and PlaceLava back to permissions.&lt;br /&gt;
*Fixed rank-limited permissions.&lt;br /&gt;
*Other assorted glitches fixed.&lt;br /&gt;
&lt;br /&gt;
===0.305===&lt;br /&gt;
*removed config.xml from svn.&lt;br /&gt;
&lt;br /&gt;
===0.304===&lt;br /&gt;
*More potential crashes fixed.&lt;br /&gt;
&lt;br /&gt;
===0.303===&lt;br /&gt;
*Fixed a couple potential crashes in ConfigTool and Config.DefineClass&lt;br /&gt;
&lt;br /&gt;
===0.302===&lt;br /&gt;
*Fixed a few minor ConfigTool bugs.&lt;br /&gt;
&lt;br /&gt;
===0.301===&lt;br /&gt;
*Forgot to save config from World.cs after parsing. Minor update.&lt;br /&gt;
&lt;br /&gt;
===0.300===&lt;br /&gt;
*ConfigTool finished. Note that some of the options do not have an effect yet.&lt;br /&gt;
&lt;br /&gt;
=Before 0.3xx=&lt;br /&gt;
*Version history was not kept before this point.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Version_history&amp;diff=2631</id>
		<title>Version history</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Version_history&amp;diff=2631"/>
		<updated>2017-04-30T06:38:50Z</updated>

		<summary type="html">&lt;p&gt;F: /* 0.450 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
=0.6xx=&lt;br /&gt;
===0.644===&lt;br /&gt;
&#039;&#039;27 January 2014 - r2327&#039;&#039;&lt;br /&gt;
*Fix: Fixed a bug that caused character &#039;@&#039; in player names to be treated same as &#039;_&#039; (thanks Dingus)&lt;br /&gt;
*Fix: Fixed a rare crash in {{cmd|ZEdit}} when using the command improperly.&lt;br /&gt;
*Fix: Fixed a DataError being thrown in ConfigGUI&#039;s &amp;quot;Worlds&amp;quot; tab after toggling rank prefixes on/off.&lt;br /&gt;
*Fix: Improved error reporting.&lt;br /&gt;
*Change: Improved reliability of external IP checks.&lt;br /&gt;
&lt;br /&gt;
===0.643===&lt;br /&gt;
&#039;&#039;15 October 2013 - r2234&#039;&#039;&lt;br /&gt;
*Fix: Fixed sometimes wrapping last word of a chat message to the next line, when the whole message could fit on one line (thanks AndrewPH).&lt;br /&gt;
*Fix: Installing updates no longer causes UAC prompts under Windows Vista.&lt;br /&gt;
*Fix: Fixed IRC periodically crashing if someone quits with an empty message.&lt;br /&gt;
*Fix: Fixed IRC-related crashes not being submitted to the crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.642===&lt;br /&gt;
&#039;&#039;27 August 2013 - r2180&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Fill3D}}.&lt;br /&gt;
*Feature: Added caret (^), tilde (~), and grave accent (`) to [[emotes]].&lt;br /&gt;
*Fix: Emotes work via IRC once again.&lt;br /&gt;
*Fix: ConfigGUI: Fixed &amp;quot;Add world&amp;quot; and &amp;quot;Edit world&amp;quot; popups sometimes locking up.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving LastFailedLoginIP properly.&lt;br /&gt;
*Change: Made it easy to switch heartbeat servers (minecraft.net to classicube or back) via ConfigGUI.&lt;br /&gt;
*Change: Added an optional second parameter to {{cmd|DumpStats}}, which allows specifying period of inactivity for filtering players.&lt;br /&gt;
*Change: Improved startup and shutdown times, and reduced CPU use.&lt;br /&gt;
*Change: {{cmd|Hide}} and {{cmd|Unhide}} now indicate when they are silent or not.&lt;br /&gt;
&lt;br /&gt;
===0.641===&lt;br /&gt;
&#039;&#039;17 August 2013 - r2150&#039;&#039;&lt;br /&gt;
*Feature: Improved the way {{cmd|EllipsoidH}} works on flat surfaces. Instead of filled ellipses, it now makes rings.&lt;br /&gt;
*Feature: Added {{cmd|Reply}} (&amp;lt;code&amp;gt;/re&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: {{cmd|Fill2D}} can now fill with any brush, not just solid color.&lt;br /&gt;
*Feature: Added &#039;&#039;HeartbeatUrl&#039;&#039; [[List of config keys#Advanced|config key]], to allow alternative heartbeat/authentication services. &#039;&#039;&#039;Note: [[HeartbeatSaver]] only needs to be updated IF you plan on using something other than minecraft.net&#039;&#039;&#039;&lt;br /&gt;
*Fix: Fixed a InvalidOperationException in ConfigGUI when re-drawing the map preview (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;Realistic&amp;quot; MapGen help (thanks Jonty800).&lt;br /&gt;
*Fix: Now correctly kicking custom premium-MC clients.&lt;br /&gt;
*Fix: Fixed help messages in [[HeartbeatSaver]] and {{cmd|MassRank}}.&lt;br /&gt;
*Fix: Fixed a potential way of revealing hidden players by messaging them.&lt;br /&gt;
*Change: ConfigGUI&#039;s port checker works again.&lt;br /&gt;
*Change: IRC bot will now retry for its primary nick every 30 seconds (thanks Dankirk).&lt;br /&gt;
&lt;br /&gt;
===0.640===&lt;br /&gt;
&#039;&#039;30 July 2013 - r2124&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Feature: [[Mojang accounts|Mojang account]] (email) support.&#039;&#039;&#039; Added {{perm|ViewEmails}} permission and a config option to disallow email users.&lt;br /&gt;
*Feature: Overhauled map generation! Improved {{cmd|Gen}}, new {{cmd|SetGen}} command, more options, preset loading/saving, redesigned ConfigGUI interface, and two new map generation modes: Vanilla (from [http://femto.fcraft.net FemtoCraft]) and FloatingIsland.&lt;br /&gt;
*Feature: Optional [http://www.regular-expressions.info/quickstart.html RegEx] filtering of filenames for [[MapRenderer]] and [[MapConverter]], enabled by &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Feature: Added &amp;lt;i&amp;gt;&amp;quot;Player ___ logged in from an IP shared by frozen players...&amp;quot;&amp;lt;/i&amp;gt; announcement.&lt;br /&gt;
*Feature: Added an optional parameter to toggle commands (grass, water, lava, solid, paint, static) &amp;amp;mdash; &amp;quot;on&amp;quot;/&amp;quot;1&amp;quot; or &amp;quot;off&amp;quot;/&amp;quot;0&amp;quot;.&lt;br /&gt;
*Feature: Added BackupOnMapChange config key, which automates backups when a world&#039;s map is replaced by /Gen or /WLoad (enabled by default).&lt;br /&gt;
*Feature: Added &amp;lt;code&amp;gt;/To&amp;lt;/code&amp;gt; as an alias of {{cmd|TP}}, and &amp;lt;code&amp;gt;/Flush&amp;lt;/code&amp;gt; as an alias for {{cmd|WFlush}}.&lt;br /&gt;
*Feature: [[MapRenderer]] is now much quicker, thanks to optimization and multithreading.&lt;br /&gt;
*Feature: Added ability to change capitalization of player&#039;s name using {{cmd|SetInfo}}.&lt;br /&gt;
*Fix: Fixed MapGenerator sometimes locking up when working with tiny 16x16 maps (thanks 123DMWM).&lt;br /&gt;
*Fix: Fixed world greetings not being saved between restarts (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed {{cmd|WLoad}} showing incorrect map file names when prompting to replace files (thanks Smokeybacon).&lt;br /&gt;
*Fix: Fixed [[Command_Tips#Restricting_player_name_search|online-only name prefix]] revealing hidden players in some commands (thanks Intertoothh and recon).&lt;br /&gt;
*Fix: When a spectating player gets frozen, they are no longer stuck spectating (thanks ruggedbear and NuclearWaffle121).&lt;br /&gt;
*Fix: IRC now handles two-number color codes and reset codes correctly (thanks Liam).&lt;br /&gt;
*Fix: Fixed map changes sometimes leaving behind &amp;quot;ghost maps&amp;quot; for players with rank-specific main maps set (thanks Jonty800).&lt;br /&gt;
*Fix: PlayerDB name autocompletion now correctly handles players with &#039;.&#039; in their names.&lt;br /&gt;
*Fix: Timed backups no longer drift slightly every hour.&lt;br /&gt;
*Fix: Players can now {{cmd|Clear}} their chat even while [[/Deafen|deaf]].&lt;br /&gt;
*Fix: Fixed a rare serialization issue with PlayerDB&#039;s RankChangedBy field.&lt;br /&gt;
*Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Now only allow either one directory, or one-or-more files to be specified. Multiple directories, and mixed directories/files are no longer allowed.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Disabled slow fallback conversion by default (which caused non-map files to take forever to skip in recursive mode). Old behavior can be reenabled with &amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Change: When auto-updating or restarting under Mono, fCraft no longer tries to use &amp;quot;mono-sgen&amp;quot;, now just using &amp;quot;mono&amp;quot; and assuming that runtime is properly configured.&lt;br /&gt;
*Change: {{cmd|WBuild}} and {{cmd|WAccess}} can optionally now take &amp;quot;@&amp;quot; in front of rank name.&lt;br /&gt;
*Change: Removed BackupOnJoin config key.&lt;br /&gt;
*Change: UpdateInstaller&#039;s &amp;lt;code&amp;gt;--restart&amp;lt;/code&amp;gt; parameter is more flexible.&lt;br /&gt;
*Change: Dropped Mono 2.6 support.&lt;br /&gt;
*Change: Optimizations in player movement code, PlayerDB loading/saving, IP ban list loading, map generation, map rendering, {{cmd|Ellipsoid}}, and {{cmd|Sphere}}.&lt;br /&gt;
&lt;br /&gt;
===0.639===&lt;br /&gt;
&#039;&#039;10 December 2012 - r1917&#039;&#039;&lt;br /&gt;
*Feature: Added RankPrefixesOnDisplayedNames config key (default: false), which controls whether to prepend rank prefixes to names of players with a custom DisplayedName set.&lt;br /&gt;
*Feature: Added BypassHttpsCertificateValidation config key (default: false), to ease HTTPS-related pains under Mono.&lt;br /&gt;
*Feature: Added MoveEmoteDotToEndOfMessage config key (default: true), which slightly changes emote formatting, by BobKare&#039;s request.&lt;br /&gt;
*Fix: Fixed a stability issue in the IRC bot.&lt;br /&gt;
*Fix: Fixed incorrect runtime version detection for Mono versions older than 2.6.&lt;br /&gt;
*Fix: Server now gives more informative messages when you try to do something disallowed to yourself (mute, unfreeze, ban, kick, etc).&lt;br /&gt;
*Fix: Fixed being able to teleport to hidden players (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed {{cmd|Unhide}} not faking a join message for hidden players (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed IRC bot sending USER before NICK (fixes occasional error 451) (thanks Hellenion).&lt;br /&gt;
*Change: Added ability to set players&#039; BandwidthUseMode via {{cmd|SetInfo}}.&lt;br /&gt;
*Change: Improved {{cmd|Env}}, {{cmd|UndoAreaNot}}, and {{cmd|Help}} messages.&lt;br /&gt;
*Change: Players&#039; connection messages in logs now include TimesVisited stat.&lt;br /&gt;
*Change: {{cmd|Help|commands}} is no longer an alias for {{cmd|Commands}} (thanks ruggedbear).&lt;br /&gt;
&lt;br /&gt;
===0.638===&lt;br /&gt;
&#039;&#039;29 November 2012 - r1887&#039;&#039;&lt;br /&gt;
*Feature: [[Emotes|Emote]] keywords and their Unicode equivalents can now be included in announcement and rule files.&lt;br /&gt;
*Feature: IRC bot now sends a quit message consisting of server name and shutdown reason.&lt;br /&gt;
*Fix: Fixed a very small chance of PlayerInfo.TimeMutedLeft returning negative time spans.&lt;br /&gt;
*Fix: Leading and trailing spaces are now trimmed from kick/ban/unban reasons.&lt;br /&gt;
*Fix: Fixed some emotes getting trimmed from {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} (thanks Intertoothh)&lt;br /&gt;
*Fix: Fixed RestartInterval starting two chat timers (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed ServerCLI using console colors for the first few messages even if &amp;lt;code&amp;gt;--noconsolecolor&amp;lt;/code&amp;gt; [[List of command-line options|command-line switch]] was given (thanks Hellenion)&lt;br /&gt;
*Change: Added &amp;lt;code&amp;gt;--noupdater&amp;lt;/code&amp;gt; command line switch, which stops fCraft from launching update installer binaries (although all other update-related behavior remains the same)&lt;br /&gt;
*Change: Player&#039;s own name is no longer considered in autocompletion/searches for commands that are not applicable to self (e.g. {{cmd|Ban}}, {{cmd|Mute}}, {{cmd|Ignore}}, {{cmd|TP}}, etc)&lt;br /&gt;
*Change: Logged global chat messages now have &amp;quot;(global)&amp;quot; prepended before player&#039;s name.&lt;br /&gt;
*API: Updated trunk project files to VisualStudio 2010. Target runtime remains .NET 3.5 Client Profile.&lt;br /&gt;
&lt;br /&gt;
===0.637===&lt;br /&gt;
&#039;&#039;16 October 2012 - r1847&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Emotes}} command, to list emotes and their keywords.&lt;br /&gt;
*Fix: Fixed IRC bot cutting off very long messages.&lt;br /&gt;
*Fix: Fixed {{cmd|Info}} not working with some IP ranges (thanks _BjorN64_).&lt;br /&gt;
*Fix: Fixed single-letter emote keywords not working (thanks Wundsalz).&lt;br /&gt;
*Fix: Improved the way IRC bot handles nick conflicts (thanks Jonty800).&lt;br /&gt;
*Fix: {{cmd|DumpStats}} no longer dies when an invalid file name is given (thanks Hellenion).&lt;br /&gt;
*Change: Added a new build configuration, DEBUG_NETWORKING, which traces all incoming and outgoing packets.&lt;br /&gt;
*Change: IRC bot now logs all outgoing messages when built in DEBUG_IRC configuration.&lt;br /&gt;
&lt;br /&gt;
===0.636===&lt;br /&gt;
&#039;&#039;10 October 2012 - r1832&#039;&#039;&lt;br /&gt;
*Feature: Check your configs! New options were added to control display of colors and emotes to/from IRC.&lt;br /&gt;
*Feature: Added {house} [[emotes|emote]]: ⌂ (0x7F).&lt;br /&gt;
*Fix: Fixed newline codes %n/%N not being parsed properly.&lt;br /&gt;
*Fix: Fixed a crash in Color.StripColors (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed random symbols appearing in stack traces in console (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed couple problems with Player.Moving event (thanks 00pol).&lt;br /&gt;
*Fix: Spawn points of MCSharp map files are now loaded correctly (thanks 00pol).&lt;br /&gt;
*Change: Players&#039; DisplayedNames may no longer contains line breaks.&lt;br /&gt;
&lt;br /&gt;
===0.635===&lt;br /&gt;
&#039;&#039;8 October 2012 - r1822&#039;&#039;&lt;br /&gt;
*Feature: Added support for &amp;quot;[[emotes]]&amp;quot; (chat symbols). New permission ({{perm|UseEmotes}}) and config key (IRCAllowEmotes) were added.&lt;br /&gt;
*Fix: Fixed numbers sometimes being accepted as valid (e.g. by {{cmd|Mute}}), although counted as 0-length time spans.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving strings with newlines properly.&lt;br /&gt;
*Fix: Fixed IRC bot sometimes producing messages that are a couple characters over the IRC message size limit (512 chars).&lt;br /&gt;
*Fix: Fixed players being able to use newline codes (&amp;amp;N/&amp;amp;n) on IRC.&lt;br /&gt;
*Fix: Fixed problems with UpdaterMode and BackupOnStartup settings in ConfigGUI.&lt;br /&gt;
*Fix: Fixed fCraft not building in DEBUG_IRC configuration.&lt;br /&gt;
*Change: Added a workaround for TermInfoDriver-related exceptions under Mono (thanks Hellenion)&lt;br /&gt;
*Change: Symbolic [[colors|color codes]] (e.g. %S) can now be used in chat.&lt;br /&gt;
*Change: Backslash can now be used to escape percent [[colors|color codes]] (e.g. \%C).&lt;br /&gt;
*Change: fCraft will now retry looking up the external IP up to 3 times.&lt;br /&gt;
*Change: Lots of documentation, annotation, and API improvements.&lt;br /&gt;
&lt;br /&gt;
===0.634===&lt;br /&gt;
&#039;&#039;30 September 2012 - r1796&#039;&#039;&lt;br /&gt;
*Fix: Fixed an occasional InvalidOperationException when auto-updating in ServerGUI.&lt;br /&gt;
*Fix: Fixed ConfigGUI showing misleading information in &amp;quot;unrecognized entry ignore&amp;quot; errors.&lt;br /&gt;
*Fix: Fixed Logger trying to write to file in [[MapConverter]] and [[MapRenderer]].&lt;br /&gt;
*Fix: Fixed [[MapRenderer]] and [[MapConverter]] spamming zone-related errors (thanks Hellenion and AndrewPH)&lt;br /&gt;
*Fix: Fixed {{cmd|UndoPlayerNot}} help entry (thanks ruggedbear)&lt;br /&gt;
*Change: Heartbeat code now uses HTTPS, as mandated by Mojang. If you use Mono, see http://www.mono-project.com/FAQ:_Security&lt;br /&gt;
*Change: Removed support for the malfunctioning WoM Direct heartbeat service.&lt;br /&gt;
*Change: RankChangeReason is now shown as a &amp;quot;Rank note&amp;quot; in {{cmd|Info}}, even if no other data (PreviousRank/RankChangedBy/RankChangeDate) exists (thanks Wundsalz)&lt;br /&gt;
&lt;br /&gt;
===0.633===&lt;br /&gt;
&#039;&#039;26 September 2012 - r1788&#039;&#039;&lt;br /&gt;
*Feature: Added checkbox for HeartbeatEnabled config key to ConfigGUI, on the advanced tab.&lt;br /&gt;
*Fix: Fixed heartbeat/verification issues caused by &amp;quot;no-www&amp;quot; changes made by Mojang at minecraft.net&lt;br /&gt;
*Fix: Fixed VisualStudio designer being unable to load ConfigGUI.MainForm.&lt;br /&gt;
*Fix: Fixed {{cmd|ZMark}} being spammy (thanks ruggedbear).&lt;br /&gt;
*Fix: Binding &amp;quot;air&amp;quot; block to something now works as expected (deleted blocks are replaced with the binding) (thanks Hellenion).&lt;br /&gt;
*Fix: Added missing tooltips to &amp;quot;Data Backup&amp;quot; checkbox in ConfigGUI (thanks PhoneBook_).&lt;br /&gt;
*Fix: Added [[HeartbeatSaver]] to UpdateInstaller and list of protected filenames.&lt;br /&gt;
*Fix: Fixed occasional startup crash in [[HeartbeatSaver]].&lt;br /&gt;
*Change: {{cmd|Reload|Autorank}} now triggers a re-scan of the whole PlayerDB.&lt;br /&gt;
*Change: Added code to BlockDB to recover misaligned .fbdb files. BlockDB files are supposed to be aligned to 20 bytes. Misalignment might happen if writing didn&#039;t finish properly - e.g. power outage, or ungraceful shutdown.&lt;br /&gt;
*Change: Improved consistency of exit codes in [[HeartbeatSaver]], [[MapConverter]], and [[MapRenderer]].&lt;br /&gt;
&lt;br /&gt;
===0.632===&lt;br /&gt;
&#039;&#039;14 September 2012 - r1765&#039;&#039;&lt;br /&gt;
*Feature: Added standalone [[HeartbeatSaver]] utility, a heartbeat-sending daemon.&lt;br /&gt;
*Feature: Added a way to specify scale/turbulence/seed for cloudy brush.&lt;br /&gt;
*Feature: Renamed &amp;quot;IRC&amp;quot; LogType to &amp;quot;IRCStatus&amp;quot;, and added &amp;quot;IRCChat&amp;quot; LogType. Check your configs.&lt;br /&gt;
*Fix: Fixed the updater. You&#039;ll have to update from version 0.631 manually (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed a bug related to multiple players trying to join an almost-full server at the same time.&lt;br /&gt;
*Fix: Fixed a rare InvalidOperationException crash in ConfigGUI.&lt;br /&gt;
*Fix: Fixed reversed order in {{cmd|BlockInfo}} (thanks recon_).&lt;br /&gt;
*Fix: Fixed a few formatting errors in feedback messages.&lt;br /&gt;
*Fix: Fixed a rare disconnect related to a spectator trying to follow a spectatee to a full world.&lt;br /&gt;
*Fix: Fixed {{cmd|Hide}} not showing a fake disconnect message when needed.&lt;br /&gt;
*Fix: Fixed {{cmd|WRename}} prompting for file overwrite when changing capitalization in a world name.&lt;br /&gt;
*Fix: Fixed UndoArea/UndoAreaNot and UndoPlayer/UndoPlayerNot messages occasionally getting mixed up.&lt;br /&gt;
*Fix: Fixed players being unable to join the server if access restrictions prevent them from joining the rank-specific main world.&lt;br /&gt;
*Fix: {{cmd|WRemove}} now correctly handles removing rank-main worlds.&lt;br /&gt;
*Fix: Fixed a case where newlines in PlayerInfo or IPBanInfo fields would cause record corruption.&lt;br /&gt;
*Fix: Fixed reversed messages in {{cmd|DoNotMark}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed ServerCLI sometimes staying open, waiting on console input, when it&#039;s supposed to shut down or restart.&lt;br /&gt;
*Change: Sped up &amp;quot;cloudy&amp;quot; brush when working with large draw commands.&lt;br /&gt;
*Change: Crash reporter now submits list of names and versions of all loaded assemblies, to help identify mismatched or missing dependencies.&lt;br /&gt;
*Change: Added logging to every confirmation prompt, &amp;quot;/ok&amp;quot;, {{cmd|BlockDB}} enabling/disabling/clearing, {{cmd|ZRemove}}, {{cmd|InfoSwap}}, and {{cmd|Env}}.&lt;br /&gt;
*Change: Any pending confirmations are now reset on world change.&lt;br /&gt;
*Change: Added /I as an alias for {{cmd|Info}}, and /CS as an alias for {{cmd|CopySlot}}.&lt;br /&gt;
*Change: Removed &amp;quot;marbled&amp;quot; brush (&amp;quot;cloudy&amp;quot; works just as well) and FCMv4 map format support (development canceled).&lt;br /&gt;
*Change: {{cmd|Where}} command now only requires {{perm|ViewOthersInfo}} permission to see other players&#039; whereabouts. It can be used by anyone on self.&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.631===&lt;br /&gt;
&#039;&#039;5 September 2012 - r1741&#039;&#039;&lt;br /&gt;
*Feature: Added a way to restrict commands to match online players&#039; names only, by prefixing the name with an exclamation mark (!). See [[Command Tips]] for more.&lt;br /&gt;
*Feature: Added {{cmd|DoNotMark}} command. When toggled on, clicking on blocks does not cause marks to be added to a selection.&lt;br /&gt;
*Fix: Included MapConverter.exe and MapRenderer.exe in list of protected filenames.&lt;br /&gt;
*Fix: Fixed a potential crash in Paths.FileExists when working in case-sensitive mode in a root directory.&lt;br /&gt;
*Fix: Fixed ConfigGUI not loading permission limits properly (thanks recon_).&lt;br /&gt;
*Fix: Added missing fake connection message when using non-silent {{cmd|Unhide}} (thanks Wundsalz).&lt;br /&gt;
*Change: Improvements to fCraft&#039;s built-in crash reporter.&lt;br /&gt;
*Change: Blocks redone with {{cmd|Redo}} are now flagged as &amp;quot;Redone&amp;quot; in /BlockInfo (instead of &amp;quot;UndoneSelf&amp;quot;), [[/Paint|painted]] blocks as &amp;quot;Painted&amp;quot; (instead of &amp;quot;Manual, Replaced&amp;quot;).&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.630===&lt;br /&gt;
&#039;&#039;4 September 2012 - r1727&#039;&#039;&lt;br /&gt;
*Feature: New permissions! {{perm|FlushWorlds}} (previously part of {{perm|ManageWorlds}}), {{perm|UseTimers}} (previously part of {{perm|Say}}), and {{perm|UndoAll}}.&lt;br /&gt;
*Feature: Added ability to undo multiple players&#039; actions at once, or EVERYONE&#039;s actions at once, using {{cmd|UndoPlayer}} and {{cmd|UndoArea}}. Command syntax changed, see wiki.&lt;br /&gt;
*Feature: {{cmd|Info}} now shows whether minecraft.net accounts are free or paid.&lt;br /&gt;
*Feature: Added special &amp;quot;skip&amp;quot;/&amp;quot;none&amp;quot; blocktype, usable with brushes and draw commands.&lt;br /&gt;
*Feature: Added ability to clear world/zone whitelists and blacklists. Use &amp;quot;-*&amp;quot; in place of player name to clear whitelist, and &amp;quot;+*&amp;quot; to clear blacklist.&lt;br /&gt;
*Feature: Added a way to remove all zones in a world, {{cmd|ZRemove|*}}.&lt;br /&gt;
*Feature: Added {{cmd|UndoAreaNot}} (/uan) and {{cmd|UndoPlayerNot}} (/upn), which reverse changes made by everyone EXCEPT the given player(s).&lt;br /&gt;
*Feature: Added [[MapConverter]] and [[MapRenderer]] utilities.&lt;br /&gt;
*Feature: {{cmd|CuboidW}} now supports optionally filling sides and center with different blocktypes, e.g. &amp;quot;/cw white blue red&amp;quot;.&lt;br /&gt;
*Fix: Fixed ServerCLI launching the wrong fCraft binary after running the updater.&lt;br /&gt;
*Fix: Fixed a missing warning in {{cmd|Gen}} when map height is not a multiple of 16.&lt;br /&gt;
*Fix: Fixed a rare case of players receiving desynchronized copies of maps where draw commands are in progress.&lt;br /&gt;
*Fix: Fixed a crash in {{cmd|Commands|&amp;lt;Category&amp;gt;}}&lt;br /&gt;
*Fix: Fixed potential crashes when working with files in root directories (e.g. C:/)&lt;br /&gt;
*Fix: Improved {{cmd|BanEx}} logging.&lt;br /&gt;
*Fix: Improved support for Myne/MyneCraft/HyveBuild/iCraft maps.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog in ConfigGUI defaulting to 20 minutes, instead of &amp;quot;(default)&amp;quot;.&lt;br /&gt;
*Fix: Fixed SaveInterval and BackupInterval being limited to just 100 seconds/minutes in ConfigGUI (thanks Hellenion).&lt;br /&gt;
*Fix: Improved consistency of timestamp format in logs (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed being unable to remove world greetings via {{cmd|WSet}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed IRC bot cutting off long messages (thanks Hellenion).&lt;br /&gt;
*Change: Improved performance of {{cmd|Gen}}, {{cmd|WLoad}}, world loading, and all BlockDB-related commands.&lt;br /&gt;
*Change: Adjustments to block names and aliases, as well as command aliases.&lt;br /&gt;
*Change: Merged {{cmd|Cancel}} and /Nvm commands.&lt;br /&gt;
*Change: &amp;quot;&amp;amp;N&amp;quot; is now usable as a &amp;quot;newline&amp;quot; constant in all configurable strings (rules, announcements, greetings, etc), and &amp;quot;%N&amp;quot; is usable by players with {{perm|UseColorCode}} permissions.&lt;br /&gt;
*Change: Made {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} usable by frozen players.&lt;br /&gt;
*Change: Added a warning to /Colors regarding the minimum rank required to use colorcodes in chat (thanks Jonty800).&lt;br /&gt;
*Change: Ignoring a player no longer prevents you from seeing {{cmd|Say}} messages written by them.&lt;br /&gt;
*Change: {{cmd|Paint}}, {{cmd|Solid}}, {{cmd|Grass}}, {{cmd|Water}}, and {{cmd|Lava}} are no longer usable by players without Build permission, and dont show up in /Commands for them.&lt;br /&gt;
*Change: Clarified {{cmd|ZEdit}} messages when trying to remove self from blacklist, or add yourself to whitelist.&lt;br /&gt;
*Change: {{cmd|Mute}}, {{cmd|Unmute}}, {{cmd|Freeze}}, and {{cmd|Unfreeze}} are now also usable on offline players.&lt;br /&gt;
*Change: Session threads are no longer marked as &amp;quot;background&amp;quot;, to prevent unexpected side effects from session threads being aborted on shutdown. This might slow down shutdown a bit, but there is less to go wrong.&lt;br /&gt;
*Change: World greetings can now support constants.&lt;br /&gt;
*Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.&lt;br /&gt;
*Change: Process exit code is now set to match ShutdownReason.&lt;br /&gt;
*API: Added ChatTimer.Started and ChatTimer.Stopped events, rewrote BlockDB, MapConversion, and IsoCat APIs.&lt;br /&gt;
*API: Many documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.624===&lt;br /&gt;
&#039;&#039;16 July 2012 - r1636&#039;&#039;&lt;br /&gt;
*Fix: Fixed BlockDB time-limiting code trimming too much data from the database.&lt;br /&gt;
*Fix: CommandBook ban import now accepts any filename that ends with &amp;quot;.csv&amp;quot;, not just &amp;quot;bans.csv&amp;quot;.&lt;br /&gt;
*Fix: ServerCLI no longer crashes upon receiving EOF from console.&lt;br /&gt;
*Fix: Fixed a rare case of hidden players being revealed (briefly) when their rank is changed.&lt;br /&gt;
*Fix: Fixed [[/Spectate]] leaving ghost players behind on world change (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed a couple typos in [[/WLock]] and [[/WUnlock]] (thanks ImNoobSoWhat).&lt;br /&gt;
*Change: Added server name to [[/ServerInfo]]&lt;br /&gt;
*Change: If opening a link fails (from ConfigGUI or ServerGUI), the URL is copied to clipboard, instead of crashing.&lt;br /&gt;
*Change: &amp;quot;[[/Import]] bans&amp;quot; no longer prints a message for every player who&#039;s already banned, instead showing a total number of already-banned players at the end.&lt;br /&gt;
*Change: Added a missing &amp;quot;Copy&amp;quot; context menu to the ServerGUI&#039;s log box (thanks to Jonty800).&lt;br /&gt;
*Change: fCraft front-ends now check fCraft.dll&#039;s assembly version, and refuse to start if there is a mismatch (Thanks Zaneo).&lt;br /&gt;
&lt;br /&gt;
===0.623===&lt;br /&gt;
&#039;&#039;9 July 2012 - r1624&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in [[/PasteX]] and [[/PasteNotX]].&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] crash when given a non-banned IP address.&lt;br /&gt;
*Fix: Fixed a crash in Player.DetectChatSpam if AntiSpam was supposed to be disabled.&lt;br /&gt;
*Fix: Fixed typos in comments and messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed a crash in [[/ZAdd]] (thanks thelonedrummer18).&lt;br /&gt;
&lt;br /&gt;
===0.622===&lt;br /&gt;
&#039;&#039;6 July 2012 - r1619&#039;&#039;&lt;br /&gt;
*Feature: ServerGUI message log is now color-coded, easier to select/copy/paste, and featuring clickable links.&lt;br /&gt;
*Fix: Fixed several regressions in [[/Hide]] and [[/Spectate]] that were introduced in 0.620-0.621 (thanks mark_b).&lt;br /&gt;
*Fix: Fixed [[/Deafen]] being usable from console (thanks phonebookguy).&lt;br /&gt;
*Fix: Fixed a crash in Paste/PasteNot/PasteX/PasteNotX (thanks Grant).&lt;br /&gt;
*Misc: Updated some draw command messages, credits, help entries, warnings.&lt;br /&gt;
&lt;br /&gt;
===0.621===&lt;br /&gt;
&#039;&#039;5 July 2012 - r1612&#039;&#039;&lt;br /&gt;
*Feature: Added CommandBook banlist (bans.csv) support to [[/Import]].&lt;br /&gt;
*Feature: Added a way to list all players of a certain rank with &amp;quot;[[/Info]] @ClassName&amp;quot;.&lt;br /&gt;
*Feature: Added {PLAYER_LIST} variable, for use in greetings/announcements/rules.&lt;br /&gt;
*Fix: Fixed changes to DefaultBackupInterval config key not being applied.&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] showing &amp;quot;players on same IP&amp;quot; for players without a recorded IP address.&lt;br /&gt;
*Fix: Fixed fCraft occasionally using localized datetime and number formatting.&lt;br /&gt;
*Fix: Fixed [[/Cut]] storing the selected blocks before checking player&#039;s draw limit (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed [[/Fill2D]] starting a selection even if command parameters could not be parsed (thanks David00143).&lt;br /&gt;
*Fix: Fixed [[/Copy]] and [[/Cut]] reporting incorrect origin information (thanks nope__avi).&lt;br /&gt;
*Fix: Players who are spectating or being spectated by you are no longer hidden from the tab player list (thanks ruggedbear).&lt;br /&gt;
*Change: If multiple players are spectating the same player, they no longer see each other (thanks Hellenion).&lt;br /&gt;
*Change: Small improvements and fixes to [[/WSet]] and to AntiSpam functionality.&lt;br /&gt;
*Change: Sped up PlayerDB loading on startup.&lt;br /&gt;
*Change: Added shortcuts for [[/SetInfo]] field names.&lt;br /&gt;
&lt;br /&gt;
===0.620===&lt;br /&gt;
&#039;&#039;17 June 2012 - r1592&#039;&#039;&lt;br /&gt;
*Feature: WoM Direct description and flags can now be set from config, without the need to go to WoM Direct website.&lt;br /&gt;
*Feature: Added a new [[/WSet]] command, that allows hiding worlds, changing backup settings, and setting greeting messages.&lt;br /&gt;
*Feature: More [[/WInfo]] information is persisted across server restarts: IsLocked, LockedBy, UnlockedBy, LoadedBy, LoadedOn, MapChangedBy, MapChangedOn.&lt;br /&gt;
*Feature: Added IRCStripMinecraftColors config key (default: true). It determines whether Minecraft colorcodes (ampersand codes) entered on IRC should be removed before showing the message in-game.&lt;br /&gt;
*Fix: Fixed incorrect percentages occasional being printed by [[/Measure]], [[/Cancel]], and [[/Undo]].&lt;br /&gt;
*Fix: Locked worlds remain locked after server restart.&lt;br /&gt;
*Fix: Addressed many flaws and glitches in the backup system.&lt;br /&gt;
*Fix: Fixed a case where draw commands that affected no blocks caused division by zero&lt;br /&gt;
*Fix: Fixed a PlayerDB record corruption bug that affected numbers over 100,000,000.&lt;br /&gt;
*Fix: Fixed a stability issue related to LineWrapper (thanks Kevinsweijen and Mc_MrCat).&lt;br /&gt;
*Fix: Fixed IRC markup codes being forwarded to the server in IRC&#039;s channel-kick messages.&lt;br /&gt;
*Fix: Fixed [[/Unmute]] not checking rank limits (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;IP&amp;gt;&amp;quot; and &amp;quot;[[/BanAll]] &amp;lt;PlayerName&amp;gt;&amp;quot; not checking ban exemptions when kicking players (thanks BobKare).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;PlayerName&amp;gt;&amp;quot; not kicking all the players from IP address.&lt;br /&gt;
*Fix: Fixed Undo/Redo messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed compatibility with Mono 2.10.8.1 (thanks Hawkzeh).&lt;br /&gt;
*Change: Removed [[/WHide]] and [[/WUnhide]] (obsoleted by [[/WSet]]).&lt;br /&gt;
&lt;br /&gt;
===0.618===&lt;br /&gt;
&#039;&#039;22 April 2012 - r1568&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in ConfigGUI when trying to sort by map size and a map file is missing (thanks Moose).&lt;br /&gt;
*Change: Ampersands are no longer allowed in chat, even escaped, due to unpredictable Minecraft client behavior.&lt;br /&gt;
&lt;br /&gt;
===0.617===&lt;br /&gt;
&#039;&#039;21 April 2012 - r1564&#039;&#039;&lt;br /&gt;
*Feature: [[/BInfo]] now accepts optional XYZ coordinates, like [[/Mark]].&lt;br /&gt;
*Fix: Added a workaround for &amp;quot;Internal error Flush&amp;quot; under Mono.&lt;br /&gt;
*Fix: Fixed [[/WBring]] printing incorrect usage syntax (thanks recon_)&lt;br /&gt;
*Fix: Fixed typo in [[/BlockDB]] (thanks xN8Gx)&lt;br /&gt;
*Fix: Fixed IRC bots not binding to the specified local endpoint.&lt;br /&gt;
*Fix: Fixed &amp;quot;PreviousRank&amp;quot; not getting updated by [[/SetInfo]] working (thanks nope__avi)&lt;br /&gt;
*Fix: Fixed several rare stability issues (thanks Kevinsweijen).&lt;br /&gt;
*Fix: Fixed [[/Undo]] and [[/Redo]] producing odd log messages if 0 blocks have been changed.&lt;br /&gt;
*&amp;lt;s&amp;gt;Change: Allowed &#039;&amp;amp;&#039; character (ampersand) to be entered in chat, which is now escaped.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===0.616===&lt;br /&gt;
&#039;&#039;10 March 2012 - r1498&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Import]] terminating when importing bans, if a player with the given name is already banned.&lt;br /&gt;
*Fix: Fixed a formatting error in [[/Bring]] and [[/WBring]] confirmation messages.&lt;br /&gt;
*Fix: Fixed mixed-up messages in [[/WAccess]] and [[/WBuild]] when removing players from blacklist/whitelist (thanks ruggedbear and xN8Gx)&lt;br /&gt;
*Fix: Fixed [[/Static]] not turning off after switching worlds (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed [[/Rotate]] printing incorrect copyslot number (thanks Mc_MrCat)&lt;br /&gt;
*Fix: Fixed a ServerGUI crash when pressing the down arrow key after typing in the first console message (thanks Jason)&lt;br /&gt;
*Fix: [[/Me]] messages no longer count towards stats twice (thanks recon_)&lt;br /&gt;
*Fix: [[/Mute]] and [[/Unmute]] now usable with &amp;quot;-&amp;quot; in place of player name (thanks thelonedrummer18)&lt;br /&gt;
*Fix: Fixed README.txt typo (thanks Wolfmade)&lt;br /&gt;
&lt;br /&gt;
===0.615===&lt;br /&gt;
&#039;&#039;2 February 2012 - r1445&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Patrol]] checking Spectate permission, and [[/SpecPatrol]] not checking it.&lt;br /&gt;
*Fix: Fixed [[/WRename]] not updating player&#039;s last-used-world-name (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed colorcodes (%-codes) not getting applied consistently (thanks BobKare)&lt;br /&gt;
*Fix: Fixed a rare name-verification issue that only affected players whose ranks have been imported (thanks Mc_MrCat)&lt;br /&gt;
*Fix: ServerGUI now correctly interprets &amp;quot;Notify&amp;quot; and &amp;quot;Auto&amp;quot; updater settings.&lt;br /&gt;
*Change: Data backups are now stored in ./databackups/ directory.&lt;br /&gt;
&lt;br /&gt;
===0.614===&lt;br /&gt;
&#039;&#039;24 January 2012 - r1426&#039;&#039;&lt;br /&gt;
*Fix: Fixed server crashing if PlayerDB.txt exists but is empty.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Join]] -&amp;quot; using player names, and &amp;quot;[[/TP]] -&amp;quot; using world names.&lt;br /&gt;
*Fix: Solved File.Replace-related errors, which caused occasional save failures.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking caller&#039;s Spectate permission limit when selecting the next target.&lt;br /&gt;
*Fix: Fixed &amp;quot;random&amp;quot; brush producing obvious repeating patterns.&lt;br /&gt;
*Fix: Fixed auto-updater occasionally freezing when attempting to &amp;quot;Restart Now&amp;quot;.&lt;br /&gt;
*Fix: Added permission limit check to [[/Unfreeze]] (thanks Xb0x4d4m)&lt;br /&gt;
*Fix: Improved the way [[/Bring]] and [[/WBring]] enforce access permissions (thanks Hellenion)&lt;br /&gt;
*Change: Added more information about player connects/disconnects to log file.&lt;br /&gt;
&lt;br /&gt;
===0.613===&lt;br /&gt;
&#039;&#039;11 January 2012 - r1401&#039;&#039;&lt;br /&gt;
*Fix: Fixed ConfigGUI not saving changes to ShowConnectionMessages key.&lt;br /&gt;
*Fix: Fixed a case where ConfigGUI could crash while attempting to rename a world.&lt;br /&gt;
*Fix: All spectate permissions are now re-checked when someone gets promoted or demoted.&lt;br /&gt;
*Fix: Fixed ConfigGUI Worlds tab crash when dealing with zoned maps.&lt;br /&gt;
*Fix: Fixed IRC bot not retrying for desired nickname after reconnecting&lt;br /&gt;
*Fix: Fixed a case where editing a world via ConfigGUI would clear security whitelists/blacklists.&lt;br /&gt;
*Fix: Fixed spectating players not being treated as hidden (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed formatting in &amp;quot;Player ___ got auto-kicked&amp;quot; message (thanks BobKare)&lt;br /&gt;
*Fix: Fixed auto-kick revealing hidden players (thanks BobKare)&lt;br /&gt;
*Fix: Fixed RandomBrush-related [[/Undo]] artifacts in [[/Triangle]] (thanks Lunara_Noctis)&lt;br /&gt;
&lt;br /&gt;
===0.612===&lt;br /&gt;
&#039;&#039;14 December 2011 - r1307&#039;&#039;&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] @Rank&amp;quot; not autocompleting rank names.&lt;br /&gt;
*Fix: Fixed compatibility with legacy PlayerDB format versions. PlayerDB files created by fCraft 0.400+ will work again.&lt;br /&gt;
*Fix: Fixed several syntax problems and crashes in /Gen.&lt;br /&gt;
*Fix: Fixed a bug that reset a world&#039;s BackupInterval to default and IsLocked flag to false after changing the map (backport from 0.700).&lt;br /&gt;
*Fix: Fixed a bug that prevented kicks/bans/promotions/demotions from being announced on IRC if no reason was given.&lt;br /&gt;
*Change: Capped all user-entered time spans at 9999 days.&lt;br /&gt;
*Change: Shortened and clarified some confirmation prompts ([[/Gen]], [[/WLoad]], [[/ZRemove]], [[/Import]], [[/MassRank]]).&lt;br /&gt;
&lt;br /&gt;
===0.611===&lt;br /&gt;
&#039;&#039;3 December 2011 - r1282&#039;&#039;&lt;br /&gt;
*Feature: Added information about periodic backups to [[/WInfo]].&lt;br /&gt;
*Fix: Fixed [[/Players]] not working properly if both world name and offset were given.&lt;br /&gt;
*Fix: Fixed [[/WAccess]], [[/WBuild]], and [[/ZEdit]] not working with one-letter rank names.&lt;br /&gt;
*Fix: Fixed [[/BanIP]], /BanAll, /UnbanIP, and /UnbanAll treating fully numeric player names as IPs.&lt;br /&gt;
*Fix: Fixed [[/SetInfo]] not resetting PlayerInfo.LastModified date.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] populated&amp;quot; revealing worlds with hidden players.&lt;br /&gt;
*Fix: Fixed [[/BringAll]] ignoring per-rank limits in some cases (thanks ferny530)&lt;br /&gt;
*Fix: Fixed appearance of black and white blocks in [[/Env]] edges (thanks Jonty)&lt;br /&gt;
*Fix: Fixed a bug in Position.Equals&amp;lt;Position&amp;gt;(), which may have caused unnecessary position updates in Player.UpdateVisibleEntities (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed a little crash in Chat.GetRawMessageType (thanks ruggedbear)&lt;br /&gt;
*Fix: Fixed a case where Player.CanPlace checked permissions against the wrong world&#039;s BuildSecurity controller (thanks Xesdra)&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Commands]] @Rank&amp;quot; showing hidden commands (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed a typo in [[/Worlds]] (thanks Kevinsweijen)&lt;br /&gt;
*Fix: Fixed BlockDBAutoEnable and BlockDBAutoEnableRank config keys being placed in the &amp;quot;General&amp;quot; section.&lt;br /&gt;
*Change: Improved config.xml format (now version 152). Configs created with fCraft 0.611+ will not be usable with older versions of fCraft.&lt;br /&gt;
*Change: Rewrote ServerGUI startup code to make it more responsive (thanks to 800craft for the idea).&lt;br /&gt;
*Change: Added information about command-line options to the README, and fixed some typos.&lt;br /&gt;
*Change: MaxConnectionsPerIP restriction no longer applies to localhost.&lt;br /&gt;
*Change: Increased block-ratio limit for &amp;quot;random&amp;quot;, &amp;quot;cloudy&amp;quot;, and &amp;quot;marbled&amp;quot; brushes from 1000 to 10,000.&lt;br /&gt;
&lt;br /&gt;
===0.610===&lt;br /&gt;
&#039;&#039;18 November 2011 - r1240&#039;&#039;&lt;br /&gt;
*Feature: Added [[/Fill2D]] (/f2d), [[/Triangle]] (/t), and [[/TriangleW]] (/tw) draw commands.&lt;br /&gt;
*Feature: Added ability to filter [[/Worlds]] by rank.&lt;br /&gt;
*Feature: Added [[/Static]] (a way to repeat selection commands).&lt;br /&gt;
*Feature: Added MaxUndoStates config key (how many steps back can [[/Undo]] go), and ConfigGUI bindings.&lt;br /&gt;
*Feature: Added experimental IP-range lookup to [[/Info]] (CIDR notation). Changed /Info pattern-matching single-character symbol from &#039;.&#039; to &#039;?&#039;&lt;br /&gt;
*Feature: Added pagination to [[/Players]].&lt;br /&gt;
*Feature: [[/Spectate]] and [[/SpecPatrol]] now show what commands, PMs, and rank messages the target types in.&lt;br /&gt;
*Feature: Added a way to change server salt without needing a restart, using &amp;lt;code&amp;gt;[[/Reload]] Salt&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: [[/Measure]] now shows statistics about block types in the selection.&lt;br /&gt;
*Feature: [[/Gen]] now has two new templates: &amp;quot;ocean&amp;quot; and &amp;quot;empty&amp;quot;&lt;br /&gt;
*Fix: Many fixes in name-retyping functionality.&lt;br /&gt;
*Fix: Addressed stability issues in LineWrapper and Undo/Redo.&lt;br /&gt;
*Fix: Fixed [[/WLock]] not canceling all draw commands (as intended).&lt;br /&gt;
*Fix: Fixed some outdated descriptions, links, and tooltips in ConfigGUI.&lt;br /&gt;
*Fix: Fixed being able to BanIP/BanAll/UnbanIP/UnbanAll invalid IP addresses (0.0.0.0 and 255.255.255.255).&lt;br /&gt;
*Fix: Fixed [[/Info]] printing a blank page (instead of the last page) if given offset is greater than the total number of matches.&lt;br /&gt;
*Fix: Fixed rank prefixes being appended to players&#039; names if DisplayedName is set.&lt;br /&gt;
*Fix: Fixed a couple rare crashes/hangs in ServerGUI when parsing console commands.&lt;br /&gt;
*Fix: Fixed [[/Ban]] and [[/Unban]] announcing when they&#039;re not supposed to.&lt;br /&gt;
*Fix: Fixed a potential crash in [[/BanInfo]] when looking up an IP address directly (no player name).&lt;br /&gt;
*Fix: Fixed another obscure way of revealing hidden players.&lt;br /&gt;
*Fix: Fixed Beta client kick message (thanks Voziv).&lt;br /&gt;
*Fix: Fixed [[/Commands]] defaulting to printing ALL commands.&lt;br /&gt;
*Fix: Fixed [[/Undo]] trying to re-cancel canceled commands.&lt;br /&gt;
*Fix: Fixed uncaught &amp;quot;Illegal characters in path.&amp;quot; exception when trying to save a [[/Gen]]&#039;erated map to an invalid filename.&lt;br /&gt;
*Fix: Fixed typos in [[/ReplaceNot]] and [[/UndoArea]].&lt;br /&gt;
*Change: Added a warning on startup if name verification is disabled.&lt;br /&gt;
*Change: Tweaks and improvements to [[/Info]], [[/WInfo]], [[/BanInfo]], [[/SetInfo]], and [[/Commands]].&lt;br /&gt;
*Change: Removed code that tries next port if the given one could not be used. Now fCraft either starts on the port specified in config, or dies.&lt;br /&gt;
*Change: Commands now complain about being given too many parameters (in addition to complaining about too few parameters). This should help catch mistyped commands.&lt;br /&gt;
*Change: Added an option to disable giant-tree generation in ConfigGUI&#039;s map generator.&lt;br /&gt;
*Change: Changed log format for bans/kicks to include more information, and fixed log message format for &amp;quot;Player ____ logged in from an IP shared by banned players...&amp;quot;&lt;br /&gt;
*Change: Included config.xml in the automated data backup.&lt;br /&gt;
*Change: ConfigGUI tweaks and improvements.&lt;br /&gt;
*Change: Changes some aliases:&lt;br /&gt;
**Added /Whois and /WhoWas as aliases for [[/Info]].&lt;br /&gt;
**Set &amp;quot;/B&amp;quot; and &amp;quot;/About&amp;quot; to be aliases for [[/BInfo]].&lt;br /&gt;
*Change: Changed some ConfigKey defaults:&lt;br /&gt;
**BlockDBEnabled defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
**WomEnableEnvExtensions defaults to &amp;quot;false&amp;quot;&lt;br /&gt;
**IRCBotAnnounceServerEvents defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
*Change: Discontinued ServerWinService (formerly fCraftWinService) subproject.&lt;br /&gt;
*API: Improved Vector3I, Vector3F, and Position classes a bit.&lt;br /&gt;
*API: New events: DrawOperation.Beginning / Began / Ended&lt;br /&gt;
*API: Changed the way PlayerInfo stores empty string fields. Instead of a 0-length string, it now uses nulls.&lt;br /&gt;
*Optimization: Sped up PlayerDB loading/saving, and boolean ConfigKey lookup.&lt;br /&gt;
&lt;br /&gt;
===0.604===&lt;br /&gt;
&#039;&#039;23 October 2011 - r1155&#039;&#039;&lt;br /&gt;
*Feature: Added support for repeating previously-entered player and world names. Just put a dash (-) in place of the player/world name when using a command, and fCraft will fill in the most-recently-used name.&lt;br /&gt;
*Fix: Fixed an occasional SecurityController-related crash in [[/Gen]], [[/WLoad]], and ConfigGUI world editor.&lt;br /&gt;
*Fix: Fixed an very rare problem in shutdown/restart commands.&lt;br /&gt;
*Fix: Fixed a rare crash that only happened if: MaxPlayers&amp;gt;128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.&lt;br /&gt;
*Fix: Fixed naming of paste/pastenot and pastex/pastenotx&lt;br /&gt;
*Fix: Fixed a permission exploit in /wbring (thanks to panda100123)&lt;br /&gt;
*Fix: Fixed [[/Rules]] section finder accidentally being case-sensitive.&lt;br /&gt;
*Fix: Fixed an issue with MCSharp/MCZall/MCLawl/MCQuai/MCStorm/MCForge/MCWhatever importer.&lt;br /&gt;
*Change: Decreased shading strength in IsoCat renderer.&lt;br /&gt;
*Change: Added /Who as an alias for [[/Players]], by request.&lt;br /&gt;
*Change: Clarified ConfigGUI description of name verification settings.&lt;br /&gt;
*Change: Normalized command name capitalization. Command names must now start with an uppercase letter, for consistency.&lt;br /&gt;
*API: Fixed inconsistencies in PlayerDB.txt header row format declaration.&lt;br /&gt;
&lt;br /&gt;
===0.603===&lt;br /&gt;
&#039;&#039;20 October 2011 - r1142&#039;&#039;&lt;br /&gt;
*Fix: [[/Cancel]] can no longer be repeated with &amp;quot;/&amp;quot; (no longer replaces previously-called command).&lt;br /&gt;
*Fix: Fixed [[/Rotate]] and [[/Mirror]] messing up if a paste command is in progress.&lt;br /&gt;
*Fix: Re-enabled crash interception and reporting.&lt;br /&gt;
&lt;br /&gt;
===0.602===&lt;br /&gt;
&#039;&#039;18 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Feature: One-click paste commands are now the default. Two-click aligned paste commands are now known as [[/PasteX]] (/PX) and [[/PasteNotX]].&lt;br /&gt;
*Feature: Added [[/ReplaceBrush]] (/RB) command (shortcut for &amp;lt;code&amp;gt;[[/Brush]] ReplaceBrush&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;[[/Cuboid]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: Added a way to change number of copy/paste slots per rank from ConfigGUI.&lt;br /&gt;
*Fix: Fixed a few typos and missing help entries.&lt;br /&gt;
*Fix: Fixed DrawOp completion message and log entry.&lt;br /&gt;
*Fix: Fixed [[/Paste]] and [[/PasteNot]] not properly clipping against world boundaries.&lt;br /&gt;
*Fix: Fixed ConfigGUI not preserving environment settings for worlds.&lt;br /&gt;
*Fix: Fixed ConfigGUI losing some worlds and showing some errors when importing from 0.5xx.&lt;br /&gt;
*Fix: Fixed [[/Bring]] not being usable from console.&lt;br /&gt;
*Fix: Fixed [[/WRename]] crashing if invalid characters (from filesystem&#039;s point of view) are present in the new name.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking for Spectate permission.&lt;br /&gt;
*Fix: Fixed [[/UndoArea]]&#039;d and [[/UndoPlayer]]&#039;ed blocks having &amp;quot;Restored&amp;quot; flag set in /bi&lt;br /&gt;
*Fix: Fixed a detached checkbox on &amp;quot;Worlds&amp;quot; tab of ConfigGUI.&lt;br /&gt;
*Fix: Fixed [[/Say]], [[/Staff]], and [[/Me]] getting logged twice.&lt;br /&gt;
*Fix: Fixed per-world backup settings being cleared on server restart.&lt;br /&gt;
*Fix: Fixed a rare NullReferenceException in WorldManager.LoadWorldList that occurred if the main world was missing, and the fallback world had access restrictions.&lt;br /&gt;
*Fix: Fixed some issues with BlockDB settings in &amp;quot;Add World&amp;quot; and &amp;quot;Edit World&amp;quot; popups of ConfiGUI.&lt;br /&gt;
*Fix: Fixed a rare ConfigGUI crash when resetting the rank tab whole one of the old ranks is selected.&lt;br /&gt;
*Change: Sped up [[/EllipsoidH]] and [[/SphereH]] slightly (thanks to Redshift).&lt;br /&gt;
*Change: Improved error handling in [[/Env]] when setting level.&lt;br /&gt;
*Change: Double-buffered the preview on &amp;quot;Chat&amp;quot; tab of ConfigGUI, to get rid of flicker.&lt;br /&gt;
*Change: Clarified auto-freeze message when trying to kick/ban someone without a required reason string.&lt;br /&gt;
&lt;br /&gt;
===0.601===&lt;br /&gt;
&#039;&#039;15 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Fixed several issues with [[/Undo]] and drawing commands.&lt;br /&gt;
&lt;br /&gt;
===0.600===&lt;br /&gt;
&#039;&#039;14 October 2011 - r1107&#039;&#039;&lt;br /&gt;
:&#039;&#039;See [http://www.fcraft.net/0.600/ http://www.fCraft.net/0.600] for a summary of changes, and upgrade notes.&#039;&#039;&lt;br /&gt;
*Chat: Added a {{cmd|Timer}} command for creating publicly-announced countdowns/timers.&lt;br /&gt;
*Chat: Added a way to cancel partial messages: &amp;lt;code&amp;gt;/Nvm&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Chat: Removed &amp;quot;Banned player ___ tried to log in&amp;quot; and &amp;quot;Player ___ tried to log in from a banned IP&amp;quot; messages.&lt;br /&gt;
*Chat: {{cmd|Say}}, {{cmd|Staff}}, and {{cmd|Me}} commands can no longer repeated using &amp;quot;/&amp;quot; shortcut.&lt;br /&gt;
*Chat: Added a warning when trying to PM deafened players.&lt;br /&gt;
*Chat: Added a shortcut for chatting to same rank: &amp;quot;@@ Message&amp;quot;&lt;br /&gt;
*Chat: Increased the number of blank lines sent by {{cmd|Clear}} to 30, to accommodate players with smaller-than-normal font sizes.&lt;br /&gt;
*Chat Fix: Fixed {{cmd|Say}}, {{cmd|Roll}}, {{cmd|Staff}}, and {{cmd|Me}} sometimes bypassing {{perm|Chat}} permission, mute check, or spam detection check.&lt;br /&gt;
*Chat Fix: Fixed rank chat being logged twice.&lt;br /&gt;
*Chat Fix: Fixed some system messages getting through to deafened players.&lt;br /&gt;
*Chat Fix: {{cmd|Deafen}} now clears the screen when toggled on.&lt;br /&gt;
*Commands: Rank and zone names now autocomplete.&lt;br /&gt;
*Commands: Players can no longer freeze, mute, kick, ban, unban, promote, or demote themselves.&lt;br /&gt;
*Commands: {{cmd|Players}} can now be called with an optional WorldName parameter, to only list players in a particular world.&lt;br /&gt;
*Commands: {{cmd|WLoad}} now takes two more optional parameters: build rank and access rank names.&lt;br /&gt;
*Commands: {{cmd|Info}} now shows last leave reason, idle time, freeze/mute information, and ban exemption status.&lt;br /&gt;
*Commands: Augmented {{cmd|Rules}} to support several rule categories.&lt;br /&gt;
*Commands: Added {{cmd|Spectate}} and {{cmd|SpecPatrol}} (&amp;lt;code&amp;gt;/SPat&amp;lt;/code&amp;gt;) commands.&lt;br /&gt;
*Commands: Added {{cmd|WBring}} (brings target player to a world);&lt;br /&gt;
*Commands: Added {{cmd|Spawn}} command (brings you to spawn). Typing &amp;quot;{{cmd|TP}}&amp;quot; no longer does the same thing, and {{cmd|TP}} now always requires {{perm|Teleport}} permission.&lt;br /&gt;
*Commands: Algorithm that {{cmd|Patrol}} uses to pick the next target was improved.&lt;br /&gt;
*Commands: Renamed Lock/Unlock commands to {{cmd|WLock}}/{{cmd|WUnlock}}, for consistency.&lt;br /&gt;
*Commands: Merged &amp;lt;code&amp;gt;/ReloadConfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/AutoRankReload&amp;lt;/code&amp;gt; into {{cmd|Reload}} command. Merged &amp;lt;code&amp;gt;/ImportRanks&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/ImportBans&amp;lt;/code&amp;gt; into {{cmd|Import}} command. Combined functionality of &amp;lt;code&amp;gt;/LockAll&amp;lt;/code&amp;gt; into {{cmd|WLock}}, and functionality of &amp;lt;code&amp;gt;/UnlockAll&amp;lt;/code&amp;gt; into {{cmd|WUnlock}}.&lt;br /&gt;
*Commands: {{cmd|Info}} and {{cmd|Worlds}} now support pagination.&lt;br /&gt;
*Commands: When world access permissions are changed with {{cmd|WAccess}}, players who lost ability to join the world will automatically be moved to main.&lt;br /&gt;
*Commands: Frozen player can no longer call most commands, with exception of: {{cmd|Clear}}, {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|RankInfo}}, {{cmd|ServerInfo}}, {{cmd|Ranks}}, {{cmd|Rules}}, {{cmd|Where}}, {{cmd|Help}}, {{cmd|Commands}}, {{cmd|Colors}}, {{cmd|Worlds}}, {{cmd|Zones}}, and {{cmd|ZInfo}}.&lt;br /&gt;
*Commands: {{cmd|Bring}} and {{cmd|WBring}} now give the option of overriding worlds&#039; access minimum-rank. Explicitly blacklisted players will continue to be barred.&lt;br /&gt;
*Commands: Added {{cmd|InfoSwap}} command, for swapping two players&#039; ranks and PlayerDB records.&lt;br /&gt;
*Commands: Added a way to abort a server shutdown or restart (&amp;quot;{{cmd|Shutdown|abort}}&amp;quot; or &amp;quot;{{cmd|Restart|abort}}&amp;quot;).&lt;br /&gt;
*Commands: {{cmd|RankInfo}} now shows copy/paste slots, idle kick time, and permission limits.&lt;br /&gt;
*Commands: Most time-related commands now take the [[Time formatting|compact format]] (e.g. 1m30s, 45s, 24h, etc).&lt;br /&gt;
*Commands: Color-coded {{cmd|Commands}}.&lt;br /&gt;
*Commands: Limited {{cmd|Mute}} duration to range between 1 second and 700 days (100 weeks).&lt;br /&gt;
*Commands: {{cmd|SetInfo}} now allows changing players&#039; DisplayedName.&lt;br /&gt;
*Commands: A warning is now shown when a player is kicked/banned, and other players are still connected from the IP.&lt;br /&gt;
*Commands: Added a way to add IP ban exemptions using {{cmd|BanEx}} (banning all players from IP except a particular one).&lt;br /&gt;
*Commands: Added automatic countdowns to {{cmd|Shutdown}} and {{cmd|Restart}}.&lt;br /&gt;
*Commands: Added more stats to {{cmd|ServerInfo}}.&lt;br /&gt;
*Commands: {{cmd|MassRank}} now defaults to silent, and takes a &amp;quot;reason&amp;quot; parameter.&lt;br /&gt;
*Commands: Added &amp;quot;/St&amp;quot; as an alias for {{cmd|Staff}}. Changed &amp;quot;/L&amp;quot; from being alias for {{cmd|Join}}, to being alias for {{cmd|Lava}}. Removed &amp;quot;/Cub&amp;quot; alias for {{cmd|Cuboid}}.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|UnbanIP}} and {{cmd|UnbanAll}} not announcing the unban reason.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Info}} not formatting names of offline players.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Restart}} breaking under Mono if working path contains spaces.&lt;br /&gt;
*Commands Fix: Fixed freeze/unfreeze printing wrong ranks in &amp;quot;You can only freeze players ranked ____ or lower&amp;quot; messages.&lt;br /&gt;
*Commands Fix: Fixed a rare crash in {{cmd|Rules}} when used from console.&lt;br /&gt;
*Commands Fix: {{cmd|BanIP}} and {{cmd|BanAll}} no longer allow to ban the IP if it&#039;s shared by any players whom caller is not allowed to ban.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Ignore}} and {{cmd|Unignore}} printing all matches at once on autocompletion.&lt;br /&gt;
*Commands Fix: Fixed a case where {{cmd|BringAll}} could reveal hidden players.&lt;br /&gt;
*Commands Fix: Fixed a few bugs in {{cmd|DumpStats}}, expanded player listing to top-5/bottom-5, and added &amp;quot;BlocksDrawn&amp;quot; stat.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Rank}} and {{cmd|TP}} commands showing up in {{cmd|Commands}} for ALL players.&lt;br /&gt;
*Commands Fix: Fixed a couple rare bugs in {{cmd|Roll}}.&lt;br /&gt;
*Commands Fix: Fixed broken {{cmd|BringAll}} support for bringing multiple ranks at once.&lt;br /&gt;
*Commands Fix: Fixed several obscure ways of revealing presence of hidden players via commands like {{cmd|ServerInfo}} and {{cmd|Worlds}}.&lt;br /&gt;
*Config: New config keys: BackupDataOnStartup (default: true), RestartInterval (default: 0), HeartbeatToWoMDirect (default: true), BlockDBEnabled (default: true), BlockDBAutoEnable (default: true), and BlockDBAutoEnableRank (default: DefaultRank), WoMEnableEnvExtensions (default: false).&lt;br /&gt;
*Config: Added {{perm|Spectate}} permission that covers {{cmd|Spectate}} and {{cmd|SpecPatrol}}.&lt;br /&gt;
*Config: Added {{perm|DrawAdvanced}} permission that covers {{cmd|Brush}}, {{cmd|Sphere, {{cmd|SphereH}}, {{cmd|Torus}}, and {{cmd|Restore}} commands.&lt;br /&gt;
*Config: Added {{perm|ManageBlockDB}} permission that covers {{cmd|BlockDB}}.&lt;br /&gt;
*Config: Added {{perm|UndoOthersActions}} permission that covers {{cmd|UndoPlayer}} and {{cmd|UndoArea}}.&lt;br /&gt;
*Config: {{cmd|Reload}} can now update more config keys without needing a restart: AutoRankEnabled, BandwidthUseMode, ConsoleName, DefaultRank, DefaultBuildRank, PatrolledRank.&lt;br /&gt;
*Config: Removed obsolete ShowBannedConnectionMessages config key.&lt;br /&gt;
*Config Fix: Fixed DefaultRank/DefaultBuildRank/PatrolledRank settings not being applied.&lt;br /&gt;
*ConfigGUI: Added BlockDB settings to &amp;quot;Worlds&amp;quot; tab and &amp;quot;Add/Edit World&amp;quot; dialog.&lt;br /&gt;
*ConfigGUI: Reorganized Rank tab.&lt;br /&gt;
*ConfigGUI: Relaxed restrictions on rank prefixes.&lt;br /&gt;
*ConfigGUI: Added &amp;quot;Insert Color&amp;quot; and &amp;quot;Insert Keyword&amp;quot; buttons to announce/rule/greeting editors in ConfigGUI, and a &amp;quot;Reset&amp;quot; button to revert edits.&lt;br /&gt;
*ConfigGUI: Any errors/warnings that are produced while loading &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt; in ConfigGUI are now displayed at startup.&lt;br /&gt;
*ConfigGUI Fix: ConfigGUI no longer loses worlds&#039; whitelists/blacklists.&lt;br /&gt;
*ConfigGUI Fix: Fixed several bugs related to renaming worlds.&lt;br /&gt;
*ConfigGUI Fix: Fixed several &amp;quot;Reset&amp;quot; bugs.&lt;br /&gt;
*ConfigGUI Fix: Fixed &amp;quot;Enable colors in IRC&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*ConfigGUI Fix: Fixed ConfigTool&#039;s Chat tab not updating to reflect changes in rank colors/prefixes.&lt;br /&gt;
*ConfigGUI Fix: Fixed sort order in Worlds tab when sorting by world size.&lt;br /&gt;
*ConfigGUI Fix: Fixed some rank dropdown menus in ConfigGUI showing &amp;quot;(lowest rank)&amp;quot; instead of &amp;quot;(default rank)&amp;quot; as the default option.&lt;br /&gt;
*Drawing: Introduced a brush/pattern system for draw commands. Rewrote (almost) all existing draw commands to take advantage of that new infrastructure. Brushes are: Normal (default), Checkered, Random, Cloudy, Marbled, Replace, ReplaceNot, ReplaceBrush.&lt;br /&gt;
*Drawing: Added a way to {{cmd|Undo}} up to five commands back. Use {{cmd|Redo to reverse it.&lt;br /&gt;
*Drawing: Added {{cmd|Torus}} drawing command, written and contributed by M1_Abrams.&lt;br /&gt;
*Drawing: Added support for multiple copy/paste slots, using {{cmd|CopySlot}}. Number of slots of configurable per-rank.&lt;br /&gt;
*Drawing: {{cmd|Replace}} and {{cmd|ReplaceNot}} can now take just one blocktype. The replacement type is inferred from the type of block player is holding when clicking.&lt;br /&gt;
*Drawing: {{cmd|Undo}} now cancels the last drawing commands.&lt;br /&gt;
*Drawing: Added a new [[Blocks|block name aliases]]: &amp;quot;g&amp;quot; for grass, &amp;quot;w&amp;quot; for water, &amp;quot;a&amp;quot; for air.&lt;br /&gt;
*Drawing Fix: Added a missing volume check to {{cmd|Line}}, and fixed {{cmd|CuboidW}} volume calculations.&lt;br /&gt;
*Drawing Fix: Fixed {{cmd|Copy}} and {{cmd|Cut}} reporting incorrect orientation.&lt;br /&gt;
*FrontEnd: Colored ConfigCLI log messages: red for errors, yellow for warnings, dark gray for debug, default (gray) for everything else. Call with &amp;quot;--noconsolecolor&amp;quot; parameter to disable.&lt;br /&gt;
*FrontEnd: ServerCLI now handles all updater modes properly, and downloads updater/restarts if needed.&lt;br /&gt;
*FrontEnd: Improved window titles.&lt;br /&gt;
*FrontEnd Fix: Fixed ServerCLI writing errors to stdout instead of stderr.&lt;br /&gt;
*Misc: Players who log out hidden will now log in silently, still hidden.&lt;br /&gt;
*Misc: More [[Constants|keywords]] are now usable in announcements, rules, and greeting files: {SERVER_NAME}, {MOTD}, {RANK}, {PLAYER_NAME}, {TIME}, {WORLD}, {PLAYERS}, and {WORLDS}&lt;br /&gt;
*Misc: Kicked or disconnected players no longer have their TotalTime increased for the time idled.&lt;br /&gt;
*Misc: fCraft will refuse to start up if running old versions of mono (2.4 or earlier).&lt;br /&gt;
*Misc: Crash reporter now prints a reference number for submitted reports.&lt;br /&gt;
*Misc: AutoRank now only evaluates online players on a timer. A full database sweep will only be done on startup or on-demand. This should notably reduce average CPU use on large databases.&lt;br /&gt;
*Misc: Added AutoRank pseudoplayer (similar to Console), who is now credited with all autorank promotions/demotions.&lt;br /&gt;
*Misc: Increased the allowed clicking distance when manually clicking blocks, to account for lag.&lt;br /&gt;
*Misc: IRC bot now announces channel kicks and nick changes.&lt;br /&gt;
*Misc: When a player with a reserved slot tries to join a full world, the longest-idle player will be kicked to make room.&lt;br /&gt;
*Misc: Frozen, demoted, and banned players are now automatically unhidden. Frozen players are undeafened. Banned players are also automatically unfrozen and unmuted.&lt;br /&gt;
*Misc: When a player&#039;s rank is changed, their bindings are now reset (to avoid issues with {{cmd|Water}}, {{cmd|Lava}}, and {{cmd|Solid}}), and any in-progress selection is canceled ([[:Category:Requires Draw|draw]] commands, {{cmd|Zone}}, {{cmd|ZTest}}, {{cmd|BInfo}}, {{cmd|Measure}}, etc)&lt;br /&gt;
*Misc: Frozen players now have a little blue star appended to their names, similar to the red star for banned players.&lt;br /&gt;
*Misc: Moved all heartbeat-related operations to the background thread (fixes lag spikes when minecraft.net times out).&lt;br /&gt;
*Misc: Added a dynamically updated compass at the top-right of the screen, visible to players who use WoM 1.8.8+&lt;br /&gt;
*Misc: Added a check for libMonoPosix on server startup. This allows catching misconfigured Mono setups early.&lt;br /&gt;
*Misc: Ranks now default to &amp;quot;white&amp;quot; color (&amp;quot;&amp;amp;f&amp;quot;) instead of &amp;quot;none&amp;quot; color (&amp;quot;&amp;quot;).&lt;br /&gt;
*Misc: Edited the &amp;quot;failed to load main world&amp;quot; message to sound less menacing, since it&#039;s usually caused just by main world filling up.&lt;br /&gt;
*Misc: Sped up {{cmd|PruneDB}}, {{cmd|MassRank}}, map generation. Reduced memory use of draw commands, undo buffers, and ConfigGUI.&lt;br /&gt;
*Misc Fix: Fixed &amp;quot;duplicate metadata key&amp;quot; warning in FCMv3 maps.&lt;br /&gt;
*Misc Fix: Fixed a zone-related race condition when exporting to Opticraft map format.&lt;br /&gt;
*Misc Fix: Fixed fCraft being unable to start if fCraft.dll is in the root directory of a drive (e.g. in &amp;quot;C:/&amp;quot;)&lt;br /&gt;
*Misc Fix: Fixed a bug that caused bandwidth to sometimes be wasted on needlessly updating position of non-moving players.&lt;br /&gt;
*Misc Fix: Fixed a clock drift problem in periodic SchedulerTasks.&lt;br /&gt;
*Misc Fix: Fixed a case where, in some rank configurations, players would see themselves as offline when hidden (in {{cmd|Info}}, {{cmd|BInfo}}, {{cmd|Players}}, etc).&lt;br /&gt;
*PlayerDB: Added 46th column: PlayerInfo.IsHidden (&#039;h&#039; if hidden, otherwise blank).&lt;br /&gt;
*PlayerDB: Added 47th column: PlayerInfo.LastModified (UTC unix timestamp). Accuracy is not yet guaranteed.&lt;br /&gt;
*PlayerDB: Added 48th column: PlayerInfo.DisplayedName (string or blank). Overrides &amp;quot;Name&amp;quot; field for purposes of displaying formatted name (ClassyName).&lt;br /&gt;
*PlayerDB: Removed 14th column (FailedLoginCount) due to disuse.&lt;br /&gt;
*PlayerDB: PlayerDB now writes out changes to TotalTime incrementally for online players, instead of applying the change on-logout.&lt;br /&gt;
*Worlds: Added a way to change some environment and texture settings per-map, using {{cmd|Env}}.&lt;br /&gt;
*Worlds: Per-world settings on backup intervals now work.&lt;br /&gt;
*Worlds: Added BlockDB - a system for tracking edits per-block. Added related {{cmd|BlockDB}} and {{cmd|BInfo}} commands.&lt;br /&gt;
*Worlds: Added {{cmd|UndoPlayer}} and {{cmd|UndoArea}} commands for undoing players&#039; actions using BlockDB.&lt;br /&gt;
*Worlds: If a world has a missing map file, a warning is now shown, and a default flatgrass map is created.&lt;br /&gt;
*Worlds: Added a way to set per-rank main world, using {{cmd|WMain}}.&lt;br /&gt;
*Worlds: Added {{cmd|Restore}} command, inspired by good old MinerCPP. Selectively loads a map from another file or backup.&lt;br /&gt;
*Worlds: Allowed non-standard dimensions (neither multiples of 16, nor powers of 2). Added a warning about glitches when using nonstandard dimensions.&lt;br /&gt;
*Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to {{cmd|WInfo}} and to &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worlds: MapGenerator tweaks: &amp;quot;default&amp;quot; template is now known as &amp;quot;random,&amp;quot; &amp;quot;mountains&amp;quot; template now has more cliffs and snow on mountaintops, &amp;quot;island&amp;quot; template is less rough and has nice beaches, and water is now automatically removed from &amp;quot;desert&amp;quot; maps.&lt;br /&gt;
*Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.&lt;br /&gt;
*Worlds Fix: Fixed an exploit that allowed players to bypass world access permissions in certain rank configurations.&lt;br /&gt;
*Worlds Fix: Fixed some rare crashes in {{cmd|WLoad}}.&lt;br /&gt;
*Worlds Fix: Fixed {{cmd|WAccess}} and {{cmd|WBuild}} occasionally not saving the world list after adding players to the access/build whitelists.&lt;br /&gt;
*Worlds Fix: Fixed being unable to change just the capitalization when renaming worlds from ConfigGUI, under Windows.&lt;br /&gt;
*Zones: Added {{cmd|ZRename}} command to rename zones.&lt;br /&gt;
*Zones: Added {{cmd|ZMark}} command to use zone boundaries for drawing or making selections.&lt;br /&gt;
*Zones Fix: Fixed {{cmd|ZAdd}} crash when adding more than one personal zone for the same player ({{cmd|ZAdd|+Name}}).&lt;br /&gt;
*Zones Fix: Fixed a rare case where two players could simultaneously create a zone with the same name on the same world, which would crash one of the players.&lt;br /&gt;
*Zones Fix: {{cmd|Zones}} no longer crashes if used on a world with a missing or corrupt map file.&lt;br /&gt;
*Zones Fix: Tightened security checks of {{cmd|ZAdd}} and {{cmd|ZRemove}} to prevent a permission exploit.&lt;br /&gt;
*API: Added specialized MetadataCollection class to manage per-map and per-player metadata, and ZoneCollection for zones.&lt;br /&gt;
*API: Added ReSharper-compatible annotations and more argument checks throughout the codebase.&lt;br /&gt;
*API: fCraft now consistently uses [X,Y,Z] for coordinates (where X/Y are horizontal, and Z is vertical), and [Width,Length,Height] for dimensions (Width/Length horizontal, Height vertical).&lt;br /&gt;
*API: Merged Session and Player classes. All session-related functionality is in Player.Networking.cs file.&lt;br /&gt;
*API: New line-wrapping algorithm provides better performance and safety. Now using &amp;quot;\n&amp;quot; instead of &amp;quot;&amp;amp;N&amp;quot; to force a newline.&lt;br /&gt;
*API: Renamed World.PlayerList to World.Players, Server.PlayerList to Server.Players, and added PlayerDB.PlayerInfoList&lt;br /&gt;
*API: New LINQ-style API for working with sets of players. This API is now used for all messaging and packet-sending. Old API (Server.Send* and World.Send*) was removed.&lt;br /&gt;
*API: New unified API for handling player-generated chat (Chat static class), and new events (Chat.Sending and Chat.Sent).&lt;br /&gt;
*API: All cancellable events now implement ICancellableEvent.&lt;br /&gt;
*API: MapDAT and MapNBT now implement IMapConverter.LoadHeader.&lt;br /&gt;
*API: Converted IClassy.GetClassyName(), Rank.GetFullName(), and Player.GetListName() to properties.&lt;br /&gt;
*API: Renamed ConfigKey.GetBool() to ConfigKey.Enabled(). Added ConfigKey.TryGetInt() and ConfigKey.TryGetBool() methods.&lt;br /&gt;
*API: CommandManager.RegisterCommand() now checks for reserved command names (currently &amp;quot;ok&amp;quot; and &amp;quot;nvm&amp;quot;), and does a better job at handling command name capitalization differences.&lt;br /&gt;
*API: Added ability to override Player.MaxBlockPlacementRange, Player.SocketTimeout, Heartbeat.Delay, and Heartbeat.Timeout.&lt;br /&gt;
*API: Renamed RankManager.ParseRank(string) to Rank.Parse(string)&lt;br /&gt;
*API: All draw/undo/copy/paste commands have been moved to fCraft.Drawing namespace.&lt;br /&gt;
*API: Added support for multiple {{cmd|Help}} sections per command.&lt;br /&gt;
*API: Added CommandCategory.Debug, removed CommandDescriptor.HelpHander and HelpHandler delegate.&lt;br /&gt;
*API: Moved Server.Player* events to Player.* and Server.PlayerInfo* to PlayerInfo.*&lt;br /&gt;
*API: Expanded the confirmation system (&amp;lt;code&amp;gt;/OK&amp;lt;/code&amp;gt;) to allow custom callbacks, decoupled from the command system.&lt;br /&gt;
*API Fix: &amp;quot;Bad heartbeat&amp;quot; reply from minecraft.net no longer triggers UrlChanged event.&lt;br /&gt;
*API Fix: Fixed a couple bugs in BoundingBox.GetIntersection and BoundingBox.Contains.&lt;br /&gt;
*API Fix: Fixed {{cmd|Replace}} and {{cmd|ReplaceNot}} not firing Player.PlacedBlock&lt;br /&gt;
*events.&lt;br /&gt;
*API Fix: Uncaught exceptions that occur while parsing player messages no longer send crash reports when in DEBUG configuration.&lt;br /&gt;
&lt;br /&gt;
=0.5xx=&lt;br /&gt;
&lt;br /&gt;
===0.537===&lt;br /&gt;
&#039;&#039;14 September 2011 - r991&#039;&#039;&lt;br /&gt;
*Fixed another heartbeat-related issue caused by minecraft.net updates.&lt;br /&gt;
&lt;br /&gt;
===0.536===&lt;br /&gt;
&#039;&#039;14 September 2011 - r988&#039;&#039;&lt;br /&gt;
*Fix: Fixed a rare crash in DoChangeRank when promoting/demoting offline players.&lt;br /&gt;
*Fix: Fixed a case where world access/build whitelist additions were not immediately saved.&lt;br /&gt;
*Fix: Fixed several errors in the way time spans were displayed.&lt;br /&gt;
*Fix: Unhandled exceptions in background task callbacks will no longer take down the server&lt;br /&gt;
*Change: Changed the heartbeat handler to use GET instead of POST (workaround for minecraft.net problems).&lt;br /&gt;
*Change: Removed AutoLauncher.&lt;br /&gt;
&lt;br /&gt;
===0.535===&lt;br /&gt;
&#039;&#039;1 July 2011 - r702&#039;&#039;&lt;br /&gt;
*Workaround for minecraft.net heartbeat changes.&lt;br /&gt;
&lt;br /&gt;
===0.534===&lt;br /&gt;
&#039;&#039;18 June 2011 - r668&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;lt;RestartInterval&amp;gt; config key (in seconds). It should help people who are suffering from Mono memory leaks. This setting can only currently be modified by editing config.xml&lt;br /&gt;
*Fix: Fixed /wload and /gen resetting the world&#039;s hidden status.&lt;br /&gt;
*Fix: Fixed &amp;quot;Apply&amp;quot; button not getting enabled in ConfigTool when world list is changed.&lt;br /&gt;
*Fix: Fixed /cw reporting incorrect volume (fixes #3308137).&lt;br /&gt;
*Fix: Added a confirmation when /wrename will result in overwriting a map file, and fixed a related crash (fixes #3311994).&lt;br /&gt;
*Fix: Fixed FormatException in error handling code in World.AcceptPlayer&lt;br /&gt;
*Fix: Fixed /info not showing formatted names for players who appear offline.&lt;br /&gt;
*Fix: Fixed several issues with renaming worlds from ConfigTool.&lt;br /&gt;
*Fix: Fixed /restart breaking under Mono if path contains spaces.&lt;br /&gt;
*Fix: Fixed /staff, /me, and /roll commands not requiring the Chat permission.&lt;br /&gt;
*Fix: Fixed &amp;quot;Use IRC colors&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*Change: Allowed all printable ASCII characters in chat except &#039;&amp;amp;&#039;.&lt;br /&gt;
*Change: Heartbeat tweaks to prevent &amp;quot;Bad heartbeat&amp;quot; from popping up.&lt;br /&gt;
*Optimization: ConfigTool starts up faster, and uses much less memory.&lt;br /&gt;
&lt;br /&gt;
===0.533===&lt;br /&gt;
&#039;&#039;24 May 2011 - r614&#039;&#039;&lt;br /&gt;
*Fix: Fixed a regression in 0.530 that erased some strings in PlayerInfo and IPBanInfo objects, such as ban reasons.&lt;br /&gt;
*Change: Increased heartbeat interval to 27.5 seconds.&lt;br /&gt;
*Change: Reduced jitter of player movement.&lt;br /&gt;
&lt;br /&gt;
===0.532===&lt;br /&gt;
&#039;&#039;23 May 2011 - r611&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;quot;/worlds loaded&amp;quot; command.&lt;br /&gt;
*Fix: Fixed a bug that prevented worlds from accepting any block changes after a map change (/wload or /gen)&lt;br /&gt;
*Fix: Fixed &amp;quot;Player _____ joined main.&amp;quot; displaying twice when players connect.&lt;br /&gt;
*Change: Added /colours as an alias to /colors&lt;br /&gt;
*Change: Adjusted /dumpstats security checks, and made it require EditPlayerDB permission (instead of Import).&lt;br /&gt;
&lt;br /&gt;
===0.531===&lt;br /&gt;
&#039;&#039;20 May 2011 - r603&#039;&#039;&lt;br /&gt;
*Feature: /SInfo now shows bandwidth use, fCraft version, and .NET/Mono version.&lt;br /&gt;
*Feature: Added ability to use coordinates with mark (e.g. &amp;quot;/Mark 0 0 0&amp;quot;).&lt;br /&gt;
*Fix: Fixed non-default rank settings not saving properly from ConfigTool.&lt;br /&gt;
*Fix: Fixed a serialization bug in IPBanList that happened if a ban reason was not given, or if an IP address was not associated with any player.&lt;br /&gt;
*Fix: Fixed a few minor bugs in /WMain.&lt;br /&gt;
*Change: Allowed the caret (^) in chat messages.&lt;br /&gt;
*Change: Reduced movement lag.&lt;br /&gt;
*Change: /version command has been removed due to redundancy with /sinfo.&lt;br /&gt;
*Change: Detailed reasons of player disconnects are now logged better.&lt;br /&gt;
*Change: Increased Minecraft.net heartbeat interval slightly.&lt;br /&gt;
*API: Added new events: Scheduler.TaskAdded, Scheduler.TaskExecuting, Scheduler.TaskExecuted, and Scheduler.TaskRemoved. These events are only available when fCraft.dll is built with DEBUG_SCHEDULER flag because of their performance impact.&lt;br /&gt;
*Optimization: Removed the scheduler overhead from having unloaded worlds.&lt;br /&gt;
*Optimization: Sped up MapGenerator by about 10%.&lt;br /&gt;
&lt;br /&gt;
===0.530===&lt;br /&gt;
&#039;&#039;7 May 2011 - r583&#039;&#039;&lt;br /&gt;
*Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.&lt;br /&gt;
*Feature: Added OptiCraft blocktype names and blocks&#039; numeric IDs as aliases.&lt;br /&gt;
*Fix: Fixed block bindings not being applied to drawing commands.&lt;br /&gt;
*Fix: Fixed fCraft getting confused if worlds.xml contains duplicates.&lt;br /&gt;
*Fix: Fixed &amp;quot;/&amp;quot; (repeat last command) not rewinding the command, which caused some issues with command arguments.&lt;br /&gt;
*Fix: Fixed &amp;quot;Max connections per IP&amp;quot; setting not saving in ConfigTool.&lt;br /&gt;
*Fix: Fixed AnnounceRankChangeReasons checkbox being erroneously tied to RequireRankChangeReasons key in ConfigTool.&lt;br /&gt;
*Fix: Added some missing tooltips to ConfigTool.&lt;br /&gt;
*Fix: Marked 10.0.0.0/8 IP range as LAN.&lt;br /&gt;
*Fix: Fixed an issue with balanced name verification (thanks wootalyzer).&lt;br /&gt;
*Fix: Fixed server announcing hidden players&#039; departure (#3292633). Thanks to Hellenion.&lt;br /&gt;
*Fix: Fixed /bring not checking per-rank permissions (#3292303). Thanks to Denny&lt;br /&gt;
*Fix: Fixed some header bugs in the D3 map converter.&lt;br /&gt;
*Fix: Fixed /wload crashing instead of printing an error message under Mono if the path was malformed.&lt;br /&gt;
*Fix: Fixed /banip not recognizing invalid IPs (e.g. broadcast).&lt;br /&gt;
*Fix: Fixed antispam resetting players&#039; mute time.&lt;br /&gt;
*Fix: Fixed Scheduler being able to add tasks after the shutdown process started.&lt;br /&gt;
*Fix: Reduced problems associated with players trying to connect while the server is shutting down.&lt;br /&gt;
*Fix: Added autorank.xml to the list of protected files.&lt;br /&gt;
*Fix: Fixed a crash in backup system that happened if two backups ran simultaneously and the total size or number of backup files was limited.&lt;br /&gt;
*Fix: Fixed a case where duplicate worlds could be created.&lt;br /&gt;
*Change: When players rejoin a world (e.g. /wflush or /wload), &amp;quot;joined world&amp;quot; message is no longer shown.&lt;br /&gt;
*Change: /mute no longer allows shortening players&#039; mute time, only to extend it.&lt;br /&gt;
*Change: Allowed player names with periods.&lt;br /&gt;
*Change: Removed SaveOnShutdown config key, tweaked range checks on some keys, grouped key tags into section tags.&lt;br /&gt;
*Change: When saving config.xml, keys with default values are now commented out.&lt;br /&gt;
*API: New events! PlayerHideChanged, PlayerInfoCreating, PlayerInfoCreated, PlayerInfoRankChanging, and PlayerInfoRankChanged.&lt;br /&gt;
*API: Server.StartServer() now throws specific exceptions on failure, instead of returning false.&lt;br /&gt;
*API: Removed some obsolete Server events.&lt;br /&gt;
*API: Switched to 100% Utc dates/times internally. PlayerDB now uses UTC Unix timestamps to serialize all dates/times.&lt;br /&gt;
*Optimization: Sped up map generation.&lt;br /&gt;
*Optimization: Reduced PlayerDB saving interval, reduced PlayerDB filesize, reduced CPU and memory use of PlayerDB saving, reduced memory footprint of loaded PlayerDB, improved IPAddress lookup performance in PlayerDB.&lt;br /&gt;
&lt;br /&gt;
===0.522===&lt;br /&gt;
&#039;&#039;16 April 2011 - r546&#039;&#039;&lt;br /&gt;
*Feature: Added more functionality to hollow ellipsoid and sphere, thanks to Redshift. Now it is possible to define outer/inner blocktypes.&lt;br /&gt;
*Feature: Added OptiCraft map format support, courtesy of LgZ-optical&lt;br /&gt;
*Fix: Fixed a serious error that caused a crash when main world became full. This bug affected 0.520 and 0.521.&lt;br /&gt;
*Fix: Fixed AutoLauncher not working under Mono (thanks to ven000m for spotting).&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog crashing if closed while generating a world.&lt;br /&gt;
*Fix: Fixed /restart using ShutdownReason.ShuttingDown (instead of ShutdownReason.Restarting) &lt;br /&gt;
*Fix: Fixed a crash in ConfigTool if MaxPlayers was set to be less than MaxPlayersPerWorld.&lt;br /&gt;
*Fix: When loading old configs (pre-0.520), MaxPlayersPerWorld is automatically set to match MaxPlayers, to avoid unexpected side effects.&lt;br /&gt;
*API: Added WorldCreating and WorldCreated events.&lt;br /&gt;
*API: Moved world-related commands from Server to a new class, WorldManager.&lt;br /&gt;
*API: Renamed RankList to RankManager, and CommandList to CommandManager, for consistency.&lt;br /&gt;
&lt;br /&gt;
===0.521===&lt;br /&gt;
&#039;&#039;12 April 2011 - r534&#039;&#039;&lt;br /&gt;
*Feature: Added a /Clear command, to clear in-game chat. Also works from fCraftConsole and fCraftUI.&lt;br /&gt;
*Fix: Added missing chat commands.&lt;br /&gt;
*Fix: Cosmetic fixes in /ZRemove.&lt;br /&gt;
&lt;br /&gt;
===0.520===&lt;br /&gt;
&#039;&#039;12 April 2011 - r532&#039;&#039;&lt;br /&gt;
*Feature: Removed the server-wide 128 player limit. Now the limit is per-world.&lt;br /&gt;
*Feature: You can now repeat the last command by typing &amp;quot;/&amp;quot;&lt;br /&gt;
*Feature: Added a way to use color codes in chat (with % instead of &amp;amp;), a UseColorCodes permission, and a /colors command.&lt;br /&gt;
*Feature: Added support for multi-line messages or commands. Add &amp;quot; /&amp;quot; to the end of a line to continue typing it.&lt;br /&gt;
*Feature: Added &amp;quot;/commands&amp;quot;, to replace &amp;quot;/help commands&amp;quot;. It allows filtering commands by rank, category, permissions, etc. Aliases: /cmdlist, /cmds&lt;br /&gt;
*Feature: New permissions: ViewPlayerIPs, BringAll&lt;br /&gt;
*Feature: New config switches: AnnounceRankChangeReasons and RequireKickReason.&lt;br /&gt;
*Feature: Replaced LimitOneConnectionPerIP config key (boolean) with a more flexible MaxConnectionsPerIP (int).&lt;br /&gt;
*Feature: Added /bringall command, for moving everyone (or only certain ranks) from your world (or optionally all worlds, or a list of other worlds) to your location.&lt;br /&gt;
*Feature: /bring can be limited per-rank&lt;br /&gt;
*Feature: When file is not found on case-sensitive filesystems, fCraft tries to syggest similar filenames.&lt;br /&gt;
*Feature: Added new constants to use in greeting.txt: {TIME}, {PLAYER_NAME}, {WORLD}, {PLAYERS}, {WORLDS}, {MOTD}&lt;br /&gt;
*Feature: Improved compatibility with SurvivalTest clients.&lt;br /&gt;
*Fix: Fixed /banip not kicking other players from the same IP (besides the named player)&lt;br /&gt;
*Fix: Added missing blocktype validation to MapFCMv2, MapFCMv3, MapMyne, and MapNBT.&lt;br /&gt;
*Fix: Fixed a rare shutdown crash in fCraftUI.&lt;br /&gt;
*Fix: Improved the way PlayerDB.Load handles errors in individual records. A single corrupted entry will no longer prevent the rest from loading.&lt;br /&gt;
*Fix: Fixed fCraftUI abruptly quitting on crash / failure to start, instead of showing the error message. Use &amp;quot;--exitoncrash&amp;quot; command-line switch to reproduce old behavior.&lt;br /&gt;
*Fix: Fixed ConfigTool&#039;s World tab not prompting to delete map files when deleting worlds.&lt;br /&gt;
*Fix: Fixed a bug in MCSharp importer (#3281305)&lt;br /&gt;
*Fix: Fixed a list of permissions in /rinfo not being sorted.&lt;br /&gt;
*Fix: Fixed /mute rank limit dropdown sometimes getting out of sync.&lt;br /&gt;
*Fix: Fixed IRC bot redundantly announcing kicks when someone has been banned.&lt;br /&gt;
*Fix: Fixed a bug where fCraft would fail to start if PlayerDB.txt was truncated/empty.&lt;br /&gt;
*Change: Moved &amp;quot;IP&amp;quot; config key from General to Advanced.&lt;br /&gt;
*Change: Added /spin as an alias to /rotate (for MCLawl users)&lt;br /&gt;
*API: New events: PlayerClicking, PlayerClicked, PlayerPlacingBlock, PlayerPlacedBlock, PlayerListChanged, PlayerBeingKicked, PlayerKicked&lt;br /&gt;
*Optimization: Reduced CPU use of draw commands by ~30%. Sped up PlayerDB loading by ~8%, and reduced memory use when saving. Also reduced PlayerDB filesize by about 15%&lt;br /&gt;
&lt;br /&gt;
===0.512===&lt;br /&gt;
&#039;&#039;2 April 2011 - r508&#039;&#039;&lt;br /&gt;
*Feature: /zones can now be used from console, and can be used on any world (active or inactive).&lt;br /&gt;
*Feature: Improved D3 map importer.&lt;br /&gt;
*Fix: Added missing filename sanity/safety checks to /dumpstats (#3267362, thanks to Hellenion)&lt;br /&gt;
*Fix: Fixed mixed up messages shown in /waccess and /wbuild (#3179189)&lt;br /&gt;
*Fix: Fixed crash reports sometimes failing to submit.&lt;br /&gt;
*Fix: Fixed /dumpstats crashing if a rank had 0 players.&lt;br /&gt;
*Fix: Made Mono version detection less crashy (#3267476, thanks to Hellenion again)&lt;br /&gt;
*Fix: Fixed MapUtility.LoadHeader terminating early, before going through all fallback converters.&lt;br /&gt;
*Fix: Fixed ConfigTool tab order.&lt;br /&gt;
*Fix: Fixed fCraft reporting inaccurate CPU usage figures.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in /rank if an invalid player name was given.&lt;br /&gt;
*Fix: Fixed fCraft project not building under Windows if path contains spaces.&lt;br /&gt;
*Change: Added &amp;quot;/serverreport&amp;quot; as an alias for &amp;quot;/sinfo&amp;quot;&lt;br /&gt;
*Change: Improved the way fCraft handles and reports map loading errors.&lt;br /&gt;
*API Change: Moved all filename constants (e.g. &amp;quot;PlayerDB.txt&amp;quot;) to Paths class.&lt;br /&gt;
&lt;br /&gt;
===0.511===&lt;br /&gt;
&#039;&#039;31 March 2011 - r497&#039;&#039;&lt;br /&gt;
*Feature: Further improvements to Mono support. fCraft will now utilize mono-sgen whenever possible.&lt;br /&gt;
*Fix: Fixed fCraftUI ignoring command-line arguments.&lt;br /&gt;
*Fix: Fixed broken /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed crash reports failing to submit.&lt;br /&gt;
*Fix: Fixed a timezone-related bug that messed up players&#039; &amp;quot;total time on server&amp;quot; stat.&lt;br /&gt;
*Change: Added a warning if running on old versions of Mono (2.6 or lower). &lt;br /&gt;
&lt;br /&gt;
===0.510_r489===&lt;br /&gt;
&#039;&#039;29 March 2011 - r489&#039;&#039;&lt;br /&gt;
*Fix: Fixed unnecessary GDI+ dependence in fCraftConsole under Mono&lt;br /&gt;
*Fix: Fixed EnumKeyAttribute not taking blank values (as in case of ProcessPriority config key).&lt;br /&gt;
&lt;br /&gt;
===0.510===&lt;br /&gt;
&#039;&#039;29 March 2011 - r488&#039;&#039;&lt;br /&gt;
*Feature: The fCraft updater has been rewritten and expanded. It now works under all OSes, and provides more features.&lt;br /&gt;
*Feature: fCraft now handles differences between case-sensitive and case-insensitive filesystems much better. /wrename and /wload are also aware of the filesystem.&lt;br /&gt;
*Feature: fCraft now checks presence, filename capitalization, and integrity of all map files on the world list at startup.&lt;br /&gt;
*Feature: New ConfigTool settings for updater, checkbox for showing &amp;quot;player connected/left&amp;quot; messages, and &amp;quot;/mute&amp;quot; permission settings.&lt;br /&gt;
*Feature: Added &amp;quot;/credits&amp;quot; command to ConfigUI.&lt;br /&gt;
*Feature: Implemented &amp;quot;--norestart&amp;quot; and &amp;quot;--exitoncrash&amp;quot; command-line switches for fCraft.&lt;br /&gt;
*Feature: fCraft event system is being rewritten with modding support in mind.&lt;br /&gt;
*Feature: Improved MCSharp/MCZall/MCLawl map support.&lt;br /&gt;
*Fix: Software errors that happen while parsing player and console commands will no longer cause disconnects/crashes.&lt;br /&gt;
*Fix: IPBanList will attempt to recover records lost due to a recent regression in 0.505.&lt;br /&gt;
*Fix: Fixed /wrename errors in cases where names differ only in capitalization.&lt;br /&gt;
*Fix: Fixed &amp;quot;Copy Existing World&amp;quot; showing the current world on the list in AddWorldPopup.&lt;br /&gt;
*Fix: Fixed &amp;quot;Chat&amp;quot; tab preview not updating when settings are reset.&lt;br /&gt;
*Fix: Fixed per-world whitelist/blacklist not saving when worlds are edited with AddWorldPopup.&lt;br /&gt;
*Fix: Fixed non-verified connections that get kicked from affecting that name&#039;s PlayerInfo.&lt;br /&gt;
*Fix: Server.GenerateSalt() now uses a cryptographically secure PRNG.&lt;br /&gt;
*Fix: Fixed verification problems on servers with HeartbeatEnabled=false.&lt;br /&gt;
*Fix: Fixed a wrong message being shown by /rank if the target is already same or higher/lower rank.&lt;br /&gt;
*Fix: Fixed /winfo showing incorrect information for last lock/unlock event.&lt;br /&gt;
*Fix: Fixed tabbing order on ConfigUI.&lt;br /&gt;
*Fix: Improved the way Server.InitLibrary and Logger.Log errors are handled.&lt;br /&gt;
*Fix: Added missing validation checks to LoadHeader in several map converters.&lt;br /&gt;
*Fix: Fixed players being able to complete a draw command or /zadd, if they were demoted before clicking for the second time.&lt;br /&gt;
*Fix: Added missing /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed a bug in /zinfo that showed incorrect creation/editing times.&lt;br /&gt;
*Fix: Better error messages for unrecognized block names in command parameters.&lt;br /&gt;
*Fix: /restart now works from ConfigUI under Mono (but still broken in fCraftConsole).&lt;br /&gt;
*Fix: Fixed handling of command-line arguments surrounded with quotes.&lt;br /&gt;
*Fix: Fixed a bug at ConfigTool.ConfigUI.xAllowSecurityCircumvention_CheckedChanged (#3181907, thanks to clhdrums87).&lt;br /&gt;
*Fix: Fixed /winfo counting hidden players (#3237877, thanks to Hellenion).&lt;br /&gt;
*Fix: Fixed MCSharp map exporter mixing up map dimensions (#3159501, thanks to dogwatch).&lt;br /&gt;
*Change: Improved the way fCraft project is built. Now all binaries are copied to /trunk/bin/Release or /trunk/bin/Debug.&lt;br /&gt;
*Change: Improved error tolerance of Scheduler.EndShutdown().&lt;br /&gt;
*Change: Expanded Logger.CheckForCommonErrors().&lt;br /&gt;
*Change: Renamed config keys (old ones can still be loaded): IRCBot to IRCBotEnabled, AutomaticUpdates to UpdaterMode.&lt;br /&gt;
*Change: Added /wadd as an alias for /wload.&lt;br /&gt;
*Change: Renamed Mcc namespace to fCraft.MapConversion.&lt;br /&gt;
*Change: Decreased timeout for fCraft update check.&lt;br /&gt;
*Change: Added a confirmation prompt to /rank when adding an unrecognized player name to the database.&lt;br /&gt;
*Optimization: Sped up heartbeat sending and world-related operations, increased world saving interval to 90 seconds, reduced per-player idle CPU usage, halved CPU usage of draw commands.&lt;br /&gt;
&lt;br /&gt;
===0.506===&lt;br /&gt;
&#039;&#039;11 February 2011 - r427&#039;&#039;&lt;br /&gt;
*Feature: Added hollow ellipsoid drawing (/eh) and hollow sphere drawing (/sph), contributed by Conrad &amp;quot;Redshift&amp;quot; Morgan.&lt;br /&gt;
*Fix: Fixed a regression in 0.503 that caused some IP ban records to be lost. I am terribly sorry!&lt;br /&gt;
*Fix: Fixed a path-related error in Map.SaveBackup&lt;br /&gt;
*Fix: Fixed a possible disconnect in Player.CheckBlockSpam is antigrief was not configured properly.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool.SaveWorldList.&lt;br /&gt;
*Fix: Fixed &amp;quot;Limit the number of blocks that can be undone&amp;quot; checkbox misbehaving (thanks to ven000m for bug report).&lt;br /&gt;
*Change: By popular demand /sphere2 is now the default behavior of /sphere.&lt;br /&gt;
*Change: Removed &amp;quot;oldSalt&amp;quot; check for name verification, to avoid having the server write to config.xml unnecessarily.&lt;br /&gt;
*Change: Removed &amp;quot;.backup&amp;quot; file creation, by popular demand. It was kinda useless.&lt;br /&gt;
&lt;br /&gt;
===0.505===&lt;br /&gt;
&#039;&#039;8 February 2011 - r422&#039;&#039;&lt;br /&gt;
*Feature: All draw commands now inform player if any blocks were skipped due to local permission issues (e.g. zones).&lt;br /&gt;
*Fix: Fixed a regression that caused backups to be saved in the wrong path. Backups were being saved to ./backups/ instead of ./maps/backups/&lt;br /&gt;
*Fix: Fixed a permission issue in /replace and /replacenot.&lt;br /&gt;
*Fix: Fixed /info not displaying a list of players from same IP.&lt;br /&gt;
*Fix: Addressed a security issue with salt generation.&lt;br /&gt;
&lt;br /&gt;
===0.504===&lt;br /&gt;
&#039;&#039;3 February 2011 - r419&#039;&#039;&lt;br /&gt;
*Fixed a crash bug related to SecurityController.MinRank&lt;br /&gt;
&lt;br /&gt;
===0.503===&lt;br /&gt;
&#039;&#039;3 February 2011 - r418&#039;&#039;&lt;br /&gt;
*Feature: Added /deafen command. It temporarily blocks all incoming messages (makes you go &amp;quot;deaf&amp;quot;), to allow taking screenshots, recording videos, or just playing without the wall of text.&lt;br /&gt;
*Feature: Added ShowBannedConnectionMessages config key (default: true). When disabled, no &amp;quot;banned player tried to log in&amp;quot; messages are shown.&lt;br /&gt;
*Fix: Fixed PlayerInfo.frozenOn not being set.&lt;br /&gt;
*Fix: Fixed kick messages for players affected by /banall&lt;br /&gt;
*Fix: Fixed /unbanall reason not being shown.&lt;br /&gt;
*Fix: /where now shows what world you are on.&lt;br /&gt;
*Fix: Fixed a couple minor bugs in /waccess and /wbuild.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in SecurityController constructor.&lt;br /&gt;
*Fix: Made several tweaks to improve the first-run experience.&lt;br /&gt;
&lt;br /&gt;
===0.502===&lt;br /&gt;
&#039;&#039;31 January 2011 - r411&#039;&#039;&lt;br /&gt;
*Fix: Adjusted for yet another change in the way minecraft.net replies to heartbeats (should fix all heartbeat issues for now).&lt;br /&gt;
*Fix: Added a check to /zremove to prevent players from deleting zones to gain access to areas from which they&#039;re barred.&lt;br /&gt;
*Fix: Fixed being able to use /me or /staff to write empty messages.&lt;br /&gt;
*Fix: Fixed frozen players not getting defrosted when kicked.&lt;br /&gt;
*Fix: Formatting fixes in &amp;quot;___ was previously frozen&amp;quot; message&lt;br /&gt;
*Fix: Fixed a mini-bug in Map.ValidateHeader()&lt;br /&gt;
*Change: Renamed /wremove to /wunload for consistency. &amp;quot;/wremove&amp;quot; is still usable as an alias.&lt;br /&gt;
&lt;br /&gt;
===0.501===&lt;br /&gt;
&#039;&#039;30 January 2011 - r408&#039;&#039;&lt;br /&gt;
*Feature: Added /sphere and /sphere2, based on code contributed by SystemX17.&lt;br /&gt;
*Feature: Added new config setting: ShowConnectedMessages (default: true)&lt;br /&gt;
*Feature: Added a notification for players who logged in frozen.&lt;br /&gt;
*Fix: Fixed frozen players twitching.&lt;br /&gt;
*Fix: Fixed IRC bot not stripping color codes in messages relayed from IRC to the game.&lt;br /&gt;
*Fix: Fixed lastSeen and lastLoginDate not being set for first-time players who failed to log in (e.g. IP-banned).&lt;br /&gt;
*Fix: Fixed /bring not working properly on frozen players.&lt;br /&gt;
*Fix: Fixed a case where it was possible to add access restrictions to main map.&lt;br /&gt;
*Fix: Fixed per-world whitelists/blacklists being lost when editing worlds.xml via ConfigTool.&lt;br /&gt;
*Fix: Fixed AutoRankAll showing wrong number of players promoted/demoted (just a formatting bug, no promotions were affected)&lt;br /&gt;
&lt;br /&gt;
===0.500===&lt;br /&gt;
&#039;&#039;25 January 2011 - r399&#039;&#039;&lt;br /&gt;
*Commands: Added /line drawing command, kindly contributed by SystemX17&lt;br /&gt;
*Commands: Added /restart command, to restart the server remotely (NOTE: does not work for fCraftWinService yet)&lt;br /&gt;
*Commands: Added /unmute command (same as &amp;quot;/mute name 0&amp;quot;)&lt;br /&gt;
*Commands: Added an option to silently hide (no disconnect/connect message).&lt;br /&gt;
*Commands: Added /ignore and /unignore commands to block chat from another player (for the duration of your visit).&lt;br /&gt;
*Commands: /whide and /wunhide commands added to hide/unhide worlds from the list.&lt;br /&gt;
*Commands: /worlds now takes an optional param: &amp;quot;/worlds all&amp;quot; lists visible+hidden worlds, and &amp;quot;/worlds hidden&amp;quot; lists hidden worlds only.&lt;br /&gt;
*Commands: List of player names from the same IP is now shown in /info.&lt;br /&gt;
*Commands: /help now shows what rank you need to be to use a command (for most commands).&lt;br /&gt;
*Commands: /bring now works on frozen players.&lt;br /&gt;
*Commands: /bring now takes an optional second name/parameter, to teleport someone to someone&lt;br /&gt;
*Commands: /info now shows whether a player is hidden (if the command caller has permission to see).&lt;br /&gt;
*Commands: Fixed a case where teleporting to a player who is currently changing worlds brings one to a wrong location.&lt;br /&gt;
*Commands: Fixed bindings (/water, /lava, /solid, and /bind) not being applied to draw commands.&lt;br /&gt;
*Commands: /wsave and /gen can now create directories if needed.&lt;br /&gt;
*Commands: Fixed a bug in /roll&lt;br /&gt;
*Commands: Sped up /paste, /pastenot, /replace, and /replacenot slightly.&lt;br /&gt;
*ConfigTool: New &amp;quot;Chat&amp;quot; tab for controlling appearance and content of in-game chat.&lt;br /&gt;
*ConfigTool: Added ability to customize MeColor (for /me messages, default: purple) and WarningColor (for major errors/warnings, default: red) in config.&lt;br /&gt;
*ConfigTool: AddWorldPopup can now show detailed info for maps of all supported formats.&lt;br /&gt;
*ConfigTool: Improved tooltips for several items in ConfigUI.&lt;br /&gt;
*FrontEnd: Uncaught exceptions that happen while executing commands from fCraftUI console are now handled by the crash reporter (instead of actually crashing).&lt;br /&gt;
*FrontEnd: Added /clear command for fCraftUI and fCraftConsole - clears log screen.&lt;br /&gt;
*FrontEnd: The URL is no longer highlighted after first heartbeat, to avoid stealing focus from console.&lt;br /&gt;
*Generator: Fixed &amp;quot;flatgrass&amp;quot; template&lt;br /&gt;
*Generator: Fixed alphabetical order in the list of templates&lt;br /&gt;
*Generator: MapGenerator now embeds generation parameters into the map file metadata&lt;br /&gt;
*Generator: Fixed several template loading bugs.&lt;br /&gt;
*Generator: Optimized AddBeaches to be about 2x faster&lt;br /&gt;
*Generator: Added a missing dimension check to /gen&lt;br /&gt;
*IRC: Messages relayed from game to IRC now have color codes preserved.&lt;br /&gt;
*IRC: Kicks, Bans, unbans, promotions, and demotions can now be relayed to IRC.&lt;br /&gt;
*IRC: IRC bot now relays /say messages, and /me messages (both /me on IRC and /me on the server).&lt;br /&gt;
*IRC: IRC Error handling is greatly improved.&lt;br /&gt;
*IRC: (Threaded) If one of the bots loses connection, one of the other bots take over parsing input.&lt;br /&gt;
*IRC: Increased IRC reconnect delay to 15 seconds.&lt;br /&gt;
*Maps: Switched to a new file format (FCMv3) that allows for future additions like block tracking and physics.&lt;br /&gt;
*Maps: Much of MCC (map conversion) API was rewritten for better consistency and performance.&lt;br /&gt;
*Maps: Improved support for loading indev (pre-infinite) maps, including Omen-generated maps.&lt;br /&gt;
*Maps: Improved resilience for loading maps with unknown blocktypes. Instead of failing, it just replaces any unknown blocks with air.&lt;br /&gt;
*Maps: Added consistent header validation to all map format loaders.&lt;br /&gt;
*Maps: Fixed maps not autosaving when zones are added or removed.&lt;br /&gt;
*Maps: Zone definitions are now serialized to XML. Zones saved with this revision of fCraft will no longer be readable by older version of fCraft.&lt;br /&gt;
*Maps: Fixed a bug when loading JTE&#039;s format maps.&lt;br /&gt;
*Maps: Fixed format of backup filenames.&lt;br /&gt;
*PlayerDB: Added new fields: bannedUntil, frozenOn, frozenBy, mutedUntil, mutedBy, IRCPassword, online, leaveReason&lt;br /&gt;
*PlayerDB: Fixed PlayerInfo.ID not being assigned for new players until sever restart / DB reload.&lt;br /&gt;
*PlayerDB: Fixed off-by-one error with PlayerInfo.timesVisited&lt;br /&gt;
*PlayerDB: Fixed /me, /say, rank chat, and /staff not counting towards PlayerInfo.linesWritten&lt;br /&gt;
*PlayerDB: Made PlayerDB more resilient to errors. Reduced filesize slightly by omitting default values for more date fields, and removing milliseconds from &amp;quot;totalTime&amp;quot;&lt;br /&gt;
*PlayerDB: Improved forwards compatibility of PlayerDB by removing maximum-field-count check.&lt;br /&gt;
*Security: Worlds can now have player whitelists and blacklists (just like zones) for access and build permissions.&lt;br /&gt;
*Security: Added a security check to /wsave, /wload, and /gen to prevent reading or overwriting files outside the map folder.&lt;br /&gt;
*Security: Added a per-rank security option to prevent players from whitelisting themselves, removing themselves from blacklists, or lowering their rank&#039;s restrictions on worlds and zones.&lt;br /&gt;
*Security: /mute and /freeze are now persistent even if the player reconnects.&lt;br /&gt;
*Security: Relaxed SetTile packet checks. Players will no longer be kicked due to Minecraft client bugs.&lt;br /&gt;
*Security: Fixed an exploit that allowed changing steps to doublesteps even inside zoned areas.&lt;br /&gt;
*Security: Improved consistency of permission dependencies.&lt;br /&gt;
*Security: Fixed a security exploit in /wmain that allowed players with ManageWorlds permission to gain access to restricted worlds.&lt;br /&gt;
*Security: Fixed a bug that prevented banning players who were not yet in PlayerDB.&lt;br /&gt;
*Security: Added an option to only allow paid players (PaidPlayersOnly)&lt;br /&gt;
*Stability: Made crash reporting more reliable. A failed crash report will no longer prevent error message from being logged and displayed.&lt;br /&gt;
*Stability: Fixed a crash in AddWorldPopup if dialog is closed while a map is still loading.&lt;br /&gt;
*Stability: To improve compatibility with some bots, removed &amp;quot;almost there...&amp;quot; message on the loading screen&lt;br /&gt;
*Stability: Disabled error reporting of common non-fCraft-related errors (like wrong runtime versions, or wrong Mono permissions).&lt;br /&gt;
*Stability: Added &amp;quot;libMonoPosixHelper.so&amp;quot; and &amp;quot;UnauthorizedAccessException&amp;quot; to Logger.CheckForCommonErrors, and made &amp;quot;Could not load file or assembly&amp;quot; check locale-independent.&lt;br /&gt;
*Stability: A backup file is now created whenever PlayerDB, IP ban list, config, or world list are saved (e.g. PlayerDB.txt.backup)&lt;br /&gt;
*Stability: Crash reporter now sends last 25 lines of the log.&lt;br /&gt;
*Stability: Added a fallback overload for Player.Message() that bypasses string format, to make the whole thing less prone to format errors.&lt;br /&gt;
*System: fCraft now takes command-line arguments (at startup) to override the following:&lt;br /&gt;
**working directory (--path=/your/path/here)&lt;br /&gt;
**log directory (--logpath=/your/path/here)&lt;br /&gt;
**map directory (--logpath=/your/path/here) - also overridable in a more user-friendly way via ConfigTool (MapPath key)&lt;br /&gt;
**config file location (--config=/your/path/and/filename.xml)&lt;br /&gt;
*System: Added an option to change the name of Console pseudoplayer in the config.&lt;br /&gt;
*System: Player.GetClassyName() and PlayerInfo.GetClassyName() now add an asterisk after banned players&#039; names&lt;br /&gt;
*System: Fixed hidden players remaining hidden in some cases.&lt;br /&gt;
*System: Fixed PacketWriter.MakeWrappedMessage ignoring uppercase hex colorcodes&lt;br /&gt;
*System: Implemented NoPartialPositionUpdates and RelayAllUpdates config keys.&lt;br /&gt;
*System: Several little glitches and inefficiencies fixed in movement handling code.&lt;br /&gt;
*System: Fixed &amp;quot;player connected&amp;quot; and other messages showing up too early in-game (before map loaded).&lt;br /&gt;
*System: Fixed kick message for players affected by /banall&lt;br /&gt;
*System: Added HeartbeatEnabled config key (default: true)&lt;br /&gt;
*System: Fixed a case where heartbeat could be sent from a different IP than the listening port on systems with multiple NICs/IPs and no configured static IP.&lt;br /&gt;
*System: Increased the write buffer for writing out PlayerDB, reducing I/O time by ~20% on .NET, and ~35% on Mono&lt;br /&gt;
*System: New Scheduler API.&lt;br /&gt;
*System: Modified /wload to avoid loading the map twice in case confirmation is needed.&lt;br /&gt;
*System: Changes to AutoRankEnabled will now be applied when /reloadconfig is called.&lt;br /&gt;
*System: Fixed unnecessary confirmation being asked when world name matches file name in /wload&lt;br /&gt;
*System: Eliminated the heartbeat thread by switching to async i/o.&lt;br /&gt;
*System: Improved startup and shutdown speed.&lt;br /&gt;
*System: Added a &amp;quot;how to promote yourself&amp;quot; message for fresh installations of fCraft.&lt;br /&gt;
*System: Fixed Server.OnPlayerDisconnected event firing for unregistered sessions.&lt;br /&gt;
*System: Made Color.Parse() and Color.GetName() translate fCraft-specific color assignments (e.g &amp;quot;&amp;amp;S&amp;quot; for &amp;quot;System&amp;quot;)&lt;br /&gt;
*System: Added better detection for SMP/Alpha clients trying to connect.&lt;br /&gt;
*System: Sped up AutoRankAll&lt;br /&gt;
&lt;br /&gt;
=0.4xx=&lt;br /&gt;
===0.499===&lt;br /&gt;
&#039;&#039;6 November 2010 - r311&#039;&#039;&lt;br /&gt;
*Feature: Added an option to disable name verification for players connecting from LAN.&lt;br /&gt;
*Feature: Added &#039;flat&#039; template to MapGenerator, allowing to make flat maps with any theme.&lt;br /&gt;
*Feature: Added &#039;grass&#039; pseudotheme to /gen command, which is basically the &#039;Forest&#039; theme with trees disabled.&lt;br /&gt;
*Fix: Fixed /wflush leaving ghosts/clones behind.&lt;br /&gt;
*Fix: Fixed muted players being able to use /say and /staff&lt;br /&gt;
*Fix: Fixed /baninfo ignoring permission checks.&lt;br /&gt;
*Fix: Fixed &amp;quot;draw limit&amp;quot; checkbox getting disabled in ConfigTool if a player had &#039;CopyAndPaste&#039; permission but no &#039;Draw&#039; permission.&lt;br /&gt;
*Fix: Fixed several off-by-1 errors involving random number generation, notably in MapGenerator and Server.GenerateSalt()&lt;br /&gt;
*Fix: Fixed potential crash in MapGenerator.SealLiquids&lt;br /&gt;
*Fix: Fixed a potential crash in Map.SaveBackup() if the map filename contained brackets.&lt;br /&gt;
*Fix: Fixed a forced disconnect when trying to feed /gen a theme or template with brackets in the name.&lt;br /&gt;
&lt;br /&gt;
===0.498===&lt;br /&gt;
&#039;&#039;4 November 2010 - r308&#039;&#039;&lt;br /&gt;
*Change: Disabled zlib support due to more potential memory leaks. fffuuuuu....&lt;br /&gt;
*Fix: Fixed Island, Bay, and Ice templates broken by the last patch.&lt;br /&gt;
*Fix: MapGeneratorArgs: snowTransition was interpreted as absolute (instead of relative) altitude, and marbledHeightmap incorrectly defaulted to &#039;true&#039;.&lt;br /&gt;
*Change: Updated readme and changelog.&lt;br /&gt;
&lt;br /&gt;
===0.497===&lt;br /&gt;
&#039;&#039;4 November 2010 - r306&#039;&#039;&lt;br /&gt;
*Feature: Added accurate progress reporting from MapGenerator. Coming soon: cancellation.&lt;br /&gt;
*Feature: New MapGenerator options: BeachHeight, CliffSmoothing, LandSlope, UnderwaterSlope, MaxHeightVariation, MaxDepthVariation.&lt;br /&gt;
*Feature: Added UI controls for snow/cliff/beach settings to AddWorldPopup.&lt;br /&gt;
*Feature: Added a list of popular IRC networks to ConfigTool.&lt;br /&gt;
*Change: Improved PlayerDB lookup performance by reducing locking.&lt;br /&gt;
*Fix: Fixed MapGenerator calculating slope incorrectly at the water boundary.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add Ore&amp;quot; requiring &amp;quot;Add Caves&amp;quot; in MapGenerator.&lt;br /&gt;
*Fix: Fixed water/lava caves not sealing liquids properly. &lt;br /&gt;
*Change: Set MapGenerator to default to 256x256x96&lt;br /&gt;
*Change: AddWorldPopup Generator tab layout overhaul&lt;br /&gt;
*Change: Organized MapGeneratorArgs and added serialization/deserialization for all the new options.&lt;br /&gt;
&lt;br /&gt;
===0.496===&lt;br /&gt;
&#039;&#039;3 November 2010 - r301&#039;&#039;&lt;br /&gt;
*Fix: Fixed File.Replace() failing if fCraft was set up on a partition/volume other than the one where temp folder is.&lt;br /&gt;
*Fix: Added missing tooltip for &amp;quot;Edit Greeting&amp;quot;&lt;br /&gt;
*Fix: Fixed /sinfo including hidden players in the player count.&lt;br /&gt;
&lt;br /&gt;
===0.495===&lt;br /&gt;
&#039;&#039;2 November 2010 - r300&#039;&#039;&lt;br /&gt;
*Feature: Added a way to edit the greeting message, by editing &amp;quot;greeting.txt&amp;quot;&lt;br /&gt;
*Feature: When a player gets banned, any previously-banned accounts from same IP are listed.&lt;br /&gt;
*Fix: Fixed renaming worlds from ConfigTool&#039;s &amp;quot;worlds&amp;quot; tab not always working.&lt;br /&gt;
*Fix: Fixed several filesystem-related errors on non-Windows systems by using Path.Combine() instead of string concatenation.&lt;br /&gt;
*Fix: Possible workaround for missing heartbeats.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;default build rank&amp;quot; controls in ConfigTools.&lt;br /&gt;
*Fix: Fixed overwrite confirmation popping up for /wload when loading map into an unloaded world with the same name.&lt;br /&gt;
*Fix: Fixed a case where Forester could get into an infinite loop when there&#039;s not enough room to place requested number of trees.&lt;br /&gt;
&lt;br /&gt;
===0.494===&lt;br /&gt;
&#039;&#039;31 October 2010 - r297&#039;&#039;&lt;br /&gt;
*Feature: New map generator features:&lt;br /&gt;
**Adjustable water level.&lt;br /&gt;
**Realistic trees (powered by Forester)&lt;br /&gt;
**Snow on mountaintops&lt;br /&gt;
**Realistic cliffs&lt;br /&gt;
**Beaches&lt;br /&gt;
**New template (peninsula) and theme (swamp).&lt;br /&gt;
**Option to delay heightmap bias until after marbling/inversion.&lt;br /&gt;
*Feature: Added a way to load .mine maps.&lt;br /&gt;
*Feature: Added confirmation for potentially destructive commands: /importranks, /importbans, /massrank, /wload overwrites, /gen overwrites, /wsave overwrites, /zremove.&lt;br /&gt;
*Feature: Added /staff chat and ReadStaffChat permission.&lt;br /&gt;
*Feature: Added wireframe cuboid (/cw)&lt;br /&gt;
*Feature: Added an optional second param for /ch (cuboid hollow) that specifies the blocktype of the &amp;quot;filling&amp;quot;.&lt;br /&gt;
*Feature: Added a way to specify default build permission for new worlds.&lt;br /&gt;
*Fix: Fixed /info, /baninfo, and /banip not handling players whose name contain only digits.&lt;br /&gt;
*Fix: Fixed DoChangeRank mixing up RankChangeType.&lt;br /&gt;
*Fix: Added missing fields to MapGeneratorArgs serializer.&lt;br /&gt;
*Fix: Fixed per-rank draw limits not being calculated correctly in some cases.&lt;br /&gt;
*Fix: Replaced File.Delete/File.Move calls with a more reliable File.Replace call. This should slightly improve reliability of map/playerdb.txt/ipbans.txt/worlds.xml saving.&lt;br /&gt;
*Fix: Fixed a little ConfigTool bug that did not properly reset PatrolledRank after a rank deletion.&lt;br /&gt;
*Fix: Fixed terminal colors not resetting in fCraftConsole after a fatal crash under Mono.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;Play&amp;quot; button in fCraftUI.&lt;br /&gt;
*Fix: Added some basic error reporting to fCraftWinService.&lt;br /&gt;
*Change: Tweaked AddWorldPopup layout to accommodate more options.&lt;br /&gt;
&lt;br /&gt;
===0.493===&lt;br /&gt;
&#039;&#039;27 October 2010 - r290&#039;&#039;&lt;br /&gt;
*Feature: /info now supports autocompletion, wildcards, and IP search.&lt;br /&gt;
*Feature: Experimental service wrapper for fCraft.&lt;br /&gt;
*Feature: Added more editable properties to /setinfo: RankChangeType, BanReason, UnbanReason, RankChangeReason, LastKickReason&lt;br /&gt;
*Feature: Various improvements to /info, including hide-aware &amp;quot;online&amp;quot; indicator.&lt;br /&gt;
*Feature: Made Player.NoAccessMessage() print the minimum required rank, instead of just permission name(s).&lt;br /&gt;
*Feature: Added wootalyzer&#039;s chunk rendering code to IsoCat.&lt;br /&gt;
*Fix: Fixed ConfigTool not taking advantage of ZLibStream &lt;br /&gt;
*Fix: Fixed a very improbable case of a thread getting spinlocked when calling IRC.Send() is preemptied, and if there are at least 2 IRC threads.&lt;br /&gt;
*Fix: Fixed kick packets occasionally not being delivered due to a missing Flush() - thanks to wootalyzer for catching.&lt;br /&gt;
*Fix: Excluded banned and inactive players from DumpStats&lt;br /&gt;
*Fix: Fixed PlayerDB.Save() not escaping LastKickReason &lt;br /&gt;
*Fix: Cleaned up extra messages sent by /unhide.&lt;br /&gt;
*Fix: Fixed LastSeen not updating on-login (only on-logout).&lt;br /&gt;
*Fix: Improved the way fCraft checks for ghost/leftover sessions. Thanks to wootalyzer.&lt;br /&gt;
*Fix: If a player&#039;s name starts with a number, and you try to /tp to a coordinate that starts with the same number, you are no longer teleported to that player instead.&lt;br /&gt;
*Fix: Fixed hidden players being detectable by checking LastSeen in /info.&lt;br /&gt;
*Fix: To avoid performance degradation, GC calls have been centralized, delayed, limited to 1/minute, and moved to the tasks thread.&lt;br /&gt;
*Fix: Added delay between recurring calls to PlayerDB.Save, AutoRankAll, and DoGC - to balance load.&lt;br /&gt;
*Fix: Fixed rankChangeType not being updated.&lt;br /&gt;
*Fix: Fixed some typos reported by tvc. &lt;br /&gt;
*Change: Added &amp;quot;/uf&amp;quot; as an alias for &amp;quot;/unfreeze&amp;quot;, by popular demand. &lt;br /&gt;
*Change: Modified PlayerDB not to use ReaderWriterLockSlim, to avoid Mono issues with recursion.&lt;br /&gt;
*Change: Renamed /editplayerinfo to /setinfo&lt;br /&gt;
*Change: Made enum values in AutoRank (CriterionType, ConditionField, ComparisonOperation, ConditionScopeType, RankChangeType) case-insensitive.&lt;br /&gt;
*Change: Added a reference to /baninfo in /info&lt;br /&gt;
*Change: Made DetectMovementPacketSpam warn players instead of kicking.&lt;br /&gt;
&lt;br /&gt;
===0.492===&lt;br /&gt;
&#039;&#039;19 October 2010 - r280&#039;&#039;&lt;br /&gt;
*Feature: Added EditPlayerDB permission. This permission affects the upcoming AutoRank commands, /editplayerinfo, and ability to promote/demote/ban unrecognized players.&lt;br /&gt;
*Feature: When you kick a player, you are now shown the number of kicks they already have.&lt;br /&gt;
*Feature: More stats are now logged! RankType, TimeSinceLastKick, LastSeen, BlocksDrawn, LastKickBy, LastKickReason.&lt;br /&gt;
*Feature: Added &amp;quot;MaxUndo&amp;quot; config key for changing the default undo limit of 2,000,000 blocks per player.&lt;br /&gt;
*Feature: /info command is augmented with new stats (if available).&lt;br /&gt;
*Fix: Fixed ellipsoid command calculating volume incorrectly for draw limit checks.&lt;br /&gt;
*Fix: Fixed overflowing color code in &amp;quot;Player logged in from an IP previously used by banned players&amp;quot; message.&lt;br /&gt;
*Fix: Fixed PM recipient&#039;s name not getting logged properly.&lt;br /&gt;
*Fix: Previously-unseen players no longer have their FirstLoginDate, LastLoginDate, or TimesVisited set.&lt;br /&gt;
*Fix: /importranks now works correctly on players who are online at the time of import.&lt;br /&gt;
*Change: Added block aliases by popular demand: &amp;quot;bedrock&amp;quot; as an alias for admincrete, &amp;quot;cotton&amp;quot; as alias for &amp;quot;white&amp;quot;, and &amp;quot;aire&amp;quot; as alias for &amp;quot;air&amp;quot;&lt;br /&gt;
*Change: PlayerDB.txt format changes:&lt;br /&gt;
**MaxFieldCount raised to 36&lt;br /&gt;
**New fields added: UID (Int32), RankChangeType (enum, serialized as Int32), LastKickDate (DateTime), LastSeen (DateTime), BlocksDrawn (Int64), LastKickBy (string), LastKickReason (string).&lt;br /&gt;
**RankChangeBy, BannedBy, UnbannedBy, BanReason, UnbanReason, and RankChangeReason now default to empty string instead of &amp;quot;-&amp;quot; or null.&lt;br /&gt;
**If LastIP==IPAddress.None, empty string is saved instead of &amp;quot;255.255.255.255&amp;quot;.&lt;br /&gt;
**DateTime and TimeSpan format shortened to exclude microseconds. See PlayerDB.ToCompactString() for details.&lt;br /&gt;
*Change: AutoRank improvements (disabled in stable builds):&lt;br /&gt;
**Added /editplayerinfo command for easy editing of PlayerDB.&lt;br /&gt;
**Made AutoRank check players in-login (to accelerate promotion).&lt;br /&gt;
**AutoRank now runs on a scheduler.&lt;br /&gt;
**Fixed ConditionPreviousRank crash for played with default rank.&lt;br /&gt;
**Fixed banned players getting promoted by AutoRank.&lt;br /&gt;
**Fixed several serialization/loading issues in AutoRank.&lt;br /&gt;
**New fields added to ConditionIntRange: LastSeen, BlocksDrawn, TimeSinceRankChange, TimeSinceLastKick&lt;br /&gt;
**ConditionRankStatus renamed to ConditionRankChangeType&lt;br /&gt;
&lt;br /&gt;
===0.491===&lt;br /&gt;
&#039;&#039;17 October 2010 - r274&#039;&#039;&lt;br /&gt;
*Feature: Added ability to run multiple parallel IRC bots, to help high-traffic servers deal with IRC lag. This also makes it possible to connect to multiple networks in the future.&lt;br /&gt;
*Feature: Added new block aliases, by popular demand: &amp;quot;emerald&amp;quot;=teal, &amp;quot;fuchsia&amp;quot;=magenta, &amp;quot;cloth&amp;quot;=white, &amp;quot;lightgray&amp;quot;=gray, &amp;quot;lightgrey&amp;quot;=gray, &amp;quot;darkgray&amp;quot;=black, &amp;quot;darkgrey&amp;quot;=black, &amp;quot;brass&amp;quot;=gold&lt;br /&gt;
*Fix: Temporarily disabled 64-bit zlib support while I track down memory leaks. Should fix OutOfMemoryException, I&#039;m very sorry about overlooking that.&lt;br /&gt;
*Fix: Fixed a bug in /info that displayed incorrect &amp;quot;total time on server&amp;quot;.&lt;br /&gt;
*Fix: Per-rank permission checks for /freeze now apply as intended&lt;br /&gt;
*Fix: Fixed several improbable (but not impossible) threading deadlocks/crashes. Thanks to wootalyzer for catching these.&lt;br /&gt;
*Change: Added IRCThreads config key (default: 1, allowed range: 1-3)&lt;br /&gt;
&lt;br /&gt;
===0.490===&lt;br /&gt;
&#039;&#039;14 October 2010 - r264&#039;&#039;&lt;br /&gt;
*Feature: Testing a new map compressor/decompressor: ZLibStream. It should provide 50-200% speed increase, smaller map sizes, lower bandwidth use, and faster map loading.&lt;br /&gt;
*Fix: Fixed /shutdown not waiting the right amount and mixing up seconds/milliseconds.&lt;br /&gt;
*Fix: Fixed &amp;quot;No world found with the name...&amp;quot; showing player&#039;s own name.&lt;br /&gt;
*Fix: Added a fail-safe exception handler to Player.WaitForKick() - a temporary fix.&lt;br /&gt;
*Change: Previous verification salt is now stored, to allow players to validate even right after the server restarts.&lt;br /&gt;
*Change: Restructured SVN. Stable code is now always in /trunk/&lt;br /&gt;
&lt;br /&gt;
===0.487===&lt;br /&gt;
&#039;&#039;12 October 2010 - r255&#039;&#039;&lt;br /&gt;
*Feature: Added contextual help (tooltips) for all of ConfigTool. Help for &amp;quot;Add World&amp;quot; popup is coming in next version.&lt;br /&gt;
*Feature: Added rank limits for Freeze permission&lt;br /&gt;
*Fix: Fixed /mute being unusable from console.&lt;br /&gt;
*Change: Removed ViewOthersInfo requirement from /sinfo&lt;br /&gt;
*Change: Added ViewOthersInfo requirement to /where&lt;br /&gt;
*Change: Improvements to IRC tab layout in ConfigTool.&lt;br /&gt;
&lt;br /&gt;
===0.486===&lt;br /&gt;
&#039;&#039;11 October 2010 - r250&#039;&#039;&lt;br /&gt;
*Quick fix for IRC Bot bug that made server unconnectable.&lt;br /&gt;
&lt;br /&gt;
===0.485===&lt;br /&gt;
&#039;&#039;11 October 2010 - r249&#039;&#039;&lt;br /&gt;
*Feature: Added optional &amp;quot;delay&amp;quot; parameter to /shutdown (default: 5)&lt;br /&gt;
*Feature: World names can now be autocompleted for many commands (like /join and /lock)&lt;br /&gt;
*Fix: Fixed /unhide failing to reveal the player in certain situations.&lt;br /&gt;
*Fix: Fixed /setspawn being usable on players from other worlds.&lt;br /&gt;
*Fix: Fixed player names appearing white for all players.&lt;br /&gt;
*Fix: Fixed a recursion loop in NoWorldMessage()&lt;br /&gt;
*Fix: Fixed help entries for /setspawn and /shutdown&lt;br /&gt;
*Fix: Fixed potential crash in Server.Shutdown() if called after failed initialization/startup.&lt;br /&gt;
*Fix: Fixed potential deadlock/freeze in fCraftUI on shutdown.&lt;br /&gt;
*Change: Improved crash reporting for TargetInvokationException and TypeInitializerException errors.&lt;br /&gt;
*Change: All assemblies are now once again x86/x86_64/IA64 compatible.&lt;br /&gt;
*Change: Server.OnPlayerConnected event now supports cancellation.&lt;br /&gt;
&lt;br /&gt;
===0.484===&lt;br /&gt;
&#039;&#039;10 October 2010 - r245&#039;&#039;&lt;br /&gt;
*Feature: Added a way for IRC bot to use registered nicknames.&lt;br /&gt;
*Feature: /banall-related kicks are now announced in chat.&lt;br /&gt;
*Feature: /setspawn now actually changes player&#039;s spawn. Also, an optional PlayerName param allows temporarily changing other players&#039; spawn point.&lt;br /&gt;
*Feature: Several improvements to /info. Info now shows whether player&#039;s nick or IP was banned, and hides undefined information for players who haven&#039;t ever logged in.&lt;br /&gt;
*Fix: Fixed crash in ConfigTool if announcements were disabled.&lt;br /&gt;
*Fix: Fixed /banall not matching IPs properly, and not counting kicks towards PlayerInfo.&lt;br /&gt;
*Fix: Fixed ConfigUI not shutting down properly if Server.Init() or Server.Start() failed.&lt;br /&gt;
*Fix: Fixed Config.LoadLogOptions() always leaving Debug enabled.&lt;br /&gt;
*Fix: Added Process.GetCurrentProcess().Refresh() to ServerInfo to improve accuracy of /sinfo stat reporting.&lt;br /&gt;
*Fix: Improved /wsave and /wload path handling on non-Windows platforms.&lt;br /&gt;
*Fix: Replaced some potentially unsafe string concatenation in Player.Message() with proper formatting.&lt;br /&gt;
*Fix: Attempting a workaround for Mono memory leak in World.UnloadMap&lt;br /&gt;
*Fix: Fixed ranks from pre-0.480 configs being loaded in wrong order. Sorry!&lt;br /&gt;
*Change: Added a brief delay before reconnecting IRC bot after getting kicked from a channel. &lt;br /&gt;
*Change: PlayerDB is now saved every 60 seconds (instead of every 30).&lt;br /&gt;
*Change: Removed unused IRCBotQuitMsg config key, and added IRCRegisteredNick, IRCNickServ, and IRCNickServMessage keys.&lt;br /&gt;
*Change: Added a popup with crash information to ConfigTool.&lt;br /&gt;
*Change: Made announcements disabled by default.&lt;br /&gt;
&lt;br /&gt;
===0.483===&lt;br /&gt;
&#039;&#039;8 October 2010 - r242&#039;&#039;&lt;br /&gt;
*Feature: Myne/MyneCraft/Hyvebuild/iCraft maps can now be loaded from ConfigTool&#039;s &amp;quot;Add World&amp;quot; dialog.&lt;br /&gt;
*Fix: Fixed incorrect range checks for AnnouncementInterval and SaveInterval config keys (thanks to Shcaap for reporting).&lt;br /&gt;
*Fix: Fixed /hide showing a slightly different &amp;quot;player left&amp;quot; message compared to normal disconnect (thanks to Silverrock for reporting).&lt;br /&gt;
*Change: Added MC#-style &amp;quot;/z&amp;quot; alias for cuboid, by popular demand.&lt;br /&gt;
*Change: Hidden players can now receive PMs. The sender still gets the &amp;quot;No player found&amp;quot; message, but PMs are actually sent.&lt;br /&gt;
&lt;br /&gt;
===0.482===&lt;br /&gt;
&#039;&#039;7 October 2010 - r241&#039;&#039;&lt;br /&gt;
*Feature: Added new command aliases: &amp;quot;f&amp;quot; for &amp;quot;freeze&amp;quot;, and &amp;quot;pat&amp;quot; for &amp;quot;patrol&amp;quot;.&lt;br /&gt;
*Fix: Fixed typos in mute-related messages.&lt;br /&gt;
*Fix: Added missing triggers for OnPlayerListChanged event.&lt;br /&gt;
*Fix: Fixed /reloadconfig not changing several variables (like colors).&lt;br /&gt;
*Fix: Fixed antigrief defaulting to 35/5 (instead of unmetered).&lt;br /&gt;
*Fix: Fixed heartbeat counting hidden players.&lt;br /&gt;
*Fix: Fixed a rare ObjectDisposedException crash on shutdown when running fCraftUI.&lt;br /&gt;
*Change: Added a more informative disconnect message to players connecting with Alpha client.&lt;br /&gt;
*Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.&lt;br /&gt;
*Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.&lt;br /&gt;
&lt;br /&gt;
===0.481===&lt;br /&gt;
&#039;&#039;2 October 2010 - r237&#039;&#039;&lt;br /&gt;
*Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).&lt;br /&gt;
*Fixed a few more references to &amp;quot;player class&amp;quot; terminology instead of &amp;quot;rank&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.480===&lt;br /&gt;
&#039;&#039;2 October 2010 - r236&#039;&#039;&lt;br /&gt;
*Feature: Changed all &amp;quot;player classes&amp;quot; terminology to &amp;quot;ranks&amp;quot; for consistency with other servers. Several commands have been renamed to reflect that: /classes to /ranks, /user to /rank, /class to /rankinfo. All rank-related messages have also been updated.&lt;br /&gt;
*Feature: Added &amp;quot;Raise&amp;quot;/&amp;quot;Lower&amp;quot; buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a &amp;quot;rank&amp;quot; number to reorder ranks.&lt;br /&gt;
*Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.&lt;br /&gt;
*Fix: Improved fCraftUI responsiveness on-startup.&lt;br /&gt;
*Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.&lt;br /&gt;
*Fix: /wremove now always saves the map before unloading.&lt;br /&gt;
*Fix: Fixed Console being affected by chat spam/flood checks.&lt;br /&gt;
*Fix: Fixed /zinfo not showing any separators between player names.&lt;br /&gt;
*Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.&lt;br /&gt;
*Fix: Fixed Security and IRC tabs not being reset by &amp;quot;Reset All Defaults&amp;quot;&lt;br /&gt;
*Fix: Fixed bugged error messages in /tp and /bring when world access permission check fails.&lt;br /&gt;
*Fix: If any class limits were set to default/&amp;quot;(own class)&amp;quot;, the setting is now preserved.&lt;br /&gt;
*Fix: Fixed a bug that didn&#039;t reset Hide limit if it was set to a deleted rank.&lt;br /&gt;
*Change: Removed legacy zone loading code for pre-0.420 maps (due to changes in rank definition format).&lt;br /&gt;
*Change: Added a more informative disconnect message for players trying to connect with Minecraft Alpha clients.&lt;br /&gt;
*Change: Improved rank-based coloring in world list to check both access and build permissions.&lt;br /&gt;
*Change: Added &amp;quot;/fetch&amp;quot; as alias for /bring, and renamed &amp;quot;/save&amp;quot; to &amp;quot;/wsave&amp;quot;.&lt;br /&gt;
*Change: Deleted some obsolete/disabled controls from ConfigTool, removed PingInterval config key, and removed placeholder ControlPhysics and AddLandmarks permissions.&lt;br /&gt;
*Change: Made several changes to improve disconnect detection:&lt;br /&gt;
**Added occasional pings (every 5 seconds or so, depending on activity/inactivity).&lt;br /&gt;
**Reduced socket send/receive timeout from 12 to 10 seconds.&lt;br /&gt;
**Increased socket polling interval to improve performance.&lt;br /&gt;
*Change: If a player tries to connect to a server twice, the FIRST connection is dropped instead of the LAST connection.&lt;br /&gt;
*Refactor: Major changes were made to the way ranks are stored, and to RankList (formerly ClassList) API.&lt;br /&gt;
*Optimization: Made IsoCat rendering faster, and made draw commands use less CPU.&lt;br /&gt;
&lt;br /&gt;
===0.475===&lt;br /&gt;
&#039;&#039;17 September 2010 - r229&#039;&#039;&lt;br /&gt;
*Feature: /ztest now distinguishes between being allowed/denied by rank/class vs by whitelist/blacklist.&lt;br /&gt;
*Fix: Fixed being unable to change rank/class restrictions with /zedit&lt;br /&gt;
*Fix: Fixed a bug that reported wrong average CPU usage&lt;br /&gt;
*Fix: Fixed a crash on saving in ConfigTool, related to new PatrolledClass config key.&lt;br /&gt;
&lt;br /&gt;
===0.474===&lt;br /&gt;
&#039;&#039;16 September 2010 - r228&#039;&#039;&lt;br /&gt;
*Feature: &amp;quot;/mute&amp;quot; command to temporarily stop players from chatting. A new class permission (Mute) is added, granted to op+ by default.&lt;br /&gt;
*Feature: &amp;quot;/shutdown&amp;quot; command to gracefully shutdown the server remotely. A new class permission (ShutdownServer) is added, granted to owner by default.&lt;br /&gt;
*Feature: Added CPU usage information and loaded world count to /sinfo.&lt;br /&gt;
*Fix: Added a way to edit &amp;quot;PatrolledClass&amp;quot; from ConfigTool.&lt;br /&gt;
*Fix: Fixed zone whitelist/blacklist not updated correctly when edited.&lt;br /&gt;
*Fix: Made teleporting to spawn (with /spawn or /tp, no parameters) accessible to all classes.&lt;br /&gt;
*Fix: Adjusted for Notch&#039;s errors in handling player positions in teleport packets. Slightly improves accuracy of /tp, /bring, initial spawning, /patrol, frozen players, and speedhack detection.&lt;br /&gt;
*Fix: Removed &amp;quot;/tp&amp;quot; bounds check when used with typed-in coordinates numbers.&lt;br /&gt;
*Fix: Fixed an extremely unlikely case of PlayerDB/IPBanList overwriting on shutdown if server initialization failed.&lt;br /&gt;
*Fix: Made &amp;quot;server shutting down&amp;quot; packets deliver more reliably (but still not guaranteed).&lt;br /&gt;
*Fix: Fixed Console possibly not seeing hidden players.&lt;br /&gt;
*Change: Added a basic file check to AutoLauncher&lt;br /&gt;
*Change: Added error logging and crash reporting to Server.Shutdown&lt;br /&gt;
*API: Renamed Server.ShutdownStart to Server.ShutdownBegin (for consistency).&lt;br /&gt;
&lt;br /&gt;
===0.473===&lt;br /&gt;
&#039;&#039;15 September 2010 - r227&#039;&#039;&lt;br /&gt;
*Feature: Added zone coordinates to /zinfo&lt;br /&gt;
*Fix: Fixed cross-world /tp teleporting the wrong player.&lt;br /&gt;
*Fix: Fixed odd date formatting in /zinfo&lt;br /&gt;
&lt;br /&gt;
===0.472===&lt;br /&gt;
&#039;&#039;15 September 2010 - r226&#039;&#039;&lt;br /&gt;
*Feature: Added /cut command&lt;br /&gt;
*Feature: Added a new /patrol command. It allows cycling through low-ranked players on a map (with teleportation). The order is determined by how long it&#039;s been since someone checked on a player. A &amp;quot;Patrol&amp;quot; permission and &amp;quot;PatrolledClass&amp;quot; config key were added.&lt;br /&gt;
*Feature: Added a shorthand notation to /zone for making personal zones: &amp;quot;/zone +PlayerName&amp;quot; creates a zone named after the player, with rank limit just above player&#039;s, and with player whitelisted.&lt;br /&gt;
*Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.&lt;br /&gt;
*Fix: Fixed server always binding to IPAddress.Any regardless of config settings.&lt;br /&gt;
*Fix: TP/Bring no longer allow teleporting to hidden players on other worlds.&lt;br /&gt;
*Fix: Server.GetPlayerList(string) now stops searching the list when it finds an exact match.&lt;br /&gt;
*Fix: Fixed client-crash in /zedit when changing class.&lt;br /&gt;
*Fix: Fixed possible corruption of edited zones upon map saving.&lt;br /&gt;
*Fix: Fixed a range of improbable synchronization issues in the way Zone whitelist/blacklist is updated. As a fortunate side-effect, significantly reduced Zone.CanBuild() overhead.&lt;br /&gt;
*Fix: Temporarily added mainThread.Abort() to Server.Shutdown() that&#039;s kicked in if mainThread does not stop within 5s of being notified of shutdown. I am investigating the real cause of the hang.&lt;br /&gt;
*Fix: Fixed hidden players being revealed by promotion/demotion.&lt;br /&gt;
*Change: Added less threatening error messages to IRC bot on network errors (SocketException and IOException).&lt;br /&gt;
*Change: Disabled movement handling code while changing maps.&lt;br /&gt;
*Refactor: Merged StandardCommands and ImportCommands into AdminCommands&lt;br /&gt;
&lt;br /&gt;
===0.471===&lt;br /&gt;
&#039;&#039;14 September 2010 - r224&#039;&#039;&lt;br /&gt;
*Feature: Added ability to specify the server&#039;s IP (to bind to) manually, for machines with multiple NICs. A new config key &amp;quot;IP&amp;quot; (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.&lt;br /&gt;
*Fix: Fixed a bug with player ghosts being left behind when switching worlds.&lt;br /&gt;
*Fix: Fixed a case with kicked players&#039; connections not being terminated at once (thanks to wootalyzer).&lt;br /&gt;
*Fix: Fixed several bugs in hide/unhide functionality.&lt;br /&gt;
*Fix: Fixed a rare crash in AddWorldPopup related to missing maps for existing worlds.&lt;br /&gt;
*Fix: AddWorldPopup will no longer allow adding a world with a duplicate name.&lt;br /&gt;
*Fix: Capped maximum players at the newly-discovered protocol limit of 128 (thanks to wootalyzer).&lt;br /&gt;
*Change: ConfigTool fields now provide better feedback if validation fails.&lt;br /&gt;
*Change: Changed heartbeat interval to 40 seconds (down from 50).&lt;br /&gt;
*Change: Added a special error handler for rare/impossible case of mainWorld not being joinable.&lt;br /&gt;
*Change: Made fatal error messages in fCraftConsole print in red. Better color support coming soon.&lt;br /&gt;
&lt;br /&gt;
===0.470===&lt;br /&gt;
&#039;&#039;13 September 2010 - r223&#039;&#039;&lt;br /&gt;
*Feature: Personal zones - per-zone whitelist and blacklist of individual players. The lists can now be defined with /zadd and edited with /zedit.&lt;br /&gt;
*Feature: Added cave/ore generator from Omen (BETA).&lt;br /&gt;
*Feature: Added &amp;quot;/maps&amp;quot; and &amp;quot;/levels&amp;quot; as aliases for &amp;quot;/worlds&amp;quot;.&lt;br /&gt;
*Feature: Added a way to limit the &amp;quot;Hide&amp;quot; permission per-class. Now you can specify whom can a class hide from.&lt;br /&gt;
*Feature: Zones now remember date/time of creation and last edit, and names of original creator and last editor.&lt;br /&gt;
*Fix: Unauthorized players can no longer PM or use bring/freeze/unfreeze/kick/tp/where on hidden players. They get the standard &amp;quot;player not found&amp;quot; message.&lt;br /&gt;
*Fix: Fixed hidden players being counter towards /players total.&lt;br /&gt;
*Fix: Fixed a potential crash in /wflush when using on unloaded maps.&lt;br /&gt;
*Fix: Doing /banip or /banall on unrecognized players no longer ip-bans 255.255.255.255. Old IPBanList entries relating to 255.255.255.255 will be automatically discarded.&lt;br /&gt;
*Fix: Fixed /replace command uses not being logged.&lt;br /&gt;
*Fix: Fixed /worlds command not showing world count.&lt;br /&gt;
*Fix: Fixed a client-disconnect when trying to unban a player who is not in the database.&lt;br /&gt;
*Fix: Fixed &amp;quot;/join PlayerName&amp;quot; not translating to &amp;quot;/tp PlayerName&amp;quot; correctly.&lt;br /&gt;
*Fix: Fixed a very unlikely client-disconnect in ChangeClass if the entered class name contains curved braces.&lt;br /&gt;
*Change: Changed default name for &amp;quot;/flip&amp;quot; command to &amp;quot;/mirror&amp;quot;, and fixed command&#039;s help. Either term still works.&lt;br /&gt;
*Change: Added more block name aliases:&lt;br /&gt;
**Air: delete, erase&lt;br /&gt;
**Stone: cement, concrete&lt;br /&gt;
**Grass: gras (common typo)&lt;br /&gt;
**Obsidian: onyx&lt;br /&gt;
*Change: Improved formatting of /players, /worlds, and draw command messages.&lt;br /&gt;
&lt;br /&gt;
===0.463===&lt;br /&gt;
&#039;&#039;9 September 2010 - r218&#039;&#039;&lt;br /&gt;
*Fix: Fixed special colors showing up even if ClassColorsInChat is disabled.&lt;br /&gt;
*Fix: Fixed potential client-crash in World.SendToAll(), and related client-crash in lock/unlock.&lt;br /&gt;
&lt;br /&gt;
===0.462===&lt;br /&gt;
&#039;&#039;8 September 2010 - r217&#039;&#039;&lt;br /&gt;
*Fix: The &amp;quot;OK&amp;quot; button in AddWorldPopup no longer stays grayed out.&lt;br /&gt;
*Fix: Fixed &amp;quot;Error occured while loading&amp;quot; in the file information dialog for non-FCM files.&lt;br /&gt;
*Fix: Fixed a crash in /bring when used without any parameters.&lt;br /&gt;
*Fix: Fixed Server.UrlEncode not escaping 0x00-0x0F characters properly.&lt;br /&gt;
*Change: Slightly reduced default tree density in MapGenerator.&lt;br /&gt;
&lt;br /&gt;
===0.461===&lt;br /&gt;
&#039;&#039;8 September 2010 - r216&#039;&#039;&lt;br /&gt;
*Feature: New EXPERIMENTAL &amp;quot;/reloadconfig&amp;quot; command, and associated ReloadConfig permission. Use with caution!&lt;br /&gt;
*Fix: Fixed a case where AddWorldPopup would allow clicking &amp;quot;OK&amp;quot; with a null map.&lt;br /&gt;
*Fix: Fixed player crash if /freeze or /unfreeze is used without arguments.&lt;br /&gt;
*Fix: Fixed player crash on FormatException in /zones and Server.ShowPlayerConnectedMessage.&lt;br /&gt;
*Fix: Fixed potential player crash if LimitOneConnectionPerIP is enabled.&lt;br /&gt;
&lt;br /&gt;
===0.460===&lt;br /&gt;
&#039;&#039;8 September 2010 - r214&#039;&#039;&lt;br /&gt;
*Feature: Added ShowPlayerConnectedMessage and ClassColorsInWorldNames settings to config.&lt;br /&gt;
*Feature: Added /measure command.&lt;br /&gt;
*Feature: Class colors and prefixes are now applied consistently EVERYWHERE.&lt;br /&gt;
*Feature: Banned players now see their ban reason/memo when they get kicked.&lt;br /&gt;
*Feature: A special error message is shown to players trying to connect with Alpha/SMP client.&lt;br /&gt;
*Feature: IsoCat (ConfigTool isometric preview) rendering quality improved: better shadows and slight altitude-based gradient.&lt;br /&gt;
*Feature: Added new blocktype name aliases: &amp;quot;solid&amp;quot;, &amp;quot;golden&amp;quot;, &amp;quot;halfstep&amp;quot;, &amp;quot;halfblock&amp;quot;, &amp;quot;steps&amp;quot;.&lt;br /&gt;
*Feature: Added player count for each class in /classes&lt;br /&gt;
*Fix: Fixed wrong &amp;quot;MaxBackupsSize&amp;quot; range in ConfigTool.&lt;br /&gt;
*Fix: MaxBackupsSize setting is now applied correctly.&lt;br /&gt;
*Fix: IRC color codes are now stripped from forwarded messages.&lt;br /&gt;
*Fix: IRC bot now uses ServerName for &amp;quot;real name&amp;quot;.&lt;br /&gt;
*Fix: Formatting improved in many error messages.&lt;br /&gt;
*Fix: Commas in ban/unban/promote/demote reasons no longer cause problems with PlayerDB.&lt;br /&gt;
*Fix: Removed extra comma from /worlds list that showed in place of hidden/inaccessible worlds.&lt;br /&gt;
*Change: Added 5-second delay between retries in AutoLauncher&lt;br /&gt;
*Change: &amp;quot;Player connected&amp;quot; message condensed to a single line by absorbing &amp;quot;joined world&amp;quot; message.&lt;br /&gt;
*Change: Removed ChangeName permission (and the ability to change names) due to possibility of abuse and confusion. Related /nick and /whois commands were also removed.&lt;br /&gt;
*Change: /tp can now fall back to behave like /join if player name is not found (for all those times when you mistype /tp instead of /join). Conversely, /join falls back to /tp if player was not found.&lt;br /&gt;
*Optimization: Reduced bandwidth use with an adaptive movement packet skipping algorithm. Should reduced outbound traffic by at least 15%.&lt;br /&gt;
*Optimization: BlockUpdate memory usage slightly reduced.&lt;br /&gt;
&lt;br /&gt;
===0.455===&lt;br /&gt;
&#039;&#039;8 September 2010 - r213&#039;&#039;&lt;br /&gt;
*Feature: AutoLauncher (BETA) allows restarting the fCraftConsole server if it crashed. Although it honestly shouldn&#039;t crash at all!&lt;br /&gt;
*Fix: Allowed renaming worlds in cases where only capitalization is different.&lt;br /&gt;
*Fix: If an ip-banned player has more than one connection, all connections are now terminated.&lt;br /&gt;
*Fix: Fixed nonrectangular MCSharp maps getting messed up by the loader.&lt;br /&gt;
*Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.&lt;br /&gt;
*Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of &amp;quot;no player found&amp;quot; message). Affects PMs, {{cmd|TP}}, {{cmd|Bring}}, {{cmd|Freeze}}, {{cmd|Unfreeze}}, {{cmd|Kick}}.&lt;br /&gt;
*Change: Improved OS detection in crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.454===&lt;br /&gt;
*Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.&lt;br /&gt;
*Fix: Replace no longer behaves same as replacenot.&lt;br /&gt;
*Fix: Spaces in IRC messages are now preserved.&lt;br /&gt;
*Fix: Help entries for paste/pastenot corrected.&lt;br /&gt;
*Fix: /cinfo (without parameters) now shows player&#039;s own class info.&lt;br /&gt;
&lt;br /&gt;
===0.453===&lt;br /&gt;
*Feature: It is now possible to reverse last /undo (by typing /undo again).&lt;br /&gt;
*Change: IRC message colors are applied slightly differently now.&lt;br /&gt;
*Change: Added more automated crash reporting hooks - to MainLoop and Tasks.&lt;br /&gt;
*Change: More help messages improved.&lt;br /&gt;
*Change: Added a more informative message for people running outdated versions of Mono and .Net runtime.&lt;br /&gt;
*Optimization: Slightly reduced memory usage of /undo, /paste, and PlayerDB.Load()&lt;br /&gt;
&lt;br /&gt;
===0.452===&lt;br /&gt;
*Feature: New /replacenot command allows replacing all blocks EXCEPT the specified one.&lt;br /&gt;
*Feature: New /flip and /rotate commands to manipulate copied blocks.&lt;br /&gt;
*Feature: /players list is now in alphabetical order.&lt;br /&gt;
*Fix: Trying to specify an unrecognized block type for draw commands (e.g. &amp;quot;/c ai&amp;quot; instead of &amp;quot;/c air&amp;quot;) now shows a proper error message.&lt;br /&gt;
*Fix: Fixed /gen command crashing players if coordinates are typed in before theme/template.&lt;br /&gt;
*Fix: Fixed /e ellipsoids coming out crooked.&lt;br /&gt;
*Fix: &amp;quot;joined for the first time&amp;quot; messages are now shown correctly.&lt;br /&gt;
*Fix: Fixed /replace not working correctly with /undo&lt;br /&gt;
*Fix: Made IRC bot strip nonprintable characters from messages, and ignore empty messages.&lt;br /&gt;
*Fix: World permissions are no longer reset when doing /wload. Also a permission reminder is now shown when creating new worlds.&lt;br /&gt;
*Change: Improved some help messages.&lt;br /&gt;
*Change: Improved IRC error reporting.&lt;br /&gt;
*Change: Added world name back to &amp;quot;Almost there...&amp;quot; join screen.&lt;br /&gt;
*Change: /pasteonly is now called /paste, and /paste is now called /pastenot (for consistency with other custom servers)&lt;br /&gt;
*Optimization: Slightly reduced memory usage of massive drawing commands (over undo limit).&lt;br /&gt;
&lt;br /&gt;
===0.451===&lt;br /&gt;
*Feature: Improved the way fCraft handles fatal errors (crashes). Crash logs are now created more reliably.&lt;br /&gt;
*Feature: Added automated crash reporting to fragmer.net (opt-out).&lt;br /&gt;
*Feature: Added an announcement for players logging in from IPs associated with other previously-banned players.&lt;br /&gt;
*Fix: Curved braces - &amp;quot;{}&amp;quot; - in server name no longer cause problems.&lt;br /&gt;
*Fix: &amp;quot;Leaving the map&amp;quot; kick disabled temporarily, will be made configurable per-class soon.&lt;br /&gt;
*Fix: banall/unbanall commands produce less chat spam.&lt;br /&gt;
*Fix: AFK kicks no longer count towards /info number-of-times-kicked.&lt;br /&gt;
*Change: Added class colors to /info, and fixed formatting bug.&lt;br /&gt;
*Change: Cleaned up &amp;quot;Advanced&amp;quot; tab in ConfigTool.&lt;br /&gt;
**Removed obsolete config keys: PolicyColorCodesInChat, PolicyIllegalCharacters, and RunOnStartup&lt;br /&gt;
**Added SubmitCrashReports and IRCDelay config keys.&lt;br /&gt;
&lt;br /&gt;
===0.450===&lt;br /&gt;
&#039;&#039;26 August 2010&#039;&#039;&lt;br /&gt;
*Feature: IRC bot rewritten for better performance, flexibility, and safety.&lt;br /&gt;
*Feature: New IRC options: IRCBotAnnounceIRCJoins and IRCBotAnnounceServerJoins.&lt;br /&gt;
*Fix: Fixed messages containing only a single slash (&#039;/&#039;) crashing client thread.&lt;br /&gt;
*Change: Removed obsolete IRCBotMsgs config key.&lt;br /&gt;
*Change: Added OnPlayerSentMessage event to Server.&lt;br /&gt;
*Change: IRC bot&#039;s commands (e.g. !status) are temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
===0.445===&lt;br /&gt;
*IMPORTANT! Please update ASAP, a security issue was identified in previous version.&lt;br /&gt;
*Fix: If you need to start message with a slash, you can now escape the slash (type &amp;quot;//&amp;quot;)&lt;br /&gt;
*Fix: Fixed endless update loop (if automatic updates were enabled)&lt;br /&gt;
*Fix: Private messages with a space between &#039;@&#039; and the player name now work.&lt;br /&gt;
*Fix: Hacking-related kicks are not announced globally.&lt;br /&gt;
*Fix: Fixed &amp;quot;/help&amp;quot; giving wrong message if help entry was not found.&lt;br /&gt;
*Change: Minor changes in MapGenerator/Noise&lt;br /&gt;
&lt;br /&gt;
===0.444===&lt;br /&gt;
*Feature: New stat command, /sinfo (server info).&lt;br /&gt;
*Fix: Ban reason/memo now shown for normal bans.&lt;br /&gt;
*Fix: /cinfo for unlimited classes no longer shows &amp;quot;draw limit: 0&amp;quot;&lt;br /&gt;
*Fix: Fixed IRC message colors, and removed IRC color codes from log.&lt;br /&gt;
&lt;br /&gt;
===0.443===&lt;br /&gt;
*FEATURE: New /wflush command. It allows finishing all in-progress draw commands at maximum speed (over 100k blocks/second) then forces a map rejoin.&lt;br /&gt;
*Feature: Added more customization options for colors: PrivateMessageColor and IRCMessageColor in Config.&lt;br /&gt;
*Feature: /players list is now sorted alphabetically.&lt;br /&gt;
*Feature: Added &amp;quot;Check Port&amp;quot; button to ConfigTool to see if port is open. Uses www.utorrent.com/testport&lt;br /&gt;
*Feature: Added &amp;quot;Play&amp;quot; button to fCraftUI to open server URL in the browser&lt;br /&gt;
*Feature: World names in /worlds list are now colored according to each world&#039;s build permission. &lt;br /&gt;
*Feature: Added speedhack detection &amp;amp; prevention (BETA) and corresponding Permission.UseSpeedHack. All your classes will be granted this permission by default. Edit the config to customize it.&lt;br /&gt;
*Fix: When using /mark outside of map boundaries, draw limits are no longer calculated incorrectly (thanks to Darnest).&lt;br /&gt;
*Fix: Fixed possible crash in Map.CheckZones() on maps created with /gen&lt;br /&gt;
*Fix: Fixed compilation issue with &amp;quot;tileset.png&amp;quot; on case-sensitive filesystems.&lt;br /&gt;
*Fix: Fixed class-wide messages not wrapping correctly.&lt;br /&gt;
*Optimization: antigrief and antispam checking overhead reduced.&lt;br /&gt;
&lt;br /&gt;
===0.442===&lt;br /&gt;
*Fix: Addresses a security issue.&lt;br /&gt;
*Fix: &amp;quot;OK&amp;quot; button in AddWorldPopup is now always disabled if no map is set.&lt;br /&gt;
*Fix: &amp;quot;Feature size&amp;quot; label is now updater correctly when map dimensions are changed.&lt;br /&gt;
*Fix: Added missing player notifications for /undo and /cancel commands.&lt;br /&gt;
*Change: MapGenerator&#039;s default map size changed to 128x128x80&lt;br /&gt;
&lt;br /&gt;
===0.441===&lt;br /&gt;
*Feature: Added cuboid limits to /cinfo&lt;br /&gt;
*Fix: Fixed a bug in BoundingBox that made /paste and zones behave incorrectly&lt;br /&gt;
*Fix: Fixed ban/unban commands not kicking the player if entered name capitalization did not match actual capitalization&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; being broken when using &amp;quot;/gen&amp;quot;&lt;br /&gt;
*Fix: Fixed &amp;quot;/ban&amp;quot; rank checks affecting &amp;quot;/unban&amp;quot;&lt;br /&gt;
*Change: Optimized zone permission checks&lt;br /&gt;
&lt;br /&gt;
===0.440===&lt;br /&gt;
*FEATURE: New MapGenerator with tons of options. You can also save/load custom templates for it.&lt;br /&gt;
*FEATURE: AddWorldPopup interface overhaul.&lt;br /&gt;
*FEATURE: JTE, D3, and Myne/Mynecraft/Hyvebuild/iCraft map format converters added.&lt;br /&gt;
*Feature: Improved syntax of the /gen command. See &amp;quot;/help gen&amp;quot; for details.&lt;br /&gt;
*Feature: Reason/memo is now shown publicly when someone gets banned, unbanned, or kicked.&lt;br /&gt;
*Feature: Teleport and Bring work across worlds - world permissions still apply.&lt;br /&gt;
*Feature: Added 4 new Config keys: RequireBanReason, RequireClassChangeReason, AnnounceKickAndBanReasons, AnnounceClassChanges. By default &amp;quot;AnnounceKickAndBanReasons&amp;quot; and &amp;quot;AnnounceClassChanges&amp;quot; are enabled.&lt;br /&gt;
*Feature: Added 5 new fields to PlayerDB: previousClass, classChangeReason, timesKicked, timesKickedOthers, timesBannedOthers.&lt;br /&gt;
*Feature: Added a lot of new information to /info.&lt;br /&gt;
*Feature: You can now save map preview images (isometric) from AddWorldPopup.&lt;br /&gt;
*Feature: ConfigTool now shows warnings about any errors logged during Config.Load&lt;br /&gt;
*Fix: Yet another workaround for VerifyNames false negatives (thanks to SpaceManiac).&lt;br /&gt;
*Fix: Fixed being able to paste admincrete/water/lava without permission (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Trying to go over class draw limit no longer causes &amp;quot;Another drawing command is in progress&amp;quot; error.&lt;br /&gt;
*Fix: Mcc.MapUtility.TryLoading() and Map.LoadHeaderOnly() now release file handles as soon as possible. This should fix some &amp;quot;file is being used by another process&amp;quot; errors.&lt;br /&gt;
*Fix: Map spawn should be parsed correctly for MCSharp/MCZall maps&lt;br /&gt;
*Fix: If a map doesn&#039;t start with a gzip header, it no longer has a chance to abort the whole load process.&lt;br /&gt;
*Fix: Fixed blocktype names being case-sensitive.&lt;br /&gt;
*Fix: Added a more informative message when idle players are kicked.&lt;br /&gt;
*Fix: Fixed undo buffer not getting cleared when doing paste/pasteonly&lt;br /&gt;
*Fix: Fixed /waccess exception kicking players.&lt;br /&gt;
*Fix: 100% Empty maps no longer crash AddWorldPopup with OutOfMemoryException&lt;br /&gt;
*Fix: Fixed &amp;quot;player is already banned&amp;quot; message when doing /BanAll&lt;br /&gt;
*Fix: Fixed no public message appearing when doing /BanAll&lt;br /&gt;
*Fix: Fixed cuboid/ellipsoid/cuboidh logging blocktype code instead of blocktype name.&lt;br /&gt;
*Fix: Improved the message that&#039;s shown when idle players are kicked.&lt;br /&gt;
*Fix: Documented ability to /tp to specific coordinates.&lt;br /&gt;
*Fix: AddWorldPopup no longer crashes if user closes &amp;quot;Load Map&amp;quot; dialog before selecting any file.&lt;br /&gt;
*Fix: When drawing affects (in part or in full) a restricted zone, the zone is left untouched, and the rest of draw command finishes (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Fixed crash in AddWorldPopup.AsyncLoad() if map loading failed.&lt;br /&gt;
*Fix: LegacyRankMapping is now parsed correctly&lt;br /&gt;
*Fix: Renaming a class no longer causes &amp;quot;Worlds&amp;quot; tab dropdown menus to go out-of-sync.&lt;br /&gt;
*Change: AddWorldPopup preview image quality improved.&lt;br /&gt;
*Change: Updated to newest version of NBTag library.&lt;br /&gt;
*Change: Frozen players can no longer build/delete.&lt;br /&gt;
*Change: Removed public &amp;quot;undo&amp;quot; message, added log message instead.&lt;br /&gt;
*Change: Removed AnnounceUnverifiedNames settings.&lt;br /&gt;
*Change: When building/deleting permission is denied, the exact reason is given (instead of a vague &amp;quot;you cannot do that&amp;quot; message) (part of Player.CanPlace overhaul).&lt;br /&gt;
&lt;br /&gt;
===0.435===&lt;br /&gt;
*Feature: Added /copy, /paste, and /pasteonly commands. Rotation coming soon.&lt;br /&gt;
*Feature: Added CopyAndPaste permission, granted to op and owner by default.&lt;br /&gt;
*Feature: Added MapGenType.Cliffs - similar to Mountains type, but with cliffs!&lt;br /&gt;
*Fix: Fixed /paint command&lt;br /&gt;
*Fix: Fixed /baninfo now showing any information if used without parameters.&lt;br /&gt;
*Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.&lt;br /&gt;
&lt;br /&gt;
===0.434===&lt;br /&gt;
*Feature: new /bind command allows mapping any block to any other. Now you can place those unbuildable blocks (water, lava, grass, double-step) in any way you wish. For compatibility, old commands (/water, /solid, /lava, /grass) have been preserved.&lt;br /&gt;
*Change: &amp;quot;step&amp;quot; added as an alias for Stair block. &amp;quot;doublestep&amp;quot; added as an alias for DoubleStair.&lt;br /&gt;
&lt;br /&gt;
===0.433===&lt;br /&gt;
*Feature: /winfo now shows who locked/unlocked the map, and how long ago.&lt;br /&gt;
*Fix: Fixed a error message that showed up when announcements.txt was blank.&lt;br /&gt;
*Fix: Permission check added back to lock/unlock commands.&lt;br /&gt;
*Fix: &amp;quot;mapinfo&amp;quot; added back as alias for /winfo&lt;br /&gt;
*Fix: Fixed locked maps not getting unloaded when all players left&lt;br /&gt;
&lt;br /&gt;
===0.432===&lt;br /&gt;
*Fix: List of worlds printed by /worlds is now sorted alphabetically.&lt;br /&gt;
*Fix: Fixed an obscure half-disconnect bug that left players with id=0 who happened to be on the main world in a semi-disconnected state IF someone else was kicked halfway through the login process before it was assigned an id.&lt;br /&gt;
&lt;br /&gt;
===0.431===&lt;br /&gt;
*Fix: Fixed still messed-up /worlds command.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.430===&lt;br /&gt;
*Fix: Fixed messed-up /worlds command. Sorry about that.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.429===&lt;br /&gt;
*Feature: Command-handler infrastructure has been redesigned. This will allow much more flexibility for devs and plugin makers later.&lt;br /&gt;
*Feature: &amp;quot;/help commands&amp;quot; now only shows available commands by default. Type &amp;quot;/help commands all&amp;quot; to see all commands.&lt;br /&gt;
*Feature: /worlds command now only available worlds by default. Type &amp;quot;/worlds all&amp;quot; to include worlds inaccessible to you.&lt;br /&gt;
*Feature: Help entries added for /zedit, /mark, /version, /rules, and /say.&lt;br /&gt;
*Feature: ConfigTool World tab columns are now sortable.&lt;br /&gt;
*Fix: Fixed &amp;quot;max backups&amp;quot; in ConfigTool being limited to 100. Now it&#039;s at a more reasonable limit of 100000.&lt;br /&gt;
*Fix: Fixed Map.Backup() deleting the newest (instead of the oldest) backup if the total number of files was limited.&lt;br /&gt;
*Fix: Fixed an ERROR that popped up if a player got disconnected during the login process (while player=null).&lt;br /&gt;
*Fix: FormatException crash fixed that caused whole server to go down instead of a player thread.&lt;br /&gt;
*Fix: Several draw-related bugs and crashes fixed.&lt;br /&gt;
*Fix: Fixed crash in /winfo when used on unloaded worlds.&lt;br /&gt;
*Fix: Fixed a bug in Config that caused antigrief to be re-enabled every load.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool that didn&#039;t update AntiGriefSeconds properly when changing between classes.&lt;br /&gt;
*Change: Many /help entries have been improved.&lt;br /&gt;
*Change: Split /class command into two: /classes (aka /ranks) shows a list of classes, and /class (aka /cinfo or /classinfo) shows permission list (missed from last release notes).&lt;br /&gt;
*Change: Added /spawn as an alias for /tp (missed from last release notes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.428===&lt;br /&gt;
*Feature: Line wrapping. Yes, finally.&lt;br /&gt;
*Feature: Per-class draw limits. Defaults are: owner unlimited, op unlimited, regular 4096 (16x16x16), guest 512 (8*8*8)&lt;br /&gt;
*Feature: Per-class antigrief detection. Defaults are: owner unmetered, op umetered, regular 45/6 (7.5 blocks/second), guest 35/5 (7 blocks/second)&lt;br /&gt;
*Feature: Memory usage of draw commands has been reduced by 6 bytes per block (37% improvement).&lt;br /&gt;
*Fix: Extra color codes fixed in /players command.&lt;br /&gt;
*Fix: Fixed a bug with /undo that caused more than one command to be undone at once.&lt;br /&gt;
*Fix: Fixed maps generated with &amp;quot;Realistic terrain&amp;quot; (MapGenerator) having an empty layer at the bottom of the map.&lt;br /&gt;
*Change: Default classes have been tweaked:&lt;br /&gt;
**regular can now use draw commands&lt;br /&gt;
**op can now lock/unlock&lt;br /&gt;
*Change: Improved arrangement of Permission list items.&lt;br /&gt;
*Change: Removed obsolete ConfigKey variables AntigriefBlockCount and AntigriefBlockInterval&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.427===&lt;br /&gt;
*Feature: Added /zedit command for changing zone permissions after creation&lt;br /&gt;
*Feature: New aliases for drawing commands: /c /e /h /r /m&lt;br /&gt;
*Fix: Fix for cuboid command kicking players with &amp;quot;Block.Undefined&amp;quot; if called with no optional BlockType parameter&lt;br /&gt;
*Fix: Fixed zone definitions getting corrupted.&lt;br /&gt;
*Fix: Allowed /save command to be used from console and from remote worlds. Previously you had to join the world to save it.&lt;br /&gt;
*Fix: Fixed potential crash in /winfo when looking up unloaded worlds.&lt;br /&gt;
*Fix: Fixed /zone allowing duplicate names, then kicking the client.&lt;br /&gt;
*Fix: Fixed /ztest showing the standard &amp;quot;you are not allowed to build in this zone&amp;quot; message instead of the expected zone list.&lt;br /&gt;
*Fix: Fixed incorrect description of draw log messages, and backup error messages&lt;br /&gt;
*Fix: Fixed false triggering of &amp;quot;Player asked to be released from its world, but the world did not contain the player&amp;quot; error&lt;br /&gt;
*Change: Fruitified fragmer&#039;s name &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.426===&lt;br /&gt;
*Feature: Announcements! You can define a list of announcements to show periodically. A random line from announcements.txt will be shown to all players at specified interval (in minutes).&lt;br /&gt;
*Feature: /replace command.&lt;br /&gt;
*Feature: /undo command has been improved for more flexibility and better performance.&lt;br /&gt;
*Feature: /winfo (alias: /mapinfo) is added for displaying world name, player count, map dimensions, and access/build permissions.&lt;br /&gt;
*Fix: Fixed a bug that caused duplicate entries to be added to PlayerDB when doing /importranks or /importbans.&lt;br /&gt;
*Change: New ConfigKeys: AnnouncementColor (default: green) and AnnouncementInterval (default: 5 minutes).&lt;br /&gt;
*Change: Draw command stride increased to 16x16x16, for better theoretical performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.425===&lt;br /&gt;
*Feature: Added hollow draw command (/cubh) and aliases (/cuboidh and /bhb)&lt;br /&gt;
*Feature: /players now shows class colors and a total number of players. Breakdown of /players by world is coming soon&lt;br /&gt;
*Feature: Added &amp;quot;Joined world WorldName&amp;quot; message that shows when changing worlds&lt;br /&gt;
*Fix: Improved several /help entries&lt;br /&gt;
*Fix: Fixed a bug in Map.SaveBackup() that could cause a crash if MaxBackups was set&lt;br /&gt;
*Fix: Fixed a bug in ConfigUI where &amp;quot;Delete World&amp;quot; button could leave the map file behind and/or cause an error&lt;br /&gt;
*Fix: Calling lock/unlock from console without a WorldName now shows a nicer error message&lt;br /&gt;
*Change: Improved safety checks of /join command&lt;br /&gt;
*Change: Added a catch-all exception handler into Server.MainLoop&lt;br /&gt;
*Change: Added exception handlers for EVERY single piece of code that requires file access&lt;br /&gt;
*Change: Added more thread safety in MapCommands.WorldRename that resolves a potential race condition with Map.Save&lt;br /&gt;
*Change: Modified IPBanList to use the standard temp folder (instead of fCraft working path) for its temp files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.424===&lt;br /&gt;
*Fix: Fixed /unhide and normal connection getting different messages&lt;br /&gt;
*Fix: Fixed client crash when viewing /rules if the rule file has blank lines&lt;br /&gt;
*Fix: Worlds with capital letters in the name are joinable again&lt;br /&gt;
*Fix: Potential crash in DoClassChange() if target player is already same rank AND is not currently on the server&lt;br /&gt;
*Change: Moved the command list to /help commands&lt;br /&gt;
*Change: Performance and thread-safety improvements to PlayerDB&lt;br /&gt;
*Change: Disabled some more debugging code to avoid taking up unnecessary resources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.423===&lt;br /&gt;
*Feature: /importbans now also supports &amp;quot;banned-ip.txt&amp;quot;&lt;br /&gt;
*Feature: Logs are now stored in /logs/ folder. Your fCraft.log file will be moved there automatically and renamed to &amp;quot;_OldLog.log&amp;quot;&lt;br /&gt;
*Feature: Log splitting now works by day or by session. Set &amp;quot;LogMode&amp;quot; key in config.xml or see Logging tab in ConfigTool.&lt;br /&gt;
*Feature: All maps are now stored in /maps/ folder. Your map files will be moved automatically first time you start ConfigTool/fCraftConsole/fCraftUI&lt;br /&gt;
*Feature: Reserved slots now work&lt;br /&gt;
*Fix: Fixed a bug in fCraft.Server.LoadWorldListXML that could make all worlds hidden.&lt;br /&gt;
*Fix: &amp;quot;player connected&amp;quot; message shown when someone connects, instead of just &amp;quot;player joined world&amp;quot;&lt;br /&gt;
*Fix: &amp;quot;player left the server&amp;quot; message is not shown if the player got kicked before LoginSequence finished (e.g. if server was full)&lt;br /&gt;
*Fix: Added back IP logging for incoming connections&lt;br /&gt;
*Fix: Fixed ConfigTool-generated maps not having correct spawn point&lt;br /&gt;
*Fix: Fixed /user showing both promote and demote messages at once&lt;br /&gt;
*Fix: Removed references to old &amp;quot;/drawundo&amp;quot; command name in &amp;quot;/undo&amp;quot; messages&lt;br /&gt;
*Fix: Fixed &amp;quot;Unrecognized entry ignored: LegacyRankMapping =&amp;quot; warning&lt;br /&gt;
*Change: Made /importbans and /importranks save PlayerDB at once&lt;br /&gt;
*Change: fCraft now forcibly resets its working directory to the same path where the executable is&lt;br /&gt;
*Change: Removed &amp;quot;delete old file?&amp;quot; prompt when renaming worlds in AddWorldPopup. Now it just does it, to match tabWorlds&#039; DataGridView behavior&lt;br /&gt;
*Change: Added additional error checks to Map.Backup() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.422===&lt;br /&gt;
*Feature: Further improved network performance by introducing nonblocking (lock-free) data structure to packet output buffer&lt;br /&gt;
*Fix: Fixed &amp;quot;world creation failed&amp;quot; error if worlds.xml defined a non-existing world to be main&lt;br /&gt;
*Fix: Added back missing messages when doing /user on offline users&lt;br /&gt;
*Fix: Fixed player name color not being updated when their class changes&lt;br /&gt;
*Fix: Added missing /help entries for /importbans and /importranks&lt;br /&gt;
*Change: Improved help messages for /lock, /unban, /unbanip, /undo, /wload, /wmain, and /wremove&lt;br /&gt;
*Change: Tweaked default values of BlockUpdateThrottling and maxBlockUpdatesPerTick for maximum lag-free performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.421===&lt;br /&gt;
*Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players&lt;br /&gt;
*Feature: Added the ability to ban unseen players&lt;br /&gt;
*Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated &amp;quot;Import&amp;quot; permission was added. See &amp;quot;/help importbans&amp;quot; and &amp;quot;/help importranks&amp;quot; for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.&lt;br /&gt;
*Feature: Improved BlockUpdateQueue performance (faster drawing commands!) by switching to a lock-free data structure&lt;br /&gt;
*Fix: Fixed startup errors not being logged if config.xml has not been parsed yet&lt;br /&gt;
*Fix: Fixed ConfigUI input box not aligning properly when window is resized&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; generated maps being 1 block off vertically&lt;br /&gt;
*Change: Updated PlayerDB and IPBanList to use standard temporary folder (instead of dumping temp files into fCraft directory)&lt;br /&gt;
*Change: Added &amp;quot;logging starts&amp;quot; marker that&#039;s written to console and log on-startup&lt;br /&gt;
*Change: fCraftUI log now displays the last 2000 lines (up from 1000 lines)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.420===&lt;br /&gt;
*Feature: New &amp;quot;Worlds&amp;quot; tab in ConfigTool for managing your world list&lt;br /&gt;
*Feature: Isometric map previews and map generation in ConfigTool&lt;br /&gt;
*Feature: Implemented a class-ID system that allows adding/renaming/deleting classes without breaking compatibility. DeleteClassPopup was added for this&lt;br /&gt;
*Feature: Added LimitOneConnectionPerIP option to config &amp;amp; configtool&lt;br /&gt;
*Feature: Worlds can now be hidden from the /worlds list&lt;br /&gt;
*Feature: Added /whois command for checking if a player is using real name or nickname. BE CAREFUL WITH &amp;quot;ChangeName&amp;quot; PERMISSION!&lt;br /&gt;
*Feature: fCraft now generates crash.txt on unhandled fatal errors&lt;br /&gt;
*Feature: Implemented theme support, and added 2 new terrain types (Coast and River) for MapGenerator. See &amp;quot;/help gen&amp;quot; for details, or use ConfigTool.&lt;br /&gt;
*Feature: Pressing Up/Down keys in fCraftUI will show previously typed commands.&lt;br /&gt;
*Fix: Fixed a bug in /wmain and /wload that sometimes made the server unconnectable after changing map&lt;br /&gt;
*Fix: Limits on the /kick command now apply correctly&lt;br /&gt;
*Fix: Fixed /wbuild and /waccess showing wrong messages&lt;br /&gt;
*Fix: Fixed hidden players unable to build due to grief protection&lt;br /&gt;
*Fix: Added /nick and /whois entries to /help&lt;br /&gt;
*Fix: Removed the ability to call draw commands from console (caused crash)&lt;br /&gt;
*Fix: Fixed /lava checking PlaceWater permission instead of PlaceLava&lt;br /&gt;
*Fix: A debug message about &amp;quot;attempting to unregister an non-existent player&amp;quot; is no longer logged every time VerifyNames fails&lt;br /&gt;
*Fix: When using /where command on other players, correct coordinates are now shown]&lt;br /&gt;
*Fix: Player&#039;s classes are now updated in fCraftUI list when promoted/demoted&lt;br /&gt;
*Fix: PMs are now logged as LogType.PrivateChat (instead of generic LogType.WorldChat)&lt;br /&gt;
*Fix: /hide and /unhide now use Color.Sys instead of hardcoded Color.Yellow&lt;br /&gt;
*Fix: Player&#039;s nicknames (as set by /nick) are applied correctly and preserved when changing worlds&lt;br /&gt;
*Fix: Added missing checks for &amp;quot;Chat&amp;quot; permissions&lt;br /&gt;
*Fix: Color buttons in ConfigTool now show correct background color under Mono&lt;br /&gt;
*Fix: Fixed help entry to /freeze showing incorrect information&lt;br /&gt;
*Fix: Corrected tab order in all ConfigTool forms&lt;br /&gt;
*Change: Added /blb as another alias for /cuboid&lt;br /&gt;
*Change: Removed ReservedSlotBehavior config key&lt;br /&gt;
*Change: Disabled word wrapping in rules.txt editor popup&lt;br /&gt;
*Change: /unhide now resets the player&#039;s nick&lt;br /&gt;
*Change: Both player&#039;s real name and nickname (if any) are now recorded in the log&lt;br /&gt;
*Change: Added a warning to /info when looking up nicknames (instead of real names)&lt;br /&gt;
*Change: Heartbeat salt generation (used to verify names) is now more secure&lt;br /&gt;
*Change: Removed CanPlaceHardenedBlocks from permission list&lt;br /&gt;
*Change: All map generator terrain types have been tweaked for improved appearence&lt;br /&gt;
*Change: Centered all ConfigTool popup windows (AddWorldPopup, ColorPicker, DeleteClassPopup, TextEditorPopup)&lt;br /&gt;
*Change: Hid unneeded icons and buttons from ConfigTool popups&lt;br /&gt;
*Change: Changed the way zones store rank restriction (as part of the compatibility assurance), and added versioning to zone definitions&lt;br /&gt;
*Change: Map.Save() now creates temporary files in the OS-specific temporary folder, not in same folder where fCraft is installed&lt;br /&gt;
*Change: World permissions are now updated automatically when a class is deleted&lt;br /&gt;
*Refactor: Improved consistency in code naming conventions, especially in IRC code&lt;br /&gt;
*Refactor: Improved code organization in many areas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.410===&lt;br /&gt;
*Implemented per-world access and build permissions.&lt;br /&gt;
*Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.&lt;br /&gt;
*New world-related commands:&lt;br /&gt;
**/wmain changes the main world&lt;br /&gt;
**/waccess and /wbuild allow setting per-world permissions&lt;br /&gt;
**/wremove allows deleting worlds&lt;br /&gt;
**/wrename allows renaming worlds without reloading&lt;br /&gt;
**/wload command is significantly improved (see /help wload for more info). The functionality of the old /load command has been merged with /wload. Now /load is an alias for /join, together with /l, /j, and /goto.&lt;br /&gt;
*Removed SaveAndLoad permission - it became redundant with ManageWorlds. Please check your config to ensure that permissions remain consistent.&lt;br /&gt;
*Added new and previously-missing (/lockall, /unlockall, /where, /me, /rules, /setspawn) commands to /help.&lt;br /&gt;
*Disabled verify-names check for localhost (127.0.0.1) when running in Balanced mode.&lt;br /&gt;
*When player is denied access to some command, server now names the specific permission that&#039;s needed.&lt;br /&gt;
*Fixed a potential desync issue when one player rejoins a world, and another joins it simultaneously.&lt;br /&gt;
*Removed /genh command and /compass alias for the /where command.&lt;br /&gt;
*Added a fail-safe exception check when executing console commands. Now the server will stay up even if an exception occurs while executing console command.&lt;br /&gt;
*Improved the way server reacts to fatal errors on startup. Now there is a clear indication that server cannot start.&lt;br /&gt;
*&amp;quot;default map&amp;quot; is now referred to as &amp;quot;main world&amp;quot; for consistency. &lt;br /&gt;
*Improved garbage collection.&lt;br /&gt;
&lt;br /&gt;
===0.405===&lt;br /&gt;
*Added back support for vanilla (server_level.dat) maps.&lt;br /&gt;
*Fixed MCSharp importer leaving nonstandard blocks in the map, causing client crashes. Now all MCSharp-specific blocks are converted to normal types.&lt;br /&gt;
*Fixed visual player list not updating in fCraftUI.&lt;br /&gt;
*Added /players command to list ALL players on the server (in all worlds)&lt;br /&gt;
*Made the BlockType parameter optional for /cuboid and /ellipsoid. Now it takes blocktype of the second click (or last-previously-used-blocktype when using /mark) in the absence of the optional parameter.&lt;br /&gt;
*ConfigTool: Added a new tab for IRC setting.&lt;br /&gt;
*ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.&lt;br /&gt;
*IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.&lt;br /&gt;
*IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot. &lt;br /&gt;
*IRC: Fixed a bug with infinite reconnects on receiving error 433 Nickname already in use.&lt;br /&gt;
*Zones: Changed behavior of overlapping zones:&lt;br /&gt;
**Before: To touch a block, AT LEAST ONE zone has to allow it&lt;br /&gt;
**Now: To touch a block, ALL ZONES have to allow it&lt;br /&gt;
*Zones: Added /ztest command that lists all zones affecting a particular block. It can be used to detect and resolve zone overlaps.&lt;br /&gt;
*Zones: Added proper /help entries for /zone, /zones, /zremove, and /ztest, and contextual help for /zone and /zones.&lt;br /&gt;
*Zones: Made zone commands inaccessible from console (it would cause a crash, since zones are world-specific).&lt;br /&gt;
*Fixed OnPlayerDisconnected and OnPlayerListChanged sometimes firing at the wrong time.&lt;br /&gt;
*Added better error handling to Map.Save() in case the target file is not writable.&lt;br /&gt;
*Updated /help entries for /lock, /unlock, and /load commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.404===&lt;br /&gt;
*Fixed zone borders being off by 1 block.&lt;br /&gt;
*Fixed a rare crash on shutdown.&lt;br /&gt;
*Fixed heartbeat reporting incorrect port number to heartbeat if the port specified in config was not available.&lt;br /&gt;
*Adjusted default class permissions slightly, by popular demand:&lt;br /&gt;
**regulars can now place Water and Lava&lt;br /&gt;
**ops can now use draw commands&lt;br /&gt;
*IRC: Added a config option &#039;IRCMsgs&#039; to toggle join/leave messages on/off. Default is disabled to prevent massive spam.&lt;br /&gt;
*IRC: Fixed a possible crash in IRCComm, related to static initializers.&lt;br /&gt;
*ConfigTool: Fixed many bugs in permission checkbox list.&lt;br /&gt;
*ConfigTool: Added visual editor for rules.txt&lt;br /&gt;
*ConfigTool: Added stub tab for IRC settings (coming soon).&lt;br /&gt;
&lt;br /&gt;
===0.403===&lt;br /&gt;
*Fixed spawnpoint being read incorrectly when using /load.&lt;br /&gt;
*Added a note to ban*/unban* commands that&#039;s shown when player name is not found: &amp;quot;Use the FULL player name for ban/unban commands.&amp;quot;&lt;br /&gt;
*Fixed a thread crash (not server-wide crash) in Session.IoLoop that can be caused by corrupted or malicious handshake packets.&lt;br /&gt;
*Fixed a potential crash when using /info on offline players from console.&lt;br /&gt;
*Fixed a potential crash when using /gen from console.&lt;br /&gt;
*Added more fail-safe checks that ensure that map spawn point is always within the map boundaries.&lt;br /&gt;
*Started logging IPs of connections that try sending corrupted or malicious handshake packets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.402===&lt;br /&gt;
*Added back /load command, and hooked up MCC. Currenly supported: fCraft/fcm, MCSharp/lvl, indev/mclevel, MinerCPP and LuaCraft (dat). Vanilla support coming soon.&lt;br /&gt;
*Fixed worlds being unloaded before all block updates are processed (thus aborting draw commands).&lt;br /&gt;
*Fixed several potential multiworld-related crashes and freezes.&lt;br /&gt;
*Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.&lt;br /&gt;
*IRC: Added an information message to notify users of the IRC Bot&#039;s online status when joining the server.&lt;br /&gt;
*IRC: Added the ability to send NOTICES.&lt;br /&gt;
*IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.&lt;br /&gt;
*IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.&lt;br /&gt;
*Drawing-related state is now reset when changing worlds.&lt;br /&gt;
*Added a limiter to the number of block updates that can be processed per tick (even if there are no players in a world). Fixes server becoming unresponsive when doing enormous drawing commands (millions of blocks).&lt;br /&gt;
*Allowed players to /join the world that they are already on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.401===&lt;br /&gt;
*&#039;&#039;&#039;IDLE/AFK CHECKING&#039;&#039;&#039; This is configurable per-class.&lt;br /&gt;
*Added /version command, and added revision to the version string.&lt;br /&gt;
*Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands. &lt;br /&gt;
*Removed all references to the old pre-multiworld &amp;quot;map.fcm.&amp;quot; Backups now work again. &lt;br /&gt;
*Fixed players not spawning in the right place when changing worlds.&lt;br /&gt;
*IRC Bot will now handle terminations by the IRCd and restart itself upon any errors. &lt;br /&gt;
*IRC Bot can now send from inside the server TO IRC! Use the prefix &#039;#&#039; in-game to send any message to IRC. Forwarding all server chat may be added if requested. To send from the bot to the server, use the bot&#039;s nickname and either &#039;:&#039;, &#039;,&#039; or nothing, then your message.&lt;br /&gt;
*Improved performance of the IRC bot and the task scheduler.&lt;br /&gt;
*Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn&#039;t exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.&lt;br /&gt;
*Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after &#039;#&#039; in server chat.&lt;br /&gt;
*Handshake packet is now written when doing /join, to replace MOTD with a more informative &amp;quot;Now loading [worldname]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.400===&lt;br /&gt;
*&#039;&#039;&#039;MULTIWORLD&#039;&#039;&#039; It&#039;s finally here. See /help for information on new commands: /worlds, /wload, /join&lt;br /&gt;
*Added a persistent world list, saved in worlds.txt - this is subject to change. The file contains a list of world names, each corresponding to an .fcm file. The first world listed at the top of worlds.txt is the default/main one.&lt;br /&gt;
*&#039;&#039;&#039;IRC BOT&#039;&#039;&#039; Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.&lt;br /&gt;
*A field has been added in the config to allow forwarding ALL IRC CHANNEL TRAFFIC to the server. This will override the prefix and make it inactive. &#039;IRCBotForwardAll&#039; is set to false by default.&lt;br /&gt;
*&#039;&#039;&#039;ZONES&#039;&#039;&#039; It is now possible to make guest zones and op zones (and anything in-between) on any map. See /help for information on new commands: /zones, /zone, /zremove.&lt;br /&gt;
*Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.&lt;br /&gt;
*Added /compass command (aka /where).&lt;br /&gt;
*Fixed players sometimes not seeing their /kick message.&lt;br /&gt;
*Added a way to teleport to specific coordinates (/tp x y h)&lt;br /&gt;
*Fixed heartbeats timing out when running fCraft under Mono.&lt;br /&gt;
*Fixed Config.ApplyConfig setting the wrong server throttling variables.&lt;br /&gt;
*Fixed air blocks appearing underwater when using /gen&lt;br /&gt;
*Tweaked /gen parameters to make &amp;quot;island&amp;quot; a bit less ugly.&lt;br /&gt;
*Updated text in fCraftConsole.&lt;br /&gt;
&lt;br /&gt;
=0.3xx=&lt;br /&gt;
===0.330===&lt;br /&gt;
*Added /cuboid and /ellipsoid drawing commands.&lt;br /&gt;
*Improved memory usage.&lt;br /&gt;
*Added &amp;quot;Draw&amp;quot; permission, and made /draw check &amp;quot;DeleteAdmincrete&amp;quot; permission when replacing blocks, and removed unused &amp;quot;PlaceGlitchedSand&amp;quot; permission.&lt;br /&gt;
*Added &amp;quot;Port&amp;quot; and &amp;quot;BackupOnlyWhenChanged&amp;quot; config lines, and corresponding ConfigTool fields.&lt;br /&gt;
*Fixed bug that deleted ALL backups when you check &amp;quot;don&#039;t delete old backups.&amp;quot; That was embarrassing.&lt;br /&gt;
&lt;br /&gt;
===0.325===&lt;br /&gt;
*Added an experimental low-latency mode (faster server response, but more bandwidth required).&lt;br /&gt;
*Improved hacking detection: added anti-chat-spam and anti-grief (block spam) checks.&lt;br /&gt;
*New more aggressive anti-hacking checks for incoming movement and SetTile packets.&lt;br /&gt;
*Fixed an issue with fCraftUI console log getting truncated in the wrong places.&lt;br /&gt;
*Improved Mono compatibility (fixes HttpWebRequest failures).&lt;br /&gt;
&lt;br /&gt;
===0.324===&lt;br /&gt;
*Added /me command.&lt;br /&gt;
*Added step stacking.&lt;br /&gt;
*Fixed a case where disconnected players would leave a ghost behind.&lt;br /&gt;
*Improved shutdown speed.&lt;br /&gt;
*Implemented ProcessPriority setting.&lt;br /&gt;
&lt;br /&gt;
===0.323===&lt;br /&gt;
*Fixed players not being able to delete admincrete after promotion.&lt;br /&gt;
*Fixed a bug that allowed players to noclip into walls when using /tp or /bring.&lt;br /&gt;
*Fixed a security issue with &amp;quot;VerifyNames: Balanced&amp;quot;&lt;br /&gt;
*Added prototype of the security tab in ConfigTool (work in progress).&lt;br /&gt;
&lt;br /&gt;
===0.322===&lt;br /&gt;
*Added a range check to Player.SetTile, to prevent certain types of grief bots.&lt;br /&gt;
*Fixed a bug where map spawnpoint did not change after doing /load.&lt;br /&gt;
*Fixed some typos.&lt;br /&gt;
&lt;br /&gt;
===0.321===&lt;br /&gt;
*Fixed welcome messages not showing.&lt;br /&gt;
*Renamed /alias to /nick, and added a permission check.&lt;br /&gt;
&lt;br /&gt;
===0.320===&lt;br /&gt;
*Finally last fix for the disconnect problem. Sorry about that.&lt;br /&gt;
&lt;br /&gt;
===0.319===&lt;br /&gt;
*Quick fix for disconnect problem.&lt;br /&gt;
&lt;br /&gt;
===0.318===&lt;br /&gt;
*Fixed VerifyNames not saving properly when using ConfigTool.&lt;br /&gt;
*Fixed several potential crashers in Session and World.&lt;br /&gt;
*Fixed a bug that sometimes wrongly showed &amp;quot;class name not recognized&amp;quot;.&lt;br /&gt;
*Added class name autocompletion for class chat (@@classname blah)&lt;br /&gt;
*Started working on the new /load mode that allows loading different sized maps, and loading much faster (not done yet).&lt;br /&gt;
&lt;br /&gt;
===0.317===&lt;br /&gt;
*Optimized handling of player movement and some block/tile updates, making servers more responsive and less laggy.&lt;br /&gt;
*Fixed a possible crash that sometimes happened when server has 1 slot left and 2 people tried to join at once.&lt;br /&gt;
*Fixed a case where a Session object was not properly disposed.&lt;br /&gt;
*Fixed resizing issue in UpdateWindow and reduced connection timeout in Updater&lt;br /&gt;
*Disabled ShowPrefixesInChat and ShowPrefixesInList by default (breaks skin support)&lt;br /&gt;
*Added Player.Send, a safe wrapper for Player.session.Send&lt;br /&gt;
*Fixed /tp, /bring, and /setspawn commands that were broken in the last revision.&lt;br /&gt;
*Fixed ConfigTool not saving &amp;quot;IsPublic&amp;quot; setting correctly.&lt;br /&gt;
&lt;br /&gt;
===0.316===&lt;br /&gt;
*Added partial class-name matching for /class and /user commands.&lt;br /&gt;
*Fixed /banip and /banall not kicking the banned players immediately.&lt;br /&gt;
*Added /rules command. Create &amp;quot;rules.txt&amp;quot; in the server folder to specify.&lt;br /&gt;
*Fixed a bug where player movement sometimes got a little out of sync.&lt;br /&gt;
*Optimized /load speed a bit.&lt;br /&gt;
*Added nicer application icons.&lt;br /&gt;
&lt;br /&gt;
===0.315===&lt;br /&gt;
*Added visual color picker to ConfigTool&lt;br /&gt;
*Added lightweight console interface for fCraft&lt;br /&gt;
*Refactored the main update loop&lt;br /&gt;
&lt;br /&gt;
===0.314===&lt;br /&gt;
*Added AutomaticUpdates option.&lt;br /&gt;
*Integrated the color picker to ConfigTool.&lt;br /&gt;
*Improved hacking detection.&lt;br /&gt;
&lt;br /&gt;
===0.313===&lt;br /&gt;
*Fixed a few glitches left after switching file formats.&lt;br /&gt;
*Improved memory usage when saving maps.&lt;br /&gt;
*Fixed an updater-related crash.&lt;br /&gt;
&lt;br /&gt;
===0.312===&lt;br /&gt;
*New map format (FCM v2) should provide faster loading times.&lt;br /&gt;
*server_level.dat loader is now functional.&lt;br /&gt;
*Fixed possible crash if the default port was not available.&lt;br /&gt;
*Automatic updater should now work properly. More update options to come.&lt;br /&gt;
&lt;br /&gt;
===0.311===&lt;br /&gt;
*Preview version of automatic updater.&lt;br /&gt;
&lt;br /&gt;
===0.310===&lt;br /&gt;
*Cleaned up some VC# crapfiles.&lt;br /&gt;
*Added class prefixes and colors.&lt;br /&gt;
*Added PlaceWater and PlaceLava back to permissions.&lt;br /&gt;
*Fixed rank-limited permissions.&lt;br /&gt;
*Other assorted glitches fixed.&lt;br /&gt;
&lt;br /&gt;
===0.305===&lt;br /&gt;
*removed config.xml from svn.&lt;br /&gt;
&lt;br /&gt;
===0.304===&lt;br /&gt;
*More potential crashes fixed.&lt;br /&gt;
&lt;br /&gt;
===0.303===&lt;br /&gt;
*Fixed a couple potential crashes in ConfigTool and Config.DefineClass&lt;br /&gt;
&lt;br /&gt;
===0.302===&lt;br /&gt;
*Fixed a few minor ConfigTool bugs.&lt;br /&gt;
&lt;br /&gt;
===0.301===&lt;br /&gt;
*Forgot to save config from World.cs after parsing. Minor update.&lt;br /&gt;
&lt;br /&gt;
===0.300===&lt;br /&gt;
*ConfigTool finished. Note that some of the options do not have an effect yet.&lt;br /&gt;
&lt;br /&gt;
=Before 0.3xx=&lt;br /&gt;
*Version history was not kept before this point.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Main_Page&amp;diff=2630</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Main_Page&amp;diff=2630"/>
		<updated>2017-04-09T03:11:56Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:20px&amp;quot;&amp;gt;&#039;&#039;&#039;Welcome to fCraft documentation Wiki.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
fCraft is a custom [http://www.minecraftwiki.net/wiki/Classic Minecraft Classic] game server written in [http://en.wikipedia.org/wiki/C_Sharp_(programming_language) C#]. Designed to be compatible with the default client, fCraft offers better performance and incorporates many new features. fCraft is free/open-source software, available under [[Licensing|MIT License]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:48%;float:left;margin-right:4%&amp;quot;&amp;gt;&lt;br /&gt;
=Getting Started=&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;span style=&amp;quot;font-size:150%&amp;quot;&amp;gt;Download fCraft: {{LatestVersion}}&amp;lt;/span&amp;gt;&#039;&#039;&#039; ([[version history|changelog]])&lt;br /&gt;
* [[Installation instructions]]&lt;br /&gt;
* [[Troubleshooting]]&lt;br /&gt;
* [http://forum.fcraft.net/viewforum.php?f=15 Get support]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;width:48%;float:left&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=fCraft for Players=&lt;br /&gt;
* [[:Category:Commands|Commands]] and [[Command Tips|command tips]]&lt;br /&gt;
* [[Blocks]]&lt;br /&gt;
* [[List of brushes|Brushes]]&lt;br /&gt;
* Chat [[colors]] and [[emotes]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;width:48%;float:left;margin-right:4%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=fCraft for Server Operators=&lt;br /&gt;
* [[List_of_config_keys|Configuration]]&lt;br /&gt;
* [[:Category:Tools|Tools]]&lt;br /&gt;
* [[Permissions]]&lt;br /&gt;
* [[List of command-line options|Command-line options]] and [[List of exit codes|exit codes]]&lt;br /&gt;
* [http://forum.fcraft.net/viewforum.php?f=5 Report a bug]&lt;br /&gt;
* [http://forum.fcraft.net/viewforum.php?f=14 Suggest a feature]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;width:48%;float:left&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=fCraft for Modders=&lt;br /&gt;
* [http://forum.fcraft.net/viewtopic.php?f=40&amp;amp;t=2165 Modding FAQ]&lt;br /&gt;
* [http://forum.fcraft.net/viewforum.php?f=40 Mod forums]&lt;br /&gt;
* [[Architecture|Architecture overview]]&lt;br /&gt;
* [[Mod Examples]]&lt;br /&gt;
* [http://www.fcraft.net/api/0.642/ API Reference] (work in progress)&lt;br /&gt;
* [[Licensing]]&lt;br /&gt;
* [[:Category:Dev|Misc dev articles]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Alert|&#039;&#039;&#039;fCraft is a Minecraft Classic server. It does NOT work with Minecraft 1.6/SMP/CMP&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to contribute to the fCraft wiki, [[Special:RequestAccount|request an account]]. Also please see [[Help:Contents|this help page]] before editing.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=List_of_config_keys&amp;diff=2629</id>
		<title>List of config keys</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=List_of_config_keys&amp;diff=2629"/>
		<updated>2016-04-01T05:48:26Z</updated>

		<summary type="html">&lt;p&gt;F: Added HeartbeatUrl key (added in 0.641_r2150), and removed BackupOnJoin key (removed in 0.640_r2124)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Normally you should use ConfigGUI to edit the parameters. But if you&#039;re feeling adventurous, you could try editing it by hand. Below is a list of all configuration keys in &amp;lt;code&amp;gt;config.xml&amp;lt;/code&amp;gt;. Edit at your own risk!&lt;br /&gt;
&lt;br /&gt;
See also: [[config version history]].&lt;br /&gt;
=General=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Key&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot; | Description&lt;br /&gt;
! Restrictions&lt;br /&gt;
|-&lt;br /&gt;
| ServerName&lt;br /&gt;
| String&lt;br /&gt;
| &amp;quot;Custom Minecraft Server (fCraft)&amp;quot;&lt;br /&gt;
| The name of the server, as shown on the welcome screen and the official server list (if server is public).&lt;br /&gt;
| Between 1 and 64 characters long.&lt;br /&gt;
|-&lt;br /&gt;
| MOTD&lt;br /&gt;
| String&lt;br /&gt;
| &amp;quot;Welcome to the server!&amp;quot;&lt;br /&gt;
| MOTD (Message Of The Day) is a message shown to connecting players right under the server name. It may be left blank. If &#039;&#039;&#039;WoMEnableEnvExtensions&#039;&#039;&#039; is enabled, non-WoM users will not see this.&lt;br /&gt;
| Between 0 and 64 characters long.&lt;br /&gt;
|-&lt;br /&gt;
| MaxPlayers&lt;br /&gt;
| Integer&lt;br /&gt;
| 20&lt;br /&gt;
| Maximum number of players on the server. Having more players uses more RAM and more bandwidth. If a player&#039;s rank is given a &amp;quot;reserved slot&amp;quot; on the server, they can join even if server is full.&lt;br /&gt;
| Between 1 and 1000.&lt;br /&gt;
|-&lt;br /&gt;
| MaxPlayersPerWorld&lt;br /&gt;
| Integer&lt;br /&gt;
| 20&lt;br /&gt;
| Maximum number of players allowed to be on the same world at the same time. Minecraft protocol limits total number of players per world to 128. Note that having more people on a world increases everyone&#039;s bandwidth use.&lt;br /&gt;
| Between 1 and 128.&lt;br /&gt;
|-&lt;br /&gt;
| DefaultRank&lt;br /&gt;
| Rank&lt;br /&gt;
| Blank (&amp;quot;lowest rank&amp;quot;)&lt;br /&gt;
| New players will be assigned this rank by default. It&#039;s generally a good idea not to give new players many powers until they prove themselves trustworthy.&lt;br /&gt;
| Full rank name. Leave blank for &amp;quot;lowest rank.&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| IsPublic&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Public servers are listed on minecraft.net server list, so expect random players to join. Private servers can only be joined by players who already know the server port/address or URL. Note that the URL changes if your computer&#039;s IP or server&#039;s port change.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Port&lt;br /&gt;
| Integer&lt;br /&gt;
| 25565&lt;br /&gt;
| Port number on your local machine that fCraft uses to listen for incoming connections. If you are behind a router, you may need to set up port forwarding. You may also need to add a firewall exception for ServerGUI/ServerCLI/ConfigGUI. Note that your server&#039;s URL will change if you change the port number.&lt;br /&gt;
| Between 1 and 65535.&lt;br /&gt;
|-&lt;br /&gt;
| UploadBandwidth&lt;br /&gt;
| Integer (KB/s)&lt;br /&gt;
| 100&lt;br /&gt;
| Total available upload bandwidth, in kilobytes per second (KB/s). This number is used to pace drawing commands to prevent server from overwhelming the Internet connection with data.&lt;br /&gt;
| Between 1 and 32767.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Chat=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Key&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot; | Description&lt;br /&gt;
! Restrictions&lt;br /&gt;
|-&lt;br /&gt;
| RankColorsInChat&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| Whether to color player names in chat and in-game based on their rank.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| RankColorsInWorldNames&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| Whether to color world names in chat based on their build/access permissions.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| RankPrefixesInChat&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Whether to show rank prefixes in chat before player names. This can be used to set up IRC-style &amp;quot;+&amp;quot; and &amp;quot;@&amp;quot; prefixes for ops.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| RankPrefixesOnDisplayedNames&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Whether to prepend rank prefixes to players with a custom DisplayedName set.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| RankPrefixesInList&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Whether to show prefixes in the player list. &#039;&#039;&#039;As a side-effect, Minecraft client will not show custom skins for players with prefixed names.&#039;&#039;&#039;&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ShowConnectionMessages&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| Whether to announce players joining or leaving the server in chat.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ShowJoinedWorldMessages&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| Whether to show messages when players change worlds.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SystemMessageColor&lt;br /&gt;
| Color&lt;br /&gt;
| {{ColorYellow}}&lt;br /&gt;
| Color of normal system messages (e.g. command feedback).&lt;br /&gt;
| [[Colors|Color code or name.]]&lt;br /&gt;
|-&lt;br /&gt;
| HelpColor&lt;br /&gt;
| Color&lt;br /&gt;
| {{ColorLime}}&lt;br /&gt;
| Color of command usage examples in help.&lt;br /&gt;
| [[Colors|Color code or name.]]&lt;br /&gt;
|-&lt;br /&gt;
| SayColor&lt;br /&gt;
| Color&lt;br /&gt;
| {{ColorGreen}}&lt;br /&gt;
| Color of messages produced by [[/Say]] command.&lt;br /&gt;
| [[Colors|Color code or name.]]&lt;br /&gt;
|-&lt;br /&gt;
| AnnouncementColor&lt;br /&gt;
| Color&lt;br /&gt;
| {{ColorGreen}}&lt;br /&gt;
| Color of announcements and rules. Default is dark-green. Note that this default color can be overridden by colorcodes in announcement and rule files.&lt;br /&gt;
| [[Colors|Color code or name.]]&lt;br /&gt;
|-&lt;br /&gt;
| PrivateMessageColor&lt;br /&gt;
| Color&lt;br /&gt;
| {{ColorAqua}}&lt;br /&gt;
| Color of private and rank-wide messages.&lt;br /&gt;
| [[Colors|Color code or name.]]&lt;br /&gt;
|-&lt;br /&gt;
| MeColor&lt;br /&gt;
| Color&lt;br /&gt;
| {{ColorPurple}}&lt;br /&gt;
| Color of [[/Me]] command messages.&lt;br /&gt;
| [[Colors|Color code or name.]]&lt;br /&gt;
|-&lt;br /&gt;
| WarningColor&lt;br /&gt;
| Color&lt;br /&gt;
| {{ColorRed}}&lt;br /&gt;
| Color of error and warning messages.&lt;br /&gt;
| [[Colors|Color code or name.]]&lt;br /&gt;
|-&lt;br /&gt;
| AnnouncementInterval&lt;br /&gt;
| Integer (Minutes)&lt;br /&gt;
| 0 (&amp;quot;disabled&amp;quot;)&lt;br /&gt;
| Announcement interval, in minutes. Set to 0 to disable announcements. Announcements are shown to all players, one line at a time, in random order.&lt;br /&gt;
| Between 1 and 2147483647, or 0 to disable.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Worlds=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Key&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot; | Description&lt;br /&gt;
! Restrictions&lt;br /&gt;
|-&lt;br /&gt;
| DefaultBuildRank&lt;br /&gt;
| Rank&lt;br /&gt;
| Blank (&amp;quot;default rank&amp;quot;)&lt;br /&gt;
| When new worlds are created with the /WLoad command, the build permission for new worlds will default to this rank.&lt;br /&gt;
| Full rank name.&lt;br /&gt;
Leave blank for &amp;quot;default rank.&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| MapPath&lt;br /&gt;
| Path&lt;br /&gt;
| Blank (&amp;quot;./maps/&amp;quot;)&lt;br /&gt;
| Custom path for storing map files. If you change this value, make sure to move the map files before starting the server again. If folder does not exist, fCraft will attempt to create it. Requires a full server restart to change the setting (cannot be updated with [[/Reload]]). If the command-line &amp;quot;mappath&amp;quot; parameter is given, this setting is overridden.&lt;br /&gt;
| Absolute path, or path relative to the working path.&lt;br /&gt;
Leave blank for default value (&amp;quot;./maps/&amp;quot;).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Security=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Key&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot; | Description&lt;br /&gt;
! Restrictions&lt;br /&gt;
|-&lt;br /&gt;
| VerifyNames&lt;br /&gt;
| Enumeration&lt;br /&gt;
| &amp;quot;Balanced&amp;quot;&lt;br /&gt;
| Name verification ensures that connecting players are not impersonating someone else.&lt;br /&gt;
*&#039;&#039;&#039;Always&#039;&#039;&#039; - Uses only the main verification method. It can sometimes produce false negatives - for example if server has just restarted, or if minecraft.net heartbeats are timing out.&lt;br /&gt;
*&#039;&#039;&#039;Balanced&#039;&#039;&#039; - Checks player&#039;s current and on-record IP address to eliminate false negatives.&lt;br /&gt;
*&#039;&#039;&#039;Never - Dangerous, and may allow players to impersonate others.&#039;&#039;&#039;&lt;br /&gt;
| &amp;quot;Never&amp;quot; / &amp;quot;Balanced&amp;quot; / &amp;quot;Always&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| MaxConnectionsPerIP&lt;br /&gt;
| Integer&lt;br /&gt;
| 0 (&amp;quot;unlimited&amp;quot;)&lt;br /&gt;
| Restricts the number of connections allowed from any one IP address. Note that all players on the same LAN will share an IP, and may be prevented from joining together.&lt;br /&gt;
| Between 1 and 2147483647, or 0 for &amp;quot;unlimited&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| AllowUnverifiedLAN&lt;br /&gt;
| True/False&lt;br /&gt;
| False &lt;br /&gt;
| Allow players from your local network (LAN) to connect without name verification. May be useful if minecraft.net is blocked on your LAN for some reason, or your LAN friends are having trouble joining. &#039;&#039;&#039;Warning: Unverified players can log in with ANY name - even as you! Do not enable this on public networks.&#039;&#039;&#039;&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| PatrolledRank&lt;br /&gt;
| Rank&lt;br /&gt;
| Blank (&amp;quot;default rank&amp;quot;)&lt;br /&gt;
| When players use [[/Patrol]] or [[/SpecPatrol]] commands, they will be teleported to players of this (or lower) rank. &amp;quot;Patrolling&amp;quot; means teleporting to other players to check on them, usually while hidden.&lt;br /&gt;
| Full rank name. Leave blank for &amp;quot;default rank.&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| AntispamMessageCount&lt;br /&gt;
| Integer&lt;br /&gt;
| 4&lt;br /&gt;
| Number of messages that a player needs to type within &#039;&#039;&#039;AntispamInterval&#039;&#039;&#039; seconds to trigger the AntiSpam warning. Set this to 0 to disable AntiSpam.&lt;br /&gt;
| Between 2 and 64, or 0 for &amp;quot;unlimited&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| AntispamInterval&lt;br /&gt;
| Integer&lt;br /&gt;
| 5&lt;br /&gt;
| Number of seconds over which the player needs to type &#039;&#039;&#039;AntispamMessageCount&#039;&#039;&#039; messages to trigger AntiSpam warning. Set this to 0 to disable AntiSpam.&lt;br /&gt;
| Between 1 and 64, or 0 for &amp;quot;unlimited&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| AntispamMuteDuration&lt;br /&gt;
| Integer (Seconds)&lt;br /&gt;
| 5&lt;br /&gt;
| Duration of automatic mute if AntiSpam is triggered, in seconds. Set this to 0 to disable automatic mute (and only leave the warning).&lt;br /&gt;
| Between 1 and 86400, or 0 for &amp;quot;disabled&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| AntispamMaxWarnings&lt;br /&gt;
| Integer&lt;br /&gt;
| 2&lt;br /&gt;
| Number of warnings given to a player (number of times AntiSpam is triggered) before the player is kicked. Set this to 0 to disable automatic kicks.&lt;br /&gt;
| Between 1 and 64, or 0 for &amp;quot;disabled&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| PaidPlayersOnly&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Only allow players who have a paid Minecraft account (not recommended). This will help filter out griefers with throwaway accounts, but will also prevent many legitimate players from joining.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| RequireBanReason&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Require players to specify a reason/memo when banning or unbanning someone.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| RequireKickReason&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Require players to specify a reason/memo when kicking someone.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| RequireRankChangeReason&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Require players to specify a reason/memo when promoting or demoting someone.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| AnnounceKickAndBanReasons&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| Announce the reason/memo in chat when someone gets kicked/banned/unbanned.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| AnnounceRankChanges&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| Announce promotions and demotions in chat.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| AnnounceRankChangeReasons&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| Announce the reason/memo in chat when someone gets promoted or demoted.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| BlockDBEnabled&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| If enabled, allows edit information to be stored per-block. Enables [[/BlockDB]], [[/BInfo]], [[/UndoArea]], and [[/UndoPlayer]] commands. Requires a full server restart to change the setting (cannot be updated with [[/Reload]]).&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| BlockDBAutoEnable&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| Automatically enabled BlockDB on all worlds editable by a certain rank or below. Has no effect unless BlockDBEnabled is set to &amp;quot;True&amp;quot;&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| BlockDBAutoEnableRank&lt;br /&gt;
| Rank&lt;br /&gt;
| Blank (&amp;quot;default rank&amp;quot;)&lt;br /&gt;
| Worlds editable by players of this rank (or below) will have BlockDB enabled automatically. Has no effect unless BlockDBEnabled and BlockDBAutoEnable are set to &amp;quot;True&amp;quot;&lt;br /&gt;
| Full rank name. Leave blank for &amp;quot;default rank.&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Saving and Backup=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Key&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot; | Description&lt;br /&gt;
! Restrictions&lt;br /&gt;
|-&lt;br /&gt;
| SaveInterval&lt;br /&gt;
| Integer (Seconds)&lt;br /&gt;
| 90&lt;br /&gt;
| Auto-save interval for loaded map files. A higher setting (120+ seconds) is recommended for busy servers with many maps. If disabled (set to 0), maps are only saved when a world is unloaded or when the server is shut down. &lt;br /&gt;
| Between 10 and 2147483647 seconds, or 0 for &amp;quot;disabled&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| BackupOnStartup&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Whether to create a backup of every map when the server starts.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| BackupOnMapChange&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| Create backups every time a world&#039;s map is replaced, by {{cmd|Gen}} or {{cmd|WLoad}}. A timestamp is included in the filename. When enabled, saves a copy regardless of &amp;lt;code&amp;gt;BackupOnlyWhenChanged&amp;lt;/code&amp;gt; setting.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| BackupOnlyWhenChanged&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Only create backups if the map was modified since last backup.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| DefaultBackupInterval&lt;br /&gt;
| Integer (Minutes)&lt;br /&gt;
| 20&lt;br /&gt;
| Default interval for saving periodic map backups for loaded worlds. A world is considered &amp;quot;loaded&amp;quot; if there is at least one player on it. This setting can be overridden on a per-world basis. Set to 0 to disable periodic backups by default.&lt;br /&gt;
| Between 1 and 2147483647 minutes, or 0 for &amp;quot;disabled&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| MaxBackups&lt;br /&gt;
| Integer (Files)&lt;br /&gt;
| 0 (&amp;quot;unlimited&amp;quot;)&lt;br /&gt;
| Maximum number of backup files that fCraft should keep. If exceeded, oldest backups will be deleted first.&lt;br /&gt;
| Between 1 and 2147483647 backups, or 0 for &amp;quot;unlimited&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| MaxBackupSize&lt;br /&gt;
| Integer (MB)&lt;br /&gt;
| 0 (&amp;quot;unlimited&amp;quot;)&lt;br /&gt;
| Maximum combined filesize of all backups, in MB. If exceeded, oldest backups will be deleted first.&lt;br /&gt;
| Between 1 and 2147483647 MB, or 0 for &amp;quot;unlimited&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| BackupDataOnStartup&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Create backups of server data (PlayerDB, IPBanList, config.xml, and worlds.xml) on server startup. Backups are zipped and placed into &amp;quot;databackups&amp;quot; directory.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Logging=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Key&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot; | Description&lt;br /&gt;
! Restrictions&lt;br /&gt;
|-&lt;br /&gt;
| LogMode&lt;br /&gt;
| Enumeration&lt;br /&gt;
| &amp;quot;OneFile&amp;quot;&lt;br /&gt;
| Log file organization:&lt;br /&gt;
*&#039;&#039;&#039;OneFile&#039;&#039;&#039; - All logs are written to one file.&lt;br /&gt;
*&#039;&#039;&#039;SplitBySession&#039;&#039;&#039; - A new timestamped logfile is made every time the server is started.&lt;br /&gt;
*&#039;&#039;&#039;SplitByDay&#039;&#039;&#039; - A new timestamped logfile is created every 24 hours.&lt;br /&gt;
| &amp;quot;OneFile&amp;quot; / &amp;quot;SplitBySession&amp;quot; / &amp;quot;SplitByDay&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| MaxLogs&lt;br /&gt;
| Integer (Files)&lt;br /&gt;
| 0 (&amp;quot;unlimited&amp;quot;)&lt;br /&gt;
| Maximum number of log files to keep. If exceeded, oldest logs will be erased first. Set this to 0 to keep all logs.&lt;br /&gt;
| Between 1 and 2147483647 logfiles, or 0 for &amp;quot;unlimited&amp;quot;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=IRC=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Key&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot; | Description&lt;br /&gt;
! Restrictions&lt;br /&gt;
|-&lt;br /&gt;
| IRCBotEnabled&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| fCraft includes an IRC (Internet Relay Chat) client for relaying messages to and from any IRC network. Note that encrypted IRC (via SSL) is not supported.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| IRCBotNick&lt;br /&gt;
| String&lt;br /&gt;
| &amp;quot;MinecraftBot&amp;quot;&lt;br /&gt;
| IRC bot&#039;s nickname. If the nickname is taken, fCraft will append an underscore (_) to the name and retry.&lt;br /&gt;
| Between 1 and 30 characters long.&lt;br /&gt;
|-&lt;br /&gt;
| IRCBotNetwork&lt;br /&gt;
| String&lt;br /&gt;
| &amp;quot;irc.esper.net&amp;quot;&lt;br /&gt;
| Host or address of the IRC network.&lt;br /&gt;
| A valid IP address (without the port number), or hostname.&lt;br /&gt;
|-&lt;br /&gt;
| IRCBotPort&lt;br /&gt;
| Integer&lt;br /&gt;
| 6667&lt;br /&gt;
| Port number of the IRC network. Most networks use port 6667.&lt;br /&gt;
| Between 1 and 65535.&lt;br /&gt;
|-&lt;br /&gt;
| IRCBotChannels&lt;br /&gt;
| String&lt;br /&gt;
| &amp;quot;#changeme&amp;quot;&lt;br /&gt;
| Comma-separated list of channels to join. Channel names should include the hash (#). One some IRC networks, channel names are case-sensitive.&lt;br /&gt;
| Cannot be left blank.&lt;br /&gt;
|-&lt;br /&gt;
| IRCBotForwardFromServer&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| If checked, all chat messages on IRC are shown in the game. Otherwise, only IRC messages starting with a hash (#) will be relayed.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| IRCBotForwardFromIRC&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| If checked, all chat messages from the server are shown on IRC. &lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| IRCBotAnnounceServerJoins&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Show a message on IRC when someone joins or leaves the server.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| IRCBotAnnounceIRCJoins&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Show a message in-game when someone joins or leaves the IRC channel.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| IRCBotAnnounceServerEvents&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| Announce server events (kicks, bans, promotions, demotions) on IRC.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| IRCRegisteredNick&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Enable if bot&#039;s nickname is registered or requires identification/authentication.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| IRCNickServ&lt;br /&gt;
| String&lt;br /&gt;
| &amp;quot;NickServ&amp;quot;&lt;br /&gt;
| Name of the nickname registration service bot&lt;br /&gt;
(&amp;quot;Q&amp;quot; on QuakeNet, &amp;quot;NickServ&amp;quot; on most others).&lt;br /&gt;
This setting has no effect is IRCRegisteredNick is disabled.&lt;br /&gt;
| Between 1 and 32 letters, a valid service bot name.&lt;br /&gt;
|-&lt;br /&gt;
| IRCNickServMessage&lt;br /&gt;
| String&lt;br /&gt;
| &amp;quot;IDENTIFY passwordGoesHere&amp;quot;&lt;br /&gt;
| Message to send to nickname registration service bot after connecting.&lt;br /&gt;
Replace &amp;quot;passwordGoesHere&amp;quot; with your actual nick password.&lt;br /&gt;
This setting has no effect is IRCRegisteredNick is disabled.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| IRCMessageColor&lt;br /&gt;
| Color&lt;br /&gt;
| {{ColorPurple}}&lt;br /&gt;
| Color of IRC messages and event announcements, as seen on the server/in-game.&lt;br /&gt;
| [[Colors|Color code or name.]]&lt;br /&gt;
|-&lt;br /&gt;
| IRCShowColorsFromServer&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| Whether colors in server messages should be shown on IRC.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| IRCShowEmotesFromServer&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| Whether emotes in servers messages should be shown on IRC.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| IRCShowColorsFromIRC&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Whether colors in IRC messages (both ^K colorcodes and &amp;amp;-colorcodes) should be shown in-game.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| IRCShowEmotesFromIRC&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Whether Minecraft emote keywords and symbols in IRC messages should be shown in-game.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| IRCDelay&lt;br /&gt;
| Integer (Milliseconds)&lt;br /&gt;
| 750&lt;br /&gt;
| Minimum delay (in milliseconds) between messages sent to IRC. Many networks have strict message rate limits, so a delay of at least 500ms is recommended.&lt;br /&gt;
If the bot cannot send messages quickly enough, consider using dual bots (see IRCThreads key).&lt;br /&gt;
| Between 0 and 10000.&lt;br /&gt;
|-&lt;br /&gt;
| IRCThreads&lt;br /&gt;
| Integer (Bots)&lt;br /&gt;
| 1&lt;br /&gt;
| Number of IRC bots to operate simultaneously. Using multiple bots helps bypass message rate limits on some servers.&lt;br /&gt;
Note that some networks frown upon having multiple connections from one IP. It is recommended to leave this at 1 unless&lt;br /&gt;
you are having specific issues with IRC bots falling behind on messages. This key can only be changed manually in config.xml,&lt;br /&gt;
there is no corresponding ConfigGUI form.&lt;br /&gt;
| Between 1 and 3.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Advanced=&lt;br /&gt;
{{alert|Warning: Altering advanced settings may decrease your server&#039;s stability and performance. If you&#039;re not sure what these settings do, you probably shouldn&#039;t change them...}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Key&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot; | Description&lt;br /&gt;
! Restrictions&lt;br /&gt;
|-&lt;br /&gt;
| SubmitCrashReports&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| Crash reports are created when serious unexpected errors occur. Being able to receive crash reports helps identify bugs and improve fCraft!&lt;br /&gt;
The report consists of the error information, OS and runtime versions, a copy of config.xml, and last 25 lines of the log file.&lt;br /&gt;
Reports are confidential and are not displayed publicly.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| UpdaterMode&lt;br /&gt;
| Enumeration&lt;br /&gt;
| &amp;quot;Prompt&amp;quot;&lt;br /&gt;
| fCraft can automatically update to latest stable versions. If enabled, the update check is done on-startup. Possible values are:&lt;br /&gt;
*&#039;&#039;&#039;Disabled&#039;&#039;&#039; - Does not check for updates.&lt;br /&gt;
*&#039;&#039;&#039;Notify&#039;&#039;&#039; - Checks for updates and notifies of availability (in console/log).&lt;br /&gt;
*&#039;&#039;&#039;Prompt&#039;&#039;&#039; - Checks for updates, downloads them if available, and prompts to install. Behavior is frontend-specific: in ServerGUI, a dialog is shown with the list of changes and options to update immediately or next time. In ServerCLI, asks to type in &#039;y&#039; to confirm updating, or press any other key to skip. &#039;&#039;&#039;Note: Requires user interaction (if you restart the server remotely while unattended, it may get stuck on this dialog).&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Auto&#039;&#039;&#039; - Checks for updates, automatically downloads and installs the updates, and restarts the server. May not work under Mono.&lt;br /&gt;
| &amp;quot;Disabled&amp;quot; / &amp;quot;Notify&amp;quot; / &amp;quot;Prompt&amp;quot; / &amp;quot;Auto&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| RunBeforeUpdate&lt;br /&gt;
| String&lt;br /&gt;
| Blank&lt;br /&gt;
| Command to execute (via operating system&#039;s shell) before the update is applied. Ran by the updater.&lt;br /&gt;
| Can be left blank.&lt;br /&gt;
|-&lt;br /&gt;
| RunAfterUpdate&lt;br /&gt;
| String&lt;br /&gt;
| Blank&lt;br /&gt;
| Command to execute (via operating system&#039;s shell) after the update is applied.&lt;br /&gt;
| Can be left blank.&lt;br /&gt;
|-&lt;br /&gt;
| RelayAllBlockUpdates&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| When a player places or deletes a block, vanilla Minecraft server relays the action back.&lt;br /&gt;
This is not needed, and only wastes bandwidth. However, you may need to enable this to make some Minecraft bots work.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| NoPartialPositionUpdates&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Minecraft protocol specifies 4 different movement packet types.&lt;br /&gt;
One of them sends absolute position, and other 3 send incremental relative positions.&lt;br /&gt;
You may use this option to disable the relative updates.&lt;br /&gt;
It is recommended to leave this disabled (it wastes bandwidth).&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ProcessPriority&lt;br /&gt;
| Enumeration&lt;br /&gt;
| &amp;quot;Normal&amp;quot;&lt;br /&gt;
| fCraft process priority. It is recommended to leave fCraft at default priority. Setting this below &amp;quot;&amp;quot;Normal&amp;quot;&amp;quot; may starve fCraft of resources. Setting this above &amp;quot;&amp;quot;Normal&amp;quot;&amp;quot; may slow down other software on your machine. See [http://msdn.microsoft.com/en-us/library/system.diagnostics.processpriorityclass.aspx ProcessPriorityClass documentation] for details.&lt;br /&gt;
| &amp;quot;Idle&amp;quot; / &amp;quot;BelowNormal&amp;quot; / &amp;quot;Normal&amp;quot; / &amp;quot;AboveNormal&amp;quot; / &amp;quot;High&amp;quot; / &amp;quot;RealTime&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| BlockUpdateThrottling&lt;br /&gt;
| Integer (Blocks/Second)&lt;br /&gt;
| 2048&lt;br /&gt;
| The maximum number of block changes that can be sent to each client per second.&lt;br /&gt;
Unmodified Minecraft client can only handle about 2500 updates per second.&lt;br /&gt;
Setting this any higher may cause lag. Setting this lower will slow down drawing commands (like cuboid).&lt;br /&gt;
| Between 10 and 2147483647 blocks/seconds&lt;br /&gt;
|-&lt;br /&gt;
| TickInterval&lt;br /&gt;
| Integer (Milliseconds)&lt;br /&gt;
| 100&lt;br /&gt;
| The rate at which fCraft applies block updates, in milliseconds.&lt;br /&gt;
Lowering this will slightly reduce bandwidth and CPU use, but will add latency to block placement.&lt;br /&gt;
| Between 10 and 10000 milliseconds&lt;br /&gt;
|-&lt;br /&gt;
| LowLatencyMode&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| This mode reduces movement and block-placement lag by up to 200ms, at the cost of vastly increased bandwidth use.&lt;br /&gt;
It&#039;s only practical if you have a very fast connection with few players, or if your server is LAN-only.&lt;br /&gt;
Note that this may make the lag **worse** for players with low-speed, low-bandwidth connections.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| MaxUndo&lt;br /&gt;
| Integer (Blocks)&lt;br /&gt;
| 2000000&lt;br /&gt;
| The number of blocks that players can undo at a time. Only the most-recent draw command can be undo, so the actual&lt;br /&gt;
limit also depends on rank draw limits. Saving undo information takes up 8 bytes per block. If set to 0, there is no limit.&lt;br /&gt;
| Between 1 and 2147483647 blocks per command, or 0 for &amp;quot;unlimited&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| MaxUndoStates&lt;br /&gt;
| Integer (Commands)&lt;br /&gt;
| 5&lt;br /&gt;
| The number of states (commands to reverse) that [[/Undo]] can go back to.&lt;br /&gt;
Increasing the number of undo states also raises the maximum potential memory use per-player.&lt;br /&gt;
| Between 1 and 100 commands.&lt;br /&gt;
|-&lt;br /&gt;
| ConsoleName&lt;br /&gt;
| String&lt;br /&gt;
| &amp;quot;(console)&amp;quot;&lt;br /&gt;
| Displayed name of the Console pseudoplayer. You may use any printable characters, and even [[Colors|color codes]].&lt;br /&gt;
| Between 1 and 64 characters.&lt;br /&gt;
|-&lt;br /&gt;
| AutoRankEnabled&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| ***EXPERIMENTAL/UNSUPPORTED*** Enables AutoRank.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| HeartbeatEnabled&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| Enable heartbeat to minecraft.net. If disabled, heartbeat data is written to heartbeatdata.txt instead.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| WoMEnableEnvExtensions&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| If enabled, allows changing worlds&#039; environment settings for WoM clients via [[/Env]]&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| IP&lt;br /&gt;
| IP Address&lt;br /&gt;
| Blank (&amp;quot;automatic&amp;quot;).&lt;br /&gt;
| If the machine has more than one available IP address (for example if you have more than one NIC) you can use this setting to make fCraft bind to the same IP every time. &#039;&#039;&#039;Do not set this key unless you know exactly what you&#039;re doing.&#039;&#039;&#039;&lt;br /&gt;
| Any valid IP address. Leave blank to let fCraft choose the IP automatically (default).&lt;br /&gt;
|-&lt;br /&gt;
| BandwidthUseMode&lt;br /&gt;
| Enumeration&lt;br /&gt;
| &amp;quot;Normal&amp;quot;&lt;br /&gt;
| Determines the bandwidth use mode. High/Highest settings will reduce jitter of player movement, but increase bandwidth use. Low/Lowest settings will introduce some popping in/out of players and increase jitter, but will reduce bandwidth use. Detailed options:&lt;br /&gt;
*&#039;&#039;&#039;VeryLow&#039;&#039;&#039; -  Very low bandwidth (choppy player movement, players pop-in/pop-out in the distance). All bandwidth-saving optimizations enabled. Player visibility threshold: 40-42 blocks.&lt;br /&gt;
*&#039;&#039;&#039;Low&#039;&#039;&#039; - Lower bandwidth use (less choppy, pop-in distance is further). Player visibility threshold: 50-52 blocks.&lt;br /&gt;
*&#039;&#039;&#039;Normal&#039;&#039;&#039; - Normal mode (pretty much no choppiness, pop-in only noticeable when teleporting). Player visibility threshold: 68-70 blocks.&lt;br /&gt;
*&#039;&#039;&#039;High&#039;&#039;&#039; - High bandwidth use (pretty much no choppiness, pop-in only noticeable when teleporting on large maps). Player visibility threshold: 128-130 blocks.&lt;br /&gt;
*&#039;&#039;&#039;VeryHigh&#039;&#039;&#039; - Very high bandwidth use (no choppiness at all, no pop-in). All bandwidth-saving optimizations disabled. Disabled partial position updates as well. No visibility threshold (all players will be visible simultaneously on supported clients).&lt;br /&gt;
| &amp;quot;VeryLow&amp;quot; / &amp;quot;Low&amp;quot; / &amp;quot;Normal&amp;quot; / &amp;quot;High&amp;quot; / &amp;quot;VeryHigh&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| RestartInterval&lt;br /&gt;
| Integer (Seconds)&lt;br /&gt;
| 0 (&amp;quot;disabled&amp;quot;)&lt;br /&gt;
| Automatically restarts the server after a given number of seconds.&lt;br /&gt;
| Between 1 and 2147483647 seconds, or 0 to disable automatic restarts.&lt;br /&gt;
|-&lt;br /&gt;
| BypassHttpsCertificateValidation&lt;br /&gt;
| True/False&lt;br /&gt;
| False&lt;br /&gt;
| Bypasses validation of HTTPS certificates, for heartbeat connections. May be useful under Mono.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| MoveEmoteDotToEndOfMessage&lt;br /&gt;
| True/False&lt;br /&gt;
| True&lt;br /&gt;
| Moves the emote suffix from end-of-line to immediately after its usage. It&#039;s just a cosmetic preference.&lt;br /&gt;
| &amp;quot;True&amp;quot; or &amp;quot;False&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| HeartbeatUrl&lt;br /&gt;
| String (URL)&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://minecraft.net/heartbeat.jsp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| {{alert|Warning: Use extreme caution when changing Heartbeat URL. Different providers likely use different player databases / accounts. It&#039;s recommended to wipe your PlayerDB completely after switching providers, to avoid issues with account hijacking and impersonation. There is no safe way to transfer player data between different account systems.}}&lt;br /&gt;
URL to send heartbeats to. This config key is added in case a server uses an alternative login/heartbeat service, such as &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://www.classicube.net/server/heartbeat&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Config]]&lt;br /&gt;
{{LastUpdated|2327}}&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=MapConverter&amp;diff=2628</id>
		<title>MapConverter</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=MapConverter&amp;diff=2628"/>
		<updated>2015-06-18T01:15:40Z</updated>

		<summary type="html">&lt;p&gt;F: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{notice|Latest experimental build (with 0.900+ features) can be downloaded here: &#039;&#039;&#039;[https://www.fcraft.net/download/MapConverter_0900_r2357.zip MapConverter_0900_r2357.zip] [0.5 MB]&#039;&#039;&#039;&lt;br /&gt;
This is a portable build, and can be used without fCraft.dll. Requires .NET 4.0}}&lt;br /&gt;
[[Image:MapConverter-usage-0.630.png|thumb|500px|right|MapConverter usage]]&lt;br /&gt;
MapConverter is a utility, bundled with fCraft {{Changelog|0.630}}+, that can convert mapfiles between different file formats. MapConverter requires &amp;lt;code&amp;gt;fCraft.dll&amp;lt;/code&amp;gt; to function.&lt;br /&gt;
==Usage==&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter [options] -e=ExporterName &amp;quot;MapFile1&amp;quot; &amp;quot;MapFile2&amp;quot; &amp;quot;MapFile3...&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter [options] -e=ExporterName &amp;quot;Directory&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Single file conversion===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -e=MCSharp &amp;quot;filename.dat&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Converts a single file named &amp;quot;filename.dat&amp;quot; to MCSharp format, and saves it to &amp;quot;filename.lvl&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Batch conversion===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -r -e=FCMv3 &amp;quot;C:/maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Finds all map files in &amp;quot;C:/maps&amp;quot;, including files in sub-directories, and converts them to FCMv3 (.fcm) format. Each converted file is saved into the same directory as the original file.&lt;br /&gt;
&lt;br /&gt;
===Moving out converted maps===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -r -o=&amp;quot;C:/converted&amp;quot; -e=FCMv3 &amp;quot;C:/maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Same as above, but converted map files are all placed into &amp;quot;C:/converted&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
===Filtering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -f=builder* -e=Opticraft &amp;quot;old_maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Looks for file names that start with &amp;quot;builder&amp;quot;, in a directory named &amp;quot;old_files&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
{{notice|Options have alternative short (one-letter) and a long (whole word) forms. You can use either form: &#039;&#039;&#039;&amp;lt;code&amp;gt;-e{{=}}MCSharp&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;--exporter{{=}}MCSharp&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
One-letter flags can be combined: &#039;&#039;&#039;&amp;lt;code&amp;gt;-rty&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;-r -t -y&amp;lt;/code&amp;gt;}}&lt;br /&gt;
===&amp;lt;code&amp;gt;-e=, --exporter=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:REQUIRED: Converter used for exporting/saving maps. Available formats:&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map) - used by old versions D3 server&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - also works for LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
:*&#039;&#039;&#039;Raw&#039;&#039;&#039; (.raw) - block data array, without any metadata&lt;br /&gt;
:*&#039;&#039;&#039;Schematic&#039;&#039;&#039; (.schematic) - classic tileset (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;ModernSchematic&#039;&#039;&#039; (.schematic) - converted-to-modern tileset (for improved compatibility) (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-f=, --filter=PATTERN&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Pattern to filter input filenames, e.g. &amp;lt;code&amp;gt;*.dat&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;builder*&amp;lt;/code&amp;gt;. Applicable only when a directory name is given as input. [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx Regular expressions] can be used in the filter if &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag is given.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-i=, --importer=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Converter used for importing/loading maps. Available importers:&lt;br /&gt;
:*&#039;&#039;&#039;Auto&#039;&#039;&#039; - default; tries to determine file type automatically&lt;br /&gt;
:*&#039;&#039;&#039;Classic&#039;&#039;&#039; (.dat or .mine) - Minecraft Classic and SurvivalTest maps&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map)&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv2&#039;&#039;&#039; (.fcm) - used by fCraft prior to version 0.500&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;Indev&#039;&#039;&#039; (.mclevel) - from Minecraft Indev maps&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - MinerCPP and LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Myne&#039;&#039;&#039; (directory-based) - Myne, MyneCraft, Hyvebuild, and iCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-o=, --output=PATH&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Path to save converted map files to. If not specified, converted maps will be saved to the original maps&#039; directory.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-r, --recursive&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Look through all subdirectories, and convert map files there too. Applicable only when a directory name is given as input.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-t, --tryhard&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Try ALL the map converters on files that MapRenderer has trouble loading. When enabled, ALL map converters are tried, including ones that do not typically handle files with the given file extension.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-x, --regex&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Enable [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx regular expressions] in &amp;quot;filter&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-y, --overwrite&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Do not ask for confirmation to overwrite existing files.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-?, -h, --help&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Prints usage information and a list of options.&lt;br /&gt;
&lt;br /&gt;
==MapConverter.exe edit codes==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Code&lt;br /&gt;
!Meaning&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Success&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ArgumentError&lt;br /&gt;
|Required command-line arguments were missing, or an error occurred while trying to parse options.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|UnrecognizedImporter&lt;br /&gt;
|Given importer name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|UnrecognizedExporter&lt;br /&gt;
|Given exporter name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|InputPathNotFound&lt;br /&gt;
|Given file/directory name does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|PathError&lt;br /&gt;
|Error occurred while trying to check input directory, or error occurred while trying to check/create output directory.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|UnsupportedLoadFormat&lt;br /&gt;
|Given &amp;quot;importer&amp;quot; format name was recognized, but loading from it is not supported.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|UnsupportedSaveFormat&lt;br /&gt;
|Given &amp;quot;exporter&amp;quot; format name was recognized, but saving to it is not supported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=MapConverter&amp;diff=2627</id>
		<title>MapConverter</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=MapConverter&amp;diff=2627"/>
		<updated>2015-06-18T01:15:04Z</updated>

		<summary type="html">&lt;p&gt;F: /* Moving out conveted maps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{notice|Latest experimental build (with 0.900+ features) can be downloaded here: &#039;&#039;&#039;[https://www.fcraft.net/download/MapConverter_0900_r2357.zip MapConverter_0900_r2357.zip] [0.5 MB]&#039;&#039;&#039;&lt;br /&gt;
This is a portable build, and can be used without fCraft.dll. Requires .NET 4.0}}&lt;br /&gt;
[[Image:MapConverter-usage-0.630.png|thumb|500px|right|MapConverter usage]]&lt;br /&gt;
MapConverter is a utility, bundled with fCraft {{Changelog|0.630}}+, that can convert mapfiles between different file formats. MapConverter requires &amp;lt;code&amp;gt;fCraft.dll&amp;lt;/code&amp;gt; to function.&lt;br /&gt;
==Usage==&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter [options] -e=ExporterName &amp;quot;MapFile1&amp;quot; &amp;quot;MapFile2&amp;quot; &amp;quot;MapFile3...&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter [options] -e=ExporterName &amp;quot;Directory&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Single file conversion===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -e=MCSharp &amp;quot;filename.dat&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Converts a single file named &amp;quot;filename.dat&amp;quot; to MCSharp format, and saves it to &amp;quot;filename.lvl&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Batch conversion===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -r -e=FCMv3 &amp;quot;C:/maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Finds all map files in &amp;quot;C:/maps&amp;quot;, including files in subdirectories, and converts them to FCMv3 (.fcm) format. Each converted file is saved into the same directory as the original file.&lt;br /&gt;
&lt;br /&gt;
===Moving out conveted maps===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -r -o=&amp;quot;C:/converted&amp;quot; -e=FCMv3 &amp;quot;C:/maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Same as above, but converted map files are all placed into &amp;quot;C:/converted&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
===Filtering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -f=builder* -e=Opticraft &amp;quot;old_maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Looks for filenames that start with &amp;quot;builder&amp;quot;, in a directory named &amp;quot;old_files&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
{{notice|Options have alternative short (one-letter) and a long (whole word) forms. You can use either form: &#039;&#039;&#039;&amp;lt;code&amp;gt;-e{{=}}MCSharp&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;--exporter{{=}}MCSharp&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
One-letter flags can be combined: &#039;&#039;&#039;&amp;lt;code&amp;gt;-rty&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;-r -t -y&amp;lt;/code&amp;gt;}}&lt;br /&gt;
===&amp;lt;code&amp;gt;-e=, --exporter=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:REQUIRED: Converter used for exporting/saving maps. Available formats:&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map) - used by old versions D3 server&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - also works for LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
:*&#039;&#039;&#039;Raw&#039;&#039;&#039; (.raw) - block data array, without any metadata&lt;br /&gt;
:*&#039;&#039;&#039;Schematic&#039;&#039;&#039; (.schematic) - classic tileset (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;ModernSchematic&#039;&#039;&#039; (.schematic) - converted-to-modern tileset (for improved compatibility) (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-f=, --filter=PATTERN&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Pattern to filter input filenames, e.g. &amp;lt;code&amp;gt;*.dat&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;builder*&amp;lt;/code&amp;gt;. Applicable only when a directory name is given as input. [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx Regular expressions] can be used in the filter if &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag is given.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-i=, --importer=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Converter used for importing/loading maps. Available importers:&lt;br /&gt;
:*&#039;&#039;&#039;Auto&#039;&#039;&#039; - default; tries to determine file type automatically&lt;br /&gt;
:*&#039;&#039;&#039;Classic&#039;&#039;&#039; (.dat or .mine) - Minecraft Classic and SurvivalTest maps&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map)&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv2&#039;&#039;&#039; (.fcm) - used by fCraft prior to version 0.500&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;Indev&#039;&#039;&#039; (.mclevel) - from Minecraft Indev maps&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - MinerCPP and LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Myne&#039;&#039;&#039; (directory-based) - Myne, MyneCraft, Hyvebuild, and iCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-o=, --output=PATH&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Path to save converted map files to. If not specified, converted maps will be saved to the original maps&#039; directory.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-r, --recursive&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Look through all subdirectories, and convert map files there too. Applicable only when a directory name is given as input.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-t, --tryhard&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Try ALL the map converters on files that MapRenderer has trouble loading. When enabled, ALL map converters are tried, including ones that do not typically handle files with the given file extension.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-x, --regex&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Enable [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx regular expressions] in &amp;quot;filter&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-y, --overwrite&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Do not ask for confirmation to overwrite existing files.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-?, -h, --help&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Prints usage information and a list of options.&lt;br /&gt;
&lt;br /&gt;
==MapConverter.exe edit codes==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Code&lt;br /&gt;
!Meaning&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Success&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ArgumentError&lt;br /&gt;
|Required command-line arguments were missing, or an error occurred while trying to parse options.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|UnrecognizedImporter&lt;br /&gt;
|Given importer name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|UnrecognizedExporter&lt;br /&gt;
|Given exporter name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|InputPathNotFound&lt;br /&gt;
|Given file/directory name does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|PathError&lt;br /&gt;
|Error occurred while trying to check input directory, or error occurred while trying to check/create output directory.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|UnsupportedLoadFormat&lt;br /&gt;
|Given &amp;quot;importer&amp;quot; format name was recognized, but loading from it is not supported.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|UnsupportedSaveFormat&lt;br /&gt;
|Given &amp;quot;exporter&amp;quot; format name was recognized, but saving to it is not supported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=MapConverter&amp;diff=2626</id>
		<title>MapConverter</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=MapConverter&amp;diff=2626"/>
		<updated>2014-11-17T16:09:05Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{notice|Latest experimental build (with 0.900+ features) can be downloaded here: &#039;&#039;&#039;[https://www.fcraft.net/download/MapConverter_0900_r2357.zip MapConverter_0900_r2357.zip] [0.5 MB]&#039;&#039;&#039;&lt;br /&gt;
This is a portable build, and can be used without fCraft.dll. Requires .NET 4.0}}&lt;br /&gt;
[[Image:MapConverter-usage-0.630.png|thumb|500px|right|MapConverter usage]]&lt;br /&gt;
MapConverter is a utility, bundled with fCraft {{Changelog|0.630}}+, that can convert mapfiles between different file formats. MapConverter requires &amp;lt;code&amp;gt;fCraft.dll&amp;lt;/code&amp;gt; to function.&lt;br /&gt;
==Usage==&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter [options] -e=ExporterName &amp;quot;MapFile1&amp;quot; &amp;quot;MapFile2&amp;quot; &amp;quot;MapFile3...&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter [options] -e=ExporterName &amp;quot;Directory&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Single file conversion===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -e=MCSharp &amp;quot;filename.dat&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Converts a single file named &amp;quot;filename.dat&amp;quot; to MCSharp format, and saves it to &amp;quot;filename.lvl&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Batch conversion===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -r -e=FCMv3 &amp;quot;C:/maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Finds all map files in &amp;quot;C:/maps&amp;quot;, including files in subdirectories, and converts them to FCMv3 (.fcm) format. Each converted file is saved into the same directory as the original file.&lt;br /&gt;
&lt;br /&gt;
===Moving out conveted maps===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -r -o &amp;quot;C:/converted&amp;quot; -e=FCMv3 &amp;quot;C:/maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Same as above, but converted map files are all placed into &amp;quot;C:/converted&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
===Filtering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -f=builder* -e=Opticraft &amp;quot;old_maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Looks for filenames that start with &amp;quot;builder&amp;quot;, in a directory named &amp;quot;old_files&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
{{notice|Options have alternative short (one-letter) and a long (whole word) forms. You can use either form: &#039;&#039;&#039;&amp;lt;code&amp;gt;-e{{=}}MCSharp&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;--exporter{{=}}MCSharp&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
One-letter flags can be combined: &#039;&#039;&#039;&amp;lt;code&amp;gt;-rty&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;-r -t -y&amp;lt;/code&amp;gt;}}&lt;br /&gt;
===&amp;lt;code&amp;gt;-e=, --exporter=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:REQUIRED: Converter used for exporting/saving maps. Available formats:&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map) - used by old versions D3 server&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - also works for LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
:*&#039;&#039;&#039;Raw&#039;&#039;&#039; (.raw) - block data array, without any metadata&lt;br /&gt;
:*&#039;&#039;&#039;Schematic&#039;&#039;&#039; (.schematic) - classic tileset (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;ModernSchematic&#039;&#039;&#039; (.schematic) - converted-to-modern tileset (for improved compatibility) (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-f=, --filter=PATTERN&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Pattern to filter input filenames, e.g. &amp;lt;code&amp;gt;*.dat&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;builder*&amp;lt;/code&amp;gt;. Applicable only when a directory name is given as input. [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx Regular expressions] can be used in the filter if &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag is given.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-i=, --importer=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Converter used for importing/loading maps. Available importers:&lt;br /&gt;
:*&#039;&#039;&#039;Auto&#039;&#039;&#039; - default; tries to determine file type automatically&lt;br /&gt;
:*&#039;&#039;&#039;Classic&#039;&#039;&#039; (.dat or .mine) - Minecraft Classic and SurvivalTest maps&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map)&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv2&#039;&#039;&#039; (.fcm) - used by fCraft prior to version 0.500&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;Indev&#039;&#039;&#039; (.mclevel) - from Minecraft Indev maps&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - MinerCPP and LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Myne&#039;&#039;&#039; (directory-based) - Myne, MyneCraft, Hyvebuild, and iCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-o=, --output=PATH&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Path to save converted map files to. If not specified, converted maps will be saved to the original maps&#039; directory.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-r, --recursive&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Look through all subdirectories, and convert map files there too. Applicable only when a directory name is given as input.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-t, --tryhard&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Try ALL the map converters on files that MapRenderer has trouble loading. When enabled, ALL map converters are tried, including ones that do not typically handle files with the given file extension.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-x, --regex&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Enable [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx regular expressions] in &amp;quot;filter&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-y, --overwrite&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Do not ask for confirmation to overwrite existing files.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-?, -h, --help&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Prints usage information and a list of options.&lt;br /&gt;
&lt;br /&gt;
==MapConverter.exe edit codes==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Code&lt;br /&gt;
!Meaning&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Success&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ArgumentError&lt;br /&gt;
|Required command-line arguments were missing, or an error occurred while trying to parse options.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|UnrecognizedImporter&lt;br /&gt;
|Given importer name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|UnrecognizedExporter&lt;br /&gt;
|Given exporter name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|InputPathNotFound&lt;br /&gt;
|Given file/directory name does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|PathError&lt;br /&gt;
|Error occurred while trying to check input directory, or error occurred while trying to check/create output directory.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|UnsupportedLoadFormat&lt;br /&gt;
|Given &amp;quot;importer&amp;quot; format name was recognized, but loading from it is not supported.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|UnsupportedSaveFormat&lt;br /&gt;
|Given &amp;quot;exporter&amp;quot; format name was recognized, but saving to it is not supported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=/gen&amp;diff=2625</id>
		<title>/gen</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=/gen&amp;diff=2625"/>
		<updated>2014-11-04T04:20:00Z</updated>

		<summary type="html">&lt;p&gt;F: Redirected page to /Gen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[/Gen]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=API:_Login&amp;diff=2624</id>
		<title>API: Login</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=API:_Login&amp;diff=2624"/>
		<updated>2014-10-03T19:15:30Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When a player connects, fCraft does the following LoginSequence:&lt;br /&gt;
&lt;br /&gt;
#fCraft accepts the incoming TCP/IP connection.&lt;br /&gt;
#&#039;&#039;Server.SessionConnecting&#039;&#039; event is raised (on the main scheduler thread). It provides an IP address and an option to cancel (bounce the connection).&lt;br /&gt;
#Player object is created, and a new thread is started. &#039;&#039;&#039;SessionState=Connecting&#039;&#039;&#039;&lt;br /&gt;
#&#039;&#039;Server.SessionConnected&#039;&#039; event is raised. This and all following events are raised on the player&#039;s thread. It provides the newly-created Player object.&lt;br /&gt;
#Login sequence begins. fCraft checks the handshake packet, protocol version, player name format.&lt;br /&gt;
##If player is not in the database, a new PlayerInfo object is created. &#039;&#039;PlayerInfo.BeingCreated&#039;&#039; event is raised, which provides name, IP, and starting rank. It allows changing the starting rank, or canceling (which kicks the player). &#039;&#039;PlayerInfo.Created&#039;&#039; event is raised afterwards, which provides the newly-created PlayerInfo object.&lt;br /&gt;
##If player is in the database, their info is simply fetched.&lt;br /&gt;
#Name verification is done. Server checks whether player is banned or IP-banned. Server checks if maximum-connections-per-IP is exceeded. Server checks player&#039;s paid status (if PaidPlayersOnly is enabled).&lt;br /&gt;
#&#039;&#039;Player.Connecting&#039;&#039; event is raised (on the player&#039;s thread). Player object and a way to cancel is provided.&lt;br /&gt;
#If a player with the same name is connected, they are kicked. Server checks if the server&#039;s full. Player is registered (added to Server.Players). PlayerDB record is updated.&lt;br /&gt;
#&#039;&#039;Player.Connected&#039;&#039; event is raised (on the player&#039;s thread). It provides the Player object and a way to override the starting/main world.&lt;br /&gt;
#Handshake reply is sent to the client. AutoRank is checked. &#039;&#039;&#039;SessionState=LoadingMain&#039;&#039;&#039;&lt;br /&gt;
#Player joins the main world.&lt;br /&gt;
##&#039;&#039;Player.JoiningWorld&#039;&#039; and &#039;&#039;Player.JoinedWorld&#039;&#039; are raised.&lt;br /&gt;
#Player&#039;s arrival is announced in chat. Warning messages (unverified name / logged in hidden / logged in from IP shared by banned players / previously muted / previously frozen) are shown. &#039;&#039;&#039;SessionState=Online&#039;&#039;&#039;&lt;br /&gt;
#&#039;&#039;Server.PlayerListChanged&#039;&#039; event is raised (for the front-end to update its player list).&lt;br /&gt;
#&#039;&#039;Player.Ready&#039;&#039; is raised.&lt;br /&gt;
#Player enters the normal I/O loop.&lt;br /&gt;
&lt;br /&gt;
[[Category:Dev]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=API:_Login&amp;diff=2623</id>
		<title>API: Login</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=API:_Login&amp;diff=2623"/>
		<updated>2014-10-03T19:12:29Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When a player connects, fCraft does the following LoginSequence:&lt;br /&gt;
&lt;br /&gt;
#fCraft accepts the incoming TCP/IP connection.&lt;br /&gt;
#&#039;&#039;Server.SessionConnecting&#039;&#039; event is raised (on the main scheduler thread). It provides an IP address and an option to cancel (bounce the connection).&lt;br /&gt;
#Player object is allocated, and thread is started. SessionState=Connecting&lt;br /&gt;
#&#039;&#039;Server.SessionConnected&#039;&#039; event is raised (on the player&#039;s thread). It provides the newly-created Player object.&lt;br /&gt;
#Login sequence begins. fCraft checks the handshake packet, protocol version, player name format.&lt;br /&gt;
##If player is not in the database, a new PlayerInfo object is created. &#039;&#039;PlayerInfo.BeingCreated&#039;&#039; event is raised, which provides name, IP, and starting rank. It allows changing the starting rank, or canceling (which kicks the player). &#039;&#039;PlayerInfo.Created&#039;&#039; event is raised afterwards, which provides the newly-created PlayerInfo object.&lt;br /&gt;
##If player is in the database, their info is simply fetched.&lt;br /&gt;
#Name verification is done. Server checks whether player is banned or IP-banned. Server checks if maximum-connections-per-IP is exceeded. Server checks player&#039;s paid status (if PaidPlayersOnly is enabled).&lt;br /&gt;
#&#039;&#039;Player.Connecting&#039;&#039; event is raised. Player object and a way to cancel is provided.&lt;br /&gt;
#If a player with the same name is connected, they are kicked. Server checks if the server&#039;s full. Player is registered (added to Server.Players). PlayerDB record is updated.&lt;br /&gt;
#&#039;&#039;Player.Connected&#039;&#039; event is raised. It provides the Player object and a way to override the starting/main world.&lt;br /&gt;
#Handshake reply is sent to the client. AutoRank is checked. SessionState=LoadingMain&lt;br /&gt;
#Player joins the main world.&lt;br /&gt;
##&#039;&#039;Player.JoiningWorld&#039;&#039; and &#039;&#039;Player.JoinedWorld&#039;&#039; are raised&lt;br /&gt;
#Player&#039;s arrival is announced in chat. Warning messages (unverified name / logged in hidden / logged in from IP shared by banned players / previously muted / previously frozen) are shown. SessionState=Online&lt;br /&gt;
#&#039;&#039;Server.PlayerListChanged&#039;&#039; event is raised (for the frontend to update its playerlist).&lt;br /&gt;
#&#039;&#039;Player.Ready&#039;&#039; is raised.&lt;br /&gt;
#Player enters the normal i/o loop.&lt;br /&gt;
&lt;br /&gt;
[[Category:Dev]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=API:_Login&amp;diff=2622</id>
		<title>API: Login</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=API:_Login&amp;diff=2622"/>
		<updated>2014-10-03T19:12:10Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When a player connects, fCraft does the following LoginSequence:&lt;br /&gt;
&lt;br /&gt;
#fCraft accepts a connection&lt;br /&gt;
#&#039;&#039;Server.SessionConnecting&#039;&#039; event is raised (on the main scheduler thread). It provides an IP address and an option to cancel (bounce the connection).&lt;br /&gt;
#Player object is allocated, and thread is started. SessionState=Connecting&lt;br /&gt;
#&#039;&#039;Server.SessionConnected&#039;&#039; event is raised (on the player&#039;s thread). It provides the newly-created Player object.&lt;br /&gt;
#Login sequence begins. fCraft checks the handshake packet, protocol version, player name format.&lt;br /&gt;
##If player is not in the database, a new PlayerInfo object is created. &#039;&#039;PlayerInfo.BeingCreated&#039;&#039; event is raised, which provides name, IP, and starting rank. It allows changing the starting rank, or canceling (which kicks the player). &#039;&#039;PlayerInfo.Created&#039;&#039; event is raised afterwards, which provides the newly-created PlayerInfo object.&lt;br /&gt;
##If player is in the database, their info is simply fetched.&lt;br /&gt;
#Name verification is done. Server checks whether player is banned or IP-banned. Server checks if maximum-connections-per-IP is exceeded. Server checks player&#039;s paid status (if PaidPlayersOnly is enabled).&lt;br /&gt;
#&#039;&#039;Player.Connecting&#039;&#039; event is raised. Player object and a way to cancel is provided.&lt;br /&gt;
#If a player with the same name is connected, they are kicked. Server checks if the server&#039;s full. Player is registered (added to Server.Players). PlayerDB record is updated.&lt;br /&gt;
#&#039;&#039;Player.Connected&#039;&#039; event is raised. It provides the Player object and a way to override the starting/main world.&lt;br /&gt;
#Handshake reply is sent to the client. AutoRank is checked. SessionState=LoadingMain&lt;br /&gt;
#Player joins the main world.&lt;br /&gt;
##&#039;&#039;Player.JoiningWorld&#039;&#039; and &#039;&#039;Player.JoinedWorld&#039;&#039; are raised&lt;br /&gt;
#Player&#039;s arrival is announced in chat. Warning messages (unverified name / logged in hidden / logged in from IP shared by banned players / previously muted / previously frozen) are shown. SessionState=Online&lt;br /&gt;
#&#039;&#039;Server.PlayerListChanged&#039;&#039; event is raised (for the frontend to update its playerlist).&lt;br /&gt;
#&#039;&#039;Player.Ready&#039;&#039; is raised.&lt;br /&gt;
#Player enters the normal i/o loop.&lt;br /&gt;
&lt;br /&gt;
[[Category:Dev]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=MapRenderer&amp;diff=2621</id>
		<title>MapRenderer</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=MapRenderer&amp;diff=2621"/>
		<updated>2014-09-28T03:08:25Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{notice|Latest experimental build (with 0.900+ features) can be downloaded here: &#039;&#039;&#039;[http://fCraft.net/download/fCraft_MapUtils_0900_r2344.zip fCraft_MapUtils_0900_r2344.zip]&#039;&#039;&#039;&lt;br /&gt;
This is a portable build, and can be used without fCraft.dll and fCraftGUI.dll}}&lt;br /&gt;
[[Image:MapRenderer-Usage.png|thumb|500px|right|MapRenderer usage]]&lt;br /&gt;
MapRenderer is a utility, bundled with fCraft {{Changelog|0.630}}+, that can render images from map files. MapRenderer.exe requires &amp;lt;code&amp;gt;fCraft.dll&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;fCraftGUI.dll&amp;lt;/code&amp;gt; to function.&lt;br /&gt;
&lt;br /&gt;
Since fCraft {{Changelog|0.640}}, MapRenderer is multi-threaded. See [[MapRenderer#-t.3D.2C_--threads.3DVALUE|&amp;lt;code&amp;gt;--threads&amp;lt;/code&amp;gt; parameter documentation]] for details.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer [options] &amp;quot;MapFile1&amp;quot; &amp;quot;MapFile2&amp;quot; &amp;quot;MapFile3...&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer [options] &amp;quot;Directory&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Rendering a single map===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer &amp;quot;SomeMap.fcm&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Draws contents of SomeMap.fcm with all default parameters, producing &amp;quot;SomeMap.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Rendering multiple maps===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer &amp;quot;Map1.fcm&amp;quot; &amp;quot;Map2.fcm&amp;quot; &amp;quot;someDir/MapX.fcm&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Draws contents of all given maps with default parameters, producing &amp;quot;Map1.png&amp;quot;, &amp;quot;Map2.png&amp;quot;, and &amp;quot;someDir/MapX.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Batch rendering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer -r &amp;quot;maps/&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Finds all map files in &amp;quot;C:/maps&amp;quot;, including files in subdirectories, and renders them with default settings. Images are saved into each map&#039;s respective directory. Image filenames are based on mapfile names, with file extension change to &amp;quot;.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Moving out rendered images===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer -r -o=&amp;quot;images/&amp;quot; &amp;quot;maps/&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Same as above, but all images are placed into &amp;quot;images/&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
===Filtering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer -f=builder* &amp;quot;maps/&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Looks for mapfile names that start with &amp;quot;builder&amp;quot;, draws them with default settings.&lt;br /&gt;
&lt;br /&gt;
===Rendering options===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer --noshadows -q=90 e=JPEG &amp;quot;SomeMap.fcm&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Draws contents of SomeMap.fcm, without shadows, and saves results to SomeMap.jpg at 90% quality.&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
{{notice|Options have alternative short (one-letter) and a long (whole word) forms. You can use either form: &#039;&#039;&#039;&amp;lt;code&amp;gt;-a{{=}}90&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;--angle{{=}}90&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
One-letter flags can be combined: &#039;&#039;&#039;&amp;lt;code&amp;gt;-gswl&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;-g -s -w -l&amp;lt;/code&amp;gt;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-a=, --angle=DEGREES&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Angle (orientation) from which the map is drawn. May be -90, 0, 90, 180, or 270. Default is 0.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-e=, --export=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Image format to use for exporting. Supported formats: PNG (default), BMP, GIF, JPEG, TIFF.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-f=, --filter=PATTERN&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Pattern to filter input filenames, e.g. &amp;lt;code&amp;gt;*.dat&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;builder*&amp;lt;/code&amp;gt;. Applicable only when a directory name is given as input. [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx Regular expressions] can be used in the filter if &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag is given.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-g, --nogradient&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Disables altitude-based gradient/shading on terrain.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-i=, --importer=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Converter used for importing/loading maps. Available formats:&lt;br /&gt;
:*&#039;&#039;&#039;Auto&#039;&#039;&#039; - default; tries to determine file type automatically&lt;br /&gt;
:*&#039;&#039;&#039;Classic&#039;&#039;&#039; (.dat or .mine) - Minecraft Classic and SurvivalTest maps&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map)&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv2&#039;&#039;&#039; (.fcm) - used by fCraft prior to version 0.500&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;Indev&#039;&#039;&#039; (.mclevel) - from Minecraft Indev maps&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - MinerCPP and LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Myne&#039;&#039;&#039; (directory-based) - Myne, MyneCraft, Hyvebuild, and iCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-l, --seethroughlava&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Makes all lava partially see-through, instead of opaque.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-m=, --mode=MODE&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Rendering mode. May be &amp;quot;normal&amp;quot; (default), &amp;quot;cut&amp;quot; (cuts out a quarter of the map, revealing inside), &amp;quot;peeled&amp;quot; (strips the outer-most layer of blocks), &amp;quot;chunk&amp;quot; (renders only a specified region of the map).&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-o=, --output=PATH&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Path to save images to. If not specified, images will be saved to the maps&#039; directory.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-q=, --quality=PERCENTAGE&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Sets JPEG compression quality. Between 0 and 100. Default is 80. Applicable only when exporting images to .jpg or .jpeg.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-r, --recursive&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Look through all subdirectories for map files. Applicable only when a directory name is given as input.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;--region=x1,y1,z1,x2,y2,z2&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Region of the map to render. Should be given in following format: &amp;quot;region=x1,y1,z1,x2,y2,z2&amp;quot;. By fCraft&#039;s conventions, x/y are horizontal coordinates (width/length), and z is the vertical coordinate (height). Applicable only when rendering mode is set to &amp;quot;chunk&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-s, --noshadows&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Disables rendering of shadows.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-t=, --threads=NUMBER&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Number of threads to use, to render multiple files in parallel. Default is same as your CPU count (e.g. 2 threads on a dual-core CPU, 4 threads on quad-core, etc).&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Try ALL the map converters on files that MapRenderer has trouble loading. When enabled, ALL map converters are tried, including ones that do not typically handle files with the given file extension. BY default (without this flag), MapRenderer will only try converters that typically accept files with the given file extension.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-u, --uncropped&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Does not crop the finished map image, leaving some empty space around the edges.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-w, --seethroughwater&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Makes all water see-through, instead of mostly opaque.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-x, --regex&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Enable [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx regular expressions] in [[MapRenderer#-f.3D.2C_--filter.3DPATTERN|&amp;lt;code&amp;gt;--filter&amp;lt;/code&amp;gt; parameter]].&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-y, --overwrite=MODE&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: When to overwrite existing image files:&lt;br /&gt;
:*&#039;&#039;&#039;Ask&#039;&#039;&#039; - default; asks the user for every image.&lt;br /&gt;
:*&#039;&#039;&#039;Always&#039;&#039;&#039; - Always overwrite old files.&lt;br /&gt;
:*&#039;&#039;&#039;IfNewer&#039;&#039;&#039; - Overwrite if image file is older than the map file.&lt;br /&gt;
:*&#039;&#039;&#039;Never&#039;&#039;&#039; - Skip any already-existing image files.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-?, -h, --help&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Prints usage information and a list of options.&lt;br /&gt;
&lt;br /&gt;
==MapRenderer.exe exit codes==&lt;br /&gt;
:MapRenderer uses a subset of [[MapConverter]]&#039;s exit codes:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Code&lt;br /&gt;
!Meaning&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Success&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ArgumentError&lt;br /&gt;
|Required command-line arguments were missing, or an error occurred while trying to parse options.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|UnrecognizedImporter&lt;br /&gt;
|Given importer name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|InputPathNotFound&lt;br /&gt;
|Given file/directory name does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|PathError&lt;br /&gt;
|Error occurred while trying to check input directory, or error occurred while trying to check/create output directory.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|UnsupportedLoadFormat&lt;br /&gt;
|Given map format name (&amp;quot;importer&amp;quot;) was recognized, but loading from it is not supported.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|UnsupportedSaveFormat&lt;br /&gt;
|Given image format name (&amp;quot;export&amp;quot;) was recognized, but saving to it is not supported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
MapRenderer is powered by a library named &#039;&#039;&#039;IsoCat&#039;&#039;&#039; (now part of fCraft), loosely influenced by [http://www.minecraftforum.net/topic/3218-isocraft/ IsoCraft].&lt;br /&gt;
&lt;br /&gt;
[[File:IsoCatLogo.png|500px]]&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=MapRenderer&amp;diff=2620</id>
		<title>MapRenderer</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=MapRenderer&amp;diff=2620"/>
		<updated>2014-09-28T00:49:15Z</updated>

		<summary type="html">&lt;p&gt;F: /* Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{notice|Latest experimental build (with 0.900+ features) can be downloaded here: &#039;&#039;&#039;[http://fCraft.net/download/fCraft_MapUtils_0900_r2344.zip fCraft_MapUtils_0900_r2344.zip]&#039;&#039;&#039;&lt;br /&gt;
This is a portable build, and can be used without fCraft.dll and fCraftGUI.dll}}&lt;br /&gt;
[[Image:MapRenderer-Usage.png|thumb|500px|right|MapRenderer usage]]&lt;br /&gt;
MapRenderer is a utility, bundled with fCraft {{Changelog|0.630}}+, that can render images from map files. MapRenderer.exe requires &amp;lt;code&amp;gt;fCraft.dll&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;fCraftGUI.dll&amp;lt;/code&amp;gt; to function.&lt;br /&gt;
&lt;br /&gt;
Since fCraft {{Changelog|0.640}}, MapRenderer is multi-threaded. See [[MapRenderer#-t.3D.2C_--threads.3DVALUE|&amp;lt;code&amp;gt;--threads&amp;lt;/code&amp;gt; parameter documentation]] for details.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer [options] &amp;quot;MapFile1&amp;quot; &amp;quot;MapFile2&amp;quot; &amp;quot;MapFile3...&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer [options] &amp;quot;Directory&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Rendering a single map===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer &amp;quot;SomeMap.fcm&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Draws contents of SomeMap.fcm with all default parameters, producing &amp;quot;SomeMap.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Rendering multiple maps===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer &amp;quot;Map1.fcm&amp;quot; &amp;quot;Map2.fcm&amp;quot; &amp;quot;someDir/MapX.fcm&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Draws contents of all given maps with default parameters, producing &amp;quot;Map1.png&amp;quot;, &amp;quot;Map2.png&amp;quot;, and &amp;quot;someDir/MapX.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Batch rendering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer -r &amp;quot;maps/&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Finds all map files in &amp;quot;C:/maps&amp;quot;, including files in subdirectories, and renders them with default settings. Images are saved into each map&#039;s respective directory. Image filenames are based on mapfile names, with file extension change to &amp;quot;.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Moving out rendered images===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer -r -o=&amp;quot;images/&amp;quot; &amp;quot;maps/&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Same as above, but all images are placed into &amp;quot;images/&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
===Filtering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer -f=builder* &amp;quot;maps/&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Looks for mapfile names that start with &amp;quot;builder&amp;quot;, draws them with default settings.&lt;br /&gt;
&lt;br /&gt;
===Rendering options===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer --noshadows -q=90 e=JPEG &amp;quot;SomeMap.fcm&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Draws contents of SomeMap.fcm, without shadows, and saves results to SomeMap.jpg at 90% quality.&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
{{notice|Options have alternative short (one-letter) and a long (whole word) forms. You can use either form: &#039;&#039;&#039;&amp;lt;code&amp;gt;-a{{=}}90&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;--angle{{=}}90&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
One-letter flags can be combined: &#039;&#039;&#039;&amp;lt;code&amp;gt;-gswl&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;-g -s -w -l&amp;lt;/code&amp;gt;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-a=, --angle=DEGREES&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Angle (orientation) from which the map is drawn. May be -90, 0, 90, 180, or 270. Default is 0.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-e=, --export=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Image format to use for exporting. Supported formats: PNG (default), BMP, GIF, JPEG, TIFF.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-f=, --filter=PATTERN&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Pattern to filter input filenames, e.g. &amp;lt;code&amp;gt;*.dat&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;builder*&amp;lt;/code&amp;gt;. Applicable only when a directory name is given as input. [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx Regular expressions] can be used in the filter if &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag is given.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-g, --nogradient&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Disables altitude-based gradient/shading on terrain.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-i=, --importer=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Converter used for importing/loading maps. Available formats:&lt;br /&gt;
:*&#039;&#039;&#039;Auto&#039;&#039;&#039; - default; tries to determine file type automatically&lt;br /&gt;
:*&#039;&#039;&#039;Classic&#039;&#039;&#039; (.dat or .mine) - Minecraft Classic and SurvivalTest maps&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map)&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv2&#039;&#039;&#039; (.fcm) - used by fCraft prior to version 0.500&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;Indev&#039;&#039;&#039; (.mclevel) - from Minecraft Indev maps&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - MinerCPP and LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Myne&#039;&#039;&#039; (directory-based) - Myne, MyneCraft, Hyvebuild, and iCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-l, --seethroughlava&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Makes all lava partially see-through, instead of opaque.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-m=, --mode=MODE&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Rendering mode. May be &amp;quot;normal&amp;quot; (default), &amp;quot;cut&amp;quot; (cuts out a quarter of the map, revealing inside), &amp;quot;peeled&amp;quot; (strips the outer-most layer of blocks), &amp;quot;chunk&amp;quot; (renders only a specified region of the map).&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-o=, --output=PATH&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Path to save images to. If not specified, images will be saved to the maps&#039; directory.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-q=, --quality=PERCENTAGE&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Sets JPEG compression quality. Between 0 and 100. Default is 80. Applicable only when exporting images to .jpg or .jpeg.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-r, --recursive&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Look through all subdirectories for map files. Applicable only when a directory name is given as input.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;--region=x1,y1,z1,x2,y2,z2&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Region of the map to render. Should be given in following format: &amp;quot;region=x1,y1,z1,x2,y2,z2&amp;quot;. By fCraft&#039;s conventions, x/y are horizontal coordinates (width/length), and z is the vertical coordinate (height). Applicable only when rendering mode is set to &amp;quot;chunk&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-s, --noshadows&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Disables rendering of shadows.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-t=, --threads=NUMBER&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Number of threads to use, to render multiple files in parallel. Default is same as your CPU count (e.g. 2 threads on a dual-core CPU, 4 threads on quad-core, etc).&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Try ALL the map converters on files that MapRenderer has trouble loading. When enabled, ALL map converters are tried, including ones that do not typically handle files with the given file extension. BY default (without this flag), MapRenderer will only try converters that typically accept files with the given file extension.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-u, --uncropped&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Does not crop the finished map image, leaving some empty space around the edges.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-w, --seethroughwater&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Makes all water see-through, instead of mostly opaque.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-x, --regex&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Enable [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx regular expressions] in [[MapRenderer#-f.3D.2C_--filter.3DPATTERN|&amp;lt;code&amp;gt;--filter&amp;lt;/code&amp;gt; parameter]].&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-y, --overwrite&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Disables asking for confirmation to overwrite existing files.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-?, -h, --help&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Prints usage information and a list of options.&lt;br /&gt;
&lt;br /&gt;
==MapRenderer.exe exit codes==&lt;br /&gt;
:MapRenderer uses a subset of [[MapConverter]]&#039;s exit codes:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Code&lt;br /&gt;
!Meaning&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Success&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ArgumentError&lt;br /&gt;
|Required command-line arguments were missing, or an error occurred while trying to parse options.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|UnrecognizedImporter&lt;br /&gt;
|Given importer name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|InputPathNotFound&lt;br /&gt;
|Given file/directory name does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|PathError&lt;br /&gt;
|Error occurred while trying to check input directory, or error occurred while trying to check/create output directory.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|UnsupportedLoadFormat&lt;br /&gt;
|Given map format name (&amp;quot;importer&amp;quot;) was recognized, but loading from it is not supported.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|UnsupportedSaveFormat&lt;br /&gt;
|Given image format name (&amp;quot;export&amp;quot;) was recognized, but saving to it is not supported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
MapRenderer is powered by a library named &#039;&#039;&#039;IsoCat&#039;&#039;&#039; (now part of fCraft), loosely influenced by [http://www.minecraftforum.net/topic/3218-isocraft/ IsoCraft].&lt;br /&gt;
&lt;br /&gt;
[[File:IsoCatLogo.png|500px]]&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=MapRenderer&amp;diff=2619</id>
		<title>MapRenderer</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=MapRenderer&amp;diff=2619"/>
		<updated>2014-09-28T00:49:01Z</updated>

		<summary type="html">&lt;p&gt;F: /* -d, --tryhard */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{notice|Latest experimental build (with 0.900+ features) can be downloaded here: &#039;&#039;&#039;[http://fCraft.net/download/fCraft_MapUtils_0900_r2344.zip fCraft_MapUtils_0900_r2344.zip]&#039;&#039;&#039;&lt;br /&gt;
This is a portable build, and can be used without fCraft.dll and fCraftGUI.dll}}&lt;br /&gt;
[[Image:MapRenderer-Usage.png|thumb|500px|right|MapRenderer usage]]&lt;br /&gt;
MapRenderer is a utility, bundled with fCraft {{Changelog|0.630}}+, that can render images from map files. MapRenderer.exe requires &amp;lt;code&amp;gt;fCraft.dll&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;fCraftGUI.dll&amp;lt;/code&amp;gt; to function.&lt;br /&gt;
&lt;br /&gt;
Since fCraft {{Changelog|0.640}}, MapRenderer is multi-threaded. See [[MapRenderer#-t.3D.2C_--threads.3DVALUE|&amp;lt;code&amp;gt;--threads&amp;lt;/code&amp;gt; parameter documentation]] for details.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer [options] &amp;quot;MapFile1&amp;quot; &amp;quot;MapFile2&amp;quot; &amp;quot;MapFile3...&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer [options] &amp;quot;Directory&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Rendering a single map===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer &amp;quot;SomeMap.fcm&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Draws contents of SomeMap.fcm with all default parameters, producing &amp;quot;SomeMap.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Rendering multiple maps===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer &amp;quot;Map1.fcm&amp;quot; &amp;quot;Map2.fcm&amp;quot; &amp;quot;someDir/MapX.fcm&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Draws contents of all given maps with default parameters, producing &amp;quot;Map1.png&amp;quot;, &amp;quot;Map2.png&amp;quot;, and &amp;quot;someDir/MapX.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Batch rendering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer -r &amp;quot;maps/&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Finds all map files in &amp;quot;C:/maps&amp;quot;, including files in subdirectories, and renders them with default settings. Images are saved into each map&#039;s respective directory. Image filenames are based on mapfile names, with file extension change to &amp;quot;.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Moving out rendered images===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer -r -o=&amp;quot;images/&amp;quot; &amp;quot;maps/&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Same as above, but all images are placed into &amp;quot;images/&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
===Filtering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer -f=builder* &amp;quot;maps/&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Looks for mapfile names that start with &amp;quot;builder&amp;quot;, draws them with default settings.&lt;br /&gt;
&lt;br /&gt;
===Rendering options===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer --noshadows -q=90 e=JPEG &amp;quot;SomeMap.fcm&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Draws contents of SomeMap.fcm, without shadows, and saves results to SomeMap.jpg at 90% quality.&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
{{notice|Options have alternative short (one-letter) and a long (whole word) forms. You can use either form: &#039;&#039;&#039;&amp;lt;code&amp;gt;-a{{=}}90&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;--angle{{=}}90&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
One-letter flags can be combined: &#039;&#039;&#039;&amp;lt;code&amp;gt;-gswl&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;-g -s -w -l&amp;lt;/code&amp;gt;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-a=, --angle=DEGREES&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Angle (orientation) from which the map is drawn. May be -90, 0, 90, 180, or 270. Default is 0.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Try ALL the map converters on files that MapRenderer has trouble loading. When enabled, ALL map converters are tried, including ones that do not typically handle files with the given file extension. BY default (without this flag), MapRenderer will only try converters that typically accept files with the given file extension.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-e=, --export=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Image format to use for exporting. Supported formats: PNG (default), BMP, GIF, JPEG, TIFF.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-f=, --filter=PATTERN&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Pattern to filter input filenames, e.g. &amp;lt;code&amp;gt;*.dat&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;builder*&amp;lt;/code&amp;gt;. Applicable only when a directory name is given as input. [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx Regular expressions] can be used in the filter if &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag is given.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-g, --nogradient&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Disables altitude-based gradient/shading on terrain.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-i=, --importer=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Converter used for importing/loading maps. Available formats:&lt;br /&gt;
:*&#039;&#039;&#039;Auto&#039;&#039;&#039; - default; tries to determine file type automatically&lt;br /&gt;
:*&#039;&#039;&#039;Classic&#039;&#039;&#039; (.dat or .mine) - Minecraft Classic and SurvivalTest maps&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map)&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv2&#039;&#039;&#039; (.fcm) - used by fCraft prior to version 0.500&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;Indev&#039;&#039;&#039; (.mclevel) - from Minecraft Indev maps&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - MinerCPP and LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Myne&#039;&#039;&#039; (directory-based) - Myne, MyneCraft, Hyvebuild, and iCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-l, --seethroughlava&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Makes all lava partially see-through, instead of opaque.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-m=, --mode=MODE&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Rendering mode. May be &amp;quot;normal&amp;quot; (default), &amp;quot;cut&amp;quot; (cuts out a quarter of the map, revealing inside), &amp;quot;peeled&amp;quot; (strips the outer-most layer of blocks), &amp;quot;chunk&amp;quot; (renders only a specified region of the map).&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-o=, --output=PATH&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Path to save images to. If not specified, images will be saved to the maps&#039; directory.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-q=, --quality=PERCENTAGE&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Sets JPEG compression quality. Between 0 and 100. Default is 80. Applicable only when exporting images to .jpg or .jpeg.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-r, --recursive&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Look through all subdirectories for map files. Applicable only when a directory name is given as input.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;--region=x1,y1,z1,x2,y2,z2&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Region of the map to render. Should be given in following format: &amp;quot;region=x1,y1,z1,x2,y2,z2&amp;quot;. By fCraft&#039;s conventions, x/y are horizontal coordinates (width/length), and z is the vertical coordinate (height). Applicable only when rendering mode is set to &amp;quot;chunk&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-s, --noshadows&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Disables rendering of shadows.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-t=, --threads=NUMBER&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Number of threads to use, to render multiple files in parallel. Default is same as your CPU count (e.g. 2 threads on a dual-core CPU, 4 threads on quad-core, etc).&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-u, --uncropped&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Does not crop the finished map image, leaving some empty space around the edges.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-w, --seethroughwater&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Makes all water see-through, instead of mostly opaque.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-x, --regex&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Enable [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx regular expressions] in [[MapRenderer#-f.3D.2C_--filter.3DPATTERN|&amp;lt;code&amp;gt;--filter&amp;lt;/code&amp;gt; parameter]].&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-y, --overwrite&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Disables asking for confirmation to overwrite existing files.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-?, -h, --help&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Prints usage information and a list of options.&lt;br /&gt;
&lt;br /&gt;
==MapRenderer.exe exit codes==&lt;br /&gt;
:MapRenderer uses a subset of [[MapConverter]]&#039;s exit codes:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Code&lt;br /&gt;
!Meaning&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Success&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ArgumentError&lt;br /&gt;
|Required command-line arguments were missing, or an error occurred while trying to parse options.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|UnrecognizedImporter&lt;br /&gt;
|Given importer name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|InputPathNotFound&lt;br /&gt;
|Given file/directory name does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|PathError&lt;br /&gt;
|Error occurred while trying to check input directory, or error occurred while trying to check/create output directory.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|UnsupportedLoadFormat&lt;br /&gt;
|Given map format name (&amp;quot;importer&amp;quot;) was recognized, but loading from it is not supported.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|UnsupportedSaveFormat&lt;br /&gt;
|Given image format name (&amp;quot;export&amp;quot;) was recognized, but saving to it is not supported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
MapRenderer is powered by a library named &#039;&#039;&#039;IsoCat&#039;&#039;&#039; (now part of fCraft), loosely influenced by [http://www.minecraftforum.net/topic/3218-isocraft/ IsoCraft].&lt;br /&gt;
&lt;br /&gt;
[[File:IsoCatLogo.png|500px]]&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=MapConverter&amp;diff=2618</id>
		<title>MapConverter</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=MapConverter&amp;diff=2618"/>
		<updated>2014-08-07T04:37:18Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{notice|Latest experimental build (with 0.900+ features) can be downloaded here: &#039;&#039;&#039;[http://fCraft.net/download/fCraft_MapUtils_0900_r2344.zip fCraft_MapUtils_0900_r2344.zip] [0.9 MB]&#039;&#039;&#039;&lt;br /&gt;
This is a portable build, and can be used without fCraft.dll. Requires .NET 4.0}}&lt;br /&gt;
[[Image:MapConverter-usage-0.630.png|thumb|500px|right|MapConverter usage]]&lt;br /&gt;
MapConverter is a utility, bundled with fCraft {{Changelog|0.630}}+, that can convert mapfiles between different file formats. MapConverter requires &amp;lt;code&amp;gt;fCraft.dll&amp;lt;/code&amp;gt; to function.&lt;br /&gt;
==Usage==&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter [options] -e=ExporterName &amp;quot;MapFile1&amp;quot; &amp;quot;MapFile2&amp;quot; &amp;quot;MapFile3...&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter [options] -e=ExporterName &amp;quot;Directory&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Single file conversion===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -e=MCSharp &amp;quot;filename.dat&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Converts a single file named &amp;quot;filename.dat&amp;quot; to MCSharp format, and saves it to &amp;quot;filename.lvl&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Batch conversion===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -r -e=FCMv3 &amp;quot;C:/maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Finds all map files in &amp;quot;C:/maps&amp;quot;, including files in subdirectories, and converts them to FCMv3 (.fcm) format. Each converted file is saved into the same directory as the original file.&lt;br /&gt;
&lt;br /&gt;
===Moving out conveted maps===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -r -o &amp;quot;C:/converted&amp;quot; -e=FCMv3 &amp;quot;C:/maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Same as above, but converted map files are all placed into &amp;quot;C:/converted&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
===Filtering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -f=builder* -e=Opticraft &amp;quot;old_maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Looks for filenames that start with &amp;quot;builder&amp;quot;, in a directory named &amp;quot;old_files&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
{{notice|Options have alternative short (one-letter) and a long (whole word) forms. You can use either form: &#039;&#039;&#039;&amp;lt;code&amp;gt;-e{{=}}MCSharp&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;--exporter{{=}}MCSharp&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
One-letter flags can be combined: &#039;&#039;&#039;&amp;lt;code&amp;gt;-rty&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;-r -t -y&amp;lt;/code&amp;gt;}}&lt;br /&gt;
===&amp;lt;code&amp;gt;-e=, --exporter=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:REQUIRED: Converter used for exporting/saving maps. Available formats:&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map) - used by old versions D3 server&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - also works for LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
:*&#039;&#039;&#039;Raw&#039;&#039;&#039; (.raw) - block data array, without any metadata&lt;br /&gt;
:*&#039;&#039;&#039;Schematic&#039;&#039;&#039; (.schematic) - classic tileset (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;ModernSchematic&#039;&#039;&#039; (.schematic) - converted-to-modern tileset (for improved compatibility) (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-f=, --filter=PATTERN&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Pattern to filter input filenames, e.g. &amp;lt;code&amp;gt;*.dat&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;builder*&amp;lt;/code&amp;gt;. Applicable only when a directory name is given as input. [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx Regular expressions] can be used in the filter if &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag is given.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-i=, --importer=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Converter used for importing/loading maps. Available importers:&lt;br /&gt;
:*&#039;&#039;&#039;Auto&#039;&#039;&#039; - default; tries to determine file type automatically&lt;br /&gt;
:*&#039;&#039;&#039;Classic&#039;&#039;&#039; (.dat or .mine) - Minecraft Classic and SurvivalTest maps&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map)&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv2&#039;&#039;&#039; (.fcm) - used by fCraft prior to version 0.500&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;Indev&#039;&#039;&#039; (.mclevel) - from Minecraft Indev maps&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - MinerCPP and LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Myne&#039;&#039;&#039; (directory-based) - Myne, MyneCraft, Hyvebuild, and iCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-o=, --output=PATH&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Path to save converted map files to. If not specified, converted maps will be saved to the original maps&#039; directory.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-r, --recursive&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Look through all subdirectories, and convert map files there too. Applicable only when a directory name is given as input.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-t, --tryhard&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Try ALL the map converters on files that MapRenderer has trouble loading. When enabled, ALL map converters are tried, including ones that do not typically handle files with the given file extension.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-x, --regex&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Enable [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx regular expressions] in &amp;quot;filter&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-y, --overwrite&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Do not ask for confirmation to overwrite existing files.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-?, -h, --help&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Prints usage information and a list of options.&lt;br /&gt;
&lt;br /&gt;
==MapConverter.exe edit codes==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Code&lt;br /&gt;
!Meaning&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Success&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ArgumentError&lt;br /&gt;
|Required command-line arguments were missing, or an error occurred while trying to parse options.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|UnrecognizedImporter&lt;br /&gt;
|Given importer name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|UnrecognizedExporter&lt;br /&gt;
|Given exporter name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|InputPathNotFound&lt;br /&gt;
|Given file/directory name does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|PathError&lt;br /&gt;
|Error occurred while trying to check input directory, or error occurred while trying to check/create output directory.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|UnsupportedLoadFormat&lt;br /&gt;
|Given &amp;quot;importer&amp;quot; format name was recognized, but loading from it is not supported.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|UnsupportedSaveFormat&lt;br /&gt;
|Given &amp;quot;exporter&amp;quot; format name was recognized, but saving to it is not supported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=MapConverter&amp;diff=2617</id>
		<title>MapConverter</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=MapConverter&amp;diff=2617"/>
		<updated>2014-08-07T04:36:33Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{notice|Latest experimental build (with 0.900+ features) can be downloaded here: &#039;&#039;&#039;[http://fCraft.net/download/fCraft_MapUtils_0900_r2344.zip fCraft_MapUtils_0900_r2344.zip]&#039;&#039;&#039;&lt;br /&gt;
This is a portable build, and can be used without fCraft.dll. Requires .NET 4.0}}&lt;br /&gt;
[[Image:MapConverter-usage-0.630.png|thumb|500px|right|MapConverter usage]]&lt;br /&gt;
MapConverter is a utility, bundled with fCraft {{Changelog|0.630}}+, that can convert mapfiles between different file formats. MapConverter requires &amp;lt;code&amp;gt;fCraft.dll&amp;lt;/code&amp;gt; to function.&lt;br /&gt;
==Usage==&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter [options] -e=ExporterName &amp;quot;MapFile1&amp;quot; &amp;quot;MapFile2&amp;quot; &amp;quot;MapFile3...&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter [options] -e=ExporterName &amp;quot;Directory&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Single file conversion===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -e=MCSharp &amp;quot;filename.dat&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Converts a single file named &amp;quot;filename.dat&amp;quot; to MCSharp format, and saves it to &amp;quot;filename.lvl&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Batch conversion===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -r -e=FCMv3 &amp;quot;C:/maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Finds all map files in &amp;quot;C:/maps&amp;quot;, including files in subdirectories, and converts them to FCMv3 (.fcm) format. Each converted file is saved into the same directory as the original file.&lt;br /&gt;
&lt;br /&gt;
===Moving out conveted maps===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -r -o &amp;quot;C:/converted&amp;quot; -e=FCMv3 &amp;quot;C:/maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Same as above, but converted map files are all placed into &amp;quot;C:/converted&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
===Filtering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -f=builder* -e=Opticraft &amp;quot;old_maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Looks for filenames that start with &amp;quot;builder&amp;quot;, in a directory named &amp;quot;old_files&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
{{notice|Options have alternative short (one-letter) and a long (whole word) forms. You can use either form: &#039;&#039;&#039;&amp;lt;code&amp;gt;-e{{=}}MCSharp&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;--exporter{{=}}MCSharp&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
One-letter flags can be combined: &#039;&#039;&#039;&amp;lt;code&amp;gt;-rty&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;-r -t -y&amp;lt;/code&amp;gt;}}&lt;br /&gt;
===&amp;lt;code&amp;gt;-e=, --exporter=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:REQUIRED: Converter used for exporting/saving maps. Available formats:&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map) - used by old versions D3 server&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - also works for LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
:*&#039;&#039;&#039;Raw&#039;&#039;&#039; (.raw) - block data array, without any metadata&lt;br /&gt;
:*&#039;&#039;&#039;Schematic&#039;&#039;&#039; (.schematic) - classic tileset (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;ModernSchematic&#039;&#039;&#039; (.schematic) - converted-to-modern tileset (for improved compatibility) (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-f=, --filter=PATTERN&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Pattern to filter input filenames, e.g. &amp;lt;code&amp;gt;*.dat&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;builder*&amp;lt;/code&amp;gt;. Applicable only when a directory name is given as input. [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx Regular expressions] can be used in the filter if &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag is given.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-i=, --importer=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Converter used for importing/loading maps. Available importers:&lt;br /&gt;
:*&#039;&#039;&#039;Auto&#039;&#039;&#039; - default; tries to determine file type automatically&lt;br /&gt;
:*&#039;&#039;&#039;Classic&#039;&#039;&#039; (.dat or .mine) - Minecraft Classic and SurvivalTest maps&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map)&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv2&#039;&#039;&#039; (.fcm) - used by fCraft prior to version 0.500&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;Indev&#039;&#039;&#039; (.mclevel) - from Minecraft Indev maps&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - MinerCPP and LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Myne&#039;&#039;&#039; (directory-based) - Myne, MyneCraft, Hyvebuild, and iCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-o=, --output=PATH&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Path to save converted map files to. If not specified, converted maps will be saved to the original maps&#039; directory.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-r, --recursive&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Look through all subdirectories, and convert map files there too. Applicable only when a directory name is given as input.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-t, --tryhard&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Try ALL the map converters on files that MapRenderer has trouble loading. When enabled, ALL map converters are tried, including ones that do not typically handle files with the given file extension.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-x, --regex&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Enable [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx regular expressions] in &amp;quot;filter&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-y, --overwrite&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Do not ask for confirmation to overwrite existing files.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-?, -h, --help&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Prints usage information and a list of options.&lt;br /&gt;
&lt;br /&gt;
==MapConverter.exe edit codes==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Code&lt;br /&gt;
!Meaning&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Success&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ArgumentError&lt;br /&gt;
|Required command-line arguments were missing, or an error occurred while trying to parse options.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|UnrecognizedImporter&lt;br /&gt;
|Given importer name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|UnrecognizedExporter&lt;br /&gt;
|Given exporter name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|InputPathNotFound&lt;br /&gt;
|Given file/directory name does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|PathError&lt;br /&gt;
|Error occurred while trying to check input directory, or error occurred while trying to check/create output directory.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|UnsupportedLoadFormat&lt;br /&gt;
|Given &amp;quot;importer&amp;quot; format name was recognized, but loading from it is not supported.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|UnsupportedSaveFormat&lt;br /&gt;
|Given &amp;quot;exporter&amp;quot; format name was recognized, but saving to it is not supported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Roadmap&amp;diff=2616</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Roadmap&amp;diff=2616"/>
		<updated>2014-08-03T04:43:54Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=fCraft 0.64x=&lt;br /&gt;
:Further 0.64x versions will be released in case of serious bugs, stability, or security issues are discovered.&lt;br /&gt;
:Additional map format converters may be introduced, for forward compatibility with 0.90x or other servers.&lt;br /&gt;
&lt;br /&gt;
=fCraft 0.900=&lt;br /&gt;
:*Requiring .NET 4.0&lt;br /&gt;
:*Full [http://www.classicube.net ClassiCube.net] support.&lt;br /&gt;
:*[http://wiki.vg/Classic_Protocol_Extension Classic Protocol Extension] support.&lt;br /&gt;
:*New map file format ([http://wiki.vg/ClassicWorld_file_format ClassicWorld])&lt;br /&gt;
:*AutoRank 2&lt;br /&gt;
:*{{cmd|DrawImage}}&lt;br /&gt;
:*&amp;lt;code&amp;gt;Paste&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PasteNot&amp;lt;/code&amp;gt; brushes.&lt;br /&gt;
&lt;br /&gt;
=fCraft 0.901-0.999=&lt;br /&gt;
:Bugfix, minor improvements, API additions.&lt;br /&gt;
&lt;br /&gt;
=fCraft 1.000=&lt;br /&gt;
:Once 0.9xx branch is finalized and bug-free, it will be renamed 1.0.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Roadmap&amp;diff=2615</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Roadmap&amp;diff=2615"/>
		<updated>2014-08-03T04:36:08Z</updated>

		<summary type="html">&lt;p&gt;F: /* fCraft 0.900 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=fCraft 0.64x=&lt;br /&gt;
:Further 0.64x versions will be released in case of serious bugs, stability, or security issues are discovered.&lt;br /&gt;
:Additional map format converters may be introduced, for forward compatibility with 0.90x or other servers.&lt;br /&gt;
&lt;br /&gt;
=fCraft 0.900=&lt;br /&gt;
:*Requiring .NET 4.0&lt;br /&gt;
:*Full [http://www.classicube.net ClassiCube.net] support.&lt;br /&gt;
:*[http://wiki.vg/Classic_Protocol_Extension Classic Protocol Extension] support.&lt;br /&gt;
:*New map file format ([http://wiki.vg/ClassicWorld_file_format ClassicWorld])&lt;br /&gt;
:*AutoRank 2&lt;br /&gt;
:*{{cmd|DrawImage}}&lt;br /&gt;
&lt;br /&gt;
=fCraft 0.901-0.999=&lt;br /&gt;
:Bugfix, minor improvements, API additions.&lt;br /&gt;
&lt;br /&gt;
=fCraft 1.000=&lt;br /&gt;
:Once 0.9xx branch is finalized and bug-free, it will be renamed 1.0.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Roadmap&amp;diff=2614</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Roadmap&amp;diff=2614"/>
		<updated>2014-08-03T04:35:45Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=fCraft 0.64x=&lt;br /&gt;
:Further 0.64x versions will be released in case of serious bugs, stability, or security issues are discovered.&lt;br /&gt;
:Additional map format converters may be introduced, for forward compatibility with 0.90x or other servers.&lt;br /&gt;
&lt;br /&gt;
=fCraft 0.900=&lt;br /&gt;
:*Requiring .NET 4.0&lt;br /&gt;
:*Full [http://www.classicube.net ClassiCube.net] support.&lt;br /&gt;
:*[http://wiki.vg/Classic_Protocol_Extension Classic Protocol Extension] support.&lt;br /&gt;
:*New map file format ([http://wiki.vg/ClassicWorld_file_format ClassicWorld])&lt;br /&gt;
:*AutoRank 2&lt;br /&gt;
&lt;br /&gt;
=fCraft 0.901-0.999=&lt;br /&gt;
:Bugfix, minor improvements, API additions.&lt;br /&gt;
&lt;br /&gt;
=fCraft 1.000=&lt;br /&gt;
:Once 0.9xx branch is finalized and bug-free, it will be renamed 1.0.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Roadmap&amp;diff=2613</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Roadmap&amp;diff=2613"/>
		<updated>2014-08-03T04:35:07Z</updated>

		<summary type="html">&lt;p&gt;F: /* fCraft 0.64x */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=fCraft 0.64x=&lt;br /&gt;
:Further 0.64x versions will be released in case of serious bugs, stability, or security issues are discovered.&lt;br /&gt;
:Additional map format converters may be introduced, for forward compatibility with 0.90x or other servers.&lt;br /&gt;
&lt;br /&gt;
=fCraft 0.900=&lt;br /&gt;
:*Requiring .NET 4.0&lt;br /&gt;
:*Full [http://www.classicube.net ClassiCube.net] support.&lt;br /&gt;
:*[http://wiki.vg/Classic_Protocol_Extension Classic Protocol Extension] support.&lt;br /&gt;
:*New map file format&lt;br /&gt;
:*AutoRank 2&lt;br /&gt;
&lt;br /&gt;
=fCraft 0.901-0.999=&lt;br /&gt;
:Bugfix, minor improvements, API additions.&lt;br /&gt;
&lt;br /&gt;
=fCraft 1.000=&lt;br /&gt;
:Once 0.9xx branch is finalized and bug-free, it will be renamed 1.0.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=MapRenderer&amp;diff=2612</id>
		<title>MapRenderer</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=MapRenderer&amp;diff=2612"/>
		<updated>2014-08-01T17:04:31Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{notice|Latest experimental build (with 0.900+ features) can be downloaded here: &#039;&#039;&#039;[http://fCraft.net/download/fCraft_MapUtils_0900_r2344.zip fCraft_MapUtils_0900_r2344.zip]&#039;&#039;&#039;&lt;br /&gt;
This is a portable build, and can be used without fCraft.dll and fCraftGUI.dll}}&lt;br /&gt;
[[Image:MapRenderer-Usage.png|thumb|500px|right|MapRenderer usage]]&lt;br /&gt;
MapRenderer is a utility, bundled with fCraft {{Changelog|0.630}}+, that can render images from map files. MapRenderer.exe requires &amp;lt;code&amp;gt;fCraft.dll&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;fCraftGUI.dll&amp;lt;/code&amp;gt; to function.&lt;br /&gt;
&lt;br /&gt;
Since fCraft {{Changelog|0.640}}, MapRenderer is multi-threaded. See [[MapRenderer#-t.3D.2C_--threads.3DVALUE|&amp;lt;code&amp;gt;--threads&amp;lt;/code&amp;gt; parameter documentation]] for details.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer [options] &amp;quot;MapFile1&amp;quot; &amp;quot;MapFile2&amp;quot; &amp;quot;MapFile3...&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer [options] &amp;quot;Directory&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Rendering a single map===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer &amp;quot;SomeMap.fcm&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Draws contents of SomeMap.fcm with all default parameters, producing &amp;quot;SomeMap.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Rendering multiple maps===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer &amp;quot;Map1.fcm&amp;quot; &amp;quot;Map2.fcm&amp;quot; &amp;quot;someDir/MapX.fcm&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Draws contents of all given maps with default parameters, producing &amp;quot;Map1.png&amp;quot;, &amp;quot;Map2.png&amp;quot;, and &amp;quot;someDir/MapX.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Batch rendering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer -r &amp;quot;maps/&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Finds all map files in &amp;quot;C:/maps&amp;quot;, including files in subdirectories, and renders them with default settings. Images are saved into each map&#039;s respective directory. Image filenames are based on mapfile names, with file extension change to &amp;quot;.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Moving out rendered images===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer -r -o=&amp;quot;images/&amp;quot; &amp;quot;maps/&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Same as above, but all images are placed into &amp;quot;images/&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
===Filtering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer -f=builder* &amp;quot;maps/&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Looks for mapfile names that start with &amp;quot;builder&amp;quot;, draws them with default settings.&lt;br /&gt;
&lt;br /&gt;
===Rendering options===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer --noshadows -q=90 e=JPEG &amp;quot;SomeMap.fcm&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Draws contents of SomeMap.fcm, without shadows, and saves results to SomeMap.jpg at 90% quality.&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
{{notice|Options have alternative short (one-letter) and a long (whole word) forms. You can use either form: &#039;&#039;&#039;&amp;lt;code&amp;gt;-a{{=}}90&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;--angle{{=}}90&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
One-letter flags can be combined: &#039;&#039;&#039;&amp;lt;code&amp;gt;-gswl&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;-g -s -w -l&amp;lt;/code&amp;gt;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-a=, --angle=DEGREES&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Angle (orientation) from which the map is drawn. May be -90, 0, 90, 180, or 270. Default is 0.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-d, --tryhard&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Try ALL the map converters on files that MapRenderer has trouble loading. When enabled, ALL map converters are tried, including ones that do not typically handle files with the given file extension. BY default (without this flag), MapRenderer will only try converters that typically accept files with the given file extension.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-e=, --export=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Image format to use for exporting. Supported formats: PNG (default), BMP, GIF, JPEG, TIFF.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-f=, --filter=PATTERN&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Pattern to filter input filenames, e.g. &amp;lt;code&amp;gt;*.dat&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;builder*&amp;lt;/code&amp;gt;. Applicable only when a directory name is given as input. [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx Regular expressions] can be used in the filter if &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag is given.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-g, --nogradient&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Disables altitude-based gradient/shading on terrain.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-i=, --importer=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Converter used for importing/loading maps. Available formats:&lt;br /&gt;
:*&#039;&#039;&#039;Auto&#039;&#039;&#039; - default; tries to determine file type automatically&lt;br /&gt;
:*&#039;&#039;&#039;Classic&#039;&#039;&#039; (.dat or .mine) - Minecraft Classic and SurvivalTest maps&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map)&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv2&#039;&#039;&#039; (.fcm) - used by fCraft prior to version 0.500&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;Indev&#039;&#039;&#039; (.mclevel) - from Minecraft Indev maps&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - MinerCPP and LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Myne&#039;&#039;&#039; (directory-based) - Myne, MyneCraft, Hyvebuild, and iCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-l, --seethroughlava&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Makes all lava partially see-through, instead of opaque.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-m=, --mode=MODE&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Rendering mode. May be &amp;quot;normal&amp;quot; (default), &amp;quot;cut&amp;quot; (cuts out a quarter of the map, revealing inside), &amp;quot;peeled&amp;quot; (strips the outer-most layer of blocks), &amp;quot;chunk&amp;quot; (renders only a specified region of the map).&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-o=, --output=PATH&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Path to save images to. If not specified, images will be saved to the maps&#039; directory.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-q=, --quality=PERCENTAGE&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Sets JPEG compression quality. Between 0 and 100. Default is 80. Applicable only when exporting images to .jpg or .jpeg.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-r, --recursive&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Look through all subdirectories for map files. Applicable only when a directory name is given as input.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;--region=x1,y1,z1,x2,y2,z2&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Region of the map to render. Should be given in following format: &amp;quot;region=x1,y1,z1,x2,y2,z2&amp;quot;. By fCraft&#039;s conventions, x/y are horizontal coordinates (width/length), and z is the vertical coordinate (height). Applicable only when rendering mode is set to &amp;quot;chunk&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-s, --noshadows&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Disables rendering of shadows.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-t=, --threads=NUMBER&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Number of threads to use, to render multiple files in parallel. Default is same as your CPU count (e.g. 2 threads on a dual-core CPU, 4 threads on quad-core, etc).&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-u, --uncropped&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Does not crop the finished map image, leaving some empty space around the edges.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-w, --seethroughwater&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Makes all water see-through, instead of mostly opaque.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-x, --regex&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Enable [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx regular expressions] in [[MapRenderer#-f.3D.2C_--filter.3DPATTERN|&amp;lt;code&amp;gt;--filter&amp;lt;/code&amp;gt; parameter]].&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-y, --overwrite&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Disables asking for confirmation to overwrite existing files.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-?, -h, --help&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Prints usage information and a list of options.&lt;br /&gt;
&lt;br /&gt;
==MapRenderer.exe exit codes==&lt;br /&gt;
:MapRenderer uses a subset of [[MapConverter]]&#039;s exit codes:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Code&lt;br /&gt;
!Meaning&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Success&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ArgumentError&lt;br /&gt;
|Required command-line arguments were missing, or an error occurred while trying to parse options.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|UnrecognizedImporter&lt;br /&gt;
|Given importer name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|InputPathNotFound&lt;br /&gt;
|Given file/directory name does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|PathError&lt;br /&gt;
|Error occurred while trying to check input directory, or error occurred while trying to check/create output directory.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|UnsupportedLoadFormat&lt;br /&gt;
|Given map format name (&amp;quot;importer&amp;quot;) was recognized, but loading from it is not supported.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|UnsupportedSaveFormat&lt;br /&gt;
|Given image format name (&amp;quot;export&amp;quot;) was recognized, but saving to it is not supported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
MapRenderer is powered by a library named &#039;&#039;&#039;IsoCat&#039;&#039;&#039; (now part of fCraft), loosely influenced by [http://www.minecraftforum.net/topic/3218-isocraft/ IsoCraft].&lt;br /&gt;
&lt;br /&gt;
[[File:IsoCatLogo.png|500px]]&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=MapRenderer&amp;diff=2611</id>
		<title>MapRenderer</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=MapRenderer&amp;diff=2611"/>
		<updated>2014-08-01T16:58:25Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{notice|Latest experimental build (with 0.900+ features) can be downloaded here: &#039;&#039;&#039;[http://fCraft.net/download/fCraft_MapUtils_0900_r2344.zip fCraft_MapUtils_0900_r2344.zip]&#039;&#039;&#039;&lt;br /&gt;
This is a portable build, and can be used without fCraft.dll}}&lt;br /&gt;
[[Image:MapRenderer-Usage.png|thumb|500px|right|MapRenderer usage]]&lt;br /&gt;
MapRenderer is a utility, bundled with fCraft {{Changelog|0.630}}+, that can render images from map files. MapRenderer.exe requires &amp;lt;code&amp;gt;fCraft.dll&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;fCraftGUI.dll&amp;lt;/code&amp;gt; to function.&lt;br /&gt;
&lt;br /&gt;
Since fCraft {{Changelog|0.640}}, MapRenderer is multi-threaded. See [[MapRenderer#-t.3D.2C_--threads.3DVALUE|&amp;lt;code&amp;gt;--threads&amp;lt;/code&amp;gt; parameter documentation]] for details.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer [options] &amp;quot;MapFile1&amp;quot; &amp;quot;MapFile2&amp;quot; &amp;quot;MapFile3...&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer [options] &amp;quot;Directory&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Rendering a single map===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer &amp;quot;SomeMap.fcm&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Draws contents of SomeMap.fcm with all default parameters, producing &amp;quot;SomeMap.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Rendering multiple maps===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer &amp;quot;Map1.fcm&amp;quot; &amp;quot;Map2.fcm&amp;quot; &amp;quot;someDir/MapX.fcm&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Draws contents of all given maps with default parameters, producing &amp;quot;Map1.png&amp;quot;, &amp;quot;Map2.png&amp;quot;, and &amp;quot;someDir/MapX.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Batch rendering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer -r &amp;quot;maps/&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Finds all map files in &amp;quot;C:/maps&amp;quot;, including files in subdirectories, and renders them with default settings. Images are saved into each map&#039;s respective directory. Image filenames are based on mapfile names, with file extension change to &amp;quot;.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Moving out rendered images===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer -r -o=&amp;quot;images/&amp;quot; &amp;quot;maps/&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Same as above, but all images are placed into &amp;quot;images/&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
===Filtering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer -f=builder* &amp;quot;maps/&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Looks for mapfile names that start with &amp;quot;builder&amp;quot;, draws them with default settings.&lt;br /&gt;
&lt;br /&gt;
===Rendering options===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapRenderer --noshadows -q=90 e=JPEG &amp;quot;SomeMap.fcm&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Draws contents of SomeMap.fcm, without shadows, and saves results to SomeMap.jpg at 90% quality.&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
{{notice|Options have alternative short (one-letter) and a long (whole word) forms. You can use either form: &#039;&#039;&#039;&amp;lt;code&amp;gt;-a{{=}}90&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;--angle{{=}}90&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
One-letter flags can be combined: &#039;&#039;&#039;&amp;lt;code&amp;gt;-gswl&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;-g -s -w -l&amp;lt;/code&amp;gt;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-a=, --angle=DEGREES&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Angle (orientation) from which the map is drawn. May be -90, 0, 90, 180, or 270. Default is 0.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-d, --tryhard&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Try ALL the map converters on files that MapRenderer has trouble loading. When enabled, ALL map converters are tried, including ones that do not typically handle files with the given file extension. BY default (without this flag), MapRenderer will only try converters that typically accept files with the given file extension.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-e=, --export=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Image format to use for exporting. Supported formats: PNG (default), BMP, GIF, JPEG, TIFF.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-f=, --filter=PATTERN&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Pattern to filter input filenames, e.g. &amp;lt;code&amp;gt;*.dat&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;builder*&amp;lt;/code&amp;gt;. Applicable only when a directory name is given as input. [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx Regular expressions] can be used in the filter if &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag is given.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-g, --nogradient&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Disables altitude-based gradient/shading on terrain.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-i=, --importer=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Converter used for importing/loading maps. Available formats:&lt;br /&gt;
:*&#039;&#039;&#039;Auto&#039;&#039;&#039; - default; tries to determine file type automatically&lt;br /&gt;
:*&#039;&#039;&#039;Classic&#039;&#039;&#039; (.dat or .mine) - Minecraft Classic and SurvivalTest maps&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map)&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv2&#039;&#039;&#039; (.fcm) - used by fCraft prior to version 0.500&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;Indev&#039;&#039;&#039; (.mclevel) - from Minecraft Indev maps&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - MinerCPP and LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Myne&#039;&#039;&#039; (directory-based) - Myne, MyneCraft, Hyvebuild, and iCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-l, --seethroughlava&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Makes all lava partially see-through, instead of opaque.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-m=, --mode=MODE&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Rendering mode. May be &amp;quot;normal&amp;quot; (default), &amp;quot;cut&amp;quot; (cuts out a quarter of the map, revealing inside), &amp;quot;peeled&amp;quot; (strips the outer-most layer of blocks), &amp;quot;chunk&amp;quot; (renders only a specified region of the map).&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-o=, --output=PATH&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Path to save images to. If not specified, images will be saved to the maps&#039; directory.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-q=, --quality=PERCENTAGE&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Sets JPEG compression quality. Between 0 and 100. Default is 80. Applicable only when exporting images to .jpg or .jpeg.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-r, --recursive&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Look through all subdirectories for map files. Applicable only when a directory name is given as input.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;--region=x1,y1,z1,x2,y2,z2&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Region of the map to render. Should be given in following format: &amp;quot;region=x1,y1,z1,x2,y2,z2&amp;quot;. By fCraft&#039;s conventions, x/y are horizontal coordinates (width/length), and z is the vertical coordinate (height). Applicable only when rendering mode is set to &amp;quot;chunk&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-s, --noshadows&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Disables rendering of shadows.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-t=, --threads=NUMBER&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Number of threads to use, to render multiple files in parallel. Default is same as your CPU count (e.g. 2 threads on a dual-core CPU, 4 threads on quad-core, etc).&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-u, --uncropped&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Does not crop the finished map image, leaving some empty space around the edges.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-w, --seethroughwater&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Makes all water see-through, instead of mostly opaque.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-x, --regex&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Enable [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx regular expressions] in [[MapRenderer#-f.3D.2C_--filter.3DPATTERN|&amp;lt;code&amp;gt;--filter&amp;lt;/code&amp;gt; parameter]].&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-y, --overwrite&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Disables asking for confirmation to overwrite existing files.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-?, -h, --help&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Prints usage information and a list of options.&lt;br /&gt;
&lt;br /&gt;
==MapRenderer.exe exit codes==&lt;br /&gt;
:MapRenderer uses a subset of [[MapConverter]]&#039;s exit codes:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Code&lt;br /&gt;
!Meaning&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Success&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ArgumentError&lt;br /&gt;
|Required command-line arguments were missing, or an error occurred while trying to parse options.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|UnrecognizedImporter&lt;br /&gt;
|Given importer name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|InputPathNotFound&lt;br /&gt;
|Given file/directory name does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|PathError&lt;br /&gt;
|Error occurred while trying to check input directory, or error occurred while trying to check/create output directory.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|UnsupportedLoadFormat&lt;br /&gt;
|Given map format name (&amp;quot;importer&amp;quot;) was recognized, but loading from it is not supported.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|UnsupportedSaveFormat&lt;br /&gt;
|Given image format name (&amp;quot;export&amp;quot;) was recognized, but saving to it is not supported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
MapRenderer is powered by a library named &#039;&#039;&#039;IsoCat&#039;&#039;&#039; (now part of fCraft), loosely influenced by [http://www.minecraftforum.net/topic/3218-isocraft/ IsoCraft].&lt;br /&gt;
&lt;br /&gt;
[[File:IsoCatLogo.png|500px]]&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=MapConverter&amp;diff=2610</id>
		<title>MapConverter</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=MapConverter&amp;diff=2610"/>
		<updated>2014-08-01T16:57:29Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{notice|Latest experimental build (with 0.900+ features) can be downloaded here: &#039;&#039;&#039;[http://fCraft.net/download/fCraft_MapUtils_0900_r2344.zip fCraft_MapUtils_0900_r2344.zip]&#039;&#039;&#039;&lt;br /&gt;
This is a portable build, and can be used without fCraft.dll}}&lt;br /&gt;
[[Image:MapConverter-usage-0.630.png|thumb|500px|right|MapConverter usage]]&lt;br /&gt;
MapConverter is a utility, bundled with fCraft {{Changelog|0.630}}+, that can convert mapfiles between different file formats. MapConverter requires &amp;lt;code&amp;gt;fCraft.dll&amp;lt;/code&amp;gt; to function.&lt;br /&gt;
==Usage==&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter [options] -e=ExporterName &amp;quot;MapFile1&amp;quot; &amp;quot;MapFile2&amp;quot; &amp;quot;MapFile3...&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter [options] -e=ExporterName &amp;quot;Directory&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Single file conversion===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -e=MCSharp &amp;quot;filename.dat&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Converts a single file named &amp;quot;filename.dat&amp;quot; to MCSharp format, and saves it to &amp;quot;filename.lvl&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Batch conversion===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -r -e=FCMv3 &amp;quot;C:/maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Finds all map files in &amp;quot;C:/maps&amp;quot;, including files in subdirectories, and converts them to FCMv3 (.fcm) format. Each converted file is saved into the same directory as the original file.&lt;br /&gt;
&lt;br /&gt;
===Moving out conveted maps===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -r -o &amp;quot;C:/converted&amp;quot; -e=FCMv3 &amp;quot;C:/maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Same as above, but converted map files are all placed into &amp;quot;C:/converted&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
===Filtering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -f=builder* -e=Opticraft &amp;quot;old_maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Looks for filenames that start with &amp;quot;builder&amp;quot;, in a directory named &amp;quot;old_files&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
{{notice|Options have alternative short (one-letter) and a long (whole word) forms. You can use either form: &#039;&#039;&#039;&amp;lt;code&amp;gt;-e{{=}}MCSharp&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;--exporter{{=}}MCSharp&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
One-letter flags can be combined: &#039;&#039;&#039;&amp;lt;code&amp;gt;-rty&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;-r -t -y&amp;lt;/code&amp;gt;}}&lt;br /&gt;
===&amp;lt;code&amp;gt;-e=, --exporter=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:REQUIRED: Converter used for exporting/saving maps. Available formats:&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map) - used by old versions D3 server&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - also works for LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
:*&#039;&#039;&#039;Raw&#039;&#039;&#039; (.raw) - block data array, without any metadata&lt;br /&gt;
:*&#039;&#039;&#039;Schematic&#039;&#039;&#039; (.schematic) - classic tileset (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;ModernSchematic&#039;&#039;&#039; (.schematic) - converted-to-modern tileset (for improved compatibility) (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-f=, --filter=PATTERN&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Pattern to filter input filenames, e.g. &amp;lt;code&amp;gt;*.dat&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;builder*&amp;lt;/code&amp;gt;. Applicable only when a directory name is given as input. [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx Regular expressions] can be used in the filter if &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag is given.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-i=, --importer=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Converter used for importing/loading maps. Available importers:&lt;br /&gt;
:*&#039;&#039;&#039;Auto&#039;&#039;&#039; - default; tries to determine file type automatically&lt;br /&gt;
:*&#039;&#039;&#039;Classic&#039;&#039;&#039; (.dat or .mine) - Minecraft Classic and SurvivalTest maps&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map)&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv2&#039;&#039;&#039; (.fcm) - used by fCraft prior to version 0.500&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;Indev&#039;&#039;&#039; (.mclevel) - from Minecraft Indev maps&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - MinerCPP and LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Myne&#039;&#039;&#039; (directory-based) - Myne, MyneCraft, Hyvebuild, and iCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-o=, --output=PATH&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Path to save converted map files to. If not specified, converted maps will be saved to the original maps&#039; directory.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-r, --recursive&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Look through all subdirectories, and convert map files there too. Applicable only when a directory name is given as input.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-t, --tryhard&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Try ALL the map converters on files that MapRenderer has trouble loading. When enabled, ALL map converters are tried, including ones that do not typically handle files with the given file extension.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-x, --regex&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Enable [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx regular expressions] in &amp;quot;filter&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-y, --overwrite&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Do not ask for confirmation to overwrite existing files.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-?, -h, --help&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Prints usage information and a list of options.&lt;br /&gt;
&lt;br /&gt;
==MapConverter.exe edit codes==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Code&lt;br /&gt;
!Meaning&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Success&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ArgumentError&lt;br /&gt;
|Required command-line arguments were missing, or an error occurred while trying to parse options.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|UnrecognizedImporter&lt;br /&gt;
|Given importer name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|UnrecognizedExporter&lt;br /&gt;
|Given exporter name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|InputPathNotFound&lt;br /&gt;
|Given file/directory name does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|PathError&lt;br /&gt;
|Error occurred while trying to check input directory, or error occurred while trying to check/create output directory.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|UnsupportedLoadFormat&lt;br /&gt;
|Given &amp;quot;importer&amp;quot; format name was recognized, but loading from it is not supported.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|UnsupportedSaveFormat&lt;br /&gt;
|Given &amp;quot;exporter&amp;quot; format name was recognized, but saving to it is not supported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=MapConverter&amp;diff=2609</id>
		<title>MapConverter</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=MapConverter&amp;diff=2609"/>
		<updated>2014-08-01T16:55:19Z</updated>

		<summary type="html">&lt;p&gt;F: Updated to reflect changes in 0.900&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:MapConverter-usage-0.630.png|thumb|500px|right|MapConverter usage]]&lt;br /&gt;
MapConverter is a utility, bundled with fCraft {{Changelog|0.630}}+, that can convert mapfiles between different file formats. MapConverter requires &amp;lt;code&amp;gt;fCraft.dll&amp;lt;/code&amp;gt; to function.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter [options] -e=ExporterName &amp;quot;MapFile1&amp;quot; &amp;quot;MapFile2&amp;quot; &amp;quot;MapFile3...&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter [options] -e=ExporterName &amp;quot;Directory&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Single file conversion===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -e=MCSharp &amp;quot;filename.dat&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Converts a single file named &amp;quot;filename.dat&amp;quot; to MCSharp format, and saves it to &amp;quot;filename.lvl&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Batch conversion===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -r -e=FCMv3 &amp;quot;C:/maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Finds all map files in &amp;quot;C:/maps&amp;quot;, including files in subdirectories, and converts them to FCMv3 (.fcm) format. Each converted file is saved into the same directory as the original file.&lt;br /&gt;
&lt;br /&gt;
===Moving out conveted maps===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -r -o &amp;quot;C:/converted&amp;quot; -e=FCMv3 &amp;quot;C:/maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Same as above, but converted map files are all placed into &amp;quot;C:/converted&amp;quot; directory.&lt;br /&gt;
&lt;br /&gt;
===Filtering===&lt;br /&gt;
:&#039;&#039;&#039;&amp;lt;code&amp;gt;MapConverter -f=builder* -e=Opticraft &amp;quot;old_maps&amp;quot;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:Looks for filenames that start with &amp;quot;builder&amp;quot;, in a directory named &amp;quot;old_files&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
{{notice|Options have alternative short (one-letter) and a long (whole word) forms. You can use either form: &#039;&#039;&#039;&amp;lt;code&amp;gt;-e{{=}}MCSharp&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;--exporter{{=}}MCSharp&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
One-letter flags can be combined: &#039;&#039;&#039;&amp;lt;code&amp;gt;-rty&amp;lt;/code&amp;gt;&#039;&#039;&#039; is same as &#039;&#039;&#039;&amp;lt;code&amp;gt;-r -t -y&amp;lt;/code&amp;gt;}}&lt;br /&gt;
===&amp;lt;code&amp;gt;-e=, --exporter=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:REQUIRED: Converter used for exporting/saving maps. Available formats:&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map) - used by old versions D3 server&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - also works for LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
:*&#039;&#039;&#039;Raw&#039;&#039;&#039; (.raw) - block data array, without any metadata&lt;br /&gt;
:*&#039;&#039;&#039;Schematic&#039;&#039;&#039; (.schematic) - classic tileset (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;ModernSchematic&#039;&#039;&#039; (.schematic) - converted-to-modern tileset (for improved compatibility) (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-f=, --filter=PATTERN&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Pattern to filter input filenames, e.g. &amp;lt;code&amp;gt;*.dat&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;builder*&amp;lt;/code&amp;gt;. Applicable only when a directory name is given as input. [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx Regular expressions] can be used in the filter if &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag is given.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-i=, --importer=FORMAT&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Converter used for importing/loading maps. Available importers:&lt;br /&gt;
:*&#039;&#039;&#039;Auto&#039;&#039;&#039; - default; tries to determine file type automatically&lt;br /&gt;
:*&#039;&#039;&#039;Classic&#039;&#039;&#039; (.dat or .mine) - Minecraft Classic and SurvivalTest maps&lt;br /&gt;
:*&#039;&#039;&#039;ClassicWorld&#039;&#039;&#039; (.cw) - used by ClassiCube and fCraft 0.900+ (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;D3&#039;&#039;&#039; (.map)&lt;br /&gt;
:*&#039;&#039;&#039;D3Folder&#039;&#039;&#039; (folder) - used by newer versions of D3 server (&amp;lt;i&amp;gt;new in 0.900&amp;lt;/i&amp;gt;)&lt;br /&gt;
:*&#039;&#039;&#039;FCMv2&#039;&#039;&#039; (.fcm) - used by fCraft prior to version 0.500&lt;br /&gt;
:*&#039;&#039;&#039;FCMv3&#039;&#039;&#039; (.fcm) - used in fCraft 0.500-0.64x&lt;br /&gt;
:*&#039;&#039;&#039;Indev&#039;&#039;&#039; (.mclevel) - from Minecraft Indev maps&lt;br /&gt;
:*&#039;&#039;&#039;JTE&#039;&#039;&#039; (.gz)&lt;br /&gt;
:*&#039;&#039;&#039;MCSharp&#039;&#039;&#039; (.lvl) - MCSharp, FemtoCraft, MCZall, MCLawl, MCForge, etc&lt;br /&gt;
:*&#039;&#039;&#039;MinerCPP&#039;&#039;&#039; (.dat) - MinerCPP and LuaCraft&lt;br /&gt;
:*&#039;&#039;&#039;Myne&#039;&#039;&#039; (directory-based) - Myne, MyneCraft, Hyvebuild, and iCraft&lt;br /&gt;
:*&#039;&#039;&#039;Opticraft&#039;&#039;&#039; (.save)&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-o=, --output=PATH&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Path to save converted map files to. If not specified, converted maps will be saved to the original maps&#039; directory.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-r, --recursive&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Look through all subdirectories, and convert map files there too. Applicable only when a directory name is given as input.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-t, --tryhard&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Try ALL the map converters on files that MapRenderer has trouble loading. When enabled, ALL map converters are tried, including ones that do not typically handle files with the given file extension.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-x, --regex&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Enable [http://msdn.microsoft.com/en-us/library/hs600312%28v=vs.100%29.aspx regular expressions] in &amp;quot;filter&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-y, --overwrite&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Optional: Do not ask for confirmation to overwrite existing files.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;-?, -h, --help&amp;lt;/code&amp;gt;===&lt;br /&gt;
:Prints usage information and a list of options.&lt;br /&gt;
&lt;br /&gt;
==MapConverter.exe edit codes==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Code&lt;br /&gt;
!Meaning&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Success&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ArgumentError&lt;br /&gt;
|Required command-line arguments were missing, or an error occurred while trying to parse options.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|UnrecognizedImporter&lt;br /&gt;
|Given importer name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|UnrecognizedExporter&lt;br /&gt;
|Given exporter name was not recognized.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|InputPathNotFound&lt;br /&gt;
|Given file/directory name does not exist.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|PathError&lt;br /&gt;
|Error occurred while trying to check input directory, or error occurred while trying to check/create output directory.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|UnsupportedLoadFormat&lt;br /&gt;
|Given &amp;quot;importer&amp;quot; format name was recognized, but loading from it is not supported.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|UnsupportedSaveFormat&lt;br /&gt;
|Given &amp;quot;exporter&amp;quot; format name was recognized, but saving to it is not supported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Permissions&amp;diff=2608</id>
		<title>Permissions</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Permissions&amp;diff=2608"/>
		<updated>2014-04-08T16:06:55Z</updated>

		<summary type="html">&lt;p&gt;F: /* Moderation-related */ Improved cross-links to related commands and permissions.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
At the core of fCraft&#039;s rank system are permissions. Each rank can be granted any combination of permissions. Several permissions may also be limited. See also: [[:Category:Commands by Permission|commands by permission]]&lt;br /&gt;
&lt;br /&gt;
==Chat-related==&lt;br /&gt;
====Chat====&lt;br /&gt;
:Ability to write chat, PM players, and use chat commands (like [[/Say]] and [[/Me]]). Note that players without this permission can still use most commands, receive PMs, and read chat.&lt;br /&gt;
&lt;br /&gt;
====Say====&lt;br /&gt;
:Ability to use [[/Say]] command. Requires {{perm|Chat}} permission.&lt;br /&gt;
&lt;br /&gt;
====ReadStaffChat====&lt;br /&gt;
:Ability to read [[/Staff]] chat. Requires {{perm|Chat}} permission.&lt;br /&gt;
&lt;br /&gt;
====UseColorCodes====&lt;br /&gt;
:Ability to use color codes in chat messages.&lt;br /&gt;
&lt;br /&gt;
====UseTimers====&lt;br /&gt;
:Ability to use [[/Timer]] command. Prior to fCraft {{Changelog|0.630}}, this was combined with {{perm|Say}} permission.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Building-related==&lt;br /&gt;
====Build====&lt;br /&gt;
:Ability to place blocks on maps. This is a baseline permission that can be overridden by world-specific and zone-specific permissions.&lt;br /&gt;
&lt;br /&gt;
====Delete====&lt;br /&gt;
:Ability to delete or replace blocks on maps. This too is a baseline permission that can be overridden by world-specific and zone-specific permissions.&lt;br /&gt;
&lt;br /&gt;
====FlushWorlds====&lt;br /&gt;
:Ability to flush pending draw commands with [[/WFlush]]. Prior to fCraft {{Changelog|0.630}}, this was combined with {{perm|ManageWorlds}} permission.&lt;br /&gt;
&lt;br /&gt;
====PlaceGrass====&lt;br /&gt;
:Ability to place grass blocks. Affects [[/Bind]] and [[/Grass]].&lt;br /&gt;
&lt;br /&gt;
====PlaceWater====&lt;br /&gt;
:Ability to place water blocks. Affects [[/Bind]] and [[/Water]].&lt;br /&gt;
&lt;br /&gt;
====PlaceLava====&lt;br /&gt;
:Ability to place lava blocks. Affects [[/Bind]] and [[/Lava]].&lt;br /&gt;
&lt;br /&gt;
====PlaceAdmincrete====&lt;br /&gt;
:Ability to place admincrete blocks. Affects [[/Bind]] and [[/Solid]].&lt;br /&gt;
&lt;br /&gt;
====DeleteAdmincrete====&lt;br /&gt;
:Ability to delete or replace admincrete.&lt;br /&gt;
&lt;br /&gt;
====Draw====&lt;br /&gt;
:Ability to use drawing tools (commands capable of affecting many blocks at once). This permission can be overridden by world-specific and zone-specific building permissions. Affects [[/Cuboid]], [[/CuboidH]], [[/CuboidW]], [[/Ellipsoid]], [[/EllipsoidH]], [[/Line]], [[/Redo]], [[/Replace]], [[/ReplaceNot]], [[/Triangle]], [[/TriangleW]], and [[/Undo]].&lt;br /&gt;
&lt;br /&gt;
====DrawAdvanced====&lt;br /&gt;
:Ability to use advanced drawing tools. Affects [[/Brush]], [[/Fill2D]], [[/ReplaceBrush]], [[/Sphere]], [[/SphereH]], and [[/Torus]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Maintenance-related==&lt;br /&gt;
====EditPlayerDB====&lt;br /&gt;
:Ability to edit the player database directly. This also adds the ability to promote/demote/ban players by name, even if they have not visited the server yet. Also allows to manipulate players&#039; records using [[/SetInfo]], and to promote/demote players in batches using [[/MassRank]].&lt;br /&gt;
&lt;br /&gt;
====Import====&lt;br /&gt;
:Ability to import rank and ban lists from files. Useful if you are switching from another server software. Affects [[/Import]].&lt;br /&gt;
&lt;br /&gt;
====ReloadConfig====&lt;br /&gt;
:Ability to reload the configuration file without restarting. Affects [[/Reload]] command.&lt;br /&gt;
&lt;br /&gt;
====ShutdownServer====&lt;br /&gt;
:Ability to shut down or restart the server remotely. Useful for servers that run on dedicated machines. Affects [[/Shutdown]] and [[/Restart]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Moderation-related==&lt;br /&gt;
====ViewOthersInfo====&lt;br /&gt;
:Ability to view extended information about other players. Affects {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|BlockInfo}}, and {{cmd|Where}}.&lt;br /&gt;
&lt;br /&gt;
====ViewPlayerIPs====&lt;br /&gt;
:Ability to see any players&#039; IP addresses. Affects {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|BanIP}}, and {{cmd|BanAll}}.&lt;br /&gt;
&lt;br /&gt;
====UseSpeedHack====&lt;br /&gt;
:Ability to move at a faster-than-normal rate (using hacks). Hack detection is unreliable, so it&#039;s recommended to grant this ability to all players.&lt;br /&gt;
&lt;br /&gt;
====Kick====&lt;br /&gt;
:Ability to kick players from the server. Limited per-rank. Affects {{cmd|Kick}} command.&lt;br /&gt;
&lt;br /&gt;
====Ban====&lt;br /&gt;
:Ability to ban/unban individual players from the server. Affects {{cmd|Ban}}, {{cmd|Unban}}, and {{cmd|Import}} commands. Limited per-rank.&lt;br /&gt;
&lt;br /&gt;
====BanIP====&lt;br /&gt;
:Ability to ban/unban IP addresses from the server. Affects {{cmd|BanIP}} and {{cmd|UnbanIP}} commands. Requires {{perm|Ban}} permission. Limited per-rank.&lt;br /&gt;
&lt;br /&gt;
====BanAll====&lt;br /&gt;
:Ability to ban/unban a player account, their IP, and all other accounts that used the IP. Affects {{cmd|BanAll}} and {{cmd|UnbanAll}} commands. Requires {{perm|Ban}} and {{perm|BanIP}} permissions. Limited per-rank.&lt;br /&gt;
&lt;br /&gt;
====Promote====&lt;br /&gt;
:Ability to promote players to a higher rank. Affects {{cmd|Rank}}, {{cmd|MassRank}}, and {{cmd|Import}} commands. Limited per-rank.&lt;br /&gt;
&lt;br /&gt;
====Demote====&lt;br /&gt;
:Ability to demote players to a lower rank. Affects {{cmd|Rank}}, {{cmd|MassRank}}, and {{cmd|Import}} commands. Limited per-rank.&lt;br /&gt;
&lt;br /&gt;
====Hide====&lt;br /&gt;
:Ability to appear hidden from other players. You can still chat, build/delete blocks, use all commands, and join worlds while hidden. Hidden players are completely invisible to other players. Affects {{cmd|Hide}} command. Limited per-rank.&lt;br /&gt;
&lt;br /&gt;
====Teleport====&lt;br /&gt;
:Ability to teleport to other players. Affects {{cmd|Tp}} and {{cmd|Patrol}}.&lt;br /&gt;
&lt;br /&gt;
====Bring====&lt;br /&gt;
:Ability to bring/summon other players to your location, or to another player. Affects {{cmd|Bring}} and {{cmd|BringAll}}. Limited per-rank.&lt;br /&gt;
&lt;br /&gt;
====BringAll====&lt;br /&gt;
:Ability to bring/summon many players at a time using {{cmd|BringAll}}. Uses the limits from {{cmd|Bring}} permission.&lt;br /&gt;
&lt;br /&gt;
====Patrol====&lt;br /&gt;
:Ability to patrol lower-ranked players. &amp;quot;Patrolling&amp;quot; means teleporting to other players to check on them, usually while hidden. Affects {{cmd|Patrol}} and {{cmd|SpecPatrol}}. Requires {{perm|Teleport}} permission.&lt;br /&gt;
&lt;br /&gt;
====Spectate====&lt;br /&gt;
:Ability to use {{cmd|Spectate}} and {{cmd|SpecPatrol}}. Requires {{perm|Hide}} permission.&lt;br /&gt;
&lt;br /&gt;
====Freeze====&lt;br /&gt;
:Ability to freeze/unfreeze players. Frozen players cannot move or build/delete. Limited per-rank. Affects {{cmd|Freeze}} and {{cmd|Unfreeze}} commands.&lt;br /&gt;
&lt;br /&gt;
====Mute====&lt;br /&gt;
:Ability to temporarily mute players. Muted players cannot write chat messages or send PMs, but they can still type in commands, receive PMs, and read chat. Works the same as temporarily revoking the {{perm|Chat}} permission. Limited per-rank. Affects {{cmd|Mute}} and {{cmd|Unmute}}.&lt;br /&gt;
&lt;br /&gt;
====SetSpawn====&lt;br /&gt;
:Ability to change the spawn point of a world or a player. Affects {{cmd|SetSpawn}}.&lt;br /&gt;
&lt;br /&gt;
====Lock====&lt;br /&gt;
:Ability to lock/unlock maps. &amp;quot;Locking&amp;quot; a map puts it into a protected read-only state. Affects {{cmd|WLock}} and {{cmd|WUnlock}}.&lt;br /&gt;
&lt;br /&gt;
====ManageZones====&lt;br /&gt;
:Ability to manipulate zones. Affects {{cmd|ZAdd}}, {{cmd|ZEdit}}, {{cmd|ZRemove}}, {{cmd|ZRename}}.&lt;br /&gt;
&lt;br /&gt;
====ManageWorlds====&lt;br /&gt;
:Ability to manipulate the world list and generate new maps. Affects {{cmd|WLoad}}, {{cmd|WUnload}}, {{cmd|WRename}}, {{cmd|WMain}}, {{cmd|WAccess}}, {{cmd|WBuild}}, {{cmd|WFlush}}, and {{cmd|Gen}}.&lt;br /&gt;
&lt;br /&gt;
====UndoOthersActions====&lt;br /&gt;
:Ability to undo actions of other players. Affects {{cmd|UndoArea}}, {{cmd|UndoAreaNot}}, {{cmd|UndoPlayer}}, and {{cmd|UndoPlayerNot}}.&lt;br /&gt;
&lt;br /&gt;
====UndoAll====&lt;br /&gt;
:Ability to undo actions of everyone at once, regardless of {{perm|UndoOthersActions}} limit. Affects {{cmd|UndoArea}}, {{cmd|UndoAreaNot}}, {{cmd|UndoPlayer}}, and {{cmd|UndoPlayerNot}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=/UndoArea&amp;diff=2607</id>
		<title>/UndoArea</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=/UndoArea&amp;diff=2607"/>
		<updated>2014-04-08T15:59:27Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{notice|Prior to fCraft 0.630, order of parameters was reversed: &amp;lt;code&amp;gt;/UndoArea PlayerName BlockCount&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/UndoArea PlayerName TimeSpan&amp;lt;/code&amp;gt;}}&lt;br /&gt;
{{CommandBox&lt;br /&gt;
|name=UndoArea&lt;br /&gt;
|purpose=Undoes block changes in an area.&lt;br /&gt;
|aliases=/UA&lt;br /&gt;
|uses=/UndoArea Blocks Player&lt;br /&gt;
&lt;br /&gt;
/UndoArea Blocks *&lt;br /&gt;
&lt;br /&gt;
/UndoArea Time Player&lt;br /&gt;
&lt;br /&gt;
/UndoArea Time *&lt;br /&gt;
|cat=Moderation&lt;br /&gt;
|perm={{rperm|UndoOthersActions}}, {{perm|UndoAll}}&lt;br /&gt;
|console=No&lt;br /&gt;
|v=0.600&lt;br /&gt;
|}}&lt;br /&gt;
Reverses changes made by given player(s) in the current world, in the given area. One or more player name can be listed, separated by spaces. Always asks for confirmation before undoing anything. Asks for a selection to be made, similar to {{cmd|Cuboid}}. If you&#039;d like to look for changes on the whole map at once, use {{cmd|UndoPlayer}} instead.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;/UndoArea BlockCount PlayerName [AnotherName...]&amp;lt;/code&amp;gt;==&lt;br /&gt;
:Reverses the given number of block changes made by the player(s) in the area.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;/UndoArea BlockCount *&amp;lt;/code&amp;gt;==&lt;br /&gt;
:Reverses the given number of block changes made ANY/ALL players in the area. Requires {{perm|UndoAll}} permission.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;/UndoArea TimeSpan PlayerName [AnotherName...]&amp;lt;/code&amp;gt;==&lt;br /&gt;
:Reserves block changes made by the given player(s) in the area within a certain time interval. Accepts the [[Time_formatting|common time format]].&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;/UndoArea TimeSpan *&amp;lt;/code&amp;gt;==&lt;br /&gt;
:Reserves block changes made by ANY/ALL players in the area within a certain time interval. Effectively rolls area back in time. Requires {{perm|UndoAll}} permission.&lt;br /&gt;
&lt;br /&gt;
==Related Commands==&lt;br /&gt;
*{{cmd|UndoAreaNot}}&lt;br /&gt;
*{{cmd|UndoPlayer}}&lt;br /&gt;
*{{cmd|UndoPlayerNot}}&lt;br /&gt;
*{{cmd|BlockInfo}}&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=/UndoArea&amp;diff=2606</id>
		<title>/UndoArea</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=/UndoArea&amp;diff=2606"/>
		<updated>2014-04-08T15:57:33Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{notice|Prior to fCraft 0.630, order of parameters was reversed: &amp;lt;code&amp;gt;/UndoArea PlayerName BlockCount&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/UndoArea PlayerName TimeSpan&amp;lt;/code&amp;gt;}}&lt;br /&gt;
{{CommandBox&lt;br /&gt;
|name=UndoArea&lt;br /&gt;
|purpose=Undoes block changes in an area.&lt;br /&gt;
|aliases=/UA&lt;br /&gt;
|uses=/UndoArea Blocks Player&lt;br /&gt;
&lt;br /&gt;
/UndoArea Blocks *&lt;br /&gt;
&lt;br /&gt;
/UndoArea Time Player&lt;br /&gt;
&lt;br /&gt;
/UndoArea Time *&lt;br /&gt;
|cat=Moderation&lt;br /&gt;
|perm={{rperm|UndoOthersActions}}&lt;br /&gt;
&lt;br /&gt;
{{perm|UndoAll}}&lt;br /&gt;
|console=No&lt;br /&gt;
|v=0.600&lt;br /&gt;
|}}&lt;br /&gt;
Reverses changes made by given player(s) in the current world, in the given area. One or more player name can be listed, separated by spaces. Always asks for confirmation before undoing anything. Asks for a selection to be made, similar to {{cmd|Cuboid}}. If you&#039;d like to look for changes on the whole map at once, use {{cmd|UndoPlayer}} instead.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;/UndoArea BlockCount PlayerName [AnotherName...]&amp;lt;/code&amp;gt;==&lt;br /&gt;
:Reverses the given number of block changes made by the player(s) in the area.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;/UndoArea BlockCount *&amp;lt;/code&amp;gt;==&lt;br /&gt;
:Reverses the given number of block changes made ANY/ALL players in the area. Requires {{perm|UndoAll}} permission.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;/UndoArea TimeSpan PlayerName [AnotherName...]&amp;lt;/code&amp;gt;==&lt;br /&gt;
:Reserves block changes made by the given player(s) in the area within a certain time interval. Accepts the [[Time_formatting|common time format]].&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;/UndoArea TimeSpan *&amp;lt;/code&amp;gt;==&lt;br /&gt;
:Reserves block changes made by ANY/ALL players in the area within a certain time interval. Effectively rolls area back in time. Requires {{perm|UndoAll}} permission.&lt;br /&gt;
&lt;br /&gt;
==Related Commands==&lt;br /&gt;
*{{cmd|UndoAreaNot}}&lt;br /&gt;
*{{cmd|UndoPlayer}}&lt;br /&gt;
*{{cmd|UndoPlayerNot}}&lt;br /&gt;
*{{cmd|BlockInfo}}&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=/UndoArea&amp;diff=2605</id>
		<title>/UndoArea</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=/UndoArea&amp;diff=2605"/>
		<updated>2014-04-08T15:56:22Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{notice|Prior to fCraft 0.630, order of parameters was reversed: &amp;lt;code&amp;gt;/UndoArea PlayerName BlockCount&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/UndoArea PlayerName TimeSpan&amp;lt;/code&amp;gt;}}&lt;br /&gt;
{{CommandBox&lt;br /&gt;
|name=UndoArea&lt;br /&gt;
|purpose=Undoes block changes in an area.&lt;br /&gt;
|aliases=/UA&lt;br /&gt;
|uses=/UndoArea Blocks Player&lt;br /&gt;
&lt;br /&gt;
/UndoArea Blocks *&lt;br /&gt;
&lt;br /&gt;
/UndoArea Time Player&lt;br /&gt;
&lt;br /&gt;
/UndoArea Time *&lt;br /&gt;
|cat=Moderation&lt;br /&gt;
|perm={{rperm|UndoOthersActions}}&lt;br /&gt;
|console=No&lt;br /&gt;
|v=0.600&lt;br /&gt;
|}}&lt;br /&gt;
Reverses changes made by given player(s) in the current world, in the given area. One or more player name can be listed, separated by spaces. Always asks for confirmation before undoing anything. Asks for a selection to be made, similar to {{cmd|Cuboid}}. If you&#039;d like to look for changes on the whole map at once, use {{cmd|UndoPlayer}} instead.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;/UndoArea BlockCount PlayerName [AnotherName...]&amp;lt;/code&amp;gt;==&lt;br /&gt;
:Reverses the given number of block changes made by the player(s) in the area.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;/UndoArea BlockCount *&amp;lt;/code&amp;gt;==&lt;br /&gt;
:Reverses the given number of block changes made ANY/ALL players in the area. Requires {{rperm|UndoAll}} permission.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;/UndoArea TimeSpan PlayerName [AnotherName...]&amp;lt;/code&amp;gt;==&lt;br /&gt;
:Reserves block changes made by the given player(s) in the area within a certain time interval. Accepts the [[Time_formatting|common time format]].&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;code&amp;gt;/UndoArea TimeSpan *&amp;lt;/code&amp;gt;==&lt;br /&gt;
:Reserves block changes made by ANY/ALL players in the area within a certain time interval. Effectively rolls area back in time. Requires {{perm|UndoAll}} permission.&lt;br /&gt;
&lt;br /&gt;
==Related Commands==&lt;br /&gt;
*{{cmd|UndoAreaNot}}&lt;br /&gt;
*{{cmd|UndoPlayer}}&lt;br /&gt;
*{{cmd|UndoPlayerNot}}&lt;br /&gt;
*{{cmd|BlockInfo}}&lt;br /&gt;
&lt;br /&gt;
{{LastUpdated|1650}}&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=PlayerDB.txt&amp;diff=2604</id>
		<title>PlayerDB.txt</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=PlayerDB.txt&amp;diff=2604"/>
		<updated>2014-02-28T07:31:26Z</updated>

		<summary type="html">&lt;p&gt;F: /* Enums */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File PlayerDB.txt is used by fCraft to store persistent player information. Each line in the file (after the header) represents one player record.&lt;br /&gt;
&lt;br /&gt;
==Formatting==&lt;br /&gt;
====Numbers====&lt;br /&gt;
:All numbers are nonnegative integers, written out with decimal digits. Empty string or any invalid value is interpreted as 0.&lt;br /&gt;
====Dates====&lt;br /&gt;
:Dates are saved as number of seconds since UTC [http://en.wikipedia.org/wiki/Unix_time Unix Epoch]. Value of &amp;quot;0&amp;quot;, empty string, or any invalid value is interpreted as &amp;quot;never&amp;quot; (represented internally as DateTime.MinValue). &lt;br /&gt;
====Time spans====&lt;br /&gt;
:Time spans are stored as number of seconds. They cannot be negative. Empty string or any invalid value is interpreted as 0.&lt;br /&gt;
====IP Addresses====&lt;br /&gt;
:IPs are serialized in dotted decimal notation (e.g. &amp;quot;192.168.1.1&amp;quot;). Only IPv4 addresses are used &amp;amp;mdash; no IPv6. Empty string, any invalid value, or &amp;quot;255.255.255.255&amp;quot; are interpreted as &amp;quot;unknown&amp;quot; address.&lt;br /&gt;
====Strings====&lt;br /&gt;
:Strings are encoded as ASCII. Escaped characters are &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (comma), &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; (new line), and &amp;lt;code&amp;gt;\r&amp;lt;/code&amp;gt; (carriage return) &amp;amp;mdash; they are replaced with &amp;lt;code&amp;gt;\xFF&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;\xFE&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;\xFD&amp;lt;/code&amp;gt; respectively. There is no practical limit on string length, aside from [http://stackoverflow.com/a/140749/383361 .NET&#039;s internal 1-billion-character limit]. Parsing strings ends at the nearest non-escaped comma.&lt;br /&gt;
====Enums====&lt;br /&gt;
:Enumerations are represented by one character or digit. Interpretation of empty strings and invalid values varies field-to-field. See the table below for specifics.&lt;br /&gt;
&lt;br /&gt;
==Header==&lt;br /&gt;
First line of PlayerDB.txt is the header. It starts with two numbers:&lt;br /&gt;
*&#039;&#039;&#039;MaxID&#039;&#039;&#039;&lt;br /&gt;
:Next available player ID number. In practice the value is not used, since the server re-computes the number (by finding highest used ID) every time it loads PlayerDB.&lt;br /&gt;
*&#039;&#039;&#039;FormatVersion&#039;&#039;&#039;&lt;br /&gt;
:PlayerDB file format version. fCraft {{Changelog|0.600}} and later releases use version &#039;&#039;&#039;&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&#039;&#039;&#039;. This article describes only this current format.&lt;br /&gt;
The rest of the header line describes the row format. For example:&lt;br /&gt;
:&amp;lt;code style=&amp;quot;word-wrap: break-word&amp;quot;&amp;gt;7383&amp;amp;nbsp;5&amp;amp;nbsp;fCraft&amp;amp;nbsp;PlayerDB&amp;amp;nbsp;|&amp;amp;nbsp;Row&amp;amp;nbsp;format:&amp;amp;nbsp;Name,IPAddress,Rank,RankChangeDate,RankChangedBy,Banned,BanDate,BannedBy,UnbanDate,UnbannedBy,BanReason,UnbanReason,LastFailedLoginDate,LastFailedLoginIP,UNUSED,FirstLoginDate,LastLoginDate,TotalTime,BlocksBuilt,BlocksDeleted,TimesVisited,MessagesWritten,UNUSED,UNUSED,PreviousRank,RankChangeReason,TimesKicked,TimesKickedOthers,TimesBannedOthers,ID,RankChangeType,LastKickDate,LastSeen,BlocksDrawn,LastKickBy,LastKickReason,BannedUntil,IsFrozen,FrozenBy,FrozenOn,MutedUntil,MutedBy,Password,IsOnline,BandwidthUseMode,IsHidden,LastModified,DisplayedName,AccountType,Email&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Columns==&lt;br /&gt;
Each row after the header represents one player record. Fields are comma-separated. Note that column numbers in this table start with 1, not 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Order&lt;br /&gt;
!Name&lt;br /&gt;
!Data Type&lt;br /&gt;
!Purpose&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
!1&lt;br /&gt;
|Name&lt;br /&gt;
|String&lt;br /&gt;
|Player&#039;s account name.&lt;br /&gt;
|Invalid values cause whole record to be skipped. Regex used to verify validity:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;^([a-zA-Z0-9._]{2,16}|[a-zA-Z0-9._]{1,15}@\d*)$&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!2&lt;br /&gt;
|LastIP&lt;br /&gt;
|IPAddress&lt;br /&gt;
|For offline players, last IP used to successfully log in.&lt;br /&gt;
For online players, current IP.&lt;br /&gt;
|May be blank (&amp;quot;none&amp;quot;) for players whose records were imported.&lt;br /&gt;
|-&lt;br /&gt;
!3&lt;br /&gt;
|Rank&lt;br /&gt;
|String&lt;br /&gt;
|Player&#039;s current rank.&lt;br /&gt;
|Full rank name. Saved as &amp;quot;RankName#UUID&amp;quot;, where UUID is rank&#039;s alphanumeric universally unique identifier.&lt;br /&gt;
fCraft always saves ranks in this &amp;quot;full&amp;quot; format, but it can read rank name without ID as well.&lt;br /&gt;
&lt;br /&gt;
If parsing fails, default rank is assigned to player. Rank name is case-insensitive, but UUID is case-sensitive.&lt;br /&gt;
&lt;br /&gt;
String not escaped.&lt;br /&gt;
|-&lt;br /&gt;
!4&lt;br /&gt;
|RankChangeDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of the most recent promotion/demotion.&lt;br /&gt;
|Defaults to &amp;quot;never&amp;quot; for players who have never been ranked.&lt;br /&gt;
|-&lt;br /&gt;
!5&lt;br /&gt;
|RankChangedBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently promoted/demoted this player.&lt;br /&gt;
|Not necessarily a valid player name. May be blank. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!6&lt;br /&gt;
|BanStatus&lt;br /&gt;
|Enum&lt;br /&gt;
|Player&#039;s current BanStatus: Banned, NotBanned, or Exempt.&lt;br /&gt;
|One or zero characters long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&#039;&#039;&#039; = player is currently banned.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&#039;&#039;&#039; = player is exempt from all bans.&lt;br /&gt;
*Any other value = neither banned nor exempt.&lt;br /&gt;
|-&lt;br /&gt;
!7&lt;br /&gt;
|BanDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of most recent ban.&lt;br /&gt;
|Defaults to &amp;quot;never&amp;quot; for players who have never been banned.&lt;br /&gt;
|-&lt;br /&gt;
!8&lt;br /&gt;
|BannedBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently banned this player.&lt;br /&gt;
|Only read if BanDate was set. May be blank. Not necessarily a valid player name. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!9&lt;br /&gt;
|UnbanDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of most recent unban.&lt;br /&gt;
|Defaults to &amp;quot;never&amp;quot; for players who have never been unbanned.&lt;br /&gt;
|-&lt;br /&gt;
!10&lt;br /&gt;
|UnbannedBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently unbanned this player.&lt;br /&gt;
|Only read if UnbanDate was set. May be blank. Not necessarily a valid player name. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!11&lt;br /&gt;
|BanReason&lt;br /&gt;
|String&lt;br /&gt;
|Reason given for the most recent ban.&lt;br /&gt;
|Only read if BanDate was set. May be blank. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!12&lt;br /&gt;
|UnbanReason&lt;br /&gt;
|String&lt;br /&gt;
|Reason given for the most recent unban.&lt;br /&gt;
|Only read if UnbanDate was set. May be blank. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!13&lt;br /&gt;
|LastFailedLoginDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of most recent failed attempt to log in.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!14&lt;br /&gt;
|LastFailedLoginIP&lt;br /&gt;
|IPAddress&lt;br /&gt;
|IP from which player most recently tried (and failed) to log in.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!15&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|No longer in use. Skip.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!16&lt;br /&gt;
|FirstLoginDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|First time the player ever attempted to log in.&lt;br /&gt;
|May be &amp;quot;never&amp;quot; for players whose records were imported.&lt;br /&gt;
|-&lt;br /&gt;
!17&lt;br /&gt;
|LastLoginDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Most recent time the player successfully logged in.&lt;br /&gt;
|May be &amp;quot;never&amp;quot; for players whose records were imported.&lt;br /&gt;
|-&lt;br /&gt;
!18&lt;br /&gt;
|TotalTime&lt;br /&gt;
|TimeSpan&lt;br /&gt;
|Total amount of time the player spent on this server.&lt;br /&gt;
|May be 0 for players whose records were imported.&lt;br /&gt;
|-&lt;br /&gt;
!19&lt;br /&gt;
|BlocksBuilt&lt;br /&gt;
|Int32&lt;br /&gt;
|Total number of blocks manually built or painted by the player.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!20&lt;br /&gt;
|BlocksDeleted&lt;br /&gt;
|Int32&lt;br /&gt;
|Total number of blocks manually deleted by the player.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!21&lt;br /&gt;
|TimesVisited&lt;br /&gt;
|Int32&lt;br /&gt;
|Number of sessions/logins.&lt;br /&gt;
|May be 0 for players whose records were imported.&lt;br /&gt;
|-&lt;br /&gt;
!22&lt;br /&gt;
|MessagesWritten&lt;br /&gt;
|Int32&lt;br /&gt;
|Total number of chat messages written.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!23&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|No longer in use by fCraft. Skip.&lt;br /&gt;
|Used by 800craft (fCraft mod) for &amp;quot;PromoCount&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!24&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|No longer in use by fCraft. Skip.&lt;br /&gt;
|Used by 800craft (fCraft mod) for &amp;quot;TitleName&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!25&lt;br /&gt;
|PreviousRank&lt;br /&gt;
|String&lt;br /&gt;
|Player&#039;s previous rank.&lt;br /&gt;
|Same parsing rules as the &amp;quot;Rank&amp;quot; column.&lt;br /&gt;
|-&lt;br /&gt;
!26&lt;br /&gt;
|RankChangeReason&lt;br /&gt;
|String&lt;br /&gt;
|Reason given for the most recent promotion/demotion.&lt;br /&gt;
|May be blank. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!27&lt;br /&gt;
|TimesKicked&lt;br /&gt;
|Int32&lt;br /&gt;
|Number of times that this player has been manually kicked.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!28&lt;br /&gt;
|TimesKickedOthers&lt;br /&gt;
|Int32&lt;br /&gt;
|Number of kicks issues by this player.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!29&lt;br /&gt;
|TimesBannedOthers&lt;br /&gt;
|Int32&lt;br /&gt;
|Number of bans issued by this player.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!30&lt;br /&gt;
|ID&lt;br /&gt;
|Int32&lt;br /&gt;
|Player&#039;s unique numeric ID. Issued on first join.&lt;br /&gt;
|IDs 0-255 are reserved. Player IDs start with 256. If anyone&#039;s ID in file is below 256, a new one is assigned on-load.&lt;br /&gt;
|-&lt;br /&gt;
!31&lt;br /&gt;
|RankChangeType&lt;br /&gt;
|Enum&lt;br /&gt;
|Type of the most recent promotion/demotion.&lt;br /&gt;
|One digit long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Default (never been promoted or demoted)&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Promoted (manually by another player or by console)&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Demoted (manually by another player or by console)&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&#039;&#039;&#039; = AutoPromoted (e.g. by AutoRank)&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&#039;&#039;&#039; = AutoDemoted (e.g. by AutoRank)&lt;br /&gt;
If blank or unrecognized value is given, either &amp;quot;Default&amp;quot;, &amp;quot;Promoted&amp;quot;, or &amp;quot;Demoted&amp;quot; is chosen based on values of Rank and PreviousRank.&lt;br /&gt;
|-&lt;br /&gt;
!32&lt;br /&gt;
|LastKickDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of the most recent kick.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!33&lt;br /&gt;
|LastSeen&lt;br /&gt;
|DateTime&lt;br /&gt;
|Last time the player has been seen online.&lt;br /&gt;
Last logout date for offline players; current time for online players.&lt;br /&gt;
|May be &amp;quot;never&amp;quot; if player has never been online.&lt;br /&gt;
|-&lt;br /&gt;
!34&lt;br /&gt;
|BlocksDrawn&lt;br /&gt;
|Int64&lt;br /&gt;
|Total number of blocks modified using draw and copy/paste commands.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!35&lt;br /&gt;
|LastKickBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently kicked this player.&lt;br /&gt;
|May be blank. Not necessarily a valid player name. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!36&lt;br /&gt;
|LastKickReason&lt;br /&gt;
|String&lt;br /&gt;
|Reason given for the most recent kick.&lt;br /&gt;
|May be blank. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!37&lt;br /&gt;
|BannedUntil&lt;br /&gt;
|DateTime&lt;br /&gt;
|Reserved for future use (temp bans).&lt;br /&gt;
|&#039;&#039;Currently unused.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!38&lt;br /&gt;
|IsFrozen&lt;br /&gt;
|Enum&lt;br /&gt;
|Whether this player is currently frozen.&lt;br /&gt;
|One or zero characters long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&#039;&#039;&#039; = this player is frozen.&lt;br /&gt;
*Any other value = not frozen.&lt;br /&gt;
|-&lt;br /&gt;
!39&lt;br /&gt;
|FrozenBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently froze this player.&lt;br /&gt;
|May be blank. Not necessarily a valid player name. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!40&lt;br /&gt;
|FrozenOn&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of the most recent freezing of this player.&lt;br /&gt;
|May be &amp;quot;never&amp;quot; if this player has never been frozen.&lt;br /&gt;
|-&lt;br /&gt;
!41&lt;br /&gt;
|MutedUntil&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date until which the player is muted.&lt;br /&gt;
|If the date is &amp;quot;never&amp;quot; or is in the past, player is NOT muted.&lt;br /&gt;
|-&lt;br /&gt;
!42&lt;br /&gt;
|MutedBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently froze this player.&lt;br /&gt;
|May be blank. Not necessarily a valid player name. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!43&lt;br /&gt;
|Password&lt;br /&gt;
|String&lt;br /&gt;
|Reserved for future use (IRC or account passwords).&lt;br /&gt;
|&#039;&#039;Currently unused.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!44&lt;br /&gt;
|IsOnline&lt;br /&gt;
|Enum&lt;br /&gt;
|Whether this player is currently online.&lt;br /&gt;
|One or zero characters long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&#039;&#039;&#039; = this player was online at the time PlayerDB was saved.&lt;br /&gt;
*Any other value = player was offline.&lt;br /&gt;
Hidden players who may appear offline in-game are still shown as &amp;quot;online&amp;quot; in this column.&lt;br /&gt;
|-&lt;br /&gt;
!45&lt;br /&gt;
|BandwidthUseMode&lt;br /&gt;
|Enum&lt;br /&gt;
|Player&#039;s custom bandwidth use mode.&lt;br /&gt;
|Zero or one digit long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Use server default&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&#039;&#039;&#039; = VeryLow&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Low&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Normal&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&#039;&#039;&#039; = High&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&#039;&#039;&#039; = VeryHigh&lt;br /&gt;
See [[List_of_config_keys#Advanced|BandwidthUseMode config key]] documentation for a detailed explanation of the options.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All columns prior to this are mandatory. 46&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; and later columns are &amp;quot;optional&amp;quot;, in the sense that current version of fCraft is able to read files without them, for compatibility reasons. These columns have been added in fCraft versions {{Changelog|0.600}} and later.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Order&lt;br /&gt;
!Name&lt;br /&gt;
!Data Type&lt;br /&gt;
!Purpose&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
!46&lt;br /&gt;
|IsHidden&lt;br /&gt;
|Enum&lt;br /&gt;
|Whether the player is currently hidden.&lt;br /&gt;
|One or zero characters long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&#039;&#039;&#039; = this player is hidden.&lt;br /&gt;
*Any other value = player is not hidden.&lt;br /&gt;
|-&lt;br /&gt;
!47&lt;br /&gt;
|LastModified&lt;br /&gt;
|DateTime&lt;br /&gt;
|Time of most recent modification of this record&#039;s fields.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!48&lt;br /&gt;
|DisplayedName&lt;br /&gt;
|String&lt;br /&gt;
|Replaces Name when printing name in chat.&lt;br /&gt;
|May be blank (meaning &amp;quot;use normal Name&amp;quot;). Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!49&lt;br /&gt;
|AccountType&lt;br /&gt;
|Enum&lt;br /&gt;
|Minecraft.net account type (paid/free/unknown).&lt;br /&gt;
|One or zero characters long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Free minecraft.net account (may some day be upgraded to &amp;quot;Paid&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Paid minecraft.net account.&lt;br /&gt;
*Any other value = Unknown account type (could be free or paid).&lt;br /&gt;
|-&lt;br /&gt;
!50&lt;br /&gt;
|Email&lt;br /&gt;
|String&lt;br /&gt;
|For Mojang accounts, player&#039;s email address.&lt;br /&gt;
|Blank for all regular accounts. Escaped.&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Dev]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=PlayerDB.txt&amp;diff=2603</id>
		<title>PlayerDB.txt</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=PlayerDB.txt&amp;diff=2603"/>
		<updated>2014-02-28T07:30:18Z</updated>

		<summary type="html">&lt;p&gt;F: Clarified data types&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File PlayerDB.txt is used by fCraft to store persistent player information. Each line in the file (after the header) represents one player record.&lt;br /&gt;
&lt;br /&gt;
==Formatting==&lt;br /&gt;
====Numbers====&lt;br /&gt;
:All numbers are nonnegative integers, written out with decimal digits. Empty string or any invalid value is interpreted as 0.&lt;br /&gt;
====Dates====&lt;br /&gt;
:Dates are saved as number of seconds since UTC [http://en.wikipedia.org/wiki/Unix_time Unix Epoch]. Value of &amp;quot;0&amp;quot;, empty string, or any invalid value is interpreted as &amp;quot;never&amp;quot; (represented internally as DateTime.MinValue). &lt;br /&gt;
====Time spans====&lt;br /&gt;
:Time spans are stored as number of seconds. They cannot be negative. Empty string or any invalid value is interpreted as 0.&lt;br /&gt;
====IP Addresses====&lt;br /&gt;
:IPs are serialized in dotted decimal notation (e.g. &amp;quot;192.168.1.1&amp;quot;). Only IPv4 addresses are used &amp;amp;mdash; no IPv6. Empty string, any invalid value, or &amp;quot;255.255.255.255&amp;quot; are interpreted as &amp;quot;unknown&amp;quot; address.&lt;br /&gt;
====Strings====&lt;br /&gt;
:Strings are encoded as ASCII. Escaped characters are &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (comma), &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; (new line), and &amp;lt;code&amp;gt;\r&amp;lt;/code&amp;gt; (carriage return) &amp;amp;mdash; they are replaced with &amp;lt;code&amp;gt;\xFF&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;\xFE&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;\xFD&amp;lt;/code&amp;gt; respectively. There is no practical limit on string length, aside from [http://stackoverflow.com/a/140749/383361 .NET&#039;s internal 1-billion-character limit]. Parsing strings ends at the nearest non-escaped comma.&lt;br /&gt;
====Enums====&lt;br /&gt;
:Enumerations are represented by one character or digit. Empty string or any invalid value is interpreted as the default value for given field (specified for each enum field in the table below).&lt;br /&gt;
&lt;br /&gt;
==Header==&lt;br /&gt;
First line of PlayerDB.txt is the header. It starts with two numbers:&lt;br /&gt;
*&#039;&#039;&#039;MaxID&#039;&#039;&#039;&lt;br /&gt;
:Next available player ID number. In practice the value is not used, since the server re-computes the number (by finding highest used ID) every time it loads PlayerDB.&lt;br /&gt;
*&#039;&#039;&#039;FormatVersion&#039;&#039;&#039;&lt;br /&gt;
:PlayerDB file format version. fCraft {{Changelog|0.600}} and later releases use version &#039;&#039;&#039;&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&#039;&#039;&#039;. This article describes only this current format.&lt;br /&gt;
The rest of the header line describes the row format. For example:&lt;br /&gt;
:&amp;lt;code style=&amp;quot;word-wrap: break-word&amp;quot;&amp;gt;7383&amp;amp;nbsp;5&amp;amp;nbsp;fCraft&amp;amp;nbsp;PlayerDB&amp;amp;nbsp;|&amp;amp;nbsp;Row&amp;amp;nbsp;format:&amp;amp;nbsp;Name,IPAddress,Rank,RankChangeDate,RankChangedBy,Banned,BanDate,BannedBy,UnbanDate,UnbannedBy,BanReason,UnbanReason,LastFailedLoginDate,LastFailedLoginIP,UNUSED,FirstLoginDate,LastLoginDate,TotalTime,BlocksBuilt,BlocksDeleted,TimesVisited,MessagesWritten,UNUSED,UNUSED,PreviousRank,RankChangeReason,TimesKicked,TimesKickedOthers,TimesBannedOthers,ID,RankChangeType,LastKickDate,LastSeen,BlocksDrawn,LastKickBy,LastKickReason,BannedUntil,IsFrozen,FrozenBy,FrozenOn,MutedUntil,MutedBy,Password,IsOnline,BandwidthUseMode,IsHidden,LastModified,DisplayedName,AccountType,Email&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Columns==&lt;br /&gt;
Each row after the header represents one player record. Fields are comma-separated. Note that column numbers in this table start with 1, not 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Order&lt;br /&gt;
!Name&lt;br /&gt;
!Data Type&lt;br /&gt;
!Purpose&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
!1&lt;br /&gt;
|Name&lt;br /&gt;
|String&lt;br /&gt;
|Player&#039;s account name.&lt;br /&gt;
|Invalid values cause whole record to be skipped. Regex used to verify validity:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;^([a-zA-Z0-9._]{2,16}|[a-zA-Z0-9._]{1,15}@\d*)$&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!2&lt;br /&gt;
|LastIP&lt;br /&gt;
|IPAddress&lt;br /&gt;
|For offline players, last IP used to successfully log in.&lt;br /&gt;
For online players, current IP.&lt;br /&gt;
|May be blank (&amp;quot;none&amp;quot;) for players whose records were imported.&lt;br /&gt;
|-&lt;br /&gt;
!3&lt;br /&gt;
|Rank&lt;br /&gt;
|String&lt;br /&gt;
|Player&#039;s current rank.&lt;br /&gt;
|Full rank name. Saved as &amp;quot;RankName#UUID&amp;quot;, where UUID is rank&#039;s alphanumeric universally unique identifier.&lt;br /&gt;
fCraft always saves ranks in this &amp;quot;full&amp;quot; format, but it can read rank name without ID as well.&lt;br /&gt;
&lt;br /&gt;
If parsing fails, default rank is assigned to player. Rank name is case-insensitive, but UUID is case-sensitive.&lt;br /&gt;
&lt;br /&gt;
String not escaped.&lt;br /&gt;
|-&lt;br /&gt;
!4&lt;br /&gt;
|RankChangeDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of the most recent promotion/demotion.&lt;br /&gt;
|Defaults to &amp;quot;never&amp;quot; for players who have never been ranked.&lt;br /&gt;
|-&lt;br /&gt;
!5&lt;br /&gt;
|RankChangedBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently promoted/demoted this player.&lt;br /&gt;
|Not necessarily a valid player name. May be blank. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!6&lt;br /&gt;
|BanStatus&lt;br /&gt;
|Enum&lt;br /&gt;
|Player&#039;s current BanStatus: Banned, NotBanned, or Exempt.&lt;br /&gt;
|One or zero characters long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&#039;&#039;&#039; = player is currently banned.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&#039;&#039;&#039; = player is exempt from all bans.&lt;br /&gt;
*Any other value = neither banned nor exempt.&lt;br /&gt;
|-&lt;br /&gt;
!7&lt;br /&gt;
|BanDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of most recent ban.&lt;br /&gt;
|Defaults to &amp;quot;never&amp;quot; for players who have never been banned.&lt;br /&gt;
|-&lt;br /&gt;
!8&lt;br /&gt;
|BannedBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently banned this player.&lt;br /&gt;
|Only read if BanDate was set. May be blank. Not necessarily a valid player name. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!9&lt;br /&gt;
|UnbanDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of most recent unban.&lt;br /&gt;
|Defaults to &amp;quot;never&amp;quot; for players who have never been unbanned.&lt;br /&gt;
|-&lt;br /&gt;
!10&lt;br /&gt;
|UnbannedBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently unbanned this player.&lt;br /&gt;
|Only read if UnbanDate was set. May be blank. Not necessarily a valid player name. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!11&lt;br /&gt;
|BanReason&lt;br /&gt;
|String&lt;br /&gt;
|Reason given for the most recent ban.&lt;br /&gt;
|Only read if BanDate was set. May be blank. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!12&lt;br /&gt;
|UnbanReason&lt;br /&gt;
|String&lt;br /&gt;
|Reason given for the most recent unban.&lt;br /&gt;
|Only read if UnbanDate was set. May be blank. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!13&lt;br /&gt;
|LastFailedLoginDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of most recent failed attempt to log in.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!14&lt;br /&gt;
|LastFailedLoginIP&lt;br /&gt;
|IPAddress&lt;br /&gt;
|IP from which player most recently tried (and failed) to log in.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!15&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|No longer in use. Skip.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!16&lt;br /&gt;
|FirstLoginDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|First time the player ever attempted to log in.&lt;br /&gt;
|May be &amp;quot;never&amp;quot; for players whose records were imported.&lt;br /&gt;
|-&lt;br /&gt;
!17&lt;br /&gt;
|LastLoginDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Most recent time the player successfully logged in.&lt;br /&gt;
|May be &amp;quot;never&amp;quot; for players whose records were imported.&lt;br /&gt;
|-&lt;br /&gt;
!18&lt;br /&gt;
|TotalTime&lt;br /&gt;
|TimeSpan&lt;br /&gt;
|Total amount of time the player spent on this server.&lt;br /&gt;
|May be 0 for players whose records were imported.&lt;br /&gt;
|-&lt;br /&gt;
!19&lt;br /&gt;
|BlocksBuilt&lt;br /&gt;
|Int32&lt;br /&gt;
|Total number of blocks manually built or painted by the player.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!20&lt;br /&gt;
|BlocksDeleted&lt;br /&gt;
|Int32&lt;br /&gt;
|Total number of blocks manually deleted by the player.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!21&lt;br /&gt;
|TimesVisited&lt;br /&gt;
|Int32&lt;br /&gt;
|Number of sessions/logins.&lt;br /&gt;
|May be 0 for players whose records were imported.&lt;br /&gt;
|-&lt;br /&gt;
!22&lt;br /&gt;
|MessagesWritten&lt;br /&gt;
|Int32&lt;br /&gt;
|Total number of chat messages written.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!23&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|No longer in use by fCraft. Skip.&lt;br /&gt;
|Used by 800craft (fCraft mod) for &amp;quot;PromoCount&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!24&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|No longer in use by fCraft. Skip.&lt;br /&gt;
|Used by 800craft (fCraft mod) for &amp;quot;TitleName&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!25&lt;br /&gt;
|PreviousRank&lt;br /&gt;
|String&lt;br /&gt;
|Player&#039;s previous rank.&lt;br /&gt;
|Same parsing rules as the &amp;quot;Rank&amp;quot; column.&lt;br /&gt;
|-&lt;br /&gt;
!26&lt;br /&gt;
|RankChangeReason&lt;br /&gt;
|String&lt;br /&gt;
|Reason given for the most recent promotion/demotion.&lt;br /&gt;
|May be blank. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!27&lt;br /&gt;
|TimesKicked&lt;br /&gt;
|Int32&lt;br /&gt;
|Number of times that this player has been manually kicked.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!28&lt;br /&gt;
|TimesKickedOthers&lt;br /&gt;
|Int32&lt;br /&gt;
|Number of kicks issues by this player.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!29&lt;br /&gt;
|TimesBannedOthers&lt;br /&gt;
|Int32&lt;br /&gt;
|Number of bans issued by this player.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!30&lt;br /&gt;
|ID&lt;br /&gt;
|Int32&lt;br /&gt;
|Player&#039;s unique numeric ID. Issued on first join.&lt;br /&gt;
|IDs 0-255 are reserved. Player IDs start with 256. If anyone&#039;s ID in file is below 256, a new one is assigned on-load.&lt;br /&gt;
|-&lt;br /&gt;
!31&lt;br /&gt;
|RankChangeType&lt;br /&gt;
|Enum&lt;br /&gt;
|Type of the most recent promotion/demotion.&lt;br /&gt;
|One digit long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Default (never been promoted or demoted)&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Promoted (manually by another player or by console)&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Demoted (manually by another player or by console)&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&#039;&#039;&#039; = AutoPromoted (e.g. by AutoRank)&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&#039;&#039;&#039; = AutoDemoted (e.g. by AutoRank)&lt;br /&gt;
If blank or unrecognized value is given, either &amp;quot;Default&amp;quot;, &amp;quot;Promoted&amp;quot;, or &amp;quot;Demoted&amp;quot; is chosen based on values of Rank and PreviousRank.&lt;br /&gt;
|-&lt;br /&gt;
!32&lt;br /&gt;
|LastKickDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of the most recent kick.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!33&lt;br /&gt;
|LastSeen&lt;br /&gt;
|DateTime&lt;br /&gt;
|Last time the player has been seen online.&lt;br /&gt;
Last logout date for offline players; current time for online players.&lt;br /&gt;
|May be &amp;quot;never&amp;quot; if player has never been online.&lt;br /&gt;
|-&lt;br /&gt;
!34&lt;br /&gt;
|BlocksDrawn&lt;br /&gt;
|Int64&lt;br /&gt;
|Total number of blocks modified using draw and copy/paste commands.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!35&lt;br /&gt;
|LastKickBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently kicked this player.&lt;br /&gt;
|May be blank. Not necessarily a valid player name. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!36&lt;br /&gt;
|LastKickReason&lt;br /&gt;
|String&lt;br /&gt;
|Reason given for the most recent kick.&lt;br /&gt;
|May be blank. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!37&lt;br /&gt;
|BannedUntil&lt;br /&gt;
|DateTime&lt;br /&gt;
|Reserved for future use (temp bans).&lt;br /&gt;
|&#039;&#039;Currently unused.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!38&lt;br /&gt;
|IsFrozen&lt;br /&gt;
|Enum&lt;br /&gt;
|Whether this player is currently frozen.&lt;br /&gt;
|One or zero characters long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&#039;&#039;&#039; = this player is frozen.&lt;br /&gt;
*Any other value = not frozen.&lt;br /&gt;
|-&lt;br /&gt;
!39&lt;br /&gt;
|FrozenBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently froze this player.&lt;br /&gt;
|May be blank. Not necessarily a valid player name. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!40&lt;br /&gt;
|FrozenOn&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of the most recent freezing of this player.&lt;br /&gt;
|May be &amp;quot;never&amp;quot; if this player has never been frozen.&lt;br /&gt;
|-&lt;br /&gt;
!41&lt;br /&gt;
|MutedUntil&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date until which the player is muted.&lt;br /&gt;
|If the date is &amp;quot;never&amp;quot; or is in the past, player is NOT muted.&lt;br /&gt;
|-&lt;br /&gt;
!42&lt;br /&gt;
|MutedBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently froze this player.&lt;br /&gt;
|May be blank. Not necessarily a valid player name. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!43&lt;br /&gt;
|Password&lt;br /&gt;
|String&lt;br /&gt;
|Reserved for future use (IRC or account passwords).&lt;br /&gt;
|&#039;&#039;Currently unused.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!44&lt;br /&gt;
|IsOnline&lt;br /&gt;
|Enum&lt;br /&gt;
|Whether this player is currently online.&lt;br /&gt;
|One or zero characters long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&#039;&#039;&#039; = this player was online at the time PlayerDB was saved.&lt;br /&gt;
*Any other value = player was offline.&lt;br /&gt;
Hidden players who may appear offline in-game are still shown as &amp;quot;online&amp;quot; in this column.&lt;br /&gt;
|-&lt;br /&gt;
!45&lt;br /&gt;
|BandwidthUseMode&lt;br /&gt;
|Enum&lt;br /&gt;
|Player&#039;s custom bandwidth use mode.&lt;br /&gt;
|Zero or one digit long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Use server default&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&#039;&#039;&#039; = VeryLow&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Low&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Normal&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&#039;&#039;&#039; = High&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&#039;&#039;&#039; = VeryHigh&lt;br /&gt;
See [[List_of_config_keys#Advanced|BandwidthUseMode config key]] documentation for a detailed explanation of the options.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All columns prior to this are mandatory. 46&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; and later columns are &amp;quot;optional&amp;quot;, in the sense that current version of fCraft is able to read files without them, for compatibility reasons. These columns have been added in fCraft versions {{Changelog|0.600}} and later.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Order&lt;br /&gt;
!Name&lt;br /&gt;
!Data Type&lt;br /&gt;
!Purpose&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
!46&lt;br /&gt;
|IsHidden&lt;br /&gt;
|Enum&lt;br /&gt;
|Whether the player is currently hidden.&lt;br /&gt;
|One or zero characters long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&#039;&#039;&#039; = this player is hidden.&lt;br /&gt;
*Any other value = player is not hidden.&lt;br /&gt;
|-&lt;br /&gt;
!47&lt;br /&gt;
|LastModified&lt;br /&gt;
|DateTime&lt;br /&gt;
|Time of most recent modification of this record&#039;s fields.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!48&lt;br /&gt;
|DisplayedName&lt;br /&gt;
|String&lt;br /&gt;
|Replaces Name when printing name in chat.&lt;br /&gt;
|May be blank (meaning &amp;quot;use normal Name&amp;quot;). Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!49&lt;br /&gt;
|AccountType&lt;br /&gt;
|Enum&lt;br /&gt;
|Minecraft.net account type (paid/free/unknown).&lt;br /&gt;
|One or zero characters long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Free minecraft.net account (may some day be upgraded to &amp;quot;Paid&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Paid minecraft.net account.&lt;br /&gt;
*Any other value = Unknown account type (could be free or paid).&lt;br /&gt;
|-&lt;br /&gt;
!50&lt;br /&gt;
|Email&lt;br /&gt;
|String&lt;br /&gt;
|For Mojang accounts, player&#039;s email address.&lt;br /&gt;
|Blank for all regular accounts. Escaped.&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Dev]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=PlayerDB.txt&amp;diff=2602</id>
		<title>PlayerDB.txt</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=PlayerDB.txt&amp;diff=2602"/>
		<updated>2014-02-28T07:23:57Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File PlayerDB.txt is used by fCraft to store persistent player information. Each line in the file (after the header) represents one player record.&lt;br /&gt;
&lt;br /&gt;
==Formatting==&lt;br /&gt;
====Numbers====&lt;br /&gt;
:All numbers are nonnegative integers, written out with decimal digits. Empty number fields are interpreted as 0.&lt;br /&gt;
====Dates====&lt;br /&gt;
:Dates are saved as number of seconds since UTC Unix Timestamp. Value of &amp;quot;0&amp;quot; and empty DateTime fields are interpreted as &amp;quot;never&amp;quot; (DateTime.MinValue). &lt;br /&gt;
====Time spans====&lt;br /&gt;
:Time spans are stored as number of seconds. They cannot be negative.&lt;br /&gt;
====IP Addresses====&lt;br /&gt;
:IPs are serialized in dotted decimal notation (e.g. &amp;quot;192.168.1.1&amp;quot;). Only IPv4 addresses are used &amp;amp;mdash; no IPv6. Empty string, any invalid value, or &amp;quot;255.255.255.255&amp;quot; are interpreted as &amp;quot;unknown&amp;quot; address.&lt;br /&gt;
====Strings====&lt;br /&gt;
:Strings are encoded as ASCII. Escaped characters are &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; (comma), &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; (new line), and &amp;lt;code&amp;gt;\r&amp;lt;/code&amp;gt; (carriage return) &amp;amp;mdash; they are replaced with &amp;lt;code&amp;gt;\xFF&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;\xFE&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;\xFD&amp;lt;/code&amp;gt; respectively. There is no limit on string length. Parsing strings ends at the nearest comma.&lt;br /&gt;
====Enums====&lt;br /&gt;
:Enumerations are represented by one character or digit. They can usually be left blank (which implies using default value).&lt;br /&gt;
&lt;br /&gt;
==Header==&lt;br /&gt;
First line of PlayerDB.txt is the header. It starts with two numbers:&lt;br /&gt;
*&#039;&#039;&#039;MaxID&#039;&#039;&#039;&lt;br /&gt;
:Next available player ID number. In practice the value is not used, since the server re-computes the number (by finding highest used ID) every time it loads PlayerDB.&lt;br /&gt;
*&#039;&#039;&#039;FormatVersion&#039;&#039;&#039;&lt;br /&gt;
:PlayerDB file format version. fCraft {{Changelog|0.600}} and later releases use version &#039;&#039;&#039;&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&#039;&#039;&#039;. This article describes only this current format.&lt;br /&gt;
The rest of the header line describes the row format. For example:&lt;br /&gt;
:&amp;lt;code style=&amp;quot;word-wrap: break-word&amp;quot;&amp;gt;7383&amp;amp;nbsp;5&amp;amp;nbsp;fCraft&amp;amp;nbsp;PlayerDB&amp;amp;nbsp;|&amp;amp;nbsp;Row&amp;amp;nbsp;format:&amp;amp;nbsp;Name,IPAddress,Rank,RankChangeDate,RankChangedBy,Banned,BanDate,BannedBy,UnbanDate,UnbannedBy,BanReason,UnbanReason,LastFailedLoginDate,LastFailedLoginIP,UNUSED,FirstLoginDate,LastLoginDate,TotalTime,BlocksBuilt,BlocksDeleted,TimesVisited,MessagesWritten,UNUSED,UNUSED,PreviousRank,RankChangeReason,TimesKicked,TimesKickedOthers,TimesBannedOthers,ID,RankChangeType,LastKickDate,LastSeen,BlocksDrawn,LastKickBy,LastKickReason,BannedUntil,IsFrozen,FrozenBy,FrozenOn,MutedUntil,MutedBy,Password,IsOnline,BandwidthUseMode,IsHidden,LastModified,DisplayedName,AccountType,Email&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Columns==&lt;br /&gt;
Each row after the header represents one player record. Fields are comma-separated. Note that column numbers in this table start with 1, not 0.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Order&lt;br /&gt;
!Name&lt;br /&gt;
!Data Type&lt;br /&gt;
!Purpose&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
!1&lt;br /&gt;
|Name&lt;br /&gt;
|String&lt;br /&gt;
|Player&#039;s account name.&lt;br /&gt;
|Invalid values cause whole record to be skipped. Regex used to verify validity:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;^([a-zA-Z0-9._]{2,16}|[a-zA-Z0-9._]{1,15}@\d*)$&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!2&lt;br /&gt;
|LastIP&lt;br /&gt;
|IPAddress&lt;br /&gt;
|For offline players, last IP used to successfully log in.&lt;br /&gt;
For online players, current IP.&lt;br /&gt;
|May be blank (&amp;quot;none&amp;quot;) for players whose records were imported.&lt;br /&gt;
|-&lt;br /&gt;
!3&lt;br /&gt;
|Rank&lt;br /&gt;
|String&lt;br /&gt;
|Player&#039;s current rank.&lt;br /&gt;
|Full rank name. Saved as &amp;quot;RankName#UUID&amp;quot;, where UUID is rank&#039;s alphanumeric universally unique identifier.&lt;br /&gt;
fCraft always saves ranks in this &amp;quot;full&amp;quot; format, but it can read rank name without ID as well.&lt;br /&gt;
&lt;br /&gt;
If parsing fails, default rank is assigned to player. Rank name is case-insensitive, but UUID is case-sensitive.&lt;br /&gt;
&lt;br /&gt;
String not escaped.&lt;br /&gt;
|-&lt;br /&gt;
!4&lt;br /&gt;
|RankChangeDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of the most recent promotion/demotion.&lt;br /&gt;
|Defaults to &amp;quot;never&amp;quot; for players who have never been ranked.&lt;br /&gt;
|-&lt;br /&gt;
!5&lt;br /&gt;
|RankChangedBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently promoted/demoted this player.&lt;br /&gt;
|Not necessarily a valid player name. May be blank. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!6&lt;br /&gt;
|BanStatus&lt;br /&gt;
|Enum&lt;br /&gt;
|Player&#039;s current BanStatus: Banned, NotBanned, or Exempt.&lt;br /&gt;
|One or zero characters long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&#039;&#039;&#039; = player is currently banned.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;&#039;&#039;&#039; = player is exempt from all bans.&lt;br /&gt;
*Any other value = neither banned nor exempt.&lt;br /&gt;
|-&lt;br /&gt;
!7&lt;br /&gt;
|BanDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of most recent ban.&lt;br /&gt;
|Defaults to &amp;quot;never&amp;quot; for players who have never been banned.&lt;br /&gt;
|-&lt;br /&gt;
!8&lt;br /&gt;
|BannedBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently banned this player.&lt;br /&gt;
|Only read if BanDate was set. May be blank. Not necessarily a valid player name. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!9&lt;br /&gt;
|UnbanDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of most recent unban.&lt;br /&gt;
|Defaults to &amp;quot;never&amp;quot; for players who have never been unbanned.&lt;br /&gt;
|-&lt;br /&gt;
!10&lt;br /&gt;
|UnbannedBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently unbanned this player.&lt;br /&gt;
|Only read if UnbanDate was set. May be blank. Not necessarily a valid player name. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!11&lt;br /&gt;
|BanReason&lt;br /&gt;
|String&lt;br /&gt;
|Reason given for the most recent ban.&lt;br /&gt;
|Only read if BanDate was set. May be blank. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!12&lt;br /&gt;
|UnbanReason&lt;br /&gt;
|String&lt;br /&gt;
|Reason given for the most recent unban.&lt;br /&gt;
|Only read if UnbanDate was set. May be blank. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!13&lt;br /&gt;
|LastFailedLoginDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of most recent failed attempt to log in.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!14&lt;br /&gt;
|LastFailedLoginIP&lt;br /&gt;
|IPAddress&lt;br /&gt;
|IP from which player most recently tried (and failed) to log in.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!15&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|No longer in use. Skip.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!16&lt;br /&gt;
|FirstLoginDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|First time the player ever attempted to log in.&lt;br /&gt;
|May be &amp;quot;never&amp;quot; for players whose records were imported.&lt;br /&gt;
|-&lt;br /&gt;
!17&lt;br /&gt;
|LastLoginDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Most recent time the player successfully logged in.&lt;br /&gt;
|May be &amp;quot;never&amp;quot; for players whose records were imported.&lt;br /&gt;
|-&lt;br /&gt;
!18&lt;br /&gt;
|TotalTime&lt;br /&gt;
|TimeSpan&lt;br /&gt;
|Total amount of time the player spent on this server.&lt;br /&gt;
|May be 0 for players whose records were imported.&lt;br /&gt;
|-&lt;br /&gt;
!19&lt;br /&gt;
|BlocksBuilt&lt;br /&gt;
|Int32&lt;br /&gt;
|Total number of blocks manually built or painted by the player.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!20&lt;br /&gt;
|BlocksDeleted&lt;br /&gt;
|Int32&lt;br /&gt;
|Total number of blocks manually deleted by the player.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!21&lt;br /&gt;
|TimesVisited&lt;br /&gt;
|Int32&lt;br /&gt;
|Number of sessions/logins.&lt;br /&gt;
|May be 0 for players whose records were imported.&lt;br /&gt;
|-&lt;br /&gt;
!22&lt;br /&gt;
|MessagesWritten&lt;br /&gt;
|Int32&lt;br /&gt;
|Total number of chat messages written.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!23&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|No longer in use by fCraft. Skip.&lt;br /&gt;
|Used by 800craft (fCraft mod) for &amp;quot;PromoCount&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!24&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|No longer in use by fCraft. Skip.&lt;br /&gt;
|Used by 800craft (fCraft mod) for &amp;quot;TitleName&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!25&lt;br /&gt;
|PreviousRank&lt;br /&gt;
|String&lt;br /&gt;
|Player&#039;s previous rank.&lt;br /&gt;
|Same parsing rules as the &amp;quot;Rank&amp;quot; column.&lt;br /&gt;
|-&lt;br /&gt;
!26&lt;br /&gt;
|RankChangeReason&lt;br /&gt;
|String&lt;br /&gt;
|Reason given for the most recent promotion/demotion.&lt;br /&gt;
|May be blank. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!27&lt;br /&gt;
|TimesKicked&lt;br /&gt;
|Int32&lt;br /&gt;
|Number of times that this player has been manually kicked.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!28&lt;br /&gt;
|TimesKickedOthers&lt;br /&gt;
|Int32&lt;br /&gt;
|Number of kicks issues by this player.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!29&lt;br /&gt;
|TimesBannedOthers&lt;br /&gt;
|Int32&lt;br /&gt;
|Number of bans issued by this player.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!30&lt;br /&gt;
|ID&lt;br /&gt;
|Int32&lt;br /&gt;
|Player&#039;s unique numeric ID. Issued on first join.&lt;br /&gt;
|IDs 0-255 are reserved. Player IDs start with 256. If anyone&#039;s ID in file is below 256, a new one is assigned on-load.&lt;br /&gt;
|-&lt;br /&gt;
!31&lt;br /&gt;
|RankChangeType&lt;br /&gt;
|Enum&lt;br /&gt;
|Type of the most recent promotion/demotion.&lt;br /&gt;
|One digit long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Default (never been promoted or demoted)&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Promoted (manually by another player or by console)&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Demoted (manually by another player or by console)&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&#039;&#039;&#039; = AutoPromoted (e.g. by AutoRank)&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&#039;&#039;&#039; = AutoDemoted (e.g. by AutoRank)&lt;br /&gt;
If blank or unrecognized value is given, either &amp;quot;Default&amp;quot;, &amp;quot;Promoted&amp;quot;, or &amp;quot;Demoted&amp;quot; is chosen based on values of Rank and PreviousRank.&lt;br /&gt;
|-&lt;br /&gt;
!32&lt;br /&gt;
|LastKickDate&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of the most recent kick.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!33&lt;br /&gt;
|LastSeen&lt;br /&gt;
|DateTime&lt;br /&gt;
|Last time the player has been seen online.&lt;br /&gt;
Last logout date for offline players; current time for online players.&lt;br /&gt;
|May be &amp;quot;never&amp;quot; if player has never been online.&lt;br /&gt;
|-&lt;br /&gt;
!34&lt;br /&gt;
|BlocksDrawn&lt;br /&gt;
|Int64&lt;br /&gt;
|Total number of blocks modified using draw and copy/paste commands.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!35&lt;br /&gt;
|LastKickBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently kicked this player.&lt;br /&gt;
|May be blank. Not necessarily a valid player name. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!36&lt;br /&gt;
|LastKickReason&lt;br /&gt;
|String&lt;br /&gt;
|Reason given for the most recent kick.&lt;br /&gt;
|May be blank. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!37&lt;br /&gt;
|BannedUntil&lt;br /&gt;
|DateTime&lt;br /&gt;
|Reserved for future use (temp bans).&lt;br /&gt;
|&#039;&#039;Currently unused.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!38&lt;br /&gt;
|IsFrozen&lt;br /&gt;
|Enum&lt;br /&gt;
|Whether this player is currently frozen.&lt;br /&gt;
|One or zero characters long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;f&amp;lt;/code&amp;gt;&#039;&#039;&#039; = this player is frozen.&lt;br /&gt;
*Any other value = not frozen.&lt;br /&gt;
|-&lt;br /&gt;
!39&lt;br /&gt;
|FrozenBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently froze this player.&lt;br /&gt;
|May be blank. Not necessarily a valid player name. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!40&lt;br /&gt;
|FrozenOn&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date of the most recent freezing of this player.&lt;br /&gt;
|May be &amp;quot;never&amp;quot; if this player has never been frozen.&lt;br /&gt;
|-&lt;br /&gt;
!41&lt;br /&gt;
|MutedUntil&lt;br /&gt;
|DateTime&lt;br /&gt;
|Date until which the player is muted.&lt;br /&gt;
|If the date is &amp;quot;never&amp;quot; or is in the past, player is NOT muted.&lt;br /&gt;
|-&lt;br /&gt;
!42&lt;br /&gt;
|MutedBy&lt;br /&gt;
|String&lt;br /&gt;
|Name of the player or entity who most recently froze this player.&lt;br /&gt;
|May be blank. Not necessarily a valid player name. Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!43&lt;br /&gt;
|Password&lt;br /&gt;
|String&lt;br /&gt;
|Reserved for future use (IRC or account passwords).&lt;br /&gt;
|&#039;&#039;Currently unused.&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!44&lt;br /&gt;
|IsOnline&lt;br /&gt;
|Enum&lt;br /&gt;
|Whether this player is currently online.&lt;br /&gt;
|One or zero characters long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;&#039;&#039;&#039; = this player was online at the time PlayerDB was saved.&lt;br /&gt;
*Any other value = player was offline.&lt;br /&gt;
Hidden players who may appear offline in-game are still shown as &amp;quot;online&amp;quot; in this column.&lt;br /&gt;
|-&lt;br /&gt;
!45&lt;br /&gt;
|BandwidthUseMode&lt;br /&gt;
|Enum&lt;br /&gt;
|Player&#039;s custom bandwidth use mode.&lt;br /&gt;
|Zero or one digit long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Use server default&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&#039;&#039;&#039; = VeryLow&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Low&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Normal&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&#039;&#039;&#039; = High&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&#039;&#039;&#039; = VeryHigh&lt;br /&gt;
See [[List_of_config_keys#Advanced|BandwidthUseMode config key]] documentation for a detailed explanation of the options.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All columns prior to this are mandatory. 46&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; and later columns are &amp;quot;optional&amp;quot;, in the sense that current version of fCraft is able to read files without them, for compatibility reasons. These columns have been added in fCraft versions {{Changelog|0.600}} and later.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Order&lt;br /&gt;
!Name&lt;br /&gt;
!Data Type&lt;br /&gt;
!Purpose&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
!46&lt;br /&gt;
|IsHidden&lt;br /&gt;
|Enum&lt;br /&gt;
|Whether the player is currently hidden.&lt;br /&gt;
|One or zero characters long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&#039;&#039;&#039; = this player is hidden.&lt;br /&gt;
*Any other value = player is not hidden.&lt;br /&gt;
|-&lt;br /&gt;
!47&lt;br /&gt;
|LastModified&lt;br /&gt;
|DateTime&lt;br /&gt;
|Time of most recent modification of this record&#039;s fields.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!48&lt;br /&gt;
|DisplayedName&lt;br /&gt;
|String&lt;br /&gt;
|Replaces Name when printing name in chat.&lt;br /&gt;
|May be blank (meaning &amp;quot;use normal Name&amp;quot;). Escaped.&lt;br /&gt;
|-&lt;br /&gt;
!49&lt;br /&gt;
|AccountType&lt;br /&gt;
|Enum&lt;br /&gt;
|Minecraft.net account type (paid/free/unknown).&lt;br /&gt;
|One or zero characters long.&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Free minecraft.net account (may some day be upgraded to &amp;quot;Paid&amp;quot;).&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;&#039;&#039;&#039; = Paid minecraft.net account.&lt;br /&gt;
*Any other value = Unknown account type (could be free or paid).&lt;br /&gt;
|-&lt;br /&gt;
!50&lt;br /&gt;
|Email&lt;br /&gt;
|String&lt;br /&gt;
|For Mojang accounts, player&#039;s email address.&lt;br /&gt;
|Blank for all regular accounts. Escaped.&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Dev]]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=/PruneDB&amp;diff=2601</id>
		<title>/PruneDB</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=/PruneDB&amp;diff=2601"/>
		<updated>2014-02-28T07:23:22Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommandBox&lt;br /&gt;
|name=PruneDB&lt;br /&gt;
|purpose=Removes inactive players from the player database.&lt;br /&gt;
|uses=/PruneDB&lt;br /&gt;
|cat=Maintenance&lt;br /&gt;
|perm={{rperm|EditPlayerDB}}&lt;br /&gt;
|console=Yes&lt;br /&gt;
|v=0.510&lt;br /&gt;
|}}&lt;br /&gt;
{{cmd|PruneDB}} searches the server&#039;s player database for inactive players and asks to remove them. The command effectively removes players who only joined and left again shortly after. {{cmd|PruneDB}} does not compromise security as, for example, banned or frozen players are not pruned and also ensures legitimate players will not get reset no matter how long they&#039;ve been inactive.&lt;br /&gt;
&lt;br /&gt;
==Inactive players==&lt;br /&gt;
:The command deems a player inactive if and only if &#039;&#039;&#039;all&#039;&#039;&#039; the following conditions apply:&lt;br /&gt;
:* Player is not, and never has been, banned.&lt;br /&gt;
:* Player&#039;s last IP address is not banned.&lt;br /&gt;
:* Player is not frozen or muted.&lt;br /&gt;
:* Player was never kicked.&lt;br /&gt;
:* Player has the default rank and was never ranked.&lt;br /&gt;
:* Player been online for less than half an hour total.&lt;br /&gt;
:* Player not been seen the past 30 days.&lt;br /&gt;
:* Player has no active accounts on the same IP address.&lt;br /&gt;
&lt;br /&gt;
==Removing individual players==&lt;br /&gt;
{{warning|Editing PlayerDB manually is a common cause of serious crashes, since a mistake is easily made, and is thus strongly advised against. Damaged entries/info may get lost forever. If you mess with PlayerDB.txt, back it up first.}}&lt;br /&gt;
:The only way to remove other players for the database is to remove them by hand. The database can not be edited while the server is running (all your changes will be overwritten). The database file is called &amp;lt;code&amp;gt;[[PlayerDB.txt]]&amp;lt;/code&amp;gt;, wherein each line represents a player. To remove a player, search for their name &#039;&#039;&#039;at the beginning of the line&#039;&#039;&#039; and remove that entire line. The database will adjust to your changes the next time the server is started. {{cmd|BlockInfo}} will show a question mark instead of a name for blocks affected by deleted players.&lt;br /&gt;
&lt;br /&gt;
==Related commands==&lt;br /&gt;
*{{cmd|SetInfo}}&lt;br /&gt;
*{{cmd|DumpStats}}&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=/PruneDB&amp;diff=2600</id>
		<title>/PruneDB</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=/PruneDB&amp;diff=2600"/>
		<updated>2014-02-15T00:52:55Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CommandBox&lt;br /&gt;
|name=PruneDB&lt;br /&gt;
|purpose=Removes inactive players from the player database.&lt;br /&gt;
|uses=/PruneDB&lt;br /&gt;
|cat=Maintenance&lt;br /&gt;
|perm={{rperm|EditPlayerDB}}&lt;br /&gt;
|console=Yes&lt;br /&gt;
|v=0.510&lt;br /&gt;
|}}&lt;br /&gt;
{{cmd|PruneDB}} searches the server&#039;s player database for inactive players and asks to remove them. The command effectively removes players who only joined and left again shortly after. {{cmd|PruneDB}} does not compromise security as, for example, banned or frozen players are not pruned and also ensures legitimate players will not get reset no matter how long they&#039;ve been inactive.&lt;br /&gt;
&lt;br /&gt;
==Inactive players==&lt;br /&gt;
:The command deems a player inactive if and only if &#039;&#039;&#039;all&#039;&#039;&#039; the following conditions apply:&lt;br /&gt;
:* Player is not, and never has been, banned.&lt;br /&gt;
:* Player&#039;s last IP address is not banned.&lt;br /&gt;
:* Player is not frozen or muted.&lt;br /&gt;
:* Player was never kicked.&lt;br /&gt;
:* Player has the default rank and was never ranked.&lt;br /&gt;
:* Player been online for less than half an hour total.&lt;br /&gt;
:* Player not been seen the past 30 days.&lt;br /&gt;
:* Player has no active accounts on the same IP address.&lt;br /&gt;
&lt;br /&gt;
==Removing individual players==&lt;br /&gt;
{{warning|Editing PlayerDB manually is a common cause of serious crashes, since a mistake is easily made, and is thus strongly advised against. Damaged entries/info may get lost forever. If you mess with PlayerDB.txt, back it up first.}}&lt;br /&gt;
:The only way to remove other players for the database is to remove them by hand. The database can not be edited while the server is running (all your changes will be overwritten). The database file is called &amp;lt;code&amp;gt;PlayerDB.txt&amp;lt;/code&amp;gt;, wherein each line represents a player. To remove a player, search for their name &#039;&#039;&#039;at the beginning of the line&#039;&#039;&#039; and remove that entire line. The database will adjust to your changes the next time the server is started. {{cmd|BlockInfo}} will show a question mark instead of a name for blocks affected by deleted players.&lt;br /&gt;
&lt;br /&gt;
==Related commands==&lt;br /&gt;
*{{cmd|SetInfo}}&lt;br /&gt;
*{{cmd|DumpStats}}&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Template:LatestVersion&amp;diff=2599</id>
		<title>Template:LatestVersion</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Template:LatestVersion&amp;diff=2599"/>
		<updated>2014-01-27T09:09:43Z</updated>

		<summary type="html">&lt;p&gt;F: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.fcraft.net/download/fCraft_0644_r2327.zip 0.644]&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
	<entry>
		<id>https://fcraft.net/w/index.php?title=Version_history&amp;diff=2598</id>
		<title>Version history</title>
		<link rel="alternate" type="text/html" href="https://fcraft.net/w/index.php?title=Version_history&amp;diff=2598"/>
		<updated>2014-01-27T09:09:20Z</updated>

		<summary type="html">&lt;p&gt;F: Added 0.644 changes, and fixed a typo in one of 0.643 changes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right;margin-left:5px;margin:bottom:5px;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
=0.6xx=&lt;br /&gt;
===0.644===&lt;br /&gt;
&#039;&#039;27 January 2014 - r2327&#039;&#039;&lt;br /&gt;
*Fix: Fixed a bug that caused character &#039;@&#039; in player names to be treated same as &#039;_&#039; (thanks Dingus)&lt;br /&gt;
*Fix: Fixed a rare crash in {{cmd|ZEdit}} when using the command improperly.&lt;br /&gt;
*Fix: Fixed a DataError being thrown in ConfigGUI&#039;s &amp;quot;Worlds&amp;quot; tab after toggling rank prefixes on/off.&lt;br /&gt;
*Fix: Improved error reporting.&lt;br /&gt;
*Change: Improved reliability of external IP checks.&lt;br /&gt;
&lt;br /&gt;
===0.643===&lt;br /&gt;
&#039;&#039;15 October 2013 - r2234&#039;&#039;&lt;br /&gt;
*Fix: Fixed sometimes wrapping last word of a chat message to the next line, when the whole message could fit on one line (thanks AndrewPH).&lt;br /&gt;
*Fix: Installing updates no longer causes UAC prompts under Windows Vista.&lt;br /&gt;
*Fix: Fixed IRC periodically crashing if someone quits with an empty message.&lt;br /&gt;
*Fix: Fixed IRC-related crashes not being submitted to the crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.642===&lt;br /&gt;
&#039;&#039;27 August 2013 - r2180&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Fill3D}}.&lt;br /&gt;
*Feature: Added caret (^), tilde (~), and grave accent (`) to [[emotes]].&lt;br /&gt;
*Fix: Emotes work via IRC once again.&lt;br /&gt;
*Fix: ConfigGUI: Fixed &amp;quot;Add world&amp;quot; and &amp;quot;Edit world&amp;quot; popups sometimes locking up.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving LastFailedLoginIP properly.&lt;br /&gt;
*Change: Made it easy to switch heartbeat servers (minecraft.net to classicube or back) via ConfigGUI.&lt;br /&gt;
*Change: Added an optional second parameter to {{cmd|DumpStats}}, which allows specifying period of inactivity for filtering players.&lt;br /&gt;
*Change: Improved startup and shutdown times, and reduced CPU use.&lt;br /&gt;
*Change: {{cmd|Hide}} and {{cmd|Unhide}} now indicate when they are silent or not.&lt;br /&gt;
&lt;br /&gt;
===0.641===&lt;br /&gt;
&#039;&#039;17 August 2013 - r2150&#039;&#039;&lt;br /&gt;
*Feature: Improved the way {{cmd|EllipsoidH}} works on flat surfaces. Instead of filled ellipses, it now makes rings.&lt;br /&gt;
*Feature: Added {{cmd|Reply}} (&amp;lt;code&amp;gt;/re&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: {{cmd|Fill2D}} can now fill with any brush, not just solid color.&lt;br /&gt;
*Feature: Added &#039;&#039;HeartbeatUrl&#039;&#039; [[List of config keys#Advanced|config key]], to allow alternative heartbeat/authentication services. &#039;&#039;&#039;Note: [[HeartbeatSaver]] only needs to be updated IF you plan on using something other than minecraft.net&#039;&#039;&#039;&lt;br /&gt;
*Fix: Fixed a InvalidOperationException in ConfigGUI when re-drawing the map preview (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;Realistic&amp;quot; MapGen help (thanks Jonty800).&lt;br /&gt;
*Fix: Now correctly kicking custom premium-MC clients.&lt;br /&gt;
*Fix: Fixed help messages in [[HeartbeatSaver]] and {{cmd|MassRank}}.&lt;br /&gt;
*Fix: Fixed a potential way of revealing hidden players by messaging them.&lt;br /&gt;
*Change: ConfigGUI&#039;s port checker works again.&lt;br /&gt;
*Change: IRC bot will now retry for its primary nick every 30 seconds (thanks Dankirk).&lt;br /&gt;
&lt;br /&gt;
===0.640===&lt;br /&gt;
&#039;&#039;30 July 2013 - r2124&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Feature: [[Mojang accounts|Mojang account]] (email) support.&#039;&#039;&#039; Added {{perm|ViewEmails}} permission and a config option to disallow email users.&lt;br /&gt;
*Feature: Overhauled map generation! Improved {{cmd|Gen}}, new {{cmd|SetGen}} command, more options, preset loading/saving, redesigned ConfigGUI interface, and two new map generation modes: Vanilla (from [http://femto.fcraft.net FemtoCraft]) and FloatingIsland.&lt;br /&gt;
*Feature: Optional [http://www.regular-expressions.info/quickstart.html RegEx] filtering of filenames for [[MapRenderer]] and [[MapConverter]], enabled by &amp;lt;code&amp;gt;--regex&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Feature: Added &amp;lt;i&amp;gt;&amp;quot;Player ___ logged in from an IP shared by frozen players...&amp;quot;&amp;lt;/i&amp;gt; announcement.&lt;br /&gt;
*Feature: Added an optional parameter to toggle commands (grass, water, lava, solid, paint, static) &amp;amp;mdash; &amp;quot;on&amp;quot;/&amp;quot;1&amp;quot; or &amp;quot;off&amp;quot;/&amp;quot;0&amp;quot;.&lt;br /&gt;
*Feature: Added BackupOnMapChange config key, which automates backups when a world&#039;s map is replaced by /Gen or /WLoad (enabled by default).&lt;br /&gt;
*Feature: Added &amp;lt;code&amp;gt;/To&amp;lt;/code&amp;gt; as an alias of {{cmd|TP}}, and &amp;lt;code&amp;gt;/Flush&amp;lt;/code&amp;gt; as an alias for {{cmd|WFlush}}.&lt;br /&gt;
*Feature: [[MapRenderer]] is now much quicker, thanks to optimization and multithreading.&lt;br /&gt;
*Feature: Added ability to change capitalization of player&#039;s name using {{cmd|SetInfo}}.&lt;br /&gt;
*Fix: Fixed MapGenerator sometimes locking up when working with tiny 16x16 maps (thanks 123DMWM).&lt;br /&gt;
*Fix: Fixed world greetings not being saved between restarts (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed {{cmd|WLoad}} showing incorrect map file names when prompting to replace files (thanks Smokeybacon).&lt;br /&gt;
*Fix: Fixed [[Command_Tips#Restricting_player_name_search|online-only name prefix]] revealing hidden players in some commands (thanks Intertoothh and recon).&lt;br /&gt;
*Fix: When a spectating player gets frozen, they are no longer stuck spectating (thanks ruggedbear and NuclearWaffle121).&lt;br /&gt;
*Fix: IRC now handles two-number color codes and reset codes correctly (thanks Liam).&lt;br /&gt;
*Fix: Fixed map changes sometimes leaving behind &amp;quot;ghost maps&amp;quot; for players with rank-specific main maps set (thanks Jonty800).&lt;br /&gt;
*Fix: PlayerDB name autocompletion now correctly handles players with &#039;.&#039; in their names.&lt;br /&gt;
*Fix: Timed backups no longer drift slightly every hour.&lt;br /&gt;
*Fix: Players can now {{cmd|Clear}} their chat even while [[/Deafen|deaf]].&lt;br /&gt;
*Fix: Fixed a rare serialization issue with PlayerDB&#039;s RankChangedBy field.&lt;br /&gt;
*Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Now only allow either one directory, or one-or-more files to be specified. Multiple directories, and mixed directories/files are no longer allowed.&lt;br /&gt;
*Change: MapRenderer/MapConverter: Disabled slow fallback conversion by default (which caused non-map files to take forever to skip in recursive mode). Old behavior can be reenabled with &amp;lt;code&amp;gt;--tryhard&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
*Change: When auto-updating or restarting under Mono, fCraft no longer tries to use &amp;quot;mono-sgen&amp;quot;, now just using &amp;quot;mono&amp;quot; and assuming that runtime is properly configured.&lt;br /&gt;
*Change: {{cmd|WBuild}} and {{cmd|WAccess}} can optionally now take &amp;quot;@&amp;quot; in front of rank name.&lt;br /&gt;
*Change: Removed BackupOnJoin config key.&lt;br /&gt;
*Change: UpdateInstaller&#039;s &amp;lt;code&amp;gt;--restart&amp;lt;/code&amp;gt; parameter is more flexible.&lt;br /&gt;
*Change: Dropped Mono 2.6 support.&lt;br /&gt;
*Change: Optimizations in player movement code, PlayerDB loading/saving, IP ban list loading, map generation, map rendering, {{cmd|Ellipsoid}}, and {{cmd|Sphere}}.&lt;br /&gt;
&lt;br /&gt;
===0.639===&lt;br /&gt;
&#039;&#039;10 December 2012 - r1917&#039;&#039;&lt;br /&gt;
*Feature: Added RankPrefixesOnDisplayedNames config key (default: false), which controls whether to prepend rank prefixes to names of players with a custom DisplayedName set.&lt;br /&gt;
*Feature: Added BypassHttpsCertificateValidation config key (default: false), to ease HTTPS-related pains under Mono.&lt;br /&gt;
*Feature: Added MoveEmoteDotToEndOfMessage config key (default: true), which slightly changes emote formatting, by BobKare&#039;s request.&lt;br /&gt;
*Fix: Fixed a stability issue in the IRC bot.&lt;br /&gt;
*Fix: Fixed incorrect runtime version detection for Mono versions older than 2.6.&lt;br /&gt;
*Fix: Server now gives more informative messages when you try to do something disallowed to yourself (mute, unfreeze, ban, kick, etc).&lt;br /&gt;
*Fix: Fixed being able to teleport to hidden players (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed {{cmd|Unhide}} not faking a join message for hidden players (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed IRC bot sending USER before NICK (fixes occasional error 451) (thanks Hellenion).&lt;br /&gt;
*Change: Added ability to set players&#039; BandwidthUseMode via {{cmd|SetInfo}}.&lt;br /&gt;
*Change: Improved {{cmd|Env}}, {{cmd|UndoAreaNot}}, and {{cmd|Help}} messages.&lt;br /&gt;
*Change: Players&#039; connection messages in logs now include TimesVisited stat.&lt;br /&gt;
*Change: {{cmd|Help|commands}} is no longer an alias for {{cmd|Commands}} (thanks ruggedbear).&lt;br /&gt;
&lt;br /&gt;
===0.638===&lt;br /&gt;
&#039;&#039;29 November 2012 - r1887&#039;&#039;&lt;br /&gt;
*Feature: [[Emotes|Emote]] keywords and their Unicode equivalents can now be included in announcement and rule files.&lt;br /&gt;
*Feature: IRC bot now sends a quit message consisting of server name and shutdown reason.&lt;br /&gt;
*Fix: Fixed a very small chance of PlayerInfo.TimeMutedLeft returning negative time spans.&lt;br /&gt;
*Fix: Leading and trailing spaces are now trimmed from kick/ban/unban reasons.&lt;br /&gt;
*Fix: Fixed some emotes getting trimmed from {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} (thanks Intertoothh)&lt;br /&gt;
*Fix: Fixed RestartInterval starting two chat timers (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed ServerCLI using console colors for the first few messages even if &amp;lt;code&amp;gt;--noconsolecolor&amp;lt;/code&amp;gt; [[List of command-line options|command-line switch]] was given (thanks Hellenion)&lt;br /&gt;
*Change: Added &amp;lt;code&amp;gt;--noupdater&amp;lt;/code&amp;gt; command line switch, which stops fCraft from launching update installer binaries (although all other update-related behavior remains the same)&lt;br /&gt;
*Change: Player&#039;s own name is no longer considered in autocompletion/searches for commands that are not applicable to self (e.g. {{cmd|Ban}}, {{cmd|Mute}}, {{cmd|Ignore}}, {{cmd|TP}}, etc)&lt;br /&gt;
*Change: Logged global chat messages now have &amp;quot;(global)&amp;quot; prepended before player&#039;s name.&lt;br /&gt;
*API: Updated trunk project files to VisualStudio 2010. Target runtime remains .NET 3.5 Client Profile.&lt;br /&gt;
&lt;br /&gt;
===0.637===&lt;br /&gt;
&#039;&#039;16 October 2012 - r1847&#039;&#039;&lt;br /&gt;
*Feature: Added {{cmd|Emotes}} command, to list emotes and their keywords.&lt;br /&gt;
*Fix: Fixed IRC bot cutting off very long messages.&lt;br /&gt;
*Fix: Fixed {{cmd|Info}} not working with some IP ranges (thanks _BjorN64_).&lt;br /&gt;
*Fix: Fixed single-letter emote keywords not working (thanks Wundsalz).&lt;br /&gt;
*Fix: Improved the way IRC bot handles nick conflicts (thanks Jonty800).&lt;br /&gt;
*Fix: {{cmd|DumpStats}} no longer dies when an invalid file name is given (thanks Hellenion).&lt;br /&gt;
*Change: Added a new build configuration, DEBUG_NETWORKING, which traces all incoming and outgoing packets.&lt;br /&gt;
*Change: IRC bot now logs all outgoing messages when built in DEBUG_IRC configuration.&lt;br /&gt;
&lt;br /&gt;
===0.636===&lt;br /&gt;
&#039;&#039;10 October 2012 - r1832&#039;&#039;&lt;br /&gt;
*Feature: Check your configs! New options were added to control display of colors and emotes to/from IRC.&lt;br /&gt;
*Feature: Added {house} [[emotes|emote]]: ⌂ (0x7F).&lt;br /&gt;
*Fix: Fixed newline codes %n/%N not being parsed properly.&lt;br /&gt;
*Fix: Fixed a crash in Color.StripColors (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed random symbols appearing in stack traces in console (thanks sukinorules).&lt;br /&gt;
*Fix: Fixed couple problems with Player.Moving event (thanks 00pol).&lt;br /&gt;
*Fix: Spawn points of MCSharp map files are now loaded correctly (thanks 00pol).&lt;br /&gt;
*Change: Players&#039; DisplayedNames may no longer contains line breaks.&lt;br /&gt;
&lt;br /&gt;
===0.635===&lt;br /&gt;
&#039;&#039;8 October 2012 - r1822&#039;&#039;&lt;br /&gt;
*Feature: Added support for &amp;quot;[[emotes]]&amp;quot; (chat symbols). New permission ({{perm|UseEmotes}}) and config key (IRCAllowEmotes) were added.&lt;br /&gt;
*Fix: Fixed numbers sometimes being accepted as valid (e.g. by {{cmd|Mute}}), although counted as 0-length time spans.&lt;br /&gt;
*Fix: Fixed PlayerDB not saving strings with newlines properly.&lt;br /&gt;
*Fix: Fixed IRC bot sometimes producing messages that are a couple characters over the IRC message size limit (512 chars).&lt;br /&gt;
*Fix: Fixed players being able to use newline codes (&amp;amp;N/&amp;amp;n) on IRC.&lt;br /&gt;
*Fix: Fixed problems with UpdaterMode and BackupOnStartup settings in ConfigGUI.&lt;br /&gt;
*Fix: Fixed fCraft not building in DEBUG_IRC configuration.&lt;br /&gt;
*Change: Added a workaround for TermInfoDriver-related exceptions under Mono (thanks Hellenion)&lt;br /&gt;
*Change: Symbolic [[colors|color codes]] (e.g. %S) can now be used in chat.&lt;br /&gt;
*Change: Backslash can now be used to escape percent [[colors|color codes]] (e.g. \%C).&lt;br /&gt;
*Change: fCraft will now retry looking up the external IP up to 3 times.&lt;br /&gt;
*Change: Lots of documentation, annotation, and API improvements.&lt;br /&gt;
&lt;br /&gt;
===0.634===&lt;br /&gt;
&#039;&#039;30 September 2012 - r1796&#039;&#039;&lt;br /&gt;
*Fix: Fixed an occasional InvalidOperationException when auto-updating in ServerGUI.&lt;br /&gt;
*Fix: Fixed ConfigGUI showing misleading information in &amp;quot;unrecognized entry ignore&amp;quot; errors.&lt;br /&gt;
*Fix: Fixed Logger trying to write to file in [[MapConverter]] and [[MapRenderer]].&lt;br /&gt;
*Fix: Fixed [[MapRenderer]] and [[MapConverter]] spamming zone-related errors (thanks Hellenion and AndrewPH)&lt;br /&gt;
*Fix: Fixed {{cmd|UndoPlayerNot}} help entry (thanks ruggedbear)&lt;br /&gt;
*Change: Heartbeat code now uses HTTPS, as mandated by Mojang. If you use Mono, see http://www.mono-project.com/FAQ:_Security&lt;br /&gt;
*Change: Removed support for the malfunctioning WoM Direct heartbeat service.&lt;br /&gt;
*Change: RankChangeReason is now shown as a &amp;quot;Rank note&amp;quot; in {{cmd|Info}}, even if no other data (PreviousRank/RankChangedBy/RankChangeDate) exists (thanks Wundsalz)&lt;br /&gt;
&lt;br /&gt;
===0.633===&lt;br /&gt;
&#039;&#039;26 September 2012 - r1788&#039;&#039;&lt;br /&gt;
*Feature: Added checkbox for HeartbeatEnabled config key to ConfigGUI, on the advanced tab.&lt;br /&gt;
*Fix: Fixed heartbeat/verification issues caused by &amp;quot;no-www&amp;quot; changes made by Mojang at minecraft.net&lt;br /&gt;
*Fix: Fixed VisualStudio designer being unable to load ConfigGUI.MainForm.&lt;br /&gt;
*Fix: Fixed {{cmd|ZMark}} being spammy (thanks ruggedbear).&lt;br /&gt;
*Fix: Binding &amp;quot;air&amp;quot; block to something now works as expected (deleted blocks are replaced with the binding) (thanks Hellenion).&lt;br /&gt;
*Fix: Added missing tooltips to &amp;quot;Data Backup&amp;quot; checkbox in ConfigGUI (thanks PhoneBook_).&lt;br /&gt;
*Fix: Added [[HeartbeatSaver]] to UpdateInstaller and list of protected filenames.&lt;br /&gt;
*Fix: Fixed occasional startup crash in [[HeartbeatSaver]].&lt;br /&gt;
*Change: {{cmd|Reload|Autorank}} now triggers a re-scan of the whole PlayerDB.&lt;br /&gt;
*Change: Added code to BlockDB to recover misaligned .fbdb files. BlockDB files are supposed to be aligned to 20 bytes. Misalignment might happen if writing didn&#039;t finish properly - e.g. power outage, or ungraceful shutdown.&lt;br /&gt;
*Change: Improved consistency of exit codes in [[HeartbeatSaver]], [[MapConverter]], and [[MapRenderer]].&lt;br /&gt;
&lt;br /&gt;
===0.632===&lt;br /&gt;
&#039;&#039;14 September 2012 - r1765&#039;&#039;&lt;br /&gt;
*Feature: Added standalone [[HeartbeatSaver]] utility, a heartbeat-sending daemon.&lt;br /&gt;
*Feature: Added a way to specify scale/turbulence/seed for cloudy brush.&lt;br /&gt;
*Feature: Renamed &amp;quot;IRC&amp;quot; LogType to &amp;quot;IRCStatus&amp;quot;, and added &amp;quot;IRCChat&amp;quot; LogType. Check your configs.&lt;br /&gt;
*Fix: Fixed the updater. You&#039;ll have to update from version 0.631 manually (thanks nope__avi).&lt;br /&gt;
*Fix: Fixed a bug related to multiple players trying to join an almost-full server at the same time.&lt;br /&gt;
*Fix: Fixed a rare InvalidOperationException crash in ConfigGUI.&lt;br /&gt;
*Fix: Fixed reversed order in {{cmd|BlockInfo}} (thanks recon_).&lt;br /&gt;
*Fix: Fixed a few formatting errors in feedback messages.&lt;br /&gt;
*Fix: Fixed a rare disconnect related to a spectator trying to follow a spectatee to a full world.&lt;br /&gt;
*Fix: Fixed {{cmd|Hide}} not showing a fake disconnect message when needed.&lt;br /&gt;
*Fix: Fixed {{cmd|WRename}} prompting for file overwrite when changing capitalization in a world name.&lt;br /&gt;
*Fix: Fixed UndoArea/UndoAreaNot and UndoPlayer/UndoPlayerNot messages occasionally getting mixed up.&lt;br /&gt;
*Fix: Fixed players being unable to join the server if access restrictions prevent them from joining the rank-specific main world.&lt;br /&gt;
*Fix: {{cmd|WRemove}} now correctly handles removing rank-main worlds.&lt;br /&gt;
*Fix: Fixed a case where newlines in PlayerInfo or IPBanInfo fields would cause record corruption.&lt;br /&gt;
*Fix: Fixed reversed messages in {{cmd|DoNotMark}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed ServerCLI sometimes staying open, waiting on console input, when it&#039;s supposed to shut down or restart.&lt;br /&gt;
*Change: Sped up &amp;quot;cloudy&amp;quot; brush when working with large draw commands.&lt;br /&gt;
*Change: Crash reporter now submits list of names and versions of all loaded assemblies, to help identify mismatched or missing dependencies.&lt;br /&gt;
*Change: Added logging to every confirmation prompt, &amp;quot;/ok&amp;quot;, {{cmd|BlockDB}} enabling/disabling/clearing, {{cmd|ZRemove}}, {{cmd|InfoSwap}}, and {{cmd|Env}}.&lt;br /&gt;
*Change: Any pending confirmations are now reset on world change.&lt;br /&gt;
*Change: Added /I as an alias for {{cmd|Info}}, and /CS as an alias for {{cmd|CopySlot}}.&lt;br /&gt;
*Change: Removed &amp;quot;marbled&amp;quot; brush (&amp;quot;cloudy&amp;quot; works just as well) and FCMv4 map format support (development canceled).&lt;br /&gt;
*Change: {{cmd|Where}} command now only requires {{perm|ViewOthersInfo}} permission to see other players&#039; whereabouts. It can be used by anyone on self.&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.631===&lt;br /&gt;
&#039;&#039;5 September 2012 - r1741&#039;&#039;&lt;br /&gt;
*Feature: Added a way to restrict commands to match online players&#039; names only, by prefixing the name with an exclamation mark (!). See [[Command Tips]] for more.&lt;br /&gt;
*Feature: Added {{cmd|DoNotMark}} command. When toggled on, clicking on blocks does not cause marks to be added to a selection.&lt;br /&gt;
*Fix: Included MapConverter.exe and MapRenderer.exe in list of protected filenames.&lt;br /&gt;
*Fix: Fixed a potential crash in Paths.FileExists when working in case-sensitive mode in a root directory.&lt;br /&gt;
*Fix: Fixed ConfigGUI not loading permission limits properly (thanks recon_).&lt;br /&gt;
*Fix: Added missing fake connection message when using non-silent {{cmd|Unhide}} (thanks Wundsalz).&lt;br /&gt;
*Change: Improvements to fCraft&#039;s built-in crash reporter.&lt;br /&gt;
*Change: Blocks redone with {{cmd|Redo}} are now flagged as &amp;quot;Redone&amp;quot; in /BlockInfo (instead of &amp;quot;UndoneSelf&amp;quot;), [[/Paint|painted]] blocks as &amp;quot;Painted&amp;quot; (instead of &amp;quot;Manual, Replaced&amp;quot;).&lt;br /&gt;
*API: Many more documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.630===&lt;br /&gt;
&#039;&#039;4 September 2012 - r1727&#039;&#039;&lt;br /&gt;
*Feature: New permissions! {{perm|FlushWorlds}} (previously part of {{perm|ManageWorlds}}), {{perm|UseTimers}} (previously part of {{perm|Say}}), and {{perm|UndoAll}}.&lt;br /&gt;
*Feature: Added ability to undo multiple players&#039; actions at once, or EVERYONE&#039;s actions at once, using {{cmd|UndoPlayer}} and {{cmd|UndoArea}}. Command syntax changed, see wiki.&lt;br /&gt;
*Feature: {{cmd|Info}} now shows whether minecraft.net accounts are free or paid.&lt;br /&gt;
*Feature: Added special &amp;quot;skip&amp;quot;/&amp;quot;none&amp;quot; blocktype, usable with brushes and draw commands.&lt;br /&gt;
*Feature: Added ability to clear world/zone whitelists and blacklists. Use &amp;quot;-*&amp;quot; in place of player name to clear whitelist, and &amp;quot;+*&amp;quot; to clear blacklist.&lt;br /&gt;
*Feature: Added a way to remove all zones in a world, {{cmd|ZRemove|*}}.&lt;br /&gt;
*Feature: Added {{cmd|UndoAreaNot}} (/uan) and {{cmd|UndoPlayerNot}} (/upn), which reverse changes made by everyone EXCEPT the given player(s).&lt;br /&gt;
*Feature: Added [[MapConverter]] and [[MapRenderer]] utilities.&lt;br /&gt;
*Feature: {{cmd|CuboidW}} now supports optionally filling sides and center with different blocktypes, e.g. &amp;quot;/cw white blue red&amp;quot;.&lt;br /&gt;
*Fix: Fixed ServerCLI launching the wrong fCraft binary after running the updater.&lt;br /&gt;
*Fix: Fixed a missing warning in {{cmd|Gen}} when map height is not a multiple of 16.&lt;br /&gt;
*Fix: Fixed a rare case of players receiving desynchronized copies of maps where draw commands are in progress.&lt;br /&gt;
*Fix: Fixed a crash in {{cmd|Commands|&amp;lt;Category&amp;gt;}}&lt;br /&gt;
*Fix: Fixed potential crashes when working with files in root directories (e.g. C:/)&lt;br /&gt;
*Fix: Improved {{cmd|BanEx}} logging.&lt;br /&gt;
*Fix: Improved support for Myne/MyneCraft/HyveBuild/iCraft maps.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog in ConfigGUI defaulting to 20 minutes, instead of &amp;quot;(default)&amp;quot;.&lt;br /&gt;
*Fix: Fixed SaveInterval and BackupInterval being limited to just 100 seconds/minutes in ConfigGUI (thanks Hellenion).&lt;br /&gt;
*Fix: Improved consistency of timestamp format in logs (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed being unable to remove world greetings via {{cmd|WSet}} (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed IRC bot cutting off long messages (thanks Hellenion).&lt;br /&gt;
*Change: Improved performance of {{cmd|Gen}}, {{cmd|WLoad}}, world loading, and all BlockDB-related commands.&lt;br /&gt;
*Change: Adjustments to block names and aliases, as well as command aliases.&lt;br /&gt;
*Change: Merged {{cmd|Cancel}} and /Nvm commands.&lt;br /&gt;
*Change: &amp;quot;&amp;amp;N&amp;quot; is now usable as a &amp;quot;newline&amp;quot; constant in all configurable strings (rules, announcements, greetings, etc), and &amp;quot;%N&amp;quot; is usable by players with {{perm|UseColorCode}} permissions.&lt;br /&gt;
*Change: Made {{cmd|Say}}, {{cmd|Me}}, and {{cmd|Staff}} usable by frozen players.&lt;br /&gt;
*Change: Added a warning to /Colors regarding the minimum rank required to use colorcodes in chat (thanks Jonty800).&lt;br /&gt;
*Change: Ignoring a player no longer prevents you from seeing {{cmd|Say}} messages written by them.&lt;br /&gt;
*Change: {{cmd|Paint}}, {{cmd|Solid}}, {{cmd|Grass}}, {{cmd|Water}}, and {{cmd|Lava}} are no longer usable by players without Build permission, and dont show up in /Commands for them.&lt;br /&gt;
*Change: Clarified {{cmd|ZEdit}} messages when trying to remove self from blacklist, or add yourself to whitelist.&lt;br /&gt;
*Change: {{cmd|Mute}}, {{cmd|Unmute}}, {{cmd|Freeze}}, and {{cmd|Unfreeze}} are now also usable on offline players.&lt;br /&gt;
*Change: Session threads are no longer marked as &amp;quot;background&amp;quot;, to prevent unexpected side effects from session threads being aborted on shutdown. This might slow down shutdown a bit, but there is less to go wrong.&lt;br /&gt;
*Change: World greetings can now support constants.&lt;br /&gt;
*Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.&lt;br /&gt;
*Change: Process exit code is now set to match ShutdownReason.&lt;br /&gt;
*API: Added ChatTimer.Started and ChatTimer.Stopped events, rewrote BlockDB, MapConversion, and IsoCat APIs.&lt;br /&gt;
*API: Many documentation improvements.&lt;br /&gt;
&lt;br /&gt;
===0.624===&lt;br /&gt;
&#039;&#039;16 July 2012 - r1636&#039;&#039;&lt;br /&gt;
*Fix: Fixed BlockDB time-limiting code trimming too much data from the database.&lt;br /&gt;
*Fix: CommandBook ban import now accepts any filename that ends with &amp;quot;.csv&amp;quot;, not just &amp;quot;bans.csv&amp;quot;.&lt;br /&gt;
*Fix: ServerCLI no longer crashes upon receiving EOF from console.&lt;br /&gt;
*Fix: Fixed a rare case of hidden players being revealed (briefly) when their rank is changed.&lt;br /&gt;
*Fix: Fixed [[/Spectate]] leaving ghost players behind on world change (thanks Hellenion).&lt;br /&gt;
*Fix: Fixed a couple typos in [[/WLock]] and [[/WUnlock]] (thanks ImNoobSoWhat).&lt;br /&gt;
*Change: Added server name to [[/ServerInfo]]&lt;br /&gt;
*Change: If opening a link fails (from ConfigGUI or ServerGUI), the URL is copied to clipboard, instead of crashing.&lt;br /&gt;
*Change: &amp;quot;[[/Import]] bans&amp;quot; no longer prints a message for every player who&#039;s already banned, instead showing a total number of already-banned players at the end.&lt;br /&gt;
*Change: Added a missing &amp;quot;Copy&amp;quot; context menu to the ServerGUI&#039;s log box (thanks to Jonty800).&lt;br /&gt;
*Change: fCraft front-ends now check fCraft.dll&#039;s assembly version, and refuse to start if there is a mismatch (Thanks Zaneo).&lt;br /&gt;
&lt;br /&gt;
===0.623===&lt;br /&gt;
&#039;&#039;9 July 2012 - r1624&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in [[/PasteX]] and [[/PasteNotX]].&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] crash when given a non-banned IP address.&lt;br /&gt;
*Fix: Fixed a crash in Player.DetectChatSpam if AntiSpam was supposed to be disabled.&lt;br /&gt;
*Fix: Fixed typos in comments and messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed a crash in [[/ZAdd]] (thanks thelonedrummer18).&lt;br /&gt;
&lt;br /&gt;
===0.622===&lt;br /&gt;
&#039;&#039;6 July 2012 - r1619&#039;&#039;&lt;br /&gt;
*Feature: ServerGUI message log is now color-coded, easier to select/copy/paste, and featuring clickable links.&lt;br /&gt;
*Fix: Fixed several regressions in [[/Hide]] and [[/Spectate]] that were introduced in 0.620-0.621 (thanks mark_b).&lt;br /&gt;
*Fix: Fixed [[/Deafen]] being usable from console (thanks phonebookguy).&lt;br /&gt;
*Fix: Fixed a crash in Paste/PasteNot/PasteX/PasteNotX (thanks Grant).&lt;br /&gt;
*Misc: Updated some draw command messages, credits, help entries, warnings.&lt;br /&gt;
&lt;br /&gt;
===0.621===&lt;br /&gt;
&#039;&#039;5 July 2012 - r1612&#039;&#039;&lt;br /&gt;
*Feature: Added CommandBook banlist (bans.csv) support to [[/Import]].&lt;br /&gt;
*Feature: Added a way to list all players of a certain rank with &amp;quot;[[/Info]] @ClassName&amp;quot;.&lt;br /&gt;
*Feature: Added {PLAYER_LIST} variable, for use in greetings/announcements/rules.&lt;br /&gt;
*Fix: Fixed changes to DefaultBackupInterval config key not being applied.&lt;br /&gt;
*Fix: Fixed [[/BanInfo]] showing &amp;quot;players on same IP&amp;quot; for players without a recorded IP address.&lt;br /&gt;
*Fix: Fixed fCraft occasionally using localized datetime and number formatting.&lt;br /&gt;
*Fix: Fixed [[/Cut]] storing the selected blocks before checking player&#039;s draw limit (thanks ruggedbear).&lt;br /&gt;
*Fix: Fixed [[/Fill2D]] starting a selection even if command parameters could not be parsed (thanks David00143).&lt;br /&gt;
*Fix: Fixed [[/Copy]] and [[/Cut]] reporting incorrect origin information (thanks nope__avi).&lt;br /&gt;
*Fix: Players who are spectating or being spectated by you are no longer hidden from the tab player list (thanks ruggedbear).&lt;br /&gt;
*Change: If multiple players are spectating the same player, they no longer see each other (thanks Hellenion).&lt;br /&gt;
*Change: Small improvements and fixes to [[/WSet]] and to AntiSpam functionality.&lt;br /&gt;
*Change: Sped up PlayerDB loading on startup.&lt;br /&gt;
*Change: Added shortcuts for [[/SetInfo]] field names.&lt;br /&gt;
&lt;br /&gt;
===0.620===&lt;br /&gt;
&#039;&#039;17 June 2012 - r1592&#039;&#039;&lt;br /&gt;
*Feature: WoM Direct description and flags can now be set from config, without the need to go to WoM Direct website.&lt;br /&gt;
*Feature: Added a new [[/WSet]] command, that allows hiding worlds, changing backup settings, and setting greeting messages.&lt;br /&gt;
*Feature: More [[/WInfo]] information is persisted across server restarts: IsLocked, LockedBy, UnlockedBy, LoadedBy, LoadedOn, MapChangedBy, MapChangedOn.&lt;br /&gt;
*Feature: Added IRCStripMinecraftColors config key (default: true). It determines whether Minecraft colorcodes (ampersand codes) entered on IRC should be removed before showing the message in-game.&lt;br /&gt;
*Fix: Fixed incorrect percentages occasional being printed by [[/Measure]], [[/Cancel]], and [[/Undo]].&lt;br /&gt;
*Fix: Locked worlds remain locked after server restart.&lt;br /&gt;
*Fix: Addressed many flaws and glitches in the backup system.&lt;br /&gt;
*Fix: Fixed a case where draw commands that affected no blocks caused division by zero&lt;br /&gt;
*Fix: Fixed a PlayerDB record corruption bug that affected numbers over 100,000,000.&lt;br /&gt;
*Fix: Fixed a stability issue related to LineWrapper (thanks Kevinsweijen and Mc_MrCat).&lt;br /&gt;
*Fix: Fixed IRC markup codes being forwarded to the server in IRC&#039;s channel-kick messages.&lt;br /&gt;
*Fix: Fixed [[/Unmute]] not checking rank limits (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;IP&amp;gt;&amp;quot; and &amp;quot;[[/BanAll]] &amp;lt;PlayerName&amp;gt;&amp;quot; not checking ban exemptions when kicking players (thanks BobKare).&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/BanIP]] &amp;lt;PlayerName&amp;gt;&amp;quot; not kicking all the players from IP address.&lt;br /&gt;
*Fix: Fixed Undo/Redo messages (thanks Jonty800).&lt;br /&gt;
*Fix: Fixed compatibility with Mono 2.10.8.1 (thanks Hawkzeh).&lt;br /&gt;
*Change: Removed [[/WHide]] and [[/WUnhide]] (obsoleted by [[/WSet]]).&lt;br /&gt;
&lt;br /&gt;
===0.618===&lt;br /&gt;
&#039;&#039;22 April 2012 - r1568&#039;&#039;&lt;br /&gt;
*Fix: Fixed a crash in ConfigGUI when trying to sort by map size and a map file is missing (thanks Moose).&lt;br /&gt;
*Change: Ampersands are no longer allowed in chat, even escaped, due to unpredictable Minecraft client behavior.&lt;br /&gt;
&lt;br /&gt;
===0.617===&lt;br /&gt;
&#039;&#039;21 April 2012 - r1564&#039;&#039;&lt;br /&gt;
*Feature: [[/BInfo]] now accepts optional XYZ coordinates, like [[/Mark]].&lt;br /&gt;
*Fix: Added a workaround for &amp;quot;Internal error Flush&amp;quot; under Mono.&lt;br /&gt;
*Fix: Fixed [[/WBring]] printing incorrect usage syntax (thanks recon_)&lt;br /&gt;
*Fix: Fixed typo in [[/BlockDB]] (thanks xN8Gx)&lt;br /&gt;
*Fix: Fixed IRC bots not binding to the specified local endpoint.&lt;br /&gt;
*Fix: Fixed &amp;quot;PreviousRank&amp;quot; not getting updated by [[/SetInfo]] working (thanks nope__avi)&lt;br /&gt;
*Fix: Fixed several rare stability issues (thanks Kevinsweijen).&lt;br /&gt;
*Fix: Fixed [[/Undo]] and [[/Redo]] producing odd log messages if 0 blocks have been changed.&lt;br /&gt;
*&amp;lt;s&amp;gt;Change: Allowed &#039;&amp;amp;&#039; character (ampersand) to be entered in chat, which is now escaped.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===0.616===&lt;br /&gt;
&#039;&#039;10 March 2012 - r1498&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Import]] terminating when importing bans, if a player with the given name is already banned.&lt;br /&gt;
*Fix: Fixed a formatting error in [[/Bring]] and [[/WBring]] confirmation messages.&lt;br /&gt;
*Fix: Fixed mixed-up messages in [[/WAccess]] and [[/WBuild]] when removing players from blacklist/whitelist (thanks ruggedbear and xN8Gx)&lt;br /&gt;
*Fix: Fixed [[/Static]] not turning off after switching worlds (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed [[/Rotate]] printing incorrect copyslot number (thanks Mc_MrCat)&lt;br /&gt;
*Fix: Fixed a ServerGUI crash when pressing the down arrow key after typing in the first console message (thanks Jason)&lt;br /&gt;
*Fix: [[/Me]] messages no longer count towards stats twice (thanks recon_)&lt;br /&gt;
*Fix: [[/Mute]] and [[/Unmute]] now usable with &amp;quot;-&amp;quot; in place of player name (thanks thelonedrummer18)&lt;br /&gt;
*Fix: Fixed README.txt typo (thanks Wolfmade)&lt;br /&gt;
&lt;br /&gt;
===0.615===&lt;br /&gt;
&#039;&#039;2 February 2012 - r1445&#039;&#039;&lt;br /&gt;
*Fix: Fixed [[/Patrol]] checking Spectate permission, and [[/SpecPatrol]] not checking it.&lt;br /&gt;
*Fix: Fixed [[/WRename]] not updating player&#039;s last-used-world-name (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed colorcodes (%-codes) not getting applied consistently (thanks BobKare)&lt;br /&gt;
*Fix: Fixed a rare name-verification issue that only affected players whose ranks have been imported (thanks Mc_MrCat)&lt;br /&gt;
*Fix: ServerGUI now correctly interprets &amp;quot;Notify&amp;quot; and &amp;quot;Auto&amp;quot; updater settings.&lt;br /&gt;
*Change: Data backups are now stored in ./databackups/ directory.&lt;br /&gt;
&lt;br /&gt;
===0.614===&lt;br /&gt;
&#039;&#039;24 January 2012 - r1426&#039;&#039;&lt;br /&gt;
*Fix: Fixed server crashing if PlayerDB.txt exists but is empty.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Join]] -&amp;quot; using player names, and &amp;quot;[[/TP]] -&amp;quot; using world names.&lt;br /&gt;
*Fix: Solved File.Replace-related errors, which caused occasional save failures.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking caller&#039;s Spectate permission limit when selecting the next target.&lt;br /&gt;
*Fix: Fixed &amp;quot;random&amp;quot; brush producing obvious repeating patterns.&lt;br /&gt;
*Fix: Fixed auto-updater occasionally freezing when attempting to &amp;quot;Restart Now&amp;quot;.&lt;br /&gt;
*Fix: Added permission limit check to [[/Unfreeze]] (thanks Xb0x4d4m)&lt;br /&gt;
*Fix: Improved the way [[/Bring]] and [[/WBring]] enforce access permissions (thanks Hellenion)&lt;br /&gt;
*Change: Added more information about player connects/disconnects to log file.&lt;br /&gt;
&lt;br /&gt;
===0.613===&lt;br /&gt;
&#039;&#039;11 January 2012 - r1401&#039;&#039;&lt;br /&gt;
*Fix: Fixed ConfigGUI not saving changes to ShowConnectionMessages key.&lt;br /&gt;
*Fix: Fixed a case where ConfigGUI could crash while attempting to rename a world.&lt;br /&gt;
*Fix: All spectate permissions are now re-checked when someone gets promoted or demoted.&lt;br /&gt;
*Fix: Fixed ConfigGUI Worlds tab crash when dealing with zoned maps.&lt;br /&gt;
*Fix: Fixed IRC bot not retrying for desired nickname after reconnecting&lt;br /&gt;
*Fix: Fixed a case where editing a world via ConfigGUI would clear security whitelists/blacklists.&lt;br /&gt;
*Fix: Fixed spectating players not being treated as hidden (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed formatting in &amp;quot;Player ___ got auto-kicked&amp;quot; message (thanks BobKare)&lt;br /&gt;
*Fix: Fixed auto-kick revealing hidden players (thanks BobKare)&lt;br /&gt;
*Fix: Fixed RandomBrush-related [[/Undo]] artifacts in [[/Triangle]] (thanks Lunara_Noctis)&lt;br /&gt;
&lt;br /&gt;
===0.612===&lt;br /&gt;
&#039;&#039;14 December 2011 - r1307&#039;&#039;&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] @Rank&amp;quot; not autocompleting rank names.&lt;br /&gt;
*Fix: Fixed compatibility with legacy PlayerDB format versions. PlayerDB files created by fCraft 0.400+ will work again.&lt;br /&gt;
*Fix: Fixed several syntax problems and crashes in /Gen.&lt;br /&gt;
*Fix: Fixed a bug that reset a world&#039;s BackupInterval to default and IsLocked flag to false after changing the map (backport from 0.700).&lt;br /&gt;
*Fix: Fixed a bug that prevented kicks/bans/promotions/demotions from being announced on IRC if no reason was given.&lt;br /&gt;
*Change: Capped all user-entered time spans at 9999 days.&lt;br /&gt;
*Change: Shortened and clarified some confirmation prompts ([[/Gen]], [[/WLoad]], [[/ZRemove]], [[/Import]], [[/MassRank]]).&lt;br /&gt;
&lt;br /&gt;
===0.611===&lt;br /&gt;
&#039;&#039;3 December 2011 - r1282&#039;&#039;&lt;br /&gt;
*Feature: Added information about periodic backups to [[/WInfo]].&lt;br /&gt;
*Fix: Fixed [[/Players]] not working properly if both world name and offset were given.&lt;br /&gt;
*Fix: Fixed [[/WAccess]], [[/WBuild]], and [[/ZEdit]] not working with one-letter rank names.&lt;br /&gt;
*Fix: Fixed [[/BanIP]], /BanAll, /UnbanIP, and /UnbanAll treating fully numeric player names as IPs.&lt;br /&gt;
*Fix: Fixed [[/SetInfo]] not resetting PlayerInfo.LastModified date.&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Worlds]] populated&amp;quot; revealing worlds with hidden players.&lt;br /&gt;
*Fix: Fixed [[/BringAll]] ignoring per-rank limits in some cases (thanks ferny530)&lt;br /&gt;
*Fix: Fixed appearance of black and white blocks in [[/Env]] edges (thanks Jonty)&lt;br /&gt;
*Fix: Fixed a bug in Position.Equals&amp;lt;Position&amp;gt;(), which may have caused unnecessary position updates in Player.UpdateVisibleEntities (thanks boblol0909)&lt;br /&gt;
*Fix: Fixed a little crash in Chat.GetRawMessageType (thanks ruggedbear)&lt;br /&gt;
*Fix: Fixed a case where Player.CanPlace checked permissions against the wrong world&#039;s BuildSecurity controller (thanks Xesdra)&lt;br /&gt;
*Fix: Fixed &amp;quot;[[/Commands]] @Rank&amp;quot; showing hidden commands (thanks Hellenion)&lt;br /&gt;
*Fix: Fixed a typo in [[/Worlds]] (thanks Kevinsweijen)&lt;br /&gt;
*Fix: Fixed BlockDBAutoEnable and BlockDBAutoEnableRank config keys being placed in the &amp;quot;General&amp;quot; section.&lt;br /&gt;
*Change: Improved config.xml format (now version 152). Configs created with fCraft 0.611+ will not be usable with older versions of fCraft.&lt;br /&gt;
*Change: Rewrote ServerGUI startup code to make it more responsive (thanks to 800craft for the idea).&lt;br /&gt;
*Change: Added information about command-line options to the README, and fixed some typos.&lt;br /&gt;
*Change: MaxConnectionsPerIP restriction no longer applies to localhost.&lt;br /&gt;
*Change: Increased block-ratio limit for &amp;quot;random&amp;quot;, &amp;quot;cloudy&amp;quot;, and &amp;quot;marbled&amp;quot; brushes from 1000 to 10,000.&lt;br /&gt;
&lt;br /&gt;
===0.610===&lt;br /&gt;
&#039;&#039;18 November 2011 - r1240&#039;&#039;&lt;br /&gt;
*Feature: Added [[/Fill2D]] (/f2d), [[/Triangle]] (/t), and [[/TriangleW]] (/tw) draw commands.&lt;br /&gt;
*Feature: Added ability to filter [[/Worlds]] by rank.&lt;br /&gt;
*Feature: Added [[/Static]] (a way to repeat selection commands).&lt;br /&gt;
*Feature: Added MaxUndoStates config key (how many steps back can [[/Undo]] go), and ConfigGUI bindings.&lt;br /&gt;
*Feature: Added experimental IP-range lookup to [[/Info]] (CIDR notation). Changed /Info pattern-matching single-character symbol from &#039;.&#039; to &#039;?&#039;&lt;br /&gt;
*Feature: Added pagination to [[/Players]].&lt;br /&gt;
*Feature: [[/Spectate]] and [[/SpecPatrol]] now show what commands, PMs, and rank messages the target types in.&lt;br /&gt;
*Feature: Added a way to change server salt without needing a restart, using &amp;lt;code&amp;gt;[[/Reload]] Salt&amp;lt;/code&amp;gt;&lt;br /&gt;
*Feature: [[/Measure]] now shows statistics about block types in the selection.&lt;br /&gt;
*Feature: [[/Gen]] now has two new templates: &amp;quot;ocean&amp;quot; and &amp;quot;empty&amp;quot;&lt;br /&gt;
*Fix: Many fixes in name-retyping functionality.&lt;br /&gt;
*Fix: Addressed stability issues in LineWrapper and Undo/Redo.&lt;br /&gt;
*Fix: Fixed [[/WLock]] not canceling all draw commands (as intended).&lt;br /&gt;
*Fix: Fixed some outdated descriptions, links, and tooltips in ConfigGUI.&lt;br /&gt;
*Fix: Fixed being able to BanIP/BanAll/UnbanIP/UnbanAll invalid IP addresses (0.0.0.0 and 255.255.255.255).&lt;br /&gt;
*Fix: Fixed [[/Info]] printing a blank page (instead of the last page) if given offset is greater than the total number of matches.&lt;br /&gt;
*Fix: Fixed rank prefixes being appended to players&#039; names if DisplayedName is set.&lt;br /&gt;
*Fix: Fixed a couple rare crashes/hangs in ServerGUI when parsing console commands.&lt;br /&gt;
*Fix: Fixed [[/Ban]] and [[/Unban]] announcing when they&#039;re not supposed to.&lt;br /&gt;
*Fix: Fixed a potential crash in [[/BanInfo]] when looking up an IP address directly (no player name).&lt;br /&gt;
*Fix: Fixed another obscure way of revealing hidden players.&lt;br /&gt;
*Fix: Fixed Beta client kick message (thanks Voziv).&lt;br /&gt;
*Fix: Fixed [[/Commands]] defaulting to printing ALL commands.&lt;br /&gt;
*Fix: Fixed [[/Undo]] trying to re-cancel canceled commands.&lt;br /&gt;
*Fix: Fixed uncaught &amp;quot;Illegal characters in path.&amp;quot; exception when trying to save a [[/Gen]]&#039;erated map to an invalid filename.&lt;br /&gt;
*Fix: Fixed typos in [[/ReplaceNot]] and [[/UndoArea]].&lt;br /&gt;
*Change: Added a warning on startup if name verification is disabled.&lt;br /&gt;
*Change: Tweaks and improvements to [[/Info]], [[/WInfo]], [[/BanInfo]], [[/SetInfo]], and [[/Commands]].&lt;br /&gt;
*Change: Removed code that tries next port if the given one could not be used. Now fCraft either starts on the port specified in config, or dies.&lt;br /&gt;
*Change: Commands now complain about being given too many parameters (in addition to complaining about too few parameters). This should help catch mistyped commands.&lt;br /&gt;
*Change: Added an option to disable giant-tree generation in ConfigGUI&#039;s map generator.&lt;br /&gt;
*Change: Changed log format for bans/kicks to include more information, and fixed log message format for &amp;quot;Player ____ logged in from an IP shared by banned players...&amp;quot;&lt;br /&gt;
*Change: Included config.xml in the automated data backup.&lt;br /&gt;
*Change: ConfigGUI tweaks and improvements.&lt;br /&gt;
*Change: Changes some aliases:&lt;br /&gt;
**Added /Whois and /WhoWas as aliases for [[/Info]].&lt;br /&gt;
**Set &amp;quot;/B&amp;quot; and &amp;quot;/About&amp;quot; to be aliases for [[/BInfo]].&lt;br /&gt;
*Change: Changed some ConfigKey defaults:&lt;br /&gt;
**BlockDBEnabled defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
**WomEnableEnvExtensions defaults to &amp;quot;false&amp;quot;&lt;br /&gt;
**IRCBotAnnounceServerEvents defaults to &amp;quot;true&amp;quot;&lt;br /&gt;
*Change: Discontinued ServerWinService (formerly fCraftWinService) subproject.&lt;br /&gt;
*API: Improved Vector3I, Vector3F, and Position classes a bit.&lt;br /&gt;
*API: New events: DrawOperation.Beginning / Began / Ended&lt;br /&gt;
*API: Changed the way PlayerInfo stores empty string fields. Instead of a 0-length string, it now uses nulls.&lt;br /&gt;
*Optimization: Sped up PlayerDB loading/saving, and boolean ConfigKey lookup.&lt;br /&gt;
&lt;br /&gt;
===0.604===&lt;br /&gt;
&#039;&#039;23 October 2011 - r1155&#039;&#039;&lt;br /&gt;
*Feature: Added support for repeating previously-entered player and world names. Just put a dash (-) in place of the player/world name when using a command, and fCraft will fill in the most-recently-used name.&lt;br /&gt;
*Fix: Fixed an occasional SecurityController-related crash in [[/Gen]], [[/WLoad]], and ConfigGUI world editor.&lt;br /&gt;
*Fix: Fixed an very rare problem in shutdown/restart commands.&lt;br /&gt;
*Fix: Fixed a rare crash that only happened if: MaxPlayers&amp;gt;128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.&lt;br /&gt;
*Fix: Fixed naming of paste/pastenot and pastex/pastenotx&lt;br /&gt;
*Fix: Fixed a permission exploit in /wbring (thanks to panda100123)&lt;br /&gt;
*Fix: Fixed [[/Rules]] section finder accidentally being case-sensitive.&lt;br /&gt;
*Fix: Fixed an issue with MCSharp/MCZall/MCLawl/MCQuai/MCStorm/MCForge/MCWhatever importer.&lt;br /&gt;
*Change: Decreased shading strength in IsoCat renderer.&lt;br /&gt;
*Change: Added /Who as an alias for [[/Players]], by request.&lt;br /&gt;
*Change: Clarified ConfigGUI description of name verification settings.&lt;br /&gt;
*Change: Normalized command name capitalization. Command names must now start with an uppercase letter, for consistency.&lt;br /&gt;
*API: Fixed inconsistencies in PlayerDB.txt header row format declaration.&lt;br /&gt;
&lt;br /&gt;
===0.603===&lt;br /&gt;
&#039;&#039;20 October 2011 - r1142&#039;&#039;&lt;br /&gt;
*Fix: [[/Cancel]] can no longer be repeated with &amp;quot;/&amp;quot; (no longer replaces previously-called command).&lt;br /&gt;
*Fix: Fixed [[/Rotate]] and [[/Mirror]] messing up if a paste command is in progress.&lt;br /&gt;
*Fix: Re-enabled crash interception and reporting.&lt;br /&gt;
&lt;br /&gt;
===0.602===&lt;br /&gt;
&#039;&#039;18 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Feature: One-click paste commands are now the default. Two-click aligned paste commands are now known as [[/PasteX]] (/PX) and [[/PasteNotX]].&lt;br /&gt;
*Feature: Added [[/ReplaceBrush]] (/RB) command (shortcut for &amp;lt;code&amp;gt;[[/Brush]] ReplaceBrush&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;[[/Cuboid]]&amp;lt;/code&amp;gt;).&lt;br /&gt;
*Feature: Added a way to change number of copy/paste slots per rank from ConfigGUI.&lt;br /&gt;
*Fix: Fixed a few typos and missing help entries.&lt;br /&gt;
*Fix: Fixed DrawOp completion message and log entry.&lt;br /&gt;
*Fix: Fixed [[/Paste]] and [[/PasteNot]] not properly clipping against world boundaries.&lt;br /&gt;
*Fix: Fixed ConfigGUI not preserving environment settings for worlds.&lt;br /&gt;
*Fix: Fixed ConfigGUI losing some worlds and showing some errors when importing from 0.5xx.&lt;br /&gt;
*Fix: Fixed [[/Bring]] not being usable from console.&lt;br /&gt;
*Fix: Fixed [[/WRename]] crashing if invalid characters (from filesystem&#039;s point of view) are present in the new name.&lt;br /&gt;
*Fix: Fixed [[/SpecPatrol]] not checking for Spectate permission.&lt;br /&gt;
*Fix: Fixed [[/UndoArea]]&#039;d and [[/UndoPlayer]]&#039;ed blocks having &amp;quot;Restored&amp;quot; flag set in /bi&lt;br /&gt;
*Fix: Fixed a detached checkbox on &amp;quot;Worlds&amp;quot; tab of ConfigGUI.&lt;br /&gt;
*Fix: Fixed [[/Say]], [[/Staff]], and [[/Me]] getting logged twice.&lt;br /&gt;
*Fix: Fixed per-world backup settings being cleared on server restart.&lt;br /&gt;
*Fix: Fixed a rare NullReferenceException in WorldManager.LoadWorldList that occurred if the main world was missing, and the fallback world had access restrictions.&lt;br /&gt;
*Fix: Fixed some issues with BlockDB settings in &amp;quot;Add World&amp;quot; and &amp;quot;Edit World&amp;quot; popups of ConfiGUI.&lt;br /&gt;
*Fix: Fixed a rare ConfigGUI crash when resetting the rank tab whole one of the old ranks is selected.&lt;br /&gt;
*Change: Sped up [[/EllipsoidH]] and [[/SphereH]] slightly (thanks to Redshift).&lt;br /&gt;
*Change: Improved error handling in [[/Env]] when setting level.&lt;br /&gt;
*Change: Double-buffered the preview on &amp;quot;Chat&amp;quot; tab of ConfigGUI, to get rid of flicker.&lt;br /&gt;
*Change: Clarified auto-freeze message when trying to kick/ban someone without a required reason string.&lt;br /&gt;
&lt;br /&gt;
===0.601===&lt;br /&gt;
&#039;&#039;15 October 2011 - r1135&#039;&#039;&lt;br /&gt;
*Fixed several issues with [[/Undo]] and drawing commands.&lt;br /&gt;
&lt;br /&gt;
===0.600===&lt;br /&gt;
&#039;&#039;14 October 2011 - r1107&#039;&#039;&lt;br /&gt;
:&#039;&#039;See [http://www.fcraft.net/0.600/ http://www.fCraft.net/0.600] for a summary of changes, and upgrade notes.&#039;&#039;&lt;br /&gt;
*Chat: Added a {{cmd|Timer}} command for creating publicly-announced countdowns/timers.&lt;br /&gt;
*Chat: Added a way to cancel partial messages: &amp;lt;code&amp;gt;/Nvm&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Chat: Removed &amp;quot;Banned player ___ tried to log in&amp;quot; and &amp;quot;Player ___ tried to log in from a banned IP&amp;quot; messages.&lt;br /&gt;
*Chat: {{cmd|Say}}, {{cmd|Staff}}, and {{cmd|Me}} commands can no longer repeated using &amp;quot;/&amp;quot; shortcut.&lt;br /&gt;
*Chat: Added a warning when trying to PM deafened players.&lt;br /&gt;
*Chat: Added a shortcut for chatting to same rank: &amp;quot;@@ Message&amp;quot;&lt;br /&gt;
*Chat: Increased the number of blank lines sent by {{cmd|Clear}} to 30, to accommodate players with smaller-than-normal font sizes.&lt;br /&gt;
*Chat Fix: Fixed {{cmd|Say}}, {{cmd|Roll}}, {{cmd|Staff}}, and {{cmd|Me}} sometimes bypassing {{perm|Chat}} permission, mute check, or spam detection check.&lt;br /&gt;
*Chat Fix: Fixed rank chat being logged twice.&lt;br /&gt;
*Chat Fix: Fixed some system messages getting through to deafened players.&lt;br /&gt;
*Chat Fix: {{cmd|Deafen}} now clears the screen when toggled on.&lt;br /&gt;
*Commands: Rank and zone names now autocomplete.&lt;br /&gt;
*Commands: Players can no longer freeze, mute, kick, ban, unban, promote, or demote themselves.&lt;br /&gt;
*Commands: {{cmd|Players}} can now be called with an optional WorldName parameter, to only list players in a particular world.&lt;br /&gt;
*Commands: {{cmd|WLoad}} now takes two more optional parameters: build rank and access rank names.&lt;br /&gt;
*Commands: {{cmd|Info}} now shows last leave reason, idle time, freeze/mute information, and ban exemption status.&lt;br /&gt;
*Commands: Augmented {{cmd|Rules}} to support several rule categories.&lt;br /&gt;
*Commands: Added {{cmd|Spectate}} and {{cmd|SpecPatrol}} (&amp;lt;code&amp;gt;/SPat&amp;lt;/code&amp;gt;) commands.&lt;br /&gt;
*Commands: Added {{cmd|WBring}} (brings target player to a world);&lt;br /&gt;
*Commands: Added {{cmd|Spawn}} command (brings you to spawn). Typing &amp;quot;{{cmd|TP}}&amp;quot; no longer does the same thing, and {{cmd|TP}} now always requires {{perm|Teleport}} permission.&lt;br /&gt;
*Commands: Algorithm that {{cmd|Patrol}} uses to pick the next target was improved.&lt;br /&gt;
*Commands: Renamed Lock/Unlock commands to {{cmd|WLock}}/{{cmd|WUnlock}}, for consistency.&lt;br /&gt;
*Commands: Merged &amp;lt;code&amp;gt;/ReloadConfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/AutoRankReload&amp;lt;/code&amp;gt; into {{cmd|Reload}} command. Merged &amp;lt;code&amp;gt;/ImportRanks&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/ImportBans&amp;lt;/code&amp;gt; into {{cmd|Import}} command. Combined functionality of &amp;lt;code&amp;gt;/LockAll&amp;lt;/code&amp;gt; into {{cmd|WLock}}, and functionality of &amp;lt;code&amp;gt;/UnlockAll&amp;lt;/code&amp;gt; into {{cmd|WUnlock}}.&lt;br /&gt;
*Commands: {{cmd|Info}} and {{cmd|Worlds}} now support pagination.&lt;br /&gt;
*Commands: When world access permissions are changed with {{cmd|WAccess}}, players who lost ability to join the world will automatically be moved to main.&lt;br /&gt;
*Commands: Frozen player can no longer call most commands, with exception of: {{cmd|Clear}}, {{cmd|Info}}, {{cmd|BanInfo}}, {{cmd|RankInfo}}, {{cmd|ServerInfo}}, {{cmd|Ranks}}, {{cmd|Rules}}, {{cmd|Where}}, {{cmd|Help}}, {{cmd|Commands}}, {{cmd|Colors}}, {{cmd|Worlds}}, {{cmd|Zones}}, and {{cmd|ZInfo}}.&lt;br /&gt;
*Commands: {{cmd|Bring}} and {{cmd|WBring}} now give the option of overriding worlds&#039; access minimum-rank. Explicitly blacklisted players will continue to be barred.&lt;br /&gt;
*Commands: Added {{cmd|InfoSwap}} command, for swapping two players&#039; ranks and PlayerDB records.&lt;br /&gt;
*Commands: Added a way to abort a server shutdown or restart (&amp;quot;{{cmd|Shutdown|abort}}&amp;quot; or &amp;quot;{{cmd|Restart|abort}}&amp;quot;).&lt;br /&gt;
*Commands: {{cmd|RankInfo}} now shows copy/paste slots, idle kick time, and permission limits.&lt;br /&gt;
*Commands: Most time-related commands now take the [[Time formatting|compact format]] (e.g. 1m30s, 45s, 24h, etc).&lt;br /&gt;
*Commands: Color-coded {{cmd|Commands}}.&lt;br /&gt;
*Commands: Limited {{cmd|Mute}} duration to range between 1 second and 700 days (100 weeks).&lt;br /&gt;
*Commands: {{cmd|SetInfo}} now allows changing players&#039; DisplayedName.&lt;br /&gt;
*Commands: A warning is now shown when a player is kicked/banned, and other players are still connected from the IP.&lt;br /&gt;
*Commands: Added a way to add IP ban exemptions using {{cmd|BanEx}} (banning all players from IP except a particular one).&lt;br /&gt;
*Commands: Added automatic countdowns to {{cmd|Shutdown}} and {{cmd|Restart}}.&lt;br /&gt;
*Commands: Added more stats to {{cmd|ServerInfo}}.&lt;br /&gt;
*Commands: {{cmd|MassRank}} now defaults to silent, and takes a &amp;quot;reason&amp;quot; parameter.&lt;br /&gt;
*Commands: Added &amp;quot;/St&amp;quot; as an alias for {{cmd|Staff}}. Changed &amp;quot;/L&amp;quot; from being alias for {{cmd|Join}}, to being alias for {{cmd|Lava}}. Removed &amp;quot;/Cub&amp;quot; alias for {{cmd|Cuboid}}.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|UnbanIP}} and {{cmd|UnbanAll}} not announcing the unban reason.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Info}} not formatting names of offline players.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Restart}} breaking under Mono if working path contains spaces.&lt;br /&gt;
*Commands Fix: Fixed freeze/unfreeze printing wrong ranks in &amp;quot;You can only freeze players ranked ____ or lower&amp;quot; messages.&lt;br /&gt;
*Commands Fix: Fixed a rare crash in {{cmd|Rules}} when used from console.&lt;br /&gt;
*Commands Fix: {{cmd|BanIP}} and {{cmd|BanAll}} no longer allow to ban the IP if it&#039;s shared by any players whom caller is not allowed to ban.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Ignore}} and {{cmd|Unignore}} printing all matches at once on autocompletion.&lt;br /&gt;
*Commands Fix: Fixed a case where {{cmd|BringAll}} could reveal hidden players.&lt;br /&gt;
*Commands Fix: Fixed a few bugs in {{cmd|DumpStats}}, expanded player listing to top-5/bottom-5, and added &amp;quot;BlocksDrawn&amp;quot; stat.&lt;br /&gt;
*Commands Fix: Fixed {{cmd|Rank}} and {{cmd|TP}} commands showing up in {{cmd|Commands}} for ALL players.&lt;br /&gt;
*Commands Fix: Fixed a couple rare bugs in {{cmd|Roll}}.&lt;br /&gt;
*Commands Fix: Fixed broken {{cmd|BringAll}} support for bringing multiple ranks at once.&lt;br /&gt;
*Commands Fix: Fixed several obscure ways of revealing presence of hidden players via commands like {{cmd|ServerInfo}} and {{cmd|Worlds}}.&lt;br /&gt;
*Config: New config keys: BackupDataOnStartup (default: true), RestartInterval (default: 0), HeartbeatToWoMDirect (default: true), BlockDBEnabled (default: true), BlockDBAutoEnable (default: true), and BlockDBAutoEnableRank (default: DefaultRank), WoMEnableEnvExtensions (default: false).&lt;br /&gt;
*Config: Added {{perm|Spectate}} permission that covers {{cmd|Spectate}} and {{cmd|SpecPatrol}}.&lt;br /&gt;
*Config: Added {{perm|DrawAdvanced}} permission that covers {{cmd|Brush}}, {{cmd|Sphere, {{cmd|SphereH}}, {{cmd|Torus}}, and {{cmd|Restore}} commands.&lt;br /&gt;
*Config: Added {{perm|ManageBlockDB}} permission that covers {{cmd|BlockDB}}.&lt;br /&gt;
*Config: Added {{perm|UndoOthersActions}} permission that covers {{cmd|UndoPlayer}} and {{cmd|UndoArea}}.&lt;br /&gt;
*Config: {{cmd|Reload}} can now update more config keys without needing a restart: AutoRankEnabled, BandwidthUseMode, ConsoleName, DefaultRank, DefaultBuildRank, PatrolledRank.&lt;br /&gt;
*Config: Removed obsolete ShowBannedConnectionMessages config key.&lt;br /&gt;
*Config Fix: Fixed DefaultRank/DefaultBuildRank/PatrolledRank settings not being applied.&lt;br /&gt;
*ConfigGUI: Added BlockDB settings to &amp;quot;Worlds&amp;quot; tab and &amp;quot;Add/Edit World&amp;quot; dialog.&lt;br /&gt;
*ConfigGUI: Reorganized Rank tab.&lt;br /&gt;
*ConfigGUI: Relaxed restrictions on rank prefixes.&lt;br /&gt;
*ConfigGUI: Added &amp;quot;Insert Color&amp;quot; and &amp;quot;Insert Keyword&amp;quot; buttons to announce/rule/greeting editors in ConfigGUI, and a &amp;quot;Reset&amp;quot; button to revert edits.&lt;br /&gt;
*ConfigGUI: Any errors/warnings that are produced while loading &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt; in ConfigGUI are now displayed at startup.&lt;br /&gt;
*ConfigGUI Fix: ConfigGUI no longer loses worlds&#039; whitelists/blacklists.&lt;br /&gt;
*ConfigGUI Fix: Fixed several bugs related to renaming worlds.&lt;br /&gt;
*ConfigGUI Fix: Fixed several &amp;quot;Reset&amp;quot; bugs.&lt;br /&gt;
*ConfigGUI Fix: Fixed &amp;quot;Enable colors in IRC&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*ConfigGUI Fix: Fixed ConfigTool&#039;s Chat tab not updating to reflect changes in rank colors/prefixes.&lt;br /&gt;
*ConfigGUI Fix: Fixed sort order in Worlds tab when sorting by world size.&lt;br /&gt;
*ConfigGUI Fix: Fixed some rank dropdown menus in ConfigGUI showing &amp;quot;(lowest rank)&amp;quot; instead of &amp;quot;(default rank)&amp;quot; as the default option.&lt;br /&gt;
*Drawing: Introduced a brush/pattern system for draw commands. Rewrote (almost) all existing draw commands to take advantage of that new infrastructure. Brushes are: Normal (default), Checkered, Random, Cloudy, Marbled, Replace, ReplaceNot, ReplaceBrush.&lt;br /&gt;
*Drawing: Added a way to {{cmd|Undo}} up to five commands back. Use {{cmd|Redo to reverse it.&lt;br /&gt;
*Drawing: Added {{cmd|Torus}} drawing command, written and contributed by M1_Abrams.&lt;br /&gt;
*Drawing: Added support for multiple copy/paste slots, using {{cmd|CopySlot}}. Number of slots of configurable per-rank.&lt;br /&gt;
*Drawing: {{cmd|Replace}} and {{cmd|ReplaceNot}} can now take just one blocktype. The replacement type is inferred from the type of block player is holding when clicking.&lt;br /&gt;
*Drawing: {{cmd|Undo}} now cancels the last drawing commands.&lt;br /&gt;
*Drawing: Added a new [[Blocks|block name aliases]]: &amp;quot;g&amp;quot; for grass, &amp;quot;w&amp;quot; for water, &amp;quot;a&amp;quot; for air.&lt;br /&gt;
*Drawing Fix: Added a missing volume check to {{cmd|Line}}, and fixed {{cmd|CuboidW}} volume calculations.&lt;br /&gt;
*Drawing Fix: Fixed {{cmd|Copy}} and {{cmd|Cut}} reporting incorrect orientation.&lt;br /&gt;
*FrontEnd: Colored ConfigCLI log messages: red for errors, yellow for warnings, dark gray for debug, default (gray) for everything else. Call with &amp;quot;--noconsolecolor&amp;quot; parameter to disable.&lt;br /&gt;
*FrontEnd: ServerCLI now handles all updater modes properly, and downloads updater/restarts if needed.&lt;br /&gt;
*FrontEnd: Improved window titles.&lt;br /&gt;
*FrontEnd Fix: Fixed ServerCLI writing errors to stdout instead of stderr.&lt;br /&gt;
*Misc: Players who log out hidden will now log in silently, still hidden.&lt;br /&gt;
*Misc: More [[Constants|keywords]] are now usable in announcements, rules, and greeting files: {SERVER_NAME}, {MOTD}, {RANK}, {PLAYER_NAME}, {TIME}, {WORLD}, {PLAYERS}, and {WORLDS}&lt;br /&gt;
*Misc: Kicked or disconnected players no longer have their TotalTime increased for the time idled.&lt;br /&gt;
*Misc: fCraft will refuse to start up if running old versions of mono (2.4 or earlier).&lt;br /&gt;
*Misc: Crash reporter now prints a reference number for submitted reports.&lt;br /&gt;
*Misc: AutoRank now only evaluates online players on a timer. A full database sweep will only be done on startup or on-demand. This should notably reduce average CPU use on large databases.&lt;br /&gt;
*Misc: Added AutoRank pseudoplayer (similar to Console), who is now credited with all autorank promotions/demotions.&lt;br /&gt;
*Misc: Increased the allowed clicking distance when manually clicking blocks, to account for lag.&lt;br /&gt;
*Misc: IRC bot now announces channel kicks and nick changes.&lt;br /&gt;
*Misc: When a player with a reserved slot tries to join a full world, the longest-idle player will be kicked to make room.&lt;br /&gt;
*Misc: Frozen, demoted, and banned players are now automatically unhidden. Frozen players are undeafened. Banned players are also automatically unfrozen and unmuted.&lt;br /&gt;
*Misc: When a player&#039;s rank is changed, their bindings are now reset (to avoid issues with {{cmd|Water}}, {{cmd|Lava}}, and {{cmd|Solid}}), and any in-progress selection is canceled ([[:Category:Requires Draw|draw]] commands, {{cmd|Zone}}, {{cmd|ZTest}}, {{cmd|BInfo}}, {{cmd|Measure}}, etc)&lt;br /&gt;
*Misc: Frozen players now have a little blue star appended to their names, similar to the red star for banned players.&lt;br /&gt;
*Misc: Moved all heartbeat-related operations to the background thread (fixes lag spikes when minecraft.net times out).&lt;br /&gt;
*Misc: Added a dynamically updated compass at the top-right of the screen, visible to players who use WoM 1.8.8+&lt;br /&gt;
*Misc: Added a check for libMonoPosix on server startup. This allows catching misconfigured Mono setups early.&lt;br /&gt;
*Misc: Ranks now default to &amp;quot;white&amp;quot; color (&amp;quot;&amp;amp;f&amp;quot;) instead of &amp;quot;none&amp;quot; color (&amp;quot;&amp;quot;).&lt;br /&gt;
*Misc: Edited the &amp;quot;failed to load main world&amp;quot; message to sound less menacing, since it&#039;s usually caused just by main world filling up.&lt;br /&gt;
*Misc: Sped up {{cmd|PruneDB}}, {{cmd|MassRank}}, map generation. Reduced memory use of draw commands, undo buffers, and ConfigGUI.&lt;br /&gt;
*Misc Fix: Fixed &amp;quot;duplicate metadata key&amp;quot; warning in FCMv3 maps.&lt;br /&gt;
*Misc Fix: Fixed a zone-related race condition when exporting to Opticraft map format.&lt;br /&gt;
*Misc Fix: Fixed fCraft being unable to start if fCraft.dll is in the root directory of a drive (e.g. in &amp;quot;C:/&amp;quot;)&lt;br /&gt;
*Misc Fix: Fixed a bug that caused bandwidth to sometimes be wasted on needlessly updating position of non-moving players.&lt;br /&gt;
*Misc Fix: Fixed a clock drift problem in periodic SchedulerTasks.&lt;br /&gt;
*Misc Fix: Fixed a case where, in some rank configurations, players would see themselves as offline when hidden (in {{cmd|Info}}, {{cmd|BInfo}}, {{cmd|Players}}, etc).&lt;br /&gt;
*PlayerDB: Added 46th column: PlayerInfo.IsHidden (&#039;h&#039; if hidden, otherwise blank).&lt;br /&gt;
*PlayerDB: Added 47th column: PlayerInfo.LastModified (UTC unix timestamp). Accuracy is not yet guaranteed.&lt;br /&gt;
*PlayerDB: Added 48th column: PlayerInfo.DisplayedName (string or blank). Overrides &amp;quot;Name&amp;quot; field for purposes of displaying formatted name (ClassyName).&lt;br /&gt;
*PlayerDB: Removed 14th column (FailedLoginCount) due to disuse.&lt;br /&gt;
*PlayerDB: PlayerDB now writes out changes to TotalTime incrementally for online players, instead of applying the change on-logout.&lt;br /&gt;
*Worlds: Added a way to change some environment and texture settings per-map, using {{cmd|Env}}.&lt;br /&gt;
*Worlds: Per-world settings on backup intervals now work.&lt;br /&gt;
*Worlds: Added BlockDB - a system for tracking edits per-block. Added related {{cmd|BlockDB}} and {{cmd|BInfo}} commands.&lt;br /&gt;
*Worlds: Added {{cmd|UndoPlayer}} and {{cmd|UndoArea}} commands for undoing players&#039; actions using BlockDB.&lt;br /&gt;
*Worlds: If a world has a missing map file, a warning is now shown, and a default flatgrass map is created.&lt;br /&gt;
*Worlds: Added a way to set per-rank main world, using {{cmd|WMain}}.&lt;br /&gt;
*Worlds: Added {{cmd|Restore}} command, inspired by good old MinerCPP. Selectively loads a map from another file or backup.&lt;br /&gt;
*Worlds: Allowed non-standard dimensions (neither multiples of 16, nor powers of 2). Added a warning about glitches when using nonstandard dimensions.&lt;br /&gt;
*Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to {{cmd|WInfo}} and to &amp;lt;code&amp;gt;worlds.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Worlds: MapGenerator tweaks: &amp;quot;default&amp;quot; template is now known as &amp;quot;random,&amp;quot; &amp;quot;mountains&amp;quot; template now has more cliffs and snow on mountaintops, &amp;quot;island&amp;quot; template is less rough and has nice beaches, and water is now automatically removed from &amp;quot;desert&amp;quot; maps.&lt;br /&gt;
*Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.&lt;br /&gt;
*Worlds Fix: Fixed an exploit that allowed players to bypass world access permissions in certain rank configurations.&lt;br /&gt;
*Worlds Fix: Fixed some rare crashes in {{cmd|WLoad}}.&lt;br /&gt;
*Worlds Fix: Fixed {{cmd|WAccess}} and {{cmd|WBuild}} occasionally not saving the world list after adding players to the access/build whitelists.&lt;br /&gt;
*Worlds Fix: Fixed being unable to change just the capitalization when renaming worlds from ConfigGUI, under Windows.&lt;br /&gt;
*Zones: Added {{cmd|ZRename}} command to rename zones.&lt;br /&gt;
*Zones: Added {{cmd|ZMark}} command to use zone boundaries for drawing or making selections.&lt;br /&gt;
*Zones Fix: Fixed {{cmd|ZAdd}} crash when adding more than one personal zone for the same player ({{cmd|ZAdd|+Name}}).&lt;br /&gt;
*Zones Fix: Fixed a rare case where two players could simultaneously create a zone with the same name on the same world, which would crash one of the players.&lt;br /&gt;
*Zones Fix: {{cmd|Zones}} no longer crashes if used on a world with a missing or corrupt map file.&lt;br /&gt;
*Zones Fix: Tightened security checks of {{cmd|ZAdd}} and {{cmd|ZRemove}} to prevent a permission exploit.&lt;br /&gt;
*API: Added specialized MetadataCollection class to manage per-map and per-player metadata, and ZoneCollection for zones.&lt;br /&gt;
*API: Added ReSharper-compatible annotations and more argument checks throughout the codebase.&lt;br /&gt;
*API: fCraft now consistently uses [X,Y,Z] for coordinates (where X/Y are horizontal, and Z is vertical), and [Width,Length,Height] for dimensions (Width/Length horizontal, Height vertical).&lt;br /&gt;
*API: Merged Session and Player classes. All session-related functionality is in Player.Networking.cs file.&lt;br /&gt;
*API: New line-wrapping algorithm provides better performance and safety. Now using &amp;quot;\n&amp;quot; instead of &amp;quot;&amp;amp;N&amp;quot; to force a newline.&lt;br /&gt;
*API: Renamed World.PlayerList to World.Players, Server.PlayerList to Server.Players, and added PlayerDB.PlayerInfoList&lt;br /&gt;
*API: New LINQ-style API for working with sets of players. This API is now used for all messaging and packet-sending. Old API (Server.Send* and World.Send*) was removed.&lt;br /&gt;
*API: New unified API for handling player-generated chat (Chat static class), and new events (Chat.Sending and Chat.Sent).&lt;br /&gt;
*API: All cancellable events now implement ICancellableEvent.&lt;br /&gt;
*API: MapDAT and MapNBT now implement IMapConverter.LoadHeader.&lt;br /&gt;
*API: Converted IClassy.GetClassyName(), Rank.GetFullName(), and Player.GetListName() to properties.&lt;br /&gt;
*API: Renamed ConfigKey.GetBool() to ConfigKey.Enabled(). Added ConfigKey.TryGetInt() and ConfigKey.TryGetBool() methods.&lt;br /&gt;
*API: CommandManager.RegisterCommand() now checks for reserved command names (currently &amp;quot;ok&amp;quot; and &amp;quot;nvm&amp;quot;), and does a better job at handling command name capitalization differences.&lt;br /&gt;
*API: Added ability to override Player.MaxBlockPlacementRange, Player.SocketTimeout, Heartbeat.Delay, and Heartbeat.Timeout.&lt;br /&gt;
*API: Renamed RankManager.ParseRank(string) to Rank.Parse(string)&lt;br /&gt;
*API: All draw/undo/copy/paste commands have been moved to fCraft.Drawing namespace.&lt;br /&gt;
*API: Added support for multiple {{cmd|Help}} sections per command.&lt;br /&gt;
*API: Added CommandCategory.Debug, removed CommandDescriptor.HelpHander and HelpHandler delegate.&lt;br /&gt;
*API: Moved Server.Player* events to Player.* and Server.PlayerInfo* to PlayerInfo.*&lt;br /&gt;
*API: Expanded the confirmation system (&amp;lt;code&amp;gt;/OK&amp;lt;/code&amp;gt;) to allow custom callbacks, decoupled from the command system.&lt;br /&gt;
*API Fix: &amp;quot;Bad heartbeat&amp;quot; reply from minecraft.net no longer triggers UrlChanged event.&lt;br /&gt;
*API Fix: Fixed a couple bugs in BoundingBox.GetIntersection and BoundingBox.Contains.&lt;br /&gt;
*API Fix: Fixed {{cmd|Replace}} and {{cmd|ReplaceNot}} not firing Player.PlacedBlock&lt;br /&gt;
*events.&lt;br /&gt;
*API Fix: Uncaught exceptions that occur while parsing player messages no longer send crash reports when in DEBUG configuration.&lt;br /&gt;
&lt;br /&gt;
=0.5xx=&lt;br /&gt;
&lt;br /&gt;
===0.537===&lt;br /&gt;
&#039;&#039;14 September 2011 - r991&#039;&#039;&lt;br /&gt;
*Fixed another heartbeat-related issue caused by minecraft.net updates.&lt;br /&gt;
&lt;br /&gt;
===0.536===&lt;br /&gt;
&#039;&#039;14 September 2011 - r988&#039;&#039;&lt;br /&gt;
*Fix: Fixed a rare crash in DoChangeRank when promoting/demoting offline players.&lt;br /&gt;
*Fix: Fixed a case where world access/build whitelist additions were not immediately saved.&lt;br /&gt;
*Fix: Fixed several errors in the way time spans were displayed.&lt;br /&gt;
*Fix: Unhandled exceptions in background task callbacks will no longer take down the server&lt;br /&gt;
*Change: Changed the heartbeat handler to use GET instead of POST (workaround for minecraft.net problems).&lt;br /&gt;
*Change: Removed AutoLauncher.&lt;br /&gt;
&lt;br /&gt;
===0.535===&lt;br /&gt;
&#039;&#039;1 July 2011 - r702&#039;&#039;&lt;br /&gt;
*Workaround for minecraft.net heartbeat changes.&lt;br /&gt;
&lt;br /&gt;
===0.534===&lt;br /&gt;
&#039;&#039;18 June 2011 - r668&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;lt;RestartInterval&amp;gt; config key (in seconds). It should help people who are suffering from Mono memory leaks. This setting can only currently be modified by editing config.xml&lt;br /&gt;
*Fix: Fixed /wload and /gen resetting the world&#039;s hidden status.&lt;br /&gt;
*Fix: Fixed &amp;quot;Apply&amp;quot; button not getting enabled in ConfigTool when world list is changed.&lt;br /&gt;
*Fix: Fixed /cw reporting incorrect volume (fixes #3308137).&lt;br /&gt;
*Fix: Added a confirmation when /wrename will result in overwriting a map file, and fixed a related crash (fixes #3311994).&lt;br /&gt;
*Fix: Fixed FormatException in error handling code in World.AcceptPlayer&lt;br /&gt;
*Fix: Fixed /info not showing formatted names for players who appear offline.&lt;br /&gt;
*Fix: Fixed several issues with renaming worlds from ConfigTool.&lt;br /&gt;
*Fix: Fixed /restart breaking under Mono if path contains spaces.&lt;br /&gt;
*Fix: Fixed /staff, /me, and /roll commands not requiring the Chat permission.&lt;br /&gt;
*Fix: Fixed &amp;quot;Use IRC colors&amp;quot; checkbox remaining disabled in ConfigTool.&lt;br /&gt;
*Change: Allowed all printable ASCII characters in chat except &#039;&amp;amp;&#039;.&lt;br /&gt;
*Change: Heartbeat tweaks to prevent &amp;quot;Bad heartbeat&amp;quot; from popping up.&lt;br /&gt;
*Optimization: ConfigTool starts up faster, and uses much less memory.&lt;br /&gt;
&lt;br /&gt;
===0.533===&lt;br /&gt;
&#039;&#039;24 May 2011 - r614&#039;&#039;&lt;br /&gt;
*Fix: Fixed a regression in 0.530 that erased some strings in PlayerInfo and IPBanInfo objects, such as ban reasons.&lt;br /&gt;
*Change: Increased heartbeat interval to 27.5 seconds.&lt;br /&gt;
*Change: Reduced jitter of player movement.&lt;br /&gt;
&lt;br /&gt;
===0.532===&lt;br /&gt;
&#039;&#039;23 May 2011 - r611&#039;&#039;&lt;br /&gt;
*Feature: Added &amp;quot;/worlds loaded&amp;quot; command.&lt;br /&gt;
*Fix: Fixed a bug that prevented worlds from accepting any block changes after a map change (/wload or /gen)&lt;br /&gt;
*Fix: Fixed &amp;quot;Player _____ joined main.&amp;quot; displaying twice when players connect.&lt;br /&gt;
*Change: Added /colours as an alias to /colors&lt;br /&gt;
*Change: Adjusted /dumpstats security checks, and made it require EditPlayerDB permission (instead of Import).&lt;br /&gt;
&lt;br /&gt;
===0.531===&lt;br /&gt;
&#039;&#039;20 May 2011 - r603&#039;&#039;&lt;br /&gt;
*Feature: /SInfo now shows bandwidth use, fCraft version, and .NET/Mono version.&lt;br /&gt;
*Feature: Added ability to use coordinates with mark (e.g. &amp;quot;/Mark 0 0 0&amp;quot;).&lt;br /&gt;
*Fix: Fixed non-default rank settings not saving properly from ConfigTool.&lt;br /&gt;
*Fix: Fixed a serialization bug in IPBanList that happened if a ban reason was not given, or if an IP address was not associated with any player.&lt;br /&gt;
*Fix: Fixed a few minor bugs in /WMain.&lt;br /&gt;
*Change: Allowed the caret (^) in chat messages.&lt;br /&gt;
*Change: Reduced movement lag.&lt;br /&gt;
*Change: /version command has been removed due to redundancy with /sinfo.&lt;br /&gt;
*Change: Detailed reasons of player disconnects are now logged better.&lt;br /&gt;
*Change: Increased Minecraft.net heartbeat interval slightly.&lt;br /&gt;
*API: Added new events: Scheduler.TaskAdded, Scheduler.TaskExecuting, Scheduler.TaskExecuted, and Scheduler.TaskRemoved. These events are only available when fCraft.dll is built with DEBUG_SCHEDULER flag because of their performance impact.&lt;br /&gt;
*Optimization: Removed the scheduler overhead from having unloaded worlds.&lt;br /&gt;
*Optimization: Sped up MapGenerator by about 10%.&lt;br /&gt;
&lt;br /&gt;
===0.530===&lt;br /&gt;
&#039;&#039;7 May 2011 - r583&#039;&#039;&lt;br /&gt;
*Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.&lt;br /&gt;
*Feature: Added OptiCraft blocktype names and blocks&#039; numeric IDs as aliases.&lt;br /&gt;
*Fix: Fixed block bindings not being applied to drawing commands.&lt;br /&gt;
*Fix: Fixed fCraft getting confused if worlds.xml contains duplicates.&lt;br /&gt;
*Fix: Fixed &amp;quot;/&amp;quot; (repeat last command) not rewinding the command, which caused some issues with command arguments.&lt;br /&gt;
*Fix: Fixed &amp;quot;Max connections per IP&amp;quot; setting not saving in ConfigTool.&lt;br /&gt;
*Fix: Fixed AnnounceRankChangeReasons checkbox being erroneously tied to RequireRankChangeReasons key in ConfigTool.&lt;br /&gt;
*Fix: Added some missing tooltips to ConfigTool.&lt;br /&gt;
*Fix: Marked 10.0.0.0/8 IP range as LAN.&lt;br /&gt;
*Fix: Fixed an issue with balanced name verification (thanks wootalyzer).&lt;br /&gt;
*Fix: Fixed server announcing hidden players&#039; departure (#3292633). Thanks to Hellenion.&lt;br /&gt;
*Fix: Fixed /bring not checking per-rank permissions (#3292303). Thanks to Denny&lt;br /&gt;
*Fix: Fixed some header bugs in the D3 map converter.&lt;br /&gt;
*Fix: Fixed /wload crashing instead of printing an error message under Mono if the path was malformed.&lt;br /&gt;
*Fix: Fixed /banip not recognizing invalid IPs (e.g. broadcast).&lt;br /&gt;
*Fix: Fixed antispam resetting players&#039; mute time.&lt;br /&gt;
*Fix: Fixed Scheduler being able to add tasks after the shutdown process started.&lt;br /&gt;
*Fix: Reduced problems associated with players trying to connect while the server is shutting down.&lt;br /&gt;
*Fix: Added autorank.xml to the list of protected files.&lt;br /&gt;
*Fix: Fixed a crash in backup system that happened if two backups ran simultaneously and the total size or number of backup files was limited.&lt;br /&gt;
*Fix: Fixed a case where duplicate worlds could be created.&lt;br /&gt;
*Change: When players rejoin a world (e.g. /wflush or /wload), &amp;quot;joined world&amp;quot; message is no longer shown.&lt;br /&gt;
*Change: /mute no longer allows shortening players&#039; mute time, only to extend it.&lt;br /&gt;
*Change: Allowed player names with periods.&lt;br /&gt;
*Change: Removed SaveOnShutdown config key, tweaked range checks on some keys, grouped key tags into section tags.&lt;br /&gt;
*Change: When saving config.xml, keys with default values are now commented out.&lt;br /&gt;
*API: New events! PlayerHideChanged, PlayerInfoCreating, PlayerInfoCreated, PlayerInfoRankChanging, and PlayerInfoRankChanged.&lt;br /&gt;
*API: Server.StartServer() now throws specific exceptions on failure, instead of returning false.&lt;br /&gt;
*API: Removed some obsolete Server events.&lt;br /&gt;
*API: Switched to 100% Utc dates/times internally. PlayerDB now uses UTC Unix timestamps to serialize all dates/times.&lt;br /&gt;
*Optimization: Sped up map generation.&lt;br /&gt;
*Optimization: Reduced PlayerDB saving interval, reduced PlayerDB filesize, reduced CPU and memory use of PlayerDB saving, reduced memory footprint of loaded PlayerDB, improved IPAddress lookup performance in PlayerDB.&lt;br /&gt;
&lt;br /&gt;
===0.522===&lt;br /&gt;
&#039;&#039;16 April 2011 - r546&#039;&#039;&lt;br /&gt;
*Feature: Added more functionality to hollow ellipsoid and sphere, thanks to Redshift. Now it is possible to define outer/inner blocktypes.&lt;br /&gt;
*Feature: Added OptiCraft map format support, courtesy of LgZ-optical&lt;br /&gt;
*Fix: Fixed a serious error that caused a crash when main world became full. This bug affected 0.520 and 0.521.&lt;br /&gt;
*Fix: Fixed AutoLauncher not working under Mono (thanks to ven000m for spotting).&lt;br /&gt;
*Fix: Fixed &amp;quot;Add World&amp;quot; dialog crashing if closed while generating a world.&lt;br /&gt;
*Fix: Fixed /restart using ShutdownReason.ShuttingDown (instead of ShutdownReason.Restarting) &lt;br /&gt;
*Fix: Fixed a crash in ConfigTool if MaxPlayers was set to be less than MaxPlayersPerWorld.&lt;br /&gt;
*Fix: When loading old configs (pre-0.520), MaxPlayersPerWorld is automatically set to match MaxPlayers, to avoid unexpected side effects.&lt;br /&gt;
*API: Added WorldCreating and WorldCreated events.&lt;br /&gt;
*API: Moved world-related commands from Server to a new class, WorldManager.&lt;br /&gt;
*API: Renamed RankList to RankManager, and CommandList to CommandManager, for consistency.&lt;br /&gt;
&lt;br /&gt;
===0.521===&lt;br /&gt;
&#039;&#039;12 April 2011 - r534&#039;&#039;&lt;br /&gt;
*Feature: Added a /Clear command, to clear in-game chat. Also works from fCraftConsole and fCraftUI.&lt;br /&gt;
*Fix: Added missing chat commands.&lt;br /&gt;
*Fix: Cosmetic fixes in /ZRemove.&lt;br /&gt;
&lt;br /&gt;
===0.520===&lt;br /&gt;
&#039;&#039;12 April 2011 - r532&#039;&#039;&lt;br /&gt;
*Feature: Removed the server-wide 128 player limit. Now the limit is per-world.&lt;br /&gt;
*Feature: You can now repeat the last command by typing &amp;quot;/&amp;quot;&lt;br /&gt;
*Feature: Added a way to use color codes in chat (with % instead of &amp;amp;), a UseColorCodes permission, and a /colors command.&lt;br /&gt;
*Feature: Added support for multi-line messages or commands. Add &amp;quot; /&amp;quot; to the end of a line to continue typing it.&lt;br /&gt;
*Feature: Added &amp;quot;/commands&amp;quot;, to replace &amp;quot;/help commands&amp;quot;. It allows filtering commands by rank, category, permissions, etc. Aliases: /cmdlist, /cmds&lt;br /&gt;
*Feature: New permissions: ViewPlayerIPs, BringAll&lt;br /&gt;
*Feature: New config switches: AnnounceRankChangeReasons and RequireKickReason.&lt;br /&gt;
*Feature: Replaced LimitOneConnectionPerIP config key (boolean) with a more flexible MaxConnectionsPerIP (int).&lt;br /&gt;
*Feature: Added /bringall command, for moving everyone (or only certain ranks) from your world (or optionally all worlds, or a list of other worlds) to your location.&lt;br /&gt;
*Feature: /bring can be limited per-rank&lt;br /&gt;
*Feature: When file is not found on case-sensitive filesystems, fCraft tries to syggest similar filenames.&lt;br /&gt;
*Feature: Added new constants to use in greeting.txt: {TIME}, {PLAYER_NAME}, {WORLD}, {PLAYERS}, {WORLDS}, {MOTD}&lt;br /&gt;
*Feature: Improved compatibility with SurvivalTest clients.&lt;br /&gt;
*Fix: Fixed /banip not kicking other players from the same IP (besides the named player)&lt;br /&gt;
*Fix: Added missing blocktype validation to MapFCMv2, MapFCMv3, MapMyne, and MapNBT.&lt;br /&gt;
*Fix: Fixed a rare shutdown crash in fCraftUI.&lt;br /&gt;
*Fix: Improved the way PlayerDB.Load handles errors in individual records. A single corrupted entry will no longer prevent the rest from loading.&lt;br /&gt;
*Fix: Fixed fCraftUI abruptly quitting on crash / failure to start, instead of showing the error message. Use &amp;quot;--exitoncrash&amp;quot; command-line switch to reproduce old behavior.&lt;br /&gt;
*Fix: Fixed ConfigTool&#039;s World tab not prompting to delete map files when deleting worlds.&lt;br /&gt;
*Fix: Fixed a bug in MCSharp importer (#3281305)&lt;br /&gt;
*Fix: Fixed a list of permissions in /rinfo not being sorted.&lt;br /&gt;
*Fix: Fixed /mute rank limit dropdown sometimes getting out of sync.&lt;br /&gt;
*Fix: Fixed IRC bot redundantly announcing kicks when someone has been banned.&lt;br /&gt;
*Fix: Fixed a bug where fCraft would fail to start if PlayerDB.txt was truncated/empty.&lt;br /&gt;
*Change: Moved &amp;quot;IP&amp;quot; config key from General to Advanced.&lt;br /&gt;
*Change: Added /spin as an alias to /rotate (for MCLawl users)&lt;br /&gt;
*API: New events: PlayerClicking, PlayerClicked, PlayerPlacingBlock, PlayerPlacedBlock, PlayerListChanged, PlayerBeingKicked, PlayerKicked&lt;br /&gt;
*Optimization: Reduced CPU use of draw commands by ~30%. Sped up PlayerDB loading by ~8%, and reduced memory use when saving. Also reduced PlayerDB filesize by about 15%&lt;br /&gt;
&lt;br /&gt;
===0.512===&lt;br /&gt;
&#039;&#039;2 April 2011 - r508&#039;&#039;&lt;br /&gt;
*Feature: /zones can now be used from console, and can be used on any world (active or inactive).&lt;br /&gt;
*Feature: Improved D3 map importer.&lt;br /&gt;
*Fix: Added missing filename sanity/safety checks to /dumpstats (#3267362, thanks to Hellenion)&lt;br /&gt;
*Fix: Fixed mixed up messages shown in /waccess and /wbuild (#3179189)&lt;br /&gt;
*Fix: Fixed crash reports sometimes failing to submit.&lt;br /&gt;
*Fix: Fixed /dumpstats crashing if a rank had 0 players.&lt;br /&gt;
*Fix: Made Mono version detection less crashy (#3267476, thanks to Hellenion again)&lt;br /&gt;
*Fix: Fixed MapUtility.LoadHeader terminating early, before going through all fallback converters.&lt;br /&gt;
*Fix: Fixed ConfigTool tab order.&lt;br /&gt;
*Fix: Fixed fCraft reporting inaccurate CPU usage figures.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in /rank if an invalid player name was given.&lt;br /&gt;
*Fix: Fixed fCraft project not building under Windows if path contains spaces.&lt;br /&gt;
*Change: Added &amp;quot;/serverreport&amp;quot; as an alias for &amp;quot;/sinfo&amp;quot;&lt;br /&gt;
*Change: Improved the way fCraft handles and reports map loading errors.&lt;br /&gt;
*API Change: Moved all filename constants (e.g. &amp;quot;PlayerDB.txt&amp;quot;) to Paths class.&lt;br /&gt;
&lt;br /&gt;
===0.511===&lt;br /&gt;
&#039;&#039;31 March 2011 - r497&#039;&#039;&lt;br /&gt;
*Feature: Further improvements to Mono support. fCraft will now utilize mono-sgen whenever possible.&lt;br /&gt;
*Fix: Fixed fCraftUI ignoring command-line arguments.&lt;br /&gt;
*Fix: Fixed broken /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed crash reports failing to submit.&lt;br /&gt;
*Fix: Fixed a timezone-related bug that messed up players&#039; &amp;quot;total time on server&amp;quot; stat.&lt;br /&gt;
*Change: Added a warning if running on old versions of Mono (2.6 or lower). &lt;br /&gt;
&lt;br /&gt;
===0.510_r489===&lt;br /&gt;
&#039;&#039;29 March 2011 - r489&#039;&#039;&lt;br /&gt;
*Fix: Fixed unnecessary GDI+ dependence in fCraftConsole under Mono&lt;br /&gt;
*Fix: Fixed EnumKeyAttribute not taking blank values (as in case of ProcessPriority config key).&lt;br /&gt;
&lt;br /&gt;
===0.510===&lt;br /&gt;
&#039;&#039;29 March 2011 - r488&#039;&#039;&lt;br /&gt;
*Feature: The fCraft updater has been rewritten and expanded. It now works under all OSes, and provides more features.&lt;br /&gt;
*Feature: fCraft now handles differences between case-sensitive and case-insensitive filesystems much better. /wrename and /wload are also aware of the filesystem.&lt;br /&gt;
*Feature: fCraft now checks presence, filename capitalization, and integrity of all map files on the world list at startup.&lt;br /&gt;
*Feature: New ConfigTool settings for updater, checkbox for showing &amp;quot;player connected/left&amp;quot; messages, and &amp;quot;/mute&amp;quot; permission settings.&lt;br /&gt;
*Feature: Added &amp;quot;/credits&amp;quot; command to ConfigUI.&lt;br /&gt;
*Feature: Implemented &amp;quot;--norestart&amp;quot; and &amp;quot;--exitoncrash&amp;quot; command-line switches for fCraft.&lt;br /&gt;
*Feature: fCraft event system is being rewritten with modding support in mind.&lt;br /&gt;
*Feature: Improved MCSharp/MCZall/MCLawl map support.&lt;br /&gt;
*Fix: Software errors that happen while parsing player and console commands will no longer cause disconnects/crashes.&lt;br /&gt;
*Fix: IPBanList will attempt to recover records lost due to a recent regression in 0.505.&lt;br /&gt;
*Fix: Fixed /wrename errors in cases where names differ only in capitalization.&lt;br /&gt;
*Fix: Fixed &amp;quot;Copy Existing World&amp;quot; showing the current world on the list in AddWorldPopup.&lt;br /&gt;
*Fix: Fixed &amp;quot;Chat&amp;quot; tab preview not updating when settings are reset.&lt;br /&gt;
*Fix: Fixed per-world whitelist/blacklist not saving when worlds are edited with AddWorldPopup.&lt;br /&gt;
*Fix: Fixed non-verified connections that get kicked from affecting that name&#039;s PlayerInfo.&lt;br /&gt;
*Fix: Server.GenerateSalt() now uses a cryptographically secure PRNG.&lt;br /&gt;
*Fix: Fixed verification problems on servers with HeartbeatEnabled=false.&lt;br /&gt;
*Fix: Fixed a wrong message being shown by /rank if the target is already same or higher/lower rank.&lt;br /&gt;
*Fix: Fixed /winfo showing incorrect information for last lock/unlock event.&lt;br /&gt;
*Fix: Fixed tabbing order on ConfigUI.&lt;br /&gt;
*Fix: Improved the way Server.InitLibrary and Logger.Log errors are handled.&lt;br /&gt;
*Fix: Added missing validation checks to LoadHeader in several map converters.&lt;br /&gt;
*Fix: Fixed players being able to complete a draw command or /zadd, if they were demoted before clicking for the second time.&lt;br /&gt;
*Fix: Added missing /paste and /pastenot volume checks.&lt;br /&gt;
*Fix: Fixed a bug in /zinfo that showed incorrect creation/editing times.&lt;br /&gt;
*Fix: Better error messages for unrecognized block names in command parameters.&lt;br /&gt;
*Fix: /restart now works from ConfigUI under Mono (but still broken in fCraftConsole).&lt;br /&gt;
*Fix: Fixed handling of command-line arguments surrounded with quotes.&lt;br /&gt;
*Fix: Fixed a bug at ConfigTool.ConfigUI.xAllowSecurityCircumvention_CheckedChanged (#3181907, thanks to clhdrums87).&lt;br /&gt;
*Fix: Fixed /winfo counting hidden players (#3237877, thanks to Hellenion).&lt;br /&gt;
*Fix: Fixed MCSharp map exporter mixing up map dimensions (#3159501, thanks to dogwatch).&lt;br /&gt;
*Change: Improved the way fCraft project is built. Now all binaries are copied to /trunk/bin/Release or /trunk/bin/Debug.&lt;br /&gt;
*Change: Improved error tolerance of Scheduler.EndShutdown().&lt;br /&gt;
*Change: Expanded Logger.CheckForCommonErrors().&lt;br /&gt;
*Change: Renamed config keys (old ones can still be loaded): IRCBot to IRCBotEnabled, AutomaticUpdates to UpdaterMode.&lt;br /&gt;
*Change: Added /wadd as an alias for /wload.&lt;br /&gt;
*Change: Renamed Mcc namespace to fCraft.MapConversion.&lt;br /&gt;
*Change: Decreased timeout for fCraft update check.&lt;br /&gt;
*Change: Added a confirmation prompt to /rank when adding an unrecognized player name to the database.&lt;br /&gt;
*Optimization: Sped up heartbeat sending and world-related operations, increased world saving interval to 90 seconds, reduced per-player idle CPU usage, halved CPU usage of draw commands.&lt;br /&gt;
&lt;br /&gt;
===0.506===&lt;br /&gt;
&#039;&#039;11 February 2011 - r427&#039;&#039;&lt;br /&gt;
*Feature: Added hollow ellipsoid drawing (/eh) and hollow sphere drawing (/sph), contributed by Conrad &amp;quot;Redshift&amp;quot; Morgan.&lt;br /&gt;
*Fix: Fixed a regression in 0.503 that caused some IP ban records to be lost. I am terribly sorry!&lt;br /&gt;
*Fix: Fixed a path-related error in Map.SaveBackup&lt;br /&gt;
*Fix: Fixed a possible disconnect in Player.CheckBlockSpam is antigrief was not configured properly.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool.SaveWorldList.&lt;br /&gt;
*Fix: Fixed &amp;quot;Limit the number of blocks that can be undone&amp;quot; checkbox misbehaving (thanks to ven000m for bug report).&lt;br /&gt;
*Change: By popular demand /sphere2 is now the default behavior of /sphere.&lt;br /&gt;
*Change: Removed &amp;quot;oldSalt&amp;quot; check for name verification, to avoid having the server write to config.xml unnecessarily.&lt;br /&gt;
*Change: Removed &amp;quot;.backup&amp;quot; file creation, by popular demand. It was kinda useless.&lt;br /&gt;
&lt;br /&gt;
===0.505===&lt;br /&gt;
&#039;&#039;8 February 2011 - r422&#039;&#039;&lt;br /&gt;
*Feature: All draw commands now inform player if any blocks were skipped due to local permission issues (e.g. zones).&lt;br /&gt;
*Fix: Fixed a regression that caused backups to be saved in the wrong path. Backups were being saved to ./backups/ instead of ./maps/backups/&lt;br /&gt;
*Fix: Fixed a permission issue in /replace and /replacenot.&lt;br /&gt;
*Fix: Fixed /info not displaying a list of players from same IP.&lt;br /&gt;
*Fix: Addressed a security issue with salt generation.&lt;br /&gt;
&lt;br /&gt;
===0.504===&lt;br /&gt;
&#039;&#039;3 February 2011 - r419&#039;&#039;&lt;br /&gt;
*Fixed a crash bug related to SecurityController.MinRank&lt;br /&gt;
&lt;br /&gt;
===0.503===&lt;br /&gt;
&#039;&#039;3 February 2011 - r418&#039;&#039;&lt;br /&gt;
*Feature: Added /deafen command. It temporarily blocks all incoming messages (makes you go &amp;quot;deaf&amp;quot;), to allow taking screenshots, recording videos, or just playing without the wall of text.&lt;br /&gt;
*Feature: Added ShowBannedConnectionMessages config key (default: true). When disabled, no &amp;quot;banned player tried to log in&amp;quot; messages are shown.&lt;br /&gt;
*Fix: Fixed PlayerInfo.frozenOn not being set.&lt;br /&gt;
*Fix: Fixed kick messages for players affected by /banall&lt;br /&gt;
*Fix: Fixed /unbanall reason not being shown.&lt;br /&gt;
*Fix: /where now shows what world you are on.&lt;br /&gt;
*Fix: Fixed a couple minor bugs in /waccess and /wbuild.&lt;br /&gt;
*Fix: Fixed a NullReferenceException in SecurityController constructor.&lt;br /&gt;
*Fix: Made several tweaks to improve the first-run experience.&lt;br /&gt;
&lt;br /&gt;
===0.502===&lt;br /&gt;
&#039;&#039;31 January 2011 - r411&#039;&#039;&lt;br /&gt;
*Fix: Adjusted for yet another change in the way minecraft.net replies to heartbeats (should fix all heartbeat issues for now).&lt;br /&gt;
*Fix: Added a check to /zremove to prevent players from deleting zones to gain access to areas from which they&#039;re barred.&lt;br /&gt;
*Fix: Fixed being able to use /me or /staff to write empty messages.&lt;br /&gt;
*Fix: Fixed frozen players not getting defrosted when kicked.&lt;br /&gt;
*Fix: Formatting fixes in &amp;quot;___ was previously frozen&amp;quot; message&lt;br /&gt;
*Fix: Fixed a mini-bug in Map.ValidateHeader()&lt;br /&gt;
*Change: Renamed /wremove to /wunload for consistency. &amp;quot;/wremove&amp;quot; is still usable as an alias.&lt;br /&gt;
&lt;br /&gt;
===0.501===&lt;br /&gt;
&#039;&#039;30 January 2011 - r408&#039;&#039;&lt;br /&gt;
*Feature: Added /sphere and /sphere2, based on code contributed by SystemX17.&lt;br /&gt;
*Feature: Added new config setting: ShowConnectedMessages (default: true)&lt;br /&gt;
*Feature: Added a notification for players who logged in frozen.&lt;br /&gt;
*Fix: Fixed frozen players twitching.&lt;br /&gt;
*Fix: Fixed IRC bot not stripping color codes in messages relayed from IRC to the game.&lt;br /&gt;
*Fix: Fixed lastSeen and lastLoginDate not being set for first-time players who failed to log in (e.g. IP-banned).&lt;br /&gt;
*Fix: Fixed /bring not working properly on frozen players.&lt;br /&gt;
*Fix: Fixed a case where it was possible to add access restrictions to main map.&lt;br /&gt;
*Fix: Fixed per-world whitelists/blacklists being lost when editing worlds.xml via ConfigTool.&lt;br /&gt;
*Fix: Fixed AutoRankAll showing wrong number of players promoted/demoted (just a formatting bug, no promotions were affected)&lt;br /&gt;
&lt;br /&gt;
===0.500===&lt;br /&gt;
&#039;&#039;25 January 2011 - r399&#039;&#039;&lt;br /&gt;
*Commands: Added /line drawing command, kindly contributed by SystemX17&lt;br /&gt;
*Commands: Added /restart command, to restart the server remotely (NOTE: does not work for fCraftWinService yet)&lt;br /&gt;
*Commands: Added /unmute command (same as &amp;quot;/mute name 0&amp;quot;)&lt;br /&gt;
*Commands: Added an option to silently hide (no disconnect/connect message).&lt;br /&gt;
*Commands: Added /ignore and /unignore commands to block chat from another player (for the duration of your visit).&lt;br /&gt;
*Commands: /whide and /wunhide commands added to hide/unhide worlds from the list.&lt;br /&gt;
*Commands: /worlds now takes an optional param: &amp;quot;/worlds all&amp;quot; lists visible+hidden worlds, and &amp;quot;/worlds hidden&amp;quot; lists hidden worlds only.&lt;br /&gt;
*Commands: List of player names from the same IP is now shown in /info.&lt;br /&gt;
*Commands: /help now shows what rank you need to be to use a command (for most commands).&lt;br /&gt;
*Commands: /bring now works on frozen players.&lt;br /&gt;
*Commands: /bring now takes an optional second name/parameter, to teleport someone to someone&lt;br /&gt;
*Commands: /info now shows whether a player is hidden (if the command caller has permission to see).&lt;br /&gt;
*Commands: Fixed a case where teleporting to a player who is currently changing worlds brings one to a wrong location.&lt;br /&gt;
*Commands: Fixed bindings (/water, /lava, /solid, and /bind) not being applied to draw commands.&lt;br /&gt;
*Commands: /wsave and /gen can now create directories if needed.&lt;br /&gt;
*Commands: Fixed a bug in /roll&lt;br /&gt;
*Commands: Sped up /paste, /pastenot, /replace, and /replacenot slightly.&lt;br /&gt;
*ConfigTool: New &amp;quot;Chat&amp;quot; tab for controlling appearance and content of in-game chat.&lt;br /&gt;
*ConfigTool: Added ability to customize MeColor (for /me messages, default: purple) and WarningColor (for major errors/warnings, default: red) in config.&lt;br /&gt;
*ConfigTool: AddWorldPopup can now show detailed info for maps of all supported formats.&lt;br /&gt;
*ConfigTool: Improved tooltips for several items in ConfigUI.&lt;br /&gt;
*FrontEnd: Uncaught exceptions that happen while executing commands from fCraftUI console are now handled by the crash reporter (instead of actually crashing).&lt;br /&gt;
*FrontEnd: Added /clear command for fCraftUI and fCraftConsole - clears log screen.&lt;br /&gt;
*FrontEnd: The URL is no longer highlighted after first heartbeat, to avoid stealing focus from console.&lt;br /&gt;
*Generator: Fixed &amp;quot;flatgrass&amp;quot; template&lt;br /&gt;
*Generator: Fixed alphabetical order in the list of templates&lt;br /&gt;
*Generator: MapGenerator now embeds generation parameters into the map file metadata&lt;br /&gt;
*Generator: Fixed several template loading bugs.&lt;br /&gt;
*Generator: Optimized AddBeaches to be about 2x faster&lt;br /&gt;
*Generator: Added a missing dimension check to /gen&lt;br /&gt;
*IRC: Messages relayed from game to IRC now have color codes preserved.&lt;br /&gt;
*IRC: Kicks, Bans, unbans, promotions, and demotions can now be relayed to IRC.&lt;br /&gt;
*IRC: IRC bot now relays /say messages, and /me messages (both /me on IRC and /me on the server).&lt;br /&gt;
*IRC: IRC Error handling is greatly improved.&lt;br /&gt;
*IRC: (Threaded) If one of the bots loses connection, one of the other bots take over parsing input.&lt;br /&gt;
*IRC: Increased IRC reconnect delay to 15 seconds.&lt;br /&gt;
*Maps: Switched to a new file format (FCMv3) that allows for future additions like block tracking and physics.&lt;br /&gt;
*Maps: Much of MCC (map conversion) API was rewritten for better consistency and performance.&lt;br /&gt;
*Maps: Improved support for loading indev (pre-infinite) maps, including Omen-generated maps.&lt;br /&gt;
*Maps: Improved resilience for loading maps with unknown blocktypes. Instead of failing, it just replaces any unknown blocks with air.&lt;br /&gt;
*Maps: Added consistent header validation to all map format loaders.&lt;br /&gt;
*Maps: Fixed maps not autosaving when zones are added or removed.&lt;br /&gt;
*Maps: Zone definitions are now serialized to XML. Zones saved with this revision of fCraft will no longer be readable by older version of fCraft.&lt;br /&gt;
*Maps: Fixed a bug when loading JTE&#039;s format maps.&lt;br /&gt;
*Maps: Fixed format of backup filenames.&lt;br /&gt;
*PlayerDB: Added new fields: bannedUntil, frozenOn, frozenBy, mutedUntil, mutedBy, IRCPassword, online, leaveReason&lt;br /&gt;
*PlayerDB: Fixed PlayerInfo.ID not being assigned for new players until sever restart / DB reload.&lt;br /&gt;
*PlayerDB: Fixed off-by-one error with PlayerInfo.timesVisited&lt;br /&gt;
*PlayerDB: Fixed /me, /say, rank chat, and /staff not counting towards PlayerInfo.linesWritten&lt;br /&gt;
*PlayerDB: Made PlayerDB more resilient to errors. Reduced filesize slightly by omitting default values for more date fields, and removing milliseconds from &amp;quot;totalTime&amp;quot;&lt;br /&gt;
*PlayerDB: Improved forwards compatibility of PlayerDB by removing maximum-field-count check.&lt;br /&gt;
*Security: Worlds can now have player whitelists and blacklists (just like zones) for access and build permissions.&lt;br /&gt;
*Security: Added a security check to /wsave, /wload, and /gen to prevent reading or overwriting files outside the map folder.&lt;br /&gt;
*Security: Added a per-rank security option to prevent players from whitelisting themselves, removing themselves from blacklists, or lowering their rank&#039;s restrictions on worlds and zones.&lt;br /&gt;
*Security: /mute and /freeze are now persistent even if the player reconnects.&lt;br /&gt;
*Security: Relaxed SetTile packet checks. Players will no longer be kicked due to Minecraft client bugs.&lt;br /&gt;
*Security: Fixed an exploit that allowed changing steps to doublesteps even inside zoned areas.&lt;br /&gt;
*Security: Improved consistency of permission dependencies.&lt;br /&gt;
*Security: Fixed a security exploit in /wmain that allowed players with ManageWorlds permission to gain access to restricted worlds.&lt;br /&gt;
*Security: Fixed a bug that prevented banning players who were not yet in PlayerDB.&lt;br /&gt;
*Security: Added an option to only allow paid players (PaidPlayersOnly)&lt;br /&gt;
*Stability: Made crash reporting more reliable. A failed crash report will no longer prevent error message from being logged and displayed.&lt;br /&gt;
*Stability: Fixed a crash in AddWorldPopup if dialog is closed while a map is still loading.&lt;br /&gt;
*Stability: To improve compatibility with some bots, removed &amp;quot;almost there...&amp;quot; message on the loading screen&lt;br /&gt;
*Stability: Disabled error reporting of common non-fCraft-related errors (like wrong runtime versions, or wrong Mono permissions).&lt;br /&gt;
*Stability: Added &amp;quot;libMonoPosixHelper.so&amp;quot; and &amp;quot;UnauthorizedAccessException&amp;quot; to Logger.CheckForCommonErrors, and made &amp;quot;Could not load file or assembly&amp;quot; check locale-independent.&lt;br /&gt;
*Stability: A backup file is now created whenever PlayerDB, IP ban list, config, or world list are saved (e.g. PlayerDB.txt.backup)&lt;br /&gt;
*Stability: Crash reporter now sends last 25 lines of the log.&lt;br /&gt;
*Stability: Added a fallback overload for Player.Message() that bypasses string format, to make the whole thing less prone to format errors.&lt;br /&gt;
*System: fCraft now takes command-line arguments (at startup) to override the following:&lt;br /&gt;
**working directory (--path=/your/path/here)&lt;br /&gt;
**log directory (--logpath=/your/path/here)&lt;br /&gt;
**map directory (--logpath=/your/path/here) - also overridable in a more user-friendly way via ConfigTool (MapPath key)&lt;br /&gt;
**config file location (--config=/your/path/and/filename.xml)&lt;br /&gt;
*System: Added an option to change the name of Console pseudoplayer in the config.&lt;br /&gt;
*System: Player.GetClassyName() and PlayerInfo.GetClassyName() now add an asterisk after banned players&#039; names&lt;br /&gt;
*System: Fixed hidden players remaining hidden in some cases.&lt;br /&gt;
*System: Fixed PacketWriter.MakeWrappedMessage ignoring uppercase hex colorcodes&lt;br /&gt;
*System: Implemented NoPartialPositionUpdates and RelayAllUpdates config keys.&lt;br /&gt;
*System: Several little glitches and inefficiencies fixed in movement handling code.&lt;br /&gt;
*System: Fixed &amp;quot;player connected&amp;quot; and other messages showing up too early in-game (before map loaded).&lt;br /&gt;
*System: Fixed kick message for players affected by /banall&lt;br /&gt;
*System: Added HeartbeatEnabled config key (default: true)&lt;br /&gt;
*System: Fixed a case where heartbeat could be sent from a different IP than the listening port on systems with multiple NICs/IPs and no configured static IP.&lt;br /&gt;
*System: Increased the write buffer for writing out PlayerDB, reducing I/O time by ~20% on .NET, and ~35% on Mono&lt;br /&gt;
*System: New Scheduler API.&lt;br /&gt;
*System: Modified /wload to avoid loading the map twice in case confirmation is needed.&lt;br /&gt;
*System: Changes to AutoRankEnabled will now be applied when /reloadconfig is called.&lt;br /&gt;
*System: Fixed unnecessary confirmation being asked when world name matches file name in /wload&lt;br /&gt;
*System: Eliminated the heartbeat thread by switching to async i/o.&lt;br /&gt;
*System: Improved startup and shutdown speed.&lt;br /&gt;
*System: Added a &amp;quot;how to promote yourself&amp;quot; message for fresh installations of fCraft.&lt;br /&gt;
*System: Fixed Server.OnPlayerDisconnected event firing for unregistered sessions.&lt;br /&gt;
*System: Made Color.Parse() and Color.GetName() translate fCraft-specific color assignments (e.g &amp;quot;&amp;amp;S&amp;quot; for &amp;quot;System&amp;quot;)&lt;br /&gt;
*System: Added better detection for SMP/Alpha clients trying to connect.&lt;br /&gt;
*System: Sped up AutoRankAll&lt;br /&gt;
&lt;br /&gt;
=0.4xx=&lt;br /&gt;
===0.499===&lt;br /&gt;
&#039;&#039;6 November 2010 - r311&#039;&#039;&lt;br /&gt;
*Feature: Added an option to disable name verification for players connecting from LAN.&lt;br /&gt;
*Feature: Added &#039;flat&#039; template to MapGenerator, allowing to make flat maps with any theme.&lt;br /&gt;
*Feature: Added &#039;grass&#039; pseudotheme to /gen command, which is basically the &#039;Forest&#039; theme with trees disabled.&lt;br /&gt;
*Fix: Fixed /wflush leaving ghosts/clones behind.&lt;br /&gt;
*Fix: Fixed muted players being able to use /say and /staff&lt;br /&gt;
*Fix: Fixed /baninfo ignoring permission checks.&lt;br /&gt;
*Fix: Fixed &amp;quot;draw limit&amp;quot; checkbox getting disabled in ConfigTool if a player had &#039;CopyAndPaste&#039; permission but no &#039;Draw&#039; permission.&lt;br /&gt;
*Fix: Fixed several off-by-1 errors involving random number generation, notably in MapGenerator and Server.GenerateSalt()&lt;br /&gt;
*Fix: Fixed potential crash in MapGenerator.SealLiquids&lt;br /&gt;
*Fix: Fixed a potential crash in Map.SaveBackup() if the map filename contained brackets.&lt;br /&gt;
*Fix: Fixed a forced disconnect when trying to feed /gen a theme or template with brackets in the name.&lt;br /&gt;
&lt;br /&gt;
===0.498===&lt;br /&gt;
&#039;&#039;4 November 2010 - r308&#039;&#039;&lt;br /&gt;
*Change: Disabled zlib support due to more potential memory leaks. fffuuuuu....&lt;br /&gt;
*Fix: Fixed Island, Bay, and Ice templates broken by the last patch.&lt;br /&gt;
*Fix: MapGeneratorArgs: snowTransition was interpreted as absolute (instead of relative) altitude, and marbledHeightmap incorrectly defaulted to &#039;true&#039;.&lt;br /&gt;
*Change: Updated readme and changelog.&lt;br /&gt;
&lt;br /&gt;
===0.497===&lt;br /&gt;
&#039;&#039;4 November 2010 - r306&#039;&#039;&lt;br /&gt;
*Feature: Added accurate progress reporting from MapGenerator. Coming soon: cancellation.&lt;br /&gt;
*Feature: New MapGenerator options: BeachHeight, CliffSmoothing, LandSlope, UnderwaterSlope, MaxHeightVariation, MaxDepthVariation.&lt;br /&gt;
*Feature: Added UI controls for snow/cliff/beach settings to AddWorldPopup.&lt;br /&gt;
*Feature: Added a list of popular IRC networks to ConfigTool.&lt;br /&gt;
*Change: Improved PlayerDB lookup performance by reducing locking.&lt;br /&gt;
*Fix: Fixed MapGenerator calculating slope incorrectly at the water boundary.&lt;br /&gt;
*Fix: Fixed &amp;quot;Add Ore&amp;quot; requiring &amp;quot;Add Caves&amp;quot; in MapGenerator.&lt;br /&gt;
*Fix: Fixed water/lava caves not sealing liquids properly. &lt;br /&gt;
*Change: Set MapGenerator to default to 256x256x96&lt;br /&gt;
*Change: AddWorldPopup Generator tab layout overhaul&lt;br /&gt;
*Change: Organized MapGeneratorArgs and added serialization/deserialization for all the new options.&lt;br /&gt;
&lt;br /&gt;
===0.496===&lt;br /&gt;
&#039;&#039;3 November 2010 - r301&#039;&#039;&lt;br /&gt;
*Fix: Fixed File.Replace() failing if fCraft was set up on a partition/volume other than the one where temp folder is.&lt;br /&gt;
*Fix: Added missing tooltip for &amp;quot;Edit Greeting&amp;quot;&lt;br /&gt;
*Fix: Fixed /sinfo including hidden players in the player count.&lt;br /&gt;
&lt;br /&gt;
===0.495===&lt;br /&gt;
&#039;&#039;2 November 2010 - r300&#039;&#039;&lt;br /&gt;
*Feature: Added a way to edit the greeting message, by editing &amp;quot;greeting.txt&amp;quot;&lt;br /&gt;
*Feature: When a player gets banned, any previously-banned accounts from same IP are listed.&lt;br /&gt;
*Fix: Fixed renaming worlds from ConfigTool&#039;s &amp;quot;worlds&amp;quot; tab not always working.&lt;br /&gt;
*Fix: Fixed several filesystem-related errors on non-Windows systems by using Path.Combine() instead of string concatenation.&lt;br /&gt;
*Fix: Possible workaround for missing heartbeats.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;default build rank&amp;quot; controls in ConfigTools.&lt;br /&gt;
*Fix: Fixed overwrite confirmation popping up for /wload when loading map into an unloaded world with the same name.&lt;br /&gt;
*Fix: Fixed a case where Forester could get into an infinite loop when there&#039;s not enough room to place requested number of trees.&lt;br /&gt;
&lt;br /&gt;
===0.494===&lt;br /&gt;
&#039;&#039;31 October 2010 - r297&#039;&#039;&lt;br /&gt;
*Feature: New map generator features:&lt;br /&gt;
**Adjustable water level.&lt;br /&gt;
**Realistic trees (powered by Forester)&lt;br /&gt;
**Snow on mountaintops&lt;br /&gt;
**Realistic cliffs&lt;br /&gt;
**Beaches&lt;br /&gt;
**New template (peninsula) and theme (swamp).&lt;br /&gt;
**Option to delay heightmap bias until after marbling/inversion.&lt;br /&gt;
*Feature: Added a way to load .mine maps.&lt;br /&gt;
*Feature: Added confirmation for potentially destructive commands: /importranks, /importbans, /massrank, /wload overwrites, /gen overwrites, /wsave overwrites, /zremove.&lt;br /&gt;
*Feature: Added /staff chat and ReadStaffChat permission.&lt;br /&gt;
*Feature: Added wireframe cuboid (/cw)&lt;br /&gt;
*Feature: Added an optional second param for /ch (cuboid hollow) that specifies the blocktype of the &amp;quot;filling&amp;quot;.&lt;br /&gt;
*Feature: Added a way to specify default build permission for new worlds.&lt;br /&gt;
*Fix: Fixed /info, /baninfo, and /banip not handling players whose name contain only digits.&lt;br /&gt;
*Fix: Fixed DoChangeRank mixing up RankChangeType.&lt;br /&gt;
*Fix: Added missing fields to MapGeneratorArgs serializer.&lt;br /&gt;
*Fix: Fixed per-rank draw limits not being calculated correctly in some cases.&lt;br /&gt;
*Fix: Replaced File.Delete/File.Move calls with a more reliable File.Replace call. This should slightly improve reliability of map/playerdb.txt/ipbans.txt/worlds.xml saving.&lt;br /&gt;
*Fix: Fixed a little ConfigTool bug that did not properly reset PatrolledRank after a rank deletion.&lt;br /&gt;
*Fix: Fixed terminal colors not resetting in fCraftConsole after a fatal crash under Mono.&lt;br /&gt;
*Fix: Fixed detached &amp;quot;Play&amp;quot; button in fCraftUI.&lt;br /&gt;
*Fix: Added some basic error reporting to fCraftWinService.&lt;br /&gt;
*Change: Tweaked AddWorldPopup layout to accommodate more options.&lt;br /&gt;
&lt;br /&gt;
===0.493===&lt;br /&gt;
&#039;&#039;27 October 2010 - r290&#039;&#039;&lt;br /&gt;
*Feature: /info now supports autocompletion, wildcards, and IP search.&lt;br /&gt;
*Feature: Experimental service wrapper for fCraft.&lt;br /&gt;
*Feature: Added more editable properties to /setinfo: RankChangeType, BanReason, UnbanReason, RankChangeReason, LastKickReason&lt;br /&gt;
*Feature: Various improvements to /info, including hide-aware &amp;quot;online&amp;quot; indicator.&lt;br /&gt;
*Feature: Made Player.NoAccessMessage() print the minimum required rank, instead of just permission name(s).&lt;br /&gt;
*Feature: Added wootalyzer&#039;s chunk rendering code to IsoCat.&lt;br /&gt;
*Fix: Fixed ConfigTool not taking advantage of ZLibStream &lt;br /&gt;
*Fix: Fixed a very improbable case of a thread getting spinlocked when calling IRC.Send() is preemptied, and if there are at least 2 IRC threads.&lt;br /&gt;
*Fix: Fixed kick packets occasionally not being delivered due to a missing Flush() - thanks to wootalyzer for catching.&lt;br /&gt;
*Fix: Excluded banned and inactive players from DumpStats&lt;br /&gt;
*Fix: Fixed PlayerDB.Save() not escaping LastKickReason &lt;br /&gt;
*Fix: Cleaned up extra messages sent by /unhide.&lt;br /&gt;
*Fix: Fixed LastSeen not updating on-login (only on-logout).&lt;br /&gt;
*Fix: Improved the way fCraft checks for ghost/leftover sessions. Thanks to wootalyzer.&lt;br /&gt;
*Fix: If a player&#039;s name starts with a number, and you try to /tp to a coordinate that starts with the same number, you are no longer teleported to that player instead.&lt;br /&gt;
*Fix: Fixed hidden players being detectable by checking LastSeen in /info.&lt;br /&gt;
*Fix: To avoid performance degradation, GC calls have been centralized, delayed, limited to 1/minute, and moved to the tasks thread.&lt;br /&gt;
*Fix: Added delay between recurring calls to PlayerDB.Save, AutoRankAll, and DoGC - to balance load.&lt;br /&gt;
*Fix: Fixed rankChangeType not being updated.&lt;br /&gt;
*Fix: Fixed some typos reported by tvc. &lt;br /&gt;
*Change: Added &amp;quot;/uf&amp;quot; as an alias for &amp;quot;/unfreeze&amp;quot;, by popular demand. &lt;br /&gt;
*Change: Modified PlayerDB not to use ReaderWriterLockSlim, to avoid Mono issues with recursion.&lt;br /&gt;
*Change: Renamed /editplayerinfo to /setinfo&lt;br /&gt;
*Change: Made enum values in AutoRank (CriterionType, ConditionField, ComparisonOperation, ConditionScopeType, RankChangeType) case-insensitive.&lt;br /&gt;
*Change: Added a reference to /baninfo in /info&lt;br /&gt;
*Change: Made DetectMovementPacketSpam warn players instead of kicking.&lt;br /&gt;
&lt;br /&gt;
===0.492===&lt;br /&gt;
&#039;&#039;19 October 2010 - r280&#039;&#039;&lt;br /&gt;
*Feature: Added EditPlayerDB permission. This permission affects the upcoming AutoRank commands, /editplayerinfo, and ability to promote/demote/ban unrecognized players.&lt;br /&gt;
*Feature: When you kick a player, you are now shown the number of kicks they already have.&lt;br /&gt;
*Feature: More stats are now logged! RankType, TimeSinceLastKick, LastSeen, BlocksDrawn, LastKickBy, LastKickReason.&lt;br /&gt;
*Feature: Added &amp;quot;MaxUndo&amp;quot; config key for changing the default undo limit of 2,000,000 blocks per player.&lt;br /&gt;
*Feature: /info command is augmented with new stats (if available).&lt;br /&gt;
*Fix: Fixed ellipsoid command calculating volume incorrectly for draw limit checks.&lt;br /&gt;
*Fix: Fixed overflowing color code in &amp;quot;Player logged in from an IP previously used by banned players&amp;quot; message.&lt;br /&gt;
*Fix: Fixed PM recipient&#039;s name not getting logged properly.&lt;br /&gt;
*Fix: Previously-unseen players no longer have their FirstLoginDate, LastLoginDate, or TimesVisited set.&lt;br /&gt;
*Fix: /importranks now works correctly on players who are online at the time of import.&lt;br /&gt;
*Change: Added block aliases by popular demand: &amp;quot;bedrock&amp;quot; as an alias for admincrete, &amp;quot;cotton&amp;quot; as alias for &amp;quot;white&amp;quot;, and &amp;quot;aire&amp;quot; as alias for &amp;quot;air&amp;quot;&lt;br /&gt;
*Change: PlayerDB.txt format changes:&lt;br /&gt;
**MaxFieldCount raised to 36&lt;br /&gt;
**New fields added: UID (Int32), RankChangeType (enum, serialized as Int32), LastKickDate (DateTime), LastSeen (DateTime), BlocksDrawn (Int64), LastKickBy (string), LastKickReason (string).&lt;br /&gt;
**RankChangeBy, BannedBy, UnbannedBy, BanReason, UnbanReason, and RankChangeReason now default to empty string instead of &amp;quot;-&amp;quot; or null.&lt;br /&gt;
**If LastIP==IPAddress.None, empty string is saved instead of &amp;quot;255.255.255.255&amp;quot;.&lt;br /&gt;
**DateTime and TimeSpan format shortened to exclude microseconds. See PlayerDB.ToCompactString() for details.&lt;br /&gt;
*Change: AutoRank improvements (disabled in stable builds):&lt;br /&gt;
**Added /editplayerinfo command for easy editing of PlayerDB.&lt;br /&gt;
**Made AutoRank check players in-login (to accelerate promotion).&lt;br /&gt;
**AutoRank now runs on a scheduler.&lt;br /&gt;
**Fixed ConditionPreviousRank crash for played with default rank.&lt;br /&gt;
**Fixed banned players getting promoted by AutoRank.&lt;br /&gt;
**Fixed several serialization/loading issues in AutoRank.&lt;br /&gt;
**New fields added to ConditionIntRange: LastSeen, BlocksDrawn, TimeSinceRankChange, TimeSinceLastKick&lt;br /&gt;
**ConditionRankStatus renamed to ConditionRankChangeType&lt;br /&gt;
&lt;br /&gt;
===0.491===&lt;br /&gt;
&#039;&#039;17 October 2010 - r274&#039;&#039;&lt;br /&gt;
*Feature: Added ability to run multiple parallel IRC bots, to help high-traffic servers deal with IRC lag. This also makes it possible to connect to multiple networks in the future.&lt;br /&gt;
*Feature: Added new block aliases, by popular demand: &amp;quot;emerald&amp;quot;=teal, &amp;quot;fuchsia&amp;quot;=magenta, &amp;quot;cloth&amp;quot;=white, &amp;quot;lightgray&amp;quot;=gray, &amp;quot;lightgrey&amp;quot;=gray, &amp;quot;darkgray&amp;quot;=black, &amp;quot;darkgrey&amp;quot;=black, &amp;quot;brass&amp;quot;=gold&lt;br /&gt;
*Fix: Temporarily disabled 64-bit zlib support while I track down memory leaks. Should fix OutOfMemoryException, I&#039;m very sorry about overlooking that.&lt;br /&gt;
*Fix: Fixed a bug in /info that displayed incorrect &amp;quot;total time on server&amp;quot;.&lt;br /&gt;
*Fix: Per-rank permission checks for /freeze now apply as intended&lt;br /&gt;
*Fix: Fixed several improbable (but not impossible) threading deadlocks/crashes. Thanks to wootalyzer for catching these.&lt;br /&gt;
*Change: Added IRCThreads config key (default: 1, allowed range: 1-3)&lt;br /&gt;
&lt;br /&gt;
===0.490===&lt;br /&gt;
&#039;&#039;14 October 2010 - r264&#039;&#039;&lt;br /&gt;
*Feature: Testing a new map compressor/decompressor: ZLibStream. It should provide 50-200% speed increase, smaller map sizes, lower bandwidth use, and faster map loading.&lt;br /&gt;
*Fix: Fixed /shutdown not waiting the right amount and mixing up seconds/milliseconds.&lt;br /&gt;
*Fix: Fixed &amp;quot;No world found with the name...&amp;quot; showing player&#039;s own name.&lt;br /&gt;
*Fix: Added a fail-safe exception handler to Player.WaitForKick() - a temporary fix.&lt;br /&gt;
*Change: Previous verification salt is now stored, to allow players to validate even right after the server restarts.&lt;br /&gt;
*Change: Restructured SVN. Stable code is now always in /trunk/&lt;br /&gt;
&lt;br /&gt;
===0.487===&lt;br /&gt;
&#039;&#039;12 October 2010 - r255&#039;&#039;&lt;br /&gt;
*Feature: Added contextual help (tooltips) for all of ConfigTool. Help for &amp;quot;Add World&amp;quot; popup is coming in next version.&lt;br /&gt;
*Feature: Added rank limits for Freeze permission&lt;br /&gt;
*Fix: Fixed /mute being unusable from console.&lt;br /&gt;
*Change: Removed ViewOthersInfo requirement from /sinfo&lt;br /&gt;
*Change: Added ViewOthersInfo requirement to /where&lt;br /&gt;
*Change: Improvements to IRC tab layout in ConfigTool.&lt;br /&gt;
&lt;br /&gt;
===0.486===&lt;br /&gt;
&#039;&#039;11 October 2010 - r250&#039;&#039;&lt;br /&gt;
*Quick fix for IRC Bot bug that made server unconnectable.&lt;br /&gt;
&lt;br /&gt;
===0.485===&lt;br /&gt;
&#039;&#039;11 October 2010 - r249&#039;&#039;&lt;br /&gt;
*Feature: Added optional &amp;quot;delay&amp;quot; parameter to /shutdown (default: 5)&lt;br /&gt;
*Feature: World names can now be autocompleted for many commands (like /join and /lock)&lt;br /&gt;
*Fix: Fixed /unhide failing to reveal the player in certain situations.&lt;br /&gt;
*Fix: Fixed /setspawn being usable on players from other worlds.&lt;br /&gt;
*Fix: Fixed player names appearing white for all players.&lt;br /&gt;
*Fix: Fixed a recursion loop in NoWorldMessage()&lt;br /&gt;
*Fix: Fixed help entries for /setspawn and /shutdown&lt;br /&gt;
*Fix: Fixed potential crash in Server.Shutdown() if called after failed initialization/startup.&lt;br /&gt;
*Fix: Fixed potential deadlock/freeze in fCraftUI on shutdown.&lt;br /&gt;
*Change: Improved crash reporting for TargetInvokationException and TypeInitializerException errors.&lt;br /&gt;
*Change: All assemblies are now once again x86/x86_64/IA64 compatible.&lt;br /&gt;
*Change: Server.OnPlayerConnected event now supports cancellation.&lt;br /&gt;
&lt;br /&gt;
===0.484===&lt;br /&gt;
&#039;&#039;10 October 2010 - r245&#039;&#039;&lt;br /&gt;
*Feature: Added a way for IRC bot to use registered nicknames.&lt;br /&gt;
*Feature: /banall-related kicks are now announced in chat.&lt;br /&gt;
*Feature: /setspawn now actually changes player&#039;s spawn. Also, an optional PlayerName param allows temporarily changing other players&#039; spawn point.&lt;br /&gt;
*Feature: Several improvements to /info. Info now shows whether player&#039;s nick or IP was banned, and hides undefined information for players who haven&#039;t ever logged in.&lt;br /&gt;
*Fix: Fixed crash in ConfigTool if announcements were disabled.&lt;br /&gt;
*Fix: Fixed /banall not matching IPs properly, and not counting kicks towards PlayerInfo.&lt;br /&gt;
*Fix: Fixed ConfigUI not shutting down properly if Server.Init() or Server.Start() failed.&lt;br /&gt;
*Fix: Fixed Config.LoadLogOptions() always leaving Debug enabled.&lt;br /&gt;
*Fix: Added Process.GetCurrentProcess().Refresh() to ServerInfo to improve accuracy of /sinfo stat reporting.&lt;br /&gt;
*Fix: Improved /wsave and /wload path handling on non-Windows platforms.&lt;br /&gt;
*Fix: Replaced some potentially unsafe string concatenation in Player.Message() with proper formatting.&lt;br /&gt;
*Fix: Attempting a workaround for Mono memory leak in World.UnloadMap&lt;br /&gt;
*Fix: Fixed ranks from pre-0.480 configs being loaded in wrong order. Sorry!&lt;br /&gt;
*Change: Added a brief delay before reconnecting IRC bot after getting kicked from a channel. &lt;br /&gt;
*Change: PlayerDB is now saved every 60 seconds (instead of every 30).&lt;br /&gt;
*Change: Removed unused IRCBotQuitMsg config key, and added IRCRegisteredNick, IRCNickServ, and IRCNickServMessage keys.&lt;br /&gt;
*Change: Added a popup with crash information to ConfigTool.&lt;br /&gt;
*Change: Made announcements disabled by default.&lt;br /&gt;
&lt;br /&gt;
===0.483===&lt;br /&gt;
&#039;&#039;8 October 2010 - r242&#039;&#039;&lt;br /&gt;
*Feature: Myne/MyneCraft/Hyvebuild/iCraft maps can now be loaded from ConfigTool&#039;s &amp;quot;Add World&amp;quot; dialog.&lt;br /&gt;
*Fix: Fixed incorrect range checks for AnnouncementInterval and SaveInterval config keys (thanks to Shcaap for reporting).&lt;br /&gt;
*Fix: Fixed /hide showing a slightly different &amp;quot;player left&amp;quot; message compared to normal disconnect (thanks to Silverrock for reporting).&lt;br /&gt;
*Change: Added MC#-style &amp;quot;/z&amp;quot; alias for cuboid, by popular demand.&lt;br /&gt;
*Change: Hidden players can now receive PMs. The sender still gets the &amp;quot;No player found&amp;quot; message, but PMs are actually sent.&lt;br /&gt;
&lt;br /&gt;
===0.482===&lt;br /&gt;
&#039;&#039;7 October 2010 - r241&#039;&#039;&lt;br /&gt;
*Feature: Added new command aliases: &amp;quot;f&amp;quot; for &amp;quot;freeze&amp;quot;, and &amp;quot;pat&amp;quot; for &amp;quot;patrol&amp;quot;.&lt;br /&gt;
*Fix: Fixed typos in mute-related messages.&lt;br /&gt;
*Fix: Added missing triggers for OnPlayerListChanged event.&lt;br /&gt;
*Fix: Fixed /reloadconfig not changing several variables (like colors).&lt;br /&gt;
*Fix: Fixed antigrief defaulting to 35/5 (instead of unmetered).&lt;br /&gt;
*Fix: Fixed heartbeat counting hidden players.&lt;br /&gt;
*Fix: Fixed a rare ObjectDisposedException crash on shutdown when running fCraftUI.&lt;br /&gt;
*Change: Added a more informative disconnect message to players connecting with Alpha client.&lt;br /&gt;
*Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.&lt;br /&gt;
*Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.&lt;br /&gt;
&lt;br /&gt;
===0.481===&lt;br /&gt;
&#039;&#039;2 October 2010 - r237&#039;&#039;&lt;br /&gt;
*Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).&lt;br /&gt;
*Fixed a few more references to &amp;quot;player class&amp;quot; terminology instead of &amp;quot;rank&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.480===&lt;br /&gt;
&#039;&#039;2 October 2010 - r236&#039;&#039;&lt;br /&gt;
*Feature: Changed all &amp;quot;player classes&amp;quot; terminology to &amp;quot;ranks&amp;quot; for consistency with other servers. Several commands have been renamed to reflect that: /classes to /ranks, /user to /rank, /class to /rankinfo. All rank-related messages have also been updated.&lt;br /&gt;
*Feature: Added &amp;quot;Raise&amp;quot;/&amp;quot;Lower&amp;quot; buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a &amp;quot;rank&amp;quot; number to reorder ranks.&lt;br /&gt;
*Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.&lt;br /&gt;
*Fix: Improved fCraftUI responsiveness on-startup.&lt;br /&gt;
*Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.&lt;br /&gt;
*Fix: /wremove now always saves the map before unloading.&lt;br /&gt;
*Fix: Fixed Console being affected by chat spam/flood checks.&lt;br /&gt;
*Fix: Fixed /zinfo not showing any separators between player names.&lt;br /&gt;
*Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.&lt;br /&gt;
*Fix: Fixed Security and IRC tabs not being reset by &amp;quot;Reset All Defaults&amp;quot;&lt;br /&gt;
*Fix: Fixed bugged error messages in /tp and /bring when world access permission check fails.&lt;br /&gt;
*Fix: If any class limits were set to default/&amp;quot;(own class)&amp;quot;, the setting is now preserved.&lt;br /&gt;
*Fix: Fixed a bug that didn&#039;t reset Hide limit if it was set to a deleted rank.&lt;br /&gt;
*Change: Removed legacy zone loading code for pre-0.420 maps (due to changes in rank definition format).&lt;br /&gt;
*Change: Added a more informative disconnect message for players trying to connect with Minecraft Alpha clients.&lt;br /&gt;
*Change: Improved rank-based coloring in world list to check both access and build permissions.&lt;br /&gt;
*Change: Added &amp;quot;/fetch&amp;quot; as alias for /bring, and renamed &amp;quot;/save&amp;quot; to &amp;quot;/wsave&amp;quot;.&lt;br /&gt;
*Change: Deleted some obsolete/disabled controls from ConfigTool, removed PingInterval config key, and removed placeholder ControlPhysics and AddLandmarks permissions.&lt;br /&gt;
*Change: Made several changes to improve disconnect detection:&lt;br /&gt;
**Added occasional pings (every 5 seconds or so, depending on activity/inactivity).&lt;br /&gt;
**Reduced socket send/receive timeout from 12 to 10 seconds.&lt;br /&gt;
**Increased socket polling interval to improve performance.&lt;br /&gt;
*Change: If a player tries to connect to a server twice, the FIRST connection is dropped instead of the LAST connection.&lt;br /&gt;
*Refactor: Major changes were made to the way ranks are stored, and to RankList (formerly ClassList) API.&lt;br /&gt;
*Optimization: Made IsoCat rendering faster, and made draw commands use less CPU.&lt;br /&gt;
&lt;br /&gt;
===0.475===&lt;br /&gt;
&#039;&#039;17 September 2010 - r229&#039;&#039;&lt;br /&gt;
*Feature: /ztest now distinguishes between being allowed/denied by rank/class vs by whitelist/blacklist.&lt;br /&gt;
*Fix: Fixed being unable to change rank/class restrictions with /zedit&lt;br /&gt;
*Fix: Fixed a bug that reported wrong average CPU usage&lt;br /&gt;
*Fix: Fixed a crash on saving in ConfigTool, related to new PatrolledClass config key.&lt;br /&gt;
&lt;br /&gt;
===0.474===&lt;br /&gt;
&#039;&#039;16 September 2010 - r228&#039;&#039;&lt;br /&gt;
*Feature: &amp;quot;/mute&amp;quot; command to temporarily stop players from chatting. A new class permission (Mute) is added, granted to op+ by default.&lt;br /&gt;
*Feature: &amp;quot;/shutdown&amp;quot; command to gracefully shutdown the server remotely. A new class permission (ShutdownServer) is added, granted to owner by default.&lt;br /&gt;
*Feature: Added CPU usage information and loaded world count to /sinfo.&lt;br /&gt;
*Fix: Added a way to edit &amp;quot;PatrolledClass&amp;quot; from ConfigTool.&lt;br /&gt;
*Fix: Fixed zone whitelist/blacklist not updated correctly when edited.&lt;br /&gt;
*Fix: Made teleporting to spawn (with /spawn or /tp, no parameters) accessible to all classes.&lt;br /&gt;
*Fix: Adjusted for Notch&#039;s errors in handling player positions in teleport packets. Slightly improves accuracy of /tp, /bring, initial spawning, /patrol, frozen players, and speedhack detection.&lt;br /&gt;
*Fix: Removed &amp;quot;/tp&amp;quot; bounds check when used with typed-in coordinates numbers.&lt;br /&gt;
*Fix: Fixed an extremely unlikely case of PlayerDB/IPBanList overwriting on shutdown if server initialization failed.&lt;br /&gt;
*Fix: Made &amp;quot;server shutting down&amp;quot; packets deliver more reliably (but still not guaranteed).&lt;br /&gt;
*Fix: Fixed Console possibly not seeing hidden players.&lt;br /&gt;
*Change: Added a basic file check to AutoLauncher&lt;br /&gt;
*Change: Added error logging and crash reporting to Server.Shutdown&lt;br /&gt;
*API: Renamed Server.ShutdownStart to Server.ShutdownBegin (for consistency).&lt;br /&gt;
&lt;br /&gt;
===0.473===&lt;br /&gt;
&#039;&#039;15 September 2010 - r227&#039;&#039;&lt;br /&gt;
*Feature: Added zone coordinates to /zinfo&lt;br /&gt;
*Fix: Fixed cross-world /tp teleporting the wrong player.&lt;br /&gt;
*Fix: Fixed odd date formatting in /zinfo&lt;br /&gt;
&lt;br /&gt;
===0.472===&lt;br /&gt;
&#039;&#039;15 September 2010 - r226&#039;&#039;&lt;br /&gt;
*Feature: Added /cut command&lt;br /&gt;
*Feature: Added a new /patrol command. It allows cycling through low-ranked players on a map (with teleportation). The order is determined by how long it&#039;s been since someone checked on a player. A &amp;quot;Patrol&amp;quot; permission and &amp;quot;PatrolledClass&amp;quot; config key were added.&lt;br /&gt;
*Feature: Added a shorthand notation to /zone for making personal zones: &amp;quot;/zone +PlayerName&amp;quot; creates a zone named after the player, with rank limit just above player&#039;s, and with player whitelisted.&lt;br /&gt;
*Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.&lt;br /&gt;
*Fix: Fixed server always binding to IPAddress.Any regardless of config settings.&lt;br /&gt;
*Fix: TP/Bring no longer allow teleporting to hidden players on other worlds.&lt;br /&gt;
*Fix: Server.GetPlayerList(string) now stops searching the list when it finds an exact match.&lt;br /&gt;
*Fix: Fixed client-crash in /zedit when changing class.&lt;br /&gt;
*Fix: Fixed possible corruption of edited zones upon map saving.&lt;br /&gt;
*Fix: Fixed a range of improbable synchronization issues in the way Zone whitelist/blacklist is updated. As a fortunate side-effect, significantly reduced Zone.CanBuild() overhead.&lt;br /&gt;
*Fix: Temporarily added mainThread.Abort() to Server.Shutdown() that&#039;s kicked in if mainThread does not stop within 5s of being notified of shutdown. I am investigating the real cause of the hang.&lt;br /&gt;
*Fix: Fixed hidden players being revealed by promotion/demotion.&lt;br /&gt;
*Change: Added less threatening error messages to IRC bot on network errors (SocketException and IOException).&lt;br /&gt;
*Change: Disabled movement handling code while changing maps.&lt;br /&gt;
*Refactor: Merged StandardCommands and ImportCommands into AdminCommands&lt;br /&gt;
&lt;br /&gt;
===0.471===&lt;br /&gt;
&#039;&#039;14 September 2010 - r224&#039;&#039;&lt;br /&gt;
*Feature: Added ability to specify the server&#039;s IP (to bind to) manually, for machines with multiple NICs. A new config key &amp;quot;IP&amp;quot; (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.&lt;br /&gt;
*Fix: Fixed a bug with player ghosts being left behind when switching worlds.&lt;br /&gt;
*Fix: Fixed a case with kicked players&#039; connections not being terminated at once (thanks to wootalyzer).&lt;br /&gt;
*Fix: Fixed several bugs in hide/unhide functionality.&lt;br /&gt;
*Fix: Fixed a rare crash in AddWorldPopup related to missing maps for existing worlds.&lt;br /&gt;
*Fix: AddWorldPopup will no longer allow adding a world with a duplicate name.&lt;br /&gt;
*Fix: Capped maximum players at the newly-discovered protocol limit of 128 (thanks to wootalyzer).&lt;br /&gt;
*Change: ConfigTool fields now provide better feedback if validation fails.&lt;br /&gt;
*Change: Changed heartbeat interval to 40 seconds (down from 50).&lt;br /&gt;
*Change: Added a special error handler for rare/impossible case of mainWorld not being joinable.&lt;br /&gt;
*Change: Made fatal error messages in fCraftConsole print in red. Better color support coming soon.&lt;br /&gt;
&lt;br /&gt;
===0.470===&lt;br /&gt;
&#039;&#039;13 September 2010 - r223&#039;&#039;&lt;br /&gt;
*Feature: Personal zones - per-zone whitelist and blacklist of individual players. The lists can now be defined with /zadd and edited with /zedit.&lt;br /&gt;
*Feature: Added cave/ore generator from Omen (BETA).&lt;br /&gt;
*Feature: Added &amp;quot;/maps&amp;quot; and &amp;quot;/levels&amp;quot; as aliases for &amp;quot;/worlds&amp;quot;.&lt;br /&gt;
*Feature: Added a way to limit the &amp;quot;Hide&amp;quot; permission per-class. Now you can specify whom can a class hide from.&lt;br /&gt;
*Feature: Zones now remember date/time of creation and last edit, and names of original creator and last editor.&lt;br /&gt;
*Fix: Unauthorized players can no longer PM or use bring/freeze/unfreeze/kick/tp/where on hidden players. They get the standard &amp;quot;player not found&amp;quot; message.&lt;br /&gt;
*Fix: Fixed hidden players being counter towards /players total.&lt;br /&gt;
*Fix: Fixed a potential crash in /wflush when using on unloaded maps.&lt;br /&gt;
*Fix: Doing /banip or /banall on unrecognized players no longer ip-bans 255.255.255.255. Old IPBanList entries relating to 255.255.255.255 will be automatically discarded.&lt;br /&gt;
*Fix: Fixed /replace command uses not being logged.&lt;br /&gt;
*Fix: Fixed /worlds command not showing world count.&lt;br /&gt;
*Fix: Fixed a client-disconnect when trying to unban a player who is not in the database.&lt;br /&gt;
*Fix: Fixed &amp;quot;/join PlayerName&amp;quot; not translating to &amp;quot;/tp PlayerName&amp;quot; correctly.&lt;br /&gt;
*Fix: Fixed a very unlikely client-disconnect in ChangeClass if the entered class name contains curved braces.&lt;br /&gt;
*Change: Changed default name for &amp;quot;/flip&amp;quot; command to &amp;quot;/mirror&amp;quot;, and fixed command&#039;s help. Either term still works.&lt;br /&gt;
*Change: Added more block name aliases:&lt;br /&gt;
**Air: delete, erase&lt;br /&gt;
**Stone: cement, concrete&lt;br /&gt;
**Grass: gras (common typo)&lt;br /&gt;
**Obsidian: onyx&lt;br /&gt;
*Change: Improved formatting of /players, /worlds, and draw command messages.&lt;br /&gt;
&lt;br /&gt;
===0.463===&lt;br /&gt;
&#039;&#039;9 September 2010 - r218&#039;&#039;&lt;br /&gt;
*Fix: Fixed special colors showing up even if ClassColorsInChat is disabled.&lt;br /&gt;
*Fix: Fixed potential client-crash in World.SendToAll(), and related client-crash in lock/unlock.&lt;br /&gt;
&lt;br /&gt;
===0.462===&lt;br /&gt;
&#039;&#039;8 September 2010 - r217&#039;&#039;&lt;br /&gt;
*Fix: The &amp;quot;OK&amp;quot; button in AddWorldPopup no longer stays grayed out.&lt;br /&gt;
*Fix: Fixed &amp;quot;Error occured while loading&amp;quot; in the file information dialog for non-FCM files.&lt;br /&gt;
*Fix: Fixed a crash in /bring when used without any parameters.&lt;br /&gt;
*Fix: Fixed Server.UrlEncode not escaping 0x00-0x0F characters properly.&lt;br /&gt;
*Change: Slightly reduced default tree density in MapGenerator.&lt;br /&gt;
&lt;br /&gt;
===0.461===&lt;br /&gt;
&#039;&#039;8 September 2010 - r216&#039;&#039;&lt;br /&gt;
*Feature: New EXPERIMENTAL &amp;quot;/reloadconfig&amp;quot; command, and associated ReloadConfig permission. Use with caution!&lt;br /&gt;
*Fix: Fixed a case where AddWorldPopup would allow clicking &amp;quot;OK&amp;quot; with a null map.&lt;br /&gt;
*Fix: Fixed player crash if /freeze or /unfreeze is used without arguments.&lt;br /&gt;
*Fix: Fixed player crash on FormatException in /zones and Server.ShowPlayerConnectedMessage.&lt;br /&gt;
*Fix: Fixed potential player crash if LimitOneConnectionPerIP is enabled.&lt;br /&gt;
&lt;br /&gt;
===0.460===&lt;br /&gt;
&#039;&#039;8 September 2010 - r214&#039;&#039;&lt;br /&gt;
*Feature: Added ShowPlayerConnectedMessage and ClassColorsInWorldNames settings to config.&lt;br /&gt;
*Feature: Added /measure command.&lt;br /&gt;
*Feature: Class colors and prefixes are now applied consistently EVERYWHERE.&lt;br /&gt;
*Feature: Banned players now see their ban reason/memo when they get kicked.&lt;br /&gt;
*Feature: A special error message is shown to players trying to connect with Alpha/SMP client.&lt;br /&gt;
*Feature: IsoCat (ConfigTool isometric preview) rendering quality improved: better shadows and slight altitude-based gradient.&lt;br /&gt;
*Feature: Added new blocktype name aliases: &amp;quot;solid&amp;quot;, &amp;quot;golden&amp;quot;, &amp;quot;halfstep&amp;quot;, &amp;quot;halfblock&amp;quot;, &amp;quot;steps&amp;quot;.&lt;br /&gt;
*Feature: Added player count for each class in /classes&lt;br /&gt;
*Fix: Fixed wrong &amp;quot;MaxBackupsSize&amp;quot; range in ConfigTool.&lt;br /&gt;
*Fix: MaxBackupsSize setting is now applied correctly.&lt;br /&gt;
*Fix: IRC color codes are now stripped from forwarded messages.&lt;br /&gt;
*Fix: IRC bot now uses ServerName for &amp;quot;real name&amp;quot;.&lt;br /&gt;
*Fix: Formatting improved in many error messages.&lt;br /&gt;
*Fix: Commas in ban/unban/promote/demote reasons no longer cause problems with PlayerDB.&lt;br /&gt;
*Fix: Removed extra comma from /worlds list that showed in place of hidden/inaccessible worlds.&lt;br /&gt;
*Change: Added 5-second delay between retries in AutoLauncher&lt;br /&gt;
*Change: &amp;quot;Player connected&amp;quot; message condensed to a single line by absorbing &amp;quot;joined world&amp;quot; message.&lt;br /&gt;
*Change: Removed ChangeName permission (and the ability to change names) due to possibility of abuse and confusion. Related /nick and /whois commands were also removed.&lt;br /&gt;
*Change: /tp can now fall back to behave like /join if player name is not found (for all those times when you mistype /tp instead of /join). Conversely, /join falls back to /tp if player was not found.&lt;br /&gt;
*Optimization: Reduced bandwidth use with an adaptive movement packet skipping algorithm. Should reduced outbound traffic by at least 15%.&lt;br /&gt;
*Optimization: BlockUpdate memory usage slightly reduced.&lt;br /&gt;
&lt;br /&gt;
===0.455===&lt;br /&gt;
&#039;&#039;8 September 2010 - r213&#039;&#039;&lt;br /&gt;
*Feature: AutoLauncher (BETA) allows restarting the fCraftConsole server if it crashed. Although it honestly shouldn&#039;t crash at all!&lt;br /&gt;
*Fix: Allowed renaming worlds in cases where only capitalization is different.&lt;br /&gt;
*Fix: If an ip-banned player has more than one connection, all connections are now terminated.&lt;br /&gt;
*Fix: Fixed nonrectangular MCSharp maps getting messed up by the loader.&lt;br /&gt;
*Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.&lt;br /&gt;
*Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of &amp;quot;no player found&amp;quot; message). Affects PMs, {{cmd|TP}}, {{cmd|Bring}}, {{cmd|Freeze}}, {{cmd|Unfreeze}}, {{cmd|Kick}}.&lt;br /&gt;
*Change: Improved OS detection in crash reporter.&lt;br /&gt;
&lt;br /&gt;
===0.454===&lt;br /&gt;
*Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.&lt;br /&gt;
*Fix: Replace no longer behaves same as replacenot.&lt;br /&gt;
*Fix: Spaces in IRC messages are now preserved.&lt;br /&gt;
*Fix: Help entries for paste/pastenot corrected.&lt;br /&gt;
*Fix: /cinfo (without parameters) now shows player&#039;s own class info.&lt;br /&gt;
&lt;br /&gt;
===0.453===&lt;br /&gt;
*Feature: It is now possible to reverse last /undo (by typing /undo again).&lt;br /&gt;
*Change: IRC message colors are applied slightly differently now.&lt;br /&gt;
*Change: Added more automated crash reporting hooks - to MainLoop and Tasks.&lt;br /&gt;
*Change: More help messages improved.&lt;br /&gt;
*Change: Added a more informative message for people running outdated versions of Mono and .Net runtime.&lt;br /&gt;
*Optimization: Slightly reduced memory usage of /undo, /paste, and PlayerDB.Load()&lt;br /&gt;
&lt;br /&gt;
===0.452===&lt;br /&gt;
*Feature: New /replacenot command allows replacing all blocks EXCEPT the specified one.&lt;br /&gt;
*Feature: New /flip and /rotate commands to manipulate copied blocks.&lt;br /&gt;
*Feature: /players list is now in alphabetical order.&lt;br /&gt;
*Fix: Trying to specify an unrecognized block type for draw commands (e.g. &amp;quot;/c ai&amp;quot; instead of &amp;quot;/c air&amp;quot;) now shows a proper error message.&lt;br /&gt;
*Fix: Fixed /gen command crashing players if coordinates are typed in before theme/template.&lt;br /&gt;
*Fix: Fixed /e ellipsoids coming out crooked.&lt;br /&gt;
*Fix: &amp;quot;joined for the first time&amp;quot; messages are now shown correctly.&lt;br /&gt;
*Fix: Fixed /replace not working correctly with /undo&lt;br /&gt;
*Fix: Made IRC bot strip nonprintable characters from messages, and ignore empty messages.&lt;br /&gt;
*Fix: World permissions are no longer reset when doing /wload. Also a permission reminder is now shown when creating new worlds.&lt;br /&gt;
*Change: Improved some help messages.&lt;br /&gt;
*Change: Improved IRC error reporting.&lt;br /&gt;
*Change: Added world name back to &amp;quot;Almost there...&amp;quot; join screen.&lt;br /&gt;
*Change: /pasteonly is now called /paste, and /paste is now called /pastenot (for consistency with other custom servers)&lt;br /&gt;
*Optimization: Slightly reduced memory usage of massive drawing commands (over undo limit).&lt;br /&gt;
&lt;br /&gt;
===0.451===&lt;br /&gt;
*Feature: Improved the way fCraft handles fatal errors (crashes). Crash logs are now created more reliably.&lt;br /&gt;
*Feature: Added automated crash reporting to fragmer.net (opt-out).&lt;br /&gt;
*Feature: Added an announcement for players logging in from IPs associated with other previously-banned players.&lt;br /&gt;
*Fix: Curved braces - &amp;quot;{}&amp;quot; - in server name no longer cause problems.&lt;br /&gt;
*Fix: &amp;quot;Leaving the map&amp;quot; kick disabled temporarily, will be made configurable per-class soon.&lt;br /&gt;
*Fix: banall/unbanall commands produce less chat spam.&lt;br /&gt;
*Fix: AFK kicks no longer count towards /info number-of-times-kicked.&lt;br /&gt;
*Change: Added class colors to /info, and fixed formatting bug.&lt;br /&gt;
*Change: Cleaned up &amp;quot;Advanced&amp;quot; tab in ConfigTool.&lt;br /&gt;
**Removed obsolete config keys: PolicyColorCodesInChat, PolicyIllegalCharacters, and RunOnStartup&lt;br /&gt;
**Added SubmitCrashReports and IRCDelay config keys.&lt;br /&gt;
&lt;br /&gt;
===0.450===&lt;br /&gt;
*Feature: IRC bot rewritten for better performance, flexibility, and safety.&lt;br /&gt;
*Feature: New IRC options: IRCBotAnnounceIRCJoins and IRCBotAnnounceServerJoins.&lt;br /&gt;
*Fix: Fixed messages containing only a single slash (&#039;/&#039;) crashing client thread.&lt;br /&gt;
*Change: Removed obsolete IRCBotMsgs config key.&lt;br /&gt;
*Change: Added OnPlayerSentMessage event to Server.&lt;br /&gt;
*Change: IRC bot&#039;s commands (e.g. !status) are temporarily unavailable.&lt;br /&gt;
&lt;br /&gt;
===0.445===&lt;br /&gt;
*IMPORTANT! Please update ASAP, a security issue was identified in previous version.&lt;br /&gt;
*Fix: If you need to start message with a slash, you can now escape the slash (type &amp;quot;//&amp;quot;)&lt;br /&gt;
*Fix: Fixed endless update loop (if automatic updates were enabled)&lt;br /&gt;
*Fix: Private messages with a space between &#039;@&#039; and the player name now work.&lt;br /&gt;
*Fix: Hacking-related kicks are not announced globally.&lt;br /&gt;
*Fix: Fixed &amp;quot;/help&amp;quot; giving wrong message if help entry was not found.&lt;br /&gt;
*Change: Minor changes in MapGenerator/Noise&lt;br /&gt;
&lt;br /&gt;
===0.444===&lt;br /&gt;
*Feature: New stat command, /sinfo (server info).&lt;br /&gt;
*Fix: Ban reason/memo now shown for normal bans.&lt;br /&gt;
*Fix: /cinfo for unlimited classes no longer shows &amp;quot;draw limit: 0&amp;quot;&lt;br /&gt;
*Fix: Fixed IRC message colors, and removed IRC color codes from log.&lt;br /&gt;
&lt;br /&gt;
===0.443===&lt;br /&gt;
*FEATURE: New /wflush command. It allows finishing all in-progress draw commands at maximum speed (over 100k blocks/second) then forces a map rejoin.&lt;br /&gt;
*Feature: Added more customization options for colors: PrivateMessageColor and IRCMessageColor in Config.&lt;br /&gt;
*Feature: /players list is now sorted alphabetically.&lt;br /&gt;
*Feature: Added &amp;quot;Check Port&amp;quot; button to ConfigTool to see if port is open. Uses www.utorrent.com/testport&lt;br /&gt;
*Feature: Added &amp;quot;Play&amp;quot; button to fCraftUI to open server URL in the browser&lt;br /&gt;
*Feature: World names in /worlds list are now colored according to each world&#039;s build permission. &lt;br /&gt;
*Feature: Added speedhack detection &amp;amp; prevention (BETA) and corresponding Permission.UseSpeedHack. All your classes will be granted this permission by default. Edit the config to customize it.&lt;br /&gt;
*Fix: When using /mark outside of map boundaries, draw limits are no longer calculated incorrectly (thanks to Darnest).&lt;br /&gt;
*Fix: Fixed possible crash in Map.CheckZones() on maps created with /gen&lt;br /&gt;
*Fix: Fixed compilation issue with &amp;quot;tileset.png&amp;quot; on case-sensitive filesystems.&lt;br /&gt;
*Fix: Fixed class-wide messages not wrapping correctly.&lt;br /&gt;
*Optimization: antigrief and antispam checking overhead reduced.&lt;br /&gt;
&lt;br /&gt;
===0.442===&lt;br /&gt;
*Fix: Addresses a security issue.&lt;br /&gt;
*Fix: &amp;quot;OK&amp;quot; button in AddWorldPopup is now always disabled if no map is set.&lt;br /&gt;
*Fix: &amp;quot;Feature size&amp;quot; label is now updater correctly when map dimensions are changed.&lt;br /&gt;
*Fix: Added missing player notifications for /undo and /cancel commands.&lt;br /&gt;
*Change: MapGenerator&#039;s default map size changed to 128x128x80&lt;br /&gt;
&lt;br /&gt;
===0.441===&lt;br /&gt;
*Feature: Added cuboid limits to /cinfo&lt;br /&gt;
*Fix: Fixed a bug in BoundingBox that made /paste and zones behave incorrectly&lt;br /&gt;
*Fix: Fixed ban/unban commands not kicking the player if entered name capitalization did not match actual capitalization&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; being broken when using &amp;quot;/gen&amp;quot;&lt;br /&gt;
*Fix: Fixed &amp;quot;/ban&amp;quot; rank checks affecting &amp;quot;/unban&amp;quot;&lt;br /&gt;
*Change: Optimized zone permission checks&lt;br /&gt;
&lt;br /&gt;
===0.440===&lt;br /&gt;
*FEATURE: New MapGenerator with tons of options. You can also save/load custom templates for it.&lt;br /&gt;
*FEATURE: AddWorldPopup interface overhaul.&lt;br /&gt;
*FEATURE: JTE, D3, and Myne/Mynecraft/Hyvebuild/iCraft map format converters added.&lt;br /&gt;
*Feature: Improved syntax of the /gen command. See &amp;quot;/help gen&amp;quot; for details.&lt;br /&gt;
*Feature: Reason/memo is now shown publicly when someone gets banned, unbanned, or kicked.&lt;br /&gt;
*Feature: Teleport and Bring work across worlds - world permissions still apply.&lt;br /&gt;
*Feature: Added 4 new Config keys: RequireBanReason, RequireClassChangeReason, AnnounceKickAndBanReasons, AnnounceClassChanges. By default &amp;quot;AnnounceKickAndBanReasons&amp;quot; and &amp;quot;AnnounceClassChanges&amp;quot; are enabled.&lt;br /&gt;
*Feature: Added 5 new fields to PlayerDB: previousClass, classChangeReason, timesKicked, timesKickedOthers, timesBannedOthers.&lt;br /&gt;
*Feature: Added a lot of new information to /info.&lt;br /&gt;
*Feature: You can now save map preview images (isometric) from AddWorldPopup.&lt;br /&gt;
*Feature: ConfigTool now shows warnings about any errors logged during Config.Load&lt;br /&gt;
*Fix: Yet another workaround for VerifyNames false negatives (thanks to SpaceManiac).&lt;br /&gt;
*Fix: Fixed being able to paste admincrete/water/lava without permission (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Trying to go over class draw limit no longer causes &amp;quot;Another drawing command is in progress&amp;quot; error.&lt;br /&gt;
*Fix: Mcc.MapUtility.TryLoading() and Map.LoadHeaderOnly() now release file handles as soon as possible. This should fix some &amp;quot;file is being used by another process&amp;quot; errors.&lt;br /&gt;
*Fix: Map spawn should be parsed correctly for MCSharp/MCZall maps&lt;br /&gt;
*Fix: If a map doesn&#039;t start with a gzip header, it no longer has a chance to abort the whole load process.&lt;br /&gt;
*Fix: Fixed blocktype names being case-sensitive.&lt;br /&gt;
*Fix: Added a more informative message when idle players are kicked.&lt;br /&gt;
*Fix: Fixed undo buffer not getting cleared when doing paste/pasteonly&lt;br /&gt;
*Fix: Fixed /waccess exception kicking players.&lt;br /&gt;
*Fix: 100% Empty maps no longer crash AddWorldPopup with OutOfMemoryException&lt;br /&gt;
*Fix: Fixed &amp;quot;player is already banned&amp;quot; message when doing /BanAll&lt;br /&gt;
*Fix: Fixed no public message appearing when doing /BanAll&lt;br /&gt;
*Fix: Fixed cuboid/ellipsoid/cuboidh logging blocktype code instead of blocktype name.&lt;br /&gt;
*Fix: Improved the message that&#039;s shown when idle players are kicked.&lt;br /&gt;
*Fix: Documented ability to /tp to specific coordinates.&lt;br /&gt;
*Fix: AddWorldPopup no longer crashes if user closes &amp;quot;Load Map&amp;quot; dialog before selecting any file.&lt;br /&gt;
*Fix: When drawing affects (in part or in full) a restricted zone, the zone is left untouched, and the rest of draw command finishes (part of Player.CanPlace overhaul).&lt;br /&gt;
*Fix: Fixed crash in AddWorldPopup.AsyncLoad() if map loading failed.&lt;br /&gt;
*Fix: LegacyRankMapping is now parsed correctly&lt;br /&gt;
*Fix: Renaming a class no longer causes &amp;quot;Worlds&amp;quot; tab dropdown menus to go out-of-sync.&lt;br /&gt;
*Change: AddWorldPopup preview image quality improved.&lt;br /&gt;
*Change: Updated to newest version of NBTag library.&lt;br /&gt;
*Change: Frozen players can no longer build/delete.&lt;br /&gt;
*Change: Removed public &amp;quot;undo&amp;quot; message, added log message instead.&lt;br /&gt;
*Change: Removed AnnounceUnverifiedNames settings.&lt;br /&gt;
*Change: When building/deleting permission is denied, the exact reason is given (instead of a vague &amp;quot;you cannot do that&amp;quot; message) (part of Player.CanPlace overhaul).&lt;br /&gt;
&lt;br /&gt;
===0.435===&lt;br /&gt;
*Feature: Added /copy, /paste, and /pasteonly commands. Rotation coming soon.&lt;br /&gt;
*Feature: Added CopyAndPaste permission, granted to op and owner by default.&lt;br /&gt;
*Feature: Added MapGenType.Cliffs - similar to Mountains type, but with cliffs!&lt;br /&gt;
*Fix: Fixed /paint command&lt;br /&gt;
*Fix: Fixed /baninfo now showing any information if used without parameters.&lt;br /&gt;
*Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.&lt;br /&gt;
&lt;br /&gt;
===0.434===&lt;br /&gt;
*Feature: new /bind command allows mapping any block to any other. Now you can place those unbuildable blocks (water, lava, grass, double-step) in any way you wish. For compatibility, old commands (/water, /solid, /lava, /grass) have been preserved.&lt;br /&gt;
*Change: &amp;quot;step&amp;quot; added as an alias for Stair block. &amp;quot;doublestep&amp;quot; added as an alias for DoubleStair.&lt;br /&gt;
&lt;br /&gt;
===0.433===&lt;br /&gt;
*Feature: /winfo now shows who locked/unlocked the map, and how long ago.&lt;br /&gt;
*Fix: Fixed a error message that showed up when announcements.txt was blank.&lt;br /&gt;
*Fix: Permission check added back to lock/unlock commands.&lt;br /&gt;
*Fix: &amp;quot;mapinfo&amp;quot; added back as alias for /winfo&lt;br /&gt;
*Fix: Fixed locked maps not getting unloaded when all players left&lt;br /&gt;
&lt;br /&gt;
===0.432===&lt;br /&gt;
*Fix: List of worlds printed by /worlds is now sorted alphabetically.&lt;br /&gt;
*Fix: Fixed an obscure half-disconnect bug that left players with id=0 who happened to be on the main world in a semi-disconnected state IF someone else was kicked halfway through the login process before it was assigned an id.&lt;br /&gt;
&lt;br /&gt;
===0.431===&lt;br /&gt;
*Fix: Fixed still messed-up /worlds command.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.430===&lt;br /&gt;
*Fix: Fixed messed-up /worlds command. Sorry about that.&lt;br /&gt;
*Change: Downgraded standard Session.IoLoop messages that occur on player disconnect from Warning to Debug.&lt;br /&gt;
&lt;br /&gt;
===0.429===&lt;br /&gt;
*Feature: Command-handler infrastructure has been redesigned. This will allow much more flexibility for devs and plugin makers later.&lt;br /&gt;
*Feature: &amp;quot;/help commands&amp;quot; now only shows available commands by default. Type &amp;quot;/help commands all&amp;quot; to see all commands.&lt;br /&gt;
*Feature: /worlds command now only available worlds by default. Type &amp;quot;/worlds all&amp;quot; to include worlds inaccessible to you.&lt;br /&gt;
*Feature: Help entries added for /zedit, /mark, /version, /rules, and /say.&lt;br /&gt;
*Feature: ConfigTool World tab columns are now sortable.&lt;br /&gt;
*Fix: Fixed &amp;quot;max backups&amp;quot; in ConfigTool being limited to 100. Now it&#039;s at a more reasonable limit of 100000.&lt;br /&gt;
*Fix: Fixed Map.Backup() deleting the newest (instead of the oldest) backup if the total number of files was limited.&lt;br /&gt;
*Fix: Fixed an ERROR that popped up if a player got disconnected during the login process (while player=null).&lt;br /&gt;
*Fix: FormatException crash fixed that caused whole server to go down instead of a player thread.&lt;br /&gt;
*Fix: Several draw-related bugs and crashes fixed.&lt;br /&gt;
*Fix: Fixed crash in /winfo when used on unloaded worlds.&lt;br /&gt;
*Fix: Fixed a bug in Config that caused antigrief to be re-enabled every load.&lt;br /&gt;
*Fix: Fixed a bug in ConfigTool that didn&#039;t update AntiGriefSeconds properly when changing between classes.&lt;br /&gt;
*Change: Many /help entries have been improved.&lt;br /&gt;
*Change: Split /class command into two: /classes (aka /ranks) shows a list of classes, and /class (aka /cinfo or /classinfo) shows permission list (missed from last release notes).&lt;br /&gt;
*Change: Added /spawn as an alias for /tp (missed from last release notes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.428===&lt;br /&gt;
*Feature: Line wrapping. Yes, finally.&lt;br /&gt;
*Feature: Per-class draw limits. Defaults are: owner unlimited, op unlimited, regular 4096 (16x16x16), guest 512 (8*8*8)&lt;br /&gt;
*Feature: Per-class antigrief detection. Defaults are: owner unmetered, op umetered, regular 45/6 (7.5 blocks/second), guest 35/5 (7 blocks/second)&lt;br /&gt;
*Feature: Memory usage of draw commands has been reduced by 6 bytes per block (37% improvement).&lt;br /&gt;
*Fix: Extra color codes fixed in /players command.&lt;br /&gt;
*Fix: Fixed a bug with /undo that caused more than one command to be undone at once.&lt;br /&gt;
*Fix: Fixed maps generated with &amp;quot;Realistic terrain&amp;quot; (MapGenerator) having an empty layer at the bottom of the map.&lt;br /&gt;
*Change: Default classes have been tweaked:&lt;br /&gt;
**regular can now use draw commands&lt;br /&gt;
**op can now lock/unlock&lt;br /&gt;
*Change: Improved arrangement of Permission list items.&lt;br /&gt;
*Change: Removed obsolete ConfigKey variables AntigriefBlockCount and AntigriefBlockInterval&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.427===&lt;br /&gt;
*Feature: Added /zedit command for changing zone permissions after creation&lt;br /&gt;
*Feature: New aliases for drawing commands: /c /e /h /r /m&lt;br /&gt;
*Fix: Fix for cuboid command kicking players with &amp;quot;Block.Undefined&amp;quot; if called with no optional BlockType parameter&lt;br /&gt;
*Fix: Fixed zone definitions getting corrupted.&lt;br /&gt;
*Fix: Allowed /save command to be used from console and from remote worlds. Previously you had to join the world to save it.&lt;br /&gt;
*Fix: Fixed potential crash in /winfo when looking up unloaded worlds.&lt;br /&gt;
*Fix: Fixed /zone allowing duplicate names, then kicking the client.&lt;br /&gt;
*Fix: Fixed /ztest showing the standard &amp;quot;you are not allowed to build in this zone&amp;quot; message instead of the expected zone list.&lt;br /&gt;
*Fix: Fixed incorrect description of draw log messages, and backup error messages&lt;br /&gt;
*Fix: Fixed false triggering of &amp;quot;Player asked to be released from its world, but the world did not contain the player&amp;quot; error&lt;br /&gt;
*Change: Fruitified fragmer&#039;s name &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.426===&lt;br /&gt;
*Feature: Announcements! You can define a list of announcements to show periodically. A random line from announcements.txt will be shown to all players at specified interval (in minutes).&lt;br /&gt;
*Feature: /replace command.&lt;br /&gt;
*Feature: /undo command has been improved for more flexibility and better performance.&lt;br /&gt;
*Feature: /winfo (alias: /mapinfo) is added for displaying world name, player count, map dimensions, and access/build permissions.&lt;br /&gt;
*Fix: Fixed a bug that caused duplicate entries to be added to PlayerDB when doing /importranks or /importbans.&lt;br /&gt;
*Change: New ConfigKeys: AnnouncementColor (default: green) and AnnouncementInterval (default: 5 minutes).&lt;br /&gt;
*Change: Draw command stride increased to 16x16x16, for better theoretical performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.425===&lt;br /&gt;
*Feature: Added hollow draw command (/cubh) and aliases (/cuboidh and /bhb)&lt;br /&gt;
*Feature: /players now shows class colors and a total number of players. Breakdown of /players by world is coming soon&lt;br /&gt;
*Feature: Added &amp;quot;Joined world WorldName&amp;quot; message that shows when changing worlds&lt;br /&gt;
*Fix: Improved several /help entries&lt;br /&gt;
*Fix: Fixed a bug in Map.SaveBackup() that could cause a crash if MaxBackups was set&lt;br /&gt;
*Fix: Fixed a bug in ConfigUI where &amp;quot;Delete World&amp;quot; button could leave the map file behind and/or cause an error&lt;br /&gt;
*Fix: Calling lock/unlock from console without a WorldName now shows a nicer error message&lt;br /&gt;
*Change: Improved safety checks of /join command&lt;br /&gt;
*Change: Added a catch-all exception handler into Server.MainLoop&lt;br /&gt;
*Change: Added exception handlers for EVERY single piece of code that requires file access&lt;br /&gt;
*Change: Added more thread safety in MapCommands.WorldRename that resolves a potential race condition with Map.Save&lt;br /&gt;
*Change: Modified IPBanList to use the standard temp folder (instead of fCraft working path) for its temp files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.424===&lt;br /&gt;
*Fix: Fixed /unhide and normal connection getting different messages&lt;br /&gt;
*Fix: Fixed client crash when viewing /rules if the rule file has blank lines&lt;br /&gt;
*Fix: Worlds with capital letters in the name are joinable again&lt;br /&gt;
*Fix: Potential crash in DoClassChange() if target player is already same rank AND is not currently on the server&lt;br /&gt;
*Change: Moved the command list to /help commands&lt;br /&gt;
*Change: Performance and thread-safety improvements to PlayerDB&lt;br /&gt;
*Change: Disabled some more debugging code to avoid taking up unnecessary resources&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.423===&lt;br /&gt;
*Feature: /importbans now also supports &amp;quot;banned-ip.txt&amp;quot;&lt;br /&gt;
*Feature: Logs are now stored in /logs/ folder. Your fCraft.log file will be moved there automatically and renamed to &amp;quot;_OldLog.log&amp;quot;&lt;br /&gt;
*Feature: Log splitting now works by day or by session. Set &amp;quot;LogMode&amp;quot; key in config.xml or see Logging tab in ConfigTool.&lt;br /&gt;
*Feature: All maps are now stored in /maps/ folder. Your map files will be moved automatically first time you start ConfigTool/fCraftConsole/fCraftUI&lt;br /&gt;
*Feature: Reserved slots now work&lt;br /&gt;
*Fix: Fixed a bug in fCraft.Server.LoadWorldListXML that could make all worlds hidden.&lt;br /&gt;
*Fix: &amp;quot;player connected&amp;quot; message shown when someone connects, instead of just &amp;quot;player joined world&amp;quot;&lt;br /&gt;
*Fix: &amp;quot;player left the server&amp;quot; message is not shown if the player got kicked before LoginSequence finished (e.g. if server was full)&lt;br /&gt;
*Fix: Added back IP logging for incoming connections&lt;br /&gt;
*Fix: Fixed ConfigTool-generated maps not having correct spawn point&lt;br /&gt;
*Fix: Fixed /user showing both promote and demote messages at once&lt;br /&gt;
*Fix: Removed references to old &amp;quot;/drawundo&amp;quot; command name in &amp;quot;/undo&amp;quot; messages&lt;br /&gt;
*Fix: Fixed &amp;quot;Unrecognized entry ignored: LegacyRankMapping =&amp;quot; warning&lt;br /&gt;
*Change: Made /importbans and /importranks save PlayerDB at once&lt;br /&gt;
*Change: fCraft now forcibly resets its working directory to the same path where the executable is&lt;br /&gt;
*Change: Removed &amp;quot;delete old file?&amp;quot; prompt when renaming worlds in AddWorldPopup. Now it just does it, to match tabWorlds&#039; DataGridView behavior&lt;br /&gt;
*Change: Added additional error checks to Map.Backup() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.422===&lt;br /&gt;
*Feature: Further improved network performance by introducing nonblocking (lock-free) data structure to packet output buffer&lt;br /&gt;
*Fix: Fixed &amp;quot;world creation failed&amp;quot; error if worlds.xml defined a non-existing world to be main&lt;br /&gt;
*Fix: Added back missing messages when doing /user on offline users&lt;br /&gt;
*Fix: Fixed player name color not being updated when their class changes&lt;br /&gt;
*Fix: Added missing /help entries for /importbans and /importranks&lt;br /&gt;
*Change: Improved help messages for /lock, /unban, /unbanip, /undo, /wload, /wmain, and /wremove&lt;br /&gt;
*Change: Tweaked default values of BlockUpdateThrottling and maxBlockUpdatesPerTick for maximum lag-free performance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.421===&lt;br /&gt;
*Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players&lt;br /&gt;
*Feature: Added the ability to ban unseen players&lt;br /&gt;
*Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated &amp;quot;Import&amp;quot; permission was added. See &amp;quot;/help importbans&amp;quot; and &amp;quot;/help importranks&amp;quot; for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.&lt;br /&gt;
*Feature: Improved BlockUpdateQueue performance (faster drawing commands!) by switching to a lock-free data structure&lt;br /&gt;
*Fix: Fixed startup errors not being logged if config.xml has not been parsed yet&lt;br /&gt;
*Fix: Fixed ConfigUI input box not aligning properly when window is resized&lt;br /&gt;
*Fix: Fixed &amp;quot;flatgrass&amp;quot; generated maps being 1 block off vertically&lt;br /&gt;
*Change: Updated PlayerDB and IPBanList to use standard temporary folder (instead of dumping temp files into fCraft directory)&lt;br /&gt;
*Change: Added &amp;quot;logging starts&amp;quot; marker that&#039;s written to console and log on-startup&lt;br /&gt;
*Change: fCraftUI log now displays the last 2000 lines (up from 1000 lines)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.420===&lt;br /&gt;
*Feature: New &amp;quot;Worlds&amp;quot; tab in ConfigTool for managing your world list&lt;br /&gt;
*Feature: Isometric map previews and map generation in ConfigTool&lt;br /&gt;
*Feature: Implemented a class-ID system that allows adding/renaming/deleting classes without breaking compatibility. DeleteClassPopup was added for this&lt;br /&gt;
*Feature: Added LimitOneConnectionPerIP option to config &amp;amp; configtool&lt;br /&gt;
*Feature: Worlds can now be hidden from the /worlds list&lt;br /&gt;
*Feature: Added /whois command for checking if a player is using real name or nickname. BE CAREFUL WITH &amp;quot;ChangeName&amp;quot; PERMISSION!&lt;br /&gt;
*Feature: fCraft now generates crash.txt on unhandled fatal errors&lt;br /&gt;
*Feature: Implemented theme support, and added 2 new terrain types (Coast and River) for MapGenerator. See &amp;quot;/help gen&amp;quot; for details, or use ConfigTool.&lt;br /&gt;
*Feature: Pressing Up/Down keys in fCraftUI will show previously typed commands.&lt;br /&gt;
*Fix: Fixed a bug in /wmain and /wload that sometimes made the server unconnectable after changing map&lt;br /&gt;
*Fix: Limits on the /kick command now apply correctly&lt;br /&gt;
*Fix: Fixed /wbuild and /waccess showing wrong messages&lt;br /&gt;
*Fix: Fixed hidden players unable to build due to grief protection&lt;br /&gt;
*Fix: Added /nick and /whois entries to /help&lt;br /&gt;
*Fix: Removed the ability to call draw commands from console (caused crash)&lt;br /&gt;
*Fix: Fixed /lava checking PlaceWater permission instead of PlaceLava&lt;br /&gt;
*Fix: A debug message about &amp;quot;attempting to unregister an non-existent player&amp;quot; is no longer logged every time VerifyNames fails&lt;br /&gt;
*Fix: When using /where command on other players, correct coordinates are now shown]&lt;br /&gt;
*Fix: Player&#039;s classes are now updated in fCraftUI list when promoted/demoted&lt;br /&gt;
*Fix: PMs are now logged as LogType.PrivateChat (instead of generic LogType.WorldChat)&lt;br /&gt;
*Fix: /hide and /unhide now use Color.Sys instead of hardcoded Color.Yellow&lt;br /&gt;
*Fix: Player&#039;s nicknames (as set by /nick) are applied correctly and preserved when changing worlds&lt;br /&gt;
*Fix: Added missing checks for &amp;quot;Chat&amp;quot; permissions&lt;br /&gt;
*Fix: Color buttons in ConfigTool now show correct background color under Mono&lt;br /&gt;
*Fix: Fixed help entry to /freeze showing incorrect information&lt;br /&gt;
*Fix: Corrected tab order in all ConfigTool forms&lt;br /&gt;
*Change: Added /blb as another alias for /cuboid&lt;br /&gt;
*Change: Removed ReservedSlotBehavior config key&lt;br /&gt;
*Change: Disabled word wrapping in rules.txt editor popup&lt;br /&gt;
*Change: /unhide now resets the player&#039;s nick&lt;br /&gt;
*Change: Both player&#039;s real name and nickname (if any) are now recorded in the log&lt;br /&gt;
*Change: Added a warning to /info when looking up nicknames (instead of real names)&lt;br /&gt;
*Change: Heartbeat salt generation (used to verify names) is now more secure&lt;br /&gt;
*Change: Removed CanPlaceHardenedBlocks from permission list&lt;br /&gt;
*Change: All map generator terrain types have been tweaked for improved appearence&lt;br /&gt;
*Change: Centered all ConfigTool popup windows (AddWorldPopup, ColorPicker, DeleteClassPopup, TextEditorPopup)&lt;br /&gt;
*Change: Hid unneeded icons and buttons from ConfigTool popups&lt;br /&gt;
*Change: Changed the way zones store rank restriction (as part of the compatibility assurance), and added versioning to zone definitions&lt;br /&gt;
*Change: Map.Save() now creates temporary files in the OS-specific temporary folder, not in same folder where fCraft is installed&lt;br /&gt;
*Change: World permissions are now updated automatically when a class is deleted&lt;br /&gt;
*Refactor: Improved consistency in code naming conventions, especially in IRC code&lt;br /&gt;
*Refactor: Improved code organization in many areas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.410===&lt;br /&gt;
*Implemented per-world access and build permissions.&lt;br /&gt;
*Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.&lt;br /&gt;
*New world-related commands:&lt;br /&gt;
**/wmain changes the main world&lt;br /&gt;
**/waccess and /wbuild allow setting per-world permissions&lt;br /&gt;
**/wremove allows deleting worlds&lt;br /&gt;
**/wrename allows renaming worlds without reloading&lt;br /&gt;
**/wload command is significantly improved (see /help wload for more info). The functionality of the old /load command has been merged with /wload. Now /load is an alias for /join, together with /l, /j, and /goto.&lt;br /&gt;
*Removed SaveAndLoad permission - it became redundant with ManageWorlds. Please check your config to ensure that permissions remain consistent.&lt;br /&gt;
*Added new and previously-missing (/lockall, /unlockall, /where, /me, /rules, /setspawn) commands to /help.&lt;br /&gt;
*Disabled verify-names check for localhost (127.0.0.1) when running in Balanced mode.&lt;br /&gt;
*When player is denied access to some command, server now names the specific permission that&#039;s needed.&lt;br /&gt;
*Fixed a potential desync issue when one player rejoins a world, and another joins it simultaneously.&lt;br /&gt;
*Removed /genh command and /compass alias for the /where command.&lt;br /&gt;
*Added a fail-safe exception check when executing console commands. Now the server will stay up even if an exception occurs while executing console command.&lt;br /&gt;
*Improved the way server reacts to fatal errors on startup. Now there is a clear indication that server cannot start.&lt;br /&gt;
*&amp;quot;default map&amp;quot; is now referred to as &amp;quot;main world&amp;quot; for consistency. &lt;br /&gt;
*Improved garbage collection.&lt;br /&gt;
&lt;br /&gt;
===0.405===&lt;br /&gt;
*Added back support for vanilla (server_level.dat) maps.&lt;br /&gt;
*Fixed MCSharp importer leaving nonstandard blocks in the map, causing client crashes. Now all MCSharp-specific blocks are converted to normal types.&lt;br /&gt;
*Fixed visual player list not updating in fCraftUI.&lt;br /&gt;
*Added /players command to list ALL players on the server (in all worlds)&lt;br /&gt;
*Made the BlockType parameter optional for /cuboid and /ellipsoid. Now it takes blocktype of the second click (or last-previously-used-blocktype when using /mark) in the absence of the optional parameter.&lt;br /&gt;
*ConfigTool: Added a new tab for IRC setting.&lt;br /&gt;
*ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.&lt;br /&gt;
*IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.&lt;br /&gt;
*IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot. &lt;br /&gt;
*IRC: Fixed a bug with infinite reconnects on receiving error 433 Nickname already in use.&lt;br /&gt;
*Zones: Changed behavior of overlapping zones:&lt;br /&gt;
**Before: To touch a block, AT LEAST ONE zone has to allow it&lt;br /&gt;
**Now: To touch a block, ALL ZONES have to allow it&lt;br /&gt;
*Zones: Added /ztest command that lists all zones affecting a particular block. It can be used to detect and resolve zone overlaps.&lt;br /&gt;
*Zones: Added proper /help entries for /zone, /zones, /zremove, and /ztest, and contextual help for /zone and /zones.&lt;br /&gt;
*Zones: Made zone commands inaccessible from console (it would cause a crash, since zones are world-specific).&lt;br /&gt;
*Fixed OnPlayerDisconnected and OnPlayerListChanged sometimes firing at the wrong time.&lt;br /&gt;
*Added better error handling to Map.Save() in case the target file is not writable.&lt;br /&gt;
*Updated /help entries for /lock, /unlock, and /load commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.404===&lt;br /&gt;
*Fixed zone borders being off by 1 block.&lt;br /&gt;
*Fixed a rare crash on shutdown.&lt;br /&gt;
*Fixed heartbeat reporting incorrect port number to heartbeat if the port specified in config was not available.&lt;br /&gt;
*Adjusted default class permissions slightly, by popular demand:&lt;br /&gt;
**regulars can now place Water and Lava&lt;br /&gt;
**ops can now use draw commands&lt;br /&gt;
*IRC: Added a config option &#039;IRCMsgs&#039; to toggle join/leave messages on/off. Default is disabled to prevent massive spam.&lt;br /&gt;
*IRC: Fixed a possible crash in IRCComm, related to static initializers.&lt;br /&gt;
*ConfigTool: Fixed many bugs in permission checkbox list.&lt;br /&gt;
*ConfigTool: Added visual editor for rules.txt&lt;br /&gt;
*ConfigTool: Added stub tab for IRC settings (coming soon).&lt;br /&gt;
&lt;br /&gt;
===0.403===&lt;br /&gt;
*Fixed spawnpoint being read incorrectly when using /load.&lt;br /&gt;
*Added a note to ban*/unban* commands that&#039;s shown when player name is not found: &amp;quot;Use the FULL player name for ban/unban commands.&amp;quot;&lt;br /&gt;
*Fixed a thread crash (not server-wide crash) in Session.IoLoop that can be caused by corrupted or malicious handshake packets.&lt;br /&gt;
*Fixed a potential crash when using /info on offline players from console.&lt;br /&gt;
*Fixed a potential crash when using /gen from console.&lt;br /&gt;
*Added more fail-safe checks that ensure that map spawn point is always within the map boundaries.&lt;br /&gt;
*Started logging IPs of connections that try sending corrupted or malicious handshake packets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.402===&lt;br /&gt;
*Added back /load command, and hooked up MCC. Currenly supported: fCraft/fcm, MCSharp/lvl, indev/mclevel, MinerCPP and LuaCraft (dat). Vanilla support coming soon.&lt;br /&gt;
*Fixed worlds being unloaded before all block updates are processed (thus aborting draw commands).&lt;br /&gt;
*Fixed several potential multiworld-related crashes and freezes.&lt;br /&gt;
*Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.&lt;br /&gt;
*IRC: Added an information message to notify users of the IRC Bot&#039;s online status when joining the server.&lt;br /&gt;
*IRC: Added the ability to send NOTICES.&lt;br /&gt;
*IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.&lt;br /&gt;
*IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.&lt;br /&gt;
*Drawing-related state is now reset when changing worlds.&lt;br /&gt;
*Added a limiter to the number of block updates that can be processed per tick (even if there are no players in a world). Fixes server becoming unresponsive when doing enormous drawing commands (millions of blocks).&lt;br /&gt;
*Allowed players to /join the world that they are already on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===0.401===&lt;br /&gt;
*&#039;&#039;&#039;IDLE/AFK CHECKING&#039;&#039;&#039; This is configurable per-class.&lt;br /&gt;
*Added /version command, and added revision to the version string.&lt;br /&gt;
*Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands. &lt;br /&gt;
*Removed all references to the old pre-multiworld &amp;quot;map.fcm.&amp;quot; Backups now work again. &lt;br /&gt;
*Fixed players not spawning in the right place when changing worlds.&lt;br /&gt;
*IRC Bot will now handle terminations by the IRCd and restart itself upon any errors. &lt;br /&gt;
*IRC Bot can now send from inside the server TO IRC! Use the prefix &#039;#&#039; in-game to send any message to IRC. Forwarding all server chat may be added if requested. To send from the bot to the server, use the bot&#039;s nickname and either &#039;:&#039;, &#039;,&#039; or nothing, then your message.&lt;br /&gt;
*Improved performance of the IRC bot and the task scheduler.&lt;br /&gt;
*Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn&#039;t exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.&lt;br /&gt;
*Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after &#039;#&#039; in server chat.&lt;br /&gt;
*Handshake packet is now written when doing /join, to replace MOTD with a more informative &amp;quot;Now loading [worldname]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===0.400===&lt;br /&gt;
*&#039;&#039;&#039;MULTIWORLD&#039;&#039;&#039; It&#039;s finally here. See /help for information on new commands: /worlds, /wload, /join&lt;br /&gt;
*Added a persistent world list, saved in worlds.txt - this is subject to change. The file contains a list of world names, each corresponding to an .fcm file. The first world listed at the top of worlds.txt is the default/main one.&lt;br /&gt;
*&#039;&#039;&#039;IRC BOT&#039;&#039;&#039; Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.&lt;br /&gt;
*A field has been added in the config to allow forwarding ALL IRC CHANNEL TRAFFIC to the server. This will override the prefix and make it inactive. &#039;IRCBotForwardAll&#039; is set to false by default.&lt;br /&gt;
*&#039;&#039;&#039;ZONES&#039;&#039;&#039; It is now possible to make guest zones and op zones (and anything in-between) on any map. See /help for information on new commands: /zones, /zone, /zremove.&lt;br /&gt;
*Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.&lt;br /&gt;
*Added /compass command (aka /where).&lt;br /&gt;
*Fixed players sometimes not seeing their /kick message.&lt;br /&gt;
*Added a way to teleport to specific coordinates (/tp x y h)&lt;br /&gt;
*Fixed heartbeats timing out when running fCraft under Mono.&lt;br /&gt;
*Fixed Config.ApplyConfig setting the wrong server throttling variables.&lt;br /&gt;
*Fixed air blocks appearing underwater when using /gen&lt;br /&gt;
*Tweaked /gen parameters to make &amp;quot;island&amp;quot; a bit less ugly.&lt;br /&gt;
*Updated text in fCraftConsole.&lt;br /&gt;
&lt;br /&gt;
=0.3xx=&lt;br /&gt;
===0.330===&lt;br /&gt;
*Added /cuboid and /ellipsoid drawing commands.&lt;br /&gt;
*Improved memory usage.&lt;br /&gt;
*Added &amp;quot;Draw&amp;quot; permission, and made /draw check &amp;quot;DeleteAdmincrete&amp;quot; permission when replacing blocks, and removed unused &amp;quot;PlaceGlitchedSand&amp;quot; permission.&lt;br /&gt;
*Added &amp;quot;Port&amp;quot; and &amp;quot;BackupOnlyWhenChanged&amp;quot; config lines, and corresponding ConfigTool fields.&lt;br /&gt;
*Fixed bug that deleted ALL backups when you check &amp;quot;don&#039;t delete old backups.&amp;quot; That was embarrassing.&lt;br /&gt;
&lt;br /&gt;
===0.325===&lt;br /&gt;
*Added an experimental low-latency mode (faster server response, but more bandwidth required).&lt;br /&gt;
*Improved hacking detection: added anti-chat-spam and anti-grief (block spam) checks.&lt;br /&gt;
*New more aggressive anti-hacking checks for incoming movement and SetTile packets.&lt;br /&gt;
*Fixed an issue with fCraftUI console log getting truncated in the wrong places.&lt;br /&gt;
*Improved Mono compatibility (fixes HttpWebRequest failures).&lt;br /&gt;
&lt;br /&gt;
===0.324===&lt;br /&gt;
*Added /me command.&lt;br /&gt;
*Added step stacking.&lt;br /&gt;
*Fixed a case where disconnected players would leave a ghost behind.&lt;br /&gt;
*Improved shutdown speed.&lt;br /&gt;
*Implemented ProcessPriority setting.&lt;br /&gt;
&lt;br /&gt;
===0.323===&lt;br /&gt;
*Fixed players not being able to delete admincrete after promotion.&lt;br /&gt;
*Fixed a bug that allowed players to noclip into walls when using /tp or /bring.&lt;br /&gt;
*Fixed a security issue with &amp;quot;VerifyNames: Balanced&amp;quot;&lt;br /&gt;
*Added prototype of the security tab in ConfigTool (work in progress).&lt;br /&gt;
&lt;br /&gt;
===0.322===&lt;br /&gt;
*Added a range check to Player.SetTile, to prevent certain types of grief bots.&lt;br /&gt;
*Fixed a bug where map spawnpoint did not change after doing /load.&lt;br /&gt;
*Fixed some typos.&lt;br /&gt;
&lt;br /&gt;
===0.321===&lt;br /&gt;
*Fixed welcome messages not showing.&lt;br /&gt;
*Renamed /alias to /nick, and added a permission check.&lt;br /&gt;
&lt;br /&gt;
===0.320===&lt;br /&gt;
*Finally last fix for the disconnect problem. Sorry about that.&lt;br /&gt;
&lt;br /&gt;
===0.319===&lt;br /&gt;
*Quick fix for disconnect problem.&lt;br /&gt;
&lt;br /&gt;
===0.318===&lt;br /&gt;
*Fixed VerifyNames not saving properly when using ConfigTool.&lt;br /&gt;
*Fixed several potential crashers in Session and World.&lt;br /&gt;
*Fixed a bug that sometimes wrongly showed &amp;quot;class name not recognized&amp;quot;.&lt;br /&gt;
*Added class name autocompletion for class chat (@@classname blah)&lt;br /&gt;
*Started working on the new /load mode that allows loading different sized maps, and loading much faster (not done yet).&lt;br /&gt;
&lt;br /&gt;
===0.317===&lt;br /&gt;
*Optimized handling of player movement and some block/tile updates, making servers more responsive and less laggy.&lt;br /&gt;
*Fixed a possible crash that sometimes happened when server has 1 slot left and 2 people tried to join at once.&lt;br /&gt;
*Fixed a case where a Session object was not properly disposed.&lt;br /&gt;
*Fixed resizing issue in UpdateWindow and reduced connection timeout in Updater&lt;br /&gt;
*Disabled ShowPrefixesInChat and ShowPrefixesInList by default (breaks skin support)&lt;br /&gt;
*Added Player.Send, a safe wrapper for Player.session.Send&lt;br /&gt;
*Fixed /tp, /bring, and /setspawn commands that were broken in the last revision.&lt;br /&gt;
*Fixed ConfigTool not saving &amp;quot;IsPublic&amp;quot; setting correctly.&lt;br /&gt;
&lt;br /&gt;
===0.316===&lt;br /&gt;
*Added partial class-name matching for /class and /user commands.&lt;br /&gt;
*Fixed /banip and /banall not kicking the banned players immediately.&lt;br /&gt;
*Added /rules command. Create &amp;quot;rules.txt&amp;quot; in the server folder to specify.&lt;br /&gt;
*Fixed a bug where player movement sometimes got a little out of sync.&lt;br /&gt;
*Optimized /load speed a bit.&lt;br /&gt;
*Added nicer application icons.&lt;br /&gt;
&lt;br /&gt;
===0.315===&lt;br /&gt;
*Added visual color picker to ConfigTool&lt;br /&gt;
*Added lightweight console interface for fCraft&lt;br /&gt;
*Refactored the main update loop&lt;br /&gt;
&lt;br /&gt;
===0.314===&lt;br /&gt;
*Added AutomaticUpdates option.&lt;br /&gt;
*Integrated the color picker to ConfigTool.&lt;br /&gt;
*Improved hacking detection.&lt;br /&gt;
&lt;br /&gt;
===0.313===&lt;br /&gt;
*Fixed a few glitches left after switching file formats.&lt;br /&gt;
*Improved memory usage when saving maps.&lt;br /&gt;
*Fixed an updater-related crash.&lt;br /&gt;
&lt;br /&gt;
===0.312===&lt;br /&gt;
*New map format (FCM v2) should provide faster loading times.&lt;br /&gt;
*server_level.dat loader is now functional.&lt;br /&gt;
*Fixed possible crash if the default port was not available.&lt;br /&gt;
*Automatic updater should now work properly. More update options to come.&lt;br /&gt;
&lt;br /&gt;
===0.311===&lt;br /&gt;
*Preview version of automatic updater.&lt;br /&gt;
&lt;br /&gt;
===0.310===&lt;br /&gt;
*Cleaned up some VC# crapfiles.&lt;br /&gt;
*Added class prefixes and colors.&lt;br /&gt;
*Added PlaceWater and PlaceLava back to permissions.&lt;br /&gt;
*Fixed rank-limited permissions.&lt;br /&gt;
*Other assorted glitches fixed.&lt;br /&gt;
&lt;br /&gt;
===0.305===&lt;br /&gt;
*removed config.xml from svn.&lt;br /&gt;
&lt;br /&gt;
===0.304===&lt;br /&gt;
*More potential crashes fixed.&lt;br /&gt;
&lt;br /&gt;
===0.303===&lt;br /&gt;
*Fixed a couple potential crashes in ConfigTool and Config.DefineClass&lt;br /&gt;
&lt;br /&gt;
===0.302===&lt;br /&gt;
*Fixed a few minor ConfigTool bugs.&lt;br /&gt;
&lt;br /&gt;
===0.301===&lt;br /&gt;
*Forgot to save config from World.cs after parsing. Minor update.&lt;br /&gt;
&lt;br /&gt;
===0.300===&lt;br /&gt;
*ConfigTool finished. Note that some of the options do not have an effect yet.&lt;br /&gt;
&lt;br /&gt;
=Before 0.3xx=&lt;br /&gt;
*Version history was not kept before this point.&lt;/div&gt;</summary>
		<author><name>F</name></author>
	</entry>
</feed>