- Joined
- Oct 10, 2019
- Messages
- 198
- Reaction score
- 459
This Cabal Online server management system is based on Docker containers.
This repack provides great opportunities to automate your Cabal Online server, as well as high stability and protection from certain types of attacks.
I hope that the quick installation and setup will help newbies get involved in Cabal Online development faster.
This release consists of two parts:
1. A simple installer that is suitable for most admins.
2. Project source files, which you can modify as you wish.
OS used:
Debian 11 - stable, tested on live servers
Debian 12 - not tested on live servers
If you know how to work with Linux, it will also not be difficult for you to modify the installer to work on other OSes.
Typically Debian does not allow remote connections for the root user.
If your username is not root, you need to run the following commands to enable this:
(enter new password for root)
Then reconnect using root.
Simple installation
Building a container from source (for devs)
This repack provides great opportunities to automate your Cabal Online server, as well as high stability and protection from certain types of attacks.
I hope that the quick installation and setup will help newbies get involved in Cabal Online development faster.
This release consists of two parts:
1. A simple installer that is suitable for most admins.
2. Project source files, which you can modify as you wish.
OS used:
Debian 11 - stable, tested on live servers
Debian 12 - not tested on live servers
If you know how to work with Linux, it will also not be difficult for you to modify the installer to work on other OSes.
Typically Debian does not allow remote connections for the root user.
If your username is not root, you need to run the following commands to enable this:
Bash:
sudo echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
sudo passwd root
Bash:
sudo systemctl restart ssh
Simple installation
Download the archive and extract it to a folder on your PC
Place the installer file and the backup file in the /root directory.
Edit the install.sh file if necessary:
serverTZ="Europe/London" - you must specify the time zone of your server. This setting will be applied to the database and will be difficult to change later. Therefore, I recommend immediately specifying the correct timezone.
mega_install=1 - installs MegaCMD for easy backup of your server.
change_hostname=0 - if enabled, will change the server name on the command line to make it easier for you to determine which server you are currently running on.
serverHostname="my-cabal"
Save the changes to the file. Then give the file executable permissions and execute.
Once the installation is complete, you can create your first server. The archive with the installer includes a very detailed tutorial, which describes step by step what you need to do.
I highly recommend everyone read it in its entirety - most of your questions will already be answered there.
However, I will describe the most basic things here.
All your server files are now located in the /home directory.
_server_backups - backups of your server will be stored here
_server_data - here are the scripts necessary for the server to work
data_**** - These directories will appear after we configure and create a new Cabal server. This is where all your Cabal server files will be stored. The asterisks can be any name you give the server. In the following I will use the name "main" as an example.
Open the file /home/_server_data/new_server.conf
Edit it like this:
srv_prefix='main'
where main is your server's unique identifier.
Here you can use any name that is convenient for you to associate with your server.
For example, "test", "server2", "dev", etc.
You will need to add this name to each command. A short and concise name is a good choice.
mssql_port=''
mssql_user=''
mssql_pass=''
Specify database installation options.
You can choose a port and username other than the default settings, this will increase the security of your server.
The password for the database must be complex and meet all
If you enter a simple password, you will not be able to connect to the database and server creation will fail.
After you have made all the necessary settings, run the command:
During the server creation process, the following actions will be performed:
The server's working directory has been created /home/data_main (where main is the id of your server).
The mssql container with the identifier sql_main has been created and launched.
The Cabal container with the identifier cabal_main has been created and launched.
Updated Cabal file configuration (IP address, ports, MSSQL user/password, OP, T-points).
Created and restored from a database backup.
A link to the cron scheduler file has been added to the /etc/cron.d directory
Once completed, your server with one main channel and two TG channels is ready to launch.
Command to start the server
where main is your server id
Your server is now created and running. The list of available commands is too large to post it here, so read all further steps in the attached manual, which I wrote about above.
And one more important point. Docker uses the iptables settings for its needs, and the rules for the INPUT chain you are familiar with will not work for container ports. Instead, you need to use the DOCKER-USER chain.
More details in the
You must be registered to see links
Place the installer file and the backup file in the /root directory.
Edit the install.sh file if necessary:
serverTZ="Europe/London" - you must specify the time zone of your server. This setting will be applied to the database and will be difficult to change later. Therefore, I recommend immediately specifying the correct timezone.
mega_install=1 - installs MegaCMD for easy backup of your server.
change_hostname=0 - if enabled, will change the server name on the command line to make it easier for you to determine which server you are currently running on.
serverHostname="my-cabal"
Save the changes to the file. Then give the file executable permissions and execute.
Bash:
chmod 0700 ./install.sh
./install.sh
Once the installation is complete, you can create your first server. The archive with the installer includes a very detailed tutorial, which describes step by step what you need to do.
I highly recommend everyone read it in its entirety - most of your questions will already be answered there.
However, I will describe the most basic things here.
All your server files are now located in the /home directory.
_server_backups - backups of your server will be stored here
_server_data - here are the scripts necessary for the server to work
data_**** - These directories will appear after we configure and create a new Cabal server. This is where all your Cabal server files will be stored. The asterisks can be any name you give the server. In the following I will use the name "main" as an example.
Open the file /home/_server_data/new_server.conf
Edit it like this:
srv_prefix='main'
where main is your server's unique identifier.
Here you can use any name that is convenient for you to associate with your server.
For example, "test", "server2", "dev", etc.
You will need to add this name to each command. A short and concise name is a good choice.
mssql_port=''
mssql_user=''
mssql_pass=''
Specify database installation options.
You can choose a port and username other than the default settings, this will increase the security of your server.
The password for the database must be complex and meet all
You must be registered to see links
.If you enter a simple password, you will not be able to connect to the database and server creation will fail.
After you have made all the necessary settings, run the command:
Bash:
server_create
During the server creation process, the following actions will be performed:
The server's working directory has been created /home/data_main (where main is the id of your server).
The mssql container with the identifier sql_main has been created and launched.
The Cabal container with the identifier cabal_main has been created and launched.
Updated Cabal file configuration (IP address, ports, MSSQL user/password, OP, T-points).
Created and restored from a database backup.
A link to the cron scheduler file has been added to the /etc/cron.d directory
Once completed, your server with one main channel and two TG channels is ready to launch.
Command to start the server
Bash:
cabal_start main
Your server is now created and running. The list of available commands is too large to post it here, so read all further steps in the attached manual, which I wrote about above.
And one more important point. Docker uses the iptables settings for its needs, and the rules for the INPUT chain you are familiar with will not work for container ports. Instead, you need to use the DOCKER-USER chain.
More details in the
You must be registered to see links
.Building a container from source (for devs)
These actions are also performed on Debian.
Software Setup
The forum does not allow you to write some commands here. Therefore, I provide them as a separate file. Run the commands from this file:
Download repository
Update repository (if necessary)
Build Container
Build backup file
Software Setup
The forum does not allow you to write some commands here. Therefore, I provide them as a separate file. Run the commands from this file:
You must be registered to see links
Download repository
Bash:
cd /home
git clone https://github.com/MikhailTsvetkov/Cabal-Online-Docker.git
Update repository (if necessary)
Bash:
cd /home/Cabal-Online-Docker
git pull
Build Container
Bash:
cd /home/Cabal-Online-Docker/source/cabal-container/cabal-container-C7
docker build --rm --no-cache -t hardcore-cabal-server .
cd
Build backup file
Bash:
chmod 0700 /home/Cabal-Online-Docker/build_cabal_repo.sh
ln -sf /home/Cabal-Online-Docker/build_cabal_repo.sh /usr/bin/build_cabal_repo
build_cabal_repo