Shaiya

本来想搬一套wiki,haha,看上去高端点,但是想来就是一个自己比较喜欢的游戏,该说是自己玩的最久,不舍得丢的游戏,认识了不少朋友。其实今天已经是16年了,生成了文件后一直也没写,陆陆续续在补充。昨晚翻了翻硬盘,找到了shaiya以前的一些东西,资料很乱,几乎已经分不清版本之类的了,感谢当时分享出服务端的各位了,虽然基本发出来的存在不少后门和BUG,但是并不影响体验单机。

个人体验

Shaiya构建了一个大陆的背景,其实在当时玩游戏之初是不知道这些的,2006年的时候韩服测试开启,记得当时旷了一下午的课,注册了几个账号去体验,以前也没玩过什么大型游戏,翻墙软件也没有像现在这么多,不过好在之前玩过韩服的跑跑卡丁车,凭借当时那一点点经验,进入游戏体验,可能对于现在来说,这样的画面已经算是渣渣了。不过我当时还是很震撼的,而且我记得游戏对电脑配置要求也不高,周围的一些也很新奇,新手村一个任务可能会让你跑的焦头烂额,毕竟韩服,水管文也不认得..

游戏搭建

如果要我把韩服和国服还有各个国家服务器经历写过来,估计打开这篇博文的人,看到就想关闭了,因为实在太多了,所以我们还是归于实际,简单说一说这个游戏搭建过程,我的记忆大部分在于游戏初期的时候,所以版本可能比较靠前,现在市面上流传的基本是比较新的,我基于怀旧,所以搭建了自己比较喜欢的一个版本,中间认识不少朋友也是在于这个版本的各个服务器体验中。
下述文件在最后会放出下载链接。
1. windows系统,我这里选择的是windows server 2003 sp2
2. Mssql,当然这里的数据库要适配1中的系统.我选择的是SQL2000+SP4补丁
3. 数据库文件
4. 服务端文件
5. 配套客户端
其实有很多一键端,但是我自己比较喜欢手动一步步搭建的,所以想找一键端的朋友可以自己网上找找。

windows 2003,我们再虚拟机安装一个即可,然后安装sql2000+sp4补丁,环境先搭建好,然后我们开始搭建游戏服务端。解压缩 服务端.zip,我们可以看到两个文件夹,Shaiya_DB和ShaiyaServer,Shaiya_DB里面是游戏的数据库文件,ShaiyaServer里面则是具体的服务端文件,里面有蛮多文件的,有兴趣的可以自己看看,或者网上也能查到具体的文件说明,因为我服务器只有一个C盘,所以我把文件全部丢在到了C盘。所以里面有个路径我们需要改一下:

ShaiyaServer\PSM_Client\Config\PSM_Service.ini
这个文件里面的路径,自己对应设置一下就可以,如果放在C盘就不用修改了.
打开查询分析器,安装扩展存储过程:
exec master..sp_addextendedproc ‘xp_crypt’, ‘C:\ShaiyaServer\master\xp_crypt.dll’

输入后,按F5..

在C盘下创建一个文件夹 Shaiya_data 我们把数据库还原到这个目录,区别于之前的 Shaiya_DB。
打开企业管理器,右键新建数据库.建立并还原如下数据库:
OMG_GameWEB
ps_statistics
ps_userdata
ps_gamedefs
ps_gamedata
ps_billing
ps_chatlog
ps_gamelog
ps_gmtool
ps_monitor






打开查询分析器,建立链接数据库:
if exists(select *
from master..sysservers
where isremote=1 and srvname=‘game’)
begin
exec sp_dropserver ‘game’,‘droplogins’
end
exec sp_addlinkedserver ‘game’,“,‘SQLOLEDB’,‘127.0.0.1’
exec sp_addlinkedsrvlogin ‘game’,‘false’,null,‘SQL帐号’,‘SQL密码’

执行查询后,在企业管理器里找到 安全性 – 链接服务器 – game – 右键 – 属性 – 把服务器选项那边的5个全部打勾.

因为游戏里面涉及商城,在我以前搭建过程中,一直有买东西掉线的情况,需要自行设置一个服务启动,但是我后续在服务器系统上搭建,再也没碰到过,但是还是说明一下,不然找不到原因很麻烦。
我的电脑 – 右键 – 管理 – 服务和应用程序 – 服务 – 找到
Distributed Transaction Coordinator 设置 启动类型 为 自动 ,并启动它,重起游戏服务即可解决 商成买东西掉线的问题.
配置游戏服务端:
C:\ShaiyaServer\PSM_Client
启动 PSM_ServiceMgr.exe 把所有服务依次安装,并启动第一个服务! 然后关闭!
C:\ShaiyaServer\PSM_Server
启动 PSMServer_ServiceMgr.exe 把服务安装,并启动服务!然后关闭!
启动 PSMServer_Mgr.exe
选中 Main 修改 Account 为你的SQL帐号 修改 Passwd 为你的SQL密码 然后全部应用!
选中 Login01 修改IP为你的IP,应用,关闭程序,并重启程序!不然回呈红叉显示!
选中 GameGroups01 修改 IP 和 服务器名!
一切就绪后 选 Server Update — 点击 Update to all server (exe, data files and ini files)  并确定!
更新完毕..
#下面启动所有服务
选 Control Service – 点击 Start All Server Service 待所有服务变成绿色三角之后开始关版本验证,NP验证!
#关版本验证
Login01 – 右键 Command 弹出对话框 输入 /vchkoff 回车即可!
#关NP验证
Game – 右键 Command 弹出对话框 输入 /nprotectoff 回车即可!
#关于修改服务器的经验倍数
Game – 右键 Command 弹出对话框 输入 /exp2xenable 800  则增加当前服务器经验为800倍. 输入 /exp2xdisable 500 则减少当前服务器经验500倍!
关于账号注册,手上的网页太多乱七八糟的东西了,打包出来不小,所以直接说一下手动注册账号:
打开数据库 ps_userdata 打开Users_Master 表:
UserUID     帐号ID,从1开始,依次类推.
UserID      帐号
Pw          密码(明文)
JoinDate    创建时间
Admin       是否为GM, 1 为是, 0 为否
AdminLevel  GM权限,最高255,拥有所有权限.
UseQueue    暂不做解释,直接填 0
Status      暂不做解释,直接填 0
Leave       暂不做解释,直接填 0
LeaveDate   空,不填
UserType    个人理解帐号类型  N 为 正常
UserIp      空,不填
ModiIP      空,不填
Point       帐号拥有商城点
Enpassword  应该是加密密码,具体不了解用途,可以为空.
Birth       空,不填
下面再打开数据库 OMG_GameWEB 打开 GameAccountTBL 表:
UserUID     帐号ID.要跟上面创建的帐号ID一样
GameAccount 帐号,跟上面创建的帐号一样
OneTimePassword 密码(明文)
OTPExpireDate  可以填 2100-1-1
DelCharPWD  这里填你的密码的MD5
CreateDate  可以填 2009-1-1
PS:MD5的码可以从 http://www.cmd5.com/ 这个网址去看。选择32位的复制粘贴就可以了
搭建单机大部分为了比较爽的体验游戏,我们可以开启GM模式,GM=GameMaster,我猜是这么理解的。所以通过一些内部的命令可以直接在游戏里面改变很多东西。
先说一下GM权限的设置,打开数据库 ps_userdata 打开Users_Master 表:
Admin       是否为GM, 1 为是, 0 为否
AdminLevel  GM权限,最高255,拥有所有权限.
开启GM模式,打开PSMServer_Mgr.exe:
Login01 – 右键 Command 弹出对话框 输入 /adminopen 回车即可!(PS:需要重新登录GM账号)
重新登陆游戏后,你会发现你的角色变成透明色,回车–输入 /char off –回车,就可以了,角色名字是蓝色的,这个时候你打怪发现,怪也不理你.-.-,因为开启了攻击限制,我们一样输入 /attack off.
#修改属性命令
/set 角色名 str 数值
/set 角色名 int 数值
/set 角色名 wis 数值
/set 角色名 dex 数值
/set 角色名 rec 数值
/set 角色名 luc 数值
#修改 角色 等级的命令
/set 角色名 Level 数值
#修改 角色 技能点的命令
/set 角色名 skillpoint 数值
#修改 角色 金钱的命令
/set 角色名 money 数值
#刷物品命令 格式为   物品代码请朋友们自行在数据库寻找
/getitem 类型 编号 数量
#例如 大地 刺骨双剑  物品代码为 5139
/getitem 5 139 1  即可获得一把 大地 刺骨双剑
#例如 迅疾药水  物品代码为 100107
/getitem 100 107 8 即可获得8瓶 迅疾药水
#刷怪的命令格式为
/mmake 怪物代码 数量   怪物代码请朋友们自行在数据库寻找
/mmake 1259 3   即可在你的角色附近刷出 3只 星座 六翼天使
#移动地图命令
/cmove 地图编号
#召唤角色
/asummon 角色名    即可把该玩家召唤到你身边
这边还有很多网上流传的命令.-.- 自行测试..
/alert
/char on          gm隐身开
/char off          gm隐身关
/attack on
/attack off
/amove           移动到?地图
/bmove           移动
/cmove
/itemlv
/xcall
/tacticszone
/fogstart
/fogend
/gmove
/warning
/watch
/cwatch
/cwatch off
/silence off
/silence
/stopon
/stopoff
/quiry
/asummon                召唤
/bsummon                召唤
/partysummon
/item
/mob                           [ ]  HP:0,  LV:0
/guildrade
/guildrank
/guildpoint
/gmnotice
/cnotice
/wnotice
/notice
/znotice
/bnotice
/cure                 治疗
/autocure
/npautocure
/iclear
/eclear
/queston
/questoff
/questadd
/pvpon
/pvpoff
/questrem
/event off
/eventadd
/eventrem
/kick
/bancan
/kick
/ban
/set
/imake
/recallitem
/getitem
/mmake
/mera t
/mera
/nmake
/nera
/akick
/abancan
/aban
/server on
/server off
/shutdown
/chatcolor
/apower
/apowercan
/party (玩家指令 组队)
/town  (玩家指令 回程)
/join  (玩家指令 加入联合:我猜的,韩服是 /曼咯)
/time
/wire
/point       整个游戏画面变成点状
/basic      整个游戏画面由点状复原
/UQGET
/UQCOUNT

资源链接