Servers are like computers that sit at the other end of the network helping you do things. Servers are used for multiple purposes, including as webservers. They are used for data storage, loud storage, cloud computing, research, and for games as well.
Dedicated servers
Listen servers
Peer-to-peer networks
What Is a Server?
A server is a computer that connects to different computers over the network to serve data over LANs (Local Area Networks) or WANs (Wide Area Networks).
You might have heard of different types of servers—email servers, web servers, file servers—these servers have similar hardware components whereas the software they run is unique.
Server software includes Apache, Nginx, and Microsoft IIS, which are most predominantly used for website hosting. Some SMTP servers used for email services include Exim, iMail, etc.
While any computer can be configured as a server, the major difference is the hardware design. Servers are designed to run around the clock without any hiccups. Many industries and big organizations don’t use traditional computers for servers; they use especially designed cases for servers named as 1U, 2U, 3U and so on, the sizes of which vary upon their usage. These servers are typically mounted on hardware racks for storage.
Since these devices are capable of running with major interruptions and can be left alone, most of these servers are configured in a way that they can be controlled and managed remotely.
Dedicated Servers
Dedicated servers are exactly what they sound like. These servers are dedicated to one specific purpose, which can be for video streaming, web hosting, or for any other purpose. Most businesses prefer dedicated servers because of their immense power and flexibility. Servers are mostly used by websites over the Internet and most websites across the Internet are hosted on shared servers.
Shared servers are servers that host hundreds or thousands of websites. This makes renting server space a lot cheaper for owners who don’t require a lot of storage and computational power. However, once they need to upgrade their plan, they can migrate to dedicated servers, which are usually known as VPSs (Virtual Private Servers).
With a VPS, you get a virtual computer, which you can configure according to your needs. A VPS is as flexible as dedicated servers to an extent. But this is still far from an actual dedicated server, which means you have access to the actual server. The major downsides to this kind of approach are cost and maintenance. As their devices are manufactured to run continuously in isolation, they also can be extremely loud and might require an ideal environment to operate at 100% capacity.
Who Should Get a Dedicated Server?
Scalability: Dedicated servers are very easy to scale up, which is beneficial for growth. For example, websites like Google and YouTube, which serve billions of users daily and are expected to grow, would burn a lot of money in renting servers.
Security: Companies that deal with very sensitive data may not want to use dedicated servers. Keeping that data in a shared space is a big concern. If any of the websites or services hosted on that same shared space are compromised, the possibility of confidential data being leaked is significant.
Any malicious web service could also rent the same server with bad intentions to compromise the service. They could infect the service with ransomware, virus-vulnerable code, or any other malicious activity.
Speed: Shared services can lead to instability, depending on a load of the shared websites and this, in turn, can affect the performance of your services.
Control: As discussed earlier, dedicated servers allow you to customize your services as needed, which means you have the power to offer non-traditional services, such as game builds, game streaming, etc.
Dedicated Servers in Gaming
Since the beginning of personal computers, private game servers/dedicated game servers were always among the top choices for gaming platforms. This was preferrable to depending on a multiplayer service provider.
Creating your dedicated game server has a lot of benefits, including stability, customizability, and control. A lot of different multiplayer systems use dedicated game servers, including PUBG, ARK: Survival Evolved, Team Fortress 2, etc.
Most public game servers use the client-server model (discussed in Chapter 5) or peer-to-peer (P2P) hosting, both of which have their problems. Client servers are run by process owners, usually the publishers or manufacturer, and as a consequence they can manage individual connections. This model works in most cases, but it lags in terms of customizability options.
P2P (peer-to-peer networking) is another very popular modern multiplayer gaming service. Using P2P, one player can dynamically act as host or master, which can facilitate connections from other devices or players. This system is highly random, as anyone can be chosen as the host. If the host’s network is poor, everyone will have a bad gaming experience.
Headless Server, AKA Listen Server
A system without a head (a monitor) or without a local interface is also headless. There need to be peripherals like a keyboard, mouse, screen, or a local interface to control it. Headless systems lack graphical systems to access and administer them, instead they are usually administered remotely over a network, via SSH or VNC.
Why a Headless Server?
When we talk about servers, we mostly talk about datacenters and very large server arrays that look like a sci-fi movie scene. In these environments, computers are usually stacked on top of one another and hundreds of racks of that type are placed together. These server farms or datacenters are controlled via networks and they rarely need human intervention for maintenance.
These systems are managed over the Internet so they don’t need any peripherals except networking gear. Server hardware is getting smaller and more efficient, and these systems can run for years without any human intervention, provided the Internet and power are constantly provided. The popularity of headless servers is growing day by day.
Headless Servers in Games
In game-based dedicated servers, the server might act as a bot or be coordinating the actions of another player or playing by themselves as a bot. This is considered a dedicated gaming server and these types of games are usually multiplayer games. In this case, a headless server is mostly used for administrative purposes.
Many times, you’ll want to play an online game where a server will be used mostly for administrative purposes. These servers do not have a graphical interface or have any human interaction from the server-side. For example, consider a game where every person has a task to complete and they are not competing with each other. The AI is running on a device, competing against a real human. Just for the sake of management and a sense of competitiveness, the server will be used to assign the level and AI parameters, which means the allocation and administrative jobs. In this case, it uses a headless server.
Peer-to-Peer Networks
As you might notice, we don’t call these peer-to-peer servers because peer-to-peer communication is not considered server-based, per se.
When two or more devices connect to each other directly, without any entity in between, that’s called a peer-to-peer network. The device trying to share the data is directly connected to the device waiting to receive the data.
Peer-to-Peer Networks in Games
This type of network is widely used with games that want to create a local group of players, such as with Counter Strike, Mini Militia, and many more. They can create a local server on which players can connect and then directly join the game. These kinds of network games are called peer-to-peer games. Because there is a local server, the delay and other networking issues will be minimized.
Benefits of a Peer-to-Peer Network
No central server: Developers do not need to manage costly servers and handle all the networking issues.
No queue management: Developers don’t have to manage multiple game rooms and do matchmaking for players, as this is handled automatically by the players. The local network can support more than 10 people.
No downtime: As most servers will be completely managed by the local players and there is very little dependency on the Internet, there isn’t any downtime.
No loss of players: In online games, developers have to deal with loss of players due to loss of network, rage quits, etc. These need to be handled and developers manage them by replacing the player with a bot. In this case, developers don’t have to do that, as a local peer-to-peer setup reduces the chances of network dropout. Developers don’t need to use bots either.
Load Balancers
As the name suggests, the basic functionality of a load balancer is to help the datacenter balance the load between the servers. It can also be seen as a tool to distribute the workload request from the client to different servers in order to optimize the delivery time and effective utilization of servers.
Load balancers are a crucial part of the modern Internet infrastructure, a load balancing-capable ADC will help the IT department ensure secure scalability by ensuring 100% availability of services. Their advanced functionality of traffic management can help businesses and consumers efficiently serve customer requests while maintaining efficient usage of hardware resources. An ADC might offer additional services to enhance security and flexibility, such as firewall protection, data encryption, and DDOS protection.
Hardware-Based Load Balancers
Software-Based Load Balancers
The job of load balancers is to manage the load or incoming traffic, and software-based load balancers can be installed on any hypervisor to ensure the functionality of load balancers. They can run on the same server using a hypervisor or they can be run inside containers of Linux subsystems to reduce the load on an existing server. This can save a lot of space and hardware expense.
Summary
The chapter started with a discussion of servers and how they work. You learned about server segregation based on game systems, like dedicated, headless, and P2P servers, and you also learned about how these servers are used in games.