UPDATE: We fixed the issue, thanks to the support from a helpful user that posted below here. My apologies to md_5 if he took this post the wrong way - I absolutely love Spigot and the work that goes into it, and I misunderstood the update log as being a complete removal of the Ping Packet. I'm a huge advocate of standardization, and it rustled my jimmies without understanding the full story.
The original text is available below for historical purposes.
-P
The original text is available below for historical purposes.
Click to reveal
Hi guys.
This is a half-rant and a half-announcement, so bare with me while I try to explain this in the most objective way possible. This is a tough one from a developer's point of view, and I could be missing some piece of info that would make this all make sense (if so, please reply and help me out), but I need to explain something to Spigot server owners.
You will run into problems pinging your server - which, of course, is going to prevent you posting your server at all on PMC. No, we haven't "removed" support for Spigot servers - it seems the creator of Spigot has decided to do this for you, indirectly. While I do support the fact that Spigot is encouraging use of the Query interface to ping servers, I don't support removing standards from a protocol that every Minecraft server is required to implement. This isn't really a good thing to do, from a design perspective, as if you are going to implement an interface you should implement -all- of the required portions of the interface. The Server List Ping packet has not been declared deprecated, and it just doesn't make sense as to why it should be deprecated just yet.
The problem lies with the fact that non-Spigot servers have the Query system disabled by default - which implies that it is an optional component. It doesn't make sense from the perspective of PMC to rely on an optional component to ping a server. It also doesn't make sense to have to wait for a UDP response (essentially doubling the timeout time between server pings) before trying the Server List ping again, or vice versa (waiting for TCP connectivity, finding the packet being rejected, then disconnecting and re-connecting via UDP to grab the info).
In our efforts to support all Minecraft servers (please note: in the context of this site, a Minecraft server is a server that implements the Minecraft protocol. By removing one or more of the required interfaces for communication, you are not running a Minecraft server any more) we use the simplest and most effective method of pinging: Server List Ping.
I await the day that it is officially deprecated from Minecraft to finally switch over to the shiny Query system which I love so much, but again, from our perspective, using the Server List Ping method is the most effective right now, so we can't really do anything at the moment about Spigot servers not pinging. Sorry.
This is a half-rant and a half-announcement, so bare with me while I try to explain this in the most objective way possible. This is a tough one from a developer's point of view, and I could be missing some piece of info that would make this all make sense (if so, please reply and help me out), but I need to explain something to Spigot server owners.
You will run into problems pinging your server - which, of course, is going to prevent you posting your server at all on PMC. No, we haven't "removed" support for Spigot servers - it seems the creator of Spigot has decided to do this for you, indirectly. While I do support the fact that Spigot is encouraging use of the Query interface to ping servers, I don't support removing standards from a protocol that every Minecraft server is required to implement. This isn't really a good thing to do, from a design perspective, as if you are going to implement an interface you should implement -all- of the required portions of the interface. The Server List Ping packet has not been declared deprecated, and it just doesn't make sense as to why it should be deprecated just yet.
The problem lies with the fact that non-Spigot servers have the Query system disabled by default - which implies that it is an optional component. It doesn't make sense from the perspective of PMC to rely on an optional component to ping a server. It also doesn't make sense to have to wait for a UDP response (essentially doubling the timeout time between server pings) before trying the Server List ping again, or vice versa (waiting for TCP connectivity, finding the packet being rejected, then disconnecting and re-connecting via UDP to grab the info).
In our efforts to support all Minecraft servers (please note: in the context of this site, a Minecraft server is a server that implements the Minecraft protocol. By removing one or more of the required interfaces for communication, you are not running a Minecraft server any more) we use the simplest and most effective method of pinging: Server List Ping.
I await the day that it is officially deprecated from Minecraft to finally switch over to the shiny Query system which I love so much, but again, from our perspective, using the Server List Ping method is the most effective right now, so we can't really do anything at the moment about Spigot servers not pinging. Sorry.
-P
Create an account or sign in to comment.
16
1
XZ0mbieXKi11erX:( Guys my world crashes as soon as i login i cant even do nothing ex. spawn in boom crash lol i was using world edit building my town and i actidently replace 6000 blocks with redstone repeaters so it crashes as soon as i get on. if anyone nows how to fix it and delete the items because i cant type or do nothing on my world and its annoying i can go to %appdata% but i dont know if that will help or not lol PLEASE HELP ME
Fix that with mcedit, put the world into a zip folder and then delete it with mcedit.
Also don't post about that here, make a new thread.
1
Guys my world crashes as soon as i login i cant even do nothing ex. spawn in boom crash lol i was using world edit building my town and i actidently replace 6000 blocks with redstone repeaters so it crashes as soon as i get on. if anyone nows how to fix it and delete the items because i cant type or do nothing on my world and its annoying i can go to %appdata% but i dont know if that will help or not lol PLEASE HELP ME
1
Is there a way to have an option for PMC to use a query system in place. The minecraft forums uses it and I think it would be cool is PMC uses it also this is just a thought.
1
Planet Minecraft owns Spigot?
1
Noooooooo.
1
thank god its not. if it was, we'd all be screwed.
1
Yer' a spigot, Harry.
1
This... I like this.. Very much..
Glad there's no issue with Spigot, I've been thinking about switching.
Glad there's no issue with Spigot, I've been thinking about switching.
1
Thanks, we've updated our ping script to send the x01 payload.
1
Funny.
I run Spigot and have had no issues with server list pinging. :3
Also, what OP failed to mention is that the mentioned Spigot builds are entirely optional and are considered to be very alpha due to some core changes to the Minecraft server network interface.
I run Spigot and have had no issues with server list pinging. :3
Also, what OP failed to mention is that the mentioned Spigot builds are entirely optional and are considered to be very alpha due to some core changes to the Minecraft server network interface.
1
I understand it's optional, but it -is- backwards compatible regardless. I misunderstood what md_5 meant by removing "legacy support" and what I had seen from the patch files.
Anyways, we are now using the 1.3+ ping packet. Thanks to cajs for clearing that up for us.
-P
Anyways, we are now using the 1.3+ ping packet. Thanks to cajs for clearing that up for us.
-P
1
That sucks. No pinging anymore!
1
Ah, so that's what I'm missing. I had went over the patch files and made the assumption that it was removed entirely. The Minecraft protocol site doesn't outline this particular instance, that must be why I'm confused.
We'll make the necessary changes soon.
-P
We'll make the necessary changes soon.
-P
1
Here's some more details from the dev:
My best guess at what's wrong is that you aren't sending the 0x01 byte payload that 1.3+ clients have been sending along with the server list ping packet id in order to get a newer format response back. Here's a quick python script I wrote which does that while remaining backward and forwards compatible with both above 1.3 and below 1.3 versions. https://gist.github.com/ammaraskar/4762725 Here it is in action on the latest spigot build downloaded from ci.md-5.net:
>python ping.py localhost
Pinging localhost:25565
{'protocol_version': 51, 'max_players': 20, 'motd': u'A Minecraft Server', 'minecraft_version': u'1.4.7', 'players': 0}
I presume at the moment you're not sending the payload and hence always expect to get the old format which is a reasonable assumption but the ping packet has hardly been removed, that would be simply plain silly. If you need any more details feel free to contact me over irc.
My best guess at what's wrong is that you aren't sending the 0x01 byte payload that 1.3+ clients have been sending along with the server list ping packet id in order to get a newer format response back. Here's a quick python script I wrote which does that while remaining backward and forwards compatible with both above 1.3 and below 1.3 versions. https://gist.github.com/ammaraskar/4762725 Here it is in action on the latest spigot build downloaded from ci.md-5.net:
>python ping.py localhost
Pinging localhost:25565
{'protocol_version': 51, 'max_players': 20, 'motd': u'A Minecraft Server', 'minecraft_version': u'1.4.7', 'players': 0}
I presume at the moment you're not sending the payload and hence always expect to get the old format which is a reasonable assumption but the ping packet has hardly been removed, that would be simply plain silly. If you need any more details feel free to contact me over irc.
1
Hey there, I'm making this post on behalf of a spigot developer. He'd like to talk to you on irc to clear this up (irc.esper.net #spigot) According to him the ping packet has not been removed in any way, there is but a minor change to it in the experimental netty branch that shouldn't really affect you.
1
tldr, for those of us who don't understand all them fancy words: Server List ping is the standard pinging thingy Minecraft servers use, so we use that to ping servers. Query is nice but it is not enabled by default on servers, so we don't use it. For some unknown reason the creator of Spigot does not support the standard pinging thingy (Server List) therefore we cannot ping those servers. Like I said before, Server List is standard for Minecraft servers to use, so it's odd that he (the creator) does not use it. Because of that the issue currently rests on him, there's nothing we can easily do about it.