Development
From Titans-Server Wiki
Titans-server was a project started several months before the official servers had been taken down. Initially, packet logs were taken by the founders of Titans-server and many other of their friends. Together, the resources needed to make a server after the game was shut down were gathered.
Throughout early stages, Titans-server was built in Microsoft Visual C#. The server was completely static byte protocol and had very little decision logic. The developers were very new at what they were doing. In fact the creator did not realize he was connected to the official server's CMS, which preserved his character's connection to the game.
Eventually, after gaining more knowledge of programming, the original two developers moved on to a more advanced C++ server. They used third party TCP libraries to provide for the lack of standard networking libraries. With being so used to UDP, the developers actually at one point looked into changing UCGO's socket type.
During development, many life issues arose with the developers. Consequently, Project V, the C++ server, was released as open source on an SVN repository. At that time, the login server was the only thing finished on the C++ version of the server.
By the time zone server was ready on the C++ Project V, the developers had gained excessive knowledge of how the UCGO game worked. The server itself wasn't fit for release because of its many raw test components. During the year of 2009 a third developer joined the project, named John Kismul.
As a graduate from the university in Norway, John was able to remake the servers quickly in java, using the old C++ and the help of the other developers as a guideline. Shops, multi-client, crafting, clothes and much of the content of the original UCGO was put into the java server through collaboration of all three of the developers. Mining was one fundamental part of the server that no logs were taken of. Dante, one of the original two, managed through excessive guess work to find out the packet structure. This java server was one of the first long-term tests for Titans-server.
After John Henrik Kismul left the team do to lack of shared interests and cooperation between him and the other developers, a new developer was taken aboard. After seeing the major concurrency issues and design flow inconsistence in the java server, Mark, the new developer, decided to create a finalized, product, ready for full time release. College experience in the high level programming language of java was on his record. The new servers are programmed in the Apache MINA networking library.
