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!

[CentOS 7/8 Repack] Full Cabal Server Installation + CentOS SQL (Database) [Updated 2023]

Newbie Spellweaver
Joined
Mar 30, 2020
Messages
51
Reaction score
2
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

cabalmain won't open. when I run it nothing happens.
 
Newbie Spellweaver
Joined
Mar 27, 2020
Messages
53
Reaction score
2
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

nice release.. thank youServer files running.. i cant sync my client filescabal pililinas.. data and common. ini CBP files also..
 
Newbie Spellweaver
Joined
Dec 22, 2018
Messages
60
Reaction score
6
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

nice release.. thank youServer files running.. i cant sync my client filescabal pililinas.. data and common. ini CBP files also..
Have you checked language sync ? server side
 
Newbie Spellweaver
Joined
Mar 27, 2020
Messages
53
Reaction score
2
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

Have you checked language sync ? server side

yes bro all working.. by the way thank you brother appreciate it
 
Newbie Spellweaver
Joined
Mar 17, 2020
Messages
28
Reaction score
2
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

This tutorial will show you how to have a fully working Cabal Online Private Server on CentOS 7 VPS with a Database and overall - ready to launch officially* or not.
[This tutorial is written for CentOS 7 ONLY]​
*if you have a ready files though.
About repack: It's an early stage of the repack that has been planned for quite a while and it requires a bit more manual work than the usual one, but that I explain below, so hopefully, if you follow my tutorial, you will have no issues to have a server.

- Cleaned Libraries that stopped CentOS yum update and were not used at all.
- Overall clean-up of the whole repack and scripts.
- Infinite yum update [expected] without any issues (lol).

- If you will notice anything, please report here. REPACK RELATED ISSUES ONLY.
- As well as any feedback appreciated!
Links to one of the cheapest VPS's on the internet with a minimal anti-ddos:
-
-

- No more Windows R2
- No more Remote Desktops
- No more hassle
- No more 30-120 Euros a month for Dedicated Servers with additional charges for Windows Environment


IMPORTANT NOTE: If you will follow my full tutorial, you will have it a fully working server within 2 hours time. Repack has been tested and already used by couple servers and my test server.
This repack might not suite everyones taste, as it has a different cabal_status and overall OS environment is slightly different from CentOS 6.

Tutorial has sections, so make sure you follow them.

So, without further ado, lets begin:

Section 1 [Minimal to Average Requirements]:
Minimal Requirements of User:
1. Read in english.
2. Follow tutorial accurately.
3. NO RUSHING. Patience is a virtue.
4. Double-check every step done and verify it.
5. Assure that everything has been done correctly and as tutorial says.

FOR COMPLETE BEGINNERS:


Minimal Requirements of System:
1. CentOS 7 [Not Debian, not Ubuntu, not Fedora or any of that sort]
2. 6 GB Ram [CentOS SQL requires minimum of 4 GB RAM]
3. 100 GB of space [can be either SSD or HDD]
4. 100mbps Bandwith [This is only if you won't make it public or will not go international, for public release minimum 250mbps recommended]

Section 2 [System Preparation]:

Assumingly you've got your CentOS 7 running, you have to do couple of things:

1. Check if you have a running Firewalld. Command to check it:
Code:
systemctl status firewalld
- If it is shown as: Active: active (running) then go to Step 2.
- If it is show as: Inactive then go to Step 1.1.

1.1. Command to restart Firewalld:
Code:
systemctl restart firewalld
*
* Repeat Step 1 to check if it is Running now.

2. Run Yum Update to update your system:
Code:
yum update
Section 3 [Database Installation & Restoration]:
Database Installation

Advisable: Get newest SSMS for yourself, in order to connect to your new database:

FULL SETUP:
Minimal Setup:

1. Download the Microsoft SQL Server Red Hat repository configuration file:
Code:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

2. Run the following commands to install SQL Server:
Code:
sudo yum install -y mssql-server

3. Run mssql-conf setup and follow the prompts to set the SA password and choose express edition [Number 3] <- because it is a Free Edition of newest SQL:
Code:
sudo /opt/mssql/bin/mssql-conf setup

4. Check if SQL is running:
Code:
systemctl status mssql-server

5. Make backup directory to restore your backups from:
Code:
mkdir -p /var/opt/mssql/backup

6. Upload your database backups [.bak files] into: /var/opt/mssql/backup
CLEAN EP8 Database Backups [Toast's]:
Contains:
Code:
* Account
* Authentication
* CabalCash
* CabalGuild
* EventData
* Netcafebilling
* Server01
cabalmanager is NOT NEEDED. It does not have any function in EP8.

Database Restoration

Once you have done all points in Database Installation part, follow these simple to restore your database using PuTTy Terminal, which is simple copy-paste + enter.

1. Download required repository for SQLCMD:
Code:
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
2. Run the following command to install it:
Code:
sudo yum install mssql-tools unixODBC-devel
3. Create a symlink using this command:
Code:
sudo ln -s /opt/mssql-tools/bin/* /usr/local/bin/
4. Using the following line in PuTTy terminal, you will create a database and restore it at the same time, without the need to login to SSMS Management and create everything there, as show in this sample:
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [[COLOR=#ff0000][B]Account[/B][/COLOR]] FROM DISK = N'/var/opt/mssql/backup/[COLOR=#ff0000][B]Account.bak[/B][/COLOR]' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"

Copy paste the following lines in the spoiler below to restore full database.
*Important: after each line, you will be prompted to input database password.
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [Account] FROM DISK = N'/var/opt/mssql/backup/Account.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [Authentication] FROM DISK = N'/var/opt/mssql/backup/Authentication.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [CabalCash] FROM DISK = N'/var/opt/mssql/backup/CabalCash.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [CabalGuild] FROM DISK = N'/var/opt/mssql/backup/CabalGuild.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [EventData] FROM DISK = N'/var/opt/mssql/backup/EventData.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [NetCafeBilling] FROM DISK = N'/var/opt/mssql/backup/NetCafeBilling.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [Server01] FROM DISK = N'/var/opt/mssql/backup/Server01.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!

Database Location and Commands:

Location: /var/opt/mssql
Backups: /var/opt/mssql/backup
Command to restart database:
Code:
systemctl restart mssql-server

P.S. SQL has its own cmd, but it is not adviseable for novice user to use it, as SSMS does everything you need.
Section 4 [Ports & Firewalld]:

1. Allow ports in the Firewalld:

Code:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent

Required Ports [Default ones, change accordingly to your custom ones if you decide to change]:
- 80 - HTTP
- 443 - HTTPS
- 1433 - Database
- 38101 - LoginSvr
- 38121 - Chatnode
- 38151 - AgentShop
- 38111 - 38116 - Channels*
- 38126 - War [170-190]*
You can open a full port range by typing:
Code:
sudo firewall-cmd --zone=public --add-port=38111-38126/tcp --permanent
* DO NOT OPEN GLOBALMGRSVR PORT.
** The ports provided are fully sufficient for full server use.

2. After you have added all of the ports, restart firewalld:
Code:
sudo firewall-cmd --reload

3. Check if you have added all of the ports you require:
Code:
firewall-cmd --list-all

4. OPTIONAL - You can also create a new zone in firewalld, if you decide not to use public zone, as well as add blocks / drop specific connections and such:

Section 5 [Repack Installation]:

REPACK DOWNLOAD LINK:
1. cabal_ep8_repack.tar.gz into /root directory.

2. Run command:
Code:
tar xzvf cabal*

3. Run command:
Code:
chmod +x install.sh

4. Start instalation:
Code:
./install.sh

Installation is pretty straight forward, just let it install everything and update system and additional libraries.

5. When installation is finished, type:
Code:
cabal_config
and input required information.

6. After that is completed, type:
Code:
mkdir -p /var/log/cabal

REPACK COMMANDS:

Creation / Config:
Code:
cabal_create -s - creates Servers [World] (SAMPLE: cabal_create -s 1 [will create 1 server])
cabal_create -c - creates Channels (SAMPLE: cabal_create -c 2 1 [will create 2 channels in the 1st server])cabal_config = Server ips, database port and credentials
Management:
Code:
cabal_start - starts services
cabal_stop - stops services
cabal_status - checks services

cabal_reload - reloads services [B]on live server[/B]
cabal_restart - restarts services
cabal_restart -d - restarts services and deletes all logs*
[Please download a fixed version of cabal_restart -d from here: and replace it with the existing one in: /etc/cabal/Template/sh]
Section 6 [Server Setup a.k.a. Finishing Touches]:


*** SERVER SIDE ***

VERY VERY BIG ADVISE: DO NOT paste your .ini files of any config, apart of common.ini ; just recreate it on the new ones. [Advising as some people had experienced some sort of a issues in regards to changing .ini files that were not common.ini and I had no time to look into it, but anyone with knowledge and kind enough could post anything about it and I will update this tutorial]

1. Go to WorldSvr_0X_0X and change ports accordingly, as repack will recreate all channels [WorldSvr_0X_0X on port: 38111 ; so you won't see any other channels apart of Channel 1]

For beginners:
Lets say you created 5 channels, you will see only channel 1 because all of them has port 38111 set on it, so what you need to do is this:
Go to WorldSvr_01_02 and change it's port to 38112
Go to WorldSvr_01_03 and change it's port to 38113
Go to WorldSvr_01_04 and change it's port to 38114
Go to WorldSvr_01_05 and change it's port to 38115

2. Check GlobalMgrSvr_0X.ini file to setup your channels accordingly.

3. Update LoginSvr_0X.ini and Account Database-> dbo.cabal_client_version table with your client's Magic Key and Client Version.

4. Refer to Toast repack's War Channels and Saint Vikalitan event, it doesn't have an automatically added ones yet.

5. Another Advise: Replace ONLY Data folder and Common.ini [Don't forget to link each of them to your Channels if you have more than one] if you start a fresh server.

5.1. CHMOD your new Data folder and Common.ini files with right permissions, using these commands:
Code:
sudo chmod -R 777 /etc/cabal/Data
*This will set all permissions to new Data folder and it's subfolders.
Code:
sudo chmod 777 /etc/cabal/Common.ini
*Change accordingly to your common.ini name.

6. Channel & Server types: Toast's Tutorial

*** DATABASE SIDE ***​


Noticed some issues connecting to bega or some websites, so do the following to avoid them:

1. Assumingly you restored all database, go to:
Code:
Account -> Tables -> dbo.cabal_auth_table -> right-click it and select "Design" -> go to password section and change it from: var(50) to var(256) -> click "Save" in the tools meniu line.

2. Go to Account -> Programabillity -> Stored Procedures -> dbo.cabal_tool_registerAccount and change all password var(XX) to var(256) -> click run and then close it.

3. Go to Account -> Programabillity -> Stored Procedures -> dbo.cabal_tool_registerAccount_web and change all password var(XX) to var(256) -> click run and then close it.

4. [B]REMINDER:[/B] go to Account -> dbo.cabal_client_version_table and update Magic Key and Version in order to connect properly into your server.
[/SPOILER]

[CENTER][COLOR=#000080][SIZE=4][B][URL="https://www.youtube.com/watch?v=1Bix44C1EzY"]Congratulations![/URL]

Now you can type: cabal_restart -d 
and join your server!

[/B][/SIZE][/COLOR]
[SIZE=5][COLOR=#0000ff][B]Useful Tips & Tricks:

[/B][/COLOR][/SIZE][/CENTER]
[Spoiler]
1. [B]Lock Channel on your IP[/B]
[I]Mini tutorial:[/I]
Simply add a rule to your existing Firewalld zone, using this command: 
[CODE]firewall-cmd --permanent --zone=public --add-rich-rule='
 rule family="ipv4"
 source address="[B][COLOR=#ff0000]YOUR_IP[/COLOR][/B]/32"
 port protocol="tcp" port="[COLOR=#ff0000][B]YOUR_PORT/s[/B][/COLOR]" accept'
* In "your port" part, add channel port you want to lock on your IP, which will lead for channel to be visible for everyone, but if someone else will try to click on it, it will not allow to connect. Only user/s who's IP/s are added to this rule, can connect to the channel.
You can also insert a port range, just like in Firewalld section of this tutorial.

Once you paste it, you have to reload your Firewalld:
Code:
sudo firewall-cmd --reload

To remove your "lock" and allow everyone to connect to the channel, copy-paste this, with the details changed accordingly:
Code:
firewall-cmd --permanent --zone=public --remove-rich-rule='
 rule family="ipv4"
 source address="[B][COLOR=#ff0000]YOUR_IP[/COLOR][/B]/32"
 port protocol="tcp" port="[B][COLOR=#ff0000]YOUR_PORT/s[/COLOR][/B]" accept'
Once you paste it, you have to reload your Firewalld:
Code:
sudo firewall-cmd --reload



All credits belong to people who helped and supported the project not solely by feedback, but also financially.
Most credits: penetrator9000 (wished to remain in shadows) & Yamachi

References: DeXtR and Toast2250

why can't I connect my site to databases???This might be related if I didn't do GameServer
 
Newbie Spellweaver
Joined
Mar 30, 2020
Messages
51
Reaction score
2
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

Is anyone experiencing unable to login after 1st login? I have to restart the server again for me to login. I'm running my server in Azure with Standard D2s v3 (2 vcpus, 8 GiB memory) It's me only in this server. Is it because of low ram and cpu? or because of the WorldSvr.bin all crash fix by AzureSensei?
 
Initiate Mage
Joined
Apr 22, 2020
Messages
1
Reaction score
0
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

Hello guys ! I'm totally new to cabal and jus manage to get the installation working without any issues .Know everything is set up i would like to know how do i get the client for my server and how do i get it to connect to the server .Thanks in advance .
 
Joined
Oct 10, 2007
Messages
1,773
Reaction score
187
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

This tutorial will show you how to have a fully working Cabal Online Private Server on CentOS 7 VPS with a Database and overall - ready to launch officially* or not.
[This tutorial is written for CentOS 7 ONLY]​
*if you have a ready files though.
About repack: It's an early stage of the repack that has been planned for quite a while and it requires a bit more manual work than the usual one, but that I explain below, so hopefully, if you follow my tutorial, you will have no issues to have a server.

- Cleaned Libraries that stopped CentOS yum update and were not used at all.
- Overall clean-up of the whole repack and scripts.
- Infinite yum update [expected] without any issues (lol).

- If you will notice anything, please report here. REPACK RELATED ISSUES ONLY.
- As well as any feedback appreciated!
Links to one of the cheapest VPS's on the internet with a minimal anti-ddos:
-
-

- No more Windows R2
- No more Remote Desktops
- No more hassle
- No more 30-120 Euros a month for Dedicated Servers with additional charges for Windows Environment


IMPORTANT NOTE: If you will follow my full tutorial, you will have it a fully working server within 2 hours time. Repack has been tested and already used by couple servers and my test server.
This repack might not suite everyones taste, as it has a different cabal_status and overall OS environment is slightly different from CentOS 6.

Tutorial has sections, so make sure you follow them.

So, without further ado, lets begin:

Section 1 [Minimal to Average Requirements]:
Minimal Requirements of User:
1. Read in english.
2. Follow tutorial accurately.
3. NO RUSHING. Patience is a virtue.
4. Double-check every step done and verify it.
5. Assure that everything has been done correctly and as tutorial says.

FOR COMPLETE BEGINNERS:


Minimal Requirements of System:
1. CentOS 7 [Not Debian, not Ubuntu, not Fedora or any of that sort]
2. 6 GB Ram [CentOS SQL requires minimum of 4 GB RAM]
3. 100 GB of space [can be either SSD or HDD]
4. 100mbps Bandwith [This is only if you won't make it public or will not go international, for public release minimum 250mbps recommended]

Section 2 [System Preparation]:

Assumingly you've got your CentOS 7 running, you have to do couple of things:

1. Check if you have a running Firewalld. Command to check it:
Code:
systemctl status firewalld
- If it is shown as: Active: active (running) then go to Step 2.
- If it is show as: Inactive then go to Step 1.1.

1.1. Command to restart Firewalld:
Code:
systemctl restart firewalld
*
* Repeat Step 1 to check if it is Running now.

2. Run Yum Update to update your system:
Code:
yum update
Section 3 [Database Installation & Restoration]:
Database Installation

Advisable: Get newest SSMS for yourself, in order to connect to your new database:

FULL SETUP:
Minimal Setup:

1. Download the Microsoft SQL Server Red Hat repository configuration file:
Code:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

2. Run the following commands to install SQL Server:
Code:
sudo yum install -y mssql-server

3. Run mssql-conf setup and follow the prompts to set the SA password and choose express edition [Number 3] <- because it is a Free Edition of newest SQL:
Code:
sudo /opt/mssql/bin/mssql-conf setup

4. Check if SQL is running:
Code:
systemctl status mssql-server

5. Make backup directory to restore your backups from:
Code:
mkdir -p /var/opt/mssql/backup

6. Upload your database backups [.bak files] into: /var/opt/mssql/backup
CLEAN EP8 Database Backups [Toast's]:
Contains:
Code:
* Account
* Authentication
* CabalCash
* CabalGuild
* EventData
* Netcafebilling
* Server01
cabalmanager is NOT NEEDED. It does not have any function in EP8.

Database Restoration

Once you have done all points in Database Installation part, follow these simple to restore your database using PuTTy Terminal, which is simple copy-paste + enter.

1. Download required repository for SQLCMD:
Code:
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
2. Run the following command to install it:
Code:
sudo yum install mssql-tools unixODBC-devel
3. Create a symlink using this command:
Code:
sudo ln -s /opt/mssql-tools/bin/* /usr/local/bin/
4. Using the following line in PuTTy terminal, you will create a database and restore it at the same time, without the need to login to SSMS Management and create everything there, as show in this sample:
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [[COLOR=#ff0000][B]Account[/B][/COLOR]] FROM DISK = N'/var/opt/mssql/backup/[COLOR=#ff0000][B]Account.bak[/B][/COLOR]' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"

Copy paste the following lines in the spoiler below to restore full database.
*Important: after each line, you will be prompted to input database password.
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [Account] FROM DISK = N'/var/opt/mssql/backup/Account.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [Authentication] FROM DISK = N'/var/opt/mssql/backup/Authentication.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [CabalCash] FROM DISK = N'/var/opt/mssql/backup/CabalCash.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [CabalGuild] FROM DISK = N'/var/opt/mssql/backup/CabalGuild.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [EventData] FROM DISK = N'/var/opt/mssql/backup/EventData.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [NetCafeBilling] FROM DISK = N'/var/opt/mssql/backup/NetCafeBilling.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [Server01] FROM DISK = N'/var/opt/mssql/backup/Server01.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!

Database Location and Commands:

Location: /var/opt/mssql
Backups: /var/opt/mssql/backup
Command to restart database:
Code:
systemctl restart mssql-server

P.S. SQL has its own cmd, but it is not adviseable for novice user to use it, as SSMS does everything you need.
Section 4 [Ports & Firewalld]:

1. Allow ports in the Firewalld:

Code:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent

Required Ports [Default ones, change accordingly to your custom ones if you decide to change]:
- 80 - HTTP
- 443 - HTTPS
- 1433 - Database
- 38101 - LoginSvr
- 38121 - Chatnode
- 38151 - AgentShop
- 38111 - 38116 - Channels*
- 38126 - War [170-190]*
You can open a full port range by typing:
Code:
sudo firewall-cmd --zone=public --add-port=38111-38126/tcp --permanent
* DO NOT OPEN GLOBALMGRSVR PORT.
** The ports provided are fully sufficient for full server use.

2. After you have added all of the ports, restart firewalld:
Code:
sudo firewall-cmd --reload

3. Check if you have added all of the ports you require:
Code:
firewall-cmd --list-all

4. OPTIONAL - You can also create a new zone in firewalld, if you decide not to use public zone, as well as add blocks / drop specific connections and such:

Section 5 [Repack Installation]:

REPACK DOWNLOAD LINK:
1. cabal_ep8_repack.tar.gz into /root directory.

2. Run command:
Code:
tar xzvf cabal*

3. Run command:
Code:
chmod +x install.sh

4. Start instalation:
Code:
./install.sh

Installation is pretty straight forward, just let it install everything and update system and additional libraries.

5. When installation is finished, type:
Code:
cabal_config
and input required information.

6. After that is completed, type:
Code:
mkdir -p /var/log/cabal

REPACK COMMANDS:

Creation / Config:
Code:
cabal_create -s - creates Servers [World] (SAMPLE: cabal_create -s 1 [will create 1 server])
cabal_create -c - creates Channels (SAMPLE: cabal_create -c 2 1 [will create 2 channels in the 1st server])cabal_config = Server ips, database port and credentials
Management:
Code:
cabal_start - starts services
cabal_stop - stops services
cabal_status - checks services

cabal_reload - reloads services [B]on live server[/B]
cabal_restart - restarts services
cabal_restart -d - restarts services and deletes all logs*
[Please download a fixed version of cabal_restart -d from here: and replace it with the existing one in: /etc/cabal/Template/sh]
Section 6 [Server Setup a.k.a. Finishing Touches]:


*** SERVER SIDE ***

VERY VERY BIG ADVISE: DO NOT paste your .ini files of any config, apart of common.ini ; just recreate it on the new ones. [Advising as some people had experienced some sort of a issues in regards to changing .ini files that were not common.ini and I had no time to look into it, but anyone with knowledge and kind enough could post anything about it and I will update this tutorial]

1. Go to WorldSvr_0X_0X and change ports accordingly, as repack will recreate all channels [WorldSvr_0X_0X on port: 38111 ; so you won't see any other channels apart of Channel 1]

For beginners:
Lets say you created 5 channels, you will see only channel 1 because all of them has port 38111 set on it, so what you need to do is this:
Go to WorldSvr_01_02 and change it's port to 38112
Go to WorldSvr_01_03 and change it's port to 38113
Go to WorldSvr_01_04 and change it's port to 38114
Go to WorldSvr_01_05 and change it's port to 38115

2. Check GlobalMgrSvr_0X.ini file to setup your channels accordingly.

3. Update LoginSvr_0X.ini and Account Database-> dbo.cabal_client_version table with your client's Magic Key and Client Version.

4. Refer to Toast repack's War Channels and Saint Vikalitan event, it doesn't have an automatically added ones yet.

5. Another Advise: Replace ONLY Data folder and Common.ini [Don't forget to link each of them to your Channels if you have more than one] if you start a fresh server.

5.1. CHMOD your new Data folder and Common.ini files with right permissions, using these commands:
Code:
sudo chmod -R 777 /etc/cabal/Data
*This will set all permissions to new Data folder and it's subfolders.
Code:
sudo chmod 777 /etc/cabal/Common.ini
*Change accordingly to your common.ini name.

6. Channel & Server types: Toast's Tutorial

*** DATABASE SIDE ***​


Noticed some issues connecting to bega or some websites, so do the following to avoid them:

1. Assumingly you restored all database, go to:
Code:
Account -> Tables -> dbo.cabal_auth_table -> right-click it and select "Design" -> go to password section and change it from: var(50) to var(256) -> click "Save" in the tools meniu line.

2. Go to Account -> Programabillity -> Stored Procedures -> dbo.cabal_tool_registerAccount and change all password var(XX) to var(256) -> click run and then close it.

3. Go to Account -> Programabillity -> Stored Procedures -> dbo.cabal_tool_registerAccount_web and change all password var(XX) to var(256) -> click run and then close it.

4. [B]REMINDER:[/B] go to Account -> dbo.cabal_client_version_table and update Magic Key and Version in order to connect properly into your server.
[/SPOILER]

[CENTER][COLOR=#000080][SIZE=4][B][URL="https://www.youtube.com/watch?v=1Bix44C1EzY"]Congratulations![/URL]

Now you can type: cabal_restart -d 
and join your server!

[/B][/SIZE][/COLOR]
[SIZE=5][COLOR=#0000ff][B]Useful Tips & Tricks:

[/B][/COLOR][/SIZE][/CENTER]
[Spoiler]
1. [B]Lock Channel on your IP[/B]
[I]Mini tutorial:[/I]
Simply add a rule to your existing Firewalld zone, using this command: 
[CODE]firewall-cmd --permanent --zone=public --add-rich-rule='
  rule family="ipv4"
  source address="[B][COLOR=#ff0000]YOUR_IP[/COLOR][/B]/32"
  port protocol="tcp" port="[COLOR=#ff0000][B]YOUR_PORT/s[/B][/COLOR]" accept'
* In "your port" part, add channel port you want to lock on your IP, which will lead for channel to be visible for everyone, but if someone else will try to click on it, it will not allow to connect. Only user/s who's IP/s are added to this rule, can connect to the channel.
You can also insert a port range, just like in Firewalld section of this tutorial.

Once you paste it, you have to reload your Firewalld:
Code:
sudo firewall-cmd --reload

To remove your "lock" and allow everyone to connect to the channel, copy-paste this, with the details changed accordingly:
Code:
firewall-cmd --permanent --zone=public --remove-rich-rule='
  rule family="ipv4"
  source address="[B][COLOR=#ff0000]YOUR_IP[/COLOR][/B]/32"
  port protocol="tcp" port="[B][COLOR=#ff0000]YOUR_PORT/s[/COLOR][/B]" accept'
Once you paste it, you have to reload your Firewalld:
Code:
sudo firewall-cmd --reload



All credits belong to people who helped and supported the project not solely by feedback, but also financially.
Most credits: penetrator9000 (wished to remain in shadows) & Yamachi

References: DeXtR and Toast2250
is this only for CentOS7 or is it also good for CentOS6.5?

Noticed some issues connecting to bega or some websites, so do the following to avoid them:1. Assumingly you restored all database, go to:
Code:
Account -> Tables -> dbo.cabal_auth_table -> right-click it and select "Design" -> go to password section and change it from: var(50) to var(256) -> click "Save" in the tools meniu line.2. Go to Account -> Programabillity -> Stored Procedures -> dbo.cabal_tool_registerAccount and change all password var(XX) to var(256) -> click run and then close it.3. Go to Account -> Programabillity -> Stored Procedures -> dbo.cabal_tool_registerAccount_web and change all password var(XX) to var(256) -> click run and then close it.4. REMINDER: go to Account -> dbo.cabal_client_version_table and update Magic Key and Version in order to connect properly into your server.
 
Newbie Spellweaver
Joined
May 24, 2014
Messages
12
Reaction score
1
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

Im having the same experience. Im also hosted with Azure. did you get answers for this one?
 
Joined
Oct 10, 2007
Messages
1,773
Reaction score
187
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

This tutorial will show you how to have a fully working Cabal Online Private Server on CentOS 7 VPS with a Database and overall - ready to launch officially* or not.
[This tutorial is written for CentOS 7 ONLY]​
*if you have a ready files though.
About repack: It's an early stage of the repack that has been planned for quite a while and it requires a bit more manual work than the usual one, but that I explain below, so hopefully, if you follow my tutorial, you will have no issues to have a server.

- Cleaned Libraries that stopped CentOS yum update and were not used at all.
- Overall clean-up of the whole repack and scripts.
- Infinite yum update [expected] without any issues (lol).

- If you will notice anything, please report here. REPACK RELATED ISSUES ONLY.
- As well as any feedback appreciated!
Links to one of the cheapest VPS's on the internet with a minimal anti-ddos:
-
-

- No more Windows R2
- No more Remote Desktops
- No more hassle
- No more 30-120 Euros a month for Dedicated Servers with additional charges for Windows Environment


IMPORTANT NOTE: If you will follow my full tutorial, you will have it a fully working server within 2 hours time. Repack has been tested and already used by couple servers and my test server.
This repack might not suite everyones taste, as it has a different cabal_status and overall OS environment is slightly different from CentOS 6.

Tutorial has sections, so make sure you follow them.

So, without further ado, lets begin:

Section 1 [Minimal to Average Requirements]:
Minimal Requirements of User:
1. Read in english.
2. Follow tutorial accurately.
3. NO RUSHING. Patience is a virtue.
4. Double-check every step done and verify it.
5. Assure that everything has been done correctly and as tutorial says.

FOR COMPLETE BEGINNERS:


Minimal Requirements of System:
1. CentOS 7 [Not Debian, not Ubuntu, not Fedora or any of that sort]
2. 6 GB Ram [CentOS SQL requires minimum of 4 GB RAM]
3. 100 GB of space [can be either SSD or HDD]
4. 100mbps Bandwith [This is only if you won't make it public or will not go international, for public release minimum 250mbps recommended]

Section 2 [System Preparation]:

Assumingly you've got your CentOS 7 running, you have to do couple of things:

1. Check if you have a running Firewalld. Command to check it:
Code:
systemctl status firewalld
- If it is shown as: Active: active (running) then go to Step 2.
- If it is show as: Inactive then go to Step 1.1.

1.1. Command to restart Firewalld:
Code:
systemctl restart firewalld
*
* Repeat Step 1 to check if it is Running now.

2. Run Yum Update to update your system:
Code:
yum update
Section 3 [Database Installation & Restoration]:
Database Installation

Advisable: Get newest SSMS for yourself, in order to connect to your new database:

FULL SETUP:
Minimal Setup:

1. Download the Microsoft SQL Server Red Hat repository configuration file:
Code:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

2. Run the following commands to install SQL Server:
Code:
sudo yum install -y mssql-server

3. Run mssql-conf setup and follow the prompts to set the SA password and choose express edition [Number 3] <- because it is a Free Edition of newest SQL:
Code:
sudo /opt/mssql/bin/mssql-conf setup

4. Check if SQL is running:
Code:
systemctl status mssql-server

5. Make backup directory to restore your backups from:
Code:
mkdir -p /var/opt/mssql/backup

6. Upload your database backups [.bak files] into: /var/opt/mssql/backup
CLEAN EP8 Database Backups [Toast's]:
Contains:
Code:
* Account
* Authentication
* CabalCash
* CabalGuild
* EventData
* Netcafebilling
* Server01
cabalmanager is NOT NEEDED. It does not have any function in EP8.

Database Restoration

Once you have done all points in Database Installation part, follow these simple to restore your database using PuTTy Terminal, which is simple copy-paste + enter.

1. Download required repository for SQLCMD:
Code:
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
2. Run the following command to install it:
Code:
sudo yum install mssql-tools unixODBC-devel
3. Create a symlink using this command:
Code:
sudo ln -s /opt/mssql-tools/bin/* /usr/local/bin/
4. Using the following line in PuTTy terminal, you will create a database and restore it at the same time, without the need to login to SSMS Management and create everything there, as show in this sample:
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [[COLOR=#ff0000][B]Account[/B][/COLOR]] FROM DISK = N'/var/opt/mssql/backup/[COLOR=#ff0000][B]Account.bak[/B][/COLOR]' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"

Copy paste the following lines in the spoiler below to restore full database.
*Important: after each line, you will be prompted to input database password.
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [Account] FROM DISK = N'/var/opt/mssql/backup/Account.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [Authentication] FROM DISK = N'/var/opt/mssql/backup/Authentication.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [CabalCash] FROM DISK = N'/var/opt/mssql/backup/CabalCash.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [CabalGuild] FROM DISK = N'/var/opt/mssql/backup/CabalGuild.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [EventData] FROM DISK = N'/var/opt/mssql/backup/EventData.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [NetCafeBilling] FROM DISK = N'/var/opt/mssql/backup/NetCafeBilling.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [Server01] FROM DISK = N'/var/opt/mssql/backup/Server01.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!

Database Location and Commands:

Location: /var/opt/mssql
Backups: /var/opt/mssql/backup
Command to restart database:
Code:
systemctl restart mssql-server

P.S. SQL has its own cmd, but it is not adviseable for novice user to use it, as SSMS does everything you need.
Section 4 [Ports & Firewalld]:

1. Allow ports in the Firewalld:

Code:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent

Required Ports [Default ones, change accordingly to your custom ones if you decide to change]:
- 80 - HTTP
- 443 - HTTPS
- 1433 - Database
- 38101 - LoginSvr
- 38121 - Chatnode
- 38151 - AgentShop
- 38111 - 38116 - Channels*
- 38126 - War [170-190]*
You can open a full port range by typing:
Code:
sudo firewall-cmd --zone=public --add-port=38111-38126/tcp --permanent
* DO NOT OPEN GLOBALMGRSVR PORT.
** The ports provided are fully sufficient for full server use.

2. After you have added all of the ports, restart firewalld:
Code:
sudo firewall-cmd --reload

3. Check if you have added all of the ports you require:
Code:
firewall-cmd --list-all

4. OPTIONAL - You can also create a new zone in firewalld, if you decide not to use public zone, as well as add blocks / drop specific connections and such:

Section 5 [Repack Installation]:

REPACK DOWNLOAD LINK:
1. cabal_ep8_repack.tar.gz into /root directory.

2. Run command:
Code:
tar xzvf cabal*

3. Run command:
Code:
chmod +x install.sh

4. Start instalation:
Code:
./install.sh

Installation is pretty straight forward, just let it install everything and update system and additional libraries.

5. When installation is finished, type:
Code:
cabal_config
and input required information.

6. After that is completed, type:
Code:
mkdir -p /var/log/cabal

REPACK COMMANDS:

Creation / Config:
Code:
cabal_create -s - creates Servers [World] (SAMPLE: cabal_create -s 1 [will create 1 server])
cabal_create -c - creates Channels (SAMPLE: cabal_create -c 2 1 [will create 2 channels in the 1st server])cabal_config = Server ips, database port and credentials
Management:
Code:
cabal_start - starts services
cabal_stop - stops services
cabal_status - checks services

cabal_reload - reloads services [B]on live server[/B]
cabal_restart - restarts services
cabal_restart -d - restarts services and deletes all logs*
[Please download a fixed version of cabal_restart -d from here: and replace it with the existing one in: /etc/cabal/Template/sh]
Section 6 [Server Setup a.k.a. Finishing Touches]:


*** SERVER SIDE ***

VERY VERY BIG ADVISE: DO NOT paste your .ini files of any config, apart of common.ini ; just recreate it on the new ones. [Advising as some people had experienced some sort of a issues in regards to changing .ini files that were not common.ini and I had no time to look into it, but anyone with knowledge and kind enough could post anything about it and I will update this tutorial]

1. Go to WorldSvr_0X_0X and change ports accordingly, as repack will recreate all channels [WorldSvr_0X_0X on port: 38111 ; so you won't see any other channels apart of Channel 1]

For beginners:
Lets say you created 5 channels, you will see only channel 1 because all of them has port 38111 set on it, so what you need to do is this:
Go to WorldSvr_01_02 and change it's port to 38112
Go to WorldSvr_01_03 and change it's port to 38113
Go to WorldSvr_01_04 and change it's port to 38114
Go to WorldSvr_01_05 and change it's port to 38115

2. Check GlobalMgrSvr_0X.ini file to setup your channels accordingly.

3. Update LoginSvr_0X.ini and Account Database-> dbo.cabal_client_version table with your client's Magic Key and Client Version.

4. Refer to Toast repack's War Channels and Saint Vikalitan event, it doesn't have an automatically added ones yet.

5. Another Advise: Replace ONLY Data folder and Common.ini [Don't forget to link each of them to your Channels if you have more than one] if you start a fresh server.

5.1. CHMOD your new Data folder and Common.ini files with right permissions, using these commands:
Code:
sudo chmod -R 777 /etc/cabal/Data
*This will set all permissions to new Data folder and it's subfolders.
Code:
sudo chmod 777 /etc/cabal/Common.ini
*Change accordingly to your common.ini name.

6. Channel & Server types: Toast's Tutorial

*** DATABASE SIDE ***​


Noticed some issues connecting to bega or some websites, so do the following to avoid them:

1. Assumingly you restored all database, go to:
Code:
Account -> Tables -> dbo.cabal_auth_table -> right-click it and select "Design" -> go to password section and change it from: var(50) to var(256) -> click "Save" in the tools meniu line.

2. Go to Account -> Programabillity -> Stored Procedures -> dbo.cabal_tool_registerAccount and change all password var(XX) to var(256) -> click run and then close it.

3. Go to Account -> Programabillity -> Stored Procedures -> dbo.cabal_tool_registerAccount_web and change all password var(XX) to var(256) -> click run and then close it.

4. [B]REMINDER:[/B] go to Account -> dbo.cabal_client_version_table and update Magic Key and Version in order to connect properly into your server.
[/SPOILER]

[CENTER][COLOR=#000080][SIZE=4][B][URL="https://www.youtube.com/watch?v=1Bix44C1EzY"]Congratulations![/URL]

Now you can type: cabal_restart -d 
and join your server!

[/B][/SIZE][/COLOR]
[SIZE=5][COLOR=#0000ff][B]Useful Tips & Tricks:

[/B][/COLOR][/SIZE][/CENTER]
[Spoiler]
1. [B]Lock Channel on your IP[/B]
[I]Mini tutorial:[/I]
Simply add a rule to your existing Firewalld zone, using this command: 
[CODE]firewall-cmd --permanent --zone=public --add-rich-rule='
  rule family="ipv4"
  source address="[B][COLOR=#ff0000]YOUR_IP[/COLOR][/B]/32"
  port protocol="tcp" port="[COLOR=#ff0000][B]YOUR_PORT/s[/B][/COLOR]" accept'
* In "your port" part, add channel port you want to lock on your IP, which will lead for channel to be visible for everyone, but if someone else will try to click on it, it will not allow to connect. Only user/s who's IP/s are added to this rule, can connect to the channel.
You can also insert a port range, just like in Firewalld section of this tutorial.

Once you paste it, you have to reload your Firewalld:
Code:
sudo firewall-cmd --reload

To remove your "lock" and allow everyone to connect to the channel, copy-paste this, with the details changed accordingly:
Code:
firewall-cmd --permanent --zone=public --remove-rich-rule='
  rule family="ipv4"
  source address="[B][COLOR=#ff0000]YOUR_IP[/COLOR][/B]/32"
  port protocol="tcp" port="[B][COLOR=#ff0000]YOUR_PORT/s[/COLOR][/B]" accept'
Once you paste it, you have to reload your Firewalld:
Code:
sudo firewall-cmd --reload



All credits belong to people who helped and supported the project not solely by feedback, but also financially.
Most credits: penetrator9000 (wished to remain in shadows) & Yamachi

References: DeXtR and Toast2250


I followed the step by step guide where is the error?
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
May 9, 2018
Messages
9
Reaction score
0
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

I'm having a problem when doing the one from Section 3 step 1. i put this on the terminal ''sudo curl -o /etc/yum.repos.d/mssql-server.repo '' and it's saying 'Failed to connect to packages.microsoft.com:443; No route to host. Please Help
 
Joined
Oct 10, 2007
Messages
1,773
Reaction score
187
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

I'm having a problem when doing the one from Section 3 step 1. i put this on the terminal ''sudo curl -o /etc/yum.repos.d/mssql-server.repo '' and it's saying 'Failed to connect to packages.microsoft.com:443; No route to host. Please Help

repeat everything from the beginning to me not from any mistake
 
Newbie Spellweaver
Joined
May 9, 2018
Messages
9
Reaction score
0
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

repeat everything from the beginning to me not from any mistake
I did sir I even reinstalled Windows 10 Pro just in case i messed up somewhere. Still the same result. Followed a guide on youtube on how to setup/install CentOS7 on virtualbox for a cabal server (Pi Sces).
 
Newbie Spellweaver
Joined
May 19, 2020
Messages
37
Reaction score
0
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

It says "Waiting for GlobalMrServer" and it kinda freezes there, anyone knows how to fix that?
 
Joined
Oct 10, 2007
Messages
1,773
Reaction score
187
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

I did sir I even reinstalled Windows 10 Pro just in case i messed up somewhere. Still the same result. Followed a guide on youtube on how to setup/install CentOS7 on virtualbox for a cabal server (Pi Sces).

use VMware-player-15.5.0-14665864

just install the machine from the static IP
 
Initiate Mage
Joined
May 25, 2020
Messages
1
Reaction score
0
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

Hello everyone, first thanks for everything. great tutorial. I'm having problems with Active (Exit) in some DB's ... could someone help me to put all Active (Running).NOTE: I follow the tutorial about 5x uninstalling and installing as it is there. I already turned off FireWall and even then the problem persists.
 
Joined
Oct 10, 2007
Messages
1,773
Reaction score
187
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

This tutorial will show you how to have a fully working Cabal Online Private Server on CentOS 7 VPS with a Database and overall - ready to launch officially* or not.
[This tutorial is written for CentOS 7 ONLY]​
*if you have a ready files though.
About repack: It's an early stage of the repack that has been planned for quite a while and it requires a bit more manual work than the usual one, but that I explain below, so hopefully, if you follow my tutorial, you will have no issues to have a server.

- Cleaned Libraries that stopped CentOS yum update and were not used at all.
- Overall clean-up of the whole repack and scripts.
- Infinite yum update [expected] without any issues (lol).

- If you will notice anything, please report here. REPACK RELATED ISSUES ONLY.
- As well as any feedback appreciated!
Links to one of the cheapest VPS's on the internet with a minimal anti-ddos:
-
-

- No more Windows R2
- No more Remote Desktops
- No more hassle
- No more 30-120 Euros a month for Dedicated Servers with additional charges for Windows Environment


IMPORTANT NOTE: If you will follow my full tutorial, you will have it a fully working server within 2 hours time. Repack has been tested and already used by couple servers and my test server.
This repack might not suite everyones taste, as it has a different cabal_status and overall OS environment is slightly different from CentOS 6.

Tutorial has sections, so make sure you follow them.

So, without further ado, lets begin:

Section 1 [Minimal to Average Requirements]:
Minimal Requirements of User:
1. Read in english.
2. Follow tutorial accurately.
3. NO RUSHING. Patience is a virtue.
4. Double-check every step done and verify it.
5. Assure that everything has been done correctly and as tutorial says.

FOR COMPLETE BEGINNERS:


Minimal Requirements of System:
1. CentOS 7 [Not Debian, not Ubuntu, not Fedora or any of that sort]
2. 6 GB Ram [CentOS SQL requires minimum of 4 GB RAM]
3. 100 GB of space [can be either SSD or HDD]
4. 100mbps Bandwith [This is only if you won't make it public or will not go international, for public release minimum 250mbps recommended]

Section 2 [System Preparation]:

Assumingly you've got your CentOS 7 running, you have to do couple of things:

1. Check if you have a running Firewalld. Command to check it:
Code:
systemctl status firewalld
- If it is shown as: Active: active (running) then go to Step 2.
- If it is show as: Inactive then go to Step 1.1.

1.1. Command to restart Firewalld:
Code:
systemctl restart firewalld
*
* Repeat Step 1 to check if it is Running now.

2. Run Yum Update to update your system:
Code:
yum update
Section 3 [Database Installation & Restoration]:
Database Installation

Advisable: Get newest SSMS for yourself, in order to connect to your new database:

FULL SETUP:
Minimal Setup:

1. Download the Microsoft SQL Server Red Hat repository configuration file:
Code:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

2. Run the following commands to install SQL Server:
Code:
sudo yum install -y mssql-server

3. Run mssql-conf setup and follow the prompts to set the SA password and choose express edition [Number 3] <- because it is a Free Edition of newest SQL:
Code:
sudo /opt/mssql/bin/mssql-conf setup

4. Check if SQL is running:
Code:
systemctl status mssql-server

5. Make backup directory to restore your backups from:
Code:
mkdir -p /var/opt/mssql/backup

6. Upload your database backups [.bak files] into: /var/opt/mssql/backup
CLEAN EP8 Database Backups [Toast's]:
Contains:
Code:
* Account
* Authentication
* CabalCash
* CabalGuild
* EventData
* Netcafebilling
* Server01
cabalmanager is NOT NEEDED. It does not have any function in EP8.

Database Restoration

Once you have done all points in Database Installation part, follow these simple to restore your database using PuTTy Terminal, which is simple copy-paste + enter.

1. Download required repository for SQLCMD:
Code:
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
2. Run the following command to install it:
Code:
sudo yum install mssql-tools unixODBC-devel
3. Create a symlink using this command:
Code:
sudo ln -s /opt/mssql-tools/bin/* /usr/local/bin/
4. Using the following line in PuTTy terminal, you will create a database and restore it at the same time, without the need to login to SSMS Management and create everything there, as show in this sample:
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [[COLOR=#ff0000][B]Account[/B][/COLOR]] FROM DISK = N'/var/opt/mssql/backup/[COLOR=#ff0000][B]Account.bak[/B][/COLOR]' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"

Copy paste the following lines in the spoiler below to restore full database.
*Important: after each line, you will be prompted to input database password.
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [Account] FROM DISK = N'/var/opt/mssql/backup/Account.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [Authentication] FROM DISK = N'/var/opt/mssql/backup/Authentication.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [CabalCash] FROM DISK = N'/var/opt/mssql/backup/CabalCash.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [CabalGuild] FROM DISK = N'/var/opt/mssql/backup/CabalGuild.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [EventData] FROM DISK = N'/var/opt/mssql/backup/EventData.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [NetCafeBilling] FROM DISK = N'/var/opt/mssql/backup/NetCafeBilling.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!
Code:
sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [Server01] FROM DISK = N'/var/opt/mssql/backup/Server01.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"
Click Enter -> Input your database password -> Click Enter -> Done!

Database Location and Commands:

Location: /var/opt/mssql
Backups: /var/opt/mssql/backup
Command to restart database:
Code:
systemctl restart mssql-server

P.S. SQL has its own cmd, but it is not adviseable for novice user to use it, as SSMS does everything you need.
Section 4 [Ports & Firewalld]:

1. Allow ports in the Firewalld:

Code:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent

Required Ports [Default ones, change accordingly to your custom ones if you decide to change]:
- 80 - HTTP
- 443 - HTTPS
- 1433 - Database
- 38101 - LoginSvr
- 38121 - Chatnode
- 38151 - AgentShop
- 38111 - 38116 - Channels*
- 38126 - War [170-190]*
You can open a full port range by typing:
Code:
sudo firewall-cmd --zone=public --add-port=38111-38126/tcp --permanent
* DO NOT OPEN GLOBALMGRSVR PORT.
** The ports provided are fully sufficient for full server use.

2. After you have added all of the ports, restart firewalld:
Code:
sudo firewall-cmd --reload

3. Check if you have added all of the ports you require:
Code:
firewall-cmd --list-all

4. OPTIONAL - You can also create a new zone in firewalld, if you decide not to use public zone, as well as add blocks / drop specific connections and such:

Section 5 [Repack Installation]:

REPACK DOWNLOAD LINK:
1. cabal_ep8_repack.tar.gz into /root directory.

2. Run command:
Code:
tar xzvf cabal*

3. Run command:
Code:
chmod +x install.sh

4. Start instalation:
Code:
./install.sh

Installation is pretty straight forward, just let it install everything and update system and additional libraries.

5. When installation is finished, type:
Code:
cabal_config
and input required information.

6. After that is completed, type:
Code:
mkdir -p /var/log/cabal

REPACK COMMANDS:

Creation / Config:
Code:
cabal_create -s - creates Servers [World] (SAMPLE: cabal_create -s 1 [will create 1 server])
cabal_create -c - creates Channels (SAMPLE: cabal_create -c 2 1 [will create 2 channels in the 1st server])cabal_config = Server ips, database port and credentials
Management:
Code:
cabal_start - starts services
cabal_stop - stops services
cabal_status - checks services

cabal_reload - reloads services [B]on live server[/B]
cabal_restart - restarts services
cabal_restart -d - restarts services and deletes all logs*
[Please download a fixed version of cabal_restart -d from here: and replace it with the existing one in: /etc/cabal/Template/sh]
Section 6 [Server Setup a.k.a. Finishing Touches]:


*** SERVER SIDE ***

VERY VERY BIG ADVISE: DO NOT paste your .ini files of any config, apart of common.ini ; just recreate it on the new ones. [Advising as some people had experienced some sort of a issues in regards to changing .ini files that were not common.ini and I had no time to look into it, but anyone with knowledge and kind enough could post anything about it and I will update this tutorial]

1. Go to WorldSvr_0X_0X and change ports accordingly, as repack will recreate all channels [WorldSvr_0X_0X on port: 38111 ; so you won't see any other channels apart of Channel 1]

For beginners:
Lets say you created 5 channels, you will see only channel 1 because all of them has port 38111 set on it, so what you need to do is this:
Go to WorldSvr_01_02 and change it's port to 38112
Go to WorldSvr_01_03 and change it's port to 38113
Go to WorldSvr_01_04 and change it's port to 38114
Go to WorldSvr_01_05 and change it's port to 38115

2. Check GlobalMgrSvr_0X.ini file to setup your channels accordingly.

3. Update LoginSvr_0X.ini and Account Database-> dbo.cabal_client_version table with your client's Magic Key and Client Version.

4. Refer to Toast repack's War Channels and Saint Vikalitan event, it doesn't have an automatically added ones yet.

5. Another Advise: Replace ONLY Data folder and Common.ini [Don't forget to link each of them to your Channels if you have more than one] if you start a fresh server.

5.1. CHMOD your new Data folder and Common.ini files with right permissions, using these commands:
Code:
sudo chmod -R 777 /etc/cabal/Data
*This will set all permissions to new Data folder and it's subfolders.
Code:
sudo chmod 777 /etc/cabal/Common.ini
*Change accordingly to your common.ini name.

6. Channel & Server types: Toast's Tutorial

*** DATABASE SIDE ***​


Noticed some issues connecting to bega or some websites, so do the following to avoid them:

1. Assumingly you restored all database, go to:
Code:
Account -> Tables -> dbo.cabal_auth_table -> right-click it and select "Design" -> go to password section and change it from: var(50) to var(256) -> click "Save" in the tools meniu line.

2. Go to Account -> Programabillity -> Stored Procedures -> dbo.cabal_tool_registerAccount and change all password var(XX) to var(256) -> click run and then close it.

3. Go to Account -> Programabillity -> Stored Procedures -> dbo.cabal_tool_registerAccount_web and change all password var(XX) to var(256) -> click run and then close it.

4. [B]REMINDER:[/B] go to Account -> dbo.cabal_client_version_table and update Magic Key and Version in order to connect properly into your server.
[/SPOILER]

[CENTER][COLOR=#000080][SIZE=4][B][URL="https://www.youtube.com/watch?v=1Bix44C1EzY"]Congratulations![/URL]

Now you can type: cabal_restart -d 
and join your server!

[/B][/SIZE][/COLOR]
[SIZE=5][COLOR=#0000ff][B]Useful Tips & Tricks:

[/B][/COLOR][/SIZE][/CENTER]
[Spoiler]
1. [B]Lock Channel on your IP[/B]
[I]Mini tutorial:[/I]
Simply add a rule to your existing Firewalld zone, using this command: 
[CODE]firewall-cmd --permanent --zone=public --add-rich-rule='
  rule family="ipv4"
  source address="[B][COLOR=#ff0000]YOUR_IP[/COLOR][/B]/32"
  port protocol="tcp" port="[COLOR=#ff0000][B]YOUR_PORT/s[/B][/COLOR]" accept'
* In "your port" part, add channel port you want to lock on your IP, which will lead for channel to be visible for everyone, but if someone else will try to click on it, it will not allow to connect. Only user/s who's IP/s are added to this rule, can connect to the channel.
You can also insert a port range, just like in Firewalld section of this tutorial.

Once you paste it, you have to reload your Firewalld:
Code:
sudo firewall-cmd --reload

To remove your "lock" and allow everyone to connect to the channel, copy-paste this, with the details changed accordingly:
Code:
firewall-cmd --permanent --zone=public --remove-rich-rule='
  rule family="ipv4"
  source address="[B][COLOR=#ff0000]YOUR_IP[/COLOR][/B]/32"
  port protocol="tcp" port="[B][COLOR=#ff0000]YOUR_PORT/s[/COLOR][/B]" accept'
Once you paste it, you have to reload your Firewalld:
Code:
sudo firewall-cmd --reload



All credits belong to people who helped and supported the project not solely by feedback, but also financially.
Most credits: penetrator9000 (wished to remain in shadows) & Yamachi

References: DeXtR and Toast2250

I want to buy VPS from contabo can you tell me which one to choose also the options to host the website for registration?
 
Newbie Spellweaver
Joined
Mar 9, 2017
Messages
61
Reaction score
2
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

is there any sort of open source repack out there that can be used with this? I've looked for one myself before but had little luck funding one. Asking because I'm more a fan of MySQL rather than MSSQL and my community already has other things that are currently using mysql. it would be really helpful to be able to make changes as needed such as say changing how data is stored and retrieved, adding in new items and such aswell as maybe a few things later if ever needed.
 
RaGEZONE VIP
[VIP] Member
Joined
Oct 10, 2019
Messages
199
Reaction score
454
Re: [CentOS 7 Repack] Full Cabal Server Installation + CentOS SQL (Database)

is there any sort of open source repack out there that can be used with this? I've looked for one myself before but had little luck funding one. Asking because I'm more a fan of MySQL rather than MSSQL and my community already has other things that are currently using mysql. it would be really helpful to be able to make changes as needed such as say changing how data is stored and retrieved, adding in new items and such aswell as maybe a few things later if ever needed.
No, there is no source code. You cannot use mysql for the server. There is a dead Minerva project (look for it on this forum), the server was written there under mysql, but it is not finished and, as far as I know, no one has been doing it for a long time.
 
Back
Top