P-server login Packets

09/09/2014 15:09 cane3#1
hi man, login packets for p-server is?

LOGIN|UID|SID|CV is old and not work :(
thx for help :D
09/09/2014 15:48 Uther#2
Here is a snippet from my Private Server Bot should help you.
Code:
    public void handleGameServerConnect()
        {
            List<string> loginDetails = new List<string>() { Main.Hero.userID.ToString(), Main.Hero.sessionID, Main.version };
            if (!(Main.Hero.factionID == 0) && Settings.mapID == 255)
            {
                loginDetails.Add(Main.Hero.factionID.ToString());
            }
            Packet LoginPacket = new Packet(ClientCommands.LOGIN, loginDetails.ToArray());
            this.sendCommand(LoginPacket);
        }
09/09/2014 15:57 th0rex#3
Snippet from my PServer bot
Code:
        m_pyGlobal["Client"] = bp::object(bp::ptr(m_pSendWrapper));

	m_pyGlobal["Initialize"](userId, m_sessionId, "4.1");

	std::string login = "LOGIN|" + std::to_string(m_userId) + "|" + m_sessionId + "|4.1";

	pClient->Send(login);
That does work for 4.1 Clients/Servers.
09/09/2014 16:42 'Heaven.#4
Snipped from my Privateserverbot

Code:
var packet = new Packet(New PacketFactory(ClientCommands.LOGIN,Hero.UserID,Hero.SessionID,ClientVersion));
_socket.Send(packet.Serialize().ToByteArray());
:facepalm:

Its just LOGIN|UserID|SessionID|Clientversion

Cientversion should be 4.1
09/09/2014 16:53 Uther#5
Haha who's next ? :D
09/09/2014 16:56 cryz35#6
A quote from my Darkorbit Server which might help you;
Code:
 
		if(packet[0] == ServerCommands.LOGIN)
		{
			if(Server.GetClientVersion() != packet[3])
			return;
			
			UserId = int.Parse(packet[1]);
			SessionId = packet[2];
			...
		}
09/09/2014 17:10 Diаmonds#7
Simple snippet from a great guy

Code:
static void Start()
        {
            m_gameProxy = new GameProxy<DarkorbitProtocol, DarkorbitPacket, NoEncryption>();

            GlobalObjects.RegisterClassInstance(m_gameProxy);

            m_gameProxy.SetEncoding(Encoding.UTF8);

            m_gameProxy.ServerNotFound += m_gameProxy_ServerNotFound;
            m_gameProxy.ServerError += m_gameProxy_ServerError;
            m_gameProxy.ClientError += m_gameProxy_ClientError;

            m_gameProxy.DispatchClientPacket += m_gameProxy_DispatchClientPacket;
            m_gameProxy.DispatchServerPacket += m_gameProxy_DispatchServerPacket;
            m_gameProxy.Start(IPAddress.Parse("37.187.179.147"), 8080);
            IPacket loginPacket = new DarkorbitPacket(new Buffer("LOGIN|" + m_userId + "|" + m_sessionId + "|4.1", Encoding.UTF8));
            m_gameProxy.SendPacket(loginPacket, ESendDirection.ClientToServer);
        }
09/09/2014 18:47 UND3RW0RLD#8
PHP Code:
if (substr($packet05) == "LOGIN") {
            
self::uLogin($packet);
        } 
PHP Code:
private function uLogin($packet) {
        
$s explode("|"$packet);
        
$w self::SQLexe('SELECT * FROM server_1_players INNER JOIN users ON users.ID=server_1_players.userID WHERE server_1_players.tokenId=' $s[2] . ' && server_1_players.playerID=' $s[1] . '');
        if (!empty(
$w)) { 

Snippet by Bau for login on p-server ^^
:D