MCSM V2.3 Released

Table of Contents

Contents

Yesterday I released the latest version of my Minecraft Server Manager for WindowsVersion 2.3 comes with lots of new features and improvements including:

New Minecraft Server Manager (V2.3) - Windows8 Style UI!
  • What’s New window added (this is a self-referencing window now! :) )
  • Non-Vanilla MC settings shifted out of server.properties into mcsm.properties
  • Backwards compatibility enabled for server.properties:
    • Xmx and Xms values auto-shifted from server.properties to mcsm.properties if detected and mcsm.properties doesn’t already contain values. Values are subsequently removed from server.properties.
    • Web-interface-port setting shifted to mcsm.properties. Added backeards compatibility code for this change.
  • Added Server Listings tab page - allows you to list your public server on ManageMinecraft.com
  • Added Download Servers/Clients (button on MainForm and new form for the download manager)
    • Downloads come from ManageMinecraft.com (where tested versions servers/clients will be stored)
    • Select copy-to/install location
    • Auto-installs servers (i.e. unzips into selected folder & deletes the zip file)
  • Startup splash-screen added
  • MainForm:
    • UI converted to Win8 style using MetroFramework libraries
    • UI theme restored on application startup
    • Refactored & extracted methods for all the default commands - primary aim was to make them accessible for testing.
    • Added additional command result recognition code. Can now detect following output types: Join, Leave, Message, Giving, Command, OnlinePlayers, OnlinePlayersList, Saving, SaveComplete, Loaded, Tell, Ban, Pardon, Deop, Op, List, Kick, Teleport, ClearInventory, Enchant, Effect, AddXP, AddXPLevels, SetDefaultGameMode, SetDifficulty, SetGameRule, SetSpawnPoint, SetTime, SetWeather, HelpStart
    • Added right-click context menu for editing or removing command buttons.
    • Added instructional tooltip to command buttons (reminder of right-click feature)
    • Extracted method for laying out custom command tab pages
    • Main Form now remembers previous size, location and window state.
    • Player handling shifted to new classes - see below.
  • Added shortcut keys:
    • F1 : Opens up What’s New list
    • Ctrl + T : Toggles UI theme
    • See bug fixes.
  • Output Processing :
    • UI Timer that updates the full and message log boxes - means the UI no longer freezes when server is under high load e.g. at startup
    • Massively refactored code for output handling to make it easier to handle different output from different mods in a unified manner.
    • Shifted ProcessOutput into MineCraftServer.cs : MainForm now only handles UI side of things.
    • Output processing converted into a class-plugin system to allow easier extension.
    • Full Log shows the pre-processed output text to improve the look/fell of the log - still contains all log messages.
    • Full Log messages prefixed with detected message type.
  • Testing:
    • Test Clients added to make testing much smoother/easier
    • ModTest class auto-starts correct client for the current test server (specified in mcsm.properties: ClientLocation parameter - relative path)
    • Increased length of time that tests wait for client to connect.
    • Added new mod versions including FTB Ultimate 1.0.2, Flans Mod 2.3, Vanilla 1.5.2
    • Expanded set of tests to include all the default commands seen in the MainForm UI.
    • Numerous bug fixes that caused tests to crash or fail.
  • Mapping: (Many thanks to user Uhu for these changes)
    • Map zooming redesigned
    • Map Form: * X/Z Location indicator * Cross-hair cursor when mouse over the map * Increased number of zoom options * Use mouse scroll wheel to zoom * Use mouse left button to pan * Zoom centres on mouse cursor * Names and skins kept constant size when zooming * Per-dimension rendering developed * Player names appear in bold when player is connected
    • MCMap: * Class significantly cleaned up. * Resisze map method added. * BlockSize changed to double - acts as zoom calculation when rendering the map not using MapForm. * BlockSize removed from main render methods. * See bug fixes.
  • Player data:
    • PlayerData class added - used for keeping track of individual MC players (including relevant update method)
    • PlayerDataList class added - used for keeping a list of all players in a server (including relevant update methods)
    • PlayerUtils static class added - provides static methods
    • Position3D class added for MC map position handling (can cast to this from Vector3)
    • Events added to PlayerDataList
  • Updater:
    • Changed UI to use new MetroFramework library to make it look new/modern
    • Updates only occur if newer version (primarily allows dev version ot be incremented without accidentally updating an old version!)
  • All forms:
    • Update UI’s to new Win8 style
  • Settings window:
    • Numerous changes…many thanks to user ArtDude543!
  • Bug fixes:
    • Mapping: ZOffset incorrectly calculated causes mis-alignment of the map render. Now fixed.
    • Mapping: X/Z Offsets poorly calculated (I had assumed all maps have negative chunks). Corrected.
    • Add XP Levels failed to load player name.
    • Backup would occur after every save, regardless of intention.
    • Detection of default commands 100% for Vanilla MC 1.5.1 & 1.5.2
    • Removing Commands tab page without first removing the commands caused invisible buttons to exist!
    • After removing custom command button, other buttons would not re-layout to fill in the space.
    • Fixed Server Listing tab page controls anchoring
    • Hidden output pre-processor error with addidng date to processed value fixed.
    • Player entity rendering bug fixed.
    • HandleOutput of OnlinePlayersList output threw cross-thread exception.
    • Backup folder worlds were mistakenly listed.