[INACTIVE][FUN/ADMN] Spyer 1.5_1 - invisibility for moderating and pvp!(alternative to Vanish) SPOUT

Discussion in 'Inactive/Unsupported Plugins' started by nickguletskii, Feb 27, 2011.

  1. Offline

    nickguletskii

    SPYER HAS A NEW HOME!

    WARNING! THIS PLUGIN REQUIRES SERVER SIDE SPOUT! CLIENTS DO NOT HAVE TO DOWNLOAD ANYTHING!
    WARNING! OLD PERMISSION SYSTEM IS NOT SUPPORTED! YOU WILL NEED A BUKKIT PERMISSIONS STANDARD COMPLIANT PERMISSIONS SYSTEM!
    Hotfixed SpyerFun on 16th of August. Version number of the jar didn't change. Fixed a bunch of bugs.
    SpyerFun - a plugin that allows playersto become invisible for some time. Each second the player "eats" one item out of the stack he is holding (hider item, sugar by default). While invisible, mob can and will still attack the player, although other players (exceptions are implemented) can not. The player will reappear when he either runs out of the hider item or switches to another item in his action bar, e.g. a sword.
    SpyerAdmin - a plugin that allows moderators to hide themselves for an unlimited amount of time, as well as simulating them leaving. This is a constantly updated alternative to Vanish, with much more features and configurations!
    Thanks to brafenschlug for this hilarious video of moderators playing pranks on players!

    Features:
    • Now uses Spout! This plugin is no longer CPU heavy!
    • Allows players to become invisible for a set amount of time!
    • Adds more fun to PVP.
    • Allows administrators to hide themselves and simulate them quitting! Overrides msg,r and list.
    • Stops players from picking things up while using SpyerAdmin (see the configuration section)
    • Knocks players out from invisibility (SpyerFun) when they get damaged (see the configuration section)
    • Knocks players out from invisibility (SpyerFun) when they left-click a block (see the configuration section)
    • Now reload friendly!
    How to use (SpyerAdmin):
    • Use /spy to become and stop being invisible (toggled).
    • Use /quit to simulate you quitting/joining (toggled).
    • Place 1 piece of the indicator item into your quickbar. It will indicate if you are hidden or not. By default it is glowstone that turns into sulphur. You can configure that in plugins/Spyer/SpyerAdmin.conf.
    How to use (SpyerFun):
    • Right click with the "hider" item, every second it will eat up one item from the stack.
    • To add/change "hider" items, go to plugins/Spyer/items.yml. You'll see something like this:
      Code:
      {352: 3000, 353: 1000}
      Items are separated by commas. The ID is the right value, and the time of usage (per block) in milliseconds(HAS to be dividable by 50!). So if I want to add clay to work for 10 seconds per piece, I will do something like
      Code:
      {352: 3000, 353: 1000, 337: 10000}
      Note: by default, bones and sugar are used.
    Installation instructions, downloads:

    Install server-side Spout. No Spout client required.
    Extract the contents of the bundle(Spyer.zip) into the plugins folder.
    Bundle downloads:
    Download
    Download command line installer
    Github
    jars (open)

    Instructions for different setups:
    • Essentials: Download SpyerInstaller, put it in the server directory and run it from terminal(console). Go to configuration->4.
    • Vanilla Bukkit: go to (server directory)/plugins/Spyer. Open repo.conf, replace everything with
      Code:
      http://dl.dropbox.com/u/16258042/SpyerAdminRepos/Vanilla/
    • CommandBook: Special version for you! semi-direct Replace SpyerAdminConmmands.jar with this version!
    Configuring:

    List of permissions:
    1. spyer.spy (Players who have this have access to the /spy and /quit commands, without permissions checks for op powers)
    2. spyer.seeAll (Players who have this can see people who are hidden, without permissions checks for op powers)
    3. spyer.fun (Players who have this can use SpyerFun, without permissions defaults to true)
    4. spyer.stopmobs.admin (Stops moderators from being attacked by mobs while hidden)
    5. spyer.stopmobs.fun (Stops players from being attacked by mobs while hidden)
    Files:
    • spyer.yml - responsible for holding timing data. If syncWithScheduler is true, the plugin will use the bukkit's scheduler (recommended). If false, use Java timers. refreshRate defines the time in ticks (in milliseconds if syncWithScheduler = false). Add the optional field coolDown and set its value to your cooldown time in milliseconds (for SpyerFun, time in between invisibility uses). Add pickUp: true to allow picking up items while hidden in SpyerAdmin. To knock out people from SpyerFun when they damage an entity, add "onDamage: true". To knock out people from SpyerFun when they left click a block, add "onBlock: true". To stop invisible players (SpyerFun) from damaging other living entities, add "noDamage: true". Boolean "wait" allows/disallows the plugin to delay reloading to give them time to hide.
    • repo.conf - holds the url of the repository from which SpyerAdmin will update the script.
    • script.js - compatibility layer between plugins. e.g. Essentials script will simulate Essentials commands, Vanilla script will simulate the normal minecraft commands.
    • items.yml - holds the list of items used in SpyerFun
    • SpyerAdmin.conf - holds indicator item ids for SpyerAdmin
    Modifying scripts:
    1. Comment out all the lines in repo.conf.
    2. Modify the script.
    3. If you want to update the script, you can get it from [repopath]/script.js
    Version: v1.5_1

    Known issues
    • If you get a NullPointer when enabled (that contains something like "at nickguletskii200.SpyerAdmin.CustomHandling.<init>(Unknown Source)", then download this and put it into your jre's lib directory. You might also need to install Rhino. Disclaimer: this file is a part of the OpenJDK package.
    Changelog (open)

    Version 1.5
    • Migrated to Spout packet filtering. Timers are now only used for indicators(admin) and item deduction(fun). You can decrease the tick rate now if you want.
    • 1.5_1 Fixed the whole bundle. Nasty bug didn't appear in testing!
    Version 1.4
    • Separated SpyerAdmin into two modules.
    • July 17th - now using bukkit permissions API. Blind update. If you got this plugin before build 1000, then you have the old version. If you got it after build 1000, new version.
    Version 1.3
    • Made plugins reload friendly.
    • _1 Essentials 2.3 compatibility added through autoupdate.
    • _2 Fixed default item pickup. Now doesn't pick up items by default.
    • _3 Added noDamage property for SpyerFun.
    Version 1.2
    • Improved performance.
    • Added position checks.
    Version 1.1
    • Some little customisation upgrades.
    • Some hotfixes.
    • Improved SpyerFun's invisibility system.
    Version 1.0
    • Added mob targeting control.
    • Hotfix: fixed(hopefully) the log spam!
    • Small feature added (13/05/11): cooldown times for SpyerFun.
    Version 0.9
    • Permissions support!
    • Cleaned up code.
    Version 0.8
    • Added indicators.
    • You can now do /spy [on|off] to force.
    • Invisibility persists when you reconnect.
    • Fixed updater to work with Windows.
    • 0.8_1 fixed some problems with commands.
    • 0.8_2 major fixes.
    Version 0.7 (SpyerAdmin only for now)
    • Automatic script updating.
    • Better logging (will help me get rid of bugs) (coming soon)
    Version 0.6
    • Scripting support! That means no more compile-time library linking and more compatibility!
    • Multiple item support for SpyerFun added!
    Version 0.5
    • Added refreshrate and sync method variables. See the usage instructions to learn how to cofnigure them.
    Version 0.4


    • Extended functionality of /quit. Overrides msg and list commands of essentials.
    Version 0.3
    • A rewrite, separated packages. Hopefully removed all known bugs.
    • 0.3_1 Separated in-game configurations into another package.
    • 0.3_2 Fixed some bugs.
    • 0.3_21 Fixed some exceptions, small fix.
    Version 0.2
    • Shadow moderation ("addspy <player>" - allows player to hide with "spy" and "quit", "removespy <player>" - opposite. "addseeall <player>" - allows player to see hidden players, "removeseeall <player>" - oppiste. "spy" - hides you until called again. "quit" - hides and removes you from the list of players.
    • Click in the air now works
    • Migrated to SnakeYaml, no more jars!
    • 0.2_1 upgraded to remove double invisibility, quit now fully simulates player leaving.
    • 0.2_2 fixed player reappearing after "spying".
    • 0.2_3 huuuuuuuge bugfixes!
    • 0.2_4 fixed some bugs, one known: you have to say "/spy" twice to hide after using sugar/other hider item.
    Version 0.1
    • Release



    TODO
    • Some technical cleanups
    • Suggest more!
    Credits (no particular order)
    These people helped me by posting a lot of descriptive bug reports, removing bugs from scripts, making videos, cooperating with debugging and helping other users understand my horrible documentation ;)
    • The PC Tech Guy
    • Sparx
    • Tim Yong
    • Greylocke
    • KevinHouse
    • aidan matzko
    • brafenschlug
    • Nelien
     
  2. Offline

    Juze

    Well, you probably want to take a look at Vanish plugin meanwhile.
     
  3. Offline

    Daveyo

    this would make for an excellent rogue ability. At the cost of redstone you can stay invisible. I like.
     
  4. Offline

    nickguletskii

    Yes, not the same. Vanish is command-based utility for admins, way too overpowered. This plugin is for normal players, as it is NOT overpowered.
     
  5. Offline

    Ryan Carretta

    Interesting. Do mobs aggress the invisible player?
     
  6. Offline

    nickguletskii

    Yes, and I don't think they shouldn't... That would be... Overpowered?
     
  7. Offline

    TnT

    Why the yaml.jar file within the lib directory?
     
    SweetCraft Girl likes this.
  8. Offline

    nickguletskii

    Because I think all libraries should be in one directory.
     
  9. Offline

    The PC Tech Guy

    Is this plugin still working? (Tried with CB 440). Left-clicking, right clicking sugar makes no difference to sugar amount.
     
  10. Offline

    EvilSeph

    Your submission has been found to not meet our Plugin Release/Submissions Guidelines, please make the changes to rectify this and it will be reconsidered.

    What version of CraftBukkit does this work with?
     
  11. Offline

    nickguletskii

    Don't know about build 440, but build 497 works. I originally tested this under build 470...
    Done, adding a mirror now. Compatible builds and a mirror added.
     
  12. Offline

    contex

    Would you be kind enough to add a "/hide" command for the admins? So we can go and spy on or fellow members and see if they are greifing or not?
     
  13. Offline

    nickguletskii

    Yeah, going to add this tomorrow.
     
  14. I love it :D
    Works great.

    3 things:
    - Add a check if you are already invisible, so you cant get 2 invisibilities at once.
    - Add a guide on how to install, I didnt knew if the yaml.jar needed to go in lib/ or plugins/lib/
    - You can't right-click in the air to activate.
     
  15. Offline

    contex

    Great! Can't wait to test it on my server.
     
  16. Offline

    nickguletskii

    1) Yes.
    2) The package comes structured for a reason.
    3) Will try to find the correct event.
     
  17. Offline

    The PC Tech Guy

    Hi, I found out it does work, but as KevinHouse said, it doesn't work when right-clicking in the air. Glad to see you are working on this.
    As for suggestions on plugins, your idea of Shadow Moderation is a great idea! I don't know about the block protection, as there are quite a few plugins (plus the SimpleServer server wrapper) that do this, but if it has something different, then go ahead!
     
  18. Offline

    nickguletskii

    Hmm, why are you using build 440 anyway? Everything seems to work on latest builds... Starting shadow moderation right now.

    [MERGETIME="1299605313"][/MERGETIME]
    Okay, done doing major modifications. Could someone test these things?
    1. Leaving someone's loaded chunks when hidden and coming back;
    2. "quit" command, does it really look like the player is leaving?
    3. "who" or aliases do not show "quit" moderators?
     
  19. 1) You will remain invisible.
    2) It really looks like the player left.
    3) /list and /who don't show the connected player. But you can still use commands on the "quit" player.

    When you use /quit x2 or /spy x2, you won't turn visible again.
    When you do /spy, /removespy YOURSELF, /spy, the last 2 commands will both logg that they removed your /spy.
     
  20. Offline

    Jinivus

    Anyone else having issues with not reappearing after using /spy?
    I am having to relog before other players can see me again.
    Build 493.
     
  21. Offline

    The PC Tech Guy

    At first, I stayed for compatibility reasons, but now it's because the new console interface breaks my SimpleServer wrapper completely. :'( At least everything is working, except for two plugins that I have to keep downgraded... :( I guess I'll have to either wait for SimpleServer to find a way, which will be very hard, or find some plugins that do the same things... which I don't want to do. (I have more than enough plugins already.)
     
  22. Offline

    quantumripple

    I reappear for around 1/2 a second, then disappear. have to relog to stay visible. Build 502
     
  23. Offline

    nickguletskii

    Thanks, going to find out what causes that and fix it.

    EDIT: AAAAH yes yes yes! Forgot to stop the timer! I had to add another scheduler just to keep that player invisible when going out of someone's sight and coming back (countering packet that "creates" the entity again)
     
  24. Offline

    SweetCraft Girl

    Ok.. Total confusion.

    What "yaml.jar" file??

    And when someone says "root" i think the main directory from which the program runs. But, then it is mentioned to use the LIB directory?\

    Nick, thank you for your efforts but can you organize this a bit better?

    How about denoting: Exactly where the files should go in your OP - reading the thread creates confusion, your OP should be about clearly stating how to use your plugin.

    To that end....

    Please make a proper list of functions. Having to parse what is a command and what is not is rather difficult. A clear "bulleted" list of the commands would be most helpfully and heuristic in letting people see immediately what can and cannot be done via /command functions.

    Right now, all we have is this:
    What are the commmands??? What is: "opposite" I only see one clear command: /spy and /quit

    Are these the commands???

    - /spy
    - /quit
    - /addseeall
    - /removeseall
    - /sethideritem [id]
    -----------------------------??

    YOU should be making in your OP a CLEAR LIST OF INSTALLATION AND COMMANDS. Right now, your plugin requires way too many brain CPU cycles for what is generally the simplest part of running a Minecraft bukkit server: (1) Download; (2) Drop into Plugin folder; (3) Configure or Launch server.

    Right now, I am still wondering what the heck YAML.jar is; where does it go - what should be in the LIB folder versus the ROOT folder and what the commands are.

    It would be most helpfully if you organized your OP a little bit better to help not only facilitate your plug-in being downloaded and used more, but also to make it easier for regular people to understand and use without reading the thread and going "wtf do i do".
     
  25. Offline

    nickguletskii

    I was hoping that some people DO read the changelog.
     
  26. Offline

    SweetCraft Girl

    Thank you for the change.

    Reading the change log.....

    the 'change log' is how i compiled that list of what i thought the commands were above.

    Your change log was weighed, measured, and found by this person to be "unclear" and "confusing". Call me dumb, so be it. I do appreciate the update to a more clear and concise listing of the commands, as I am sure others do.

    I do believe it will also help people see the immediate benefits of your plug-in via the command set alone, thus prompting them to read on. :D

    Thank you for coding it for the community :)
     
  27. Offline

    Daveyo

    I am also very confused. I set the item as 289 to consume, and in the yml file the idofblock is 289. So i tried it by right clicking sulfur and it worked. I scrolled off and then got killed by someone. After i respawned i tried using the sulfur again and nothing happens. Am I doing something wrong? Is there permissions for this?
    [MERGETIME="1299718877"][/MERGETIME]
    cb 522
    [MERGETIME="1299719333"][/MERGETIME]
    /god was also used. Everyone seems to be able to use sulfur expcept me. I'm also the op
    [MERGETIME="1299719367"][/MERGETIME]
    ok nevermind, after 1 use they cant reactivate it again
     
  28. Offline

    nickguletskii

    Confirmed, fixing.
     
  29. Offline

    Tim Yong

    For those confused as to where the .jar and .yaml files should be placed, I figured it out via trial and error. [​IMG]

    Place the .jar file in the plugins folder as normal. However, the .yml file needs to be up one folder - the same folder as your craftbukkit.jar and minecraft_server.jar, etc. Placing the .yml in the plugins folder or making a folder named "Spyer" in the plugins folder for it will not work. Neither will placing the .yml file in the lib folder work.

    Thanks for this plugin! I'm psyched to spy, jail, and ban griefers. hah
     
  30. Offline

    nickguletskii

    Fixed. Please post about ANY problems, I will try and fix them. Also: if you need any plugin (with source code available) to be patched to ignore hidden players, let me know.
    [MERGETIME="1299768693"][/MERGETIME]
    Woah woah woah! Totally forgot about these instructions! Thank you very much! Also, changing it to work in plugins/Spyer.
     

Share This Page