Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[EP8] Docker repack

RaGEZONE VIP
[VIP] Member
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:
Bash:
sudo echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
sudo passwd root
(enter new password for root)
Bash:
sudo systemctl restart ssh
Then reconnect using root.


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.
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 .
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
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 .

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
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
 
Joined
Aug 27, 2013
Messages
800
Reaction score
1,967
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:
Bash:
sudo echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
sudo passwd root
(enter new password for root)
Bash:
sudo systemctl restart ssh
Then reconnect using root.


Simple installation
[Hidden content]


Building a container from source (for devs)
[Hidden content]
Now this is amazing!

Briliant release!

:stonkscat: :stonkscat: :stonkscat:
 
Newbie Spellweaver
Joined
Jul 5, 2023
Messages
12
Reaction score
31
Will test this in Alpine, should I share Website stack using docker too? hkhkhk


edit: I'm a hobbyist and I'm afraid to get scrutinized by releasing a pond of backdoor website using php.
 
Last edited:
Joined
Aug 27, 2013
Messages
800
Reaction score
1,967
Will test this in Alpine, should I share Website stack using docker too? hkhkhk


edit: I'm a hobbyist and I'm afraid to get scrutinized by releasing a pond of backdoor website using php.
Don't underestimate yourself.
If you want to share it - go for it!
There might be people who will take it, improve it and share their version, or point out things to improve it.
 
Elite Diviner
Joined
Jun 18, 2023
Messages
436
Reaction score
245
Looking forward to you Hari <3 thanks for everything


Hopefully the website admin panel too ^_^ hehehe
Even just a webhost with latest apache version or php and sqlserv for website that cabal uses these days is really cool!
 
Initiate Mage
Joined
Aug 3, 2020
Messages
3
Reaction score
1
Even just a webhost with latest apache version or php and sqlserv for website that cabal uses these days is really cool!
hi did you manage to install sqlserv at debian 11? can u you share what you did sir thankyou.
 
Elite Diviner
Joined
Jun 18, 2023
Messages
436
Reaction score
245
I can't make the Saint channel works which is Channel 6 because when I wanted to runt it and test it will show "The same process name is already existed" and I already tried those solutions from the manual but still I can't figure it out.
 
RaGEZONE VIP
[VIP] Member
Joined
Oct 10, 2019
Messages
198
Reaction score
459
I can't make the Saint channel works which is Channel 6 because when I wanted to runt it and test it will show "The same process name is already existed" and I already tried those solutions from the manual but still I can't figure it out.
This error occurs after a critical failure. This is not a cause, but a consequence. Look in the logs for the error that precedes the failure.
 
Elite Diviner
Joined
Jun 18, 2023
Messages
436
Reaction score
245
Hi, can you help me how can I install node.js and mysql inside the docker? I tried to install the 2 but the port or they are not accessible.
 
Junior Spellweaver
Joined
Aug 23, 2022
Messages
100
Reaction score
5
Is there any tutorial video to make a reference on how to setup docker from start to finish. so that you can follow step by step and so on
 
Back
Top