All Projects → rileydakota → valheim-ecs-fargate-cdk

rileydakota / valheim-ecs-fargate-cdk

Licence: other
AWS CDK/Cloudformation to deploy a Valheim Server using ECS Fargate!

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to valheim-ecs-fargate-cdk

aws-ecs-devops-using-aws-cdk
This repository provides a general DevOps practices such MSA, IaC, CICD and Monitoring. AWS various services are used to provide DevOps best practices.
Stars: ✭ 110 (+66.67%)
Mutual labels:  cdk
r2modmanPlus
A simple and easy to use mod manager for several games using Thunderstore
Stars: ✭ 350 (+430.3%)
Mutual labels:  valheim
terraform-aws-ecs-fargate-task-definition
Terraform module to create AWS ECS Fargate Task Definition
Stars: ✭ 20 (-69.7%)
Mutual labels:  ecs-fargate
gotf
Managing multiple environments with Terraform made easy
Stars: ✭ 25 (-62.12%)
Mutual labels:  iac
awesome-gnu-linux-gaming
A curated list of awesome GNU/Linux tips & tricks, games, tools, and resources - Mirrored from: https://gitlab.com/linuxcafefederation/awesome-gnu-linux-gaming.git
Stars: ✭ 135 (+104.55%)
Mutual labels:  gaming
MetropolisLauncher
A data-heavy Emulation & Gaming front-end for Windows
Stars: ✭ 35 (-46.97%)
Mutual labels:  gaming
OoT-Interactive-Map
Interactive Map for the world of Zelda: Ocarina of Time
Stars: ✭ 22 (-66.67%)
Mutual labels:  gaming
terraform-aws-route53
A Terraform module to create a Route53 Domain Name System (DNS) on Amazon Web Services (AWS). https://aws.amazon.com/route53/
Stars: ✭ 39 (-40.91%)
Mutual labels:  iac
document-understanding-solution
Example of integrating & using Amazon Textract, Amazon Comprehend, Amazon Comprehend Medical, Amazon Kendra to automate the processing of documents for use cases such as enterprise search and discovery, control and compliance, and general business process workflow.
Stars: ✭ 180 (+172.73%)
Mutual labels:  cdk
arch-guide
My installation instructions and guide for Arch Linux
Stars: ✭ 25 (-62.12%)
Mutual labels:  gaming
enjincraft
Minecraft plugin for integration with the Enjin Platform.
Stars: ✭ 57 (-13.64%)
Mutual labels:  gaming
aws-quota-checker
Keep an eye on your AWS quotas before you hit their limits
Stars: ✭ 63 (-4.55%)
Mutual labels:  iac
pyradox
Python parser for Paradox .txt files.
Stars: ✭ 28 (-57.58%)
Mutual labels:  gaming
TommyGun
A retro development IDE for the creation of games on 8-bit computers.
Stars: ✭ 37 (-43.94%)
Mutual labels:  gaming
guestbook
A simple app with automated infrastructure provisioning, app deployment, and E2E testing
Stars: ✭ 25 (-62.12%)
Mutual labels:  iac
fullscreenizer
Source Code of Fullscreenizer
Stars: ✭ 56 (-15.15%)
Mutual labels:  gaming
sparsereg
a collection of modern sparse (regularized) linear regression algorithms.
Stars: ✭ 55 (-16.67%)
Mutual labels:  efs
Valheim-Free-Game-Server-Setup-Using-Oracle-Cloud
Valheim Oracle Cloud Server Setup
Stars: ✭ 24 (-63.64%)
Mutual labels:  valheim
cloudpatrol
Policy as Code for the Cloud Development Kit (CDK)
Stars: ✭ 21 (-68.18%)
Mutual labels:  cdk
argent
ARGENT: a Xaserious DOOM (4) to DooM (classic) weapon mod.
Stars: ✭ 17 (-74.24%)
Mutual labels:  gaming

valheim-ecs-fargate-cdk

this could be you!

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!

Table of Contents

Installation/Deployment

Making the assumption you have an AWS Account Already and a valid set of creds configured:

  1. 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"}'
  1. Clone down our source code:
git clone [email protected]:rileydakota/valheim-ecs-fargate-cdk.git
  1. Install dependencies:
npm i
  1. 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",
  1. Decide if you want the optional AWS App gateway lambda endpoints to start and stop your server and get the server status. If you do or don't want them, then update here
new ValheimServer(app, "ValheimServer", {addAppGatewayStartStopStatus: true, appGatewayStartStopPassword: "changeme"});
  1. Assuming you have already bootstrapped your account via the CDK (see here if not) - deploy the stack
npx cdk deploy --all
  1. enjoy accidentally chopping trees onto your friends powered by AWS!

Configuration

Coming soon

Solution Cost Information

Coming soon

Common Problems/FAQ

How do I find the IP of my server?

Via the ecs-cli:

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
sudo chmod +x /usr/local/bin/ecs-cli

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)

Via the AWS Console:

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. ECS Service 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. Cluster Information 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! Task Information Page


To-Do

Coming soon

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].