Jump to content

Host your own server and save money


Recommended Posts

Introduction

Unlike other hosting solutions this require that you do some of the work by yourself, in return you get your own 24/7 server which will be able to host your own MTA server and maybe even become helpful for your friends servers (depending on it's performance). The solution is this free tutorial with easy installation scripts included which will do most of the work for you. It's currently a basic solution, but it will be improved over the time. Please note that this guide aims to more experienced users, if you don't have all required tools available use another solution, you are also by yourself responsible for any consequence you may face by following this tutorial.

Advantages

  • It's free (you may even earn some money from this)
  • (Optional) Your own webserver
  • (Optional) Your own mysql database
  • (Optional) Your own file server (Useful for backup)

Requirements

Check below list to see if you have what it takes, please note that it's only my recommendations based on my own tests and in some cases you may need more or less powerful hardware or solve your problems in other ways than those I suggest here.

  • A stationary PC (mid tower, full tower or anything that is easy to modify and repair, also avoid plastic chases since they may cause a fire if overheated, (security first)). A raspberry pi or similar would also be a great choice if you want something new for a low price.
  • Reliable cable network, don't use a wireless connection for your server unless you're goanna host it on the moon. try to have at least 10mbt/s up and down, (you may be fine with less but if you want to avoid slow download speed or general lag it's recommended)
  • Reliable hardware, don't look yourself blind on performance, you're not building a top of the line gaming PC and you're not goanna host CIT, some hardware that works just fine are for example:
    RAM 512MB, 1GB, 2GB, 4GB
    CPU > (minimum) 512MHz single or dual core, recommended > (1GHz) from single core and up.
    HDD, always use at least 2 so you can backup anything, their size doesn't need to be larger than 32GB, keep your cat away (if you have any).
  • Server operating system, think of it, when you use another host you'll probably rent a VPS to which you connect with ssh from a terminal (Putty on Windows), so you won't need nice looking graphics or GUI on this server, I recommend anything based on Linux Debian, especially the No GUI version which uses a really low amount of resources giving you access to almost all performance for your MTA server and other apps you wish to run.

Warning Do NOT continue unless you are sure about this, You're doing this at your own risk, Feel free to ask about this but don't expect me to solve all potential issues you may face, I'm not taking any responsibility in case something goes wrong when you try this, if you follow the tutorial there shouldn't be any issues.

Choose a distribution

For a server like this, which is most likely going to run on an older PC with poor performance, Linux is the obvious choice, Game servers generally need to have as much RAM and CPU power as possible, Windows is usually taking up as much RAM it can get while there are many Linux distributions using less than 50MB ram. First of all, find out the info about the PC you are going to use and choose a proper Linux distribution from the list below. More of them will be added soon based on comments and what I know works so far.

Please note that these might take a couple of hours to install but it's worth it.

Get the MTA server

You'll find a pretty nice tutorial in how to install the MTA server in the wiki, however, if you're too lazy to read all that you may use the below bash script instead.

#!/bin/bash 
# Make directory for your server 
mkdir /home/$USER 
cd /home/$USER 
  
# Download and extract the server, (please note that there might be newer version available, check here: [url=https://nightly.multitheftauto.com]https://nightly.multitheftauto.com[/url]) before you download. 
wget [url=http://linux.multitheftauto.com/dl/]http://linux.multitheftauto.com/dl/[/url]140/multitheftauto_linux-1.4.0.tar.gz 
tar -xf multitheftauto_linux-1.4.0.tar.gz 
rm multitheftauto_linux-1.4.0.tar.gz 
  
# Download, extract and install default config files 
wget [url=http://linux.multitheftauto.com/dl/]http://linux.multitheftauto.com/dl/[/url]140/baseconfig-1.4.0.tar.gz 
tar -xf baseconfig-1.4.0.tar.gz 
mv baseconfig-1.4.0/* multitheftauto_linux-1.4.0/mods/deathmatch 
rm baseconfig-1.4.0.tar.gz 
mv multitheftauto_linux-1.4.0 mtasa-server 
cd mtasa-server 
  
# Start the server 
./mta-server 

Running the script (optional)

Copy the script from above code box and add it to a new document named "install.sh", make it executable by doing "chmod +x install.sh" and then use "./install.sh" to execute it and it will download, install and start the MTA server for you.

Source:

https://wiki.multitheftauto.com/wiki/Installing_and_Running_MTASA_Server_on_GNU_Linux

Port forward

This is required to allow people from outside your network to access it, see this page if you need help with that. Clients connect on port 22003 UDP by default (if nothing else is specified in "mods/deathmatch/mtaserver.conf"), your built in webserver are located on port 22005 TCP and your ASE port where game monitors including the server browser can find your server is on default port + 123, in this case 22003+123 which is port 22126 UDP.

Extra features

Ok so now you have a Linux server running a default MTA server, but a good server also need some kind of website with forum right? that's where the LAMP server comes in, (Linux, Apache2, MySQL, PHP server). It's also relatively easy to install but even easier with the install script below.

# Update and install apache2 (webserver) 
sudo apt-get update 
sudo apt-get install apache2 
  
# Install MySQL (use default settings and pick a strong password) 
sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql 
sudo mysql_install_db 
sudo /usr/bin/mysql_secure_installation 

So this is what you need to make a html website and being able to use MySQL, to install php, see the source tutorial (advanced users). https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu, php makes it possible to install a forum like MyBB, SMF or PhpBB if you prefer, something most communities need.

Aditional packages

Here's a list of other useful packages you may install on your server, they should work on most Linux distributions. Use "sudo apt-get install ..." to install them.

  • lm-sensors fancontrol #Ability to justify your server fans and monitor temperatures for a perfect balance in noise and cooling
  • openssh-server openssh-client #to access your server remotely, upload files via sftp, make certificates for encrypted connections and many more.
  • screen #To keep your session alive after closing your terminal and to run multiple servers at once.
  • samba #Share files with other PC's on your local network via their file browser.
  • htop #Usually installed by default but views performance usage in a nice looking way.
  • vsftpd #Lightweight and secure ftp server.

And that's it, good luck.

Edited by Guest
Link to comment

This looks interesting but I'm not sure what you actually offer and how it works. What's the idea of this, is it a tutorial to how to setup your own server (pretty good if so) or is it some kind of coordinator solution for people who want to host their own servers? I'm really curious.

Link to comment
This looks interesting but I'm not sure what you actually offer and how it works. What's the idea of this, is it a tutorial to how to setup your own server (pretty good if so) or is it some kind of coordinator solution for people who want to host their own servers? I'm really curious.

Our first goal now is to present this idea and find out if there is any interest, I have no idea whenever it has been tried before or not but let's call it "franchise hosting". The idea is simple, AC:Games is the organization at the top who runs the global websites such as forums, code libraries and info channels (and of course social media). Below it we have the small hosts which could be described as people who runs one or more servers on their home network just for fun.

Usually it's not easy to find customers while running your own server, people doesn't know if they can trust each others or how payments and stuff like that are supposed to work, our goal is to setup standards for that part as well. Like global rules that applies to all servers who would like to join this project which includes everything from naming, file system layouts and most important safe payments without scamming.

There is still a lot of work to do before we can release this project fully but we recommend people that want to join to start setting up their servers as early as possible. There are tutorial links currently but I will make scripts out of these that automatically configure the servers after installing a proper Linux distribution with the useful packages, everything well tested and open source of course.

Once again, feel free to ask or discuss in here. All feedback are useful.

Link to comment
Datacenters?

Only Sweden?

It's relatively new terms in the server industry but it refers to the classical picture people have of a large hosting company, a storage building in the middle of nowhere filled with servers. By spreading out smaller servers allover the world this could be one of the safer and faster hosting solutions available but we are only at the beginning so far. 3 servers in different locations in Sweden is available so far but there is still work to do on global control panels and stuff like that.

With this topic I'm searching for people with old computers available that could become a good server for a couple of MTA servers and of course general interest in a project like this.

Link to comment

So, basically from what I have understood from reading this is you are trying to make a hosting company that has people around the world using old computers to host MTA servers?

If so, the way I see it, this couldnt work.

The reason people buy servers from datacentres or rent servers from people who have multple servers in datacentres is for performance, reliability and security.

I dont think it would be very reliable for some guy that is using an old computer somewhere in he world to host your server. Nor would you get very good performance seeing as you are asking for old computers.

This is just the way I see it anyway.

But hey, goodluck

Link to comment
What if we don't have a old unsed computer? How are you going to do it?

We apply the same logic here as for those who doesn't own a hosting company, no one force you to join or even buy or get an old computer if you don't want. Just because you don't have the ability to become a part in this project doesn't mean nobody has that, right. I'm not saying old PC's specifically, basically any device that can run Linux and isn't used for anything else currently. Some people host their own MTA servers but their hardware can handle more servers without any trouble.

@bradio10 Not really a hosting company, see it more as a project to help smaller hosting companies (or people that just have some old servers up and running for fun) cooperate and find customers. There are many ways regarding the security as well, it's all depending on what kind of attacks we are dealing with, DDoS for example would be very hard with many servers spread around the world, physical attacks such as cutting of the power or the network cables would be hard as well, at least you can't take down all the servers at once like in a datacenter. While a datacenter offers other advantages, it's all depending on what the end user need in every single case.

Regarding performance I would say that it's fully depending on what a customer needs as well, I have long experience in running MTA servers on low performance devices and it's all depending on how much you can optimize the software.

Anyway thanks for your feedback, see this as an open suggestion, if we have a lack of interest then I'll make this to a regular tutorial with easy installation tools included about how you setup your own Linux server since that might be more useful for some people.

Link to comment
  • 4 weeks later...

I honestly don't see how this could be "free" as the PC would be running 24/7 which would cause quite an electricity bill afterall. Well... Those who got parents paying their bills wouldn't care, but those who are paying the bills would profit more from buying an external host instead.

Link to comment
I honestly don't see how this could be "free" as the PC would be running 24/7 which would cause quite an electricity bill afterall. Well... Those who got parents paying their bills wouldn't care, but those who are paying the bills would profit more from buying an external host instead.

Peoples parents would most likely care too, this solution wasn't invented for kids in the first place, it's made for people with a large technical interest that want to have their own server, nothing says that you have to run it 24/7 either, nothing says that you have to buy the electricity from a large power plant or whatever you got nearby either.

Use your imagination and apply the solution in a way where you can gain profit from it, a 24/7 server may consume a lot of electricity, meanwhile you get heat in return, which can be used to warm up a building during the cold winters we have up in the north. If you don't have cold winters where you live, or a house to warm up, don't blame me, you have to accept the fact that this isn't some kind of universal solution that works for everyone.

Link to comment

Maybe it's useful to add something about the Cubieboard 3 or a Raspberry-pi, I would go for the Cubieboard 3 because it is twice as powerful as the raspberry-pi and it doesn't use a lot of power. 5v if I'm right, all you need in a lan-cable in his butt and use a terminal to install it. It's a great little snippet but I'm not sure how it will last for bigger servers. The ram is limited...

Link to comment
Maybe it's useful to add something about the Cubieboard 3 or a Raspberry-pi, I would go for the Cubieboard 3 because it is twice as powerful as the raspberry-pi and it doesn't use a lot of power. 5v if I'm right, all you need in a lan-cable in his butt and use a terminal to install it. It's a great little snippet but I'm not sure how it will last for bigger servers. The ram is limited...

Thought I mentioned the performance of my test system in this tutorial which is relatively equal to a raspberry pi, my testsystem was a 15 years old laptop running Linux Debian, beside the MTA server there was also a CS 1.6 server and Cod 4 MW server running at the same time, including web (apache2), ftp (vsftpd) and remote desktop (xrdp) running on it. All that made it act like an external host (VPS), if that can handle all those servers with ~20 players on each game server then a raspberry pi or a Cubieboard 3 wouldn't have any problem doing the same thing. Thanks for the tip, those would probably also be cheaper than an old PC to maintain.

Link to comment
  • 1 month later...
  • 5 weeks later...
lol for one to get internet and the hardware is expenisve. By the time your done you pay the internet bill ONLY for good internet is AT LEAST $30-50 for sure! My Vortex Server host makes me pay $3.90 wich is a whole lot better

Every time I buy a new PC I still have the old one hanging around, I also need constant access to the internet so both hardware and internet connection are things I still have to pay for no matter if I host by myself or rent a VPS from vortex, with full control of my servers I don't have to worry about what other people do, which may cause bad performance for my VPS, I got all performance for myself which is a huge advantage, electricity and it's rest products (heat) can be reused in many ways and are costs I still have to pay, at the end I get a fully acceptable uptime of 99.8% (stats from this year), for a cost of just $1 which was due to a broken capacitor in one of the servers.

It's not a perfect solution in all cases as said earlier, but there are definitely cases where this is the best solution, all Grand Theft Walrus servers runs on a solution like this for instance, take a look there if you wish to see it live. With the right software as mentioned in the tutorial I also have lot's of performance being unused which I sell for a cheap price to responsible developers in need of a host. So the final hosting cost ended up in -$200 in pure profit, something you can't get if you use vortex. My conclusion is simple, this self hosting project is definitely better ;)

Link to comment
  • 3 weeks later...

It's an interesting concept I guess but are you sure about all this stuff, is there any guarantees or practical details to consider before trying this or did you made all this in theory? I'm planning to start a small community ~20 players (max 40) and not to heavy resources, and this might be a good solution to start with for me. Any suggestions or examples?

Link to comment
It's an interesting concept I guess but are you sure about all this stuff, is there any guarantees or practical details to consider before trying this or did you made all this in theory? I'm planning to start a small community ~20 players (max 40) and not to heavy resources, and this might be a good solution to start with for me. Any suggestions or examples?

I wrote this tutorial from practical experience after hosting over a year for a couple of communities, the key is to have a plan B in case of errors, the most common ones are blackouts or network loss. I managed to solve them with batteries and a second network with automatic dns redirection. The total uptime then became 99.7% and the servers are running fine as well, here's some demo servers in case you wish to test performance. s3 and s4 are the two oldest machines.

***

In short, be creative and use whatever you can use ;)

Edit: removed non working server links.

Edited by Guest
Link to comment
  • 1 year later...

Depends what FPS limit you set, MTA supports 100 FPS theoretically, most displays support 60 FPS and that's what I would recommend you to use on your server, although 60 FPS causes a few bugs related to swimming making you swim slow if I remember right so to get the most out of the game from a technical perspective 36 FPS is recommended, although that would look and feel laggy on displays that support 60 FPS so go for 60 in your server configuration and connect with a display that runs at 60 on a proper computer.

With all that in mind you could easily expect 60 FPS all the time. Lack of threading support may be the major threat since a raspberry comes with multiple cores running at low frequency. You may also consider a fast SD card as slow IO operations could cause noticeable lag as well (learned that from using a USB stick in the old laptop with slow access times even if the IO operations itself where faster than the internal hard drive). As a final note I would not recommend this solution anymore, mainly because power and bandwidth would cost almost as much as the new cloud based solution I'm currently working on, even if you use a raspberry pi which doesn't need much power at all.

Lack of scale ability, ddos protection, ssd disk performance (SD cards are usually just as slow as normal hard drives), bandwidth and the ability to choose where in the world you would like to have your server at are all valuable arguments against using a raspberry pi as host for your mtasa server, although if you can live without that, if you already got proper bandwidth and the pi itself it's definitely a cheap solution in a long time perspective for a small server for yourself and your friends.

Link to comment

A free VPS may be hard to get but if you go for a cloud VPS they usually have generous offers for new customers like try it for free in 2 months or a rebate code that gives you some money to try the service for free for a limited time. They are usually relatively cheap too, not as cheap as a raspberry Pi but considering what you get for the money they are. A raspberry also needs some accessories like a charger, a chase, micro SD card, additional cables not to forget the extra bandwidth running a server on the home network requires.

By using a cloud service wisely, i.e add swap space on their fast ssd drives for extra ram and not buying more performance than you need you could probably have that for about 2-3 years for the same price a raspberry pi plus all it's accessories would cost, (bandwidth not included). So with that said here's my recommendations:

www.digitalocean.com ($10 rebate code included)

www.vultr.com ($5 rebate code included + $2 if you follow them on twitter :lol:)

At the end I think the bandwidth as well as lack of security are the two main arguments against running a server on your home network, I mean if you download a file on another PC in that network you'll increase the latency for all your players, you would need at least 30mbit/s which would cost at least $20/month (a cloud vps in contrast provides you with a 1Gbit/s line included in the price of the vps starting at $5/month) and there won't be any latency increasing conflicts like the normal usage on a typical home network could cause.

Another thing is the power, a data center usually has UPS for their servers as well as diesel generators to avoid going down, on a home network on the other hand you simply don't have that kind of protection, if you're out of power there's nothing you can do. Same thing if someone decide to launch a ddos attack against your server you're an easy target and nothing on your home network can access the internet.

As a conclusion I think it's time to lock this thread now since it doesn't live up to peoples expectations anymore. I might start a new thread in order to collect all the reasonably priced hosting solutions in one place, unless someone else do it before me. There's obviously a big interest in reasonably pricing.

Link to comment
  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...