Hello! I would like to share the experience of creating the similarity of MMO game using Unreal Engine and Netty. Perhaps architecture and my experience will help someone and help start creating your game server as opposed to an unreal dedicated server that is slightly hungry or replace the frameworks for developing multiplayer games such as Photon.
Netty is used as an asynchronous server, the data stored in MySQL and used to retrieve Hibernate. Client-server communication is built on sockets, the format of messaging Protobuf, each message after entering the game is encrypted by AES algorithm using OpenSSL on the client and javax.crypto* on the server. Key exchange takes place using the Diffie-Hellman protocol. Support for Android and Windows.
- Encryption by AES
- Creation of game rooms
- Checking hits on the verification server
Downloads and source code:
See a short video with the features:
A couple of articles about the project, how to do step by step (in Russian):