[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

    Smiley43210

    I have created a ticket for BukkitGUI so that ti can work with this tool. You can find that here. As of right now, it would only work with the tool the first time (if BukkitGUI isn't already open) cause when the server stops, the app doesn't quit (until you manually click the close button), which causes the script to never reach the mcsignondoor.jar part, and never starting up the program.

    For users running BukkitGUI, see post below: http://forums.bukkit.org/threads/ad...-fishin-back-in-five.8814/page-6#post-1335108

    tustin2121 Perhaps you should include this and the normal example of how to use MCSOD with ServerSleeper on the OP?

    Wanted to mention, this is absolutely brilliant! [diamond] I had in mind a fake ping-y thing that would return info even when the server is off, but I was beginning to wonder if something like this would have to be taken upon myself (Although, I honestly don't understand the MC protocol with all those 0xFe and 0xFF and stuffs ;) )
    Lucky i stumbled upon this (while looking for a plugin that could possibly put the server into a low lag low resource mode when nobody's online)

    And tustin plz check ur pms :D

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

    user_43347

    Just a heads up, you misspelled "panel" in your signature. :p
     
  3. Offline

    tips48

    I've been told a couple of times :p
     
  4. Offline

    user_43347

    You never know :p
     
  5. Offline

    Smiley43210

    For users running BukkitGUI, I've created this tutorial with multiple approaches for using MCSOD.

    P.S. Apparently "S" for an avatar has become popular :p
     
  6. Offline

    Bertware

    You got a tutorial for my GUI :3
    I still should see how to implement it, I'm planning to embed it so it can be used easier :)
     
  7. Offline

    jamcat22

    Can you make it so that 2 instances of McSod can run at the same time?
     
  8. Offline

    hawkfalcon

    Why?
     
  9. Offline

    jamcat22

    Nevermind. I just found out you can change the port
     
  10. Offline

    jamcat22

    Can you make it so that McSod reads the banned players list and if a player is banned while in sentry mode, it will not start the server?
     
  11. Offline

    jamcat22

    Can you reply with the message "Outdated server!" for a client that is above your craftbukkit version?
     
  12. Offline

    admalledd

    Ok, so tustin2121 you may already be aware of this, but MCSoD complains when 1.4.2 direct connects (not from the server list) here is what it is saying:
    Code:
    2012-10-26 21:45:13 McSod [INFO]: Received connection from 76.115.32.25
    2012-10-26 21:45:13 McSod [INFO]: Client with unknown version (47) of Handshake Protocol attempting login! Printing raw data:
    2 2F  0  9  0 61  0 64  0 6D  0 61  0 6C  0 6C  0 65  0 64  0 64  0 10  0 6D  0 63  0 2E  0 61  0 64  0 6D  0 61  0 6C  0 6C  0 65  0 64  0 64  0 2E  0 63  0 6F  0 6D  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
    Readable items:      97 100 109 97 108 108 101 100 100  109 99  97 100 109 97 108 108 101 100 100  99 111 109  99                                                                                                                                                                                                   
    Feel free to give tustin2121 this information on the bukkit thread. :)
    
    also, I some players with longish names get shortened, for example "DeviljhoDylan" gets cut to "DeviljhoDyla"
     
  13. Offline

    tustin2121

    What the hell, why am I not getting messages about this thread when someone posts? :/

    Yes, I have just now been made aware that the protocol has been updated to 47. Turns out the major update is adding encryption! yay!

    The fun part about this is the encryption handshake is added BEFORE I can kick the client, which means I get to implement their encryption protocol. Good thing I took a security class and know how this stuff works... So... it's gonna take a bit to make it work like it should. Sorry about the inconvenience folks.

    Does it not do this now? The banned players list is read already, and banned players are turned away with a special message. It shouldn't start the server for banned players (I checked the code just now and this is programmed). If it is, that is a bug. Please reproduce it and give me the specific scenario.

    McSod is version agnostic (or tries to be). One of its specific goals is to work when your server does not due to a new Minecraft release. Further, the server is not given the client's version until much later in the login handshake, so I do not have the version number of the client.

    ....in fact, I'm not sure WHEN the server and client communicate their version numbers....

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

    jamcat22

    Number 1: I found that the problem was MCBans was not properly syncing and I got it fixed.

    Number 2: I am not exactly sure, but in the multiplayer server list, I cannot connect to a mcsod server (but can direct connect) and the version of the server is displayed in the top right corner (or at least 1.3.2 servers have it).
     
  15. Offline

    Gravity Retired Staff

    Please refrain from unnecessarily bumping.
     
  16. Offline

    tustin2121

    Sorry it took so long!

    Version 1.8:
    - Added protocol checking and updated the version of the MOTD to conform to the new way to do it.
    - Added an option to change reported versions and to force the client to show said version (which makes it block against connecting).
    - Fixed a long standing bug where if a config file was used...
    - ...to specify an ip banned list, it would instead load it into the blacklist, thereby making banned ips not function.
    - ...to enable pings, it would instead disable pings, and vice-versa.
    - Changed how the config file works, using heierarcy-type keys.
     
    jamcat22 likes this.
  17. Offline

    jamcat22

    Thank you! Sorry I kept bumping! One last question, would it be possible to make McSod auto-update? Just a question, not saying it has to.
     
  18. Offline

    tustin2121

    No, that would require a phone home, which I do not want to do with this app. If it interests you, though, you can poll the main link (the one that points to MCSignOnDoor.jar, with no version number). That file changes and is always the latest version. If you had a service or wrote something that checked the HTTP headers on that link, it would tell you when the latest version went out.

    Also, I just remembered, I added something new to McSod. The jar file's manifest now specifies what the "latest" version of the Minecraft protocol is, because it is likely to change a lot faster than McSod will (it changed right in the middle of me updating and testing, twice). So if McSod suddenly stops working and severs it's spoofing start reporting as "Server Out Of Date", those who are interested can go into the jar file's manifest and change the "Specification-Version" number to the latest protocol version. At time of writing it is 49 (I hope). The protocol versions have to match exactly in order to show up as a connectable server in the server list. Yay annoyances...

    EDIT: Details added to the FAQ
     
  19. Offline

    jamcat22

    Then what does the --act-as-protocall do?
     
  20. Offline

    tustin2121

    --act-as-protocol [version] tells McSod to attempt to act like it is on the specified protocol. Everything it does will use that protocol version, regardless of what any client tells it. It's advanced functionality that shouldn't be needed on a regular basis. (And it probably doesn't fully function like it should... :/).
     
  21. Offline

    jamcat22

    Can't you use that option instead of looking into the code? Or is this a different option?
     
  22. Offline

    tustin2121

    You probably could use this option in lieu of editing the jar file's manifest, though I didn't make it specifically for that (nor did I make an option specifically for setting the "current" protocol version).
     
  23. Offline

    Sammy1Am

    Howdy! It looks like server version 1.4.8 updates the protocol to 51. I was able to get MCSignOnDoor working by changing the protoversion variable to 51; not sure if anything else has changed.

    (I've got a pull request on GitHub that fixes some potential username truncation issues with protocol 49)
     
  24. Offline

    tustin2121

    Thanks for the notification. Yes, I'm aware of the pull request, but I've been quite busy. o_o

    I wasn't aware that there was a truncation problem. No one's said anything...
     
  25. Offline

    Doc

    Just wanted to report the following:
    Code:
    java -jar MCSignOnDoor.jar --outputconfig newfile.cfg
    Configuration file write requested. Started...
    Exception in thread "main" java.lang.IllegalArgumentException: URI is not hierarchical
            at java.io.File.<init>(File.java:392)
            at org.digiplex.common.TemplateFormatter.<init>(TemplateFormatter.java:66)
            at org.digiplex.mcsod.MCSignOnDoor.makeConfigFile(MCSignOnDoor.java:595)
            at org.digiplex.mcsod.MCSignOnDoor.main(MCSignOnDoor.java:101)
    I did the following before reporting the error.
    • Code:
      chmod 777 .
    • diff versions of java (openjdk 1.5 to 1.7)
    • used several attempts on the command line, including my reularly working options and different filenames
    Thanks!
    -Doc
     
  26. Offline

    tustin2121

    I haven't tested that bit of code in a while, certainly... If you want a config file without going through --outputconfig, you can pull it out as the template from the jar file. Just remove all the bits of text surrounded by %precent signs%. Those are the placeholders for the default values and hashes to comment them out.

    I guess I should get around to actually fixing these bugs at some point soon...
     
  27. Offline

    Lost Man

    I am experiencing an issue with the --sentrymode option.
    Prior to switching to the newer version of MCsignondoor.jar I was able to set up sentrymode to let the user login which would exit the greeter and start the server.
    I made the change by installing the new server in a new folder and downloading the newest MCsignondoor and modifying the version in the manifest to 51. and now the greeter does allow the user to sign in since it is not based off of 1.3 but it doesn't exit upon login with tekkit launcher or standard minecraft launcher.

    This did and does work out great for my tekkit server but I have not had any luck on my voltz server.

    java -jar ~/temp/MCSignOnDoorvoltz.jar --sentrymode -p 25566 -m "Server in sleep mode join to start server. Then join again in two minutes.". user logs in but application won't exit.
    Code:
    eric@eric-desktop:~/temp$ java -jar ~/temp/MCSignOnDoorvoltz.jar --sentrymode -p 25566 -m "Server in sleep mode join to start server. Then join again in two minutes."
    2012-12-27 13:26:54 McSod [INFO]: MCSignOnDoor Client Notifier v1.8 by Tustin2121
    2012-12-27 13:26:54 McSod [INFO]: Starting server on port 25566 with message "Server in sleep mode join to start server. Then join again in two minutes."
    2012-12-27 13:26:54 McSod [INFO]: Server set to respond to pings with motd "Server in sleep mode join to start server. Then join aga..." and player ratio 0/20
    2012-12-27 13:26:54 McSod [INFO]: Server set to sentry mode, will exit when someone connects.
    2012-12-27 13:26:54 McSod [INFO]: Server protocol set to latest (51).
    2012-12-27 13:26:57 McSod [INFO]: Received connection from 127.0.0.1
    2012-12-27 13:26:57 McSod [INFO]: Client pinging server. Responding.
    2012-12-27 13:26:59 McSod [INFO]: Received connection from 127.0.0.1
    2012-12-27 13:26:59 McSod [INFO]: Client with unknown version (51) of Handshake Protocol attempting login! Printing raw data:
    2 33  0  C  0 46  0 69  0 6C  0 65  0 73  0 55  0 6E  0 6B  0 6E  0 6F  0 77  0 6E  0  9  0 31  0 32  0 37  0 2E  0 30  0 2E  0 30  0 2E  0 31  0  0 63 DE  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  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:  51  70 105 108 101 115 85 110 107 110 111 119 110  49 50 55  48  48  49  99                                                                                                                                                                                                       
    Feel free to give tustin2121 this information on the bukkit thread. :)
    Any help will be appreciated.

    Edit:
    Voltz server being used with wireless chicken bones. and condenced block mods.
    And Redpower digital mod. Will add the emptyserverstopper to stop the server just like my tekkit server does now.
    Tekkit server is standard with emptyserverstopper and works perfectly fine.
    MCsignondoor is used to start it after a magic packet has been sent to my compuer via batch script utilising plink (command line putty).
     
  28. Offline

    cricrithezar

    the script to restart the plugin in sentry mode doesn't seem to be working for me
    i have tried setting the manifest thingy to 51 the --act-as-protocol 51 and lots of other stupid things which have not worked, I am using craftbukkit 1.4.6 and this code
    Code:
    @echo off
    :RunBukkit
    java -Xms1024M -Xmx1024M -Djava.awt.headless=true -jar "craftbukkit.jar"
    ::Now run McSod
    java -jar "MCSignOnDoor.jar" --act-as-protocol 51 --sentrymode -p 25565 -m "Serveur en veille, connectez vous pour le lancer."
    set exitcode=%ERRORLEVEL%
    ::IF %ERRORLEVEL%==12 GOTO RunBukkit
    I d'ont know what the problem is, i seem to be having the same problem as lost man and i don't know how to solve it
     
  29. Offline

    Doc

    Problem: Client with unknown version (51) of Handshake Protocol attempting login!
    McSod v1.8
    Java: java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
    --act-as-protocol 51

    Code:
    22013-01-15 00:46:09 McSod [INFO]: Client with unknown version (51) of Handshake Protocol attempting login! Printing raw data:
     2 33  0  7  0 44  0 72  0 4C  0 6F  0 67  0 69  0 78  0  A  0 53  0 44  0 70  0 79  0 72  0 6F  0 2E  0 6E  0 65  0 74  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 
    Readable items:  51   68 114 76 111 103 105 120   83 68 112 121 114 111   110 101 116  99 
    Just chiming in hoping to provide you with more data.
    And a BIG THANK YOU for your work on this project.

    -Doc
     
  30. Offline

    Vincs

    I've the same problem as other people here.
    It seems that the actual connection protocol is 51 and McSignOnDoor only works on 49 ?

    I didn't find any way to make it works. :(
     
Thread Status:
Not open for further replies.

Share This Page