- 精华
- 阅读权限
- 90
- 好友
- 相册
- 分享
- 听众
- 收听
- 注册时间
- 2011-8-26
- 在线时间
- 小时
- 最后登录
- 1970-1-1
|
本帖最后由 /_____特曼 于 2011-12-16 18:29 编辑
天龙八部架设需要分别在Windows和Linux两款操作系统上进行,也就是说需要两台服务器。Windows服务器上安装oracle数据库,主要负责管理玩家的帐号和验证玩家的登陆信息。Linux服务器上需安装mysql数据库,主要负责游戏主程序的运行。玩家登陆游戏过程客户端是向Windows服务器请求连接,Windows服务器验证玩家的登陆帐号和密码正确把连接转交给Linux服务器,然后Linux服务器负责玩家所有的游戏数据。注:如果你只有一台Windows服务器可安装虚拟主机软件,虚拟出一台Linux服务器即可。
架设天龙八部SF所需工具软件
1、天龙八部服务端(天龙八部游戏主程序)
2、Oracle10_database(Oracle数据库服务端)
3、PLSQL Developer(oracle数据库管理软件)
4、Oracle10_client(客户端)
5、mysql-5.0.45(mysql数据库)
6、mysql-connector-odbc-3.51.25-0.i386.rpm(mysql数据源Linux软件包)
7、Winscp(用于Windows与Linux之间的文件传输)
8、SecureCRT(用于连接Linux命令窗口执行命令)
Windows服务器操作
我们先配置天龙八部数据库和导入数据,如果你还没安装Oracle数据库请看:天龙八部帐号数据库(Oracle)安装.运行oracle数据库管理软件PLSQL Developer,使用系统用户system和安装Oracle数据库时填写的密码和连接符orcl,如上图.
登陆数据库管理后点击新建菜单选择命令窗口,在命令窗口分别复制以下四段代码按回车键执行,如上图
第一段代码:添加天龙八部游戏数据库用户及密码(3个用户:tlbb tl_gameuser tlbb_read,密码:iernei37d)
create user tlbb IDENTIFIED BY iernei37d;
create user tl_gameuser IDENTIFIED BY iernei37d;
create user tlbb_read IDENTIFIED BY iernei37d;
第二段代码:赋予tlbb用户权限
-- Grant/Revoke role privileges
grant connect to TLBB;
grant resource to TLBB;
-- Grant/Revoke system privileges
grant alter session to TLBB;
grant create cluster to TLBB;
grant create database link to TLBB;
grant create sequence to TLBB;
grant create session to TLBB;
grant create synonym to TLBB;
grant create table to TLBB;
grant create view to TLBB;
第三段代码:赋予tl_gameuser用户权限
-- Grant/Revoke role privileges
grant connect to tl_gameuser;
grant resource to tl_gameuser;
-- Grant/Revoke system privileges
grant alter session to tl_gameuser;
grant create cluster to tl_gameuser;
grant create database link to tl_gameuser;
grant create sequence to tl_gameuser;
grant create session to tl_gameuser;
grant create synonym to tl_gameuser;
grant create table to tl_gameuser;
grant create view to tl_gameuser;
第四段代码:赋予tlbb_read用户权限
-- Grant/Revoke role privileges
grant connect to tlbb_read;
grant resource to tlbb_read;
-- Grant/Revoke system privileges
grant alter session to tlbb_read;
grant create cluster to tlbb_read;
grant create database link to tlbb_read;
grant create sequence to tlbb_read;
grant create session to tlbb_read;
grant create synonym to tlbb_read;
grant create table to tlbb_read;
grant create view to tlbb_read;
以上步骤完成了我们就可以开始导入天龙八部帐号数据库了,把天龙八部数据库文件tlbb.dmp,tl_gameuser.dmp复制到C盘根目录下,进入开始菜单点击运行,输入CMD,在命令行窗口分别执行两条命令:Imp tlbb/iernei37d@orcl file=C:\tlbb.dmp ignore=y和Imp tl_gameuser/iernei37d@orcl file=C:\tl_gameuser.dmp ignore=y(注:tlbb和tl_gameuser是上面步骤所建的数据库用户,iernei37d是密码).上图为数据库导入成功.
数据库导入完成我们开始配置天龙八部数据库用户.运行PLSQL Developer以system用户登录,User-tlbb-右键编辑,在对象权限的对象栏中加入tl_gameuser.seq_user_basic_uin,后面选择1个Yes,对象栏中加入tl_gameuser.user_basic,后面选择4个Yes,应用.展开User-tlbb-Objects-Procedures-P_SAVEPOINT右键选择重新编译,有提示显示编译成功.
Linux服务器操作
首先确保你的Linux服务器已正确安装mysql数据库,新手请看:天龙八部游戏数据库mysql安装.打开SecureCRT连接Linux服务器终端.
配置数据库
1,启动mysql服务
/usr/local/mysql-5.0.45/bin/mysqld_safe --user=root &
2,进入mysql操作,密码为空直接回车确认
mysql -u root -p
3,设置mysql管理员密码,这里的密码是iernei37d
use mysql; update user set Password=PASSWORD('iernei37d') where User='root';
4,添加数据库用户及权限(下面两段代码分别为添加用户tlbb和tlbbtools,密码:iernei37d)
insert into mysql.user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections) value ('%', 'tlbb', PASSWORD('iernei37d'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0);
insert into mysql.user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections) value ('%', 'tlbbtools', PASSWORD('iernei37d'), 'Y','Y','Y','Y','N','Y','N','N','N','N','N','Y','Y','N','N','N','Y','N','Y','N','N','Y','Y','N','N','N','','','','',0,0,0,0);
5,创建天龙八部数据库(下面代码分别为创建数据库tlbbdb和tlbbdb_stat)
flush privileges;
create database tlbbdb;
create database tlbbdb_stat;
6,指定数据库用户
insert into mysql.db ( Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Execute_priv) value( '192.168.%.%', 'tlbbdb','tlbb', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
insert into mysql.db ( Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Execute_priv) value( '192.168.%.%', 'tlbbdb','tlbbtools', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'N', 'Y', 'Y', 'N', 'Y', 'N', 'Y', 'Y', 'N', 'N', 'Y');
insert into mysql.db ( Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Execute_priv) value( '192.168.%.%', 'tlbbdb_stat','tlbb', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N');
7,退出mysql操作
exit
8,导入天龙八部数据库文件
把天龙八部数据库文件DBInit_0_31_0180_data_mysql和DBInit_0_31_0180_table_mysql传至/home目录执行导人命令:
mysql -uroot -prootvi5p tlbbdb < DBInit_0_31_0180_data_mysql
mysql -uroot -prootvi5p tlbbdb_stat < DBInit_0_31_0180_table_mysql
mysql部分到此结束.
配置天龙八部服务端
上传天龙八部服务端到Linux服务器/home目录下,配置前请确保服务器已安装Oracle客户端.
1、设置游戏目录权限
cd /home/tlbb/Billing
chmod 777 *
2、修改服务端配制信息
修改/home/tlbb/etc下gbs.conf db_hash.conf host.lst三个文件的配制信息:
db_hash.conf 文件
#散列数量:
HASHING_NUM = 1
#散列表0:
MAXDBCONNS0 = 1
DBUSER_DB0 = tlbb ;oracle数据库用户名称
DBPASS_DB0 = c46234f7081f758997cffa62686d02e800000090191d0ac640cd86621f6008d8cbbf1662 ;密码
DBTNS_DB0 = orcl ;oracle全局数据库名称
gbs.conf 文件
MAXDBCONNS_BILL = 20
DBUSER_GAMEBILL = tlbb oracle数据库用户名称
DBPASS_GAMEBILL = c46234f7081f758997cffa62686d02e800000090191d0ac640cd86621f6008d8cbbf1662 ;密码
DBTNS_GAMEBILL = orcl ;oracle全局数据库名称
MAXDBCONNS_AUTH = 20
DBUSER_GAMEAUTH = tl_gameuser oracle数据库用户名称
DBPASS_GAMEAUTH = c46234f7081f758997cffa62686d02e800000090191d0ac640cd86621f6008d8cbbf1662 ;密码
DBTNS_GAMEAUTH = orcl ;oracle全局数据库名称
host.lst 文件
192.168.1.188 --linux机的IP
192.168.1.188 --linux机的IP
修改/home/tlbb/Server/Config下LoginInfo.ini,ServerInfo.ini,ShareMemInfo.ini三个文件的配制信息:
修改里面的IP和mysql数据库连接信息.
配置mysql数据源
替换odbc.ini与odbcinst.ini内容如下:
odbc.ini
[tlbbdb]
Trace = Off
TraceFile= stderr
Driver = /usr/lib/libmyodbc3.so
DSN = tlbbdb
SERVER = 192.168.1.188 换成你L机IP就OK
USER = tlbb
PASSWORD = t!lbb
PORT = 3306
DATABASE = tlbbdb
TEXTSIZE = 409600
odbcinst.ini
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib/libodbcpsql.so
Setup = /usr/lib/libodbcpsqlS.so
FileUsage = 1
[MySQL ODBC 3.51 Driver]
DRIVER = /usr/lib/libmyodbc3.so
SETUP = /usr/lib/libmyodbc3S.so
UsageCount = 1
3、添加oracle客户端连接服务端配置文件
复制Windows服务器oracle数据库安装目录oracle/product/10.2.0/db_1/network/admin下的tnsnames.ora文件到linux服务器oracle客户端安装目录/oracle/product/10.2.0/db_1/network/admin并修改HOST = 你的WindowsIP地址
启动游戏服务端程序
1、设置服务端目录权限
cd /home/tlbb/Server
chmod 777 *
2、启动billing服务
cd /home/tlbb/Billing
./tlbb start
出现**************draw information end************ 的字样就表示启动成功了
3、启动游戏主程序
cd /home/tlbb/Server
./shm start(启动) ./shm stop(停止)
出现Loop...Start shm就表示启动好了
cd /home/tlbb/Server
./Login
出现链接world错误 就是启动好了 world启动了就不会提示了
cd /home/tlbb/Server 出现MotherClient 说明world也没问题了
./World
出现MotherClient 说明world也没问题了
cd /home/tlbb/Server
./Server
启动Server比较慢,一般看到出现加载地图名称就没问题了
登陆游戏
来到你电脑上天龙八部客户端安装目录,把Patch\LoginServer.txt文件里的IP修改成你服务器IP和端口.Bin\Game.exe发送到桌面快捷方式,右健属性,地址后面加个-fl既可登陆游戏.
|
|