Hosting a server in the Cloud (AWS)

Stellow

C++/C#/PHP/LUA
Joined
Oct 23, 2008
Messages
1,091
Reaction score
196
Location
Germany
GitHub
eubrunomiguel
Hello guys,

I have recently posted an article on my experiences hosting a TFS 1.2 on AWS.

It does not go into much detail, with respect to the knowledge that you have on custom Tibia servers, however, it is a nice starting point.

I am happy to share my experiences with you, and welcome any questions.

Honestly, the Cloud is an outstanding cost-value experience, and although the initial time investment is a bit higher, it is definitely worth it! I have experienced a super robust and practical infrastructure (with a lot of automation)!

 

Discovery

Developing myself
Joined
Apr 16, 2010
Messages
559
Solutions
11
Reaction score
250
Location
Neverland
nice thread and medium.

i love the diagrams

1618166601778.png
I never tried to put CI/CD inside Tibia projects. I did the same infrastructure server, but I developed multiple-login servers.
 
Last edited:
OP
Stellow

Stellow

C++/C#/PHP/LUA
Joined
Oct 23, 2008
Messages
1,091
Reaction score
196
Location
Germany
GitHub
eubrunomiguel
nice thread and medium.

i love the diagrams

View attachment 57594
I never tried to put CI/CD inside Tibia projects. I did the same infrastructure server, but I developed multiple-login servers.
Thank you!

CI/CD really saves a lot of time on rolling up/down features. Transferring files to the hosting... compiling... changing versions... all this boring stuff should be gone.
 

SCREECH

Veteran OT User
Joined
Dec 24, 2020
Messages
145
Reaction score
408
Cloud is 200% the way to go, especially since it is scale-able, wrecking machine costs, and that's not listing any of the other giant Pros with little to no Cons.
 

Erexo

Kage
Premium User
Joined
Mar 27, 2010
Messages
732
Solutions
5
Reaction score
164
Location
Pr0land
GitHub
Erexo
Tibia is the reason for all of that. It is why I have leaned towards programming; toward foreign languages; and toward the overall learning and looking-after mindset.
Love it, I owe a big debt to Tibia and OT community as well.
Overall that's a really nice article you wrote. Would you mind sharing some thoughts on the actual resources usage of your servers? Which EC2 configurations suits the OT Server best in relation to players and costs?
Also did you manage to keep low latency to the game server from both Brazil and Europe? Does AWS EC2 has some kind of buid-in proxy that does that for you or maybe you've rented a second smaller proxy server in AWS infrastructure? I have some experience on that field with OVH and their cross-continental infrastructure is a total garbage.
 
Last edited:
OP
Stellow

Stellow

C++/C#/PHP/LUA
Joined
Oct 23, 2008
Messages
1,091
Reaction score
196
Location
Germany
GitHub
eubrunomiguel
Love it, I owe a big debt to Tibia and OT community as well.
Overall that's a really nice article you wrote. Would you mind sharing some thoughts on the actual resources usage of your servers? Which EC2 configurations suits the OT Server best in relation to players and costs?
Also did you manage to keep low latency to the game server from both Brazil and Europe? Does AWS EC2 has some kind of buid-in proxy that does that for you or maybe you've rented a second smaller proxy server in AWS infrastructure? I have some experience on that field with OVH and their cross-continental infrastructure is a total garbage.
Thank you for your feedback.

I rented a t3.medium in Sao Paulo for the game server instance. t3 because of the unlimited network bandwidth, and their special network driver to reduce network virtualization overhead. Medium because of the 4GB of RAM, the server peaked at around 3GB.

The instance cost me 1.62 dollars a day, and it offered a ~15ms ping to players in Brazil. And I believe I had the minimum necessary to run my 64MB map.

Note, I only allocated 8 GB of Hard Disk. And it works fine. However, on some occasions, I would need to be cautious on not storing more than 1 core dumps, for example, otherwise, the memory would exhaust, and the server crash for lack of mem. available. I should have bought at least 16 GB to be more comfortable in case of repeatable crashes. Nonetheless, it worked fine, as I would upload the dumps to S3 and clean up afterward.

It did not, however, had any proxy or network complexity to players in another country, like in Europe. I myself live in Europe and would enter the game just for small broadcasts, however, my ping was super high.

The website was the one multiplied in many countries. Where pretty much the latency was less than a second for anywhere in the world. Unfortunately, it would not be possible to do something similar to the game server because of the hot memory allocation to run and save the state of the game.

I have attached some metrics.

On the packet count in/out's picture, you can explicitly see how the network behaved with the number of players. The maximums were around 100 players on, while the minimum 30. Same for the utilization, which was relatively low. A server save with 100 players would cost less than 1s.

The net bandwidth was also a small number compared to what the machine could handle. I would argue that a t1-t2.medium could possibly couple with that. However, t1-t2 may lack overhead optimizations, and not sure if the bandwidth would be delivered constantly.
 

Attachments

GenElf

New Member
Joined
Mar 12, 2021
Messages
10
Reaction score
1
If AWS is too expensive for you, you could also look into Hetzner ... quite a bit cheaper
 
Top