This tutorial will explain what things you should try to do and also what things you should try to avoid when hosting a server.
I will break down this tutorial into different sections covering the different areas of interest.
[Operating Systems for Servers]
I would have to say that Linux operating systems are the safest choice for hosting servers. One major thing you need to look for when choosing between different operating systems is the update frequency. Server operating system software should not be updated a lot! You should be using a stable version of Linux. You want to avoid the 'cutting edge' software if you can. Also, I would recommend not using a graphical GUI on any server (this means you would be using a single terminal instead of a desktop environment).
Recommendations for operating systems:
1.Debian Lenny (Advanced)
2.Cent OS (Advanced)
3. Ubuntu Server (Moderate)
4. Ubuntu Desktop (Noobs)
[Networking]
When hosting servers, your server will be uploading much more than it is downloading (Usually 66% Upload, 34% Download or so). Taking this into consideration, you are going to want to an internet connection that has a higher upload speed. Having a higher upload speed will allow more players on your server without lag.
For the typical OT server, you are going to have to have at least 5Mbits reserved.
[Hardware Infrastructure]
The typical rule of thumb for hosting any application that uses some sort of database is to have the database on a separate computer. This however is not going to be the case for most of you since it would require you to have multiple servers or use VMs. At any rate, you are going to want to reserve at least 2 GB of RAM for your database (size depends on your SQL server configuration).
As far as CPU's go, If you are hosting both the SQL server and the game server on one single system, try to get at least a Quad core. MySQL is a threaded application and its performance depends on the amount of threads you have (as well as how well your queries are constructed).
=========================================================================
Now that you have some background information, here is some more advanced tips on what you should pay attention to when hosting OTs.
1. Make sure your database is "defragged" every once and awhile! (You can look up how to do this on google).
2. Try to streamline your internal network so that your server has a more direct route to the WAN.
3. Using Gigabit technology for your server is recommended in most cases.
4. Make sure you set up features such as SYN Cookies and IP Table rate limiting, this will help prevent DDOS.
5. Try to be generous with RAM, if you server is using your page file...It's time to get more RAM!
6. Try to host your database on a SSD Hard Drive.
7. Do not use a standard router! Standard routers are slowww and will bottleneck your server's performance. I recommend either buying a hardware firewall (and disabling extra features) or building your own router/firewall!
[Real Life Example!]
I will give you a basic layout of how my server infrastructure is setup so you can get an idea of the ideal setup.
I have a total of 4 servers.
Server A -> Router / Firewall
Server B -> Database / Apache2
Server C -> Gameserver 1 (and eventually Gameserver 3)
Server D -> Gameserver 2
Server C and Server D have a direct Gigabit link to Server B.
Server A, B, C, and D all have Gigabit links to a Gigabit switch.
Server A connects to the WAN.
=========================================================================
[I will add more on to this tutorial as people request more information]
As an Security, IT, and Networking professional...This is my contribution to the community.
If anything on this tutorial has helped you, please REP++
I will break down this tutorial into different sections covering the different areas of interest.
[Operating Systems for Servers]
I would have to say that Linux operating systems are the safest choice for hosting servers. One major thing you need to look for when choosing between different operating systems is the update frequency. Server operating system software should not be updated a lot! You should be using a stable version of Linux. You want to avoid the 'cutting edge' software if you can. Also, I would recommend not using a graphical GUI on any server (this means you would be using a single terminal instead of a desktop environment).
Recommendations for operating systems:
1.Debian Lenny (Advanced)
2.Cent OS (Advanced)
3. Ubuntu Server (Moderate)
4. Ubuntu Desktop (Noobs)
[Networking]
When hosting servers, your server will be uploading much more than it is downloading (Usually 66% Upload, 34% Download or so). Taking this into consideration, you are going to want to an internet connection that has a higher upload speed. Having a higher upload speed will allow more players on your server without lag.
For the typical OT server, you are going to have to have at least 5Mbits reserved.
[Hardware Infrastructure]
The typical rule of thumb for hosting any application that uses some sort of database is to have the database on a separate computer. This however is not going to be the case for most of you since it would require you to have multiple servers or use VMs. At any rate, you are going to want to reserve at least 2 GB of RAM for your database (size depends on your SQL server configuration).
As far as CPU's go, If you are hosting both the SQL server and the game server on one single system, try to get at least a Quad core. MySQL is a threaded application and its performance depends on the amount of threads you have (as well as how well your queries are constructed).
=========================================================================
Now that you have some background information, here is some more advanced tips on what you should pay attention to when hosting OTs.
1. Make sure your database is "defragged" every once and awhile! (You can look up how to do this on google).
2. Try to streamline your internal network so that your server has a more direct route to the WAN.
3. Using Gigabit technology for your server is recommended in most cases.
4. Make sure you set up features such as SYN Cookies and IP Table rate limiting, this will help prevent DDOS.
5. Try to be generous with RAM, if you server is using your page file...It's time to get more RAM!
6. Try to host your database on a SSD Hard Drive.
7. Do not use a standard router! Standard routers are slowww and will bottleneck your server's performance. I recommend either buying a hardware firewall (and disabling extra features) or building your own router/firewall!
[Real Life Example!]
I will give you a basic layout of how my server infrastructure is setup so you can get an idea of the ideal setup.
I have a total of 4 servers.
Server A -> Router / Firewall
Server B -> Database / Apache2
Server C -> Gameserver 1 (and eventually Gameserver 3)
Server D -> Gameserver 2
Server C and Server D have a direct Gigabit link to Server B.
Server A, B, C, and D all have Gigabit links to a Gigabit switch.
Server A connects to the WAN.
=========================================================================
[I will add more on to this tutorial as people request more information]
As an Security, IT, and Networking professional...This is my contribution to the community.
If anything on this tutorial has helped you, please REP++