aws-cloud-gaming-control

Simple scripts to maintain an AMI of your cloud gaming setup. When "pausing" the instance, snapshots will be created from the volumes before destroying them. That means the next time you start there is no need to install everything again. Snapshots are incremental and stored in S3 so they are cheap and efficient. How incremental snapshots work.

Built on-top of aws-cloud-gaming terraform module. Refer to the docs for more details.

Requirements

Getting started

# Assuming terraform, bash, curl, and aws credentials are installed

# Set the desired region. You can find the closest data center with https://www.cloudping.info.
# echo 'region = "us-east-1"' >> terraform.tfvars

# Configure desired instance type
echo 'instance_type = "g4dn.xlarge"' >> terraform.tfvars

terraform init

terraform workspace new rocket-league

./scripts/start.sh

# Get the instance ip
terraform output instance_ip

# Get the Administrator password
terraform output instance_password

# Connect with RDP using the details above.
# Wait for the install and log into parsec on the remote machine.
# Disconnect from RDP and connect using parsec.

# When you're done, pause the instance.
# This will create an AMI that start script will use next time you want to play so you don't have to re-install and configure everything again.
./scripts/pause.sh

# Alternatively you can stop the instance without updating the AMI
./scripts/stop.sh

# Or destroy everything, including the stored "paused" AMI
terraform destroy

You can also use terraform workspaces to manage different AMIs. That means you can destroy them independently from each-other

terraform workspace new rocket-league

Troubleshooting