{"id":13597472,"url":"https://github.com/feydan/satisfactory-server-aws","last_synced_at":"2025-04-10T00:32:07.995Z","repository":{"id":39028928,"uuid":"444255953","full_name":"feydan/satisfactory-server-aws","owner":"feydan","description":"Automated Satisfactory Dedicated Server management on AWS","archived":false,"fork":false,"pushed_at":"2023-10-30T07:58:50.000Z","size":310,"stargazers_count":72,"open_issues_count":18,"forks_count":51,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-06T21:44:22.136Z","etag":null,"topics":["aws","cdk","satisfactory"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/feydan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-04T02:03:59.000Z","updated_at":"2024-11-01T17:41:46.000Z","dependencies_parsed_at":"2024-11-06T21:46:16.484Z","dependency_job_id":null,"html_url":"https://github.com/feydan/satisfactory-server-aws","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feydan%2Fsatisfactory-server-aws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feydan%2Fsatisfactory-server-aws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feydan%2Fsatisfactory-server-aws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feydan%2Fsatisfactory-server-aws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/feydan","download_url":"https://codeload.github.com/feydan/satisfactory-server-aws/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248135517,"owners_count":21053701,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cdk","satisfactory"],"created_at":"2024-08-01T17:00:33.818Z","updated_at":"2025-04-10T00:32:07.665Z","avatar_url":"https://github.com/feydan.png","language":"TypeScript","funding_links":[],"categories":["aws"],"sub_categories":[],"readme":"# Satisfactory Server AWS\nAutomated Satisfactory Dedicated Server management on AWS\n\n## Intro\nFICSIT 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.\n\nThis project uses [AWS CDK](https://aws.amazon.com/cdk/) to provision everything you need to host a [Satisfactory Dedicated Server](https://satisfactory.fandom.com/wiki/Dedicated_servers) on AWS.  It includes the following:\n - VPC/Network configuration\n - Ec2 Instance provisioning\n - Automatic shutdown behavior when not in use (saves $$)\n - Automatic game file backup to s3\n - A Lambda browser endpoint to [start the server back up](#starting-the-server-back-up)\n\nWhy use AWS when you can host for free on your own computer?\n - If you want to allow friends to play on your server without you, you will have to always leave your computer on and the server running continuously, even if you are not playing.  Having it on the cloud frees up your hardware.\n - Your computer may not have enough resources to host the server and play at the same time.\n\n### Costs\nIf you play on the server 2 hours per day, this setup will cost around $5/month on AWS.\n\nSince 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.\n\nS3 and Lambda usage costs are free tier eligible.\n\n### Disclaimers\nThis 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.\n\n## Requirements\n\n- [AWS Account](https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/)\n- [Git](https://git-scm.com/downloads)\n- [AWS Command Line Interface (cli)](https://aws.amazon.com/cli/)\n- [NodeJs](https://nodejs.org/en/download/)\n\n## Configuration\n\nCopy 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.\n\nAt a minimum, account (account number) and region are required.\n\n## Quick Start\nThis assumes you have all requirements and have [configured aws cli](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)\n\n1. [Clone this project](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository)\n2. `npm install`\n3. `npx cdk bootstrap \u003caws account number\u003e/\u003caws region\u003e` (replace account number and region)\n4. `cp server-hosting/.config.sample.ts server-hosting/.config.ts` if you have not done so (see [Configuration](#configuration) for customization); you must fill in region and account\n5. `npx cdk deploy`\n6. Wait for the CloudFormation stack to finish. It may take a few minutes for the server to download/install everything after the stack is finished.\n7. Use the Ec2 instance public IP address to connect to your server in Satisfactory Server Manager (see [DNS and IP management](#dns-and-ip-management))\n8. Start a new game or upload a save\n\n## Accessing your server\n\nAccess to the EC2 instance hosting your Satisfactory server can be done via [Session Manager](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/session-manager.html). 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.\n\n## DNS and IP management\n\nWhen 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:\n\n1. [Elastic IP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) - Create and assign it to your ec2 instance in AWS.  Your Elatic IP will never change, but you will get charged for it when it is *not in use* ($0.001/hour or $3.60/month if never used).  This method also allows you to use your own custom domain address if wish.\n2. Dynamic DNS - Free dynamic DNS services like [DuckDns](https://www.duckdns.org/) provide a way to automatically manage when the IP address changes.  Once setup, you just use their url and they handle everything else behind the scenes.  This method may not allow you to use a custom domain.\n\n## Starting the server back up\nAfter 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 -\u003e SatisfactoryHostingStartServerApi -\u003e Dashboard (lefthand menu); the url is at the top next to \"Invoke this API at:\"\n\n## Contributing\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeydan%2Fsatisfactory-server-aws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffeydan%2Fsatisfactory-server-aws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeydan%2Fsatisfactory-server-aws/lists"}