Cuberite Forum
Proposal: MCServer signature - Printable Version

+- Cuberite Forum (https://forum.cuberite.org)
+-- Forum: Cuberite (https://forum.cuberite.org/forum-4.html)
+--- Forum: Development (https://forum.cuberite.org/forum-13.html)
+--- Thread: Proposal: MCServer signature (/thread-1909.html)



Proposal: MCServer signature - LogicParrot - 05-05-2015

I'm currently maintaining the active server list, and I have to rely on (secretTongue) network poking to guess if the server is an MCServer or not, these rely on bugs that'll eventually be fixed, when that happens, I'll no longer be able to tell if it's an MCServer or not unless I manually log in and test things. So here are the possible ways to overcome this:
  • Have a simple "non standard" simple, raw tcp procedure which would allow MCServer to be identified. e.g.
    Code:
    <tcp stream>
    Client: WHO_ARE_YOU
    Server: MCServer
    <Connection closed by server>
    The merit of a raw TCP connection is that it allows dumb clients, such as my bash script, to identify MCServer with ease.
  • A server command which only spits "MCSERVER". This would mean that I'll have to find a Linux Minecraft Bot and is kind of inconvenient in comparison to the first one, also, I do not have an authenticated Minecraft account right now, so I won't be able to log in at all to some servers.



RE: Proposal: MCServer signature - LogicParrot - 05-05-2015

3: Trust the guys who submit servers to be not lying. (Works as long as we don't have that many users, won't work later)


RE: Proposal: MCServer signature - jan64 - 05-05-2015

Given that the new protocol versions use json for encoding the server info, i believe the simplest way would be to add a custom field there
(Forge already does something similar).
http://wiki.vg/Server_List_Ping


RE: Proposal: MCServer signature - NiLSPACE - 05-05-2015

Spigot also does something like that. If you don't have the proper MC version it says "Spigit <right version>"
[Image: c79e8216ca.png]


RE: Proposal: MCServer signature - jan64 - 05-05-2015

Seems like the protocol name isn't used anywhere except for the visual part, so this could be as easy as replacing all
Version["name"] values with MCServer 1.* in HandlePacketStatusRequest function for each protocol.

EDIT: I submitted a PR with this change ( https://github.com/mc-server/MCServer/pull/1938 )


RE: Proposal: MCServer signature - LogicParrot - 05-05-2015

I think I can tap into that value via a script easily, I'll test it once this is merged. Thanks!


RE: Proposal: MCServer signature - tigerw - 05-05-2015

Ooh, secret identification techniques!