Jump to content
  • Advertisement

8artek0v0

Member
  • Content Count

    5
  • Joined

  • Last visited

Community Reputation

127 Neutral

About 8artek0v0

  • Rank
    Newbie

Personal Information

  • Interests
    |programmer|
  1. The last parameter for "Send" method: RakNet::BitStream bsOut; bsOut.Write( (RakNet::MessageID) gameState ); peer->Send( &bsOut, HIGH_PRIORITY, RELIABLE_ORDERED, 0, RakNet::UNASSIGNED_SYSTEM_ADDRESS, true ); which you've set to "true" tells the peer to broadcast. So your server sends gameState to every connected client. If you want to send it only to particular one you should set it to "false" and instead of passing "RakNet::UNASSIGNED_SYSTEM_ADDRESS" just pass desired system identifier.   Now about question why client knows all this stuff: struct Packet { /// The system that send this packet. SystemAddress systemAddress; /// A unique identifier for the system that sent this packet, regardless of IP address (internal / external / remote system) /// Only valid once a connection has been established (ID_CONNECTION_REQUEST_ACCEPTED, or ID_NEW_INCOMING_CONNECTION) /// Until that time, will be UNASSIGNED_RAKNET_GUID RakNetGUID guid; /// The length of the data in bytes unsigned int length; /// The length of the data in bits BitSize_t bitSize; /// The data from the sender unsigned char* data; } // Namespace When the other end receives a packet from TCP or UDP protocol (raknet is based on UDP), it immediately knows the IP address and port (systemAddress) of a sender. This is just how UDP/TCP protocol was designed. You never send just pure data. Everything is hidden from you to make things easier. Even RakNet has it's own "ReliabilityLayer" that encapsulates your data. That extra overhead added to your packet contains information about its reliability, data length of your "gameState" etc. RakNet then passes this packet to "Transport Layer" (UDP) and it adds even more data to the packet, so the receiver can know sender ip address and port. https://en.wikipedia.org/wiki/Encapsulation_(networking) https://en.wikipedia.org/wiki/OSI_model https://en.wikipedia.org/wiki/User_Datagram_Protocol   When your client receives a packet it just "decapsulates" and reads extra information so it can feed "Packet" structure. That's all story.
  2. 8artek0v0

    RakNet vulnerabilities

    No problem
  3. 8artek0v0

    RakNet vulnerabilities

    Maybe I'm misunderstanding. The linked bug is 3 days old and seems to indicate that there is no fix available and that your two-year-old patch "didn't fix it." No, their patch didn't solve the issue (they just mentioned me in the commit). I've pointed this out (2 years ago) through e-mail conversation.
  4. 8artek0v0

    RakNet vulnerabilities

    Well, I thought 2 years was enough...
  5. If you are using RakNet for your networking then your servers may be vulnerable to this DoS attack: https://github.com/OculusVR/RakNet/issues/102 Please consider fixing it by yourself or wait for official fix (it may not happen).
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!