In this article, we’re going to introduce the technology that underpins every Hytale server – both how they work and how you’ll interact with them. In order to do so we’ll need to use some technical language, but we hope that you’ll be excited by the work we’re doing to make Hytale servers fast, easy to access, and secure.
LANGUAGES AND PERFORMANCE
We’ve had lots of questions about Hytale’s engine and server technology since the announcement in December – it’s great that so many people are interested in running their own Hytale servers! Here’s the answer to the most common question: Hytale’s client is written in C#, and servers run on Java. We’ll cover in-game scripting in a future post, as it’s a separate topic.
We’ve chosen to use Java for Hytale servers for a multitude of reasons. For one, our backend team is very comfortable writing high-performance Java and that has let us heavily optimize our server code. Furthermore, we know that our community has a lot of experience with Java too – it’s important to us that it is as easy as possible for server operators to get up and running. Using C# for the client provides additional performance benefits, and we’re very happy about the results we’ve seen so far.
SHARED SOURCE SERVERS
Hytale’s server technology will be provided shared source, which means that everyone will be able to read the server code. The game client, however, will be closed in order to provide a common baseline for server operators and players. This allows us to provide a secure and reliable experience, guard against cheating, and provide modders and content creators with a shared foundation to work from.
Because Hytale is designed from the ground up for modding, server operators will be able to create and customize every aspect of the game – from environments and game mechanics to parts of the UI itself. We want our players to be able to build upon what we’re working on, but we also don’t expect the community to do our work for us.
In effect, this shared source system means that it is possible for servers to run a modified version of the game, grounded in a client that is common to every player. Every server represents its creator’s vision for the game – and because server operators have a consistent platform to build upon, it is straightforward for players to jump between wildly different experiences. When you connect to a Hytale server, the client will automatically download all of the content needed in order to play – models, animations, sounds, and everything else.