If you like DNray Forum, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...

 

Load Balancing hosting Game Servers

Started by lincolnmarry, Dec 02, 2022, 05:09 AM

Previous topic - Next topic

lincolnmarryTopic starter

I am running a small business that hosts game servers for niche games and I require technical help on how to distribute my servers efficiently between dedicated servers. Currently, I am renting a dedicated server to keep costs low and have multiple instances of the game server running on each server without virtualization for better performance. The game servers can be created and deleted at will, and I have to decide which machine to install the server on when creating it. Additionally, at the request of an administrator, a server can be moved to another machine.

Currently, I am using a basic algorithm where each game server is assigned a weight based on rough estimates of the resources it consumes, including CPU and RAM, along with the maximum number of players that can play on that server. I then calculate the total weight of the game server on each machine and allocate it to the machine with the lowest results.

My main concern is calculating the weights for each game server as there are various factors determining the use of resources like the number of online players, installed mods, server settings, etc. A more complex formula compared to what I do with the maximum number of players would be more efficient.

Therefore, I think it would be best to allocate servers based on empirical data on resource usage using load balancing software or a specialized solution. However, I am unsure of what to do and understand that there may be an alternative approach I have not yet considered. As such, I am grateful for any advice on this matter.
  •  


jainteq

As a member of the game development team, we are planning to use Kubernetes as a load balancer for pure game hosting. While Scaleway may be more affordable than larger hosting companies, I am unsure if its performance measures up to that of Google servers.
  •  

ashleyrms

One issue that arises when starting a project is the uncertainty of attendance and how requirements may change later on. Investing significant time and resources into scalability from the outset can result in a dead project if more agile competitors have already secured market share, received feedback, and developed their project architecture using the funds they earned.

Additionally, providing scalability in the same manner may lead to new requirements, necessitating the need for everything to be redone. In general, doing something twice may be unavoidable even after considerable effort.
  •  

semastr

When it comes to distributing game servers efficiently between dedicated servers, there are several approaches you can take. Here are a few suggestions:

1. Resource Monitoring: Start by monitoring the resource usage of your game servers on each dedicated server. This will provide you with empirical data on CPU, RAM, and other resource consumption patterns. Use this information to get a clear understanding of how different factors, such as the number of online players or installed mods, impact resource usage.

2. Load Balancing Software: Consider using load balancing software that can automatically distribute the game server instances across your dedicated servers based on their resource usage. Load balancing algorithms like round-robin, least connections, or weighted round-robin can help balance the workload effectively. Look for load balancing solutions specifically designed for game servers to ensure optimal performance.

3. Dynamic Resource Allocation: Instead of pre-allocating servers based on estimated weights, consider a more dynamic approach where game servers are allocated resources in real-time based on demand. For example, you could use containerization technologies like Docker or Kubernetes to dynamically scale game servers based on resource utilization metrics.

4. Machine Learning-Based Approaches: Explore the possibility of using machine learning techniques to predict resource usage based on historical data. By training a model on past resource usage patterns, you may be able to predict the optimal allocation of game servers to dedicated servers.

5. Collaboration with Administrators: Involve your administrators in the decision-making process. They can provide insights into the server requirements based on their experience managing the game servers. Additionally, allow them to request server moves when necessary to optimize performance.

Continuously monitoring resource usage, gathering feedback from administrators, and adapting your approach accordingly will help improve the overall efficiency of server distribution for your niche game servers.
  •  

nasonwarnax

By collecting empirical data on resource usage, you can develop a more complex formula that takes into account various factors such as CPU and RAM usage, network traffic, and disk I/O. This approach will enable you to make more informed decisions when allocating game servers to dedicated servers. For instance, you can use machine learning algorithms to analyze the data and predict the resource requirements of each game server.

Another approach is to consider using containerization (e.g., Docker) or virtualization (e.g., VMware) to create isolated environments for each game server. This would allow you to allocate resources more granularly and efficiently, as well as provide better control over the game servers.
  •  


If you like DNray forum, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...