This is a CDK Project for spinning up a Valheim game server on AWS Using ECS Fargate and Amazon EFS!
Uses valheim-server-docker - thanks to lloesche for putting it together!
Making the assumption you have an AWS Account Already and a valid set of creds configured:
- Create a Secret named valheimServerPass in the same region you plan to deploy the CDK Stack - we reference it by name here and pass that value to our container as a secret. valheim-server-docker requires this to be AT LEAST 5 characters (ideally much more). The secret string should be a key value pair as below:
aws secretsmanager create-secret --name valheimServerPass --secret-string '{"VALHEIM_SERVER_PASS":"SuperSecretServerPassword"}'
- Clone down our source code:
git clone [email protected]:rileydakota/valheim-ecs-fargate-cdk.git
- Install dependencies:
npm i
- Configure any server settings you need to change in the code here - will absolutely want to change
SERVER_NAME
!
const container = valheimTaskDefinition.addContainer("valheimContainer", {
image: ecs.ContainerImage.fromRegistry("lloesche/valheim-server"),
logging: ecs.LogDrivers.awsLogs({ streamPrefix: "ValheimServer" }),
environment: {
SERVER_NAME: "YOUR_SERVER_NAME_HERE",
SERVER_PORT: "2456",
- Assuming you have already bootstrapped your account via the CDK (see here if not) - deploy the stack
npx cdk deploy
- enjoy accidentally chopping trees onto your friends powered by AWS!
Coming soon
Coming soon
Install the ecs-cli by running the following (this assumes Linux - for other environments see here)
sudo curl -Lo /usr/local/bin/ecs-cli https://amazon-ecs-cli.s3.amazonaws.com/ecs-cli-linux-amd64-latest
Using the Cluster Name outputted by successfully running the CDK template - run the following command:
ecs-cli ps --cluster YOUR_CLUSTER_NAME_GOES_HERE_CHANGEME
You will be presented with the public ip of your server as follows:
Name State Ports TaskDefinition Health
ValheimServerAwsCdkStack-fargateCluster7F3D820B-AxbOSXn1ghAs/8d190269c9df4d3e9709dccb89bdf3d8/valheimContainer RUNNING 1.1.1.1:2456->2456/udp, 1.1.1.1:2457->2457/udp, 1.1.1.1:2458->2458/udp ValheimServerAwsCdkStackvalheimTaskDefinitionB5805DE1:17 UNKNOWN
Game server runs on port 2456 (unless changed)
goto the ECS Service page (click the services dropdown and select ECS - or click here if you are in us-east-2). From here - you will see a Cluster listed. Click the cluster name to continue to the details page.
At the bottom half of the screen - click the Tasks tab tab - you should see a "Task ID". Click the task id to continue to the next page.
Finally - the public IP of your server will be listed here - under the Network section. Connect to the server using the IP and port 2456!
Coming soon