龙OL外网架设成功案例

最近想玩个老游戏,官方玩的不爽,某宝入手一个单机版。使用单机一键端对于我这种爱折腾的人实在没什么挑战,必须得给他整成外网的。单机版一键测试可以顺利进游戏服务端没啥问题后,直接退出,开搞!经过大量尝试,不断更换服务器,最后形成当前版本

准备工作

  1. 游戏server端,包含数据库,网站文件(我从一键端剔除无用文件,最精简版本)
  2. 网站及数据库服务器(我使用的是腾讯云,基本1C1G就够用)centos腾讯宝塔面板
  3. 服务端服务器 windows7以上系统均可,最好是win7(我使用的三丰云,可直接装win7操作简单)
  4. 游戏客户端
链接:https://pan.baidu.com/s/1e1ztiEUw4uy8uGN8c_y_rQ 
提取码:3gv8

游戏服务流程介绍

用户使用客户端登录器连接到网站,获取游戏服务端的ip及端口信息,登录器连接服务端,服务端通过与数据库的交互返回数据给客户端。

搭建步骤

1. 服务端环境设置

使用远程桌面登录装成win7系统的服务器,将服务端game文件夹复制到任意位置。
关闭win7防火墙。

2. 网站及数据库搭建

这部分我们使用centos7.5,一般数据库等敏感信息还是不要放在没有安全措施的服务器中(当然,不考虑安全因素也可以放在win7服务器中,包括网站。win7的数据库及php网站架设请自行度之),因为网站需要php环境,不是很熟悉,所以就直接用宝塔面板来自动化搞定了
在这里插入图片描述
安装完后,进入宝塔面板,一键安装php环境

网站配置

将网站文件压缩包上传至新建的网站的根目录,解压。测试是否搭建成功:http://外网ip:端口 比较简单,就不多赘述了,不会的度一下查一查。

MySql数据库配置

宝塔面板安装的mysql是不可用root用户外网访问的,这里需要做的就是ssh登陆服务器,给root增加外网访问权限,为了节省时间我直接放一个链接照做即可。
本地使用navicat链接数据库,创建四个数据库(可以在宝塔面板创建数据库)loong_db_1loong_dblog_1loong_gmdb_1loong_login_1并依次将四个sql执行导入数据即可。

3. 网站及服务端文件修改

这里是本文核心,其他的步骤很简单,大部分人都不需要多解释,要实现外网架设,必须要知道要修改哪些配置文件,我们假设:
网站和数据库服务器的ip为1.1.1.1网站端口为88mysql 端口为3306
服务端win7的ip地址为2.2.2.2端口都使用默认不修改,请自行替换成自己的ip地址

网站配置文件修改

找到网站目录下cpk文件夹,修改
patchinfo.txt

[version]
latest_game =9.0.1.1
latest_launch = 1.0.5

[patch_0]
from = 9.0.0.0
to = 9.0.1.1
url =http://1.1.1.1:88/cpk/9011.cpk
md5 = 

serverinfo.xml

<?xml version="1.0" encoding="UTF-8"?>
<root>
        <item name="倾城之战" worldid="200001" borogh="loong" boroughrank="0" ip="2.2.2.2" port="4200" state="90" recommend="1" worldrank="0" recorank="1"/>
</root>

找到网站目录下config文件夹,修改注册账号连接数据库信息,因为数据库与网站为同一服务器,所以我直接填本机地址127.0.0.1
Config.php

<?php
$isREG=1;                     //是否开启注册           0关闭  1开启;
$isPin=0;                     //是否开启验证码         0关闭  1开启;
$isUP=1;                      //是否开启修改密码功能   0关闭  1开启;
$isFP=1;                      //是否开启找回密码功能   0关闭  1开启;
$SQLhost="127.0.0.1";     //mysql地址 本地填:localhost 或 127.0.0.1;
$SQLuser="root";              //mysql用户名;
$SQLPWD="password";             //mysql密码;
$DATABASE="loong_login_1";       //数据库名称
?>
服务端配置文件修改

game/server_config文件夹下有三个目录db login world 分别为数据库配置、账号登录配置、服务端配置
db/world.ini

[section]
id = 200000

[world]
id = 200001			;游戏世界ID
name = 倾城之战			;游戏世界名称
pet_packet_valve = 10		; 宠物栏位个数

[ip]
db_server = 2.2.2.2

[port]
db_server = 5005

[golden_code]
db_server = 90100891
game_server = 292

[gm_server]
ip = 2.2.2.2		;GMServerIP
port = 6600			;GMServer端口

[display]
width = 800				;窗口大小
height = 600			;窗口大小

[ranking]
enable =   1  ;  排名开关
time = 6  ; 排名时间
pet = 1  ; 宠物排名开关
strength = 1  ; 实力排名开关
level = 1  ; 等级排名开关
equip = 1  ; 装备排名开关
fame = 1  ; 声望排名开关

db/倾城之战.ini

[world]
id = 200001				;游戏世界ID
name = 倾城之战				;游戏世界名称

[db_game]
host_name = 1.1.1.1
user_name = root
password = password
db_name = loong_db_1
port = 3306

[db_log]
host_name = 1.1.1.1
user_name = root
password = password
db_name = loong_dblog_1
port=3306

login/login.ini

[display]
width = 800
height = 600

[version]
version = 9.0.1.1

[section]
id = 200000

[zone_server]
num = 1

[zone_session]  	;和ZoneServer通信参数
port = 5050		;和LoongWorld通信的端口

[player_session] 	;和客户端通信参数
port = 4200	 	;和客户端通信的端口

[zone0]
id = 200001		;游戏世界ID
name = 倾城之战		;游戏世界名称
auto_seal = 1		;反外挂程序是否自动封号
attachserver=		;附属world服务,多个用,隔开


[database]
ip	= 1.1.1.1
user	= root		;用户名
psd	= password	;密码
name	= loong_login_1
port    = 3306

[world_state]
update_time = 5000;	;世界人数状态DB更新时间(毫秒)
insert_time = 3600000

[sim_fatigueserver]
switch	=	0

[gm_server]
ip = 2.2.2.2		;GMServerIP
port = 6600		;GMServer端口

[golden_code]
login_server = 300	;LoginServer的金色代码
zone_server =  292	;LoongWorld的金色代码

[proof]
policy = 0		;验证策略,0——普通策略 

[fatigue_guard]
;海外:不模拟防沉迷服务器,不开启防沉迷
;外服:不模拟防沉迷服务器,开启防沉迷
;精英:模拟防沉迷服务器,开启防沉迷

sim_server	= 0  ;模拟防沉迷服务器
guard_switch	= 0  ;防沉迷开关

;下面选项是防沉迷服务器相关的设置,只有在开启防沉迷时有效
ip	=	2.2.2.2	;防沉迷服务器的ip
port	=	9999		;防沉迷服务器的端口
circle =	60		;( 单位 秒)向fatigue_server发所有当前在线防沉迷玩家帐号的周期

[quanquan]
;盛大圈圈都用,其他模式不需这个部分
billingip = 127.0.0.1
;UDP server IP
billingport = 5001
;UDP port

world/world.ini

[server]
port = 10086
golden_code = 292
open_mapping	= 1			; 是否使用映射的外网ip和端口
mapping_ip	= 2.2.2.2		; 外网网关ip
mapping_port	= 10086  		; 映射端口


[world]
id = 200001				;游戏世界ID
name = 倾城之战
section_id = 200000			;大区ID
section_name = loong
player_num_limit = 1500
save_num_per_tick = 1
role_level_limit = 120			;人物等级上限
pk_runaway_ticks = 300			;pk逃逸后,延迟下线时间

[db_server]
ip = 2.2.2.2
port = 5005
golden_code = 90100891

[login_server]
ip = 2.2.2.2
port = 5050
golden_code = 300

[gm_server]
ip = 2.2.2.2			;gmserver的ip
port = 6600			;gmserver的端口

[bill_server]
ip = 2.2.2.2		;billserver的ip
port = 7123			;billserver的端口

[CA_info]
area		=	HK
black_list	=	
certificate	=	D:\game\server_config\world\200001.dat

[CA_svrlist]
num = 2
ca_1 = 2.2.2.2
ca_2 = 2.2.2.2
port_1 = 7000
port_2 = 7000
 
[window]
width = 800				;窗口大小
height = 600				;窗口大小

[cheat]
lax_cheat_distance = 50			;外挂距离检测
strict_cheat_distance = 10		;外挂距离检测

[quest]					;任务属性的相关路径
path = data\system\quest
list = data\system\quest\quest.xml
acceptQuest_NPC_relation = data\system\quest\accept_quest_npc.data
completeQuest_NPC_relation = data\system\quest\complete_quest_npc.data

[loot]					;掉落属性的相关路径
creature_loot = data\system\attdata\loot_proto.xml
loot_item_set = data\system\attdata\loot_item_set_proto.xml
loot_quest_item = data\system\attdata\loot_quest_item_proto.xml

[script]				;脚本目录
path = server_data\script

[vip_netbar]				;金牌网吧路径
path = server_data\vip_netbar.xml


[house_keeping]			;清理
max_recv_wait_unit_num	= 64			;客户端等待处理的包的最大数量,超过数量将被踢掉
max_send_cast_unit_num	= 1000			;发送给客户端但还没有收到响应的包数量,超过数量将被踢掉
max_send_cast_size		= 2097152	;发送给客户端但还没有收到相应的字节数量,超过即被踢掉

[chat_log]
on = 1					;开启聊天log
channelflag = 255		;255(全开) 0(全关) 1(私聊) 128(除系统公告外,全关) 129(除系统和私聊外,全关)

[worldinfo]
enableexpresspay = 1								; 是否显示直冲按钮
expresspayurl = http://1.1.1.1:88						; 直冲的url
loginmode = 0									; 1为大陆,2为迅雷,0为新疆,3为台湾。
today_hot_activity_url	= http://1.1.1.1:88	; 今日热门活动URL


[spirit]
on = 0			; 精力系统是否开启
level = 40 		; 起效的级别
pointperminute = 1	; 离线恢复速度 点/分钟
reward	= 320		; 领奖点数

count = 4		; 精力对应的加成百分比个数
upper_bound_0 = 360	; 精力对应的加成百分比1
rate_0 = 120
upper_bound_1 = 300	; 精力对应的加成百分比2
rate_1 = 100
upper_bound_2 = 120	; 精力对应的加成百分比3
rate_2 = 75
upper_bound_3 = 60	; 精力对应的加成百分比4
rate_3 = 50

rewardcount = 2		; 领取奖品
reward_0 = 1352002	; 神龙鼎
reward_num_0 = 1	; 数量
reward_quality_0 = -1	; 品级
reward_1 = 1352003	; 龙珠
reward_num_1 = 1	; 数量
reward_quality_1  = -1	; 品级

strengthcount=2	; 实力可兑换物品数量
strength_0 = 6			; 实力值
strength_item_0 = 1000802	;  道具ID
strength_1 = 12			; 实力值
strength_item_1 = 1000803	;  道具ID

[pet]
packet_valve	= 10	; 宠物栏位个数

[preventlost]
offline_reward	= 1	; 离线奖励开关1为开;0即为关
loonglessing	= 1	; 神龙赐福开关1为开;0为关

[title]
title_num       = 355   ; 称号的最大个数

[arena]
on              = 1     ;  0为关闭竞技场,1为开放竞技场

[talent_show]
on              = 0     ;  0为关闭新疆选秀活动,1为开放选秀活动

[fabao]
on		= 1	; 0为关闭法宝相关处理,1为开

[create_role]
max_role_num    = 5     ;  创建玩家角色个数限制,防外挂

[city_struggle]		; 城战
on		= 1	; 1为开启城战,0为关闭城战

[soaring]
on		= 1	; 飞升开关

[auto_fight]
time_interval	= 1000	; 单位为毫秒

[meridian]
on		= 1	; 经脉开关
level_limit	= 50	; 角色等级最低限制,只有满足最低要求的角色才可以练习经脉技能

[meridian]
on		= 1	; 经脉开关
level_limit	= 50	; 角色等级最低限制,只有满足最低要求的角色才可以练习经脉技能

[guild_union]		; 公会相关
on		= 0	; 公会版本开启标志,1开启公会版,0关闭公会版

[mall_grouppurchase]	; 商城团购
on		= 1	; 商城团购开启标志,1开启商城团购,0关闭商城团购

[double_hit]            ; 连击功能
on              =  1    ; 连击功能开启标志,1开启连击功能,0关闭连击功能

[wardrobe]              ; 藏衣阁
on              =  1    ; 藏衣阁功能开启标志,1开启,0关闭


[duo_bao_qi_bing]
Sunday			= 1	;夺宝奇兵活动周日是否开放(0:关   1:开)
Monday			= 1	;夺宝奇兵活动周一是否开放(0:关   1:开)
Tuesday			= 1	;夺宝奇兵活动周二是否开放(0:关   1:开)
Wednesday		= 1	;夺宝奇兵活动周三是否开放(0:关   1:开)
Thursday		= 1	;夺宝奇兵活动周四是否开放(0:关   1:开)
Friday			= 1	;夺宝奇兵活动周五是否开放(0:关   1:开)
Saturday		= 1	;夺宝奇兵活动周六是否开放(0:关   1:开)

[god_bid]
on = 0			;		神之竞标系统开关(0:关   1:开)
FixedBidStartTimeCnt = 3;		每周固定竞标开始时间个数
FixedBidStartTime_1 = 12;		
FixedBidStartTime_2 = 19;		
FixedBidStartTime_3 = 22;		
WeekendAddedBidStartTimeCnt = 2;	周末加开的竞标开始时间个数
WeekendAddedBidStartTime_1 = 14;	
WeekendAddedBidStartTime_2 = 16;	


[egg_broker]
on = 1					;砸金蛋系统开关

[role_spreader]
on = 0					;游戏推广员开关

4. 启动服务端

依次启动game/server文件夹中的LoginServerLoongDBLoongWorld 三个exe可执行程序,当LoongWorld 为以下界面时即可
每个程序启动会有一个窗口,等到LoongWorld窗口如下图所示即可
在这里插入图片描述

5. 客户端文件修改

下面是最后一步,也是最简单的一步:客户端登录器配置,将launcher文件夹中Launcher.ini 文件修改一下位置

;更新文件URL
PatchInfo = http://1.1.1.1:88/cpk/patchinfo.txt

;游戏服务器信息文件
ServerInfo = http://1.1.1.1:88/cpk/serverinfo.xml

;主窗口URL
URL = http://1.1.1.1:88/Register.php

只需更改这三处为网站地址即可,前文我们说过patchinfo.txtserverinfo.xml的修改,就是为了让客户端下载服务器配置信息到本地使用,启动登录器后,登录器会访问更新文件url,下载游戏服务器信息文件主窗口url为登录器界面的显示画面,我们将它设置为网站注册页面,其他url按需求自行修改即可。
启动登录器launcher.exe即可进入游戏happy了
在这里插入图片描述

  • 30
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值