Automated Satisfactory Dedicated Server management on AWS
FICSIT Incorporated has provided you with this tool (cost deducted from your existing balance) to assist you with Project Assembly. This tool can help you collaborate with friends on your factory projects.
This project uses AWS CDK to provision everything you need to host a Satisfactory Dedicated Server on AWS. It includes the following:
Why use AWS when you can host for free on your own computer?
If you play on the server 2 hours per day, this setup will cost around $5/month on AWS.
Since the server automatically shuts down when not in use, you only pay when the server is up and you (or your friends) are actively playing on it.
S3 and Lambda usage costs are free tier eligible.
This is a free and open source project and there are no guarantees that it will work or always continue working. If you use it, you are responsible for maintaining your setup and monitoring and paying for your AWS bill. It is a great project for learning a little AWS and CDK, but it is not so great if you wish to have a hands-off experience managing your game server.
Copy the given server-hosting/config.sample.ts
file to server-hosting/config.ts
file. Fill the fields with appropriate values. Explanation for each field is given in file itself.
At a minimum, account (account number) and region are required.
This assumes you have all requirements and have configured aws cli
npm install
npx cdk bootstrap <aws account number>/<aws region>
(replace account number and region)cp server-hosting/.config.sample.ts server-hosting/.config.ts
if you have not done so (see Configuration for customization); you must fill in region and accountnpx cdk deploy
Access to the EC2 instance hosting your Satisfactory server can be done via Session Manager. External SSH is blocked by default at the network level. Tip: ssm may open /bin/sh, running bash
can get you to a more familiar bash shell.
When your ec2 instance shuts down and starts back up, there's no gurantee that the IP address will stay the same. If it changes, you will have to re-add the server in Server Manager. There are a couple ways to fix the issue:
After deploying, there will be a Lambda setup with Api Gateway. This provides a url that you (or your friends) can hit in any browser to start the server back up when you want to play. To find this URL, navigate in AWS to API Gateway -> SatisfactoryHostingStartServerApi -> Dashboard (lefthand menu); the url is at the top next to "Invoke this API at:"