DNF阿拉德游戏论坛

标题: 《DNF台服官方操作手册》 [打印本页]

作者: dnf台服吧    时间: 2019-3-31 03:42
标题: 《DNF台服官方操作手册》
第一章 内容
第二章 Server Process功能介紹
第三章 Server & Process
第四章 DNF Server Process 流程图
第五章 DB 架构及功能介绍
第六章 TenProtect 腾讯反外挂机制
第七章 DNF机房配置图
第八章 DNF IP配置图
第九章 DNF实体网路架构
第十章 系统配置方式说明
第十一章 DNF服务手动操作方式
第十二章 正式机开关机流程
第十三章 测试机开关机流程
第十四章 例行性维护排程表
第十五章 正式机维护更新流程
第十六章 其他作业事项
第十七章 异常状况处理
第十八章 各项目后台连接及介绍

作者: dnf台服吧    时间: 2019-3-31 03:45

第二章 SERVER PROCESS功能介紹

第一節 MONITOR MANAGER (DF_MANAGER_R)

作用/特徵

管理monitor 程式,game server邀請全體group傳達的訊息

server group間傳達訊息 (麥克風 物品)

在group中套用活動

內部連結

外部連結

Monitor

 

第二節 MONITOR (DF_MONITOR_R)

作用/特徵

server group間阻止重複登入

和朋友隊員的聊天

登陸黑名單朋友成員公會會員黑名單確認

將連線中的玩家踢下線

郵件發送時,通知的功能 

伺服器認證

遊戲結束時,DB 處理期間禁止連線

套用burning time活動等各種活動  (game server 無需再啟動)

收集外掛玩家物品掉落率等資訊

死亡之塔內排名作業

在網頁上儲值的D幣變更套用

內部連結

外部連結

DBMW

Monitor_Manage

 

 

第三節 GAME SERVER (DF_GAME_R)

作用/特徵

Web認證帳號後,game server上處理] Login_out 

地下城等級和 地下城內遊戲進行處理

現金 購買處理

創角等級處理

出租 物品處理

內部連結

外部連結

Monitor

Auction

CoServer

Relay Server

STUN

Billing

User Client

 

第四節 AUCTION (DF_AUCTION_R)

作用/特徵

遊戲內以拍賣場server啟動物品資訊時,db那邊帶過來 

拍賣場server 會將得標的物品寄出,透過monitor server傳送內容

game server結束時,收到傳達的 broadcast signal的話,會終止拍賣場的作用.

game server被啟動的話,會自動運行 

下載程式時,拍賣場流標的資訊可能會被損毀.

在網頁上儲值的D幣變更套用

 

內部連結

外部連結

GAME SERVER

 

 

第五節 POINT (DF_POINT_R)

作用/特徵

Auction SERVER一樣功能,可使用現金進行交易不是遊戲內金幣

內部連結

外部連結

GAME SERVER

 

 

第六節 COSERVER (DF_COSERVER_R)

作用/特徵

阻止重複連線 (全部GAME SERVER )

獨立執行

內部連結

外部連結

GAME SERVER

 

 

第七節 CHANNEL_BRIDGE (DF_BRIDGE_R)

作用/特徵

分流資訊檔案的形成和傳送 

game server那邊收集分流 資訊收集(分流 on/off, 在線人數)

收集外掛玩家物品掉落率等資訊

死亡之塔內排名作業

在網頁上儲值的D幣變更套用

內部連結

外部連結

Channel

DB

 

 

第八節 CHANNEL (DF_CHANNEL_R)

作用/特徵

從分流中繼server確認分流情報

傳送分流資訊到client

內部連結

外部連結

ch_bridge

Client

 

第九節 GUILD SERVER (DF_GUILD_R)

作用/特徵

公會創立,加入,退出,解散時透過公會server套用

內部連結

外部連結

DBMW

 

 

第十節 DBMW (DF_DBMW_R)

作用/特徵

DB middleware 作用執行

隨著CFG 變更,分為 3種的 DBMW

伺服器認證

遊戲結束時,DB 處理期間禁止連線

套用burning time活動等各種活動  (game server 無需再啟動)

內部連結

外部連結

DB

 

 

第十一節 RELAY SERVER (DF_RELAY_R)

作用/特徵

Client 間無法連結 P2P,作為中繼

獨立執行

內部連結

外部連結

Game Server

Client

 

第十二節 STUN (DF_STUN_R)

作用/特徵

以彼此其他 NAT堵住的 peer之間可進行P2P 通訊(UDP Hole puncing)

獨立執行

內部連結

外部連結

Game Server

Client

 

第十三節 COMMUNITY(DF_COMMUNITY_R)

作用/特徵

決鬥場 相關SERVER

決鬥場 Login, Logout 紀錄發生

內部連結

外部連結

Game Server

 



作者: dnf台服吧    时间: 2019-3-31 03:45

第三章 SERVER & PROCESS

第一節 SERVER HOSTNAME

SERVER名稱

說明

備註

GAME SERVER

df_game_r 程式進行動作有分流結構的server

TP Process 程式啟動.

APP SERVER

df_monitor_r, df_stat_r, df_guild_r, df_dbmw_r (monitor), df_dbmw_r (guild), df_dbmw_r (statics) 程式動作的server,server組構成

df_dbmw_r是將一樣二元檔案隨著CFG的環境變數而跟著動作.

COMMON SERVER

df_bridge_r, df_manger_r, df_coserver_r, df_community_r 程式動作的server,server共通使用 

 

AUCTION SERVER

server群的 df_auction_r, df_point_r 程式動作的server

 

CHANNEL SERVER

df_chnnel_r 程式動作的server, 若同時在線人數增加,需要增設,server組共通使用

 

RELAY SERVER

df_relay_r 程式動作的server, 若同時在線人數增加,需要增設,server組共通使用

 

STUN SERVER

df_stun_r 程式動作的server, server組共通使用

 

 

第二節 SERVER PROCESS

서버명

GAME SERVER

APP SERVER

COMMON SERVER

CHANNEL SERVER

RELAY SERVER

STUN SERVER

AUCTION SERVER

 

 

程式名稱

df_game_r * 10(物理server)

df_monitor_r

df_bridge_r

df_channel_r

df_relay_r * 15

df_stun_r

df_auction_r * 3 (每組server實行)

TP Process (實體server)

df_guild_r

df_manger_r

 

 

 

df_point_r * 3 (每組server實行)

 

df_statics_r

df_coserver_r

 

 

 

 

 

df_dbmw_r (monitor)

df_community_r

 

 

 

 

 

df_dbmw_r (guild)

 

 

 

 

 

 

df_dbmw_r (statics)

 

 

 

 

 

 

第三節 SERVER RESTART CONSIDERATIONS

用途

Host

外部 IP

伺服器重啟與否

重啟之後 需要確認的事項

web

webSvr

203.69.93.90

重啟前 請先向 neople確認

確認 http demon 啟動與否

web

watchdog

203.69.93.148

重啟前 請先向 neople確認

確認 mysql, http, postfix  demon 啟動與否

web

Manager

203.69.93.161

重啟前 請先向 neople確認

確認 mysql, http  demon 啟動與否

web

BugReport

203.69.93.164

維護時可以

確認 xinetd(rsync), postfix  demon 啟動與否

 

LogTool

203.69.93.151

重啟前 請先向 neople確認

重啟前 請先向 neople確認

DB 全部

重啟前 請先向 neople確認

Neople 需要確認

 

stageSvr1

203.69.93.201

絕對禁止重啟

被強制重啟時務必要向neople確認

 

stageSvr2

203.69.93.202

 

stageSvr3

203.69.93.203

 

stageSvr4

203.69.93.204

GAME

GameSvr01

203.69.93.2

維護時可以

 

GAME

GameSvr02

203.69.93.3

GAME

GameSvr03

203.69.93.4

GAME

GameSvr04

203.69.93.5

GAME

GameSvr05

203.69.93.6

GAME

GameSvr06

203.69.93.7

GAME

GameSvr07

203.69.93.8

GAME

GameSvr08

203.69.93.9

GAME

GameSvr09

203.69.93.10

GAME

GameSvr10

203.69.93.11

GAME

GameSvr11

203.69.93.12

GAME

ChannelBridge

203.69.93.51

GAME

channelSvr1

203.69.93.52

GAME

channelSvr2

203.69.93.53

GAME

channelSvr3

203.69.93.54

GAME

appSvr1

203.69.93.61

GAME

appSvr2

203.69.93.62

GAME

appSvr3

203.69.93.63

GAME

stunSvr1

203.69.93.71

GAME

stunSvr2

203.69.93.72

GAME

stunSvr3

203.69.93.73

GAME

relaySvr1

203.69.93.81

GAME

relaySvr2

203.69.93.82

GAME

relaySvr3

203.69.93.83

GAME

auctionSvr

203.69.93.91

GAME

firstserver1

203.69.93.92

GAME

firstserver2

203.69.93.93

 


作者: dnf台服吧    时间: 2019-3-31 03:54

第四章 DNF SERVER PROCESS 流程圖

(, 下载次数: 21)

 


作者: dnf台服吧    时间: 2019-3-31 03:57

第五章 DB 架構及功能介紹

第一節 DB STRUCTURE

(, 下载次数: 23)

 

第二節 STORE PROCEDURE

第一項 遊戲統計劇本 ( 統計DB MASTER )

參照st_taiwan_server, st_taiwan_game DB中處理對象統計TABLE模式

執行週期

劇本名

說明

處理對象統計TABLE

1分鐘一次

/root/bin/max_count_v2.php

1分為單位各伺服器的最高同事在線

max_count_v2

5分鐘一次

/root/bin/st_script_5min.sh

pvp, channel同時在線

max_count_pvp, max_count_channel

30分鐘一次

/root/bin/log_client_ting_stat_time.php

client ting的資訊

client_ting_stat_time

每天 00點 10

/root/bin/auction_script.sh

拍賣場統計

auction_day, auction_item_top100, auction_reg_top50, auction_item_day

每天 02點 00

/root/bin/member_info.php

帳號資訊統計 每天更新 )

member_info

每天 02點 30

/root/bin/member_info_view.php

帳號資訊view table統計

member_info_view

每天 03點 00

/root/bin/stat_to_member_info.php

帳號資訊統計 每天更新 )

member_info

每天 03點 10

/root/bin/stat_to_charac_info.php

角色資訊統計

charac_info_all

每天 03點 20

/root/bin/log_fatigue.php

疲勞度統計

log_fatigue

每天 03點 30

/root/bin/log_charac_create.php

新創角統計

create_charac_view

每天 03點 35

/root/bin/log_charac_lev.php

各等級別角色統計

log_charac_lev

每天 03點 45

/root/bin/log_fatigue_charac.php

各角色疲勞度統計

log_charac_play

每天 04點 00

/root/bin/log_maxmoney.php

各角色持有金幣資訊統計

log_maxmoney

每天 04點 00

/root/bin/new_log_money.php

各角色持有金幣資訊統計

log_money, log_item_stat_view

每天 04點 10

/root/bin/log_pay_coin.php

各角色別復活幣持有統計

log_pay_coin

每天 04點 15

/root/bin/log_coin.php

各角色別持有復活幣資訊

log_coin

每天 04點 30

/root/bin/log_uv_dwm.php

月間登入  UV 統計

login_uv_day, login_uv_week, login_uv_month

每天 04點 40

/root/bin/log_uv.sh

日間 UV統計和 log_dailry_report, log_main_stat 統計

login, log_uv, log_daily_report, log_main_stat

每天 04點 50

/root/bin/log_uv_playtime.php

各角色別遊戲登入集中 時間統計

log_uv_period

每天 05點 00

/root/bin/log_fatigue_old_confirm.php

各角色疲勞度統計 V2

log_fatigue_old_confirm

每天 06點 30

/root/bin/hack_charac_levup.php

不正當玩家角色升等統計

hack_charac_levup

每天 07點 00

/root/bin/new_member_secede_return_view.sh

歸還者統計

log_member_secede_return_view

每天 08點 30

/root/bin/log_secret_shop_stat.sh

商城統計

log_secret_shop

每天 08點 40

/root/bin/log_dungeon_entrance.sh

地下城入場統計

log_dungeon_entrance

每天 09點 00

/root/bin/log_punish_hack.php

不正當玩家統計

dnf_hack_log_temp, dnf_hack_log, dnf_hack_stat, dnf_hack_stat_total, clean_pad_stat, trade_top

  

執行週期

劇情名

說明

處理對象統計tabke

每天 09點 00

/root/bin/new_log_uv_v4.php

日間 UV 統計和 log_dailry_report, log_main_stat ,log_fatigue 統計

log_fatigue_stat, log_uv, log_daily_report, log_main_stat

每天 09點 10

/root/bin/new_new_log_uv_ext.php

歸還者現況統計

log_uv 

每天 09點 30

/root/bin/new_log_fatigue2.sh

疲勞度統計

log_fatigue_new

每天 09點 50

/root/bin/log_join_present.php

登入現況統計

log_join_present

每天 10點 00

/root/bin/user_price_index_avg_price_week_insert.sh

玩家物品獲得統計

user_price_index_avg_price_week

每天 10點 00

/root/bin/log_main_stat_update.php

ting統計

log_main_stat

每天 10點 00

/root/bin/log_item_drop_v1.php

物品掉落統計

log_item_drop_stat

每天 10點 10

/root/bin/login_week_ratio_view.sh

每周登入現況統計

login_week_ratio_view 

每天 10點 30

/root/bin/daily_script_v3.sh

 玩家金幣復活幣現況統計

money_top100, coin_top100, gini_aggregate, gini_view, log_punish_money, log_pay_coin

每天 11點 00

/root/bin/log_blood_enter_count.sh

各角色別 blood 地下城入場現況統計

log_blood_charac_count_new 

每天 15點 00

/root/bin/new_fatigue_battery.php

各疲勞度金幣現況統計

log_gold_stat_view 

  

第二項 營收統計相關 (統計 DB MASTER)

參照taiwan_prod DB中處理對象統計模式 

執行週期

名稱

說明

處理對象

每天 04點 00

/root/bin/log_sales.php

統計營收TABLE

sales_main_view, sales_distribution_aggregate, sales_distribution_view, sales_pattern_view, sales_cate_view

第三項 DB 備份相關 (只在SLAVE執行)

執行週期

名稱

說明(參照)

備份目錄

執行DB

備份期間

每天 03點 30

/root/bin/dnf_backup.sh

每日 Snapshot Full Dump Backup

/dblab/backup

GAME1, GAME2, Account, Log, Event, Web

10

 備份期間中,隨著DB容量不同而有可能變更. (需要SE的管理 )

第四項 其他事項

執行週期

名稱

說明

執行 DB

1分一次

/root/bin/cpu.io.sh

DB server CPU 和 IO  檢視劇本

MASTER / SLAVE 全部執行

10分一次

/root/bin/slave_check.sh

SLAVE狀態確認劇本 使用show slave status 命令語 )

只有SLAVE執行

 neople DB團隊為了支援臨時的管理,所新增的流程 .

 

第三節DB BACKUP JOBS

檔案名稱:dnf_backup.sh

(, 下载次数: 23)

第四節 定期維護作業

 Game 2nd DB (包裹打包作業)

§ 現在TABLE rename
Rename table postal to postal_YYYYMMDD;

§ 產生新的TABLE
Create table postal like postal_YYYYMMDD;

§ 新產生的TABLE中的DATA insert
Insert into postal (select * from postal_YYYYMMDD where (delete_flag=0 and occ_time >= date_add(now(), interval -14 day)) or unlimit_flag=1);

  

Game 2nd DB (信件整理作業

· 現在TABLE rename
Rename table letter to letter_YYYYMMDD;

· 產生新的TABLE
Create table letter like letter_YYYYMMDD;

· 新產生的TABLE中的DATA insert
Insert into letter (select * from letter_YYYYMMDD where reg_date >= date_add(now(), interval -14 day) or stat=3;

  

Game 2nd DB (User items 整理作業)

· 現在TABLE  rename
Rename table user_items to user_items_YYYYMMDD;

· 產生新的TABLE
Create table user_items like user_items_YYYYMMDD;

· 新產生的TABLE中的DATA insert 
Insert into user_items (select * from user_items_YYYYMMDD where expire_date >= date_add(now(),interval -14 day) and stat not in (1,5));
Insert into user_items (select * from user_items_YYYYMMDD where expire_date ='0000-00-00 00:00:00' and stat not in (1,5));

· 舊的TABLE中的DATA insert
Insert into user_items_history (select * from user_items where stat in (1,5));

 


作者: dnf台服吧    时间: 2019-3-31 04:05

第六章 TENPROTECT 騰訊反外掛機制

第一節 合約規範

【Tencent 方責任】

相關責任項目

T-1

指派一名技術人員,與 Garena 和 Neople 一起進行每週定期維護。正式服開機前,由該技術人員確認所有正式機的 TP 相關設定。

 

T-2

每次進行 TP 更新後 (包含 Server 和 Client),需以信件提供 Patch note 給 Garena 和 Neople。

 

T-3

每次 TP 更新後的 24 小時內,需要有人員 on call 處理緊急狀況。

N-2、G-7

T-4

信件請直接同時寄給 Garena 和 Neople。技術內容請盡量以英文寫作。

N-3、G-8

T-5

定時清除正式機的 Log 檔,須確保不能超過 home/ 100 G、tmp/ 10 G 的容量。

N-1、G-1

T-6

提供安全方案文件列表。

N-4

 

【Neople 方責任】

相關責任項目

N-1

"不要" 更新、複製、刪除任何 TP 相關的文件,包含 log 檔。

T-5、G-1

N-2

每次 TP 和遊戲更新後的 24 小時內,需要有人員 on call 處理緊急狀況。

T-3、G-7

N-3

TP 相關信件請直接同時寄給 Garena 和 Tencent。技術細節內容需接受英文信件溝通。

T-4、G-8

N-4

如果更新內容中,包含 TP 安全方案文件列表中的文件,需要與 TP 團隊進行確認。

T-6

N-5

檢查 antisvrimport_conf.xml,確保 debug mode 為關閉狀態。

G-10

 

【Garena 方責任】

相關責任項目

G-1

"不要" 刪除任何 TP 相關的文件,包含 log 檔。

T-5、N-1

G-2

df_game_r 和 TP 服務需要使用同一帳號運行。

 

G-3

TP process 需要先於 df_game_r process 啟動。

 

G-4

clean_g3_mmap.h 只能在 df_game_r 和 TP processes 都停止的情況下才能調用。

 

G-5

每次 df_game_r 需要重新啟動時,都在 df_game_r 和 TP Processes 停止後,先調用 clean_g3_mmap.h,再啟動 df_game_r 和 TP Processes。

 

G-6

正式機的 TP 服務由 Garena 系統人員派專人統一操作,包括啟動、停止和更新。

 

G-7

每次 TP 和遊戲更新後的 24 小時內,需要有人員 on call 處理緊急狀況。

T-3、N-2

G-8

TP 相關信件請直接同時寄給 Neople 和 Tencent。若技術交流內容為中文或韓文,需協助翻譯;技術細節可能提供英文信件。

T-4、N-3

G-9

建立 check list 機制,對更新文件設定 check 表,用於版本發布前核對,避免更新錯誤的情形。

 

G-10

檢查 antisvrimport_conf.xml,確保 debug mode 為關閉狀態。

N-5

G-11

負責正式機開機前的最後確認,包含 debug mode、檔案權限、同步是否正確、腳本是否正確等。

 

G-12

df_game_r服务器ip列表变更时,包括服务器新上线、服务器替换、服务器下线都需要提前通知TP团队进行相应变更,在TP团队check ok后,才可对外开放。

 

 

【郵件清單】

T

"longma(马跃磊)" <longma@tencent.com>, "godsu(苏德新)" <godsu@tencent.com>, "senlyzhang(张胜利)" <senlyzhang@tencent.com>, 
"hectorxqying(应小全)" <hectorxqying@tencent.com>, "baikepeng(彭青白)" <baikepeng@tencent.com>, "nathanchen(陈冬)" <nathanchen@tencent.com>, "windywen(温超)" <windywen@tencent.com>, "zhihongyang(杨志宏)" <zhihongyang@tencent.com>, "raulzhu(朱德松)" <raulzhu@tencent.com>, 
"edgarfeng(冯水坚)" <edgarfeng@tencent.com>

N

twdf@neople.co.kr, i-license-3part@nexon.co.kr, jennifer0831@neople.co.kr

G

garenatw-ss@garena.com <garenatw-ss@garena.com>,  "garenatw-dnfgo@garena.com" <garenatw-dnfgo@garena.com>, 
"chenbi@garena.com" <chenbi@garena.com>, "liuch@garena.com" <liuch@garena.com>, "yenj@garena.com" <yenj@garena.com>, 
唐忠華 Ruby Tang <tangr@garena.com>, 盛曉敏 Minna Sheng <shengm@garena.com>, 林倖妃 faye_lin <linfaye@garena.com>

 

【更新後 24 小時 on call 人員】

T

longma(马跃磊) <longma@tencent.com>

N

請提供指派人員及聯絡方式

G

Lu Mars <lum@garena.com>, Nix Fang方子文 <fangn@garena.com>

 




第二節架構說明

1. 硬體需求:

服務

機型

數量

備註

基礎服務

C1

6

100萬線上以內不需要增加

日誌存儲

TS3

4

100萬線上以內不需要增加

資料庫

A5

6

50萬線上以內不需要增加

邏輯服務

C1

3

5萬線上用戶需增加一台

處罰判定

C1

1

 

日誌分析

C1

N

每個大區一台伺服器

 

2. 配置項目規格:

 

參考基本配置

額外需求

機型

CPU

記憶體

磁片

是否需要內網IP

是否需要公網IP

作業系統

Raid需求

C1

數量:1

8G

500G

需要

不需要

SUSE Linux Enterprise Server 11 (x86_64) 2.6

不需要

四核 2.5GHz及以上

A5

數量:1

32G

12*146G

需要

不需要

SUSE Linux Enterprise Server 11 (x86_64) 2.6

需要

四核 2.0GHz及以上

TS3

數量:1

8G

12*1TB

需要

不需要

SUSE Linux Enterprise Server 11 (x86_64) 2.6

需要

四核 2.0GHz及以上

(以上機器需求為初期階段的必須資源,後續如出現更高的安全風險,需要接入更多的對抗方案,屆時機器方面的需求也會相應增加。)

 

参考基本配置

额外需求

机型

磁盘

Raid需求

分区需求

A5

12*146G

需要(2Raid1+6raid5)+(4raid5)

1)、2块磁盘采用2RAID1,作为系统分区

 

/10G

/usr/local20G

/data:剩余空间

 

26块磁盘采用6RAID5,作为/data1

3)其他4块磁盘使用另外raid卡,采用4RAID5,作为/data2

 

TS3

12*1TB

需要(2Raid1+6raid5)+(4raid5)

1)、2块磁盘采用2RAID1,作为系统分区

 

/10G

/usr/local20G

/data:剩余空间

 

26块磁盘采用6RAID5,作为/data1

3)其他4块磁盘使用另外raid卡,采用4RAID5,作为/data2

 

3. 頻寬:內網頻寬每10萬線上需要300Mbps

 

4. Gameserver資源佔用:Gameserver上需要運行接入的安全程式,cpu需佔用0.5個核,記憶體500M, 硬碟4G

 

提供給運維操作的安裝包為.tgz格式,安裝包中已預先創建好的目錄結構,此外含有安全服務對應的二進位檔案、服務啟停腳本和清理腳本等。

Linux安裝包解壓後的目錄結構如圖1所示:

(, 下载次数: 23)

 

     1 Linux安裝包目錄結構

 

其中二進位檔案和腳本均在secsvr/bin目錄下,

SDK組件:libantisvrimport.so

二進位進程:gunnersvrsecagentzergsvr

啟停腳本:tss_svr.shstart_secagent.shstop_secagent.shreload_secagent.sh

清理腳本:clean_g3_mmap.sh

 

TP的相關檔一共存在於4個目錄:

1. /home/neople/secsvr/  TP的進程相關的檔都在目錄

2. /home/neople/game/ : libantisvrimport.so,不需要Neople提供,由TP直接提供給Garena

                                                antisvrimport_conf.xml,不需要Neople提供,目前在正式機上沒有這個檔。

3./tmp/ : 放置由libantisvrimport.so創建的檔,包括以下:

                  tss_sdk_*.log*so列印的log,會在當天內,隨時間的增加而增長,正常情況下不超過10MB。不需清理,TP只保留當天的log檔。

                  tss_sdk_shm_user*: so的使用者管理共用記憶體檔,大小固定,不能清理

                  dp_*: dp的關鍵設定檔,大小固定,不能清理

                 tss_sdk_game_svr_id_pool_file* :通道id控制檔,佔用空間小於1kB,不能清理

4./dev/shm : 放置由TP Process生成的共用記憶體檔

 

第三節 新部署服務

部署步驟:

1增加配置伺服器上對應的資訊

在新機器上新部署一套SecAgent服務前,需要聯繫平臺組同事預先在配置伺服器上添加對應的配置,否則服務進程啟動時拉不到配置會導致服務啟動失敗。需要提供的資訊為機器的IP位址,遊戲ID和大區號

(G3全服後)當運維處遊戲伺服器IP列表有變更時,如增加、刪除機器,增加大區等,需要至少提前一天通知安全平臺組同事。

 

相關同事:stefzhou, sasukeliu    

 

2)安裝secagent服務

解壓安裝包後(默認解壓到目前的目錄),將SDK對應的.so檔和secsvr目錄放到對應的目錄下即可。安裝包默認將SOsecsvr子目錄解壓到目前的目錄下。

比如對於DNF遊戲,其SOsecsvr目錄均存放在/data/home/user00/game/目錄下,則只需將安裝包拷貝到game目錄下,然後在目前的目錄下解壓即可:

$ cp INSTALL_PKG.tgz /home/neople

$ cd /home/neople

$ tar zxvf INSTALL_PKG.tgz 

 

安裝好SO和二進位後,需要檢查當前SO和二進位版本號是否為發佈的版本。版本號查看方法可見第四節的說明。

 

3)檢查環境

由於服務進程需要寫共用檔,所以要檢查是否已經正常掛載了/dev/shm設備;若沒有掛載則需要手動掛載(注:需要root許可權)

# mount /dev/shm

 

4)啟動遊戲伺服器進程

啟動遊戲伺服器時會載入SDK SO,保證遊戲伺服器進程能正常啟動。

 

5)啟動SecAgent安全服務

在(1~4)都OK之後就可以啟動SecAgent服務了:

secsvr放在目前的目錄下

$ cd /home/neople/secsvr/bin ## 啟動腳本所在目錄

$ sh start_secagent.sh ## 啟動secagent服務

 

啟動服務完成後,ps查看進程是看到secagentzergsvrgunnersvr三個二進位進程,三個tss_svr.sh腳本:

(, 下载次数: 25)

 

 

其中sh ../../bin/tss_svr.sh是啟停腳本,每個進程啟動、停止都由這個腳本拉起;同時還監控二進位進程是否正常運行,如果進程意外停止,tss_svr.sh腳本會自動拉取對應的二進位進程。

 

服務是否啟動成功需要檢查以下幾個方面:

(a)啟動時是否有錯誤log

(b)日誌檔是否有錯誤log

(c)帳單是否正常。

 

如果啟動有問題可參考相關運營文檔或聯繫平臺組開發同事幫忙定位處理。

 

(6)核對使用者資料是否正常

啟動成功後,還需要核對secagent的帳單,確認secagent進程與後端伺服器資料通信正常。檢查secagent帳單,看是否有後端伺服器下發的資料包,簡單方法如下:

# secagent log所在目錄

$ cd /home/neople/secsvr/run/secagent/log

$ tail -f secagent_bill_20120907.log |grep 404921490 ## 404921490為測試的uin號碼

 

然後登錄遊戲,進入對應的大區和頻道,看是否有"secsvr notify is change svr""secsvr notify rpcode crypt info"這兩條帳單,如下所示:

(, 下载次数: 20)

 

 

若有則說明secagent與後端伺服器通信ok;若沒有對應的帳單,則說明資料通道不正常,需要聯繫平臺組同事幫忙排查問題。

 

相關同事:sasukeliu,errayzhao

第四節 更新服務及開關操作

更新步驟:

(1)停止遊戲伺服器進程;

(2)停止SecAgent服務元件

secsvr放在目前的目錄下

$ cd /home/neople/secsvr/bin ## 啟停腳本所在目錄

$ sh stop_secagent.sh ## 停止secagent服務

 

(3)運行清理腳本

secsvr放在目前的目錄下

$ cd /home/neople/secsvr/bin ## 啟動腳本所在目錄

$ sh clean_g3_mmap.sh ## 運行清理腳本

 

(4)更新SO和二進位

由於安裝包在不指定輸出目錄的情況下,預設解壓到目前的目錄,所以僅需將安裝包複製到工作主目錄(/data/home/user00/game/),然後目前的目錄下解壓即可覆蓋更新SDK SOsecagent二進位檔案:

$ cp INSTALL_PKG.tgz /home/neople/secsvr/bin

$ cd /home/neople/secsvr/bin

$ tar zxvf INSTALL_PKG.tgz 解壓後覆蓋掉舊版本的SOsecagent二進位檔案

 

(5)驗證版本資訊

檢查更新後的SOsecagent二進位檔案的版本號是否為需要更新的版本。版本號驗證方式見第4節描述。

 

(6)啟動遊戲伺服器進程

啟動時檢查SO是否已經被正確載入。

 

(7)啟動SecAgent安全服務

啟動方式和注意事項同上一節"(5)啟動SecAgent安全服務"小結所述。

 驗證版本資訊

4.1 SDK版本資訊

運行objdump查看so的版本號是否為需要發佈的版本:

$ objdump -Dx libantisvrimport.so |grep SONAME

 

如下圖所示的SO版本號為191

(, 下载次数: 24)

 

4.2 二進位進程版本資訊

查看SecAgent服務對應的二進位版本號直接加-v參數即可,注意SecAgent服務對應secagentzergsvrgunnersvr三個二進位進程。

如下圖所示,對應的版本號為191版本:

(, 下载次数: 25)

 

(, 下载次数: 22)

 

(, 下载次数: 20)

 

 

第五節 注意事項

µ /home/neople/secsvr/bin/clean_g3_mmap.sh:這個腳本的功能是清理TP業務的各種臨時文件、共享內存文件等。在df_game_rTP process都運行的情況下禁止調用。只能在df_game_rTP業務停止的狀態下才能調用。此腳本實質為清零腳本,在緊急情況下,Garena的技術人員可以在dfTP停機後,調用此腳本,再啟動tpdf解決部分緊急問題。

µ TP業務的啟動順序:在任何df_game_r停機的情況下,都推薦在df_game_r啟動之前,調用clean腳本,啟動TP後再啟動df_game_r

µ TP有關的任何不確定操作,麻煩諮詢longma或者其他TP技術接口,並溝通操作的原因、實施方案等。

µ Gameserver開服、停服、擴容、下架等變更時需要知會tencent,並提供變更的iplist, iplist需要包含IP和大區號。

µ Garena需要提供必要的運維人力以支撐Tencet許可權下的機器的現場應急處理(如機器故障時需要進行重啟、更換等)。

µ 版本發佈之前至少預留3個工作日供Tencent對用戶端進行保護工作。

µ 戶端DNF.exe每個版本exe及相應的map檔需要提供給Tencent,其中map盡可能提供明文map



作者: dnf台服吧    时间: 2019-3-31 04:20

第七章 DNF機房配置圖

因異動頻繁,請參閱Google Document(IDC-Cabinet Position List)

https://docs.google.com/a/garena.com/spreadsheet/ccc?key=0AoHLF0zfSxFGdFBTS19OS3NlMTg0UTg4eE15NEMyWVE#gid=18


作者: dnf台服吧    时间: 2019-3-31 04:21

第八章 DNF IP配置圖

因異動頻繁,請參閱Google Document(DNF_IPList)

https://docs.google.com/a/garena.com/spreadsheet/ccc?key=0AgVCk_rGjNn3dFVXREI0Nzl2ZnJuN1JNWDJaZ09mOFE#gid=1


作者: dnf台服吧    时间: 2019-3-31 04:21

第九章 DNF實體網路架構

(, 下载次数: 18)

 

種類

SERVICE

NETWORK

使用PORT

外部(玩家是否開啟

Game

Game Server

public/private

TCP 10001 ~ 10099

YES

UDP 11001 ~ 11099

YES

TCP 20000 ~ 21000

YES

Game Application

UDP Server (STUN)

public/    -

UDP 2311 ~ 2313

YES

Channel Server

public/private

TCP 7001

YES

BUGDUMP

public/private

TCP 80

YES

Relay

public/private

TCP 7101 ~ 7300

YES

public/private

UDP 8101 ~ 8300

YES

Web

Web_Login

Public

TCP 80, 443

YES



作者: dnf台服吧    时间: 2019-3-31 04:22

第十章 系統配置方式說明

第一節 系統配置設置

· CentOS 5.8 版本 (64bit)
設置為NEOPLE提供的 ISO 圖片

Timezone : SERVER被設置完成的當下時間
# neople - time syncronize 0 */12 * * * root /usr/sbin/ntpdate -s time.stdtime.gov.tw && hwclock -w


Download URL :之後提供的DB SERVER

· 基本上和上方敘述相同.
MySQL 5.X.X 版本 (64bit)
NEOPLE這邊進行設置

 

第二節 磁碟配置

File System: ext3 or xfs

 

[Game Server] [APP Server] [WEB Server] [COMMON Server] [Auction Server] [Relay Server] [Stun Server]

Mount Point

Size

File System

/boot

256MB

ext3

/home

其餘剩下的

xfs

/

20GB

ext3

/tmp

10GB

ext3

swap

8GB

swap

分隔劃分 設置

lvdisplay //LVM 分隔劃分確認
lvcreate -l 100%FREE -n lv_home vgdata // 製成分隔
mkfs.xfs /dev/vgdata/lv_home // 分隔以 xfs編排
echo "/dev/vgdata/lv_home     /home             xfs     defaults        1 2" >> /etc/fstab // /et/fstab設置

 

 [DB Server]

Mount Point

Size

File System

/boot

256MB

ext3

/

20GB

ext3

/tmp

10GB

ext3

/mysql

50GB

xfs

/data

剩餘的全部

xfs

swap

8GB

swap

分隔劃分設置

lvcreate -L+20G -n lv_mysql vgdata
lvcreate -l 100%FREE -n lv_dblab vgdata
mkfs.xfs /dev/vgdata/lv_mysql
mkfs.xfs /dev/vgdata/lv_dblab
echo "/dev/vgdata/lv_mysql     /mysql             xfs     defaults        0 0" >> /etc/fstab
echo "/dev/vgdata/lv_dblab     /dblab             xfs     defaults        0 0" >> /etc/fstab

 

第三節 SYSTEM CORE SETTING

接下來的套用在全部SERVER套用 (NEOPLE提供的 OS套用)

 Kernel parameter change
/etc/sysctl.conf
net.ipv4.tcp_syncookies = 1

§ SYN cookies 套用 -> 全部SERVER共同套用包含DB SERVER, private network 內的 DB SERVER也會發生  SYN Attack 

 /etc/security/limits.conf
$user soft nofile 2048
$user hard nofile 4096

§ Open file 數調整 -> 特殊應用的情況容許的數量超過1024的情況下也會發生

 

第四節 SERVER配置的環境CFG檔案

設定環境檔案之前先製成整理要使用的port的分流(頻道)分布表.

 

第一項 GAME SERVER

df_game_r

· 通訊錄 / 檔案位置結構

目錄 (檔案) 名稱 (full path)

區分

說明

擁有者 (所屬團隊)

權限設置

參考事項

/home/neople/game/

通訊錄

game server  base 通訊錄

neople(neople)

0755

 

/home/neople/game/cfg

通訊錄

game server 程式的configuration  檔案通訊錄

neople(neople)

0755

 

/home/neople/game/pid

通訊錄

game server 程式的 process id 紀錄通訊錄

neople(neople)

0755

 

/home/neople/game/log

通訊錄

game server程式的log 紀錄通訊錄

neople(neople)

0755

 

/home/neople/game/Script.pvf

檔案

 遊戲劇情檔案

neople(neople)

0755

 

/home/neople/game/df_game_r

檔案

 game server 二元檔案

neople(neople)

0755

 

/home/neople/game/publickey.pem

檔案

啟動SERVER時需要的認證鍵

neople(neople)

0755

 

/home/neople/game/server_dnf.str

 檔案

劇情他國語言支援

neople(neople)

0755

 

· 環境設定檔案 (/home/neople/game/cfg 中 "server名編號".cfg )cain01.cfg) 儲存.

下列為現在套用的server設定檔案,隨時可以變更 .

gc_no = 1010  # 遊戲SERVER分流(頻道)
server_type = 0
channel_no = 10  # 分流(頻道)編號
channel_name = ch.10# 分流(頻道)名稱(在遊戲中顯示)
ip = 203.69.93.2# 遊戲SERVER  IP
tcp_port = 10012 # game server使用的 TCP port
udp_port = 11012 # game server使用的 UDP port

udp_ip_of_monitor = 172.1.2.61# monitor server IP
udp_port_of_monitor = 30301 # monitor server UDP port
tcp_port_of_monitor = 30301# monitor server TCP  port

udp_ip_of_doublecheck = 172.1.2.51 # cut off server設定
udp_port_of_doublecheck = 30701# cut off  server設定

udp_ip_of_statistic = 172.1.2.61 # 指標server ip
udp_port_of_statistic = 30501  # 指標使用 port

udp_ip_of_guild = 172.1.2.61# 公會SERVER IP
udp_port_of_guild = 30401# 公會SERVER UDP PORT
tcp_port_of_guild = 30401# 公會SERVER TCP PORT

udp_ip_of_channel = 172.1.2.51#分流中繼server IP
udp_port_of_channel = 7000#分流中繼server使用port
tcp_port_of_channel = 7000# 分流中繼server使用port 

exchange_server_ip = 203.69.93.2 #玩家切換分流時使用
exchange_server_port = 20012 # exchange port

udp_ip_of_hades = 172.1.2.148
udp_port_of_hades = 31001
tcp_port_of_hades = 31001

auction_server_ip = 172.1.2.91
auction_server_port = 30801

//cera_auction_server_ip = 172.1.3.4
//cera_auction_server_port = 31401

ipg_ip = 61.215.216.233  # billing server位置
nxj_ipg_ip = 61.215.216.233
nxj_ipg_port = 9006

relay_ip = 203.69.93.81# relay使用 IP
relay_tcp_port = 7200 # relay server使用  TCP port
relay_udp_port = 7200# relay server使用UDP port

stun_ip= 203.69.93.71  # stun ip 登錄
stun_ip= 203.69.93.72  # stun ip 登錄
stun_ip= 203.69.93.73  # stun ip 登錄
stun_port=2311 # stun 使用PORT(必須使用2個以上)
stun_port=2312  # stun 使用PORT (stun Port 只使用一個時,client  Port 無法被傳達)
stun_port=2313

lls_keys = 3240332317335214766634233322344377569687 #eth Mac 的相關設定– 設定皆為neople提供 

//chatting_server_ip = 172.1.3.4
//chatting_server_port = 40404
//social_event_server_ip = 172.1.3.4
//social_event_server_tcp_port = 40405
//mobile_server_ip = 172.1.3.4
//mobile_server_port = 30809
//community_server_ip = 172.1.3.4
//community_server_port = 39500
//nexon_billing_ip = 211.218.232.97
//nexon_billing_port = 36500

db_thread_count = 3 # DB 連結數

master_db_ip = 172.1.2.141
master_db_port = 3306
master_db_acc = taiwan_game
master_db_pwd = e57da631f47c906741616e764bfee89568b80c38ec48cad4
master_db_name = d_taiwan

server_group = 1  # 設定遊戲SERVER組

fatigue_time = 06  # 疲勞度重置時間 (早上6點)
avatar_time = 60  # 不使用
max_user_num = 600  # 各分流的玩家數量

db_tbl_file = db_info_arad

header_classification = 0 1
header_msg_no = 5 1
header_sLength = 1 4
//header_garvage = 6 1
header_checksum = 7 4
header_sequence = 11 2
header_load_interval = 10
header_mangled_length = 13

libserverlib_config_name = ServerLab

script_dir = ./Script/
//stand_alone = yes
scriptpacks = yes

· 需要文庫

MySQL-share-community-5.x.xx.x.x64.rpm 
/usr/lib/libnxencryption.so (NEOPLE提供)

 

第二項 APP SERVER

df_monitor_r

· 目錄 / 檔案位置結構

目錄 (檔案)名稱 (full path)

區分

說明

擁有者 (所屬團隊)

權限設定

 參考事項

/home/neople/game/

目錄

server程式 base 目錄

neople(neople)

0755

 

/home/neople/game/cfg

目錄

server程式 configuration  檔案目錄

neople(neople)

0755

 

/home/neople/game/pid

目錄

server程式 process id 紀錄目錄

neople(neople)

0755

 

/home/neople/game/log

目錄

server程式 log 紀錄目錄

neople(neople)

0755

 

/home/neople/game/table

目錄

game server和適用 IP port 資訊目錄 

neople(neople)

0755

 

/home/neople/game/table/server_config.tbl

檔案

game server和適用 IP port 資訊目錄

neople(neople)

0755

 

/home/neople/game/df_monitor_r

檔案

執行的程式

neople(neople)

0755

 

· 環境設定檔案儲存於 (/home/neople/game/cfg  "環境設定檔案名稱".cfg )mnt_cain.cfg) .

# field以 tab分離
# 行列數超過10以上,monitor server會修改來源
#------------------------------------------------------------------------------------------------------
#為了計算 Application的 tick 設定值
1.Define_Tick_Count_Value                       30
#接收 Packetˇ的 serverUDP port
2.Define_Server_UDP_Port                        30301
# server組編號, 1 : 卡恩, 2 :狄瑞吉, 3 : 希洛克, 4 : 普雷, 5 : 凱西亞斯, 6 : 赫爾德, 99 : first server , 98 : 開發server
3.Server_Group                                  1
#接收 Packe的server  TCP port
4.Define_Server_TCP_Port                        30301 # monitor server port
5.Define_DBMW_TCP_IP                            172.1.2.61 #dbmw_mnt IP
6.Define_DBMW_TCP_PORT                      20201 #dbmw_mnt Port
7.Define_MANAGER_TCP_IP                      172.1.2.51 #df_manager_r server的 IP
8.Define_MANAGER_TCP_PORT                 40401  #df_manager_r server的 Port

#-------|-------------|-------|---------------|------------------|
#Type | Server Group| Index | Server IP | Server UDP Port |
#-------|-------------|-------|---------------|------------------|
DBMW 2 1 200 172.1.2.61 20201
Manager 4 1 202 172.1.2.51 40401
Relay 1 0 200 203.69.93.81 8200 // 卡恩伺服器使用的Relay Server IP, 加入Port.
Relay 1 0 201 203.69.93.81 8201
Relay 1 0 202 203.69.93.81 8202
Relay 1 0 203 203.69.93.81 8203
Relay 1 0 204 203.69.93.81 8204
Relay 1 0 205 203.69.93.81 8205
Relay 1 0 206 203.69.93.81 8206
Relay 1 0 207 203.69.93.81 8207
Relay 1 0 208 203.69.93.81 8208
Relay 1 0 209 203.69.93.81 8209
Relay 1 0 210 203.69.93.81 8210
Relay 1 0 211 203.69.93.81 8211
Relay 1 0 212 203.69.93.81 8212
Relay 1 0 213 203.69.93.81 8213
Relay 1 0 214 203.69.93.81 8214

 

df_static_r

· 目錄 / 檔案位置結構

目錄 (檔案) 名稱 (full path)

種類

說明

擁有者 (所屬團隊)

權限設定

參考事項

/home/neople/statics/

目錄

server程式的 base 目錄

neople(neople)

0755

 

/home/neople/statics/cfg

目錄

server程式的 configuration  檔案目錄

neople(neople)

0755

 

/home/neople/statics/pid

目錄

server程式的 process id 紀錄目錄

neople(neople)

0755

 

/home/neople/statics/log

目錄

server程式的 log 紀錄目錄

neople(neople)

0755

 

/home/neople/statics/table

目錄

game server和應用IP port資訊目錄

neople(neople)

0755

 

/home/neople/statics/table/server_config.tbl

檔案

game server 和應用IP port資訊檔案

neople(neople)

0755

 

/home/neople/statics/df_statics_r

檔案

執行的程式

neople(neople)

0755

 

 

· 環境設定檔案儲存於 (/home/neople/statics/cfg 中 "環境設定檔案名稱".cfg)stat_cain.cfg )

# field以 tab分離

# 行列數超過10以上的話,monitor server會修改來源
#------------------------------------------------------------------------------------------------------
#為了計算 Application的 tick的設定值
1.Define_Tick_Count_Value 30
# 接收Packet的server  UDP port
2.Define_Server_UDP_Port 30501
# Server Group
3.Server_Group 1 #server組

· 環境設定檔案儲存於 (/home/neople/dbmw_stat/table 中 server_config.tbl) .

#-------|-------------|-------|---------------|------------------|
#Type | Server Group| Index | Server IP | Server UDP Port |
#-------|-------------|-------|---------------|------------------|
2 1 200 172.1.2.61 20301

 

df_guild_r

· 目錄 / 檔案位置結構

目錄 (檔案) 名稱 (full path)

種類

說明

擁有者 (所屬團隊)

權限設定

參考事項

/home/neople/guild/

目錄

server的程式  base 目錄

neople(neople)

0755

 

/home/neople/guild/cfg

目錄

server的程式 configuration檔案目錄

neople(neople)

0755

 

/home/neople/guild/pid

目錄

server的程式 process id 紀錄目錄

neople(neople)

0755

 

/home/neople/guild/log

目錄

server的程式 log 記錄目錄

neople(neople)

0755

 

/home/neople/guild/table

目錄

game server和和應用IP port資訊目錄

neople(neople)

0755

 

/home/neople/guild/table/server_config.tbl

檔案

game server和應用 IP port資訊檔案

neople(neople)

0755

 

/home/neople/guild/df_guild_r

檔案

執行的程式

neople(neople)

0755

 

· 環境設定檔案儲存於 (/home/neople/game/cfg 中 "環境設定檔案名稱".cfg )gld_cain.cfg) .

# field以 tab分離
#  行列數超過10以上的話,monitor server會修改來源
#------------------------------------------------------------------------------------------------------
# 為了Application的 tick 計算的設定值 
1.Define_Tick_Count_Value                       30
# 接收Packet的server  UDP port
2.Define_Server_UDP_Port                        30401
# server組編號, 1 : 卡恩, 2 :狄瑞吉, 3 : 希洛克, 4 : 普雷, 5 : 凱西亞斯, 6 : 赫爾德, 99 : first server , 98 : 開發server
3.Server_Group                                  1
# 接收Packet的server TCP port
4.Define_Server_TCP_Port                        30401
5.Define_DBMW_TCP_IP                            172.1.2.61
6.Define_DBMW_TCP_PORT                          20201

#-------|-------------|-------|---------------|------------------|
#Type   | Server Group| Index |  Server IP    | Server UDP Port  |
#-------|-------------|-------|---------------|------------------|
DBMW    2               2      200     172.1.2.61           20201

 

df_dbmw_r(dbmw_mnt)

· 目錄 / 檔案位置結構

目錄 (檔案) 名稱 (full path)

區分

說明

擁有者 (所屬團隊)

權限設定

參考事項

/home/neople/dbmw_mnt/

目錄

server程式的 base 目錄

neople(neople)

0755

 

/home/neople/dbmw_mnt/cfg

目錄

server程式的configuration 檔案目錄

neople(neople)

0755

 

/home/neople/dbmw_mnt/pid

目錄

server程式的 process id 紀錄目錄

neople(neople)

0755

 

/home/neople/dbmw_mnt/log

目錄

server程式的 log紀錄目錄

neople(neople)

0755

 

/home/neople/dbmw_mnt/table

目錄

서버 和應用IP port資訊目錄

neople(neople)

0755

 

/home/neople/dbmw_mnt/table/server_config.tbl

檔案

서버 和應用IP port資訊檔案

neople(neople)

0755

 

/home/neople/dbmw_mnt/df_dbmw_r

檔案

執行的程式

neople(neople)

0755

 

· 環境設定檔案儲存於 (/home/neople/game/cfg中 "環境設定檔案名稱".cfg) .

 

tick_value = 30
tcp_port = 20201
udp_port = 20201
dbmw_type = 1  #隨著設定值  變更為 1是 monitor, 2是 guild, 3是statics dbmw

master_db_ip = 172.1.2.141
master_db_port = 3306
master_db_acc = taiwan_game
master_db_pwd = e57da631f47c906741616e764bfee89568b80c38ec48cad4
master_db_name = d_taiwan
server_group = 1 

 

· 環境設定檔案儲存為 (/home/neople/dbmw_stat/table  server_config.tbl) .

#field 5j/3 tab으로 할것
#Type ============> 1 : game server, 2 : DB server, 3 : monitor sercer, 4 : 
#Server Group ====> 1 : 卡恩, 2 :狄瑞吉, 3 : 希洛克, 4 : 普雷, 99 : first server
#Index ===========> game server設定檔案的 channel_no, 60 : DB 中繼server, 61 : monitor server

#Server UDP Port => game server 設定檔案的 udp_port
#-------|-------------|-------|---------------|------------------|
#Type   | Server Group| Index |  Server IP    | Server UDP Port  |
#-------|-------------|-------|---------------|------------------|
3               1       201     172.1.2.61         30301

 

df_dbmw_r(dbmw_guild)

· 目錄 / 檔案位置結構

目錄 (檔案) 名稱 (full path)

區分

說明

擁有者 (所屬團隊)

權限設定

參考事項

/home/neople/dbmw_guild/

目錄

server 程式 base 目錄

neople(neople)

0755

 

/home/neople/dbmw_guild/cfg

目錄

server程式 configuration 檔案目錄

neople(neople)

0755

 

/home/neople/dbmw_guild/pid

目錄

server程式的 process id 紀錄目錄

neople(neople)

0755

 

/home/neople/dbmw_guild/log

目錄

server程式的 log 紀錄目錄

neople(neople)

0755

 

/home/neople/dbmw_guild/table

目錄

server和應用 IP port資訊目錄

neople(neople)

0755

 

/home/neople/dbmw_guild/table/server_config.tbl

檔案

server和應用 IP 포트 資訊檔案   

neople(neople)

0755

 

/home/neople/dbmw_guild/df_dbmw_r

檔案

執行的程式

neople(neople)

0755

 

· 環境設定檔案儲存於 (/home/neople/game/cfg 中 "環境設定檔案名稱".cfg) .

tick_value = 30
tcp_port = 20401
udp_port = 20401
dbmw_type = 2  #隨著設定的數值1為monitor, 2為 guild, 3變更為 statics dbmw

master_db_ip = 172.1.2.141
master_db_port = 3306
master_db_acc = taiwan_game
master_db_pwd = e57da631f47c906741616e764bfee89568b80c38ec48cad4
master_db_name = d_taiwan
server_group = 1

· 環境設定檔案儲存於 (/home/neople/dbmw_stat/table 中 server_config.tbl) .

#field 以 tab分離
#Type ============> 1 : game server, 2 : DB server, 3 : monitor server, 4 : 其他
#Server Group ====> 1 : 卡恩, 2 : 狄瑞吉, 3 : 希洛克, 4 : 普雷, 99 :first server
#Index ===========> game server設定檔案 channel_no, 60 : DB 中繼server, 61 : monitor server
#Server UDP Port => game server設定檔案 udp_port
#-------|-------------|-------|---------------|------------------|
#Type   | Server Group| Index |  Server IP    | Server UDP Port  |
#-------|-------------|-------|---------------|------------------|
5               1       203     172.1.2.61          30401

 

df_dbmw_r(dbmw_stat)

· 目錄 / 檔案位置結構

目錄 (檔案) 名稱 (full path)

區分

說明

擁有者 (所屬團隊)

權限設定

參考事項

/home/neople/dbmw_stat/

目錄

server程式的 base 目錄

neople(neople)

0755

 

/home/neople/dbmw_stat/cfg

目錄

server程式的 configuration 檔案目錄

neople(neople)

0755

 

/home/neople/dbmw_stat/pid

目錄

server程式的 process id 紀錄目錄

neople(neople)

0755

 

/home/neople/dbmw_stat/log

目錄

server程式的log 紀錄目錄

neople(neople)

0755

 

/home/neople/dbmw_stat/table

目錄

server和應用 IP port資訊目錄

neople(neople)

0755

 

/home/neople/dbmw_stat/table/server_config.tbl

檔案

server和 應用 IPport資訊檔案

neople(neople)

0755

 

/home/neople/dbmw_stat/df_dbmw_r

檔案

執行的程式

neople(neople)

0755

 

· 環境設定檔案儲存於 (/home/neople/game/cfg 中 "環境設定檔案名稱".cfg)儲存.

tick_value = 30
tcp_port = 20301
udp_port = 20301
dbmw_type = 3 #隨著設定的值變更為 1是 monitor, 2是 guild, 3是 statics dbmw

master_db_ip = 172.1.2.141
master_db_port = 3306
master_db_acc = taiwan_game
master_db_pwd = e57da631f47c906741616e764bfee89568b80c38ec48cad4
master_db_name = d_taiwan
server_group = 1

· 環境設定檔案儲存於 (/home/neople/dbmw_stat/table中 server_config.tbl) .

#-------|-------------|-------|---------------|------------------|
#Type   | Server Group| Index |  Server IP    | Server UDP Port  |
#-------|-------------|-------|---------------|------------------|
7               1       205     172.1.2.61          30501

 

第三項 CHANNELBRIDGE

df_bridge_r

· 目錄 / 檔案位置結構

目錄 (檔案) 名稱 (full path)

區分

說明

擁有者 (所屬團隊)

權限設定

參考事項

/home/neople/bridge/

目錄

server檔案的 base 目錄

neople(neople)

0755

 

/home/neople/bridge/cfg

目錄

server檔案的 configuration  檔案目錄

neople(neople)

0755

 

/home/neople/bridge/pid

目錄

server檔案的 process id紀錄目錄

neople(neople)

0755

 

/home/neople/bridge/log

目錄

server程式的 log 記錄目錄

neople(neople)

0755

 

/home/neople/bridge/df_bridge_r

檔案

執行的程式

neople(neople)

0755

 

· 環境設定檔案儲存於 (/home/neople/bridge/cfg 中 "環境設定檔案名稱".cfg) .

[server]

max_client = 1000 
this_ip = 172.1.2.91
this_udp_port = 7000 # 應答待機 TCP Port
this_tcp_port = 7000 # 應答待機 UDP Port

[DB]
db_ip = 172.1.2.141 # 輸入分流資訊的DB IP 資訊
db_name = d_channel #輸入分流資訊的 DB name資訊
db_id = taiwan_game
db_pwd = taiwan^game 
#db_pwd = e5700000000000000000000d4

 

df_manager_r

· 目錄 /檔案位置結構

目錄 (檔案) 名稱 (full path)

區分

說明

擁有者 (所屬團隊)

權限設定

參考事項

/home/neople/manager/

目錄

server程式的 base 目錄

neople(neople)

0755

 

/home/neople/manager/cfg

目錄

server程式的  configuration 檔案目錄

neople(neople)

0755

 

/home/neople/manager/pid

目錄

server程式的 process id 紀錄目錄

neople(neople)

0755

 

/home/neople/manager/log

目錄

server程式的 log 紀錄目錄

neople(neople)

0755

 

/home/neople/manager/table

目錄

server和應用 IP port資訊目錄

neople(neople)

0755

 

/home/neople/manager/df_manager_r

檔案

執行的程式

neople(neople)

0755

 

· 環境設定檔案儲存於 (/home/neople/manager/cfg "環境設定檔案名稱".cfg)

# field以 tab分離

# 行列數超過10以上的話,monitor server會修改來源
#------------------------------------------------------------------------------------------------------
# 為了計算Application的 tick 的設定值
1.Define_Tick_Count_Value 30
#接收 Packet的server UDP port
2.Define_Server_UDP_Port 40401 # 應答待機 UDP Port
# 接收Packet的server TCP port
3.Define_Server_TCP_Port 40401 # 應答待機 TCP Port

 

df_community_r

· 目錄 / 檔案位置結構

目錄 (檔案) 名稱 (full path)

區分

說明

擁有者 (所屬團隊)

權限設定

參考事項

/home/neople/community/

目錄

server程式的 base 目錄

neople(neople)

0755

 

/home/neople/community/cfg

目錄

server程式的 configuration 檔案目錄

neople(neople)

0755

 

/home/neople/community/pid

目錄

server程式的 process id 紀錄目錄

neople(neople)

0755

 

/home/neople/community/log

目錄

server程式的 log 紀錄目錄

neople(neople)

0755

 

/home/neople/manager/df_community_r

檔案

執行的程式

neople(neople)

0755

 

 

· 環境設定檔案 (/home/neople/community/cfg  中的 "環境設定檔案名稱".cfg ) community.cfg) 儲存.

port = 31100

 

df_coserver_r

· 目錄 / 檔案位置結構

目錄 (檔案) 名稱 (full path)

區分

說明

擁有者 (所屬團隊)

權限設定

參考事項

/home/neople/coserver/

目錄

server程式的 base 目錄

neople(neople)

0755

 

/home/neople/coserver/cfg

目錄

server程式的 configuration 檔案目錄

neople(neople)

0755

 

/home/neople/coserver/pid

目錄

server程式的 process id記錄目錄

neople(neople)

0755

 

/home/neople/coserver/log

目錄

server程式的 log 紀錄目錄

neople(neople)

0755

 

/home/neople/coserver/table

目錄

server和應用 IP port資訊目錄

neople(neople)

0755

 

/home/neople/coserver/df_coserver_r

檔案

要執行的程式

neople(neople)

0755

 

· 環境設定檔案儲存於 (/home/neople/game/cfg 中 "環境設定檔案名稱".cfg )coserver.cfg) 

# fieldab
#  20
#------------------------------------------------------------------------------------------------------ 
# Applicationick ġ 
1.Define_Tick_Count_Value                       30 
# Packet UDP

# Cain Server 
UDP Port 1                               30701 
# Diregie Server 
UDP Port 2                               30702 
# Siroco Server 
UDP Port 3                               30703
# Prey Server 
UDP Port 4                               30704 
# Casi Server 
UDP Port 5                               30705 
# Hilder Server 
UDP Port 6                               30706
# Ruke Server 
UDP Port 7                               30707 
# Seria Server 
UDP Port 8                               30708 
# Anton Server 
UDP Port 9                               30709 
# Dev Server 
UDP Port 98                              5005 
# First Server 
UDP Port 99                              30798

 

第四項STUN SERVER

df_stun_r

· 目錄 / 檔案位置結構

目錄 (檔案) 名稱 (full path)

區分

說明

擁有者 (所屬團隊)

權限設定

參考事項

/home/neople/stun/

目錄

server程式的base 目錄

neople(neople)

0755

 

/home/neople/stun/cfg

目錄

server程式的 configuration 檔案目錄

neople(neople)

0755

 

/home/neople/stun/pid

目錄

server程式的 process id 記錄目錄

neople(neople)

0755

 

/home/neople/stun/log

目錄

server程式的 log 記錄目錄

neople(neople)

0755

 

/home/neople/stun/table

目錄

server和應用 IP port資訊目錄

neople(neople)

0755

 

/home/neople/stun/df_stun_r

檔案

執行的程式

neople(neople)

0755

各SERVER啟動3個

· 環境設定檔案儲存為 (/home/neople/stun/cfg 中 "環境設定檔案名稱".cfg) .

#cfg config

2311
2312
2313

 

第五項 RELAY SERVER

df_relay_r

· 目錄 / 檔案位置結構

目錄 (檔案) 名稱 (full path)

區分

說明

擁有者 (所屬團隊)

權限設定

參考事項

/home/neople/relay/

目錄

server程式的 base 目錄

neople(neople)

0755

 

/home/neople/relay/cfg

目錄

server程式的 configuration 檔案目錄

neople(neople)

0755

 

/home/neople/relay/pid

目錄

server程式的 process id 紀錄目錄

neople(neople)

0755

 

/home/neople/relay/log

目錄

server程式的 log 紀錄目錄

neople(neople)

0755

 

/home/neople/relay/table

目錄

server和應用 IP port資訊目錄

neople(neople)

0755

 

/home/neople/relay/df_relay_r

檔案

執行的程式

neople(neople)

0755

各server啟動15個

· 環境設定檔案儲存於 (/home/neople/stun/cfg中 "環境設定檔案名稱".cfg )relay_200.cfg ) .
各物理server有 CFG 15

[server]
max_client=1000
this_ip = 203.69.93.81
this_tcp_port=7200 # 參照分流表製成
this_udp_port=7200 # 參照分流表製成 
this_pvp_channel=0

[aradauth]
udp_port_to_monitor=8200
monitor_ip=172.1.2.61
monitor_port=30301 
relay_index=200 #  參照分流表製成

 

第六項 CHANNEL SERVER

df_channel_r

· 目錄 / 檔案位置結構

目錄 (檔案) 名稱 (full path)

區分

說明

擁有者 (所屬團隊)

權限設定

參考事項

/home/neople/channel/

目錄

server程式的 base目錄

neople(neople)

0755

 

/home/neople/channel/cfg

目錄

server程式的 configuration  檔案目錄

neople(neople)

0755

 

/home/neople/channel/pid

目錄

server程式的 c process id 記錄檔案

neople(neople)

0755

 

/home/neople/channel/log

目錄

server程式的 c log 紀錄檔案

neople(neople)

0755

 

/home/neople/channel/channel_info

目錄

game server 和應用 IP port資訊目錄

neople(neople)

0755

 

/home/neople/channel/df_channel_r

檔案

執行的程式

neople(neople)

0755

各SERVER啟動1個

· 環境設定檔案 (/home/neople/channel/cfg 中以 "環境設定檔案名稱".cfg) 儲存

[server]
max_client = 1000 
this_ip = 203.69.93.52
this_tcp_port = 7001
this_udp_port = 7001
bridge_ip = 172.1.2.51 #中繼server IP
bridge_port = 7000
id = 1 



作者: dnf台服吧    时间: 2019-3-31 04:23

第十一章 DNF服務手動操作方式

第一節 SERVER PROCESS

Game Process

Server Name

Process Name

File path

GameSvr & StageSvr01

df_game_r

/home/neople/game/

Start Command:

Stop Command:

./df_game_r [CFG Name] start

./df_game_r [CFG Name] stop

 

Channel Process

Server Name

Process Name

File path

ChannelSvr & StageSvr01

df_channel_r

/home/neople/channel/

Start Command:

Stop Command:

./df_channel_r [CFG Name] start

./df_channel_r [CFG Name] stop

 

Relay Process

Server Name

Process Name

File path

RelaySvr & StageSvr01

df_relay_r

/home/neople/relay/

Start Command:

Stop Command:

./df_relay_r [CFG Name] start

./df_relay_r [CFG Name] stop

 

Stun Process

Server Name

Process Name

File path

StunSvr & StageSvr01

df_stun_r

/home/neople/stun/

Start Command:

Stop Command:

./df_stun_r [CFG Name] start

./df_stun_r [CFG Name] stop

 

DBMW_Guild Process

Server Name

Process Name

File path

AppSvr & StageSvr02

df_dbmw_r

/home/neople/dbmw_guild/

Start Command:

Stop Command:

./df_dbmw_r [CFG Name] start

./df_dbmw_r [CFG Name] stop

 

DBMW_mnt Process

Server Name

Process Name

File path

AppSvr & StageSvr02

df_dbmw_r

/home/neople/dbmw_ mnt /

Start Command:

Stop Command:

./df_dbmw_r [CFG Name] start

./df_dbmw_r [CFG Name] stop

 

DBMW_stat Process

Server Name

Process Name

File path

AppSvr & StageSvr02

df_dbmw_r

/home/neople/dbmw_ stat/

Start Command:

Stop Command:

./df_dbmw_r [CFG Name] start

./df_dbmw_r [CFG Name] stop

 

guild Process

Server Name

Process Name

File path

AppSvr & StageSvr02

df_guild_r

/home/neople/guild/

Start Command:

Stop Command:

./df_guild_r [CFG Name] start

./df_guild_r [CFG Name] stop

 

statics Process

Server Name

Process Name

File path

AppSvr & StageSvr02

df_statics_r

/home/neople/statics/

Start Command:

Stop Command:

./df_statics_r [CFG Name] start

./df_ statics _r [CFG Name] stop

 

monitor Process

Server Name

Process Name

File path

AppSvr & StageSvr02

df_monitor_r

/home/neople/monitor/

Start Command:

Stop Command:

./df_monitor_r [CFG Name] start

./df_monitor_r [CFG Name] stop

 

auction Process

Server Name

Process Name

File path

AuctionSvr & StageSvr02

df_auction_r

/home/neople/auction/

Start Command:

Stop Command:

./df_auction_r [CFG Name] start

./df_auction_r [CFG Name] stop

 

point Process

Server Name

Process Name

File path

AuctionSvr & StageSvr02

df_point_r

/home/neople/point/

Start Command:

Stop Command:

./df_point_r [CFG Name] start

./df_point_r [CFG Name] stop

 

bridge Process

Server Name

Process Name

File path

ChannelBridge & StageSvr02

df_bridge_r

/home/neople/bridge/

Start Command:

Stop Command:

./df_bridge_r [CFG Name] start

./df_bridge_r [CFG Name] stop

 

community Process

Server Name

Process Name

File path

ChannelBridge & StageSvr02

df_community_r

/home/neople/community/

Start Command:

Stop Command:

./df_ community _r [CFG Name] start

./df_ community _r [CFG Name] stop

 

coserver Process

Server Name

Process Name

File path

ChannelBridge & StageSvr02

df_coserver_r

/home/neople/coserver/

Start Command:

Stop Command:

./df_coserver_r [CFG Name] start

./df_coserver_r [CFG Name] stop

 

manager Process

Server Name

Process Name

File path

ChannelBridge & StageSvr02

df_manager_r

/home/neople/manager/

Start Command:

Stop Command:

./df_manager_r [CFG Name] start

./df_manager_r [CFG Name] stop

 

第二節 LOG指令說明

各程式的 LOG 會定期的刪除讓硬碟維持一定的空間
每個程式以同時在線600人為基準,1天的LOG量約 350M~ 400M 
每台SERVER啟動10個程式,一天的總LOG量約為 4G .

實行時間

腳本 (+ 變數)

實行SERVER

說明

最初設置SERVER時

/home/neople/crontab/upload_log_1h_log1_tw.sh

game SERVER

將history LOG傳送到 LogTool(172.1.2.151) SERVER

最初設置SERVER時

/home/neople/crontab/rm_log_17day.sh

全部SERVER

刪除LOG

最初設置SERVER時

/home/neople/crontab/removeOldFiles.sh

全部SERVER

清除時間過久的LOG.

最初設置SERVER時

/home/neople/crontab/zip_log_1day.sh

全部SERVER

壓縮LOG

 


作者: dnf台服吧    时间: 2019-3-31 04:23

第十二章 正式機開關機流程

² 以下所有的操作皆使用Neople帳戶登入,不需切換root權限。使用root權限進行操作可能會導致服務發生異常。

² 每次進行操作時,一定要確認目前Process的運行狀態。執行ps efl | grep start

² 一定要按照步驟進行操作,Middleware資料回寫至DB才會正常。否則可能會造成資料回溯的狀況產生。

² 若原廠有要求全部APP Server進行重啟系統作業,請按照全部開關機流程進行。

² 若一般進行維護,關機可省略步驟7,8,9,開機可省略步驟1,2,3

第一節 開機流程

1. 操作伺服器:DNF-ChannelSvr[1-3]

Process Name:  df_channel_r

Command:  /home/neople/ctrl.sh channel start

Check Process:  ps efl | grep start

(, 下载次数: 9)

 

 

2. 操作伺服器:DNF-RelaySvr[1-3]

Process Name:  df_relay_r

Command:  /home/neople/ctrl.sh relay start

Check Process:  ps efl | grep start (, 下载次数: 7)

 

3. 操作伺服器:DNF-StunSvr[1-3]

Process Name:  df_stun_r

Command:  /home/neople/ctrl.sh stun start

Check Process:  ps efl | grep start

(, 下载次数: 6)

 

4. 操作伺服器:DNF-ChannelBridge

Process Name:  df_manager_r, df_bridge_r, df_community_r, df_coserver_r

Command:  /home/neople/ctrl.sh all_common start

Check Process:  ps efl | grep start

(, 下载次数: 12)

 

 

5. 操作伺服器:DNF-AuctionSvr

Process Name:  df_auction_r,  df_point_r

Command:  /home/neople/ctrl.sh all_auction start

 /home/neople/ctrl.sh all_point start

Check Process:  ps efl | grep start

(, 下载次数: 9)

 

 

6. 操作伺服器:DNF-APPSVR[1-3]

Process Name:  dw_dbmw_r,  df_guild_r,  df_monitor_r,  df_statics_r

Command: /home/neople/ctrl.sh all_app start

Check Process:  ps efl | grep start

(, 下载次数: 9)

 

 

7. 操作伺服器:DNF-GameSvr[1-11] TP Service

Process Name:  zergsvr, secagent, gunnersvr

Command: /home/neople/secsvr/bin/clean_g3_mmap.sh

/home/neople/secsvr/bin/start_secagent.sh

Check Process:  ps efl | grep start (, 下载次数: 8)

 

8. 操作伺服器:DNF-GameSvr[1-11]

Process Name:  df_game_r

Command: /home/neople/ctrl.sh game start

Check Process:  ps efl | grep start

(, 下载次数: 11)

 

 

9. 登入遊戲確認伺服器群是否正確開啟

(, 下载次数: 11)

 

 

10. 確認伺服器群頻道列表皆正常啟動。

(, 下载次数: 10)

 


第二節 關機流程

1. 操作伺服器:DNF-GameSvr[1-11]

Process Name:  df_game_r

Command: /home/neople/ctrl.sh game stop

Check Process:  ps efl | grep start

 

2. 操作伺服器:DNF-GameSvr[1-11] TP Service

Process Name:  zergsvr, secagent, gunnersvr

Command: /home/neople/secsvr/bin/stop_secagent.sh  

/home/neople/secsvr/bin/clean_g3_mmap.sh

Check Process:  ps efl | grep start

 

3. 操作伺服器:DNF-APPSVR[1-3]

Process Name:  dw_dbmw_r,  df_guild_r,  df_monitor_r,  df_statics_r

Command: /home/neople/ctrl.sh all_app stop

Check Process:  ps efl | grep start

 

4. 操作伺服器:DNF-AuctionSvr

Process Name:  df_auction_r,  df_point_r

Command:  /home/neople/ctrl.sh all_auction start

 /home/neople/ctrl.sh all_point start

Check Process:  ps efl | grep start

 

5. 操作伺服器:DNF-ChannelBridge

Process Name:  df_manager_r, df_bridge_r, df_community_r, df_coserver_r

Command:  /home/neople/ctrl.sh all_common start

Check Process:  ps efl | grep start

 

6. 操作伺服器:DNF-StunSvr[1-3]

Process Name:  df_stun_r

Command:  /home/neople/ctrl.sh stun stop

Check Process:  ps efl | grep start

 

7. 操作伺服器:DNF-RelaySvr[1-3]

Process Name:  df_relay_r

Command:  /home/neople/ctrl.sh relay stop

Check Process:  ps efl | grep start

 

8. 操作伺服器:DNF-ChannelSvr[1-3]

Process Name:  df_channel_r

Command:  /home/neople/ctrl.sh channel stop

Check Process:  ps efl | grep start

 

9. 登入遊戲確認伺服器群是否正確關閉


作者: dnf台服吧    时间: 2019-3-31 04:26

第十三章 測試機開關機流程

² 以下所有的操作皆使用Neople帳戶登入,不需切換root權限。使用root權限進行操作可能會導致服務發生異常。

² 每次進行操作時,一定要確認目前Process的運行狀態。執行ps efl | grep start

² 一定要按照步驟進行操作,Middleware資料回寫至DB才會正常。否則可能會造成資料回溯的狀況產生。

² 測試機禁止重啟系統,如果有必需要重啟,一定要通知原廠進行服務關閉及檢查。

測試機沒有sh可供直接啟動及關閉服務,所有服務都必需用手動開啟及關閉。

目前測試機共有兩台AP Svr及兩台DB Svr

StageSvr01: GameServer Process

StageSvr02: Backend Process

StageSvr03-04: DB

所有服務皆使用單一Process指令進行開關作業,請參閱 第十章DNF服務手動操作方式

測試機一樣必需按照正式機開關機的流程進行。

開機: Stun = Relay = Channel >> ChannelBridge >> Auction >> App >> GameSvr(TP) >> GameSvr(Game)

關機: GameSvr(Game) >> GameSvr(TP) >> App >> Auction >> ChannelBridge >> Stun = Relay = Channel


作者: dnf台服吧    时间: 2019-3-31 04:28

第十四章例行性維護排程表

因異動頻繁,請參閱Google Document(DNF例行性維護排程表)或範本頁面。

每週三固定寄出當週排程表,供其他部門參考維護排程內容。

https://docs.google.com/a/garena.com/spreadsheet/ccc?key=0AgVCk_rGjNn3dFVXREI0Nzl2ZnJuN1JNWDJaZ09mOFE#gid=1


 

(, 下载次数: 10)



作者: dnf台服吧    时间: 2019-3-31 04:30

第十五章 正式機維護更新流程

1. 確認版本更新時程(包含正式服套用時間,測試機更新時間,TP估計作業時間等等)

2. Neople新版本更新至測試機(Server & Client Patch)

3. QA討論目前測試機版本測試進度

4. 確認本次更新版本Final Build,與Neople要求DNF.exemap檔案

5. 提供DNF.exemap檔案給騰訊TP團隊

6. TP團隊確認封裝完成時間

7. TP封裝檔案回傳,提供給技術部門進行數位簽章

8. 將數位簽章版本提供給Neople

9. NeopleTP版本上傳至測試機Patch Server,三方進行TP功能測試。

10. QA確認本次維護內部測試時間

11. Neople確認本次維護DB作業時間

12. TP確認本次是否有Server Patch及特殊作業事項

13. Neople確認本次需更新哪些Server Patch及特殊作業事項。

14. 列出本次例行性維護排程表與三方(Garena, Neople, TP)知會本次作業時間。

(, 下载次数: 8)

 

 

· BugReport(172.1.2.164) SERVER被配置為在中央發佈的SERVER .

· 配置二元以外的檔案資料夾  : /home/neople/patch/TWDF_Server_LIVE_tw/Server

· 更新時終止server的狀態下,server移動到/home/neople/,執行script.

執行時間

劇情 (+ 劇情變數)

執行server

說明

維護中

/home/neople/patch_new.sh

全部

形成的目錄全部會在 BugReport(172.1.2.164) server同步. 原有的CFG會維持保留. (CFG 無變化)
請注意,除了下面形式之外,其他皆會被刪除.
--exclude=core* --exclude=table --exclude=cfg --exclude=*.log  --exclude=*.pid --exclude=Log* --exclude=channel_info --exclude=.svn

新增server/server變更時

/home/neople/patch_new.sh dire 

cain

siro

APP, Game server

形成的目錄全部會在 BugReport(172.1.2.164) server同步, 變更或是新增的 dire 會套用server相關的 CFG.
(只在APP Server, Game Server使用)
請注意,除了下面形式之外,其他皆會被刪除.
--exclude=core* --exclude=table --exclude=cfg --exclude=*.log  --exclude=*.pid --exclude=Log* --exclude=channel_info --exclude=.svn 

Relay server新增

/home/neople/patch_new.sh relay

Relay  Server

形成的目錄全部會在 BugReport(172.1.2.164) server同步, CFG要變換執行relay Process的 CFG 的server IP.
之後要在 CFG進行該server的monitor程式連結作業.
請注意,除了下面形式之外,其他皆會被刪除.
--exclude=core* --exclude=table --exclude=cfg --exclude=*.log  --exclude=*.pid --exclude=Log* --exclude=channel_info --exclude=.svn 

 

 

 

 



作者: dnf台服吧    时间: 2019-3-31 04:31

第十六章 其他作業事項

第一節 頻道異動方式說明:

1. 請原廠提供頻道列表資訊excel,可參閱範例檔案130319_TWDF_Channel list_CBT_v 1TW.xlsx

 

2. 連接到BugReport(172.1.2.164) SERVER.將要變更的GAME SERVER移動到CFG 資料夾.
卡恩伺服 : /home/neople/patch/TWDF_Server_LIVE_tw/server/game/cfg_cain 

 

3. 執行該資料夾裡的 "chc"的命令.

 

[neople@BugReport ~/patch/TWDF_Server_LIVE_tw/server/game/cfg_cain]$ chc
Server ip?
203.69.93.2 203.69.93.3 203.69.93.4 203.69.93.5 203.69.93.6
channel num?
01 06 07 11 12 13 14 15 16 17 18,19 20 21 22 23 24 25 26 27 28 29,30 31 32 33 34 35 36 37 38 39 40,41,42
Server Name?
cain
server gc?
10
sever lls_key?
3240332317335214766634233322344377569687 3240332317335214766634233322344387560827 3240332317335214766634233322344377569627 3240332317335214766634223722146347566887 3240332317335214766634233322344367366567
01 06 07 11 12 13 14 15 16 17 18
01 06 07 11 12 13 14 15 16 17 18
cp: `cain01.cfg' and `cain01.cfg' are the same file
ip = 203.69.93.2
gc_no = 1001
exchange_server_ip = 203.69.93.2
exchange_server_port = 20011
tcp_port = 10011
udp_port = 11011
01 06 07 11 12 13 14 15 16 17 18
ip = 203.69.93.2
gc_no = 1006
exchange_server_ip = 203.69.93.2
exchange_server_port = 20012
tcp_port = 10012
udp_port = 11012
01 06 07 11 12 13 14 15 16 17 18
ip = 203.69.93.2
gc_no = 1007
exchange_server_ip = 203.69.93.2
exchange_server_port = 20013
tcp_port = 10013
udp_port = 11013
01 06 07 11 12 13 14 15 16 17 18
ip = 203.69.93.2
gc_no = 1011
exchange_server_ip = 203.69.93.2
exchange_server_port = 20014
tcp_port = 10014
udp_port = 11014
01 06 07 11 12 13 14 15 16 17 18
ip = 203.69.93.2
gc_no = 1012
exchange_server_ip = 203.69.93.2
exchange_server_port = 20015
tcp_port = 10015
udp_port = 11015
01 06 07 11 12 13 14 15 16 17 18
ip = 203.69.93.2
..........(중간생략)
relay_IP?
203.69.93.81
cain01.cfg
relay_ip = 203.69.93.81
relay_tcp_port = 7200
relay_udp_port = 7200
cain06.cfg
relay_ip = 203.69.93.81
relay_tcp_port = 7200
relay_udp_port = 7200
cain07.cfg
relay_ip = 203.69.93.81
relay_tcp_port = 7200
relay_udp_port = 7200
cain11.cfg
relay_ip = 203.69.93.81
relay_tcp_port = 7201
relay_udp_port = 7201
cain12.cfg
relay_ip = 203.69.93.81
relay_tcp_port = 7201
relay_udp_port = 7201
cain13.cfg
.... (中間省略)

 

4.  CFG 設定和上面一樣的 Server IP,輸入 channel , Server Name, server gc Number, lls_key, relay IP的話就會產生所輸入的分流數.

 

5. 之後在卡恩伺服器組物理SERVER的 /home/neople/命令執行 ./patch_new.sh cain 的話,就會找到該SERVER  IP並複製到CFG 資料夾.

 

6. 通知Neople調整頻道標籤,如下圖:.

(, 下载次数: 10)

 

 

第二節 新增伺服器群組操作說明

1. 為了追加新的SERVER,NEOPLE這邊需要產新的 LLS Key.

以下列形式告知 SERVER限制 IP和 Eth0的 HW Mac就可以了.

 ** (限制IP若有 Eth0 以外的,請務必告知限制的 IP和 Eth0的 HW Mac .) **

例如

172.1.2.11 AC:16:2D:73:CC:DC
172.1.2.12 AC:16:2D:74:19:18

以下為使用中的 Server LLS Key List 

172.1.2.2       AC:16:2D:78:D8:D4       KEY : 3240332317335214766634233322344377569687

172.1.2.3       AC:16:2D:78:D9:EC       KEY : 3240332317335214766634233322344387560827

172.1.2.4       AC:16:2D:78:D8:D8       KEY : 3240332317335214766634233322344377569627

172.1.2.5       AC:16:2D:72:21:E8       KEY : 3240332317335214766634223722146347566887

172.1.2.6       AC:16:2D:78:D7:00       KEY : 3240332317335214766634233322344367366567

172.1.2.7       AC:16:2D:78:D8:CC       KEY : 3240332317335214766634233322344377569507

172.1.2.8       AC:16:2D:78:D8:F0       KEY : 3240332317335214766634233322344377569967

172.1.2.9       AC:16:2D:78:D8:DC       KEY : 3240332317335214766634233322344377569767

172.1.2.10      AC:16:2D:78:D6:E4       KEY : 3240332317335214766634233322344357567747

172.1.2.11      AC:16:2D:73:CC:DC       KEY : 3240332317335214766634223822343357566767

172.1.2.12      AC:16:2D:74:19:18       KEY : 3240332317335214766634223922145367365707

 

2. 產生新伺服器的CFG檔案,請參閱第十六章第一節 頻道異動方式說明。

3. 在新的Server上進行APP Svr CFG設置

[neople@AppSpare1 ~]$ mkdir dbmw_stat dbmw_guild dbmw_mnt monitor guild statics //APP 產出資料夾
[neople@AppSpare1 ~]$ rsync -av --exclude=.svn 172.1.2.164::patch/TWDF_Server_LIVE_tw/*.sh ./ //遊戲管理劇本同步
receiving incremental file list
a.sh
ctrl.sh
patch.sh
patch_copy.sh
patch_copy_svn.sh
patch_new.sh
sent 151 bytes  received 15681 bytes  10554.67 bytes/sec
total size is 15280  speedup is 0.97
[neople@AppSpare1 ~]$ ./patch_new.sh cain // APP SERVER同化的例子)Cain SERVER組的 APP程式被同化後,各程式的 Cain 相關 CFG檔案會自動複製到各程式的CFG資料夾
receiving incremental file list
dbmw_guild/
dbmw_guild/df_dbmw_r
dbmw_guild/server_str.xml
dbmw_guild/cfg/
dbmw_guild/cfg_backup/
dbmw_guild/cfg_backup/dbmw_gld_cain.cfg
dbmw_guild/cfg_backup/dbmw_gld_dire.cfg
dbmw_guild/cfg_backup/dbmw_gld_siro.cfg
dbmw_guild/cfg_backup/dbserver.cfg
dbmw_guild/log/
dbmw_guild/pid/
dbmw_guild/table/
dbmw_guild/table/server_config.tbl_cain
dbmw_guild/table/server_config.tbl_dire
dbmw_guild/table/server_config.tbl_siro
sent 293 bytes  received 4080186 bytes  2720319.33 bytes/sec
total size is 4078913  speedup is 1.00
receiving incremental file list
dbmw_mnt/
dbmw_mnt/df_dbmw_r
dbmw_mnt/server_str.xml
dbmw_mnt/cfg/
dbmw_mnt/cfg_backup/
dbmw_mnt/cfg_backup/dbmw_mnt_cain.cfg
dbmw_mnt/cfg_backup/dbmw_mnt_dire.cfg
dbmw_mnt/cfg_backup/dbmw_mnt_siro.cfg
dbmw_mnt/cfg_backup/dbserver.cfg
dbmw_mnt/log/
dbmw_mnt/pid/
dbmw_mnt/table/
dbmw_mnt/table/server_config.tbl_cain
dbmw_mnt/table/server_config.tbl_dire
dbmw_mnt/table/server_config.tbl_siro
sent 293 bytes  received 4080248 bytes  2720360.67 bytes/sec
total size is 4078977  speedup is 1.00
receiving incremental file list
dbmw_stat/
dbmw_stat/df_dbmw_r
dbmw_stat/server_str.xml
dbmw_stat/cfg/
dbmw_stat/cfg_backup/
dbmw_stat/cfg_backup/dbmw_stat_cain.cfg
dbmw_stat/cfg_backup/dbmw_stat_dire.cfg
dbmw_stat/cfg_backup/dbmw_stat_siro.cfg
dbmw_stat/cfg_backup/dbserver.cfg
dbmw_stat/log/
dbmw_stat/pid/
dbmw_stat/table/
dbmw_stat/table/server_config.tbl_cain
dbmw_stat/table/server_config.tbl_dire
dbmw_stat/table/server_config.tbl_siro
sent 293 bytes  received 4079097 bytes  2719593.33 bytes/sec
total size is 4077816  speedup is 1.00
receiving incremental file list
guild/
guild/df_guild_r
guild/server_str.xml
guild/cfg/
guild/cfg_backup/
guild/cfg_backup/gld_cain.cfg
guild/cfg_backup/gld_dire.cfg
guild/cfg_backup/gld_siro.cfg
guild/cfg_backup/guild.cfg
guild/log/
guild/pid/
guild/script/
guild/script/kill_user_config.tbl
guild/script/power_war_event.tbl
sent 274 bytes  received 2308008 bytes  4616564.00 bytes/sec
total size is 2306997  speedup is 1.00
receiving incremental file list
monitor/
monitor/df_monitor_r
monitor/cfg/
monitor/cfg_backup/
monitor/cfg_backup/mnt_cain.cfg
monitor/cfg_backup/mnt_dire.cfg
monitor/cfg_backup/mnt_siro.cfg
monitor/cfg_backup/monitor.cfg
monitor/log/
monitor/pid/
monitor/script/
monitor/script/kill_user_config.tbl
monitor/script/member_cnt_config.tbl
monitor/script/member_exp.tbl
sent 274 bytes  received 2456112 bytes  4912772.00 bytes/sec
total size is 2455095  speedup is 1.00
receiving incremental file list
statics/
statics/df_statics_r
statics/cfg/
statics/cfg_backup/
statics/cfg_backup/stat_cain.cfg
statics/cfg_backup/stat_dire.cfg
statics/cfg_backup/stat_siro.cfg
statics/cfg_backup/statistic.cfg
statics/log/
statics/pid/
statics/table/
statics/table/server_config.tbl_cain
statics/table/server_config.tbl_dire
statics/table/server_config.tbl_siro
sent 274 bytes  received 1755234 bytes  1170338.67 bytes/sec
total size is 1754312  speedup is 1.00
[neople@AppSpare1 ~]$

 

4. 新遊戲SERVER的實行和下面一樣

5. Autcon, Point 程式只能在Autcon SERVER(172.1.2.91)進行同步(./patch_new.sh auction)

6. 進行確認各程序,嘗試啟動新伺服器,測試各CFG是否正常套用

第三節 DNF GAME (DF_GAME_R) LOG

紀錄名

說明

Log20130212.cri

 

Log20130212.debug

 

Log20130212.error

 

Log20130212.init

遊戲啟動時紀錄在控制台畫面出現的LOG

Log20130212.log

SERVER端結束CLIENT,發生的ERROR CODE紀錄

Log20130212.money

 

Log20130212.snap

 

 

 


作者: dnf台服吧    时间: 2019-3-31 04:32

第十七章 異常狀況處理

第一節 SERVER PROCESS異常狀況結束

因異常狀況Game Process中止,發生core 檔案時,如下圖:

-rw------- 1 neople neople 1.1G Feb 15 11:17 core.12822

解決方案 : 先將GameSERVER重新啟動,把Core檔案壓縮後並傳給Neople研發團隊進行分析。

第二節 DB TABLE斷線,或者DB連線速度過慢

因為df_game_r而累積於 DB列上,造成記憶體增加 

程式記憶體到達 4G,SERVER會斷線因為記憶體未復原造成記憶體不足

Neople這邊修正中,發生此狀況請先記錄後通知原廠處理。

第三節 決鬥場無法正常開啟

沒有db_info.cfg 檔案或是 cfg 檔案裡的db_tbl_file = db_info_tw 部分有錯誤時會發生

[!] Init DataManager Success
[!] Init GameManager ...
[!] Init GameManager Success
[!] Init Arad GameScriptManager ...
- Loading Avatar Hidden Option - Success
- Loading Avatar Recharge script - Success
- Loading Emblem Compound script - Success
- Loading Item Reward Script - Success
- Loading Event Period Script - Success
- Loading Statistics Item List - Success
- Loading NexonFolder Script - Success
- Loading Avatar Convert script - Success
[!] Init Arad GameScriptManager Success
[!] Init ChannelType Success
- Channel Type : 8
[!] Init tournament db [!] Init tournament db Fail

解決方案 : 請將db_info 檔案名稱和 cfg 檔案的 " db_tbl_file ="欄統一

第四節 無法正常啟動遊戲

1. 重複執行和存在 pid檔案時發生,產生下列的錯誤訊息:

[neople@gamesvr10 ~/game]$ ./df_game_r cain41 start

**********************************************************
* +--- +-+ + +---- DUNGEON & FIGHTER *
* | | | | | | *
* | | | | | +---- *
* | | | | | | Open Beta Test on 2005.08.10~ *
* +--- + +-+ | Copyright(c) 2004,2005 Neople Co. *
**********************************************************
[!] Service Date (13-02-15/10:31)
[HackShield Anti Crack Message] [Success] _AhnHS_CreateServerObject 
[!] Check Args ...
m_Server_info.lls_key,: 3240332317335214766634223822343357566767
lls_key :: 3240332317335214766634223822343357566767
[!] Server key Check OK
- cfg path: ./cfg/cain41.cfg
- pid path: ./pid/cain41.pid
Process(ch.41) is already operated.
[!] Check Args Fail

解決方案 :  已經執行此程式,請停止或是將 pid 值刪除後重新執行.

 

2. SERVER鍵發生錯誤而無法執行,如下列的錯誤訊息:

[neople@gamesvr10 ~/game]$ ./df_game_r cain41 start

**********************************************************
* +--- +-+ + +---- DUNGEON & FIGHTER *
* | | | | | | *
* | | | | | +---- *
* | | | | | | Open Beta Test on 2005.08.10~ *
* +--- + +-+ | Copyright(c) 2004,2005 Neople Co. *
**********************************************************
[!] Service Date (13-02-15/10:37)
[HackShield Anti Crack Message] [Success] _AhnHS_CreateServerObject 
[!] Check Args ...
m_Server_info.lls_key,: 324033231733521476663422382234335756676
lls_key :: 324033231733521476663422382234335756676
[!] Server key Check FAIL
[!] Check Args Fail

解決方案 : NEOPLE邀請,新增伺服器群,請參考第十六章 第二節 新增伺服器群組

 

3. DB資訊ERROR1,請參考下列兩項錯誤訊息

Application App Config Load_Table() Success! 
Application Server Config Load_Table() Success! 
Application Init Frame Count() Success! 
Application UDP Handler Create() Success! 
Application Server Handler Create() Success! 
Application Packet Translater Attach() Success! 
Application Packet Decoder Attach() Success! 
Application DB Manager Init() Success! 
E_MASTER_DB Open Success! 
DB Open Fail

 

- Open(type:14, 172.1.2.131/3306/taiwan_game/taiwean_billing

mysql_real_connect(ip:172.1.2.131port:3306name:taiwean_billingid:taiwan_game error='1049') fail 

- DBConnector Connect DB Fail 

[!] Init GlobalData Fail

 

解決方案 : 在存放DB資訊的table上 無正確輸入 DB帳號密碼 / DB名稱時會發生

請與Neople連繫,確認連線設定與帳號密碼無誤。

 

4. DB資訊ERROR2,請參考下列兩項錯誤訊息:

./../Include/FilePack/Pack.cpp(819) - get 
../../Include/FilePack/Pack.cpp(819) - get 
../../Include/FilePack/Pack.cpp(819) - get 
../../Include/FilePack/Pack.cpp(819) - get 
../../Include/FilePack/Pack.cpp(819) - get 
Success 
[!] Init Login State Success 
Fail insert Event Table

 

- Open(type:13, 172.1.2.131/3306/taiwan_game/taiwan_se_event 
- Open(type:14, 172.1.2.131/3306/taiwan_game/taiwan_billing 
- All DB Open Success 
- Init Query Table Success 
- Success WEB DB OPEN 
Failed to read slang list 
[!] Init GlobalData Fail

 

解決方案 : DB資料可能有異常狀況,NEOPLE DBA負責人員邀請 DB資料

 

第五節 GAME PROCESS CPU使用率超過90%

4/25之前的df_game_r版本,有發生Game Process啟動之後,會在運行到某個函式庫的function時發生CPU使用率開始升高的狀況。

使用top指令,確認有異常的Process PID Number

使用ps efl | grep start指令,確認PID 對應的Process

使用pkill -9 [PID]指令,刪除異常的Process

刪除/home/neople/game/pid/[異常ProcessName].pid檔案

使用/home/neople/game/df_game_r [異常ProcessName] start指令,重新啟動服務

使用ps efl | grep start指令,確認服務正常開啟。

 

第六節 各程序終止處理方式

 

順序

程式名稱

依賴性

啟動終止 (例子)

備註

1

df_game_r

DB有依賴性

./df_game_r cain01 stop

- SERVER終止程式

1. Configure file loading

2. 終止時確認argument 

3. Pid file loading 後 SIGUSR2 Signal 傳送

4. Accept thread 結束

5. 將連線中的 USER 強制 logout

6. Server 節制

7. MONITOR SERVER透過 Heart beat確認SERVER斷線後進行處理

2

df_auction_r

DB

./df_auction_r ./cfg/auction_cain.cfg stop df_auction_r

服務中,和開發組討論後重啟程式

3

df_guild_r

df_dbmw_r

./df_guild_r gld_cain stop

 

4

df_statics_r

 

./df_statics_r stat_cain stop

 

5

df_monitor_r

df_manger_r,df_dbmw_r

./df_monitor_r mnt_cain stop

服務中的程式斷線時,重啟SERVER組的全部程式  

6

df_dbmw_r

 

./df_dbmw_r dbmw_stat_cain stop

 無法看到同時在線的現象(和玩家無實際關聯)

7

df_dbmw_r

 

./df_dbmw_r dbmw_gld_cain stop

 

8

df_dbmw_r

df_monitor_r, df_guild_r, DB

./df_dbmw_r dbmw_mnt_cain stop

 

9

df_coserver_r

./df_coserver_r coserver stop

 

10

df_manger_r

DB

./df_manger_r manger stop

服務中的程式斷線時重啟全部SERVER組的全部程式

11

df_channel_r

df_bridge_r

./df_channel_r channel stop

 

12

df_bridge_r

DB

./df_bridge_r bridge stop

 

13

df_relay_r

./df_relay_r relay01 stop

 

14

df_stun_r

./df_stun_r stop

 

 



作者: dnf台服吧    时间: 2019-3-31 04:33

第十八章 各項目後台連結及介紹

第一節 SSLVPN

連結網址:https://203.69.93.1:10443

需安裝FortiGate Client

第二節 DNF DB監控後台

Host File新增下列項目:

203.69.93.148 api-twdf.neople.co.kr #DNF DB Monitor Tool

203.69.93.148 watchin-twdf.neople.co.kr # DB Monitor Tool

連結網址: http://watchin-twdf.neople.co.kr/

 

第三節 DNF 統計工具後台

Hosts File新增下列項目:

172.1.2.161 mng.twdf.nexon.co.tw #DNF Static Tool

172.1.2.161 log.twdf.nexon.co.tw #DNF Log Tool Web

連結網址:http://mng.twdf.nexon.co.tw/_MNG_/_Statistics/

 

第四節 GMTOOL

Hosts File新增下列項目:

172.1.2.161 mng.twdf.nexon.co.tw #[正式機]

172.1.3.2 mng.twdf.nexon.co.tw #[測試機]

連結網址:http://mng.twdf.nexon.co.tw/_MNG_/






欢迎光临 DNF阿拉德游戏论坛 (https://oldbbs.arad.ink/) Powered by Discuz! X3.3