‘壹’ 魔域服务端源码
弄得魔域私服多的数不清了~ 内部人员泄露了源代码但是服务端还没泄露所以现在的SF都是模拟器版的 很多功能不完善 有什么游戏 就会出什么私服 ..
‘贰’ 谁知道魔域登陆器注册程序怎么用易语言编写
魔域登陆器注册程序怎么用易语言编写
似乎很少人会
‘叁’ 魔域服务端源码
发一段给你吧。这一段是关于Socket的,呵呵,多学学。
bool CSocketKernel::Create(IMessagePort* pPort)
{
m_idNpcSocket = SOCKET_NONE;
m_pMsgPort = pPort;
m_pMsgPort->Open();
// TODO: 请在此添加初始化代码
m_pListen = m_cListen.GetInterface();
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_setSocket.size())
break;
LOGDEBUG("DEBUG:通讯核心收到关闭网络消息,SOCKET_ID[%u]", idSocket);
if(m_setSocket[idSocket]) // readme.txt (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_setSocket.size()
&& m_setSocket[pPack->idSocket]
&& !IsNetBreakFlag(pPack->idSocket) ) // 网络正常
m_setProcessID[pPack->idSocket] = pPack->nData;
else
m_pMsgPort->Send(nFrom, KERNEL_CLOSEKERNEL, VARTYPE_INT, &pPack->idSocket); // readme.txt (1-6)
}
break;
case SOCKET_SENDCLIENTMSG:
{
const SENDCLIENTMSG_PACKET0* pPack = (SENDCLIENTMSG_PACKET0*)buf;
if(pPack->idSocket >= m_setSocket.size())
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);
‘肆’ 魔域的游戏源代码怎么会泄露出去啊
内部人员泄露了源代码
但是服务端还没泄露
所以现在的SF都是模拟器版的 很多功能不完善
‘伍’ 魔域登录器制作方法
易语言源码:
.版本 2
.子程序 _按钮1_被单击
写配置项 (取运行目录 () + “\ini\oem.ini”, “Oem”, “Id”, “2010” + #换行符)
写配置项 (取运行目录 () + “\ini\oem.ini”, “AccountSetup”, “Type”, “1” + #换行符)
写配置项 (取运行目录 () + “\ini\oem.ini”, “ServerInfo”, “URL”, “http://” + IP地址 + “:9527/server.txt”)
写配置项 (取运行目录 () + “\ini\oem.ini”, “ServerStatus”, “Link”, “http://” + IP地址 + “:9527/OnlineStatus_tx.txt”)
写配置项 (取运行目录 () + “\ini\oem.ini”, “ExitLink”, “Address”, 官方网站 + #换行符)
写配置项 (取运行目录 () + “\ini\oem.ini”, “VipLink”, “URL”, “http://games.qq.com/tencent/moy/pay/” + #换行符)
写配置项 (取运行目录 () + “\ini\oem.ini”, “Header”, “GroupAmount”, “1”)
写配置项 (取运行目录 () + “\ini\oem.ini”, “Header”, “Group1”, 游戏名字)
写配置项 (取运行目录 () + “\ini\oem.ini”, “Group1”, “ServerAmount”, “1” + #换行符)
写配置项 (取运行目录 () + “\ini\oem.ini”, “Group1”, “Server1”, 游戏名字)
写配置项 (取运行目录 () + “\ini\oem.ini”, “Group1”, “Ip1”, IP地址 + “:” + 登陆端口)
写配置项 (取运行目录 () + “\ini\oem.ini”, “Group1”, “Pic1”, “Server1”)
写配置项 (取运行目录 () + “\ini\oem.ini”, “Group1”, “ServerName1”, 游戏名字)
写配置项 (取运行目录 () + “\ini\oem.dat”, “Oem”, “Id”, “2010” + #换行符)
写配置项 (取运行目录 () + “\ini\oem.dat”, “AccountSetup”, “Type”, “1” + #换行符)
写配置项 (取运行目录 () + “\ini\oem.dat”, “ServerInfo”, “URL”, “http://” + IP地址 + “:9527/server.txt”)
写配置项 (取运行目录 () + “\ini\oem.dat”, “ServerStatus”, “Link”, “http://” + IP地址 + “:9527/OnlineStatus_tx.txt”)
写配置项 (取运行目录 () + “\ini\oem.dat”, “ExitLink”, “Address”, 官方网站 + #换行符)
写配置项 (取运行目录 () + “\ini\oem.dat”, “VipLink”, “URL”, “http://games.qq.com/tencent/moy/pay/” + #换行符)
写配置项 (取运行目录 () + “\ini\oem.dat”, “Header”, “GroupAmount”, “1”)
写配置项 (取运行目录 () + “\ini\oem.dat”, “Header”, “Group1”, 游戏名字)
写配置项 (取运行目录 () + “\ini\oem.dat”, “Group1”, “ServerAmount”, “1” + #换行符)
写配置项 (取运行目录 () + “\ini\oem.dat”, “Group1”, “Server1”, 游戏名字)
写配置项 (取运行目录 () + “\ini\oem.dat”, “Group1”, “Ip1”, IP地址 + “:” + 登陆端口)
写配置项 (取运行目录 () + “\ini\oem.dat”, “Group1”, “Pic1”, “Server1”)
写配置项 (取运行目录 () + “\ini\oem.dat”, “Group1”, “ServerName1”, 游戏名字)
写配置项 (取运行目录 () + “\server.dat”, “Header”, “GroupAmount”, “1”)
写配置项 (取运行目录 () + “\server.dat”, “Header”, “Group1”, 游戏名字)
写配置项 (取运行目录 () + “\server.dat”, “Group1”, “ServerAmount”, “1” + #换行符)
写配置项 (取运行目录 () + “\server.dat”, “Group1”, “Server1”, 游戏名字)
写配置项 (取运行目录 () + “\server.dat”, “Group1”, “Ip1”, IP地址 + “:” + 登陆端口)
写配置项 (取运行目录 () + “\server.dat”, “Group1”, “Pic1”, “Server1”)
写配置项 (取运行目录 () + “\server.dat”, “Group1”, “ServerName1”, 游戏名字)
运行 (取运行目录 () + “\soul.exe blacknull”, 假, )
delphi源码:
procere TForm1.Image8Click(Sender: TObject);
begin
myinifile:=Tinifile.Create('.\ini\Oem.ini');
myinifile.WriteString('Oem','Id','2010'+#13+#10);
myinifile.WriteString('AccountSetup','Type','1'+#13+#10);
myinifile.WriteString('ServerInfo','URL','http://91.my.com');
myinifile.WriteString('ServerStatus','Link','http://91.my.com');
myinifile.WriteString('ExitLink','Address',''+#13+#10);
myinifile.WriteString('VipLink','URL','http://91.my.com'+#13+#10);
myinifile.WriteString('Header','GroupAmount','1');
myinifile.WriteString('Header','Group1',ok.Strings[1]);
myinifile.WriteString('Group1','ServerAmount','1'+#13+#10);
myinifile.WriteString('Group1','Server1',ok.Strings[1]);
myinifile.WriteString('Group1','Ip1',ok.Strings[2]+':'+ok.Strings[3]);
myinifile.WriteString('Group1','Pic1','Server1');
myinifile.WriteString('Group1','ServerName1',ok.Strings[1]);
myinifile:=Tinifile.Create('.\ini\Oem.dat');
myinifile.WriteString('Oem','Id','2010'+#13+#10);
myinifile.WriteString('AccountSetup','Type','1'+#13+#10);
myinifile.WriteString('ServerInfo','URL','http://91.my.com');
myinifile.WriteString('ServerStatus','Link','http://91.my.com');
myinifile.WriteString('ExitLink','Address',''+#13+#10);
myinifile.WriteString('VipLink','URL','http://91.my.com'+#13+#10);
myinifile.WriteString('Header','GroupAmount','1');
myinifile.WriteString('Header','Group1',ok.Strings[1]);
myinifile.WriteString('Group1','ServerAmount','1'+#13+#10);
myinifile.WriteString('Group1','Server1',ok.Strings[1]);
myinifile.WriteString('Group1','Ip1',ok.Strings[2]+':'+ok.Strings[3]);
myinifile.WriteString('Group1','Pic1','Server1');
myinifile.WriteString('Group1','ServerName1',ok.Strings[1]);
shellexecute(handle,'open','.\soul.exe','blacknull',nil,sw_shownormal);
end;
上面的做个只登陆游戏足够了。具体使用你自己在修改一下。
‘陆’ 如何架设魔域SF登录器如何搞好IP
首先弄个网站,再弄个登陆器,然后把魔域里面的一个IP改了