public void SendCharacterLoad(byte[] data) { var iPkt = new UC_CHARACTER_LOAD_REQ(); iPkt.SetData(data); SysCons.LogInfo("UC_CHARACTER_LOAD_REQ AccountID({0}) LastServerID({1})", iPkt.AccountID, iPkt.ServerID); AccountID = iPkt.AccountID; ServerID = iPkt.ServerID; using (var oPkt = new CU_SERVER_CHANNEL_INFO()) { oPkt.BuildChannelList(iPkt.ServerID); oPkt.BuildPacket(); Client.Send(oPkt.Data); } using (var oPkt = new CU_CHARACTER_INFO()) { oPkt.BuildCharList(AccountID, ServerID); oPkt.BuildPacket(); SysCons.SavePacket(oPkt); Client.Send(oPkt.Data); } using (var oPkt = new CU_CHARACTER_LOAD_RES()) { oPkt.ServerID = iPkt.ServerID; oPkt.BuildPacket(); Client.Send(oPkt.Data); } }
public void SendServerList(Boolean isOnlyOne) { SysCons.LogInfo("CU_SERVER_FARM_INFO Sending {0} server(s) information", CharConfig.Instance.GameServerCount); for (int i = 0; i < CharConfig.Instance.GameServerCount; ++i) { var oPkt = new CU_SERVER_FARM_INFO(); int srvid = i + 1; oPkt.ServerID = (byte)srvid; oPkt.MaxLoad = 100; oPkt.Load = 0; oPkt.ServerStatus = 0; oPkt.ServerName = CharConfig.Instance.GetGameServerName(srvid); oPkt.BuildPacket(); this.Client.Send(oPkt.Data); } if (isOnlyOne) { var oPkt = new CU_CHARACTER_SERVERLIST_ONE_RES(); oPkt.BuildPacket(); this.Client.Send(oPkt.Data); } else { var oPkt = new CU_CHARACTER_SERVERLIST_RES(); oPkt.BuildPacket(); this.Client.Send(oPkt.Data); } }
public void CheckPacket(byte[] data, CharClient client) { this.pkt = new Packet(); pkt.SetData(data); this.client = client; if ((PacketOpcodes)pkt.Opcode != PacketOpcodes.SYS_ALIVE) { SysCons.LogInfo("Recv Packet({0}) Len({1}) Enc({2}) Opcode({3})", PacketDefinitions.getPacketName(pkt.Opcode), pkt.Lenght, pkt.Encrypt, pkt.Opcode); } switch ((PacketOpcodes)pkt.Opcode) { case PacketOpcodes.SYS_ALIVE: /* TO SKIP LOGGING THIS PACKET */ break; case PacketOpcodes.SYS_HANDSHAKE_RES: client.SendHandShakeRes(); break; case PacketOpcodes.UC_LOGIN_REQ: client.SendLoginResponse(data); break; case PacketOpcodes.UC_CHARACTER_SERVERLIST_REQ: client.SendServerList(false); break; case PacketOpcodes.UC_CHARACTER_SERVERLIST_ONE_REQ: client.SendServerList(true); break; case PacketOpcodes.UC_CHARACTER_ADD_REQ: client.SendCharacterAdd(data); break; //case PacketOpcodes.UC_CHARACTER_ADD_REQ: client.SendCharacterCreate(data); break; case PacketOpcodes.UC_CHARACTER_SELECT_REQ: client.SendCharacterSelect(data); break; case PacketOpcodes.UC_CHARACTER_EXIT_REQ: client.SendCharacterExit(data); break; case PacketOpcodes.UC_CHARACTER_LOAD_REQ: client.SendCharacterLoad(data); break; case PacketOpcodes.UC_CONNECT_WAIT_CHECK_REQ: client.SendWaitCheck(data); break; default: PacketDefinitions.LogPacketData(pkt); break; } }
internal void SendGameEnter(byte[] data) { // to do UG_GAME_ENTER_REQ SysCons.LogInfo("UG_GAME_ENTER_REQ"); GU_GAME_ENTER_RES sPkt = new GU_GAME_ENTER_RES(); sPkt.ResultCode = 500; sPkt.achCommunityServerIP = Encoding.ASCII.GetBytes("127.0.0.1"); sPkt.wCommunityServerPort = 50700; SysCons.LogInfo("GU_GAME_ENTER_RES IPAddress({0}) Port({1}) wysylam namiary ziom", sPkt.achCommunityServerIP.ToString(), sPkt.wCommunityServerPort.ToString()); sPkt.BuildPacket(); this.Client.Send(sPkt.Data); // O WCHUJ PACKETOW JEDZIEM zerami // GU_AVATAR_CHAR_INFO // GU_AVATAR_ITEM_INFO //GU_AVATAR_SKILL_INFO //GU_AVATAR_HTB_INFO //GU_QUICK_SLOT_INFO //GU_WAR_FOG_INFO //GU_AVATAR_BUFF_INFO //GU_AVATAR_INFO_END SysCons.LogInfo("GU_AVATAR_INFO_END"); Packet pkt = new Packet(); pkt.Opcode = (ushort)PacketOpcodes.GU_AVATAR_INFO_END; pkt.BuildPacket(); this.Client.Send(pkt.Data); }
internal void EnterWolrd(byte[] data) { // pakiet UG_ENTER_WORLD nie ma nic SysCons.LogInfo("UG_ENTER_WORLD"); //GU_NETMARBLEMEMBERIP_NFY SysCons.LogInfo("GU_NETMARBLEMEMBERSHIP_NFY"); Packet pkt = new Packet(); pkt.Opcode = (ushort)PacketOpcodes.GU_NETMARBLEMEMBERIP_NFY; pkt.BuildPacket(); this.Client.Send(pkt.Data); // jakis pakiet na surowo //ContentsOnOff SysCons.LogInfo("GU_SERVER_CONTENTS_ONOFF"); byte[] contents_onoff = { 0x00, 0x00, 0x40, 0xb1, 0xff, 0x12, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x90, 0x00, 0x06, 0xda, 0x08, 0x00, 0x00, 0xd7, 0x08, 0x00, 0x00, 0xdb, 0x08, 0x00, 0x00, 0xd8, 0x08, 0x00, 0x00, 0xdc, 0x08, 0x00, 0x00, 0xd9, 0x08, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 }; Packet pkt2 = new Packet(); pkt2.Opcode = (ushort)PacketOpcodes.GU_SERVER_CONTENTS_ONOFF; pkt2.BuildPacket(); pkt2.Data.Equals(contents_onoff); this.Client.Send(pkt2.Data); //GU_AVATAR_WORLD_INFO //GU_ENTER_WORLD_COMPLETE SysCons.LogInfo("GU_ENTER_WORLD_COMPLETE"); Packet pkt3 = new Packet(); pkt3.Opcode = (ushort)PacketOpcodes.GU_ENTER_WORLD_COMPLETE; pkt3.BuildPacket(); this.Client.Send(pkt3.Data); }
public void SendLoginResponse(byte[] data) { Packet oPkt = new Packet(); oPkt.Opcode = (ushort)PacketOpcodes.AU_COMMERCIAL_SETTING_NFY; oPkt.BuildPacket(); this.Client.Send(oPkt.Data); UA_LOGIN_REQ inPkt = new UA_LOGIN_REQ(); inPkt.SetData(data); SysCons.LogInfo("UA_LOGIN_REQ {0} CodePage({1}) {2}.{3}", inPkt.UserID, inPkt.CodePage, inPkt.MajorVer, inPkt.MinorVer); this.Username = inPkt.UserID; this.Password = inPkt.UserPW; this.AccountID = (uint)AuthDB.GetAccountID(this.Username); AU_LOGIN_RES sPkt = new AU_LOGIN_RES(); sPkt.UserID = inPkt.UserID; sPkt.AccountID = this.AccountID; sPkt.AllowedFunctionForDeveloper = 65535; sPkt.AuthKey = Encoding.ASCII.GetBytes("SE@WASDE#$RFWD@D"); sPkt.ResultCode = (ushort)AuthDB.CheckAccount(this.Username, this.Password); sPkt.lastServerID = 255; sPkt.lastChannelID = 255; sPkt.BuildCharServerList(); sPkt.BuildPacket(); this.Client.Send(sPkt.Data); }
public void SendLoginResponse(byte[] data) { var iPkt = new UA_LOGIN_REQ(); iPkt.SetData(data); SysCons.LogInfo("UA_LOGIN_REQ UserID({0}) CodePage({1}) Version({2}.{3})", iPkt.UserID, iPkt.CodePage, iPkt.MajorVer, iPkt.MinorVer); Username = iPkt.UserID; Password = iPkt.UserPW; AccountID = (uint)AuthDB.GetAccountID(Username); using (var oPkt = new AU_COMMERCIAL_SETTING_NFY()) { oPkt.BuildPacket(); Client.Send(oPkt.Data); } using (var oPkt = new AU_LOGIN_RES()) { oPkt.UserID = iPkt.UserID; oPkt.AccountID = AccountID; oPkt.AllowedFunctionForDeveloper = 65535; oPkt.AuthKey = "SE@WASDE#$RFWD@D"; oPkt.ResultCode = (ushort)AuthDB.CheckAccount(this.Username, this.Password); oPkt.lastServerID = 255; oPkt.lastChannelID = 255; oPkt.BuildCharServerList(); oPkt.BuildPacket(); Client.Send(oPkt.Data); } }
internal void ChatSendMessageSay(byte[] data) { SysCons.LogInfo("UT_CHAT_MESSAGE_SAY"); Packet pkt = new Packet(); pkt.Opcode = (ushort)PacketOpcodes.TU_CHAT_MESSAGE_SAY; pkt.BuildPacket(); //this.Client.Send(pkt.Data); }
public static void Shutdown() { if (Serv != null) { SysCons.LogInfo("Shutting down CharServer.."); Serv.Shutdown(); } Environment.Exit(0); }
public override void Run() { Console.Title = "DBO Auth Server"; if (!this.Listen(AuthConfig.Instance.BindIP, AuthConfig.Instance.Port)) { return; } SysCons.LogInfo("AuthServer is listening on {0}:{1}...", AuthConfig.Instance.BindIP, AuthConfig.Instance.Port); }
public override void Run() { Console.Title = "DBO Community Server"; if (!this.Listen(CommConfig.Instance.BindIP, CommConfig.Instance.Port)) { return; } SysCons.LogInfo("CommunityServer is listening on {0}:{1}...", CommConfig.Instance.BindIP, CommConfig.Instance.Port); }
internal void SendCharacterExit(byte[] data) { SysCons.LogInfo("UC_CHARACTER_EXIT_REQ disconnected client"); Packet sPkt = new Packet(); sPkt.Opcode = (ushort)PacketOpcodes.CU_CHARACTER_EXIT_RES; sPkt.BuildPacket(); this.Client.Send(sPkt.Data); }
private void AuthServ_OnConnect(object sender, ClientEventArgs e) { SysCons.LogInfo("Client connected: {0}", e.Client.ToString()); e.Client.User = new AuthClient(e.Client); byte[] rawData = { 0x06, 0x00, 0x03, 0x00, 0x30, 0x2C, 0x67, 0x4C }; if (e.Client.IsConnected) { e.Client.Send(rawData); } }
internal void AuthKeyForCommunityServer(byte[] data) { //GU_AUTH_KEY_FOR_COMMUNITY_SERVER_RES SysCons.LogInfo("GU_AUTH_KEY_FOR_COMMUNITY_SERVER_RES"); GU_AUTH_KEY_FOR_COMMUNITY_SERVER_RES oPkt = new GU_AUTH_KEY_FOR_COMMUNITY_SERVER_RES(); oPkt.ResultCode = 500; oPkt.AuthKey = Encoding.ASCII.GetBytes("SE@WASDE#$RFWD@D"); oPkt.BuildPacket(); this.Client.Send(oPkt.Data); }
public void SendLoginResponse(byte[] data) { UC_LOGIN_REQ iPkt = new UC_LOGIN_REQ(); iPkt.SetData(data); SysCons.LogInfo("UC_LOGIN_REQ AccountID({0}) LastServerID({1})", iPkt.AccountID, iPkt.ServerID); CU_LOGIN_RES oPkt = new CU_LOGIN_RES(); oPkt.LastServerID = iPkt.ServerID; oPkt.BuildPacket(); this.Client.Send(oPkt.Data); }
public static bool StopAuth() { if (AuthServ == null) { return(false); } SysCons.LogInfo("Stopping AuthServer.."); AuthServ.Shutdown(); AuthServThread.Abort(); AuthServ = null; return(true); }
public static bool StopServer() { if (Serv == null) { return(false); } SysCons.LogInfo("Stopping CharServer.."); Serv.Shutdown(); LobbyServerThread.Abort(); Serv = null; return(true); }
internal void SendWaitCheck(byte[] data) { UC_CONNECT_WAIT_CHECK_REQ iPkt = new UC_CONNECT_WAIT_CHECK_REQ(); iPkt.SetData(data); SysCons.LogInfo("UC_CONNECT_WAIT_CHECK_REQ ServerChannelIndex({0})", iPkt.byServerChannelIndex); CU_CONNECT_WAIT_CHECK_RES oPkt = new CU_CONNECT_WAIT_CHECK_RES(); oPkt.BuildPacket(); this.Client.Send(oPkt.Data); CU_CONNECT_WAIT_COUNT_NFY o2Pkt = new CU_CONNECT_WAIT_COUNT_NFY(); o2Pkt.BuildPacket(); this.Client.Send(o2Pkt.Data); }
public void SendDisconnect(byte[] data) { var iPkt = new UC_CHARACTER_EXIT_REQ(); iPkt.SetData(data); SysCons.LogInfo("UC_CHARACTER_EXIT_REQ IsGameMove({0})", iPkt.IsGameMove); using (var oPkt = new CU_CHARACTER_EXIT_RES()) { oPkt.ResultCode = (ushort)ResultCodes.CHARACTER_SUCCESS; oPkt.BuildPacket(); Client.Send(oPkt.Data); } }
public void SendConnectWaitCancelResult(byte[] data) { var iPkt = new UC_CONNECT_WAIT_CANCEL_REQ(); iPkt.SetData(data); SysCons.LogInfo("UC_CONNECT_WAIT_CANCEL_REQ ChannelID({0})", iPkt.ChannelID); ChannelID = iPkt.ChannelID; using (var oPkt = new CU_CONNECT_WAIT_CANCEL_RES()) { oPkt.ResultCode = (ushort)ResultCodes.CHARACTER_SUCCESS; oPkt.BuildPacket(); Client.Send(oPkt.Data); } }
public void SendCharacterCreate(byte[] data) { var iPkt = new UC_CHARACTER_ADD_REQ(); iPkt.SetData(data); SysCons.LogInfo( "UC_CHARACTER_ADD_REQ Name({0}) Race({1}) Class({2}) Gender({3}) Face({4}) Hair({5}) HairColor({6}) SkinColor({7}) Blood({8})", iPkt.Name, ((CharRaces)iPkt.Race).ToString(), ((CharClasses)iPkt.Class).ToString(), ((CharGenders)iPkt.Gender).ToString(), iPkt.Face, iPkt.Hair, iPkt.HairColor, iPkt.SkinColor, iPkt.Blood ); }
public void SendLoginResponse(byte[] data) { var iPkt = new UC_LOGIN_REQ(); iPkt.SetData(data); SysCons.LogInfo("UC_LOGIN_REQ AuthKey({0}) AccountID({1}) LastServerID({2})", iPkt.AuthKey, iPkt.AccountID, iPkt.ServerID); AccountID = iPkt.AccountID; ServerID = iPkt.ServerID; AuthKey = iPkt.AuthKey; using (var oPkt = new CU_LOGIN_RES()) { oPkt.LastServerID = ServerID; oPkt.BuildPacket(); Client.Send(oPkt.Data); } }
internal void SendCharacterSelect(byte[] data) { UC_CHARACTER_SELECT_REQ iPkt = new UC_CHARACTER_SELECT_REQ(); iPkt.SetData(data); SysCons.LogInfo("UC_CHARACTER_SELECT_REQ charId({0}) ServerChannelIndex({1})", iPkt.charId, iPkt.byServerChannelIndex); CU_CHARACTER_SELECT_RES sPkt = new CU_CHARACTER_SELECT_RES(); sPkt.szGameServerIP = Encoding.ASCII.GetBytes("127.0.0.1"); sPkt.wGameServerPortForClient = 50400; SysCons.LogInfo("CU_CHARACTER_SELECT_RES IPAddress({0}) Port({1})", sPkt.szGameServerIP, sPkt.wGameServerPortForClient); sPkt.AuthKey = Encoding.ASCII.GetBytes("SE@WASDE#$RFWD@D"); sPkt.ResultCode = 200; // connecting to GameServer sPkt.BuildPacket(); this.Client.Send(sPkt.Data); }
public void SendCharacterSelectResult(byte[] data) { var iPkt = new UC_CHARACTER_SELECT_REQ(); iPkt.SetData(data); SysCons.LogInfo("UC_CHARACTER_SELECT_REQ ServerID({0}) CharID({1})", iPkt.ServerID, iPkt.CharID); ServerID = iPkt.ServerID; CharID = iPkt.CharID; using (var oPkt = new CU_CHARACTER_SELECT_RES()) { oPkt.ResultCode = (ushort)ResultCodes.CHARACTER_SUCCESS; oPkt.CharID = CharID; oPkt.AuthKey = AuthKey; oPkt.GameServerIP = CharConfig.Instance.GetGameServerIP(ServerID, ChannelID); oPkt.GameServerPort = CharConfig.Instance.GetGameServerPort(ServerID, ChannelID); oPkt.BuildPacket(); Client.Send(oPkt.Data); } }
public void SendGameEnterResult(byte[] data) { var iPkt = new UG_GAME_ENTER_REQ(); iPkt.SetData(data); SysCons.LogInfo("UG_GAME_ENTER_REQ AccountID({0}) CharID({1}) AuthKey({2}) IsTutorialMode({3})", iPkt.AccountID, iPkt.CharID, iPkt.AuthKey, iPkt.IsTutorialMode); AccountID = iPkt.AccountID; CharID = iPkt.CharID; AuthKey = iPkt.AuthKey; using (var oPkt = new GU_GAME_ENTER_RES()) { oPkt.ResultCode = (ushort)ResultCodes.GAME_SUCCESS; oPkt.CommunityServerIP = GameConfig.Instance.CommunityServerIP; oPkt.CommunityServerPort = GameConfig.Instance.CommunityServerPort; oPkt.GameEnterTime = Utils.GetTimestamp(DateTime.Now); oPkt.BuildPacket(); Client.Send(oPkt.Data); SysCons.SavePacket(oPkt); } }
internal void SendCharacterAdd(byte[] data) { //TO DO UC_CHARACTER_ADD_REQ SysCons.LogInfo("UC_CHARACTER_ADD_REQ"); UC_CHARACTER_ADD_REQ iPkt = new UC_CHARACTER_ADD_REQ(); iPkt.SetData(data); SysCons.LogInfo( "UC_CHARACTER_ADD_REQ Name({0}) Race({1}) Class({2}) Gender({3}) Face({4}) Hair({5}) HairColor({6}) SkinColor({7}) Blood({8})", iPkt.Name, ((CharRaces)iPkt.Race).ToString(), ((CharClasses)iPkt.Class).ToString(), ((CharGenders)iPkt.Gender).ToString(), iPkt.Face, iPkt.Hair, iPkt.HairColor, iPkt.SkinColor, iPkt.Blood ); //dlaczego wczesniej bylo var ? CU_CHARACTER_ADD_RES oPkt = new CU_CHARACTER_ADD_RES(); oPkt.ResultCode = (ushort)CharDB.InsertCharacter(this.AccountID, this.ServerID, iPkt.Name, iPkt.Race, iPkt.Class, iPkt.Gender, iPkt.Face, iPkt.Hair, iPkt.HairColor, iPkt.SkinColor); oPkt.charID = 1; oPkt.Name = iPkt.Name; oPkt.Race = iPkt.Race; oPkt.Class = iPkt.Class; oPkt.Gender = iPkt.Gender; oPkt.Face = iPkt.Face; oPkt.Hair = iPkt.Hair; oPkt.Gender = iPkt.Gender; oPkt.HairColor = iPkt.HairColor; oPkt.SkinColor = iPkt.SkinColor; oPkt.worldTblidx = 1; oPkt.worldId = 1; oPkt.BuildPacket(); this.Client.Send(oPkt.Data); }
public void SendCharacterCreate(byte[] data) { var iPkt = new UC_CHARACTER_ADD_REQ(); iPkt.SetData(data); SysCons.LogInfo( "UC_CHARACTER_ADD_REQ Name({0}) Race({1}) Class({2}) Gender({3})", iPkt.Name, ((CharRaces)iPkt.Race).ToString(), ((CharClasses)iPkt.Class).ToString(), ((CharGenders)iPkt.Gender).ToString() ); using (var oPkt = new CU_CHARACTER_ADD_RES()) { oPkt.ResultCode = (ushort)ResultCodes.CHARACTER_SUCCESS; oPkt.CharID = (uint)(new Random().Next()); oPkt.Race = iPkt.Race; oPkt.Class = iPkt.Class; oPkt.Gender = iPkt.Gender; oPkt.Name = iPkt.Name; oPkt.Face = iPkt.Face; oPkt.Hair = iPkt.Hair; oPkt.HairColor = iPkt.HairColor; oPkt.SkinColor = iPkt.SkinColor; oPkt.Level = 1; oPkt.WorldId = 1; oPkt.WorldTblIndex = 1; oPkt.PositionX = 2902.0f; oPkt.PositionY = 0.0f; oPkt.PositionZ = -2370.0f; oPkt.Zenny = 0; oPkt.ZennyBank = 0; oPkt.BuildCharEquipaments(oPkt.CharID); oPkt.BuildPacket(); Client.Send(oPkt.Data); } }
public void SendCharacterCreate(byte[] data) { var iPkt = new UC_CHARACTER_ADD_REQ(); iPkt.SetData(data); SysCons.LogInfo( "UC_CHARACTER_ADD_REQ Name({0}) Race({1}) Class({2}) Gender({3}) Face({4}) Hair({5}) HairColor({6}) SkinColor({7}) Blood({8})", iPkt.Name, ((CharRaces)iPkt.Race).ToString(), ((CharClasses)iPkt.Class).ToString(), ((CharGenders)iPkt.Gender).ToString(), iPkt.Face, iPkt.Hair, iPkt.HairColor, iPkt.SkinColor, iPkt.Blood ); var oPkt = new CU_CHARACTER_ADD_RES(); oPkt.ResultCode = (ushort)ResultCodes.CHARACTER_SAMENAME_EXIST; oPkt.BuildPacket(); this.Client.Send(oPkt.Data); }
private void LobbyServer_OnDisconnect(object sender, ClientEventArgs e) { CharClient client = ((CharClient)e.Client.User); SysCons.LogInfo("Client disconnected: {0}", e.Client.ToString()); }
private void AuthServ_OnDisconnect(object sender, ClientEventArgs e) { AuthClient client = ((AuthClient)e.Client.User); SysCons.LogInfo("Client disconnected: {0}", e.Client.ToString()); }