Most visitors online was 8830 , on 6 Feb 2024
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!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.
*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 where not used at all.
- Cleaned overall 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:
-You must be registered to see links
-You must be registered to see links
- 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]
Section 2 [System Preparation]:
Assumingly you've got your CentOS 7 running, you have to do couple following things:
1. Check if you have a running Firewalld. Command to check it:- If it is shown as: Active: active (running) then go to Step 2.Code:systemctl status firewalld
- If it is show as: Inactive then go to Step 1.1.
1.1. Command to restart Firewalld:*Code:systemctrl restart firewalld
* Repeact Step 1 to check if it is Running now.
2. Run Yum Update to update your system:Code:yum update
Section 3 [Database Installation]:
Advisable: Get newest SSMS for yourself, in order to connect to your new database:You must be registered to see links
FULL SETUP:You must be registered to see links
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]:You must be registered to see links
Contains:
cabalmanager is NOT NEEDED. It does not have any function in EP8.Code:* Account * Authentication * CabalCash * CabalGuild * EventData * Netcafebilling * Server01
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/amateur 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]*
Can open a full port range by typing:* DO NOT OPEN GLOBALMGRSVR PORT.Code:sudo firewall-cmd --zone=public --add-port=38111-38126/tcp --permanent
** 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:You must be registered to see links
Section 5 [Repack Installation]:
REPACK DOWNLOAD LINK:You must be registered to see links
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. After installation is done and it shows to start: cabal_config, type:REPACK COMMANDS:Code:mkdir -p /var/log/cabal
Creation / Config:
Management: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
[Please download a fixed version of cabal_restart -d from here: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*
You must be registered to see linksand 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 where 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 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.
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] [B]All credits belong to people who helped and supported the project not solely by feedback, but also financially. Most credits: [COLOR=#ff0000][U]penetrator9000[/U][/COLOR] (wished to remain in shadows) & [COLOR=#daa520][U]Yamachi[/U][/COLOR][/B] [U][B]References: DeXtR and[COLOR=#999999] [/COLOR]toast2250[/B][/U] [/CENTER][/QUOTE] what about mission war channel ?
you have db connection problem like me
My services sometimes login db sometimes not, i guess this is about creating server on local host
Finalnotice did you open server on local server ? could you help me ? my discord Artorias#8843
i did installion 4 times, theres should be somethink i dont knowJust follow the AzureSensei tut..
i did installion 4 times, theres should be somethink i dont know
Do you install sql in windows or in centos ?i did installion 4 times, theres should be somethink i dont know
Do you install sql in windows or in centos ?
is there somethink about client side i need to do ? i edit language.enc still cant connect or i cant understand does server work well.
[Wed Jan 31 2018 04:03:23.458932 4147971840]: try connect 127.0.0.1:38170, Sync[Wed Jan 31 2018 04:03:23.459514 4147971840]: sock 9 ->LinkHandler Open
[Wed Jan 31 2018 04:03:23.459548 4147971840]: SendIPSConnect2Svr (195:128:01:00)
[Wed Jan 31 2018 04:03:23.459583 4147971840]: try connect 127.0.0.1:38180, Sync
[Wed Jan 31 2018 04:03:23.459874 4147971840]: sock 11 ->LinkHandler Open
[Wed Jan 31 2018 04:03:23.459895 4147971840]: SendIPSConnect2Svr (195:128:01:00)
[Wed Jan 31 2018 04:03:23.470269 4139666240]: CProcessLayer(0)::svc Start [4139666240]
[Wed Jan 31 2018 04:03:23.586597 4147971840]: waiting for the client version
[Wed Jan 31 2018 04:03:23.587585 4139666240]: ServerState changed(0 -> 0)
[Wed Jan 31 2018 04:03:23.599151 4139666240]: [ClientVersion] : Vesion(369), MagicKey(543957823)
[Wed Jan 31 2018 04:03:23.686780 4147971840]: run_event_loop exited. resumeEvent
[Wed Jan 31 2018 04:03:23.686926 4147971840]: waiting for the image key
[Wed Jan 31 2018 04:03:23.735871 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=513, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(20ms))
[Wed Jan 31 2018 04:03:23.735931 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=514, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(20ms))
[Wed Jan 31 2018 04:03:23.735954 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=515, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(20ms))
[Wed Jan 31 2018 04:03:23.735975 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=516, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(20ms))
[Wed Jan 31 2018 04:03:23.735995 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=517, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(20ms))
[Wed Jan 31 2018 04:03:23.736016 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=518, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms))
[Wed Jan 31 2018 04:03:23.736048 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=519, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms))
[Wed Jan 31 2018 04:03:23.736070 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=520, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms))
[Wed Jan 31 2018 04:03:23.736121 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=521, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms))
[Wed Jan 31 2018 04:03:23.736148 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=522, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms))
[Wed Jan 31 2018 04:03:23.736169 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=523, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms))
[Wed Jan 31 2018 04:03:23.736189 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=524, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms))
[Wed Jan 31 2018 04:03:23.736234 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=525, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms))
i guess i get error logs when i do cabal_stop or reboot server because it connects db succefully but after it lost connection to database
what should i do in client ?
and i get these error ? but it connects db succesfully.
Code:[Wed Jan 31 2018 04:03:23.458932 4147971840]: try connect 127.0.0.1:38170, Sync[Wed Jan 31 2018 04:03:23.459514 4147971840]: sock 9 ->LinkHandler Open [Wed Jan 31 2018 04:03:23.459548 4147971840]: SendIPSConnect2Svr (195:128:01:00) [Wed Jan 31 2018 04:03:23.459583 4147971840]: try connect 127.0.0.1:38180, Sync [Wed Jan 31 2018 04:03:23.459874 4147971840]: sock 11 ->LinkHandler Open [Wed Jan 31 2018 04:03:23.459895 4147971840]: SendIPSConnect2Svr (195:128:01:00) [Wed Jan 31 2018 04:03:23.470269 4139666240]: CProcessLayer(0)::svc Start [4139666240] [Wed Jan 31 2018 04:03:23.586597 4147971840]: waiting for the client version [Wed Jan 31 2018 04:03:23.587585 4139666240]: ServerState changed(0 -> 0) [Wed Jan 31 2018 04:03:23.599151 4139666240]: [ClientVersion] : Vesion(369), MagicKey(543957823) [Wed Jan 31 2018 04:03:23.686780 4147971840]: run_event_loop exited. resumeEvent [Wed Jan 31 2018 04:03:23.686926 4147971840]: waiting for the image key [Wed Jan 31 2018 04:03:23.735871 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=513, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(20ms)) [Wed Jan 31 2018 04:03:23.735931 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=514, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(20ms)) [Wed Jan 31 2018 04:03:23.735954 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=515, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(20ms)) [Wed Jan 31 2018 04:03:23.735975 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=516, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(20ms)) [Wed Jan 31 2018 04:03:23.735995 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=517, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(20ms)) [Wed Jan 31 2018 04:03:23.736016 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=518, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms)) [Wed Jan 31 2018 04:03:23.736048 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=519, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms)) [Wed Jan 31 2018 04:03:23.736070 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=520, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms)) [Wed Jan 31 2018 04:03:23.736121 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=521, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms)) [Wed Jan 31 2018 04:03:23.736148 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=522, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms)) [Wed Jan 31 2018 04:03:23.736169 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=523, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms)) [Wed Jan 31 2018 04:03:23.736189 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=524, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms)) [Wed Jan 31 2018 04:03:23.736234 4147971840]: [##ERROR##] EnQProcessData(): index(0) MsgCount=525, mainCmd(3194), last(cmd=3194, uniqIdx=1, processTick=256(21ms))
ok, i get error at server close ignore it, but this loginsvr gets error starting server.
[Svr] 1_chsAddr=192.168.1.43
1_chsPort=38121
2_chsAddr=192.168.1.43
2_chsPort=38121
3_chsAddr=192.168.1.43
3_chsPort=38121
4_chsAddr=192.168.1.43
4_chsPort=38121
5_chsAddr=192.168.1.43
5_chsPort=38121
6_chsAddr=192.168.1.43
6_chsPort=38121
7_chsAddr=192.168.1.43
7_chsPort=38121
8_chsAddr=192.168.1.43
8_chsPort=38121
9_chsAddr=192.168.1.43
9_chsPort=38121
10_chsAddr=192.168.1.43
10_chsPort=38121
Login_Max=2
1_Login_Addr=192.168.1.43
1_Login_Port=38101
2_Login_Addr=192.168.1.43
2_Login_Port=38101
1_LoginEX_Addr=192.168.1.43
1_LoginEX_Port=38101
1_LoginTest_Addr=192.168.1.43
1_LoginTest_Port=38101
They are same. could you tell me what did you do your client ? if you do somethink on it ?
my centos local is 192.168.1.43
i did data/language.enc like this
Code:[Svr] 1_chsAddr=192.168.1.43 1_chsPort=38121 2_chsAddr=192.168.1.43 2_chsPort=38121 3_chsAddr=192.168.1.43 3_chsPort=38121 4_chsAddr=192.168.1.43 4_chsPort=38121 5_chsAddr=192.168.1.43 5_chsPort=38121 6_chsAddr=192.168.1.43 6_chsPort=38121 7_chsAddr=192.168.1.43 7_chsPort=38121 8_chsAddr=192.168.1.43 8_chsPort=38121 9_chsAddr=192.168.1.43 9_chsPort=38121 10_chsAddr=192.168.1.43 10_chsPort=38121 Login_Max=2 1_Login_Addr=192.168.1.43 1_Login_Port=38101 2_Login_Addr=192.168.1.43 2_Login_Port=38101 1_LoginEX_Addr=192.168.1.43 1_LoginEX_Port=38101 1_LoginTest_Addr=192.168.1.43 1_LoginTest_Port=38101
how to add tg in centos 7
#!/bin/sh
logfile=/var/log/cabal/NationWar_Log.log
echo "`date`: Nation War has been started!" >> $logfile
systemctl start WorldSvr_XX_XX.service
0 10 * * * root /etc/cabal/nationwar.sh
0 15 * * * root /etc/cabal/nationwar.sh