[INFO] StickyHelp v1.0.2 - Get help from text files [1060]

Discussion in 'Inactive/Unsupported Plugins' started by marvinbek, Jul 25, 2011.

  1. Offline

    marvinbek

  2. Offline

    morizuki

    yeah.. but my question is.. what is the difference between the two? it's exactly the same to me, except HelpCenter has
    • Word-wrapping for those long lines of text
    • Directory traversal protection (trying "/help ../../../../../../../etc/passwd" will not work)
    • It can fetch web-based helpfiles via HTTP. :)
    • Default helpfile with randomly-chosen help item capability (otherwise will pass-thru the /help command if typed in without any arguments)
    • Helpfile redirection!
    • and keywords..
     
  3. Offline

    Evilozmaker

    Color codes not working -.-
    everytime & is in the code, it wipes out everything after it.
    please help ASAP
     
  4. Offline

    GazerDwarf

    Thanks this works great! The only problem I have found is if I type '/help (Anything that does not exist)' I get an angry error message.
    16:20:44 [SEVERE] java.io.FileNotFoundException: plugins\StickyHelp\NoExist.txt
    (The system cannot find the file specified)
    16:20:44 [SEVERE] at java.io.FileInputStream.open(Native Method)
    16:20:44 [SEVERE] at java.io.FileInputStream.<init>(Unknown Source)
    16:20:44 [SEVERE] at java.io.FileInputStream.<init>(Unknown Source)
    16:20:44 [SEVERE] at me.marvinbek.StickyHelp.StickyHelp.displayHelp(Sticky
    Help.java:41)
    16:20:44 [SEVERE] at me.marvinbek.StickyHelp.StickyHelp.onCommand(StickyHe
    lp.java:29)
    16:20:44 [SEVERE] at org.bukkit.command.PluginCommand.execute(PluginComman
    d.java:35)
    16:20:44 [SEVERE] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCo
    mmandMap.java:129)
    16:20:44 [SEVERE] at org.bukkit.craftbukkit.CraftServer.dispatchCommand(Cr
    aftServer.java:320)
    16:20:44 [SEVERE] at net.minecraft.server.NetServerHandler.handleCommand(N
    etServerHandler.java:713)
    16:20:44 [SEVERE] at net.minecraft.server.NetServerHandler.chat(NetServerH
    andler.java:677)
    16:20:44 [SEVERE] at net.minecraft.server.NetServerHandler.a(NetServerHand
    ler.java:670)
    16:20:44 [SEVERE] at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:3
    3)
    16:20:44 [SEVERE] at net.minecraft.server.NetworkManager.b(NetworkManager.
    java:226)
    16:20:44 [SEVERE] at net.minecraft.server.NetServerHandler.a(NetServerHand
    ler.java:85)
    16:20:44 [SEVERE] at net.minecraft.server.NetworkListenThread.a(SourceFile
    :105)
    16:20:44 [SEVERE] at net.minecraft.server.MinecraftServer.h(MinecraftServe
    r.java:451)
    16:20:44 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:361)
    16:20:44 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:422)

    Nothing bad happens but it's gonna start spamming the log soon XD.

    Are you putting a number or letter between 'a' and 'f' immediately after the &? Mine are working fine.
     
  5. Offline

    Evilozmaker

    yes, im doing it the correct way, it works on other plugins. But im using MyMCAdmin and i think i found a way to make it work, thanks anyway :)
     
  6. Offline

    Spamandritz

    so then this works on RB#1000?
    EDIT: helpcenter that is
     
  7. Offline

    morizuki

    yep.. 100% working.. or let me say 101% :D
     
    Spamandritz likes this.
  8. Offline

    excalibr23

    The problem I have is when some searches for a help file that isn't there it throws big exceptions on the server.
     
  9. Offline

    marvinbek

    I'll fix it later. I just got home from vacation.
     
  10. Offline

    prefix

    Is this the case if you just type /help too? or /help anything that doesnt exist?

    I wish this plugin could be configured to point to a default .txt when you type /help and if you type help for anything not configured it would say does not exist instead of spouting out a long error message lagging the server unessecarily and spamming the logfile.

    If this was fixed this would be the best help plugin out there! All the other ones are way too complex to setup.

    Edit:

    I see;
    16:20:44 [SEVERE] java.io.FileNotFoundException: plugins\StickyHelp\NoExist.txt
    (The system cannot find the file specified)

    That means if you had a txt file called NoExist.txt in /Stickyhelp folder it would show that instead of the error message :) That's great :D

    But can it altso be configured with a default.txt ? for just /help :)

    Altso, thanks for all the hard work :) I hope my suggestions can be easily implemented without alot of code :)
     
  11. Offline

    marvinbek

    It can be pretty easily fixed/implemented. I'm just lazy, and just wiped my computer :D Thankfully my source is on the external HDD :p
     
  12. Offline

    prefix

    Well.. I haven't heard anything from you and my users are starting to get impatient.. maybe i'll try that plugin that someone mentioned that does exactly the same as this one :p (Helpcenter?)
     
  13. Offline

    marvinbek

    Oh...

    I'll start working now

    Testing time!

    Oooh... There's a bug i can't squash and i'm tired... Good night :D

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

    marvinbek

    Yeah! GOT IT!

    v1.0 done, releasing now, after i revamp the post :D

    V1.0 IS OUT!

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

    Kane

    @marvinbek seams to be working just fine. You do seam pretty new to this stuff but you are learning and that is what counts. Keep up the good work.
     
  16. Offline

    Shadus

    Suggestion #1:
    - "an automatic index" with permissions

    like (as an op with craftbukkit.command.stop):
    /help index
    help, server, multiverse, teleport, ops, bigbrother, shutdown
    /help shutdown
    This shuts the server down, duh.

    as a "builder":
    /help index
    help, server, teleport
    /help shutdown
    "not found"

    something to the tune of:
    help.txt: default
    server.txt: default
    multiverse.txt: admin
    teleport.txt: builder
    ops.txt: admin
    bigbrother.txt: moderator
    shutdown.txt: craftbukkit.command.stop

    using the permissions group of the same name or even tied to a specific permissions node

    Suggestion #2:
    Fix for the directory traversal bug morizuki mentioned-- being able to /help ../BigBrother/BigBrother.yml to grab the db password is bad mkay? You need to clean any input you're taking from users. Limit chars you'll use to A-Za-z0-9_- a single . in sequence is ok too but not multiple. Most special characters should be stripped, different OS's use different ones for special reasons, safest thing is strip the majority.

    Suggestion #3, keep your change log (add-one, it's required anyways if memory serves me) up to date, if you fix bugs note which ones there :) That way people know when they look at the change log what is different.

    You're doing good work so far keep it up!

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

    marvinbek

    I'm very new at Java. So thank you!

    Have you not seen the "Configurable Extension"? It's set to default to only open .txt files, but can be changed. (No offense)

    I don't get it. You mean like "stickyhelp.read.<nameoftextfile>"? It's doable. I was actually planning that for v1.0, but didn't have time for that. I'm planning on putting that in v1.1.

    EDIT: After re-reading the post, i think i get it. An index is now planned for next release, along with per-file permissions. (Both will be configurable in the config file, obviously!)

    Fixed in v1.0


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

    Technius

    Can you change the command to something else? It conflicts with my essentials help, and now I only get sticky help. Can you make some sort of config option where you can disable /help for StickyHelp and add an alias? Thanks.
     
  19. Offline

    marvinbek

    Only when i figure out how to... Should i change the plugin.yml at runtime, or is there a way to change it in the API?

    YAY for first 1060 tested plugin!

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

    HuntMASTER15

    Yeah, I would love to use this plugin but I don't like how it's not compatable with Essentails. Maybe if the command was changed to /shelp or something.
     
  21. Offline

    Technius

    I don't know java, but the option should be in config.yml and should look this this in the config:

    AllowAliasOnly=False <- default set to false

    To make the alias, I think all you have to do is copy all of the code from the command, and rename all the listeners and things.

    EDIT: Look in below post.

    Or you can make another config option that says:

    UseDefaultTxt=True <- default set to true

    When enabled, /help will bring up the default file.


    EDIT: It will also work like the default is blacklisted.

    Here's a third suggestion: blacklist entries

    Blacklist=1,2,3,4,5,password,private,information

    It will check if the file requested is on the black list. If it is, the file will not be displayed and it will not throw a "caught a /help" in the console and it will let the essentials one work.
     
  22. Offline

    Technius

    Okay. I poked around eclipse yesterday and I think I found a solution. In the plugin.yml, change the commands part to look like this:

    commands:
    help:
    description: This shows help.
    usage: /help [page]
    shelp:
    description: Alias for StickHelps's /help.
    usage: /shelp [page]

    Then add listeners for the alias. :p

    I can't find out anything more because I can't open your class file.
     
  23. Offline

    marvinbek

    I know, but i want it configurable.

    BTW, there is a .java source file in the jar under me/marvinbek/StickyHelp. Take a peek if you dare (very messy code :p)

    EDIT: It can be done easily if there is a function in the Bukkit API to change the command.
     
  24. Offline

    Technius

    I did take a look at the source. It's not that messy, compared to some of my works. :p

    In your onEnable, where you put the
    Code:
    prop.put
    , you could put this:
    Code:
    prop.put("OnlyAllowAlias", "false");
    prop.put("Blacklist", "");
    prop.put("AllowDefaultFile", "true")
    And then code it. I don't really know java/bukkit api so I can't really help. But I can suggest things :p


    What's in your class file anyways? Eclipse can't open that class file for me...
     
  25. Offline

    marvinbek

    It's just a compiled version of the .java file.
     
  26. Offline

    Technius

    Code:
    if(commandlabel.equalsIgnoreCase("help")||commandlabel.equalsIgnoreCase("shelp")) {
                    this.logger.info("Catched command help");
                    if (args.length == 1) {
                            this.logger.info("Displaying help");
                        displayHelp(sender, args[0]);
                    } else {
                            this.logger.info("Displaying default");
                        displayHelp(sender, prop.getProperty("DefaultFile"));
    There you go. I added a check for the alias.... Now you have to add the other settings. :p

    Actually, can I just copy the whole source here and put it into the code thing? And make my edits here?

    EDIT: I might have lied about the "can't help much" part. Java looks very similar to flash/actionscript....
    EDIT2: I downloaded the source and added an alias. I would be glad to give it to you if you want. :D
     
  27. Offline

    khatbert69

    Ugh.. I cant figure out why this simply will not work. It loads without error in the logs. I have bukkit 1060 when i type /help i dont get any error or any feedback. If i type /help winkworld i also get nothing no error.

    My config file is:

    #-.-
    #Fri Aug 19 17:02:58 GMT 2011
    DefaultFile=default
    Extension=txt

    I have a text file in the plugins/StickyHelp called default.txt I also have a txt file in plugins/StickyHelp called winkworld.txt. I have StickyHelp 1.0.1 installed.

    Here is my log file.

    2011-08-19 17:14:30 [INFO] [FirstLastSeen] version 0.7 loaded.
    2011-08-19 17:14:30 [INFO] StickyHelp v1.0.1 enabled!
    2011-08-19 17:14:30 [INFO] PermissionsBukkit v1.1 is now enabled

    I also have permissions set up using superperms (permissions bukkit) i dont see specifications that i should be using bridge or not.

    I need a help system it seems to be loaded i have rebooted the server a few times. Thoughts comments suggestions?

    Is there a specific syntax for the text files themselves?
     
  28. Offline

    Technius

    Is there text entered in each of the documents? And check the console. If the help file loaded correctly, the console should say "catched command help".
     
  29. Offline

    marvinbek

    Sorry for not specifying, but you need the bridge.

    Only does that if the sender has permission to use StickyHelp (stickyhelp.read)

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

    Darq

    Excellent plugin. Helped me clear up my /help menu quite a bit. In-fact it's drop dead gorgeous now will all these pages that I can add to it.

    Good job with this.
     
  31. Offline

    Kane

    @marvinbek


    Does not seam that help really caches well.
    Code:
    03:45:51 [INFO] Catched command help
    03:45:51 [INFO] Displaying default
    03:45:51 [INFO] Catched command help
    03:45:51 [INFO] Displaying default
    03:45:52 [INFO] Catched command help
    03:45:52 [INFO] Displaying default
    03:45:52 [INFO] Catched command help
    03:45:52 [INFO] Displaying default
    03:45:52 [INFO] Catched command help
    03:45:52 [INFO] Displaying default
    03:45:53 [INFO] Catched command help
    03:45:53 [INFO] Displaying default
    
     

Share This Page