Verify we have necessary permissions for AWS account
-
Go to AWS Management Console
-
Launch a Virtual Machine
-
Select any free-tier Linux machine
-
Select any free-tier instance type
-
Edit Security Groups
-
Add Rule
-
Custom TCP Rule - port 7770 (or whatever you want to choose for your game)
-
set Source to anywhere
-
Add Rule
-
UDP rule - port 7770 (or whatever you want to choose for your game)
-
set Source to anywhere
-
Press “Review and Launch”
-
Create a new Key Pair
-
Give it a name
-
download keypair
-
Press “Launch Instance”
-
Download Putty
-
Download WinSCP
-
Open PuttyGen
-
Conversions > Import Key
-
Select the downloaded key
-
Set the right Key Type as you set while creating the key above
-
Save Private Key
-
Close Window
-
This file of type ppk will be used later
-
Open Putty
-
Copy IPV4 DNS address for the instance we created above from AWS EC2 Instances window
-
Putty Configuration > Session > Host Name set this hostname to follows
-
ec2-user@ followed by the DNS address copied above
-
Keep port at 22
-
Connection Type SSH
-
Go to Connection > SSH > Auth
-
Provide the ppk generated above here in “Browse”
-
Go back to Session
-
Provide a name in Saved Sessions to be save this session
-
Press Save
-
Now double click this name in session to open this session
-
Our Putty terminal is up and running on the Linux machine
-
Open WinSCP
-
When asked opt for single window with 2 panels option
-
Login > New Site
-
File Protocol > SCP
-
Paste the same hostname pasted in Putty, or copied from AWS EC2 Instances Console
-
Username > ec2-user
-
Advanced > SSH > Authentication > Private Key File
-
Provide the private key file here
-
Press Okay
-
Press Save
-
Provide a name to this new Login
-
Double click on the login created
-
It will connect to our Linux Server
-
We will use this Window to transfer replace or delete build on our Linux server
-
Go back to Unity
-
Set NetworkHudCanvases → AutoStartType to Server
-
Add TugBoat component on Network Manager
-
Set server bind address to localhost
-
Set port to 7770 (or whatever you want to specify but should be allowed in EC2 instance network incoming traffic conditions)
-
Set client address to EC2 instance public IPV4 DNS address
-
Save scene
-
In Build Settings
-
Set target platform to Linux
-
Keep architecture to x86_64
-
Enable ServerBuild (to keep headless)
-
Make sure the server scene is added and enabled in build settings
-
Build and save in a folder
-
Wait for the build process to complete
-
WinSCP
-
Navigate left panel to the unity server build folder
-
Right click and upload that to the linux server
-
It will take some time to upload
-
Once upload complete
-
Putty terminal
-
Go the the Putty terminal window
-
Using standard commands navigate inside the build folder
-
Run commands
-
chmod +x “executable file name of type .x86_64”
-
./“executable file name of type .x86_64”
-
Server is up and running
-
Go back to Unity for Client editor testing or build
-
Unity
-
NetworkHudCanvases > AutoStartType set this to Disabled
-
Save scene
-
Run in unity
-
Press Client
-
Client should be up and connected with AWS Server