A sample project to use UNET protocol between client and server to allow multiplayer support for Unity by enabling multiple users to connect and control a drone while watching other players interact with their own drones.
- Open main folder in Unity, open
File > Build Settings. - Build
Scenes/desertinto./Build/Desert/start.exe. - Build
Scenes/serverinto./Build/Server/start.exe. - Run
Server/start.exe - Run
Desert/start.exemultiple times - Connect with a different username on each desert window
- Interact in one window to watch the drone fly in the others as well
You can also execute the server by opening Scenes/server in unity and pressing Play.
- Open main folder in Unity, open
File > Build Settings. - Build
Scenes/desertinto./Build/Desert/start.exe. - Run
Desert/start.exemultiple times
To build the server
- Open main folder in Unity, open
File > Build Settings. - Change build settings to
Linux+x86 + x86_x64 (Universal)+Headless Mode: true. - Open
Player Settingsand setScripting Define SymbolstoCROSS_PLATFORM_INPUT;DEDICATED_SERVER_MODE. - Build
Scenes/serverinto./Build/Server/Linux/linuxserver.x86. - Build and Run with docker (from root folder):
docker build -t unitydronesserver:latest .
docker run -p 5701:5701/udp unitydronesserver:latest- Check that the docker container is running:
docker ps -a- Start multiple clients and connect
You can run Building and Running with Docker to create a new image, then run the following commands: (Replace <USER_NAME> with your docker hub user name)
docker tag unitydronesserver:latest <USER_NAME>/unitydronesserver:latest
docker push <USER_NAME>/unitydronesserver:latestFollow instructions to setup a new kubernetes cluster on Azure under: k8s/setup.sh.
Deploy a new application using:
kubectl create -f k8s/app.yamlIf you want to use your own image, change k8s/app.yaml and replace morshemesh with your own user name.
- Wait until the Service is done deploying on kubernetes and has a Public IP
- Use that Public IP and set
server_ipunderAssets/Scripts/Client.cs. - Build/Run the client for Windows.
MIT License
