Java - Console Integrated Platform System (CIPS)

Introduction To CIPS And Its History

Wasabi Console, JCIPSThe Console Integrated Platform System has had several names in the past few years. It was first called mConsole (mCoDev Console) and was originally created in Visual Basic 6.0. Back then it was a simple command system that could execute simple one-word-one-argument commands.  In the year 2000, the first application made was a program to monitor a Half-Life game server which could detect crashes and relaunch the game server when a crash occurred. This program had its pros and cons, one of the cons is that it could not be extended and was very limited in its task. On the other hand, once set up it would keep the game servers that it monitored online and alive.

Due to its popularity among valve servers, the next version of the console system introduces a new command parser system based on the command structure similar to the console you would find in the Half-Life game itself, so that users would know how to work with it. The idea got stuck een until today. mConsole version 2 also came with a crude add-on system based on the Microsoft Scripting Object, but because of the limitation of Visual Basic, add-ons at the time worked by polling a function every so often and setting an interrupt flag to let the console know when the add-on needed to perform an action. This turned out to be very insufficient and the whole add-on system was better to be left turned off.

At some point I started creating the console system from scratch again. mConsole version 3 no longer had an add-on system, the Command parser became more efficient in its parsing, the execution of commands became more efficient and console variables were introduced. mConsole V3 was created in Visual Basic .Net and was designed to be "object oriented". Previous versions used a modular approach, this new version was class based and could be easily implemented in other projects.

A few years later, I ported the console to C# .Net and designed  a new Add-on System. This add-on system did not use the Microsoft Scripting Object. Rather than relying on older technology, I designed the add-on system to be independent. In this implementation you could hook directly into the console system, register commands and variables and intercept and handle console events. The console was renamed to FlexCmd and became part of a game engine that was written in Microsoft XNA Game Studio.

Microsoft decided to stop support for XNA in 2013, and because of this, the FlexCmd was redesigned and created from the ground up and became known as CIPS, the Console Integrated Platform System. The new system had major improvements: Everything I learned from the past decade has been applied making this console very efficient in processing and execution. In 2015 CIPS got ported to Java, JCIPS, with almost all features and in 2017 a light version of CIPS was created for microcontrollers like Arduino and such. This light version however does not support add-ons, because it had to be as light as possible.

So here we are today. Unfortunately the original .Net project for CIPS has been deprecated, but a version for Java is available for download from this website.   Should you want the .Net version, you can always contact me for that as well.


See Also