[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



    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!

    • 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:
      {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
      {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 command line installer
    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
    • CommandBook: Special version for you! semi-direct Replace SpyerAdminConmmands.jar with this version!

    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)
    • 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

    • 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

    Psycho Robot

    Out of curiosity, have you assigned the people who can see you the syper.seeAll node, either by giving it to them outright, giving them syper.*, or giving them *?
  3. Offline


    Well the only people I was able to test it on were ops, so that's probably why. Thank you.
  4. Offline


    i guess i'll just use vanish until spyer works properly with essentials

    *le sigh*
    megaman0122 likes this.
  5. Offline


    Okay! I will try to do that as fast as I can! But I have to find the script revision for 2.3 first... Yay for Dropbox! :D
    Wow, why would you want to spy on a user you trust? Heh, seems illogical to me. I will add teleport overrides when I release my own command plugin.
    The CPU issue isn't mine. I think it is a known bug in the server software. As for the exception, it is caused by you having Essentials 2.3 or some other command plugin. Please use the appropriate setup described in the OP. E2.3 support is coming very soon.
    Don't worry, I already have support for 2.3. I reverted it because 2.3 wasn't out at the time. Now it is in my Dropbox.

    Easily. Just add Server.dispatchCommand(nameoftheplayervariable,"thecommand"); to the needed function. Please note that auto updates should be disabled then.

    Released support for Essentials 2.3!

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


    Using Spyer 1.2 (Commandbook Version), there is no 1.3 to download, the link is 1.2 ;) and Build 819 the spyadmin feature works well except I now pick items up while hidden where I didn't before.

    Any Ideas?

    Thanks for all the hard work!
  7. Offline


    reported on essentials thread:

    2011-06-02 14:18:45 [SEVERE] javax.script.ScriptException: sun.org.mozilla.javascript.internal.WrappedException: Wrapped java.lang.NullPointerException (<Unknown source>#107) in <Unknown source> at line number 107
    2011-06-02 14:18:45 [SEVERE] at com.sun.script.javascript.RhinoScriptEngine.invoke(Unknown Source)
    2011-06-02 14:18:45 [SEVERE] at com.sun.script.javascript.RhinoScriptEngine.invokeFunction(Unknown Source)
    2011-06-02 14:18:45 [SEVERE] at nickguletskii200.SpyerAdmin.CustomHandling.who(Unknown Source)
    2011-06-02 14:18:45 [SEVERE] at nickguletskii200.SpyerAdmin.SpyerAdmin.onCommand(Unknown Source)
    2011-06-02 14:18:45 [SEVERE] at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:395)
    2011-06-02 14:18:45 [SEVERE] at com.earth2me.essentials.Essentials.onCommand(Essentials.java:343)
    2011-06-02 14:18:45 [SEVERE] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    2011-06-02 14:18:45 [SEVERE] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:128)
    2011-06-02 14:18:45 [SEVERE] at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:281)
    2011-06-02 14:18:45 [SEVERE] at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:718)
    2011-06-02 14:18:45 [SEVERE] at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:684)
    2011-06-02 14:18:45 [SEVERE] at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:677)
    2011-06-02 14:18:45 [SEVERE] at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32)
    2011-06-02 14:18:45 [SEVERE] at net.minecraft.server.NetworkManager.b(NetworkManager.java:217)
    2011-06-02 14:18:45 [SEVERE] at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
    2011-06-02 14:18:45 [SEVERE] at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    2011-06-02 14:18:45 [SEVERE] at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:401)
    2011-06-02 14:18:45 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:311)
    2011-06-02 14:18:45 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)

    2nd report this day.
  8. Offline


    Sorry, but I don't know what file and what function I need :D I'm using the default Spyer Admin to check, if the players are “cheating”.

  9. Offline


    Forgot to update the dedicated commandbook version. Done updating.
    Already fixed. Essentials 2.3 support added this morning.
    Disable automatic updating by commenting out the last line in plugins/Spyer/repo.conf
    Update manually by fetching the file in [repourl]/script.js
  10. Offline


    nicckguletskii: was reported using latest spyer admin as much as i understand from ticket
  11. Offline


    Latest version of the plugin doesn't mean that the script is up to date. The script is updated independently.
  12. Offline


    Can you make it NOT reset the script.js? I modified it so that it would show the same custom login/off as my server, only to see that it was modified by some failsafe and everybody knew I was 'hacking' into being invisible. Thanks for making this plugin harder to use. -_-
  13. Offline


    No, I explained that you need to comment out the repo.
  14. Offline


    Got the latest Build 1.3 and using it with command book and everything works great with the exception of picking up items while invisible. I suck things up like a vacuum while invisible :) I am using Build 820 of bukkit.

  15. Offline


    Aaah. By default it is off. Doing a quick fix.
  16. Offline


    Is it going to work with latest Minecraft (1.6.6)?
  17. Offline


    It already is. -_-
  18. Offline


    Hey I'm getting this error when I start the server.
    2011-06-04 19:58:14 [INFO] Found permissions. Using them for SpyerAdmin.
    2011-06-04 19:58:15 [INFO] SpyerAdmin has completed updating the script successfully.
    2011-06-04 19:58:15 [SEVERE] sun.org.mozilla.javascript.internal.WrappedException: Wrapped java.lang.ClassNotFoundException: com.earth2me.essentials.Console (<Unknown source>#115) in <Unknown source> at line number 115
    2011-06-04 19:58:15 [INFO] SpyerAdmin module version 1.3_2 stable, a spying utility for administrators and moderators, is active. Part of the Spyer package by [nickguletskii200]
  19. Offline


    Read the OP. I am tired of answering the same question all the time.
  20. Offline


  21. Offline


  22. Offline


    bit.ly is wget friendly. And I don't want to remove them because I want to have an idea of how many people download the plugin.
    From the thread you linked me to:
  23. I'm having a problem, anyone who uses the Spyer become visible to those who justenter the server. Does anyone know what might be?

  24. Offline


    I'm trying to use spyerAdmin with essentials' /powertool command (runs a command when I click with the item that the powertool is assigned to), and when I try, Spyer returns the Exception ID CMD1307251235702.

    Is this a essentials bug or a bug on your end?
  25. Offline


    What command is it assigned to? And the ID is a link to the Exception in the log. Could you please copy it over?
    This shouldn't happen, this plugin has listeners for joining, teleporting and it force removes entity every n ticks (don't remember how many, but around a second long)
  26. Offline


    @nickguletskii , did you got around implementing no-pvp for invisible players? (and simply forgot to edit the OP?)
    So people dont get hammered to death by lightstone dust/'the' item?
    Configurable to suite every ones needs I guess.

    Its the only thing that is holding me from placing the .jar and typing /reload.
  27. Offline


    Doing it right now.

    EDIT: Done.
    OrtwinS likes this.
  28. Offline


    just tried it again, and got a different error:

    2011-06-05 08:19:43 [SEVERE] java.lang.ClassCastException: com.earth2me.essentials.User cannot be cast to org.bukkit.craftbukkit.entity.CraftPlayer
    2011-06-05 08:19:43 [SEVERE]     at nickguletskii200.SpyerAdmin.SpyerAdminPlayerListener.invisible(Unknown Source)
    2011-06-05 08:19:43 [SEVERE]     at nickguletskii200.SpyerAdmin.SpyerAdminPlayerListener$2.run(Unknown Source)
    2011-06-05 08:19:43 [SEVERE]     at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    2011-06-05 08:19:43 [SEVERE]     at java.lang.Thread.run(Thread.java:636)

    but the first error with the referred exception is:

    [2011/06/04 22:20:35][INFO]BEGIN EXCEPTION REPORT: WHILE EXECUTING COMMAND. ID: CMD1307251235702
    [2011/06/04 22:20:35][ERROR]Exception ID CMD1307251235702:
    com.earth2me.essentials.User cannot be cast to org.bukkit.craftbukkit.entity.CraftPlayer
    nickguletskii200.SpyerAdmin.SpyerAdminPlayerListener.uninvisible(Unknown Source)
    nickguletskii200.SpyerAdmin.SpyerAdminPlayerListener.reappear(Unknown Source)
    nickguletskii200.SpyerAdmin.SpyerAdmin.onCommand(Unknown Source)
    [2011/06/04 22:20:35][INFO]VAR TRACE:
    [2011/06/04 22:20:35][INFO]Timers:
    [2011/06/04 22:20:35][COLLECTION DUMP]HashMap ID CMD1307251235702:
    [2011/06/04 22:20:35][INFO]Schedulers:
    [2011/06/04 22:20:35][COLLECTION DUMP]HashMap ID CMD1307251235702:
    [2011/06/04 22:20:35][INFO]playerHideTree:
    [2011/06/04 22:20:35][COLLECTION DUMP]HashMap ID CMD1307251235702:
    [MrBradDude, mourginakis, Gellobot, MrBradDude, ...<an INSANELY long printout of everybody that was connected to the server - were only 4 people but it looped it about 50 times.> ...mourginakis, Gellobot, mourginakis, Gellobot, mourginakis, Gellobot, mourginakis, Gellobot]
    [2011/06/04 22:20:35][INFO]END EXCEPTION REPORT: WHILE EXECUTING COMMAND. ID: CMD1307251235702
    And normal /spy works great.
  29. Offline


    What Essentials version do you have? Are you using the latest script from the repo? Nothing calls the method with anything to do with Essentials... Looks like a modified script to me.

  30. Offline


    latest version of essentials. 2.3.1. I'll try reinstalling your plugin.

    Hrmph. Reinstalling your plugin didnt fix it. Perhaps its a bug with essentials? I believe it is, because trying to /powertool with Vanish doesnt work either.

    Do you know of any other item-assigned chat macros, equivalent to /powertool, that might not have a confliction?

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


    Does it only happen with powertool?

Share This Page