Server Administration Tool for Halo Online

What Is It?

Custom C# tool for administration of multiplayer servers for the (now defunct) Halo Online. Based on Jaron’s RCON Tool, adds tons of features and functionality not present in original server tool. The application enables administration and advanced capabilities for remote or locally hosted multiplayer servers.


Tell Me More!

Multiple servers may be managed concurrently by the app, with a dropdown menu for selecting which server the interface is currently working with and sending commands to. In addition to the basic capabilities one would expect such as the ability to kick or ban players and a console for submitting commands to the server, the app goes further by providing a simple yet robust user interface for the most common needs of a server host: Max Player Count dropdown, Map and Gametype selection dropdowns, Start and Stop Game buttons, and toggles for enabling settings like Sprint and Assassination!


A Commanding Lead

One of my favorite new features is the command editor. It enables the server administrator to create custom commands which can be triggered by various server state changes - for example, a game beginning or ending, or a change in the player count when a player leaves or joins.

In the example on the right, a custom command has been configured that will be executed once each time the player count enters the specified range - in this case the range is 6-12 players. And the command triggered loads a new voting file featuring maps and game modes more appropriate to that number of players!


¿Hablas Español?

The feature I’m proudest of though is Google Translate integration. If an API key is supplied, automatic translation can be enabled for server chat, translating all foreign-language chat messages to the server's configured language! Manual translation commands are also provided for players, enabling translation of chat messages into the language specified by the language code in the command. In the adjacent example I’ve submitted a command to translate my message into Spanish (language code ‘es’) - the server displays the original message and the translation!


Is That All?

Well, there’s some more advanced stuff that could be talked about - how the connections are mediated through websockets, the optional process hook for locally running servers and custom code injection - that kind of stuff. But I don’t want to go overboard here! If you’d like to know more, take a look at the GitHub Repository!


Github Code Section
gh-repo="BIRD-COMMAND/RconTool"
gh-branch="master"
gh-file="README.md"
gh-start="1" gh-end="1"
Previous
Previous

Streamlining Development with CommandConsole

Next
Next

Shaping Physics: A Unity Asset Modification