Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Cabal Online > Cabal Private Server
You last visited: Today at 01:21

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Guide] How to make a Cabal P. Server

Discussion on [Guide] How to make a Cabal P. Server within the Cabal Private Server forum part of the Cabal Online category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: May 2008
Posts: 641
Received Thanks: 28
Post [Guide] How to make a Cabal P. Server

This is translate From someone thread :P (Not complete trasnalte -_- google translator stink :E)

I. Overview
1, About the Game
Earthshaking my company is the first South Korean Deputy online games, developed by the EST Soft, unlike other MMORPG, the game more prominent recreational in nature. Is an easy-style fantasy MMORPG, the game does not difficult game system, there are no time constraints, the general MMORPG players are very easy to use. In addition, in order to avoid endless Lian Ji, played in the design of the story, when a story will be the end of the New World and new tasks. Hailed as "a result of online games!"

2, described platform
Earthshaking-service system is a combination of inter-model used CentOS4.x the Linux system and Windows Server 2000 above the double-cross-platform system integration system; erection of a region needs at least 16 over all types of application servers, Each additional group needs at least 5 Application Server. Special note here is the earthshaking services side of the channel system features: free allocation of the number of channels, according to custom server configuration each server running the number of channels, so that the adjustment of the number of servers more diverse, but also made more flexible adjustment range.
The minimum framework of a regional server configuration include: account database, the database game, the game server, authentication server log, updated client server, chat servers, the overall management of servers, database query server, web server management. Below will continue to introduce various server functions and configuration.

3, topology
Show "cabal logical structure topology. Vsd" and "Cabal network topology. Vsd"

Second, server installation chapter
1, Win Server installation
1.1 software ready:
Windows 2000 Server installation was an English
MS Sql 2000 package
IIS package (i386 directory to copy the system of Pan-gen directory D)
Antivirus software Mcafee 8.0 en (copied to install the D-system software directory)
Driver ready server
1.2 hardware ready:
Server hardware: Show "Cabal server configuration files"
1.3 installation process
A, start the installation
District programme C-15 G above, the remaining D-.
9999 network connection a few other settings default;

B, after the completion of the installation
 Chinese support for the system installation (CD-ROM or the need to install the i386 directory);
Step 1: Control Panel → regional and language options → language → installation files for East Asian Languages
Step 2: Control Panel → regional and regional language options → Options → two options were set to Chinese (PRC) and China
Step 3: Control Panel → regional and language options → High → Chinese (PRC)
 installation of remote terminal (this must be installed before installing a patch SP);
In the control panel windows Add / Remove selected components of the installation.
 the computer to change its name;
According to the server functional constituencies and the current server named, such as: GameDB01, LogDB, etc.
Need to restart, all settings, such as completion of the final restart.
 install windows SP4 patch;
 the windows on-line upgrade: IE Toolbar → Windows Update;
 install antivirus software Mcafee 8.0 en, the latter to install on-line upgrade;
 other components in accordance with the corresponding server functions of the installation (CD-ROM or the need to install the i386 directory);
2, Linux installation
CentOS 4.x installation CD-# 1-3
2.1 Installation Methods
The first CD on a CD-ROM drive, the system ROM-BIOS (SETUP mode), the choice of CD-ROM boot after the restart the server:

 "boot:" type <ENTER>, you can use graphics screen mode.
2.2 CD to confirm whether physical abnormalities

 Anaconda implementation, in order to test whether physical abnormalities CD, CD will test the screen. According to Skip.
2.3 Environmental Information


 started LINUX set of environmental information. Elections "Next".

2.4 Language Select



 Language Selection selection now set-up process required language. Is not set up to use the language of the future, the only choice for the language set-up process, usually elections "English".


2.5 Keyboard Configuration



 opt-in keyboard types because most is the use of American-style keyboard, the election "USEnglish".

2.6 Installation Type


 Cabal used in servers, set to Server can also be set to Custom mode.


2.7 Disk Partioning Setup

 If the data server to use a backup server backup, will not be major problems, election Automatically partition. Or select Disk Druid, to create a new partition, the important data stored in the partition in.

2.8 Boot Loader Configuration



 LINUX into the next stage of the "LINUX BOOT LOAD set up" stage.
By Next.



2.9 Network Configuration

 set LINUX NETWORK stage.


IP  points, select "Edit".

To confirm disarmament "Configure using DHCP", confirmed "Activate on boot".
IP Address and enter Netmask value. (And can be installed after configuration)


 set LINUX servers HOST NAME. (Cases, game01, login02,…)
 order to "Gateway" and the other NET communication, enter the Gateway value.
"Primary DNS" to use this server, enter the first NAME server IP address.

2.10 Firewall Configuration



 LINUX own iptables firewall program set to No firewall, according to Next.
 SElinux settings. Disables the election by Next.
"SElinux" the present system than the traditional LINUX an increase of three options, Disables, Warn, Active.

2.11 Additional Languasge Support



 this stage LINUX servers choose to use the language. English (USA)

2.12 Time Zone


 Time Zone Selection choose Beijing / Shanghai time.

2.13 Set Root Password



 settings (Root Password)
Root is linux management accounts, the password must be set up here strong enough.

2.14 Package Group Selection




 addition to the election before the PACKAGE, if there is no FTP server and Development Tools, set up after the confirmation.
[Package that] Package Grpup Selection
X Window System: WINDOW environment (PC to be elected) will be elected
GNOE Desktop Environment: X WINDOW use PACKAGE (GNOME) settings.
KDE (K Desktop Environment): X WINDOW PACKAGE (KDE) settings.
XFCE: XFCE is a new set of X WINDOW PACKAGE
Editors: LINUX can be used in the various editor PACKAGE
Engineering and Scientific: engineering, technical, scientific requirements in the area of the PACKAGE
Graphical Internet: INTERNET can be used several tools GRAPHIC
Text-based Internet: TEXT basis for the use of the environment INTERNET PACKAGE.
Office / Productivity: PC with LINUX can be used by the business, that is OA with PACKAGE
Sound and Video: Video card and sound card to support the PACKAGE
Authoring and Publishing: LINUX, book publishing and related software applications
Graphics: GIMP and LINUX with the same graphic tools.
Games and Entertainment: contains interesting LINUX with games and entertainment PACKAGE
Server Configuration Tools: set up the server tools.
Web Server: To use WEB SERVER to be set up (httpd)
Mail Server: sendmail as the pop mail server with PACKAGE.
Windows File Server: (SAMBA) related PACKAGE.
DNS Name Server: NAME SERVER must use the use of (named)
FTP Server: FTP settings (vsftpd)
PostgreSQL Database: Postgres SQL DATABASE set
MySQL Database: MYSQL DATABASE settings.
News Server: use NEWS SERVE, set NEWS DAEMON (innd)
Network Servers: NETWORK environment, set up C / S environment PACKAGE.
Legacy Network Server: LINUX Legacy network server with PACKAGE.
Development Tools: developers the tools necessary (gcc, c + +)
X Software Development: X software development tools.
GNOME Software Development: GNOME development tools
KDE Software Development: KDE development tools
XFCE Software Development: XFCF development tools
Legacy Software Development: Legacy software development requirements PACKAGE
Administration Tools: LINUX server management tools PACKAGE
System Tools: the management system used PACKAGE
Printing Support: printers related PACKAGE (use the printer server use)
Everything: All of the above PACKAGE (choose this time, a state-wide elections)


2.15 About to Install


 the end of each stage of your choice, the choice of PACKAGE copy on the hard disk.

 upon completion, the choice of "Reboot", set up the installation process all over, waiting for the document reproduction process that requires the installation CD-# 1-3.

3, database installation
MSSQL Server 2000 database installed in English, sa password must be set up strong enough, the main document database system can not be placed under the district, on the D-Division cabal \ data \ directory, installed after the bear SP4 patch.


4, security settings
4.1 CentOS system
A, BIOS security
Add BIOS password, set up the boot sequence, and floppy disk drive launched prohibited.

B, login passwords
Account Password strength: Edit / etc / login.defs document PASS_MIN_LEN equivalent, or at least password length of 8. Password recommendations set by the upper and lower case letters + + special characters numbers. The administrator's password should be updated regularly.

C, ID system
CentOS system in a number of default accounts and groups, such as ftp, halt, uucp, the prohibition of all the default operating system itself was launched, but unnecessary accounts, particularly in non-/ sbin / nologin at the end of the account. Such as: netdump, etc..
Steps: Edit / etc / passwd and / etc / shadow file, the account will be unnecessary Notes. As shown below:














Similarly modify / etc / group and / etc / gshadow documents, the group notes will be unnecessary. As shown below:














To retain the services required only to activate the account. For example, need to use ftp ftp services account can be opened and the group.
D, account password document security
Steps: to confirm the above documents are correct, revise the documents can not attribute to modify!
chattr + i / etc / passwd
chattr + i / etc / shadow
chattr + i / etc / group
chattr + i / etc / gshadow
All the above can be installed on the server test conducted after the operation. (Note: The other important confirmation modify configuration files are correct, is also here.)

E, security services launched
After the installation, will launch many without the use of the service; can be setup in the settings, the default start reunification of the closure.
Steps: Enter the "setup" menu appears as follows:












System services of choice, confirmed by Run Tool:
















Map with[*] to check the service can be the space bar to choose. Just reservation network, crond, sshd, syslog services, other services in accordance with applications in the future operation of the increase. After the confirmation, ok button to confirm the withdrawal;
Set up services startup script authority, only root can control activated the service:
chmod-R 700 / etc / rc.d / init.d / *
chmod-R 700 / etc / init.d / *
F, the main guide the allocation of security procedures Grub
Steps: Edit / etc / grub.conf file, edit field timeout = 0; (note: not wait for the guide)
Add field password - md5 (md5 encryption string)
Guide the process to amend the main parameters need to enter a password. The use of grub-md5-crypt orders received md5 encryption string.

G, modify the registry information system
Login server system will automatically display system, the core version information.
We may amend / etc / issue and / etc / issue.net documents to modify this information.
CentOS release 4.3 (Final)
Kernel \ r on an \ m
These are the contents of the original document.
echo> / etc / issue
echo> / etc / issue.net
Empty file information.

H, user-level start the process of setting init
Steps: init for the first process, its always a PID, by editing / etc / inittab init to modify the start-up configuration.
Application server set up for the start-level 3 (start-a total of seven, 0 shutdown, the resumption of six, five window mode, a single-user mode, 2-4 multi-user mode.)
id: 3: initdefault:
Notes with Fu, shielding Ctrl + Alt + Delete to restart shortcuts.
# ca:: ctrlaltdel: / sbin / shutdown-t3-r now
After the operation can be modified: init q without the resumption of direct entry into force.

I, allocation of network access control
The default Linux system to allow all the requests, configuration TCP_WRAPPERS can enhance the security of the system, modify / etc / hosts.deny and / etc / hosts.allow to increase access restrictions.
Steps: Here's / etc / hosts.deny as "ALL: ALL" rejected all visits.
In / etc / hosts.allow file to add to allow the visit.
sshd: 192.168.1.0/255.255.255.0 game.cabal.com
That allows IP address 192.168.1.0 network segment or the host name game.cabal.com through SSH connection.

J, iptables configuration
Linux firewall software package, powerful, in actual operation, and not to use TCP_WRAPPERS at the same time.
According to the server configuration process into the practical application of the rules;
Many potential safety problems can be resolved through iptables.

K, to stop the broadcasting of the test ping
Steps: Edit startup script / etc / rc.d / rc.local in the final to add the following lines:
echo 1> / proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

L, the prevention of IP addresses to deceive
Steps: Editor host.conf file and add the following lines to prevent IP spoofing attacks.
order bind, hosts (analytic order after the first DNS query / etc / hosts Note: In contrast with the default settings)
multi off (Prohibition host with multiple IP addresses this is the default setting)
nospoof on (blocking IP address spoofing)
M, stop DoS attacks (HTTP Service)
Steps: setting system users resource constraints, the number and the process of memory, etc.; edit / etc / security / limits.conf Add the following lines:
# <domain> <type> <item> <value>
* Hard core 0
* Hard rss 5000
* Hard nproc 20
limits.conf documents relevant parameters of that. Numerical size based on the actual application of adjustment, or may lead to the normal application services.
Prohibition of the above parameters core files "core 0", the process of restricting the number of "nproc 20", and restrictions on the use of memory for 5 M "rss 5000".

N, restricted root user terminals Login
Steps: in / etc / securetty Notes tty2 ~ 11 lines, this root can only log in tty1.

O, system security log files
/ var / log system log directory of services syslogd system log
/ etc / syslog.conf system log service profile
/ var / log / secure records document is a network intrusion detection is an important clue;
/ var / log / messages recorded the important operating system in the standard error output and information;

P, packages
Update package, the software can fix potential safety problems that exist in and bug.
But do not use up2date registration is not automatically updated.
Some of the services of the package can manually download the update.

4.2 Windows 2000 Server
Configuration, should install SP4 patches, to open automatically updated.
A, the network connection to disable TCP / IP on the NetBIOS
Steps: Internet neighbors attribute → local connection attribute → TCP / IP attributes → High → WINS → disable TCP / IP on the NetBIOS
B, remove all default share
Steps: the establishment of a text document, enter the following code to save it as a bat batch file, the Executive.
echo the following code will be made after the batch file, can be finished!
echo Windows Registry Editor Version 5.00> c: \ delshare.reg
echo [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ lanmanserver \ parameters]>> c: \ delshare.reg
echo "AutoShareWks" = dword: 00000000>> c: \ delshare.reg
echo "AutoShareServer" = dword: 00000000>> c: \ delshare.reg
echo running delshare.reg modify the registry
regedit / s c: \ delshare.reg
delshare.reg echo delete temporary files
del c: \ delshare.reg
net stop server / y
net start server
C, no need to use the service disabled
Steps: Start → running → enter "services.msc"
TCP / IP NetBIOS Helper Disable
DHCP Disable
Wireless Configuration Disable
Print Spooler Disable
Windows Time Disable
Server Disable
Distributed File System Disable
Computer Browse Disable

D, IP sec set
Steps: Start → run, enter "MMC", according to determine; a Windows management console interface, the "CTRL + M" button in the dialog that appears mid-point "add" and "add an independent management unit" Dialog box, select "IP security policy management"
Deny all the ports and network
According to the functions of different Server, open the corresponding port services
Within the network makes no limit temporarily

E, involving the installation of the IIS, the specific configuration is as follows
Steps: WEB default homepage to amend the main directory and change the default directory, it is usually just to read and access logs of power. To delete the original virtual directory, if need be to re-establish their new (such as scripts) re-allocation of the implementation of licensing, not to delete the ISAPI application settings (in particular. Htw. IDQ. Printer, etc.) do not want to install WEB management.

F, Terminal Services settings
Steps: Terminal Services is win2000 built-in remote management procedures, as long as the default configuration Administrators can remotely manage.
Laws connected authority to designate a single user and the group can use the system, so that hackers to join a Administrators users do not use Terminal Services management. If necessary, can also modify the TCP port terminal services. (IPsec can be set up to allow Terminal Services network address)

4.3 MS Sql 2000 server settings
Steps:
A, using a secure password strategy;
For sa should also note that at the same time not to let sa account password written on the application or script.
SQL Server 2000 installed, if the use of mixed mode, then need to enter sa password, unless you recognized the need to use air password.

B, the use of safety account strategy;
Since SQL Server can not be changed sa user name, we can not remove the super-user, therefore, we must account for most of this protection, of course, including the use of a very strong password, it's best not to use the database application sa account , Only when no other means to log in to SQL Server instance (for example, when the other system administrators can not be used or have forgotten your password) when the use of sa. Proposed the establishment of a new database administrator with the same privileges and sa super users to manage the database. Account security strategy also includes Do not let the account administrator privileges proliferation.
SQL Server authentication mode Windows identity authentication and mixed the two. If the database administrator does not want the operating system administrator to landing through the operating system to access the database, they may account in the management of the system account "BUILTIN \ Administrators" delete. But to do so once the result is the sa account forget your password, there is no way to restore the. Many host the use of database application just to make enquiries, such as amending the simple function, according to the actual needs of the distribution account, and given only to meet the application requirements and needs of the authority. For example, for as long as the function, then use a simple account of the public can select it.

C, expansion of storage management processes;
The storage process of major surgery, and called on account of the process of expanding access to stored carefully. In fact, in most applications is less than the number of system memory process, and so many of the SQL Server system stored procedure is used to meet the needs of customers, so please delete unnecessary storage process, because some of the storage process can be very Easily be used to upgrade access or damage.
If you do not need to expand storage process xp_cmdshell to remove it. The use of the SQL statement:
use master
sp_dropextendedproc xp_cmdshell
xp_cmdshell is the best shortcut into the operating system, database left to the operating system is a great back door. If you need the storage process, please use this phrase can also be restored.
sp_addextendedproc xp_cmdshell, xpsql70.dll
If you do not need to discard OLE automatic storage process (for the management of some of the features can not be used)
These processes include the following:
Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
Sp_OAMethod Sp_OASetProperty Sp_OAStop
Removed from the registry do not need to visit the storage process, the registry storage process can even read out the operating system administrator password
Are as follows:
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues
Xp_regread Xp_regremovemultistring Xp_regwrite
There are other storage expansion process need to check. In the process of handling storage, make sure to avoid the application of the database or injury.

5, server installation
5.1 Linux server installation
5.1.1 Linux System Application Server Category
GlobalDBAgent - ACCOUNT DB communication with the server;
DBAgent - GAME DB communication with the server;
GlobalMgrSvr - connecting GDBA, LoginSvr, WorldSvr, (Server Monitor) communication between the server;
LoginSvr - and the audience communication, authentication server log;
WorldSvr - game server
ChatNode - chat server

Port information
GlobalDBAgent DBAgent GlobalMgrSvr LoginSvr WorldSvr ChatNode
38180 38181-38189 38170 38101-38109 38111-38119 38121

5.1.2 Linux server procedures
All of the daemon, the accounts are in the implementation of the cabal, we must join the cabal within the system account (client installation services automatically when completed);
# Useradd cabal
A, DataBase communications RPM (unixODBC, freetds-unixodbc) settings.
In order to DB and communications, should be prepared for the following RPM. Namely: GDBA, DBA servers necessary procedures;
B, unixODBC set
External networks available, it can be installed on a network:
# Yum install unixODBC

Can also download the settings:
# Rpm-Uvh unixODBC-2.2.11-1.RHEL4.1.i386.rpm

C, freetds-unixodbc set
In the use of Sybase / Microsoft's Tabular DataStream protocol, but now the 0.64 RC3 version, the direct use of RPM packages for installation, orders are as follows:
# Rpm-Uvh freetds-unixodbc-0.64RC3-1.i386.rpm

5.1.3 unixODBC, freetds-unixodbc set up after the installation
In order to support the Chinese, it is necessary to set up environmental parameters, FREETDS_UNIXODBC_CHARSET = 'cp936', we are asked to use the account cabal, to / home / cabal / .bash_profile to the parameters of Riga into FREETDS_UNIXODBC_CHARSET = 'cp936';
# Adduser cabal
(If there is no cabal account, on the establishment of a. Do not need your password.)

# Vi / home / cabal / .bash_profile
if [-f ~ /. bashrc]; then
. ~ /. Bashrc
fi
PATH = $ PATHHOME / bin

export PATH
unset USERNAME
export FREETDS_UNIXODBC_CHARSET = 'cp936'

/ etc / odbcinst.ini documents have confirmed the following, if not added.
# vi / etc / odbcinst.ini
[FreeTDS]
Description = FreeTDS unixODBC Driver
Driver = / usr/lib/libtdsodbc.so.0
Setup = / usr/lib/libtdsodbc.so.0
UsageCount = 1

In / etc / odbc.ini in the server by adding the following information.
[Server name]
Driver = FreeTDS (and / etc / odbcinst.ini, the same can be specified)
Server IP Address =
Port = Port, the basic 1433
Database = DATABASE name
TDS_Version = version of MS-SQL 2000 8.0

EX 1) set DBAgent, adding GAMEDB content.
# vi / etc / odbc.ini
[CabalGame01]
Driver = FreeTDS
Address = 192.168.0.21
Port = 1433
Database = SERVER01
TDS_Version = 8.0

[CabalGame02]
Driver = FreeTDS
Address = 192.168.0.21
Port = 1433
Database = SERVER02
TDS_Version = 8.0
…….
EX 2) set GDBA, adding ACDB content.
# vi / etc / odbc.ini
[CabalAccount]
Driver = FreeTDS
Address = 192.168.0.26
Port = 1433
Database = ACCOUNT
TDS_Version = 8.0

5.1.4 cabal-server RPM installation procedures for client service that is cabal
A, cabal-server settings
Set cabal-server-1.0-1.i386.rpm. (1.0-1 for-service version)
# Rpm-Uvh cabal-server-1.0-1.i386.rpm
Preparing ... ################################# [100%]
1: cabal-server ################################# [100%]

<Reference> if not installed or unixODBC freetds-unixodbc and set RPM, it will appear the following errors.
# Rpm-Uvh / tmp/cabal-server-1.0-1.i386.rpm
error: Failed dependencies:
libodbc.so.1 is needed by cabal-server-1.0-1.i386
libodbcinst.so.1 is needed by cabal-server-1.0-1.i386
Suggested resolutions:
/ home/buildcentos/CENTOS/en/4.0/i386/CentOS/RPMS/unixODBC-2.2.9-1.i386.rpm
Non-use of DBA, GDBA the server does not require the above RPM, can be set up at the election - nodeps.
# Rpm-Uvh - nodeps / tmp/cabal-server-1.0-1.i386.rpm

<Reference> If you want to have been set up in the cabal-server to server settings RPM, can be deleted later installed, the settings if you choose force, not mandatory heavy equipment can be deleted RPM.
# Rpm-Uvh-nodeps - force / tmp/cabal-server-1.0-1.i386.rpm
Note: The RPM includes all services Cabal end of the process procedures.
B, / etc / cabal / server_list set
In / etc / cabal / server_list down to the corresponding server operating DEAMON;
EX) on the server, including GlobalDBAgent, GlobalMgrSvr, DBAgent_01, DBAgent_02 the process
# vi / etc / cabal / server_list
GlobalDBAgent
GlobalMgrSvr
DBAgent_01
DBAgent_02

EX) set LoginSvr_01, WorldSvr_01_01, WorldSvr_01_02, WorldSvr_02_01, WorldSvr_02_02 words.
# vi / etc / cabal / server_list
LoginSvr_01
WorldSvr_01_01
WorldSvr_01_02
WorldSvr_02_01
WorldSvr_02_02

C, / etc / cabal / *. ini settings
Replacement / etc / cabal / *. ini the contents of the document.
<Reference> rpm set up after the formation of GlobalMgrSvr.ini, WorldSrv.ini, LoginSrv.ini, GlobalDBAgent.ini, DBAgent.ini process configuration file server is the template, to amend this document, the Executive / home / cabal / gen_config.sh, Will be in accordance with the / etc / cabal / server_list in the process, and to automatically generate the official carrier of the server configuration files (*. ini);
Profiles of some of the non-use (for example, Internet cafes certification), the content can be added before the (.
EX) of the server's document templates
# vi / etc / cabal / DBAgent.ini
[NetLib]
; Port = DBAgent use of the port, the serial number.
Port = 38181
SendMaxBufSize = 65536
ProcessDataLimit = 10000
MaxUserNum = 100
WatchsNoPackLimit = 100000
SystemLogTTimeOut = 100
ReactorTimeOut =- 1
LogLevel = 3

[DBAgent]
ServerIdx = 1
DBProcessTNum = 5
With; DNS = odbc.ini specified in the [server name] unanimously.
DSN = CabalGame01

[DSN]
; DBAddr = GAMEDB IP, WINDOW server set up the necessary parts.
DBAddr = 218.153.8.36
; DBCatalog = DB name, WINDOW server set up the necessary parts.
DBCatalog = SERVER01
; DBId = connect DB account.
DBId = cabalgame
; DBPwd = connect DB account password.
DBPwd = rjf2aus.wnrdj

# vi / etc / cabal / GlobalDBAgent.ini
[NetLib]
; Port = GDBAgent use of the Port,
Port = 38180
SendMaxBufSize = 65536
ProcessDataLimit = 30000
MaxUserNum = 32
WatchsNoPackLimit = 100000
SystemLogTTimeOut = 100
ReactorTimeOut =- 1
LogLevel = 3

[DBAgent]
ServerIdx = 128
DBProcessTNum = 10
With; DNS = odbc.ini documents kept by the [server name] consistent.
DSN = CabalAccount

[DSN]
; DBAddr = ACDB IP
DBAddr = 218.153.8.36
; DBCatalog = DB name
DBCatalog = ACCOUNT
; DBId = connect the DB account
DBId = cabalgame
; DBPwd =
DBPwd = rjf2aus.wnrdj


# vi / etc / cabal / GlobalMgrSvr.ini
[NetLib]
; Port = GlobalMgrSvr use of the Port,
Port = 38170
SendMaxBufSize = 65536
ProcessDataLimit = 50000
MaxUserNum = 500
WatchsNoPackLimit = 100000
SystemLogTTimeOut = 100
ReactorTimeOut =- 1
ConnectRetryTime = 5000
ConnectRetryNum = 50
LogLevel = 3

[GlobalMgrSvr]
Timer = 1:10000
WorldMaxUserNum = 100
NoNotifyTimeLimit = 60000
DefaultServerOpen = 0

[DBAgent]
; Addr = GDBAgent IP
Addr = 127.0.0.1
; Port = GDBAgent Port
Port = 38180

[PCBangLK]
Addr =
Port =

# / etc / cabal / LoginSvr.ini
[NetLib]
; Port = LoginSvr use of the Port.
Port = 38101
SendMaxBufSize = 65536
ProcessDataLimit = 1024
MaxUserNum = 20000
WatchsNoPackLimit = 10000
SystemLogTTimeOut = 100
ReactorTimeOut =- 1
ConnectRetryTime = 5000
ConnectRetryNum = 10
LogLevel = 3

[LoginSvr]
GroupIdx = 1
Timer = 1:10000,2:5000,3:5000
NoActiveLimitTime = 40000
; Designated client version. Client to be modified version of the updated information.
client_version = 9932

[GlobalMgrSvr]
; Addr = GlobalMgrSvr IP
Addr = 218.153.8.38
; Port = GlobalMgrSvr port
Port = 38170

# Vi / etc / cabal / WorldSvr.ini
[NetLib]
; Port = WorldSvr use of the Port.
Port = 38111
SendMaxBufSize = 32768
ProcessDataLimit = 10000
MaxUserNum = 500
WatchsNoPackLimit = 30000
UseEncryptPacket = 1
SystemLogTTimeOut = 100
ReactorTimeOut = 100
DisableReactorPipe = 1
ConnectRetryTime = 5000
ConnectRetryNum = 10
LogLevel = 3

[WorldSvr]
; ServerIdx = server group serial number
ServerIdx = 1
; GroupIdx = channel serial number
GroupIdx = 1
Timer = 1:100,2:150,3:3000,4:10000,5:5000,6:60000,7:360000 0,8:2000,9:10000
CommonIniPath = Common.ini
IPAddress =
UpdateInterval = 300000

# UseGameGuardAuth
# # GAME GUARD certified to use it or not (0: false, 1: true)
UseGameGuardAuth = 0

# AddGameGuardName
# # GAME GUARD certification, V2.5 started not to use
AddGameGuardName = libggauth2.so.0

# GameGuardInterval
# # GAME GUARD certification invitation interval (msec)
# # GAME GUARD certification skills implementation time on / off: GameGuardInterval = 0
GameGuardInterval = 60000
NoResponseTimeout = 180000

[DBAgent]
; DBAgent IP
Addr = 218.153.8.38
; DBAgent Port
Port = 38181

[GlobalMgrSvr]
; GlobalMgrSvr IP
Addr = 218.153.8.38
; GlobalMgrSvr port
Port = 38170

Note: templates gen_config.sh documents through the script processing to generate the official carrier of the configuration files.
D, / home / cabal / gen_config.sh implementation
Executive / home / cabal / gen_config.sh. Basis for / etc / cabal / server_lis server in the directory, in / etc / cabal / folder automatically generate the official carrier of the Environment set up a file server (ini). In addition, the generation / etc / init.d / server name implementation document.
# / home / cabal / gen_config.sh

The following document is a formal document on the server operators, the implementation of / home / cabal / gen_config.sh after. To carefully check each document set is complete.

DBAgent_XX.ini (XX: the server group sequence)
GlobalMgrSvr.ini
GlobalDBAgent.ini
LoginSvr_XX.ini (XX: LoginSvr the number of servers, serial number has nothing to do with the server group.)
WorldSvr_XX_YY.ini (XX: Server Group serial number, YY: Channel serial number)

<Reference> If you have modified your / etc / cabal / server_list DAEMON name, the implementation of the / home / cabal / gen_config.sh, modify / etc / cabal / server_list must once again after the implementation of / home / cabal / gen_config.sh

E, GlobalMgrSvr server (DAEMON) Certification
Before the implementation of GMS, the need for GMS authentication code. Certification is EST, the new application server settings; (limited creation of a new server must pass EST)

F, on the server (DAEMON) wrong, it is necessary to set up Generation Core documents
In order to understand the reasons for the services of downtime, set up to generate the core document.
/ etc / init.d / functions of DAEMON function, can be found as follows:
# Vi / etc / init.d / functions
….
# Make sure it doesn't core dump anywhere unless requested
ulimit-S-c $ (DEMON_COREFILE_LIMIT: -0)> / dev / null 2> & 1

# If they set NICELEVEL in / etc / sysconfig / foo, honor it
[-N "$ NICELEVEL"] & & nice = "nice-n $ NICELEVEL"

# Echo DEMON
[ "$ (BOOTUP: -)" = "verbose"-a-z "$ LSB"] & & echo-n "$ base"

# And start it up.
if [-z "$ user"]; then
$ nice initlog $ INITLOG_ARGS-c "$ *"
else
$ nice initlog $ INITLOG_ARGS-c "runuser-s / bin / bash - $ user-c \" $ * \ ""
fi
[ "$?"-Eq 0] & & success $ "$ base startup" | | failure $ "$ base startup"

Below the part of the
$ nice initlog $ INITLOG_ARGS-c "runuser-s / bin / bash - $ user-c \" $ * \ ""

Amended to read as follows.
$ nice initlog $ INITLOG_ARGS-c "runuser-s / bin / bash - $ user-c
\ "ulimit-S-c $ (DEMON_COREFILE_LIMIT: -0)> / dev / null 2> & 1 & & $ * \" "

5.1.5 server (DAEMON) implementation
The implementation of the server DAEMON:
# Service DAEMON names start

Ex) service WorldSvr_01_01 start
Service LoginSvr_01 start

Uniform implementation of the server DAEMON:
# Service cabal start

5.1.6 ACE Library
All servers are required ACE, now use a version 5.5.1.
Check whether there is a server / usr/lib/libACE.so.5.5.1 documents.
After-installation services, will automatically set up.

5.1.7 the process of setting soft link
The actual server, is linked to the use of the name server
# Ls-al / usr/bin/DBAgent_01
lrwxrwxrwx 1 root root 18 May 8 09:11 / usr/bin/DBAgent_01 -> / usr / bin / DBAgent
# Ls-al / usr/bin/WorldSvr_01_10
lrwxrwxrwx 1 root root 19 May 8 09:11 / usr/bin/WorldSvr_01_10 -> / usr / bin / WorldSvr


5.2 Windows server system installed
5.2.1 operating system in the windows of the cabal-service program introduced
Account database, the database server game
Update servers: P3 and update web (info server)
Update server elements.
■ Client-Side
Updater (Cabal update file download application)

■ Server-Side
Update web Server (info server)
-- Urlinfo.ini (environment File), fileinfo.dat (recorded documents CRC)
-- UpdateFileName.torrent (Torrent File)
-- Setup.exe.torrent (install version with Torrent File)

P3 Server
-- BitTorrent Tracker
-- BitTorrent File Seeder
-- P3Register (Update File Register Application)

5.2.2 database server
Games database server that see "GameDB instruction manual";
Account database that South Korea did not provide;

5.2.3 update server info server
A, identified in the Server IIS installed on the server
B, will be updated documents and urlinfo to copy the http directory, the structure is as follows:
Pds / directory:
-- Setup.exe.torrent document (to have the installation file.)
Update / Files / Pure / directory:
-- Urlinfo.ini, FileInfo.dat paper (update information and records the documents of the CRC)
Pds/P3_SerialNumber /
- 如果 P3Server 有3台, 就会有 P3_1, P3_2, P3_3文件夹, 更新文件update_123.dat, update_124.dat, update_125.dat 要在 P3_1, P3_2, P3_3文件夹. 文件名字虽然一样,但内容不同。
EX)
Pds/P3_1/
update_123.torrnet, update_124.torrent, update_125.torrent
Pds/P3_2/
update_123.torrnet, update_124.torrent, update_125.torrent
Pds/P3_3/
update_123.torrnet, update_124.torrent, update_125.torrent


注: P3_1/, P3_2/, P3_3/里有内容不同的torrent 文件, P3_1/里有指向 P3Server 1的内容,P3_2/里有指向P3Server 2的内容。
C、确认链接正确:
打开网页浏览器,在地址栏输入下面地址.
DNS 名称/Update/Files/Pure/urlinfo.ini
EX)

下载窗口出现,说明可以正常设置了。

D、urlinfo.ini 文件内容注释
先在; updateur下载,失败时在updateurl2下载.
; updateurl放在 CDN,updateurl2 交给EST.
; setupfile是 cabal_downloader不能用 p3下载时,用于下载的路径.
;updateurl =http://info.cabalchina.com.cn/Update/Files_1/
;updateurl =http://info.cabalchina.com.cn/Update/Files_3/
[urlinfo]
updateurl = http://info.cabalchina.com.cn/Update/Files_2/ : 下载更新相关内容的地方
setupfile = http://info.cabalchina.com.cn/pds/ : 下载安装版的地址.
torrentfile = http://update.cabalchina.com.cn/Pds/ : 下载Torrent File 的地址.

[updateinfo] 更新文件内容.
updatemax=10 FileSeeder( BitTorrent_UpdateSvr) 最大数.
updateindex=4 现在有效的 FileSeeder (Update File 数)
testmax=3 test 服务器的最大 File Seeder
testindex=1 test server 有效的 FileSeeder (Update File 数)
p3count=3 服务的 P3服务器数
p3subdir=P3_ 文件夹名
p3SubDir1=P3_1 P3与服务器相匹配的文件夹名. P3count如果是 2 ,只读到 P3SubDir2.
p3SubDir2=P3_2
p3SubDir3=P3_3

[101] 100以上开始的是Test server 用文件.
version=1512 ;文件版本 ( update_1512.dat)
subversion=0 ;SERVER文件版本
DirectMode=0 ;下载方式(0为cdn和p3混合模式,1为cdn单独)
torrenturl=http://update.cabalchina.com.cn/Pds/update_1512.dat.torrent ;Torrnet 文件接收地址.
fileurl=http://info.cabalchina.com.cn/pds/update_1512.dat ;更新文件接收地址


[1] ;INDEX从1开始的是正式服务时所需的更新文件数
version=1350
subversion=1
DirectMode=0
torrenturl=http://update.cabalchina.com.cn/Pds/update_1350_1.dat.torrent
fileurl=http://info.cabalchina.com.cn/pds/update_1350_1.dat

[2]
version=1460
subversion=1
DirectMode=0
torrenturl=http://update.cabalchina.com.cn/Pds/update_1460_1.dat.torrent
fileurl=http://info.cabalchina.com.cn/pds/update_1460_1.dat

[3]
version=1500
subversion=0
DirectMode=0
torrenturl=http://update.cabalchina.com.cn/Pds/update_1500.dat.torrent
fileurl=http://info.cabalchina.com.cn/pds/update_1500.dat

[4]
version=1508
subversion=0
DirectMode=0
torrenturl=http://update.cabalchina.com.cn/Pds/update_1508.dat.torrent
fileurl=http://info.cabalchina.com.cn/pds/update_1508.dat

5.2.4 更新服务器P3 Server
A、更新文件上传所需的IIS FTP设置
为了上传更新文件,设置IIS FTP.
把HOME DIRECTORY设置在c:\Inetpub\ftproot\. ( 其他地方也可以)
更新文件上传在 c:\Inetpub\ftproot\update\ 文件夹下.
P3Register.exe 程序 FTP path 要与上传文件夹路径 (c:\Inetpub\ftproot\update\ )一致.

B、CabalP3Component.zip 压缩解压
CabalP3Componet.zip在 D:\里解压.
解压后 D:\CabalP3Componet\ DIRECTORY下有以下的DIRECTORY.
▪ Server Folder
Tracker Program(P2P Server)
▪ Client Folder
p2p Client ( File Seeder )
▪ UpdateFile Folder
Update File 所在的文件夹
▪ TorrentFile Folder
关于Update File的 Torrent 文件所在的文件夹
▪ TrackerInfo Folder
Tracker保存 client 信息的地方(Option)
▪ Program Folder
python-2.3.4.exe ( 为了运转Tracker,要设置PYTHON.)
maketorrent.exe ( 建立Update File相关的 Torrent文件的程序)
srvany.exe ( 把一般 Form 程序登录到SERVICE的程序)
instsrv.exe ( 登录SERVICE的程序)
▪ BatFile Folder
Tracker 与 File Seeder所需的Registry 设置 bat, Reg 文件等
▪ AutoRegister Folder
p3serviceregister.exe (上传Update,这个程序就会登录到SERVICE)
P3Service.ini ( 以上程序参照的环境文件)
- Log Folder ( P3ServiceRegister.exe.log : Log File )

C、python-2.3.4 安装
设置Tracker相关的WINDOW用 python 程序.
设置后确认是否有 C:\Python23\python.exe.

D、把srvany.exe, instsrv.exe复制到 c:\winnt\system32\
为了登录各个P3程序,把srvany.exe, instsrv.exe复制到 c:\winnt\system32\;

E、登录各 P3 程序SERVICE
把BitTorrent_P3Register, BitTorrent_Tracker, BitTorrent_UpdateSvr1~10 登录到SERVICE;
执行D:\CabalP3Component\BatFile\ServiceRegiste r.bat;
命令语形式 : instsvr “SERVICE名” “执行文件”
建立“BitTorrent_name” 的SERVICE. 执行的程序是 srvany.exe.
D:\CabalP3Component\BatFile\ServiceRegister.bat 内容
instsrv "BitTorrent_P3Register" "C:\WINNT\system32\srvany.exe"
instsrv "BitTorrent_Tracker" "C:\winnt\system32\srvany.exe"
instsrv "BitTorrent_UpdateSvr1" "C:\winnt\system32\srvany.exe"
instsrv "BitTorrent_UpdateSvr2" "C:\winnt\system32\srvany.exe"
instsrv "BitTorrent_UpdateSvr3" "C:\winnt\system32\srvany.exe"
instsrv "BitTorrent_UpdateSvr4" "C:\winnt\system32\srvany.exe"
instsrv "BitTorrent_UpdateSvr5" "C:\winnt\system32\srvany.exe"
instsrv "BitTorrent_UpdateSvr6" "C:\winnt\system32\srvany.exe"
instsrv "BitTorrent_UpdateSvr7" "C:\winnt\system32\srvany.exe"
instsrv "BitTorrent_UpdateSvr8" "C:\winnt\system32\srvany.exe"
instsrv "BitTorrent_UpdateSvr9" "C:\winnt\system32\srvany.exe"
instsrv "BitTorrent_UpdateSvr10" "C:\winnt\system32\srvany.exe"

F、Tracker SERVICE设定.
执行D:\CabalP3Component\BatFile\Torrent_Tracker.reg文 件.
形式)
- AppDirectory : Tracker 执行文件(bttrack.py 所在的文件夹)
- Application : 设置PYTHON的执行文件
- AppParameters : Tracker 参数

EX) D:\CabalP3Component\BatFile\Torrent_Tracker.reg 内容
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\BitTorrent_Tracker\Parameters]
"AppDirectory"="D:\\CabalP3Component\\Server"
"Application"="C:\\Python23\\python.exe"
"AppParameters"="D:\\CabalP3Component\\Server\\btt rack.py --port 6969
--dfile \"D:\\CabalP3Component\\TrackerInfo\\dstate\"
--allowed_dir \"D:\\CabalP3Component\\TorrentFile\"
--reannounce_interval 500 --yn_infoip \"218.232.117.245\""
执行 regedit ,在
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\BitTorrent_Tracker]
确认.

G、BitTorrent_UpdateSvr SERVICE (File Seeder) 设置.
执行D:\CabalP3Component\BatFile\FileSeeder.reg 文件.
一般运营 10个SERVICE(BitTorrent_UpdateSvr1~10), 也可以适当增加.
格式)
- AppDirectory : Seeder 执行文件(btdownloadheadless.exe所在的文件夹)
- Application : Seeder 执行文件 Path
- AppParameters : Seeder 参数
- Format : Appparameters 的形式

EX) D:\CabalP3Component\BatFile\FileSeeder.reg 内容
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\BitTorrent_UpdateSvr1\Parameters]
"AppDirectory"="D:\\CabalP3Component\\Client"
"Application"="D:\\CabalP3Component\\Client\\btdow nloadheadless.exe"
"AppParameters"="--responsefile \"D:\\CabalP3Component\\TorrentFile\\setup.exe.tor rent\"
--saveas \"D:\\CabalP3Component\\UpdateFile\\cabal0816.exe\ "
--max_uploads 500 --min_uploads 50 --display_interval 1 --max_upload_rate 3000"
"Format"="--responsefile \"{0}\" --saveas \"{1}\" --max_uploads 500
--min_uploads 50 --display_interval 1 --max_upload_rate 5000"
….

H、BitTorrent_P3Register SERVICE设置
执行D:\CabalP3Component\BatFile\P3Register.reg 文件.
格式)
- AppDirectory : P3Register 执行文件(P3Register .exe所在的文件夹)
- Application : P3Register执行文件 Path
- AppParameters : 不使用.

D:\CabalP3Component\BatFile\P3Register.reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\BitTorrent_P3Register\Parameters]
"AppDirectory"="D:\\CabalP3Component\\Program\\Aut oRegister"
"Application"="P3ServiceRegister.exe"
"AppParameters"=""
I、D:\CabalP3Componet\Program\AutoRegister\P3Regist er.exe 设置.
P3Register.exe周期监视在 P3Server FTP Root 里的 update文件夹,如有更新文件就登录到SERVICE,保证File Seeder拥有;
■ p3serviceregister.exe

[update]
文件夹结尾要以 \ 结束.
-设置 IP = tracker 的IP( 主要用本地IP)
- FTP=D:\BitTorrent\Update\ : 要监测的文件夹路径.(更新文件要上传的位置)
- UPPATH=D:\BitTorrent\UpdateFile\ :复制 update 文件的文件夹路径
- TORRENTPATH=D:\BitTorrent\TorrentFile\ :复制 torrent文件的文件夹路径

[File Server INFO] : FileSeeder 要参照的参数
( P3Register把 update文件登录到SERVICE时,在相应的SERVICE AppParameter. )
- MINUPLOAD=50 : Seeder 的最小上传数
- MAXUPLOAD=100 : Seeder 的最大上传数
- MINPORT=6881
- MAXPORT=6999 : Seeder 使用的port 范围 [ 6881 ~ 6999 ]
- MAXUPRATE=5000 // 不使用.
- SERVICENAME=BitTorrent_UpdateSvr : 相应SERVICE名称
- SERVICECOUNT=10 : SERVICE index
- DISPLAYINTERVAL=1 :更新比率

[Function] :
- AutoCopy=0 : 决定是否把更新文件复制到别的P3Server.
P3 服务器为复数个时,全部上传会浪费时间,所以连到network drive复制的PLAG
P3Server 1里有更新文件时,用NETWORK DRIVE把文件传给其他的P3Server
注:FileSize大时,分别用 P3 Server上传时,会花费很长时间。要使用这个技能时在下面的[Option] 里的 AutoCopy值改为1; 0是不复制更新文件,自行处理。
COUNT=3
D_1=M:\Inetpub\ftproot\update (P3Server FTP Root/Update/ 文件夹)
D_2=N:\Inetpub\ftproot\update
D_3=O:\Inetpub\ftproot\update

- RegistType=0: 0 一般更新文件, 1 安装版文件

■ 使用方法
(1) 设置 INI与 P3Server符合.(用CONTROL在程序内设置,服务器宕机时可以保存)
(2) 执行程序. (确认有auto service 时,周期监测)
(3) 程序周期检查在 FTP root 里的 Update 文件夹, update_1.dat, update_1.torrent, update_1.end, urlinfo.ini 文件(4个)都在时,开始更新.
(4) 检索到上面文件后,把 .dat 与 .torrent文件复制成update Path 与 torrent Path.
(5) 确认其他设置,把剩下的END, ini 文件删除.
注:update 文件夹要一直空着. Update_XX.dat, Update_XX.torrent 文件编号(XX)要一致, 要记录在urlinfo.ini,才可以正常驱动。
(6) 程序搜索记录在现有SERVICE ini里,以BitTorrent_UpdateSvr 名字开始的SERVICE,把version, subversion 值与记录在 urlinfo.ini里的有效更新文件编号进行对比,优先把无效的SERVICE中止后,把REGIST RY里各参数值用现有更新文件名字替换后,重新开始SERVICE. 如果Update_150.dat是刚上来的值 ,就会被记录version = 150이. 如果名为 update_152_2.dat的文件上来,就被记录成version = 150, subversion = 2.

J、用 Tracker确认更新文件是否正常使用
在EXIP=IP的 PC网页里,用相应的ip进去,就可以看到如下的更新文件内容.
http://P3服务器IP:6969


如果更新文件上传后, BitTorrent_UpdateSvr SERVICE正常重开始时,上面表格中,相应更新文件的complete 变成 1以上, download变成0以上. Complete如果不是 1,说明File Seeder没有正常登录文件.


6、配置说明
6.1 Linux 系统下服务端进程配置文件
在/etc/cabal 目录中, '服务器种类[_序号].ini'是Cabal相应服务端的配置文件;
EX)
/etc/cabal/GlobalMgrSvr.ini
/etc/cabal/WorldSvr_01_21.ini
A、GlobalDBAgent
- 执行文件
/usr/bin/GlobalDBAgent
直接使用DBAgent 进程时,一般是连上该进程的软链接进行控制。
[root@gms-sms ~]# ll /usr/bin/GlobalDBAgent
lrwxrwxrwx 1 root root 16 Apr 26 09:11 /usr/bin/GlobalDBAgent -> /usr/bin/DBAgent

- 配置文件
/etc/cabal/GlobalDBAgent.ini
[DBAgent]
DSN =在 /etc/odbc.ini里写入要使用的DB.在 /etc/odbc.ini 里加入与 ACDB相关的名称.
[DSN]
DBAddr, DBCatalog 在实际LINUX里是不使用的. WINDOW时,在守护进程开始时,已经登录了ODBC,只需参考上面即可。 LINUX是已经在/etc/odbc.ini 里登录了.(因为从程序上不好登录,所以事先登录好后开始.)
DBId = 要连接到DB的ID
DBPwd = DB密码

B、DBAgent
- 执行文件
/usr/bin/DBAgent_XX
软链接文件是'DBAgent_服务器序号' 形态.

-配置文件
/etc/cabal/DBAgent_XX.ini
Port = 为了不与别的服务器重复,在38181~38189之间设置.
[DBAgent]
ServerIdx = 记下相应的服务器序号. 在DBAgent_XX.ini 里要与 XX 值一样.
其余与 GlobalDBAgent 的设置方法一样.

C、GlobalMgrSvr
- 执行文件
/usr/bin/GlobalMgrSvr
GlobalMgrSvr全服只需要一个,所以直接用/usr/bin/GlobalMgrSvr;

- 配置文件
/etc/cabal/GlobalMgrSvr.ini
[DBAgent]
Addr = GlobalDBAgent 的IP
Port = GlobalDBAgent 的端口 (基本 38180)
* [PCBangLK]
* MIDEA WEB PC房认证服务器 (LK) 信息
* Addr = LK 的IP
* Port = LK 的端口 (基本 10004)
* 如果不使用网吧认证,上面的值留为空白就可以.

D、LoginSvr
- 执行文件
/usr/bin/LoginSvr_XX
软链接的文件是 'LoginSvr_服务器序号'.
客户端更新后在 /etc/cabal/LoginSvr_XX.ini 修改客户端版本信息后, 需要重新引导配置文件;

# service LoginSvr_XX reload

- 配置文件
/etc/cabal/LoginSvr_XX.ini
[LoginSvr]
GroupIdx = 记下相应GROUP序号. 在LoginSvr_XX.ini 要与 XX 的值一样.
client_version=输入客户端版本信息.
[GlobalMgrSvr]
Addr = GlobalMgrSv的IP
Port = GlobalMgrSvr的端口 (基本 38170)

E、WorldSvr
- 执行文件
/usr/bin/WorldSvr_XX_YY
软链接的文件是'[WorldSvr]_服务器序号_频道' 形式。

-配置文件
/etc/cabal/WorldSvr_XX_YY.ini
[NetLib]
Port = 为了不和别的服务器重复,在38111~38119之间设置.
[WorldSvr]
ServerIdx = 记下相应的服务器序号.在 WorldSvr_XX_YY.ini 里要与 XX 的值一样.
GroupIdx = 记下相应GROUP (频道)的序号.在 WorldSvr_XX_YY.ini 里要与 YY的值一样.
AddGameGuardName =填写需实时LOAD的GAME GUARD CS认证MODULE.(只需 GAME GUARD认证LIBRARY V2.0)
UseGameGuardAuth = [0: Off, 1: On] (GAME GUARD CS认证 On/Off, RUN TIME可适用)
GameGuardInterval = GAME GUARD CS认证
[DBAgent]
Addr = DBAgent_XX 的IP
Port = DBAgent_XX 的端口 (38181~38189)
[GlobalMgrSvr]
Addr = GlobalMgrSvr的IP
Port = GlobalMgrSvr的端口 (基本 38170)

F、ChatNode
- 执行文件
/etc/cabal/ChatNode_XX.ini
软链接的文件是'[ChatNode]_服务器序号' 形式。
-配置文件
[NetLib]
Port = 38121
[ChatNode]
ServerNationIdx = 记下相应的服务器序号.在 ChatNode_XX.ini 里要与 XX 的值一样
[DBAgent]
Addr = DBAgent_XX 的IP
Port = DBAgent_XX 的端口 (38181~38189)
[GlobalMgrSvr]
Addr = GlobalMgrSvr的IP
Port = GlobalMgrSvr的端口 (基本 38170)

6.2关键文件说明
A、/etc/cabal/server_list
运营中服务器上记录着要执行的守护进程的清单.
在/etc/init.d/cabal, /home/cabal/check_daemon.sh, /home/cabal/gen_config.sh里参考这个文件;

B、/etc/logrotate.d/cabal
适当截取'/var/log/cabal/服务器名称.log' 的 logrotate 设置文件;

C、/home/cabal/backup_trc.sh
把放在服务器上的'/var/log/cabal/服务器名称_时间.trc' 文件复制成备份服务器;
以供备份服务器构成时设置;

D、/home/cabal/check_daemon.sh
在/etc/cabal/server_list的守护进程里,如果检查有进程没有执行,马上执行它;
E、/home/cabal/dump_core.sh
把WorldSvr 死掉时留下的 /home/cabal/core.pid 文件读取;
方便查看'gdb /usr/bin/WorldSvr.debug core.xxxx' 的脚本。

F、/home/cabal/gen_config.sh
把/etc/cabal/server_list 里的守护进程的设置 (/etc/cabal/*.ini)自动GENERATING的脚本

G、/etc/cron.d/backup_trc
每天凌晨 1点执行/home/cabal/backup_trc.sh.

H、/etc/cron.d/chk_cabal
每 1分钟执行 /home/cabal/check_daemon.sh.
服务器宕机时,在1分钟内重新启动.

I、/etc/init.d/cabal_server
'/etc/init.d/软链接到守护进程名称'的文件

J、/etc/init.d/cabal
读取/etc/cabal/server_list 种类,一次执行'/etc/init.d/服务器名称'等.
EX)重新开始这个服务器里所有的守护进程
# /etc/init.d/cabal restart 等同 service cabal restart

6.3 LOG文件
在/var/log/cabal 目录,以'服务器种类[_序号].log' 保存.
EX)
/var/log/cabal/LoginSvr.log
/var/log/cabal/WorldSvr_21_01.log

6.4 cabal进程脚本
使用Redhat linux系统里用于进程控制的脚本。
/etc/init.d 里有与服务器名相同的脚本。
EX)
/etc/init.d/LoginSvr
/etc/init.d/DBAgent_21
实际上,服务器都使用一样的 /etc/init.d/cabal_server 文件,在脚本里选择用各种不同的进程种类来控制的守护进程开启与关闭。
# ll /etc/init.d/GlobalMgrSvr
lrwxrwxrwx 1 root root 24 May 8 09:11 /etc/init.d/GlobalMgrSvr -> /etc/init.d/cabal_server
三、维护管理篇
<参考>排错思路
▪ 发现故障后,首先确认故障点;
▪ 排查准则,先软后硬;
▪ 先查网络状态,再查服务进程;
▪ 找到故障问题点和起因,核查程序日志;
▪ 排除故障后,详细记录,作为维护参考FAQ;

1.工具介绍
Cabal维护的主要工具包括Server Monitor、Cabal Manager、Mailing Manager、Log Viewerl、Program Browser;
这里主要介绍Server Monitor和log Viewerl工具:
1.1 使用Server Monitor
Server Monitor 开服流程:
A、 打开每个区域的Server Monitor工具;输入授权的账号和密码登录;

B、 输入Ctrl+R 勾选range和open,输入服务器和频道的序号范围点击apply开启服务;

C、 输入Ctrl+G 可以对每个服务器和频道进行状态设定;

D、 其中J代表绿色频道,A代表白色频道,War代表战争频道,conn可设定频道人数上限;
E、 为了开机是能快捷和准确,我们设定了脚本开机方式;同时按下Ctrl+Alt+A,脚本格式如 下:
<server>
<srange>1</srange> ;服务器范围
<channel>
<range>1</range> ;频道范围
<limit>200</limit> ;人数上限
<adult>0</adult> ;频道属性[0为绿色频道、1为白色频道]
</channel>
<channel>
<range>2~6</range>
<limit>100</limit>
<adult>0</adult>
</channel>
<channel>
<range>7</range>
<limit>200</limit>
<adult>0</adult>
</channel>
</server>

F、 设定玩脚本代码点击’save’保存代码的修改,按’Execute’执行代码,勾选serv er open的话就会按照代码指定的属性进行开服操作。
G、 完成以上操作后,所有人头图标全部为绿色,为成功开服,使用客户端登录测试。
Server Monitor 关服流程:
A、 右键点击Login Server的图标,选择OFF,关闭Login Server。
B、 敲入Ctrl+R,确定不勾选Open,选择use range appoint,输入所有服务器和频道范围,点击apply。

C、 敲入Ctrl+M,选择send message的广播方式向玩家发送即将关服的信息。

D、 接着使用shutdown的广播方式开始确认踢人。
E、 最后使用force shutdown的广播方式踢出所有玩家。

1.2 Log Viewer工具使用
A、Start 菜单
用于与服务器连接
Connect: 与服务器连接
DisConnect: 切断与服务器的连接
B、 Option 菜单
连接后激活
GetData & Create Macro
打开可以获取数据的MARCO创建窗口
保存创建的MARCO,可以减轻重设置MARCO的麻烦

C、 制作Marco

点击‘New’新建一个Macro

在 Setting窗口中,选择要查询的Server、Channel和Commands查询类目(类目详细介 绍可参考Cabal log明细单.xls),并且可以设定条件,如时间、角色ID号、登录IP地址等,选定后,可以保存为一个 特定Macro,按Run进行查询,完成后,点击ok;
出现如下图示:













点击‘Save to Excel’,将输出的内容保存为Excel文件。

2. 日常维护
2.1常用指令集
检查网络状态:(绿色字体本地PC执行,红色字体远程服务器执行)
A、测试故障服务器网络是否正常:
ping ‘IP’ IP为故障点服务器外网IP;
B、查看故障服务器的网络链接情况:
netstat –an (PS:检查是否有公网IP的链接以及各应用服务器间链接是否正常建立,监听端口是否正确;)
tcp 0 0 0.0.0.0:38112 0.0.0.0 LISTEN
tcp 0 0 0.0.0.0:32768 0.0.0.0 LISTEN
tcp 0 0 0.0.0.0:38113 0.0.0.0 LISTEN
tcp 0 0 0.0.0.0:2049 0.0.0.0 LISTEN
tcp 0 0 0.0.0.0:38114 0.0.0.0 LISTEN
tcp 0 0 0.0.0.0:998 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:199 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:982 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:38111 0.0.0.0:* LISTEN
tcp 0 280 222.73.241.17:38112 222.185.246.222:41299 ESTABLISHED
tcp 0 90 222.73.241.17:38114 220.152.161.139:50032 ESTABLISHED
tcp 0 36 222.73.241.17:38111 58.37.3.117:1135 ESTABLISHED
tcp 0 51 222.73.241.17:38113 222.67.51.141:1085 ESTABLISHED
LISTEN为本机监听端口,ESTABLISHED为成功建立两台服务器之间的链接。
C、查看cabal进程是否正常运行:
# ps aux |grep cabal (正确显示以下内容为正常)
cabal 2575 15.5 15.2 877360 633540 ? S<l Jun07 237:32 WorldSvr_01_01
cabal 2610 7.0 12.6 754052 525112 ? S<l Jun07 107:46 WorldSvr_01_02
cabal 2645 6.6 13.5 777028 560808 ? S<l Jun07 101:28 WorldSvr_01_03
cabal 2680 6.0 12.7 753352 530284 ? S<l Jun07 91:50 WorldSvr_01_04
D、查看cabal进程日志(日志文件的说明上面已经列明):
#tailf /var/log/cabal/WorldSvr_01_01.log 实时监控日志文件输出内容;
#tail -50 /var/log/cabal/WorldSvr_01_01.log 查看日志文件的最后50行;
#more /var/log/cabal/WorldSvr_01_01.log 以每频幕为单位显示日志文件的所有内容(空格键继续);
#cat /var/log/cabal/WorldSvr_01_01.log |grep –i error 只检查日志文件的Error行;
注:检查日志文件以查看Error行为主,判断出错原因。
E、查看服务器运行的哪些进程?
#catcabal (脚本命令等同cat /etc/cabal/server_list)
WorldSvr_01_01
WorldSvr_01_02
WorldSvr_01_03
WorldSvr_01_04
F、Cabal维护脚本说明:
所有维护用脚本全部放在各区manager server的/root/cabal/目录下:
chnstop_all:关闭所有cabal服务进程;
chnstart_all:开启所有cabal服务进程;
chnstart_world:只开启World Server 进程;
chnstop_world:只关闭World Server 进程;
chnstop_chat:只关闭Chat Server进程;
chnstart_chat:只开启Chat Server进程;
cmd[game/chat]_shell.sh: 全服(游戏服/聊天服)控制命令;
scp[game/chat]_cmd.sh: 全服(游戏服/聊天服)复制命令;
check_md5.sh:校验各服务器进程主程序的md5值;
check_proc.sh:检查每台服务器的服务进程运行情况;
所有脚本使用规则:
确定当前目录为/root/cabal/
脚本执行格式:./脚本名字 [参数1] [参数2]
脚本陆续更新中……
2.2系统维护内容
A、系统帐户
查看有无新增系统帐户,并了解其来源及用途;查看管理员组里有无新增帐户,以及所有账户的账户策略有无变动 ;
Windows服务器操作如下:
开始 -> 运行 -> regedt32(赋予查看sam键值的权限)
开始 -> 运行 -> regedit (HKEY_LOCAL_MACHINE/SAM/SAM/DOMAIN/USERS/NAMES/)
开始 -> 运行 -> compmgmt.msc (打开计算机管理窗口检查里面的用户权限和策略)
Linux服务器操作如下:
cat /etc/passwd查看有没有大于500的用户;(cabal用户除外)
B、监听端口
查看当前打开的服务端口,查找可疑的端口;
Windows服务器操作如下:
使用Fport工具或netstat -an |findstr "LISTEN"
Linux服务器操作如下:
直接打LISTEN或netstat –ant |grep LISTEN
C、任务管理器
使用任务管理器,查找有无可疑的应用程序或后台进程在运行,并观察CPU及内存的使用状态;
Windows服务器操作如下:
Ctrl + Alt + Del 选择task manager
Linux服务器操作如下:
top命令可查看系统状态,free命令可查看系统内存信息。
D、 系统服务
开始->程序->管理工具->服务,察看所有系统服务,检查是否有陌生的未知的服务;
E、 启动项
检查注册表编辑器,查找有无可疑的程序被加到Windows的启动项里;
Windows服务器操作如下:
开始 -> 运行 -> regedit (HKEY_LOCAL_MACHINE/SOFTWARE/MICROSOFT/WINDOWS/CURRENTVERSION/RUN)
Linux服务器操作如下:
cat /etc/rc.local有无多余执行脚本或者命令存在。
F、 日志分析
Windows服务器操作如下:
查看事件查看器,检查“系统日志”“安全日志”“应用程序日志”里有无可疑的事件或影响系统性 能的事件;
Linux服务器操作如下:
cat /var/log/message |more 查看有没有错误信息
cat /var/log/secure |more查看有没有入侵和攻击信息
G、 共享目录
检查共享目录,关闭所有共享;
H、 硬盘空间
检查磁盘空间情况,对必要内容进行备份;
Windows服务器操作如下:
磁盘信息查询,我的电脑(备份服务器详见《cabal服务器备份方案》)
Linux服务器操作如下:
服务器状态可查询各区监控服务的接口或用df –h命令查看磁盘状态,linux下备份可使用脚本完成。
I、在线人数/服务器监控
利用工具实时监控在线人数,各个频道状态,及时发送需求的公告和运营信息。发现人数变动异常及时记录和汇报 相关负责人和部门主管。
服务器状态监控,各个大区都有一套监控平台。检查关键指标的峰值和均值,发现异常及时处理。

3.停机维护
3.1系统更新
检查操作系统的系统更新,保持同步更新;
3.2安全扫描
使用病毒及木马查杀软件扫描内存及硬盘,并保持病毒库的更新。
3.3操作记录
记录所有的维护项目及操作步骤,如发现任何异常情况及时汇报相关负责人和部门主管。
3.3重启服务器
完成所有检测后,重启该服务器。
3.4数据库备份
A、检查数据库服务器备份情况
B、检查是否依据制定的备份方案定期备份
C、校验备份包及事物日志
D、检查最新备份包是否传送到备份服务器
3.5 硬件和网络
重启服务器后,检测每台服务器的状态,如发现有服务器故障,及时联系IDC机房,检测网络和硬件状态,并汇 报相关负责人和部门经理。




4.更新流程
4.1更新环境
惊天动地游戏更新按内容主要分为服务器端更新、客户端更新两个部分,逻辑图如下:


A、服务端更新:
-涉及服务器全部为linux系统;
-服务器类型:World Server、Login Server、GMS Server、Chat Server、DBA Server;
-由Manager Server同步更新;
-执行脚本进行更新、检查和排错;
-更新前必须先关闭服务的进程,更新完毕后,需要重启系统。

B、客户端更新:
-涉及服务器为windows和linux系统;
-服务器类型:P3 Server、info server、Login Server以及CDN;
-更新包需要上传到CDN,提前完成;
-Info server最后更新:指定客户端下载更新文件定位和方式『P3和CDN』;
-确定服务端和客户端版本一致;


4.2更新原则
更新采用覆盖原文件的方式,所以每次更新前必须备份原程序(尤其是二进制和data文件);
覆盖服务器文件前,确保更新文件的正确性(尤其是配置文件);

4.3服务端更新流程
A、测服更新
 更新在停机维护的时候进行;
 更新前确认需要更新的程序和文件是哪些?什么时候更新?是否需要改动配置文件?
 韩方会在远程将ITS 服务器(222.73.241.209)更新完毕;
 根据更新的程序和文件修改update脚本:
脚本所在位置:/root/cabal/
脚本文件名:update_xx(xx表示区域)update_gz update_sh update_tj update_xn
修改的脚本内容:vi update_sh
#sync_backup $server /usr/bin/LoginSvr (Login Server的主程序如更新需要重启该服务)
sync_backup $server /usr/bin/GlobalMgrSvr (GMS Server的主程序如更新需要重启该服务)
#sync_backup $server /usr/bin/DBAgent (DBA Server的主程序如更新需要重启该服务)
sync_backup $server /usr/bin/WorldSvr (Game Server的主程序如更新需要重启该服务)
#sync_backup $server /usr/bin/ChatNode (Chat Server的主程序如更新需要重启该服务)

#sync_backup $server /usr/lib/libggauth2.so.0
#sync_backup $server /usr/lib/libggauth2.so.50
#sync_backup $server /usr/lib/libggauth2.so.51
#sync_backup $server /usr/lib/libggauth2.so.52
#sync_backup $server /usr/lib/csauth2.cfg

#sync $server /etc/cabal/CashDBAgent.ini
#sync $server /etc/cabal/GlobalDBAgent.ini
#sync $server /etc/cabal/GlobalMgrSvr.ini
#sync $server /etc/cabal/LoginSvr.ini
#sync $server /etc/cabal/DBAgent.ini
#sync $server /etc/cabal/ChatNode.ini
#sync $server /etc/cabal/WorldSvr.ini
#sync $server /etc/cabal/Common.ini
#sync $server /etc/cabal/Data/
注:行首带“#”的为注释,修改时,根据需更新的程序和文件在这里进行设定,也就是在行首增加 和删除“#”
其他内容不需要进行更改。
 修改完4个地区名的脚本后,依次执行脚本;
确保在/root/cabal/目录下:
cd /root/cabal/
./update_sh
./update_tj
./update_xn
./update_gz


B、Manager Server更新
完成以上步骤后,4个地区的Manager Server就和ITS的程序文件同步了。
 以下步骤将更新同步到Real Server:
登录到各区的Manager Server,这里以上海(请查阅《cabal服务器信息简表》)为例:
 进入更新脚本所在目录:
cd /root/cabal/
 相关更新需要用到脚本说明:
update_all:同步所有cabal Server;
update_login:同步login Server;
update_gms:同步GMS Server;
update_dba:同步dba Server;
update_chat:同步Chat Server;
update_world:同步World Server;
update:同步某一台服务器;(如:update login01)
check_md5.sh:校验各服务器进程主程序的md5值;
check_proc.sh:检查每台服务器的服务进程运行情况;
 关闭服务器
Server Monitor 关服,并踢出玩家。
 同步前修改update脚本:(以更新World Server为例)
vi update 修改内容同ITS,另外取消以下两条的注释:
ssh $server rm -f /home/cabal/core\*
ssh $server rm -f /home/cabal/check_daemon.log
 关闭服务进程:
cd /root/cabal/
./chnstop_world (关闭所有的World Server的进程)
 同步更新文件至每台game server:
./update_world
 检查更新文件(比对md5值是否一致)
cd /root/cabal/check/
./check_md5.sh
***** gms01 *****
local GlobalMgrSvr : 2a980a0a2e722c09abe5a65136896a77 /usr/bin/GlobalMgrSvr
gms01 GlobalMgrSvr : 2a980a0a2e722c09abe5a65136896a77 /usr/bin/GlobalMgrSvr
 开启服务进程(维护时重启系统)
cd /root/cabal/
./chnstart_world (开启所有的World Server的进程)
./cmdgame_shell.sh reboot (重启所有World Server的操作系统)
cd /root/cabal/check/
./check_proc.sh (重启系统后执行,坚持所有World Server的进程是否运行)






C、更新流程图












































 开启服务器
Server Monitor 开服。玩家正常登录,确定更新完成。
注:如需要,可在防火墙作限制,进行内部测试。

4.4客户端更新流程
A、上传CDN
 更新包文件update_xxx.dat(xxx为更新版本号,非客户端版本号)
 上传CDN的FTP 222.73.242.246 的update目录
 计算dat文件的md5值,使用工具winmd5等。
 发送以上信息给CDN:邮件''; ''; ''
邮件内容写明更新文件名,upload位置,md5值,更新频道。例如:
Icust 您好!

本次更新1个文件:
ftp://222.73.242.246/update/update_159.dat
md5值
ce26bf9ac330f0335b8e546c2cf2daa4 update_159.dat
更新频道为
http://hnupdate.cabalchina.com/
http://hdupdate.cabalchina.com/
http://xbupdate.cabalchina.com/
http://dbupdate.cabalchina.com/
的pds目录下

请尽快更新 谢谢!
 电话确认更新事宜,CDN更新完毕后,会通过邮件回复。
 分别测试:四个频道的下载地址。如:http://hnupdate.cabalchina.com/pds/update_159.dat
链接无问题CDN同步成功。

B、上传P3 Server
非必要更新,视更新包文件大小而定,目前暂定大小超过6MB需要更新。

C、更新Info Server (所有更新完毕后)
Info Server主要提供客户端版本比对和更新lanucher版本。
找到urlinfo.ini文件,一般位于HTTP发布目录下的Update\Files\pure\目录 中。
内容注释:
[download]
MAX_FAIL_P3TRAN=10
LIMIT_LOW_SPEED=5
STANDARD_P3_SPEED=5
LIMIT_SPEED_MAX_COUNT=60
ALLOW_SPEED_INC_VALUE=2
DOWNLOAD_RETRY_COUNT=5
CONNECT_WAIT_TIME=20
[MODE]
P3=1
[version] #lanucher 版本
launcher=1.21
[urlinfo]
updateurl = http://hdinfo.cabalchina.com/Update/Files_2/
setupfile = http://hdinfo.cabalchina.com/pds/
torrentfile = http://hdinfo.cabalchina.com/pds/
[updateinfo]
updatemax =10
updateindex =6 #更新文件索引 最大值为10
testmax =3
testindex =0
p3count =4
p3subdir =P3_
p3SubDir1 =P3_1
p3SubDir2 =P3_2
p3SubDir3 =P3_3
p3SubDir4 =P3_4
[1] #更新文件索引号
version=21
subversion=1
DirectMode=0
torrenturl=http://hdinfo.cabalchina.com/pds/update_21_1.dat.zip
fileurl=http://hdupdate.cabalchina.com/pds/update_21_1.dat
subfileurl=http://hdupdate.cabalchina.com/pds/update_21_1.dat
…………
[6] #更新文件索引号 添加的项目数不能大于updateindex所设之数。
version=166 #更新文件版本
subversion=0 #子版本号
DirectMode=0 #下载方式(0为cdn和p3混合模式,1为cdn单独)
torrenturl=http://hdinfo.cabalchina.com/pds/update_166.dat.zip #种子文件所在位置
fileurl=http://hdupdate.cabalchina.com/pds/update_166.dat #更新文件下载位置
subfileurl=http://hdupdate.cabalchina.com/pds/update_166.dat

韩方会提供比对的urlinfo.ini文件,据此,更新info服务器的设置,增加和删除项目。不可直接 使用韩方提供的文件。
其次根据实际情况设定DirectMode。视更新包文件大小而定。
更新文件索引号的数量请参考韩方给的urlinfo.ini。

更新lanucher的方法:
直接将更新的文件(update.exe update.1st等)
覆盖HTTP目录下的Update\Files_2\的原文件。
注:各区的url的地址都不相同,所以更新时,最好的方法就是在原来的urlinfo文件上修 改。

D、调整LoginSvr上的客户端版本
 登录各区的LoginSvr;
 进入Login Server 的配置文件所在目录:
#cd /etc/cabal
 编辑配置文件:
#vi LoginSvr_01.ini
[NetLib]
Port=38101
SendMaxBufSize=65536
ProcessDataLimit=10240
MaxUserNum=20000
WatchsNoPackLimit=10000
SystemLogTTimeOut=100
ReactorTimeOut=-1
ConnectRetryTime=5000
ConnectRetryNum=10
LogLevel=3

[LoginSvr]
GroupIdx=1
Timer=1:10000,2:5000,3:5000
NoActiveLimitTime=40000
client_version=1071 #客户端版本 修改与cabalmain.exe的版本相同;

[GlobalMgrSvr]
Addr=172.16.1.5
Port=38170

 重载配置文件
#service LoginSvr_01 reload



4.5客户端更新流程图





































4.6 数据库更新
数据库更新EST实现给出详细更新方法和执行用的SQL脚本,一般根据更新方法的说明,依次在每台game DB或者每个区的AccountDB中的查询分析器中执行sql脚本即可。
EST在更新数据库是会提供在线帮助的服务,有问题及时联系商务部韩翻即可。
5.数据备份
游戏整体数据备份方面,主要包括Server端程序以及数据库两部分的备份内容:
5.1服务器端程序备份:
首先:服务器端程序的备份相对简单,主要是采取刻录光盘的形式,即每次有新版本的服务器端程序发布后,将其 连同客户端,一同刻录光盘保存。
其次:在每次更新服务端程序时,必须备份原来的旧程序到本地的备份目录中,以便出现问题时可以 及时恢复。
最后:做好相应的所有更新前后的版本整理工作。

5.2数据库备份
Cabal DB的架构:
Game DB 主数据库(记录玩家在游戏中角色信息等)
Account DB 账号数据库(记录玩家用户信息等)
Shop DB 商城数据库
根据各DB的数据重要程度,各DB的具体备份情况如下:
5.2.1 Game DB 的备份


A、Game DB数据比较重要,一般Game DB数据所在的硬盘需要作raid 1的冗余备份;物理上对数据作冗余备份,有利于因硬件磁盘故障导致数据丢失后的数据恢复工作;
B、先利用SQL自带的数据库维护计划,分别对DB进行完全备份以及事物日志备份, 备份目录统一为D:\Sql_bak;
C、利用同步备份软件,将每次备份的数据同步备份至Backup Server;
D、每周将最近一次备份的资料上传到存储设备或者下载到公司服务器上并刻录成光盘保存。

5.2.2 Shop DB、Account DB的备份
(由于这两中DB都比较重要,故建议以下3个备份方案,具体采用哪个备份方案将通过综合考虑决 定?)
Account DB和Shop DB采用相同的备份方案,以下以Account DB为例进行介绍
服务器硬盘之间直接备份(方法同Game DB)

A、架设服务器时, Account DB数据所在的磁盘需要作raid 1的冗余备份;物理上对数据作冗余备份有利于因硬件磁盘故障导致数据丢失后的数据恢复工作;
B、先利用SQL自带的数据库维护计划,分别对DB进行完全备份以及事物日志备份, 备份目录统一为D:\Sql_bak;
C、利用同步备份软件,将每次备份的数据同步备份至Backup Server;
D、每周将最近一次备份的资料上传到存储设备或者下载到公司服务器上并刻录成光盘保存。
数据库群集备份

A、架设服务器时, Account DB数据所在的磁盘需要作raid 1的冗余备份;物理上对数据作冗余备份有利于因硬件磁盘故障导致数据丢失后的数据恢复工作;
B、采用数据库群集的架构,既可以保障数据的安全,同时也可以减轻单台Account Server的负载,减少计划外的停机时间;
C、每周将最近一次备份的资料上传到存储设备并下载到公司服务器上并刻录成光盘保存。

四、惊天动地 FAQ
1.服务器故障
A、客户端用户登录后无法显示服务器列表?
查看server monitor是否正常开始服务,server monitor工具是否正常运作。
B、 客户端用户登录中,无法连接服务器?
检查login服务器是否正常运行?GlobalDBAgent 服务器和AccountDB链接是否正常。
C、 客户端显示登录服务器版本不对?
只有更新维护后,会出现这个故障,原因为login服务器的进程配置文件中client_version字 段的内容和客户端主执行文件cabalmain的版本不正确。

LoginSvr_01.ini文件中client_version=1104;
D、 连续多组服务器同时出现服务中止现象?
判断为游戏服务器所在的刀片中心故障,按照排错思路,先检查网络状态,然后查看进程运行情况。也就是先检查 刀片中心的交换模块,可在刀片中心的模块管理中,重启交换模块,来解决该问题。在确认刀片中心网络正常的情 况下:在排查每台刀片服务器的网络状态,确保网络可以正常工作。确认以上步骤都正常的情况下,还不能连通网 络,可联系机房查看网线连接和交换机端口。
E、 多个或者单个频道出现故障?
多个频道故障,现在每台World Server提供连续的4个频道服务,确定是这些频道的服务器出现故障后,同样的先查网络,如外网不通,可 通过manager服务器进行内网连接,内网也不通的话,可判断为服务器已经宕机或者网络服务中断,可通过 刀片中心的管理模块远程连接到该服务器上查看,如已经宕机,可在管理模块中重启该片服务器。单个频道故障一 般系统会自动重启该频道,如不行,可登上该服务器进行手动重启。
F、 玩家反映不能进行私聊或者工会服务?
该服务由聊天服务器提供,定位故障点的服务器,进行手动重启该进程,就能解决。必须在确保网络正常连接的情 况下。
G、 Server Monitor显示服务正常工作,但玩家不能正常登录,且login人数异常?
如果是全服都存在该问题,先检查globalDBAgent服务器状态是否正常,进程服务、网络状态、并查 看日志;和accountDB连接是否正常等;接着查看AccountDB服务器状态是否正常,sql服务 、网络服务、磁盘空间等。
个别服务器组存在该问题:查看该服务器组的DBAgent和对应的GameDB服务器。检查项目依照排错思 路。
H、 玩家分配道具异常,摩宝箱可看到道具但不能正常转移到角色身上?
主要是CashDBAengt服务器出现故障引起,依照排错思路进行检查。

2.客户端故障
详见官网(逐步添加)

五、参考选项
1.参考文档
cabal逻辑结构拓扑图
cabal网络结构拓扑图
GAME DB 说明手册
Blade manual(IBM刀片中心管理模块介绍)
刀片服务器和刀片中心介绍参考:
http://www-900.ibm.com/cn/support/viewdoc/uprosupport?pageid=0&category=2131&docordown=down
Linux 学习论坛
http://www.linuxfans.org/nuke/index.php
http://bbs.linux.org
2.其他说明






该文档资料来自:http://www.asdsf.com/ 转载请注名
Teandormus is offline  
Thanks
7 Users
Old 06/09/2008, 19:12   #2
 
Lowi's Avatar
 
elite*gold: 0
Join Date: Apr 2008
Posts: 839
Received Thanks: 106
i think it'll help a bit thx a lot!
Lowi is offline  
Old 06/09/2008, 19:16   #3
 
soundwave3's Avatar
 
elite*gold: 0
Join Date: Dec 2006
Posts: 417
Received Thanks: 75
that was ownage :\
soundwave3 is offline  
Old 06/09/2008, 19:24   #4
 
Kingblast's Avatar
 
elite*gold: 0
Join Date: Jun 2008
Posts: 19
Received Thanks: 7
Little hard, isn't it? . I think i will play someone else server.. xD
Kingblast is offline  
Old 06/09/2008, 19:30   #5
 
elite*gold: 0
Join Date: May 2008
Posts: 116
Received Thanks: 2
its impossible to translate the whole page bcoz u will get an error page, so i guess u did it separately and wow... u rly waste ur time doing this?
Amandaz is offline  
Old 06/09/2008, 19:36   #6
 
elite*gold: 0
Join Date: May 2008
Posts: 641
Received Thanks: 28
^^^^^^^^^^^^^^^^^^^^^^^^^ This is **** easy :e
i only cope text of guide and do not web translation but text translation :P
2 mins fo this
Teandormus is offline  
Old 02/04/2009, 12:52   #7
 
BloodyAlisa's Avatar
 
elite*gold: 0
Join Date: Feb 2008
Posts: 23
Received Thanks: 0
can some1 tell me...if he knows of course...how can i make 2 servers ( for example Mercury and Mars) on the same host...
BloodyAlisa is offline  
Old 02/07/2009, 21:14   #8
 
elite*gold: 0
Join Date: Oct 2007
Posts: 211
Received Thanks: 3
The Translation is very bad... Google Translater or a other one arent good. They Translate each word, and so it looks horable... sry for my english... im german
eugene222 is offline  
Old 02/10/2009, 03:06   #9
 
soulhart's Avatar
 
elite*gold: 0
Join Date: Jun 2008
Posts: 324
Received Thanks: 20
Nose bleed, Ear bleed, Eye bleed double with sores
soulhart is offline  
Old 02/27/2009, 01:02   #10
 
elite*gold: 0
Join Date: Feb 2009
Posts: 3
Received Thanks: 0
this got a lot of work.. LoL
but thnx for this guide... can't read some parts though...
stechkov is offline  
Old 02/27/2009, 10:20   #11
 
elite*gold: 0
Join Date: Feb 2009
Posts: 6
Received Thanks: 0
nice guide but still confuse lol





alladin03 is offline  
Old 06/16/2009, 10:38   #12
 
elite*gold: 0
Join Date: Jul 2008
Posts: 11
Received Thanks: 3
i wanna inquire bout log files... my drive for data base is keep on filling... very few are playing but the log file comes in too large...can i just remove this log file ???
bradmola is offline  
Old 06/16/2009, 12:09   #13
 
.Kreative's Avatar
 
elite*gold: 0
Join Date: Jun 2008
Posts: 1,124
Received Thanks: 660
Well, you can, but you won't know what the players did...
If it's not important, you can delete it.
.Kreative is offline  
Old 08/23/2009, 23:51   #14
 
elite*gold: 0
Join Date: Feb 2008
Posts: 225
Received Thanks: 22
the translating aren't too bad, but what's bad is how the guide formatted. It's confusing!
yangc10 is offline  
Reply


Similar Threads Similar Threads
Is There A Guide To make a p server?
03/06/2009 - Dekaron Private Server - 7 Replies
Anyone wanna help me make a p server Named Voltage-DEKARON would make rates >*possibility of rates*< and action exp 3500x Drop rate 1200x Argate rate 100%- 1-4 85 + 5 80 + 6 70- + 8 + 9 60 break at + 8
Guide To Make A Server
02/23/2009 - CO2 PServer Guides & Releases - 5 Replies
Hello Im Making This Thread Because Much People ask for one and say from others the links arent working so i start now MakingServer DownLoad Linkz: : #C Link Source Link
how to make cabal server
01/14/2009 - Cabal Online - 36 Replies
The guides are understandable 100% despite the fact that this Chinese. The guidelines I have just put more full of files is all that is needed to open the server (Not to mention programs) in the guides speak of a "securte CRT" is not necessary. In order to create new characters must restore the database "account" as they did with the "GameDB" (in the guide does that with "account", you should do) On the "Tools Gm Re pack" is a set of "utilities" that I was getting into a Chinese forum, has...
Can't buy Cabal Cash?.. Here it's free! Guide to make it!
05/06/2008 - Cabal Online - 5 Replies
it's actually free but! Of Course you should work for it.. Can't you buy cabal cash for real money? well Didn't you know that you can earn money from the internet let me make an example "a business man wants to advertise he's product and he talked to an advertiser and he paid the advertiser to advertise he's products, and the advertiser posted it in the internet and he will pay you just to look at the product he is advertising" that is the way you will earn money from the internet."Paypal"...



All times are GMT +2. The time now is 01:21.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.