软件简介:+ _0 j3 }* c6 p
合区的原理是以两个SQL数据库、同一个linux完美服务端为中转,进行数据库交换
) E l7 Y2 q. G' w" @简单来说:0 v7 S8 B, @! ]' r& ]
1、linux端gamedbd和uniquenamed里导入源区gamedbd,uniquenamed
- q- ~3 t7 ]4 C E9 t2、执行http://linux/iweb/rolemanager.jsp将源区角色数据采集到Source数据库! Z7 K0 A* o1 K$ i( D, l8 w
3、linux端gamedbd和uniquenamed里导入目标区gamedbd,uniquenamed
( G% \* }9 z$ A' N( C1 e9 h' N4、执行http://linux/iweb/rolesunion.jsp将Source数据库里的角色数据合并到linux,
. K' j% Y6 F7 w- F 账号数据合并到Dist数据库
& y* \$ C8 @7 `! v创建两个数据库,一个作为源区,一个作为目标区:
5 j$ o! q: _5 l1 @(尽量不要在端正在使用的SQL库上操作,避免数据库混乱)4 O5 d+ [4 [% z3 a! P) m
1、创建Soure数据库,作为源区SQL库6 S5 {& m1 g4 |/ E" N9 t
2、创建Dist数据库,作为目标区SQL库/ ^$ h# s/ u- s8 ` j" L
0 p ^ `( N3 b% D合区的核心功能是调用iweb,因此:- S7 h! M' h- _# b! Y- g, t
3、将源码目录下两个文件夹通过SSH传送到iweb对应的目录里
+ F3 S8 X+ |. ]0 P4 w' G3 s% ]rolemanager.jsp合区第一步:导入数据库用! x/ @7 |/ A% Y& v y- B& T, H# H) @7 f
roleunion.jsp合区第二步:在正式合区用" B+ Y1 n0 \* T$ s& t
unionFooter.jsp就当是垃圾,别管。但是必须的文件。
. C" S7 H3 n, P1 L/ k' a' I# K6 l* \' CunionHeader.jsp合区参数库:, ~' F) k4 P( O1 F7 |. _: o
/**角色级别校验参数:0-不校验 0-小于此级别的玩家角色全部丢弃*/
~) ]. s. k/ bint roleLevelLimit=100;
2 F, j- y5 V* D4 c( U2 P7 N, ]' W$ q- x, ~# Q4 @
/**角色登陆时间校验参数:0-不校验 0-最后登陆时间与linux当前系统时间相差天数大于此值的玩家角色全部丢弃
m9 R5 J ?! F# ?" [; W附:系统时间调整命令(红旗linux下测试通过)7 R% F5 L7 b* W; P3 m2 d
date 051713272008.40
2 ^ Y! y4 L2 B3 y }9 b9 nhwclock --systohc3 A& T" k1 o# M6 O2 s2 P
*/
9 b# g Z" [3 b7 k0 Xint roleLoginLimit=5;/ K7 N, {2 u: }+ }, H! X
: O; p. N4 m; R% f( L. J
/**是否清空空角色账号:这个千万别设置为true,就算清理空账号也可也通过SQL脚本*/
! M+ E9 x9 X3 D" n: a9 {) @0 P6 cboolean isClearEmptyAccount=false;
1 y' p! _: v! |7 B& n; v* W7 L% x1 c4 u! ]; U% Y+ K
/**统一划拨元宝数量,不划拨就0,单位银元宝*/: r' m; B5 n, ~! p8 F* [6 u
long cashCount = 888888;% V4 x4 X5 k' Y2 L& I( y! t
long accCash=100 * cashCount,accPoint=900 * cashCount; ; `4 {0 F0 u. G7 W( l
: i" e3 J4 [+ k0 G2 @1 O& p5 i$ r2 p: ~
/**是否显示XML:ture-显示(消耗内存资源) false-不显示*// G2 K! n5 L5 w1 }7 t( n
boolean ShowRoleXML=false;
0 e5 @% b8 Q* i! K# F
) j. t5 i; q" E, d) v) G/**3 `* K' u7 W6 |- t; ^
是否直接通过命名检测
! S- \) X: z, @true:提取角色数据时,自动将users表flag字段置为2
. B/ J+ i$ Q. Ffalse:需要执行rolecheck.jsp进行命名检测,检测通过后会将users表flag字段置为2/ B, G: Z c/ H9 b/ L# c1 |' l+ S
(其实在实际合区时与rolecheck.jsp的命名检测情况并非完全一致)% | |' a- f% w# P; B/ T8 R
*/* _# x# p0 g1 [+ U5 ?: ~
boolean AutoNameChecked=true;( S2 v/ E! \: B+ s
1 h2 _7 F7 i# w/**
+ l2 v9 i* u3 b* h- B! M是否合并GM号auth
5 s: a8 M3 F W- `% a p( _5 u, _6 Z' k*/& m ^1 {% Z# {) `1 h
boolean AutoUnionAuth=false;. K2 a' H& z9 [# H2 y8 T
; s9 {" m9 W- U+ J
/**密码模式:0-固定密码,随机密码,必须写前端WEB页面 1-固定密码,必须设置passNew 2-取用户原资料,按QQ,身份证,email顺序取,必须设置passNew*/
8 w% |8 g% N! O0 P, R* ]% Xint passMode=1;
+ u0 p |' H/ {- A& d& lString passNew=123456;
7 N3 H3 h1 x4 b3 e* g& k
- R3 ^$ O; o' r: x8 ^ /**账号,角色后缀*/3 X* G/ t% [ I, L" l
String accprefix = a_;
' z* D7 [4 e# T( t4 R$ A* p6 i& IString roleprefix = ;
( K2 s* N0 m" ~- t+ S' J1 GString accsubfix = 1;; i; j3 z+ l$ `* B% L7 C+ D
String roleSubfix = ①;
" j4 e6 `2 U: C" N0 M! \9 R
# k) l; @5 ?2 D7 Z/**目标区ID*/
/ a7 D9 B# Y+ a, m) C5 @& zint zoneid = 1;
$ H# o$ B0 H' e+ B8 n* Q, ~0 l0 [# x
/**数据库名配置*// D% K" ~( H% f- n) ]5 C" c
String dbServer=192.168.1.103;
; c% R1 A$ w7 [) f' r6 dString dbSource=source;" H) E' O- i, w$ D7 Y( S
String dbTarget=Dist;
% \9 u+ \' T/ ?' x . q4 s7 m7 ^6 ?. N9 V
0 ~0 G' E0 o. C* w& v! c" S
下载地址:
|