[ADMIN] MCSignOnDoor 1.9 - So Your Server Can Say "Gone Fishin' Back in Five!"

Discussion in 'Bukkit Tools' started by tustin2121, Mar 16, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    Vincs

    tustin2121 likes this.
  2. Offline

    letmedl

    Hello,
    since 1.5 it seems that Minecraft does not allow to connect to a server with MCsignondoor.
    So there is no possibility to start the server with just connecting.
    Is there any workaround?
     
  3. Offline

    tustin2121

    It is possible that with 1.5 they removed the dodge around the encryption system that McSod was using.

    I have been out of the minecraft loop for a while now, and only recently got back into it but with mods (IC2/Buildcraft). So I have been avoiding upgrading to 1.5 thus far. I will have to look into it when I get the time next. Those who are experiencing issues please tell me in detail what you see, including anything McSod outputs. According to the MC protocol wiki, the protocol is at version 60 now (sheesh!) so see if updating that will help. Please refer to the FAQ on the original post to remember how to do that.
     
  4. Offline

    krabbso

    ok here is what i see:
    if i ping the server it shows me offline in minecraft. and if i try to connect directly mcsigndoor shows me this

    2013-03-19 15:02:02 McSod [INFO]: Client with unknown version (60) of Handshake Protocol attempting login! Printing raw data:

    2 3C 0 7 0 6B 0 72 0 61 0 62 0 62 0 73 0 6F 0 9 0 6B 0 72 0 61 0 62 0 62 0 73 0 2E 0 64 0 65 0 0 63 DD 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    Readable items: 107 114 97 98 98 115 111 107 114 97 98 98 115 100 101 99


    thx for keeping this one up to date!
     
  5. Offline

    tustin2121

    Hm... this seems normal for an update...

    I just realized it really easy for me to update these things - no code change at all. So try this.

    EDIT: Wait, I lied, there is code to be changed... sigh...
     
    krabbso likes this.
  6. Offline

    Vikingboy9

    I don't know if this question has been asked/answered before, but I thought, based on OP's activity, this would be quicker:

    McSod can't bind to my port 25565. I'm running a different server, too, but it's Bukkit, and located in a different folder. but it's bound to a different port. McSod says:

    [SEVERE]: Cannot bind to port 25565.
    [SEVERE]: Make sure the Minecraft server is not still running and no other instances of MCSignOnDoor are running!
     
  7. Offline

    tustin2121

    In theory, I receive an email for every post that goes on this thread, so if you ask it, I will answer (usually assuming someone hasn't answered for me already). (Please note: answering questions takes a LOT less time than fixing code, given my schedule these days.)

    As for your actual question: if you receive that error, something is already using port 25565. It doesn't necessarily have to be Minecraft, or even a Java program. The message about making sure Minecraft or McSod aren't running (and "Minecraft server" DOES include Bukkit, btw) is because those are usually the culprits of this error (Believe me, I run into that situation more than enough while testing McSod). But it could be any program. (Granted, 25565 is the official minecraft server port, so its likely to be minecraft related).

    First, make certain that that other bukkit server you are running IS actually attached to a different port. If possible, shut it down and see if you can't start McSod then. Do remember that being in a different folder on your filesystem has nothing to do with connecting to ports going to the internet.

    After that, I would suggest, assuming it is possible, starting your machine clean and trying it. If that's not possible, go through your list of running processes and see if, indeed, there isn't a MC server or McSod stuck running already or something. I would give you more specific instructions, but I don't know what architecture you're running (ie, linux, windows, mac, local machine, remote service, etc).

    Also, do note that McSod does have the -p command line switch to change the port in the event where you can't find it. Does that help?
     
  8. Offline

    krabbso

    2 3C 0 7 0 6B 0 72 0 61 0 62 0 62 0 73 0 6F 0 9 0 31 0 32 0 37 0 2E 0 30 0 2E 0 30 0 2E 0 31 0 0 63 DD 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    Readable items: 107 114 97 98 98 115 111 49 50 55 48 48 49 99
    Feel free to give tustin2121 this information on the bukkit thread. :)



    looks like its the same handshake in new 1.5.1 minecraft!

    looking forward for your new update
     
  9. Offline

    tustin2121

    So, um... hi. I just got back from a lovely thread about Eloraam's RedPower and how she hasn't updated in months and all that, and I realized that I haven't updated this yet, even though I did some work and all on it. Heh. It hasn't been tested yet, so I'll be doing that shortly. I installed this lovely thing called MultiMC which now allows me to have multiple instances of minecraft with different mods each on them (I've been playing with all sorts of interesting mods). But, now I can have a "current" MC installation while still playing with mods. So...

    Updates shortly! (Barring Easter things happening)

    Version 1.9 (Download):
    - Changed the way protocols are handled, so now with a new protocol version, McSod will just assume everything works from the previous protocol version.
    - The current protocol version will still need to be updated for the server to not show as out of date or "offline" to a prospective client's server listing.
    - Fixed a bug with logging exceptions not printing the stack trace
    - Made the project harder to debug in eclipse, but at the same time made it so I won't have to actually use eclipse as much.
    ** Edit: Additionally, McSod will work perfectly fine for the weekly dev builds now with no change needed! The only side effect is that the server may be marked as "offline" or out of date in the server list. But it will still function!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 12, 2016
  10. Offline

    Brian_Entei

    Will there ever be a way to have the motd colored? I love your program, but I'd really like to have my motd in color when it's offline! Thanks,

    --Brian_Entei
     
  11. Offline

    tustin2121

    No, it is not possible because, if I remember correctly, Minecraft uses the same character to signify a color change as it does to separate the MOTD message from the online and max player numbers. If it could have been done, I would have added it when I added colors. Sorry. :/
     
  12. Offline

    Brian_Entei

    Ah, well, thanks anyway. Also, can you tell me what this is?
    Code:
    2013-04-14 16:33:23 McSod [INFO]: Received connection from 67.43.7.19
    2013-04-14 16:33:23 McSod [SEVERE]: IOException while processing client!
    java.net.SocketException: Connection reset
            at java.net.SocketInputStream.read(Unknown Source)
            at java.net.SocketInputStream.read(Unknown Source)
            at java.io.BufferedInputStream.fill(Unknown Source)
            at java.io.BufferedInputStream.read1(Unknown Source)
            at java.io.BufferedInputStream.read(Unknown Source)
            at org.digiplex.mcsod.MCSignOnDoor$ResponderThread.run(MCSignOnDoor.java:739)
    --Brian_Entei
     
  13. Offline

    tustin2121

    Before McSod could get all the info it wanted out of a connecting client, it disconnected ("Connection reset"). Under normal circumstances this can happen occasionally, and should only be a concern if it happens constantly, especially if it is constantly with the same person.

    It is also possible that something that is NOT a minecraft client attempted to connected to McSod and disconnected when it couldn't do anything or didn't recognize what McSod was asking. Someone in Orlando, Florida simply connected to the wrong place. :p
     
  14. Offline

    Brian_Entei

    I found out that the 67.... ip that caused the error was something like minestatus or minecraftservers.net pinging my server to see if it was up... So does McSod emulate a server for those types of things? That'd be cool, cause then the uptime would stay up! Thanks for replying as fast as you did,

    --Brian_Entei
     
  15. Offline

    tustin2121

    Unfortunately, yes. Those servers usually simply connect briefly to the server to check to see if there's a response from the server, and using McSod is enough of a response for them. I offered, early in McSod's life, to make something they could check to see if the server was ACTUALLY running, but I got no response from them. I hate the lying nature of this, but it is their loss. I'm still open to correcting that flaw in the server uptime ecosystem...
     
  16. Offline

    Brian_Entei

    Well, it may be a flaw, but for now, it's a cool one, so unless they make a universal plugin that you download that responds to the server-lister's ping to check, this will happen? I can live with that... Thanks,

    --Brian_Entei
     
    tustin2121 likes this.
  17. Offline

    jamcat22

    1.9 is out?!?!?!!?! Darn Bukkit forums email system. :) How do you set the protocol version? Is there a -- string?
     
  18. Offline

    tustin2121

    You don't "set" a protocol version, really. There is a version which McSod will recognize as "current" which is defined in the jarfile (see the FAQ), but it will respond to any version with the appropriate protocol now. You can simply download the latest jar file, where its protocol number is already set to the current version (assuming MC hasn't updated AGAIN in the past few weeks...)

    You can technically set the protocol is thinks it is with --act-as-version, but that makes it so it forces all responses to be that version.
     
  19. Offline

    ThePlayingNoob

    Could you add § support and unlimited with letters in motd? thanks!
     
  20. Offline

    tustin2121

    No, I can't because it is not possible. It is already to the limit allowed by the protocol. Also, you would know I can't add color support if you have read my post literally 10 posts ago. Wait, sorry, that's on the previous page now, so I guess that's out of mind now... I guess I need to update the FAQ now...
     
    Spawnstah likes this.
  21. Offline

    ThePlayingNoob

    But cant you change the limit?
     
  22. Offline

    tustin2121

    Oh, sure, I can change the limit on my program, but then if you type in something over that limit, Minecraft starts breaking on the connecting person's end. Exceptions get thrown, clients crash, and the sign on door breaks everything, worst case. Best case, your server stops showing up as a viable server in a players list.

    Point is, I'm working within limits that MINECRAFT has on these messages. Things break outside these limits. My hands are tied by Minecraft.

    When I get the chance, I will look again at what these limits are with the current protocol version. I was surprised once when new lines were suddenly viable, so it might be possible that formatting codes are now recognized. Maybe. I highly doubt the limit on characters will be raised.

    Plus, it's the server list. If you go too long on the message, it eventually runs into other things on the screen, and then runs off the screen. Test your messages to see if they're actually readable.
     
    Spawnstah likes this.
  23. Offline

    ThePlayingNoob

    But why in server prop can i have unlimited motd but not with this?
    EDIT: also how can minecraft limit this ?
     
  24. Offline

    tyzoid

    tustin2121
    I'm working on a server status image script and would be interested in figuring out a way to actually determine whether the server is online. Drop me a PM or reply if you are still looking to do this.
     
  25. Offline

    tustin2121

    How long of a message can you have on your server listing before the game cuts it off? Set it to a long string, then go look at it in the multiplayer server list. Tell me how long the string you see at the server list is, if it even shows up. I assure you it cannot be terribly long without causing errors, even though in a text editor you can make it as long as you want.

    The minecraft protocol website states that transmitted strings can be no longer than 240 characters. It literally can't be longer than that because the characters won't fit. According to the server.properties entry on the wiki, the MOTD can't support more than 59 characters without causing an error. (It also states that, at this point, it does support color codes, so I will look into allowing them.) These are the limits I have to work with. It's not magic, I can't magically make it happen.

    I am indeed still interested. I will have to play around with some things to find a viable method of indicating that "Hi! I'm McSod!" without changing the output seen in a minecraft client. Perhaps seeing if I can append a magic number onto the server ping message without crashes, or seeing if Minecraft cares what certain bytes actually are.

    What methods are you using at the moment to check if it is offline? A server ping? Or Query (which McSod doesn't support)?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 12, 2016
    tyzoid likes this.
  26. Offline

    tyzoid

    http://forums.bukkit.org/threads/we...tus-image-now-with-hosting-and-themes.126963/ (code in post)

    Perhaps a seperate/special packet?

    Here's the debug info (with the response packet):
    http://tyzoid.koding.com/mcb/image.php?ip=survival.tyzoid.com&port=25565&ontext=This server is online&offtext=offline :(&debug&forcequery

    Feel free to use that to experiment with.
     
  27. Offline

    ThePlayingNoob

    Im using exactly 242 letters in mine, i may send you a private message with my motd code.
     
  28. Offline

    krabbso

    okay im facing a new problem with minecraft 1.5.2

    when mcsignondoor is running the server reacts:

    2013-05-07 12:04:48 McSod [INFO]: Received connection from 149.172.XXX.XXX
    2013-05-07 12:04:48 McSod [INFO]: Client pinging server. Responding.

    however i cant connect by double-click on the server because it shows this red line in top "offline"

    if i do a "direct connect" all works normally

    so this is just a small bug i think

    u now what i mean? u need some more information?
     
  29. Offline

    tustin2121

    Ah, so once again Bukkit fails to send me notices for these messages. They really need to fix their system...

    The server list is finicky. If the protocol number sent by the server doesn't exactly match, it won't allow someone to connect to it. I believe by default McSod sends the version number field as "Offline" and in order to change it you need to specify in the command line.

    If you're using more than what is allowed, of course it will fail...

    Very nice. Well, as it stands now, you can possibly tell McSod to report an invalid or specific out-of-range current player number in the server ping information and check for that to determine if the server is offline with McSod. It requires the server users to specifically set up McSod, but if they wish to use your images, that may just be necessary at this time. I unfortunately don't have much in the way of time at the moment to play with this stuff. -_- McSod has a lot of options that can change specific things in the server ping information, so feel free to test with that stuff. I'll throw this into my growing list of things to do when I have time again...
     
    tyzoid likes this.
  30. Offline

    tyzoid

    I've found a way. It appears that your strings are nul terminated, while Minecraft's are not. I'm just checking for this, as it appears to be the easiest way.


    http://mctools.tyzoid.com/mcb/image...nner1&ontext=hi&offtext=darn&debug&forcequery
    (Change ip and port to something that uses MCSod and it will (should) give you a message like "MCSOD detected."

    Edit: Also, the current protocol version is "61". You should update your script to match, as minecraft sees this as "out of date" if it is not 61.
     
Thread Status:
Not open for further replies.

Share This Page