Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
            }
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
 public static void Shutdown()
 {
     if (Serv != null)
     {
         SysCons.LogInfo("Shutting down CharServer..");
         Serv.Shutdown();
     }
     Environment.Exit(0);
 }
Ejemplo n.º 10
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);
 }
Ejemplo n.º 11
0
 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);
 }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
 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);
     }
 }
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
0
        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);
        }
Ejemplo n.º 16
0
        public static bool StopAuth()
        {
            if (AuthServ == null)
            {
                return(false);
            }

            SysCons.LogInfo("Stopping AuthServer..");
            AuthServ.Shutdown();
            AuthServThread.Abort();
            AuthServ = null;

            return(true);
        }
Ejemplo n.º 17
0
        public static bool StopServer()
        {
            if (Serv == null)
            {
                return(false);
            }

            SysCons.LogInfo("Stopping CharServer..");
            Serv.Shutdown();
            LobbyServerThread.Abort();
            Serv = null;

            return(true);
        }
Ejemplo n.º 18
0
        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);
        }
Ejemplo n.º 19
0
        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);
            }
        }
Ejemplo n.º 20
0
        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);
            }
        }
Ejemplo n.º 21
0
        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
                );
        }
Ejemplo n.º 22
0
        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);
            }
        }
Ejemplo n.º 23
0
        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);
        }
Ejemplo n.º 24
0
        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);
            }
        }
Ejemplo n.º 25
0
        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);
            }
        }
Ejemplo n.º 26
0
        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);
        }
Ejemplo n.º 27
0
        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);
            }
        }
Ejemplo n.º 28
0
        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);
        }
Ejemplo n.º 29
0
        private void LobbyServer_OnDisconnect(object sender, ClientEventArgs e)
        {
            CharClient client = ((CharClient)e.Client.User);

            SysCons.LogInfo("Client disconnected: {0}", e.Client.ToString());
        }
Ejemplo n.º 30
0
        private void AuthServ_OnDisconnect(object sender, ClientEventArgs e)
        {
            AuthClient client = ((AuthClient)e.Client.User);

            SysCons.LogInfo("Client disconnected: {0}", e.Client.ToString());
        }