Skip to content

Erratic Player Banning behaviour #628

@AGraber

Description

@AGraber

The way that open.mp handles disconnections when banning players is erratic because it relies on RakServer notifying the disconnection rather than having the Ban functions themselves somehow signal it. When a Kick is done, and the server signals the disconnection, the player also signals the disconnection back to the server after getting kicked, which leads to, in practice, almost instantaneous kicking.

It would appear that when banning, this can't happen because the server will block information from Kicked players, and as such, some kind of acknowledging won't happen immediately, and instead, the disconnect will only happen after it eventually timeouts from not responding anymore (because the ban filters out his packets).

The original SA-MP logic shows that, when Kicking/Banning players, the function in charge of doing so from the SA-MP server code merely tells RakNet to kick the player, and does not rely on RakNet to signal the disconnection back, but rather it proactively deletes the player from the player pool itself right after that function call via a direct function call with the reason being 2 (kicked/banned).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions