Jump to content
Server time (UTC): 2019-11-21, 12:12
Sign in to follow this  
Snozz

Modernize DayZRP Servers

Recommended Posts

Hi DayZRP Server Admins,

As an experienced Devops engineer (Cloud and On-Prem), I have a suggestive approach to modernizing the way we host DayZ servers. Using Docker, Kubernetes and using AWS, Azure or GCP as a scalable cloud solution. I believe at the very least it's worth looking into and researching. This may improve performance and save cost.

Here is why:

Why would we want to run game servers on this platform?

1. Scaling game servers can be a big challenge with proprietary software, with containers and Kubernetes. Software containers and orchestration like Kubernetes should make it much more simplistic with less hard coding.

2. Containers give a single deploy artifact that can be used to run game servers. This removes the need to install dependencies or configure machines during deployment, as well as greatly increases confidence that software will run the same on development and testing as it will in production.

3. The combination of software containers (like docker) and Kubernetes lets us build on top of a solid foundation for running essentially any type of software at scale – from deployment, health checking, log aggregation, scaling and more, with APIs to control these things at almost all levels.

4. At its core, Kubernetes is really just a cluster management solution that works for almost any type of software. Running dedicated games at scale requires us to manage game server processes across a cluster of machines – so we can take advantage of the work already done in this area, and just tailor it to fit our specific need.

5. Should everything be dockerized? No, Relational and Non-Relational Databases for example should not be dockerized due to high amounts of maintenance behind it. If I was using the cloud for example AWS, I'd use Amazon RDS (Relational), DynamoDB (Non-Relational) and Elastic Cache (Redis or Memcache). You can then Peer those connections to your VPC network and talk to EKS (Kubernetes).

What is Docker and Kubernetes?

Docker is a process running on a OS. It is NOT a VM or a VM replacement. It's a headless container that can be scaled and updated by the Docker file or image it is published on. Kubernetes is a orchestration management tool that provides resources to the container. (Example of resources: Persistent volume storage, Load Balancers, Worker Nodes (VM's), IP route tables, Network Gateways, Virtual Gateways, Peering and etc.) There are also different flavors of Kubernetes: PKS (Pivotal), EKS (Amazon ECS), AKS (Azure), GKE (Google) and Minikube (Local machine).

Why Linux over Windows for a server?

There are a lot more engineers out there that can work with Linux OS over Windows. Windows original design is very clunky for running servers. You have to know work arounds for CMD and Powershell Modules. Windows doesn't have true bash/sh/terminal built-in like Linux and Windows runs horrible with Docker. With Linux it's just pure terminal and the utils & packages that come with Linux are arguable more effective and efficient with it's libraries and dependencies built in ready to go. Automation and maintenance will benefit substantially if you make this change. Especially if your goal is to commercialize your servers.

Possible areas to look into:

1. Should we use the cloud or bare metal? If you want to scale up your servers and scale down with automation. The cloud provides more benefit and cost then using bare metal solution. It's worth comparing a cost analysis on what would fit for DayZRP.

2. Spin up a test environment server with the following methods below and research if this is something worth trying:

- Dockerized Dayz (Open Source): https://github.com/icedream/docker-dayzserver

- Using Linux instead of Windows using Wine: https://www.reddit.com/r/dayz/comments/9h6x5u/dayz_server_on_linux/ (Maybe wait until Bohemia provides Linux support for servers? Not sure when that will happen...)

- If Wine isn't do able for Linux on Windows, maybe see if Windows Developer mode enabled will allow you to use Ubuntu? I hear it comes out of the box with Windows 2016 Servers.

I believe the biggest challenge really is just figuring out a work around for getting Linux to host DayZ. Once that is done, we can then start to take the approach in "modernizing" with Docker and Kubernetes. I hope this post gives a little more incite to those currently managing and engineering the DayZRP servers. If we can do this, we might be able to stand out more against other RP servers.

- Snozz

Edited by Snozz

Share this post


Link to post

@Roland, I see your point about Windows and the current bare metal setup you have. Nice to see you have specs like: "CPU overclocked to 5GHz, lots of fast DDR4 RAM and NVMe drives". Maybe currently what you have is suffice for 2 servers. I was kind of looking forward to the future of DayZRP and being able to do more then just 2 servers. Also being able to run more automation with your current setup so there is less time for you to spend. I see CF Tools: https://cftools.de/ is using OmegaManager to pretty much drive the automation for your deployments and manage your game server. Could CF Tools tie into a plugin for your CI/CD tool like the mods are currently? I would suggest centralizing everything so it's all in one place to kick off jobs/tasks in your CI/CD.

As for performance, I'm just wondering if what we currently have is really the best. Cloud examples: AWS GameLift pricing: https://aws.amazon.com/gamelift/pricing/ VS https://upcloud.com/products/cloud-server/

There are a lot of options available for cloud servers on Amazon and other cloud providers. Is that bare metal setup really the only option for the best results even with current server standings? What if that bare metal server breaks? Do you have a Data Center that will fix that for you in a timely fashion or is it in your own home? I know this is not a AAA game company but I figured if you want to surpass just 2 servers and go further you may want to revisit this in the future.

All in all I can only offer a suggestive approach, you don't have to take my professional view of how to run your servers.

Share this post


Link to post
22 minutes ago, Snozz said:

@Roland, I see your point about Windows and the current bare metal setup you have. Nice to see you have specs like: "CPU overclocked to 5GHz, lots of fast DDR4 RAM and NVMe drives". Maybe currently what you have is suffice for 2 servers. I was kind of looking forward to the future of DayZRP and being able to do more then just 2 servers. Also being able to run more automation with your current setup so there is less time for you to spend. I see CF Tools: https://cftools.de/ is using OmegaManager to pretty much drive the automation for your deployments and manage your game server. Could CF Tools tie into a plugin for your CI/CD tool like the mods are currently? I would suggest centralizing everything so it's all in one place to kick off jobs/tasks in your CI/CD.

As for performance, I'm just wondering if what we currently have is really the best. Cloud examples: AWS GameLift pricing: https://aws.amazon.com/gamelift/pricing/ VS https://upcloud.com/products/cloud-server/

There are a lot of options available for cloud servers on Amazon and other cloud providers. Is that bare metal setup really the only option for the best results even with current server standings? What if that bare metal server breaks? Do you have a Data Center that will fix that for you in a timely fashion or is it in your own home? I know this is not a AAA game company but I figured if you want to surpass just 2 servers and go further you may want to revisit this in the future.

All in all I can only offer a suggestive approach, you don't have to take my professional view of how to run your servers.

DayzRP comes and goes in waves, while summers may be hot months, the highest this community has ever gone was 4 servers and that was only because of a Psi-wave(when Psysindicate decided to show up every once in awhile). @Roland is from Sweden, so the servers being American based I reckon he uses some good hosting.

There is no more fear of the server cat pulling the plug (When it was home hosted many moons ago Rolle's cat destroyed a cable), I get you I truly do, but I honestly side with @Roland's opinion on this. DayzRP does not need cloud-hosting, and I will be surprised if it ever does. It isn't big enough. I reckon the prices will go to similar proportions with worse performance, if we do it for just the two servers

Cloud solutions are handy if you are a game developer not a server hoster, from one of your links alone it becomes apparent that the things you are trying to convince @Roland off are meant for bigger numbers, when it comes to server hosting Cloud is cheaper if you are bigger, but sadly enough DayzRP ain't an MMO.

 

I mean we don't even reach the lowest peak on that graph which is 800 players. All we need is two really good performing server boxes now, sure, if we had up to 5000 players with 80 players per server that would require us to have 63 very expensive server boxes that will have peak/low hours which can be cost inefficient and then scalable cloud solutions will save you a lot of money REAL quick. But we only need 2 boxes, I reckon right now maybe even just 1 with the current playing numbers.

Just trust @Roland with this, he is in the industry(altough I dont know which part) and sure he has learned through hardships how to get this place to the point where it is now, but he has gotten us here and it is still standing when many others have failed before him.

That being said I love the fact there was big tech suggestion.

Edited by RedSky

Share this post


Link to post

Dear God I love suggestions where I have absolutely no fucking clue what's going on.

Gotta learn somehow.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...