Skip to content

chaaanito/cabal_ep2_ep8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cabal Online (Self-Hosted Server) in ALPINE LINUX

Table of Contents

Docker

ENV ACCEPT_EULA=Y

Install [Docker] Make sure your OS is updated && upgraded. Uncomment your Community Repository to access Docker.

   apk add --update docker openrc
   rc-update add docker boot
   service docker start
   service docker status
   apk add docker-compose

Cabal-Server-Installation

Episode2:

cd cabal_server_ep2

Environment

Copy .env.example to .env and configurate .env

cp .env.example .env
nano .env
DB_PASSWORD=StronG_db_passw0rd // Use a strong password for mssql with special symbols, numbers, and uppercase symbols
DB_PORT=1433 // Database port
PUBLIC_IP=this.your.server.ip // IP server
EXP_RATE=100 // Enter EXP rate multiplier, e.g. 5 for 5x 
SEXP_RATE=100 // Enter Skill EXP rate multiplier
CEXP_RATE=100 // Enter Craft EXP rate multiplier
DROP_RATE=2 // Enter drop rate multiplier (over 5 is bad)
ALZ_RATE=100 // Enter Alz rate multiplier
BALZ_RATE=100 // Enter Alz bomb rate multiplier
PEXP_RATE=100 // Enter Pet EXP multiplier
ITEMS_PER_DROP=2 // Enter number of items per drop
CONFIG_TYPE=1

CONFIG_TYPE

1 - Mercury (1 chan. Premium)
2 - Venus  (1 chan. PK)
3 - Mars (1 chan. War)
4 - Jupiter (1 chan. Tierra Gloriosa)
5 - Saturn (2 chan. Normal/TG)
6 - Neptune (3 chan. Normal/War/Tierra Gloriosa)
7 - Pluto (3 chan. PK/War/Tierra Gloriosa)
8 - Leo (4 chan. Normal/PK/Prem War/Tierra Gloriosa)
9 - Sirius (4 chan. Normal/PK/War/Tierra Gloriosa)
10 - Draco (5 chan. Normal/Prem/Prem PK/Prem War/TG)
11 - Test Server (1 chan. PK)
12 - Duality (2 server, 1 norm and 1 War channel) DONT WORK STABLE
20 - Divinity (3 server, 1 norm and 1 PK channel each) DONT WORK STABLE

Otherwise, your container will not start.

Build containers

docker-compose build

Database

Up container

docker-compose up -d mssql

Restore database

docker-compose exec mssql sh restoredb.sh

default registered user username "admin" password "admin"

Server

Start server

docker-compose up -d server
docker-compose exec server sh /home/cabal/cabal_config.sh

Stop server

docker-compose down server

Service logs

server/logs

##########################################################################

Episode8:

cd cabal_server_ep8

Environment

Copy .env.example to .env and configurate .env

cp .env.example .env
nano .env

Database

docker-compose up -d --build mssql
docker-compose exec mssql sh restoredb.sh //enter password db from .env

wait until db restoration completes

Server

docker-compose up -d --build server

If you don't want to use all chanels, edit and comment out channels in the server>Dockerfile folder.


RUN cabal_create_server 1
RUN cabal_create_chanel 1 1
#RUN cabal_create_chanel 1 2
#RUN cabal_create_chanel 1 3
#RUN cabal_create_chanel 1 4
#RUN cabal_create_chanel 1 5
#RUN cabal_create_chanel 1 6
#RUN cabal_create_chanel 1 7

Service status

docker-compose exec server ps -x

Start N.WAR for Cron Job

##start

docker exec -it cabal_server-server-1 /usr/bin/WorldSvr_01_07

##stop

docker exec cabal_server-server-1 pkill WorldSvr_01_07

WEB:

cd cabal_web
   docker-compose up -d

########################################################################## ###Database Adjustments

SP dbo.cabal_tool_registerAccount

USE [Account]
GO
/****** Object:  StoredProcedure [dbo].[cabal_tool_registerAccount]    Script Date: 10/12/2023 8:34:44 am ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER  PROCEDURE [dbo].[cabal_tool_registerAccount]   (@id varchar(32),  @password  varchar(256))
AS
begin tran
   declare @UserNum as int

   insert into cabal_auth_table( ID, Password, Login, AuthType, IdentityNo ) 
   values(@id, pwdencrypt(@password), '0', 1, '7700000000000' )

   set @UserNum = @@identity


   insert into cabal_charge_auth(usernum, type, expiredate, payminutes,ServiceKind)
   values(@UserNum, 1, DATEADD(day, 1000, getdate()), 0,1)
   
   insert into CabalCash..cashaccount (id,UserNum,Cash,CashBonus,UpdateDateTime) values(@id,@UserNum,0,0,GETDATE())

   select @UserNum as usernum
commit

Account & Server01 - Table - cabal_newCharData_table

update cabal_newCharData_table set WarpBField=1023, MapsBField=1023
update cabal_new_character_data set WarpBField=1023, MapsBField=1023

Server01 - cabal_sp_newchar

DECLARE @WarExp INT = 30; -- Example value for WEXP
DECLARE @Alz INT = 1000000; -- Example value for Alz
DECLARE @WarpBField INT = 1023; -- Example value for WarpBField
DECLARE @MapsBField INT = 1023; -- Example value for MapsBField
DECLARE @Reputation INT = 5000; -- Example value for Honor
INSERT INTO cabal_character_table
(
	CharacterIdx, Name,
	LEV, [EXP], [STR], DEX, [INT], PNT, Rank, Alz,
	WorldIdx, [Position], Style, 
	HP, MP, SP, SwdPNT, MagPNT, RankEXP, Flags, WarpBField, MapsBField, Reputation
)
SELECT
	@CharacterIdx, @Name,
	LEV, [EXP], [STR], [DEX], [INT], [PNT], Rank, @Alz,
	WorldIdx, Position, @Style +88,
	HP, MP, SP, SwdPNT, MagPNT, RankEXP, Flags, @WarpBField, @MapsBField , @Reputation
FROM cabal_new_character_data
WHERE ClassType = @StyleMastery
INSERT INTO cabal_WarExp_Table (CharacterIdx,WarExp)
SELECT @CharacterIdx, @WarExp

where @styles are

+8 = Class Rank 2
+16 = Class Rank 3
+24 = Class Rank 4
+32 = Class Rank 5
+40 = Class Rank 6
+48 = Class Rank 7
+56 = Class Rank 8
+64 = Class Rank 9
+72 = Class Rank 10
+80 = Class Rank 11
+88 = Class Rank 12
+96 = Class Rank 13
+104 = Class Rank 14
+112 = Class Rank 15
+120 = Class Rank 16
+128 = Class Rank 17
+136 = Class Rank 18
+144 = Class Rank 19
+152 = Class Rank 20

About

Alpine Linux - Cabal Online Private Server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors