Proof of concept networking entities and load balancing with distributed server workers.
Slowly and surely improving but probably not ready for a big game yet. Under heavy development.
- C# Core
- Lidgren Networking
- MessagePack for Serialization
- Central server that handles message passing between the client and server workers.
- An entity data store. Entities are the dynamic objects in the server. Entities have a list of data including position, type, and any game data needed.
- MessagePack for message passing to the client and server.
- Example Unity3d client and server.
- Better area entity checkouts.
- Multiple server workers for distributed processing.
- Open the Unity Project at
Workers/UnityMmo
. - Open the scene
Scenes/SampleScene.unity
. - Run the sever from the tool bar
Dragon GF/Run Server (Local)
.
https://github.com/neuecc/MessagePack-CSharp#aot-code-generation-support-for-unityxamarin
-i ../packages/games.cookiedragon.mmogf.core/MmogfMessages -o ../packages/games.cookiedragon.mmogf.core/Scripts/Generated -r MmogfCoreResolver
-i MmogfMessages -o Scripts/Generated
Build Server build in the Builds/Linux
folder.
Run in the main folder.
docker build -f Docker/Worker/Dockerfile -t judah4/dragongf-testgame:v0.1.2 -t judah4/dragongf-testgame:latest .
Example build file for the test game.
docker compose -f Docker/Compose/docker-compose.yml up -d
docker push judah4/dragongf-testgame:latest
docker push judah4/dragongf-testgame:v0.1.2
kubectl create -f Agones/dragongf-gameserver.yaml
Run in the main folder.
docker build -f Docker/MainServer/Dockerfile -t judah4/dragongf:v0.1.2 -t judah4/dragongf:latest .
Only required for core dev.
docker push judah4/dragongf:latest
docker push judah4/dragongf:v0.1.2