Fix: Players who were added to the database manually now correctly have FirstLoginDate and ID set on first login.

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.

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 --tryhard flag.

Change: When auto-updating or restarting under Mono, fCraft no longer tries to use "mono-sgen", now just using "mono" and assuming that runtime is properly configured.

Change: /WBuild and /WAccess can optionally now take "@" in front of rank name.

Change: Session threads are no longer marked as "background", 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.

Change: World greetings can now support constants.

Change: Ctrl+C/Ctrl+Break are intercepted in ConfigCLI, and result in a graceful shutdown.

0.604

23 October 2011 - r1155

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.

Fix: Fixed an occasional SecurityController-related crash in /Gen, /WLoad, and ConfigGUI world editor.

Fix: Fixed an very rare problem in shutdown/restart commands.

Fix: Fixed a rare crash that only happened if: MaxPlayers>128, MaxPlayersPerWorld=128, main is full, AND connecting player has a reserved slot.

Commands: Merged /ReloadConfig and /AutoRankReload into /Reload command. Merged /ImportRanks and /ImportBans into /Import command. Combined functionality of /LockAll into /WLock, and functionality of /UnlockAll into /WUnlock.

Worlds: Added LoadedBy, LoadedOn, MapChangedBy, and MapChangedOn to /WInfo and to worlds.xml.

Worlds: MapGenerator tweaks: "default" template is now known as "random," "mountains" template now has more cliffs and snow on mountaintops, "island" template is less rough and has nice beaches, and water is now automatically removed from "desert" maps.

Worlds Fix: Fixed a crash that occurred if worlds.xml existed but contained no worlds.

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.

Fix: Fixed a few minor bugs in /WMain.

Change: Allowed the caret (^) in chat messages.

Change: Reduced movement lag.

Change: /version command has been removed due to redundancy with /sinfo.

Change: Detailed reasons of player disconnects are now logged better.

Change: Increased Minecraft.net heartbeat interval slightly.

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.

Optimization: Removed the scheduler overhead from having unloaded worlds.

Optimization: Sped up MapGenerator by about 10%.

0.530

7 May 2011 - r583

Feature: New adaptive bandwidth-saving mechanism for updating player positions, controlled by the new BandwidthUseMode config key.

Change: Added a more informative disconnect message to players connecting with Alpha client.

Change: Improved the way player disconnects are handled to be more reliable, and to drop disconnected players sooner.

Change: Improved the way PlayerDB saving is triggered. New schedule reduces overall disk use and reduces possible data loss in case of crashes.

0.481

2 October 2010 - r237

Fixed a bug in Rank deserializer that set antiGriefBlock=antiGriefSeconds (messing up antigrief permissions).

Fixed a few more references to "player class" terminology instead of "rank".

0.480

2 October 2010 - r236

Feature: Changed all "player classes" terminology to "ranks" 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.

Feature: Added "Raise"/"Lower" buttons to Ranks tab in ConfigTool, and made some other adjustments to the tab. You no longer need to assign a "rank" number to reorder ranks.

Fix: Fixed a crash in ConfigTool that happened if classes were added/renamed/deleted while PatrolledClass was not set.

Fix: Improved fCraftUI responsiveness on-startup.

Fix: Fixed several cases of Worlds tab going out-of-sync with the ranks tab.

Fix: /wremove now always saves the map before unloading.

Fix: Fixed Console being affected by chat spam/flood checks.

Fix: Fixed /zinfo not showing any separators between player names.

Fix: Fixed an extra comma appearing in the log entries for /replace and /replacenot calls.

Fix: Fixed Security and IRC tabs not being reset by "Reset All Defaults"

0.473

0.472

15 September 2010 - r226

Feature: Added /cut command

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's been since someone checked on a player. A "Patrol" permission and "PatrolledClass" config key were added.

Feature: Added a shorthand notation to /zone for making personal zones: "/zone +PlayerName" creates a zone named after the player, with rank limit just above player's, and with player whitelisted.

Feature: Zone whitelist/blacklist now support player name autocompletion, and show rank colors.

0.471

14 September 2010 - r224

Feature: Added ability to specify the server's IP (to bind to) manually, for machines with multiple NICs. A new config key "IP" (default: 0.0.0.0/automatic) is added. This will also fix problems with heartbeats being sent from a different IP.

Fix: Fixed a bug with player ghosts being left behind when switching worlds.

Fix: Fixed a case with kicked players' connections not being terminated at once (thanks to wootalyzer).

Fix: Increased the default timeout from 10 to 12 seconds, to help people with extremely laggy connections.

Fix: When autocompletion finds more than one player name matching a pattern, server now prints the list of names (instead of "no player found" message). Affects PMs, /TP, /Bring, /Freeze, /Unfreeze, /Kick.

Change: Improved OS detection in crash reporter.

0.454

Feature: /replace, /replacenot, /paste, and /pastenot can now work with multiple blocks. See /help for details.

Fix: Replace no longer behaves same as replacenot.

Fix: Spaces in IRC messages are now preserved.

Fix: Help entries for paste/pastenot corrected.

Fix: /cinfo (without parameters) now shows player's own class info.

0.453

Feature: It is now possible to reverse last /undo (by typing /undo again).

Fix: Fixed /BanInfo now showing any information if used without parameters.

Change: Replaced surface rocks in MapGenTheme.Hell with Obsidian.

0.434

11 August 2010

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.

Change: "step" added as an alias for Stair block. "doublestep" added as an alias for DoubleStair.

0.433

8 August 2010

Feature: /WInfo now shows who locked/unlocked the map, and how long ago.

Fix: Fixed a error message that showed up when announcements.txt was blank.

0.432

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.

0.421

Feature: Added the ability to promote/demote offline and unseen (not in PlayerDB) players

Feature: Added the ability to ban unseen players

Feature: Added ability to import bans and ranks from MCSharp/MCZall formats. An associated "Import" permission was added. See "/help importbans" and "/help importranks" for more information. Importer for ip-bans and iCraft/Hyvebuild/Myne format are coming soon.

0.410

Changed worlds.txt format to worlds.xml. Your old worlds.txt file will be converted automatically.

New world-related commands:

/wmain changes the main world

/waccess and /wbuild allow setting per-world permissions

/wremove allows deleting worlds

/wrename allows renaming worlds without reloading

/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.

Added /players command to list ALL players on the server (in all worlds)

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.

ConfigTool: Added a new tab for IRC setting.

ConfigTool: Fixed a bug that prevented the last 2 checkboxes on the permission list from being saved properly.

IRC: Split IRCForwardAll into IRCForwardFromServer and IRCForwardFromIRC to make it easier to manage which messages you want to see.

IRC: Added IRCBotQuitMsg to allow users to define their own quit message for the bot.

Made Server.UnregisterPlayer check ALL worlds to remove the player, not just most recent one.

IRC: Added an information message to notify users of the IRC Bot's online status when joining the server.

IRC: Added the ability to send NOTICES.

IRC: !status/!help can both be sent to the bot in channel now and it will respond appropriately.

IRC: Added a check to see if the IRC Bot is actually enabled and online before sending a notification that it IS online.

Drawing-related state is now reset when changing worlds.

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).

Allowed players to /join the world that they are already on.

0.401

IDLE/AFK CHECKING This is configurable per-class.

Added /version command, and added revision to the version string.

Added an option parameter to /lock and /unlock to target a specific world, and added global /lockall and /unlockall commands.

Removed all references to the old pre-multiworld "map.fcm." Backups now work again.

Fixed players not spawning in the right place when changing worlds.

IRC Bot will now handle terminations by the IRCd and restart itself upon any errors.

IRC Bot can now send from inside the server TO IRC! Use the prefix '#' 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's nickname and either ':', ',' or nothing, then your message.

Improved performance of the IRC bot and the task scheduler.

Fixed a bug with getting the server url from the externalurl.txt file crashing the IRC MessageHandler() when the file didn't exist. FORWARD_ALL is now enabled for both SERVER and IRC for 100% transparent chatting.

Fixed a bug in the server-to-irc code that forwarded a blank message if there was nothing after '#' in server chat.

Handshake packet is now written when doing /join, to replace MOTD with a more informative "Now loading [worldname]".

0.400

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.

IRC BOT Thanks to the efforts by Destroyer661, fCraft now has an optional IRC bot for relaying chat and commands.

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. 'IRCBotForwardAll' is set to false by default.

ZONES 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.

Added 2 new permissions: ManageZones and ManageWorlds. You might need to update your config.xml to add these permissions to appropriate classes.