TypeScript UI Launched

On Saturday I launched TypeScript UI. This is a new web-based project which I have created. Summarised, it is the following:

TypeScript UI is a user-interface library written in TypeScript language. It is in Windows 8 Style and provides a powerful structure for creating HTML5/CSS3 web-based apps with an app/window-based design structure. It works in any HTML5 capable browser (subject to limitations of host PC) but also includes fallbacks for IE9 and Opera.

The project aims to make HTML5 app development much easier by treating the browser as a platform to build within. The library offers an app/window structure that allows you to create apps with multiple windows that all run within one page. The UI is built and handled entirely in TypeScript within the client browser which reduces server load and increases quality of animation and UI adaptability. The server is restored to its status as a data handler making servers more efficient and server side code less bloated.

TypeScript UI also aims to include some of the best features of UI libraries such as those found for Windows desktop. For example, future versions of the library will include Data Binding to allow more efficient design and data handling. The library will also provide default windows such as splash screens, login forms and other common app components. And since it is written in TypeScript, large-scale app development and maintenance is very easy.

Head over to the project on CodePlex and download the latest version! Alternitavely, check out the live Demo!

TypeScript UI Demo
TypeScript UI Demo app
TypeScript UI Demo DropDown
TypeScript UI Demo – DropDown box

Minecraft Server Manager : V2.3 Released

Minecraft Server Manager logo

Yesterday (25/6/13) I released the latest version of my Minecraft Server Manager for WindowsVersion 2.3 comes with lots of new features and improvements including:

MineCraft Sever Manager for Windows V2.3
New Minecraft Server Manager (V2.3) – Windows8 Style UI! (Click for more detail)
  • 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.

Minecraft Server Manager : V2.2 Released

Minecraft Server Manager logo

Yesterday (27/4/13) I released the latest version of my Minecraft Server Manager for Windows. Version 2.2 comes with lots of new features and improvements including:

  • Automatic Updating to latest version of MCSM (future updates won’t require download!)
  • Changing (some) server settings without restarting e.g. white list
  • Massively improved mapping
    • Up to 4x faster! 2 times faster for large maps – all maps (even large that I have) now render in < 15 seconds, most render in < 8 seconds
    • Auto-detection of CPU cores to maximise render speed
  • Reduced UI bulk
    • Re-layed out to improve usability and hide things that you don’t really need (can easily be re-shown)
    • Minimum form size made much smaller for smaller screen sizes
  • Command History – just use the up/down arrow keys!
  • Added server settings for RAM allocation (limited to max 90% of available RAM and min 1024MiB)
  • Mod Testing : For devs. Testing against different server mods. Clients for the different mods to come in next version.
  • Bug fixes (some of which are):
    • Save settings not reliable in some situations
    • Improved output detection for Vanilla 1.5.1

Enjoy this fantastic new version!