魔域服务端源码
发一段给你吧。这一段是关于Socket的,呵呵,多学学。
bool CSocketKernel::Create(IMessagePort pPort)
{
m_idNpcSocket = SOCKET_NONE;
m_pMsgPort = pPort;
m_pMsgPort->Open();
// TODO: 请在此添加初始化代码
m_pListen = m_cListenGetInterface();
if(!ServerSocketInit())
return false;
if(!m_pListen->Listen(SERVER_LISTEN_PORT, SOCKET_SENDBUFSIZE))
return false;
return true; // return false : 创建失败,程序关闭。
}
bool CSocketKernel::ProcessMsg(OBJID idPacket, void buf, int nType, int nFrom)
{
// TODO: 请在此添加消息处理代码
switch(idPacket)
{
case SOCKET_CLOSESOCKET:
{
SOCKET_ID idSocket = (int)buf;
if(idSocket >= m_setSocketsize())
break;
LOGDEBUG("DEBUG:通讯核心收到关闭网络消息,SOCKET_ID[%u]", idSocket);
if(m_setSocket[idSocket]) // readmetxt (1-7)
{
m_setSocket[idSocket]->Close(true);
m_setSocket[idSocket] = NULL;
CServerSocket::Destroy(m_setServerSocket[idSocket]);
m_setProcessID[idSocket] = PROCESS_NONE;
m_setNetBreakFlag[idSocket] = false;
if(m_idNpcSocket == idSocket)
{
LOGDUMP("m_idNpcSocket(%d) = SOCKET_NONE", m_idNpcSocket);
m_idNpcSocket = SOCKET_NONE;
char pText = "NPC server broken connect";
m_pMsgPort->Send(MSGPORT_SHELL, SHELL_PRINTTEXT, STRING_TYPE(pText), pText);
}
}
}
break;
case SOCKET_SETPROCESSID:
{
const CHANGE_USERDATA pPack = (CHANGE_USERDATA)buf;
if(pPack->idSocket >= 0 && pPack->idSocket < m_setSocketsize()
&& m_setSocket[pPack->idSocket]
&& !IsNetBreakFlag(pPack->idSocket) ) // 网络正常
m_setProcessID[pPack->idSocket] = pPack->nData;
else
m_pMsgPort->Send(nFrom, KERNEL_CLOSEKERNEL, VARTYPE_INT, &pPack->idSocket); // readmetxt (1-6)
}
break;
case SOCKET_SENDCLIENTMSG:
{
const SENDCLIENTMSG_PACKET0 pPack = (SENDCLIENTMSG_PACKET0)buf;
if(pPack->idSocket >= m_setSocketsize())
break;
if(m_setSocket[pPack->idSocket])
{
char buf[MAX_PACKETSIZE];
int nNetPacketSize = UnitePacket(buf, MAX_PACKETSIZE, pPack->idPacket, pPack->buf, pPack->nSize);
ASSERT(nNetPacketSize);
if(nNetPacketSize)
{
#ifdef PALED_DEBUG
OBJID idPacket = ((unsigned short)buf + 1);
主要是你没有安装好,先安装“17173_my_3869_clientEXE”这是客户端
再新建个文件夹把 单机版魔域15修正版rar 和 魔域私服补丁大全rar 解压到里面去
打开单机版魔域的文件夹 把 登陆补丁rar解压到客户端里 打开魔域SF补丁大全
把 花屏黑屏补丁rar 解压到当前文件夹里
把 花屏黑屏补丁文件夹里的东西复制到客户端里
打开客户端运行 花屏黑屏补丁exe
回到单机版魔域的文件夹里 打开 开始bat 输入A 回车 再输入B 回车
等到服务器全打开以后 回到客户端里 运行 单机版魔域登陆器exe 进入游戏
单机版魔域文件夹里的Tools里的GMTool里的GMTOOLbeta4exe是GM管理器 可以刷MS和新建帐号
也可以解压 魔域GM管理工具商业破解版rar 这个可以修改你身上的装备 那个不可以
魔域GM管理工具商业破解版的设置
数据库地址:localhost 帐号数据库:my
登陆用户名:root 角色数据库:my
密码:不要改这个 就是这个不动 自动连接 打勾
好象就需要改一下帐号和角色数据库 其余的不动 设置完点 保存并连接 就可以操作了
魔域私服别人给你找到了你也不一定能玩!所以我在这里教下大家!你下载后怎么玩!下说一下这个我已经下过能玩的!这是一个整体的下玩压缩就可以玩!很多人反映下的太慢!想玩还不想花时间!那就不用玩了!里面包含服务端 客户端 数据库 觉得慢自己单个找 单个下!下来后下面我教你怎么压缩!
我看到都在问压缩密码!我真郁闷,白痴这么多!都提示了要手写输行(这个网址就是压缩密码)
然后把他们下到任意盘!压缩在D盘!但不能创建在一个文件夹!客户端压缩在一个文件夹!文件名改(魔域单机) 其他的压缩在D盘不用创文件夹!这些工具自创!压缩好客户端 再压缩单机登陆器!运行MySQL 这个运行容易!在你压缩D盘以后有个单机魔域的文件里面有个运行(开始MSDOS批处理文件)输入小写a 高人都看好了( 是小写a) 别说无法运行! 输入b 运行其他的 如果按我以上的步奏 不会出现找不到数据库 什么内存错误!那都是我走的弯路 !数据库这些东西 读取的慢 你要给于耐性! 等几分钟再关他!任务管理器会提示未响应!少等一下!
读取成功后 就可以登陆游戏了!帐号密码都是默认123456!
如果 还想自己慢慢摸索的话!那就玩这个!如果你能玩了 说明你的水平也到家了!
一:魔域私服安装所需的软件我的都已经是下载好的如果你们还没有下请你们去下一下
1:首先请大家去下载一个魔域的服务端因为我的已经是下好的了我就不去下了
2:mappm-server 这个软件呢就是大家经常看到的USR我把下载地址也发给大家 这是下载地址
3:MyODBC-351 是下载地址
4:navicat2005trialrar这个软件呢我就不多说了请大家到网上去下载一个就可以了,
①:接下来先安装mappm-server,大家安装的时候只管下一步下一步就可以了因为这个软件它默认就是安装在D盘,我的是已经安装过的但是为了那些刚学的朋友我就把我的卸了重新安装一次给大家看,因为在安装会重新启动我就不安装了,大家自己安装一下就可以了,在安装完以后会出现这样的一个网页 http://localhost 看到了没有这个时候呢请你把下载的服务端里的datarar解压出来,把DATA这个文件夹装到D:\usr\local\mysql里直接覆盖就可以了看到这三个文件夹了没有account my前两个就是魔域的数据库了我就不多做解释了
②接下来安装Navicat MySQL,安装好以后替换 navicatexe
然后把这个 替换 \Navicat MySQL\localization 里的 defaultloc OK Navicat MySQL已经安装好了先不要启动呵呵
③:接下来安装MyODBC-35111-2-winexe这个呢架设网站的时候要用到我的是已经安装好的了,你们安装一下就可以了!!!!!要装的东西差不多都安装玩了这个也安装好了
④接下来看一下我们的MYSQL有没有启动了:开始---设置----控制面版---管理工具----服务。打开看一下MYSQL有没有启动了我们安装的是mappm-server
应该是启动了,如果没有启动的话就启动它就可以了
二:魔域服务端
①:魔域的服务端解压出来大家就看到了这两个文件夹ACCServer GameServer 第一个是帐号登陆服务器第二个是游戏的主引擎 AccountServerexe这就是帐号登陆服务器 MsgServerexe 和NPCServerexe是游戏的主引擎我就不多做介绍了
②:接下来打开数据源ODBC 开始---设置----控制面版---管理工具----数据源 (ODBC)打开 我的是建好的我删了 看到了没有用户DSN ,添加 大家看我的操作这里要注意一下我们先把数据库的密码改了 打开 http://localhost/phpmyadmin看到了没有叫你输入帐号和密码`````如果是安装mappm-server的话就会出现密码不对,大家可以来这里找进去了然后就是去改密码看我的操作改的密码你一定要记住哦
可以了我的改成了test,不过你们要怎么改都可以但是要记住OK我的用新密码可以登陆了呵呵接着加(ODBC) 这里呢就是root 密码是你自己设的那个只有你自己知道哦我的是 test接下来就很重要了我的可以看到三个accout my mysql有的人就不可以我告诉大家是为什么看到了出错了这是因为mysql没有启动大家看我做一次我先关了看一下 看到了没有出错了
我们应该怎么做呢看我怎么做启动D盘usr里的installbat这个批处理 呵呵偶现在很紧张哦 可以了PORT:3306这是端口在点test看一下,看到了没有我的已经是通了 ok
③:打开魔域的服务端 哦我紧张的差点忘了字也打错了 打开Navicat MySQL我的已经是加好的了我删了在做一次给大家看密码就是你自己设的那一个我的是 test 然后点连线看一下通了没有。看到了没有成功了看到了没有三个数据库接下来我们在打开魔域的服务端accountini这是一个配置文件我们打开它
[Account1]
SERVERNAME=新魔域
LOGINNAME=root
PASSWORD=这就是你自己的密码
FREE_DEBUG=3
AuthorizeDBcfg这个文件用记事本就可以打开了127001 root test 改成你自己的密码account account name password id
count_stat server_name status
127001 root 378b243e220ca493 account root呢是你的用户名 test 刚才我就要你们记住的密码 ,在打开configini
System]
LOGINLISTENPORT = 9958
POINTLISTENPORT = 9870
SERVER_FULL_DELAY_SECS = 5000
SERVER_BUSY_DELAY_SECS = 3000
SERVERTITLE = 新魔域
SERVERNAME = 新魔域
LOGINNAME = root
PASSWORD = test 刚才我就要你们记住的密码
SERVERIP = 127001
[Database]
DBHOSTNAME=127001
DATABASENAME=my
DBUSER=root
DBPASSWORD=test 刚才我就要你们记住的密码
在打开gameservercfg这个文件看到1000 1 127001 root test my还是把 test改成刚才我就要你们记住的密码帐号服务器都已经改好了
接下来打开gameserver这个文件夹打开configini
; 配置文件
[System]
SERVERNAME =新魔域
MONSTER_ACTIVE_LIMIT = 4000
ONLINETABLESIZE=600
ONLINEHEARTBEATSECS=600
HEARTBEATKICKSECS=1500
REJOINTIMEWAITSECS=0
[GameServer]
GAMESERVER_IP = 127001如果你要开外网的话改成你的IP就可以了
GAMESERVER_PORT = 5816
SND_SIZE = 64000
RCV_SIZE = 16000
[Database]
DB_IP = 127001
DB_USER = root
DB_PW = test这里我就不多说了
DB_NAME = my
LOGIN_KEY = dfkKO23k'[cvK934
[InternetPort]
MASTER_IP = 127001
MASTER_PORT = 8653
PORT_SIZE = 53
CURRENT_PORTID = 2
[BusySleep]
LEVEL1 = 20 ; > 1000 sleep 20%
LEVEL2 = 30 ; > 2000
LEVEL3 = 40 ; > 3000
LEVEL4 = 50 ; > 4000
LEVEL5 = 60 ; > 5000
在打开shellini
; 外壳配置文件
; 20071021
[System]
MAPGROUP_SIZE = 1
ACCEPT_MS = 500
[StreamType]
TYPE = 0 ;0=正常从SOCKET,1=SOCKET记录到文件, 2=从文件读(程序调试用)
[Database]
DB_IP = 127001
DB_USER = root
DB_PW = test
DB_DB = my
[AccountServer]
ACCOUNT_IP = 1921681099开外网就改这里
ACCOUNT_PORT = 9870
SERVERNAME =新魔域
LOGINNAME = root
PASSWORD = test不多说了我都已经说累了呵呵
; 登录表尺寸, 10-5000
MAXLOGINTABLESIZE=5000
; 登录表超时秒数,0-86400
LOGINOVERTIMESECS=120
LOGIN_KEY = dfkKO23k'[cvK934
[InternetPort]
MASTER_IP = 127001
MASTER_PORT = 8653
PORT_SIZE = 53
CURRENT_PORTID = 1
差不多都可以了
⑶启动服务端
打开
ACCServer这个文件夹里的AccountServerexe看我的我的有个错误我也不知道是错在那不用管在打开gameserver里的MsgServerexe和NPCServerexe我也不会请高手门指点呵呵
魔域私服(1921681099) login succeed
add info of server 新魔域, ip:1921681099, port:5816
新魔域 login assure
看到了没有成功了
我们来玩一下看
有很多人说进不去那是因为你们不细心看我怎么做游戏名称:魔域私服我的是魔域私服所以就只能用这个名字你改成什么就用什么就可以了看到了没有连接成功了进入游戏
因为我没有加帐号所以就进不去了哦我们来加一个我已经加了一个密码MD5加密的我去找一下可以用的密码======b2fac0ad34760ef1bc133a8e08f35dc5这就是经过MD5加密的密码VIP呢就只能是5到7之间OK帐号建好了我们进游戏
看到了没有进去了接下来就是建人物了 看到了吗进来了
接下来再教大家怎么加GM退出游戏或者重新登陆都可以
打开Navicat MySQL里的my里的cq_uesr看到了没有我刚才建的帐号了吧!!!在帐号后面加上[PM]那你就是GM了等级呀什么的你们自己去看资料就可以了我在这里就不多说了看到了没有我已经是GM里
现在大家都可以去体验了!!! 上面是 全部教程 。 我在给你个 下载22 单机版 版本 里面 有 GM工具 http://1191474116/downcid=5F12E81310FE1993F1360DD7FFEC98F5502E6B42&t=13&fmt=&usrinput= 如还有 疑问 可以加我Q 1371727444
魔域这游戏对网络要求蛮高的,
1网络不好
2需要重新安装游戏
3电脑配置太低
4电脑中毒了
我以前在黑网吧玩的时候,就经常掉线,不管是正式版还是什么的
什么服务器?Mangos的是不?如果是,那么在Mangos文件夹中找到mangosdconf,右键打开用记事本打开,里面有汉语说明,可以自己修改所有配置
另外,将经验倍数该为055左右后,就和以前九城代理时的经验相同了
0条评论