一、基础知识篇
, Y/ f3 {% `) z' Q& l要架设奇迹,首先我们需要知道一个完整的系统组成,搭好结构才能造房子不是
& _' s. p4 C% w @: H+ v* \% `
6 C5 ]1 t" j% h, @- `: E1、网络基础
" T# t4 F6 A7 \3 K, s/ a8 d( ]6 P网游分为服务端和客户端两大部分
3 S0 ~/ ]+ u9 e
; F+ x0 l0 a' Q两者通过IP地址互相访问,而且一般情况下我们关注的都是服务端的IP
客户端通过IP连接到服务端进行游戏,而服务端通过某种手段将客户端的账号与IP联系在一起,大致就是这么回事
* ~) V$ N, _* g* [( x
在不同的情况下服务端使用的IP地址是不同的
: V, z1 A# p7 O/ B- Y! o( g1 Z比如单机情况,就是服务端和客户端在一台电脑上,那么显然两者的IP地址是相同的,所以之后在设置中需要填IP地址的地方都要相同并且是你自己本机的IP地址
如果不知道自己的IP,很简单在单机情况下IP地址只要填127.0.0.1或者127.0.0.2就行了,这两个IP是默认用来表示本机IP地址的
/ k/ D3 N& n+ O8 F4 e
( K+ D* t+ J) y第二种情况,比如你和你的朋友在一个局域网内进行游戏,需要一台机器运行服务端,另外一台机器运行客户端,那么这时两者IP地址会不同,一般为192.168.1.X之类的
' s6 q" C! H5 h
第三种情况,外网,这个基本与第二种情况相同,但是要注意的是外网架设一般面临一个路由器的障碍,因为一般在家里有路由器的话,一台电脑将会同时拥有内网IP和外网IP,内网IP即为路由器分配给你的IP地址,就像以上第二种情况中192.168.1.X之类的,外网IP的话即为你对外访问网络时拥有的标示,想知道的话,直接百度“IP地址”就可以咯,所以当外网的计算机通过外网IP访问你的服务端时,面临着路由器能不能准确把数据传达到你这台内网的计算机上,这个问题比较复杂我也说不太清,想了解的话可以百度“端口映射”,当然如果不存在内外网IP的转换即大概等同于没有路由器直接访问外网的情况时,外网架设等同于局域网架设
; a- m6 q0 j8 q1 \, a' @3 L' U) K
9 n. z% K U8 g q/ G: v
除了IP地址外,还有一个需要了解的就是“端口”的概念了,可以大致这样理解:一台电脑拥有一个IP地址,不过可以具备很多端口,每个端口对应一个应用程序,程序直接通过端口实现准确访问,比如奇迹的服务端里包含了“连接服务”、“战盟服务”等不同的程序,那么他们在同一台电脑上运行时,他们之间就是通过端口号来交流数据的
/ i! K4 {3 k& {9 M1 z2、系统组成
这部分就说说一个能正常运行的奇迹一共包含了哪些东西
挑简单的吧,先说客户端,比如我们玩宝湾奇迹,需要先下载一个官方的客户端,再下载一个宝湾专用的登录器,官方客户端自不必多说,包含了在本机运行奇迹需要使用的图像,声音等数据,而所谓的登录器,就是一个包含了服务端IP地址和端口的引导启动客户端的程序罢了,而SF一般使用的登录器,还包含了检测外挂,记录网卡地址等功能,要实现这些功能,当然也需要配合服务端的登录器服务端使用了
而在服务端的计算机方面,包含的东西就多了
3 N% y8 R4 |2 j4 b( @; ?+ P' O# Q首先是操作系统,就拿现在的1.03奇迹来说吧,据我所知目前只有win2000、winXP、win7
32位旗舰版能正常架设
第二是系统组件,包括C++环境支持组件啊,Net FrameWork啊,等等,具体哪些我也不清楚,只能说有时候碰到情况了也许往这上面原因可能有收获
8 i, N: q8 R; f6 \/ ]8 c第三是数据库,简单的说玩家的账号啊,账号里的角资料、装备等等都是储存在服务器的数据库里的,提取,储存数据的过程都是在数据库与奇迹服务端之间实现的,使用最多的数据库是SQL2000,而我个人一直都是用的绿数据库的,关于数据库我想大家只要大概了解数据库的使用需要用户名和密码,一般用户名为sa,密码可以自行修改,具体教程可以自己网上搜,我们架设的时候只要正确安装数据库,导入奇迹使用的几个数据库模板,设置好密码就可以了
- K- [8 N' Q" a- h3 W8 V# _最后就是关键的奇迹服务端了,服务端包含了几个不同的应用程序:聊天服务、连接服务、积分服务等等,还有就是我们常说的游戏线,一线二线三线,这种叫GameServer简称GS吧就,其他的附加服务端比如前面所说的登录器服务端等等
1 C; r; Z- x% e4 \, E6 T
除了这些把剩下的统统归为辅助工具吧,比如账号建立工具,GM工具,网站系统等,其实
这些都是简易地把数据库的操作转化为间接的界面罢了,还有的就是方便更改游戏设置的工具,比如怪物代码啦,物品代码啦,这些一一对应起来都是比较庞大的数据。
二、实际架设篇
9 B- X( [. W( b/ i: s
大致了解以后,我就以架设一个局域网的奇迹为例,一步一步讲一下需要做的事情
架设成功以后,将实现以下情况:
+ l. E4 n5 W# x/ E) y, U! B两台电脑通过路由器连接组成局域网,一台IP地址为192.168.1.2的电脑做服务端,并且本机运行客户端能上游戏,另一台IP地址为192.168.1.3的电脑只运行客户端也能连上同一个服务端
& U: ?' }+ |4 f/ G第一步,给服务端安装数据库,具体怎么做打架自己百度吧,我是用的绿的,装完以后界面如图01
怎么制作游戏01.jpg (81.91 KB, 下载次数: 297)
下载附件 保存到相册
2011-8-20 14:02 上传
9 n: }* n, r2 n" z看到右下角的“修改密码”了么?恩,自己改了什么要记住啊,数据库用户名和密码,后面要用到的
3 Q; B: c1 C; ]1 ~
6 ?- s2 Q o1 U+ z2 e9 i. S5 y
第二步,导入奇迹服务端的空数据库
: c8 x0 {) U1 @4 s3 q首先点击图01界面中的“新建库”,添加如下几个名字的数据库
, Z2 U$ c/ ^$ t$ x! \( B- XMuOnline
3 ]" X# `5 I0 h/ l V0 yRanking
% w' a1 u( d% H! ^ aMU2003_EVENT_DATA
Me_muonline
MuLog
MuConnectLog
1 Q5 N O1 p# ^然后分别右键名字选择“恢复数据库”,如图02显示,给每个数据库导入他们的原始文件
02.jpg (90.43 KB, 下载次数: 296)
下载附件 保存到相册
2011-8-20 14:02 上传
# ^* K- t# W; o* g0 [
# B% a. _5 C+ d2 V我自己这里的貌似也不是很原始,下面把我用的绿数据库和原始文件放上来,绿数据库记得运行那个,初始用户名sa密码111111
我一般都放在D:\MuOnline\ 下面
绿数据库
原始备份文件
* K- w% Y, g B3 L* z, ?- E由于服务端程序存放在电脑中的路径盘符也有讲究,为作统一规定我放上的压缩文件包,只包含一个文件夹,就是直接拖出来就能用的,然后所有服务端文件夹都放在D:\MuOnline\ 下面,大致的结构如图03所示:
' @# ^0 N" Y9 k
03.jpg (40.62 KB, 下载次数: 287)
下载附件 保存到相册
2011-8-20 14:02 上传
, U$ S1 f: G0 a
我想大概都能理解吧?不要再有神马文件夹放错路径的问题啦
第三步就是服务端主文件了,主要结构就如上图03所示
4 R* H1 e% ^3 s( B8 ?5 Q基本上每个文件夹就是作为一个服务程序出现的
. u, V/ A" L4 L, K+ \8 Z! z7 l
下面按顺序大致说下每个的作用和一些可以修改的基本设置:
$ Y9 K* g+ i- Q0 v: u# t% U. K9 h1、DataServer与DataServer1是两个数据服务程序,他们负责服务端与数据库的连接与共享数据,不需要设置文件,但注意在运行的时候要加上参数
% J$ ?# i- g& ?
所谓参数,我也说不清楚,还是放图比较好理解吧,如图04,55960 0表示该数据服务器使用55960端口作为0号数据服务器,DataServer1的参数就是使用55962端口作为1号数据服务器
% V& s4 I9 N) W& `# G
04.jpg (44.37 KB, 下载次数: 280)
下载附件 保存到相册
2011-8-20 14:02 上传
2、ConnectServer:关键的一个,服务列表,就是说我们登录奇迹以后看到的几个区几条线啊,每条线的连接信息都是这个控制的,这个程序不需要参数
1 @1 A; |8 v( f, z1 `c:\iknow\docshare\data\cur_work\15\
看一下其中的KGCsConfig.ini的如下内容:
+ Y& x! i% }+ }5 D1 T* M
# `& a2 o# W/ {9 |9 A[KGSETTING]
# 对外服务端口
KGLISTenPort=44405
5 N' ~/ ?9 d. U" L! Q* {
[KGSERVER0]
KGLIST0=0,127.0.0.2,55901
KGLIST1=1,127.0.0.2,55903
KGLIST2=2,127.0.0.2,55905
$ C G& d6 q+ d0 C& ?KGLIST3=3,127.0.0.2,55919
0 \* y3 n. A/ Z1 l/ i
$ k2 s4 E; f6 o对外服务端口可以理解为客户端要访问的服务端端口
5 V e% P3 W- S重要的地方在这里
KGLIST0=0,127.0.0.2,55901
KGLIST1=1,127.0.0.2,55903
! Y; O3 F: ]! N+ \% w- M& j% D, L: YKGLIST2=2,127.0.0.2,55905
KGLIST3=3,127.0.0.2,55919
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论