Inactive [TP] Wormhole X-Treme - Multi-World Capable Stargates v0.854 [766]

Discussion in 'Inactive/Unsupported Plugins' started by Ben Echols, Jan 24, 2011.

  1. Offline

    Lologarithm

    This is now inactive - http://forums.bukkit.org/threads/tp-wormhole-x-treme-multi-world-capable-stargates-v1-011-953.23973/ is where you can find the currently active developed version.




    Release v0.854 contains the fix to stop the IndexOutOfBoundsException that happens when 3d shapes have no light blocks. Also contains the fix for 2d gate iris levers (they get added properly again). The Wormhole X-Treme Worlds support is for a version of WXW that is still under development, expect things to break badly if you enable it without the proper version of WXW (0.5, which is not released as of yet).

    If this is your first time downloading this please download the zip, it contains the database software we depend upon.
    You are also encouraged to read the changelog and readme. Especially the readme.
    Basic instruction for use and configuration can be found below.

    Major Features:
    • Player teleportation!
    • Multi-world support
    • Permissions integration (As well as some basic built-in permissions)
    • Custom 3d & 2d gate shapes
    • Iris password protection
    • Minecart teleportation
    • Help plugin integration
    About Wormhole Xtreme:

    Get the Source
    Donate to my coffee fund (It helps me code faster!)

    When I first heard about bukkit I knew I wanted to write a plugin. As I always wanted a way to teleport around I thought it would be fun to write a mod that could do this. I thought writing one like the Stargates from Stargate would be cool.

    So I decided I would make my own portal plugin as my first try at bukkit (and really first mod for Minecraft so far).

    So here is my release of Wormhole X-Treme!

    video (open)

    Samkio made a usage video here, it is a touch out of date but the general idea still works:


    Changelog with important entries in bold (open)

    Changes 0.854
    • Updated chunk (un)loading to happen when gate (de)activates and when dial lever state changes happen.
    • Fixed iris levers not being added properly with 2d gates. (Oops, guess that code WAS needed)
    • Fixed IndexOutOfBoundsException on 3d gate shapes without lighting blocks.
    • Hamfisted fix for signs not updating. Now we nuke the sign and build it from scratch every time a gate sign is toggled. Causes a flash, but... who cares. It works EVERY time now.
    Changes 0.853:
    • Fix for /dial gates breaking when a user who doesn't have dialer permission hit the lever.
    • Switched to getTypeId() from getType(), hopefully this works around the getType() == Air bug that might be lingering.
    Changes 0.852:
    • Added support for upcoming Permissions 3.0.x release.
    • Fixed a NPE in 2d shape code dealing with light block positions.
    • Added soft dependencies to plugin.yml.
    • Minor log format changes for readability.
    Changes 0.851:
    • Complete revamp of how we handle permissions checks. Lots more case statements, lots less if/else if. Much better. This is what enums are for.
    • Added new gate use cooldowns. This feature will only work on complex permissions enabled servers. There are three groups you can assign a player to; 'wormhole.cooldown.groupone', 'wormhole.cooldown.grouptwo', and 'wormhole.cooldown.groupthree'. If you have an '*' on any user/group, remember to '-wormhole.cooldown.groupone' etc. There is a new command to enable, disable, and modify cooldowns; 'wormhole cooldown [true|false|group] <time>', valid groups being 'one', 'two', and 'three', valid time being between 15 and 3600 seconds. There are also Settings.txt options for all of these new settings. Cooldowns are set when a player enters a stargate, not when they /dial. Cooldowns are removed via timer events, and even if the timer event fails, we do a fall back calculation when a player enters a stargate, and gets denied access.
    • Added new gate build count restrictions. This feature will only work on complex permissions enabled servers. There are three groups you can assign a player to; 'wormhole.build.groupone', 'wormhole.build.grouptwo', and 'wormhole.build.groupthree'. If you have an '*' on any user/group, remember to '-wormhole.build.groupone' etc. There is a new command to enable, disable, and modify build count restrictions; 'wormhole restrict [true|false|group] <count>', valid groups being 'one', 'two', and 'three', valid count being between 1 and 200. There are also Settings.txt options for all of these new settings.
    • Updated the stargate sign dial sign reset code to be more reliable at causing the client to notice update changes.
    • Added a thrown exception during stargate 3d shape parsing if the shape doesn't have an exit point. We depend on this location for pretty much everything. If it isn't there, really bad bad bad things happen.
    • Now we have more than just Standard as our default shape. We extract Standard, StandardSignDial, Minimal, and MinimalSignDial to the gateShape folder if it is missing shapes.
    • Now we don't toggle stargate signs when we start.
    Changes 0.850:
    • iConomy support removed. I will not depend on plugins that decide to change their package name 5 major versions in and basically give everyone who depended on the package location the middle finger.
    • 3d Gate shapes now implemented.
    • Custom gate settings now in place (read: per gate material settings). This included the re-addition of the portalmaterial and irismaterial commands. lightmaterial, redstone, wooshdepth, and custom commands newly added.
    • Massive internal overhaul, refactorings, cleanups, general goodness and bugfixes.
    • Added support for Wormhole X-Treme Worlds. This allows Wormhole X-Treme to offload its chunk loading and world loading to WXW, for worlds that exist in WXW. Requires user to change Settings.txt option WORLDS_SUPPORT_ENABLED from false to true. This option requires Wormhole X-Treme Worlds v0.5 to be installed, and preferably configured for every existing world populated with stargates. If this option is set to true but WXW is not v0.5 (or not installed), WX will not load its stargates from its database.
    • Removed many superfluous chunk load requests. Added graceful chunk unload queue when we are done with a chunk.
    • Bumped supported version of permissions to include the 2.7 tree.
    • Updated help text for new/modified commands.
    • Added backwards compatibility, for those users who just don't want to upgrade to 3d shapes.
    • Added loads of failsafe settings, for when users don't have any shapes installed, but have stargates already.
    • wxidc now only works on non-sign powered gates which have iris activation blocks set.
    Changes 0.833:
    • Fixed iConomy double(or many many more) charging issue. Tried to do something awesome, turned out to be a bad idea. We'll revisit these kind of changes when 3d shapes are in and I can do some major refactoring and method merges/splits.
    • Bumped supported version of permissions to include the 2.6 tree.
    • Merged some of the sign click schedule related methods. Should make sign click messages more reliable.
    Changes in v0.832:
    • Fixed a NPE in new database initialization. Whoops, missing null-check, added.
    Changes in v0.831:
    • Fixed erroneous messages sent when a plugin is attached to already and WXT receives a plugin event for it. Cosmetic bug, fixed.
    Changes in v0.830:
    • Water now will not flow over Stargate anythings. No more broken levers and magic blocks of water floating in their place.
    • Buckets now will no longer work with stargate anythings. No free water and lava.
    • Minor optimizations and code cleanups.
    • PORTAL_MATERIAL, IRIS_MATERIAL, STARGATE_MATERIAL, ACTIVE_MATERIAL are all part of gate shape now.
      • All configuration values associated with these are gone now.
      • Gate shapes without these default to
        • PORTAL_MATERIAL = STATIONARY_WATER
        • IRIS_MATERIAL = STONE
        • STARGATE_MATERIAL = OBSIDIAN
        • ACTIVE_MATERIAL = GLOWSTONE
    • Updated default gate shapes that come in the zip to include these new values.
      • See gate shape files for more details
    • Removed version 1 DB conversion because new design doesn't allow for it anymore.
      • For users this means if you are upgrading from version 0.3 or less to this version you will need to remake your gates.
    • Fixed NPE in onPlayerInteract caused by event not reporting the block the interact event was associated with.
    • Logic tweak in the find safe teleport code. Should be *safererer*
    • Sign powered stargates now can only target other sign powered stargates.
    • Fixed so that when coming from a lava portal stargate to a non-lava portal stargate fire damage is canceled still. No more nasty fire after a teleport.
    • Added the logic back in to stop people from randomly teleporting when next to the lever of an active gate. The side effect is, when block.getType() fails, gates don't work. Its one or the other.
    • Fixed /wxcomplete permission deny issue with stargates on public networks.
    • Added ICONOMY_OWNER_EXEMPT option to Settings.txt with a default value of true. When true this option disables the charging of gate owners for using their own gates.
    Changed in v0.821:
    • Update version of iConomy we build against and test for.
    • Fix NPE in old non-shape based gates.
    • Added custom StargateTeleportEvent for MinecartMania as we nuke the minecarts before we teleport the player and put them back in the minecart.
    • Refactored package to com.wormhole_xtreme.wormhole in anticipation of adding more stargate related projects.
    Changed in v0.820:
    • Initial support for CraftBukkit Build 600.
    • Got rid of the stupid double error that people got by not reading the readme. Now when we parse settings.txt, if the value is integer for the iconomy settings, we change it to a double by simply dropping a .0 at the end of it. Problem solved.
    • Lots of optimizations to the distance finding method we were using. Also fixes to the gate shape parsing code. (Thanks lirelent)
    • Overhaul of the way we handle permissions internally. More unified approach to the actual permissions checks.
    • Gate block protection should now be compatible with plugins like mcMMO. "Should" being the operating word.
    • Levers now properly move when used and toggle on and off when stargate and iris are activated.
    • All Permissions deny events now log at Level.FINE. Got permissions problems with WXT? Now see what is happening.
    • Optimized fire protection. Now we use timer events that go off 2 seconds after gates close. This way we don't have to listen for fire type events 24/7. :)
    • Fixed teleportation dropping people into very unsafe locations. Now we scan for safe place to drop people, if we can't find one we drop the player in front of the DHD. This will also FIX wormholes by setting the stored teleport location to the new clean and safe location.
    • We now support using the help plugin along with WXT.
    • We now have settings.txt options to hard disable support of iConomy, Permissions, and the help plugin. No longer do we log a warning when unable to find the plugin we depend on. We log at INFO. :p
    • Buttons are no longer really used. If a button exists on a stargate, it will be replaced with a shiny new lever on the first use.
    • Lava stargates are *really* safe to use now. For trees even. Not minecarts though.
    • A whole host of debugging information has been added at Level.FINE. If you can trigger a bug reliably, set yourself to fine and provide the server.log details surrounding the bug. Not recommended for production servers as well... its exceissive.
    • The '/wormhole regenerate' command is partially added. Will regenerate missing activation and iris levers.
    • Minecarts work across chunks and worlds now! If you run into a location where it doesn't work, use the wormhole in both directions to correct the wormhole, then try again. :)
    Changed in v0.812:
    - /wxgo now works properly when traversing world bounderies. First we quickly pop into the default spawn location for the target world, then from there we go to our final destination. It is a hack, but it is a working hack. :)
    - methodized the code to find closest stargates, and find distance from closest stargate blocks as well as the math to find distance.
    - Updated block ignition events to only use proximity style checks. Block ignition event cancellation radius increased to active stargate woosh depth or 4 blocks, which ever is further.
    - Updated '/wxcompass' to use new FindClosestStargate method.
    - Updated onEntityDamage to use only proximity style checks. On active gates a bubble of no fire damage of either woosh_depth or 4 blocks, which ever is larger, is created. On closed gates a bubble of 2 blocks is created to stop fire ticks occuring right as a gate closes. Stopped caring about potential drowning in stargate. If user decides they want to stand in the wrong side of a gate till they drown, that is their choice.
    - Re-added missing CONSTRUCT_NAME_TAKEN error string in ConfigManager. This stops an NPE in 'wxcomplete'.
    - Added support for tkelly's Help plugin. Will generate proper config based on permissions type (simple or complex) or lack of permissions plugin altogether.
    - Refactored the heck out of iConomy and Permissions support. Own classes in a new package to go along with the Help support. Methodized a bunch of useful functions. Less duplicated code.
    - Added some log output for 'wxforce'. Should help combat abuse.
    - Ops are now always able to use 'wxremove'.
    - The '/wormhole simple' command now refreshes Help entries to the proper permissions after being set.

    Changes in v0.811:
    - Came up with a proximity based check for stargates in the lava & fire event
    cancellation code. Now only 3 block radius around active lava portals
    gets its lava & fire events cancelled. STATIONARY_LAVA is safe for players
    to use in portals now. For reals.
    - Version 4.5 of iConomy is now supported and verified as working.
    - Now we actually check for Iris on gate use while in minecart...
    - Back to the good ol kick the player out of the cart and stuff them through
    the stargate method. Doing a bit of a hackish teleport when going between
    worlds as well. We tp to spawn, then instantly to destination. This is only
    when starting the tp while in minecart. If minecart is empty and passing
    into a stargate that will traverse worlds, we kick the minecart back. Otherwise
    it will dissapear into the void.
    - Now we cancel block ignite events on a proximity basis, same way we cancel
    fire and lava events on player. No more trees bursting into flames near a stargate.

    Changes in v0.810:
    - Broke '/wxcompass' out into its own class. Removed '/wormhole compass'.
    - Broke '/wxcomplete' out into its own class. Removed '/wormhole complete'.
    - Broke '/wxidc' out into its own class.
    - Broke '/wxremove' out into its own class. Removed '/wormhole remove'. Fixed so it toggles iris to off state before removing gates with iris active.
    - Broke '/wxlist' out into its own class. Added no permissions error message. Removed from '/wormhole' command.
    - Added command '/wxgo' and broke it out into its own class. Added no permissions error message.Removed from '/wormhole' command.
    - Broke '/dial' out into its own class.
    - Broke '/wxbuild' out into its own class.
    - Broke '/wormhole' out into its own class.
    - Added another message for active gates. Now it will say either remote activated, or activated by someone else already.
    - Added SIMPLE_PERMISSIONS config option. The default value of 'false' makes permissions node settings use complex mode. While the setting of true sets the plugin to check for extremely simplified permissions. Permission node details can be found in the README.
    - Refactored the WXForce class to Force. Hopefully this shuts MSSE up. ^^;
    - Moved a bunch of the initial loading out of onEnable and into onLoad. Now we use onEnable only for events that should only happen at plugin Enable.
    - Updated '/wormhole' command to have more descriptive errors and built in help. Updated help information for this command as well. Command now has unified messaging string headers. Added new 'simple' option to enabling simple permissions while the game is live. Requires the user to have proper permissions node for configuration in target mode. Removed a bunch of duplicated permissions checks. Only one check is needed at beginning of command call now.
    - Revamped readme to reflect important recent plugin package changes.
    - Fire damage, combustion damage, and drown events now canceled in stargate. Now LAVA is really a valid portal material.
    - Creeper explosions are now canceled when they would cause damage to stargates. This will stop signs and buttons from being destroyed during that mad dash to/from a stargate. ^^

    Plugin Commands (open)

    dial:
    description: Dial a remote Stargate, unlock IDC with optional password
    usage: /dial <StarGate> [IDC]
    <stargate> The StarGate to dial.
    [IDC] Use optional password to open remote Iris.

    wormhole:
    description: Wormhole administration and configuration commands.
    usage: /wormhole <commandtype> [ARG1] [ARG2]
    Valid Commands - 'owner', 'perms', 'portalmaterial', 'irismaterial', 'lightmaterial', 'shutdown_timeout', 'activate_timeout', 'simple', 'regenerate', 'redstone', 'wooshdepth', 'cooldown', 'restrict', & 'custom'.

    wxlist:
    description: List all Stargates.
    usage: /wxlist - List all Stargates.

    wxbuild:
    description: Automatically Build Stargate.
    usage: /wxbuild <GateShape>
    <GateShape> The GateShape to build.
    After placing a DHD with a button (and sign if wanted) running this command then pressing the button will cause the specified <GateShape> to be built.

    wxremove:
    description: Remove a stargate, optionally destroy its blocks.
    usage: /wxremove <GateName> [-all]
    <GateName> The GateName to remove.
    [-all] destroys gate blocks too.

    wxcompass:
    description: Point compass needle at nearest Stargate.
    usage: /wxcompass - Point compass needle at nearest Stargate.

    wxcomplete:
    description: Complete StarGate construction.
    usage: /wxcomplete <GateName> idc=[IDC] net=[Net]
    <GateName> The name to give new Stargate.
    [IDC] Optional password to give Stargate.
    [Net] Optional network for Stargate.

    wxidc:
    description: Gets or sets a gates IDC.
    usage: /wxidc <GateName> <optional_set_idc>
    Requires being either owner or have wormhole.config
    set -clear to remove the IDC

    wxforce:
    description: Forcefully shut down all gates and/or open all iris
    usage: /wxforce <close|drop>

    wxgo:
    description: Teleport to specified wormhole.
    usage: /wxgo <GateName>

    Install directions (open)

    New Install:
    1. Download the zip.
    2. Unzip file into same directory that your craftbukkit.jar exists in. This should put the hsqldb.jar into the lib/ folder, the WormholeXTreme.jar into the plugins/ folder, and the latest versions of GateShapes into the plugins/WormholeXTreme/GateShapes/ folder.
    3. Start server
    4. (Optional) Stop the server and edit the newly generated /plugins/WormholeXTreme/settings.txt file as needed.
    5. (Optional) Edit gate shapes in /plugins/WormholeXTreme/GateShapes/
    6. (Optional) If using the Permissions plugin based plugin, set up the appropriate permissions. If using SIMPLE_PERMISSIONS = true remember to use permissions from the Simple Mode list, otherwise use nodes from Complex Node.
    7. (Optional) Start Server again

    Basic use instructions (open)

    Basic Use:
    First off you need to make a stargate. I you can see the design design below - you need the Gate, a Dial Home Device (DHD), and a stone button or lever facing away from the gate on the DHD. The purple blocks are Obsidian, and the Blue has to be air, but will turn to water when the gate is activated.
    basic_stargate_and_dhd.png

    A real example of a constructed gate:
    2011-01-24_01.53.11.png

    You MUST make the gate exactly as it is in the picture.

    Once it is assembled hit the button ( You need to stand at least one block away from the button for the event to trigger. ) and the system will confirm that the stargate is properly made. If you don't see a "wormhole design valid" message you did not create the gate properly.
    If you did see the message, you simply type /wormhole complete <name> to finish and name the gate. A name sign with the gates name should appear on the gate. You can optionally type /wxcomplete <name> <idc=[IDC]> (idc = iris deactivation code, or the code needed to use the gate) - this will make your gate password protected.

    Now if you hit the button again it will "activate" the gate to be dialed.

    To Dial (after hitting the button) you type "/dial <remote_gate_name>" and the gate will open and fill with water! (You can change the portal material by using /wormhole material) The gates currently don't by default timeout after dialing. If the remote gate has an iris code you will need to type "/dial <name> <idc>" to activate the remote gate.

    Hitting the button again from the gate that dialed out will deactivate the gate. Pressing the button on a gate that has been dialed in to will do nothing because you can't activate a gate that is remotely activated. (Tried to keep it just like the show haha).

    Name Sign Dialing (Public Gate System):
    • NOTE: This is an alternate way to BUILD a gate. Currently existing gates will not work by simple placing a sign next to the activation button. You will need to /wormhole remove first and then re-complete the gate using this system.
    • Place a second obsidian "pillar" next to the main DHD and place a sign on it. Put the name of the gate on the top line.
    • Gates with this sign can only be dialed via the sign now. You will only see other gates that have a sign.
    • Gate without a sign can dial IN to a sign gate.
    • AGAIN : If you make a gate without a sign it will NOT be on the list of gates.
    • To cycle through possible gates use right click - Sometimes it takes a click or two for it to work :)
    • See here for sign dialer gate example:
    • 2011-01-25_02.15.31.png
    • Note - unless you have STARGATE_FULL_ACCESS or "wormhole.remove" you will be unable to destroy any blocks that are part of the gate.
    • Networks!
      • If you put any text on the second line of the sign, it will be the "network" the gate is on.
      • You will only be able to dial other gates on the same network as you
      • Currently you cannot change the network, so make sure you type it correctly!
      • By default (if nothing is put on the second line) a gate will be part of the "Public" network.

    Basic configuration settings (open)

    Configuration:
    • All configuration is now stored in a file /plugins/WormholeXTreme/Settings.txt
      • All descriptions of the settings will be found in that file with the settings.
    • You can change some options while the server is running:
      • /wormhole activate_timeout <optional_timeout>
        • This is the length of time after activating but before dialing that the gate deactivates.
        • This does not affect sign dialed gates.
      • /wormhole shutdown_timeout<optional_timeout>
        • Setting to 0 means portal only closes after something goes through, and then immediately closes.
        • This setting is how long after a player dials a gate before the gate shuts down.

    Permissions plugin settings (open)

    Permissions:
    • This plugin works with the Permissions plugin. (Currently 2.5+ Only)
      • Changing the built in permissions will not change the Permissions plugin at all.
    • Without the Permissions plugin you can use the built-in permissions (disabled by default)
    • /wormhole perms - for more information
    • to enable/disable default perms /wormhole perms active <true|false>
    • When built-in permissions are active:
      • Default OPs get all access
      • Default all other users get USE only
    Permissions Plugin Nodes: (Controlled by settings.txt - SIMPLE_PERMISSIONS)
    SIMPLE_PERMISSIONS = false
    Complex Mode:
    wormhole.use.sign - lets a user use sign gates.
    wormhole.use.dialer - lets a user use '/dial' gates
    wormhole.use.compass - lets a user use '/wxcompass' command.
    wormhole.remove.own - lets a user remove a gate that they own
    wormhole.remove.all - lets a user remove any gate
    wormhole.build - Able to build new wormholes
    wormhole.config - Able to configure settings like material and timeout
    wormhole.list - Able to use '/wxlist' command to list wormholes
    wormhole.network.use.NETWORKNAME - Able to use wormholes on NETWORKNAME
    wormhole.network.build.NETWORKNAME - Able to build wormholes on NETWORKNAME
    wormhole.go - allows user to use '/wxgo' command.
    wormhole.build.groupone - Part of build restriction group one.
    wormhole.build.grouptwo - Part of build restriction group two.
    wormhole.build.groupthree - Part of build restriction group three.
    wormhole.cooldown.groupone - Part of wormhole use cooldown group one.
    wormhole.cooldown.grouptwo - Part of wormhole use cooldown group two.
    wormhole.cooldown.groupthree - Part of wormhole use cooldown group three.

    SIMPLE_PERMISSIONS = true
    Simple Mode:
    wormhole.simple.use - Lets a user use wormholes.
    wormhole.simple.build - Lets a user build wormholes.
    wormhole.simple.remove - Lets a user remove wormholes.
    wormhole.simple.config - Lets a user configure WormholeXTreme settings

    Help plugin settings (open)

    Help:
    • Currently there are no configuration options for Help the help plugin. It is just plug and play. If you want to change the help text, you are able to do such via the Help plugin override build into the Help plugin.

    As always please let us know of any bugs! Just remember, some bugs are in vanilla and craftbukkit itself, so we may not be able to address them easily.


    Devs: Lologarithm & alron
     

    Attached Files:

  2. Offline

    alron

    If you want an immediate fix, restart your sever. Both issues sound like they are related to the failures we have been seeing in the Bukkit block.getType() call. Where it starts reporting AIR instead of the actual block type. Causes our sanity checks to well... fail. We have already removed the use of it in a few spots where we could easily (the fix for the major gate failure bug plaguing prior versions).

    I will look back at the woosh code and see if there is any thing I can do with it.

    Oh, I forgot to add, if you set your logging to FINEST in your plugins/WormholeXTreme/settings.txt file, we have almost excessive logging. It'll show up in the server.log file. ^^
    [MERGETIME="1300064974"][/MERGETIME]
    Ok, I've started work on removing as many block.getType() calls as I can. I have completely removed them from the actual woosh process. Once I have something I think is worth trying, I'll drop a test build.
     
  3. Offline

    unusualbob

    I think we're on finest right now and specifically I'm looking for when I press a button on a gate and it gives me 'error: gate is remotely activated' it would help to know which gate is on the other end. I do enjoy seeing my telnet scroll crazily when it logs all the animations for a gate though :p

    We can fix the activated glitch as well by just quickly remaking the gate, but I figure we might be able to determine the cause of the glitch if we know the offending gate. I think we'll fix the major leaks by disabling the woosh for the time being.

    We've been trying not to reboot too much recently as we're using sqlLite with bigbrother, which was a bad choice. We're moving to mysql soon enough so that reboots don't take 30-40 min.

    Thanks :)
     
  4. Offline

    alron

    Oh jeezus, that is horrible. I can totally understand not wanting to restart.

    Sadly, the portal locked in an on state bug you are talking about has nothing to do with other gates. :|
    I'll look into making an admin command to force kill active gates. For those pesky gates locked on.
    [MERGETIME="1300092292"][/MERGETIME]
    Ok, I've added the command '/wxforce <gate|drop>' into the master github repo. Will be in the next release.

    This command lets ops and those with the 'wormhole.config' or 'wormhole.remove.all' permissions nodes forcefully close all active gates and/or temporarily drop all active irises. Irises will return on a gate by gate basis once their gate is dialed, and the wormhole closes. Upon close and drop it will print the list of closed gates and dropped irises to the user who ran the command.

    Command is valid from both in-game and console.

    I have a few more tweaks to make to it, but hopefully this command can be used for those times when gates are locked open/active because of bukkit bug.
     
  5. Offline

    unusualbob

    Awesome :D I guess the only bug I can think of after that is the one where we have perfectly created wormholes and clicking the button does nothing. I assume it also falls under the getType() failure of bukkit. This bug also applies to the wxbuild command, and restarting always fixes it, but sometimes it fixes itself with time.

    Edit: An update on the wxcomplete, after a while it semi fixed itself, but instead of doing nothing when I hit the button it gave me a 'An internal error occured while attempting to perform this command'. Console log:

    Code:
    06:28:43 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'wxcomplete' in plugin WormholeXTreme v0.8
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:80)
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:183)
            at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:645)
            at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:608)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:602)
            at net.minecraft.server.Packet3Chat.a(SourceFile:24)
            at net.minecraft.server.NetworkManager.a(SourceFile:230)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:76)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:357)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
            at com.wormhole_xtreme.model.Stargate.SetupGateSign(Stargate.java:515)
            at com.wormhole_xtreme.model.Stargate.CompleteGate(Stargate.java:485)
            at com.wormhole_xtreme.model.StargateManager.CompleteStargate(StargateManager.java:237)
            at com.wormhole_xtreme.WormholeXTremeCommand.doGateComplete(WormholeXTremeCommand.java:230)
            at com.wormhole_xtreme.WormholeXTremeCommand.commandCompleteGate(WormholeXTremeCommand.java:884)
            at com.wormhole_xtreme.WormholeXTreme.onCommand(WormholeXTreme.java:231)
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
            ... 12 more
     
  6. Offline

    neromir

    Having some issues on my server with network gates and permissions. It's possible (read probable) that I have something misconfigured but I'm rather stumped as to what. Running CB 531 and WXT v0.8

    What's happening is my players can build networked gates and complete them, but when activating them they get a "You don' t have permissions to do this" when they try to go through the portal (touching the water). I haven't tried to build one myself yet, but when I've tried to activate and travel through it I have the same issue, and I have the '*' permission and am OP.

    Note that I do have WORMHOLE_USE_IS_TELEPORT set to true in my plugin settings.

    Code:
    groups:
         Default:
             default: true
             info:
                 prefix: ''
                 suffix: ''
                 build: true
             inheritance:
             permissions:
                 - 'wormhole.use.*'
                 - 'wormhole.build'
                 - 'wormhole.remove.*'
                 - 'wormhole.network.*'
         Admins:
             default: false
             info:
                 prefix: ''
                 suffix: ''
                 build: true
             permissions:
                 - '*'
                 - '-afkbooter.exempt'
    
    On a side note: is there an easy way to do a search on only this thread? I've tried poking around on it, but it seems to only search the entirety of the forums...
     
  7. Offline

    Lologarithm

    I will look into this - seems like a bad bug if someone with Op and * can't use gates :)
     
  8. Offline

    alron

    Hopefully I didn't boff the configuration for this. I remember testing it before releasing... But you know how it is. Rush rush rush. ^^;
     
  9. Offline

    ThomasJ

    CraftBukkit build 552 contains a fix which now should rid us of the block.getType() issues.

    Not been able to test it properly myself yet, but no errors with any of my far too numerous plugins, and others are reporting the issue as gone.
     
  10. Offline

    alron

    Oh thank fuck. Time to start testing... and see what other things it broke for us. ^^
     
  11. Offline

    BigRedWood

    I'm using CB 531 and the latest Wormhole. Yesterday I was able to use networked wormholes fine (as far as I could tell anyway.) Today I created three networked sign gates. All are using network1 as the network. Whenever I try to enter the gate, I get spammed with 'you lack the permissions to do this'
    I've tried it as OP, failed. I added the permission wormhole.network.use.network1 and wormhole.network.use.*, failed. I'm not sure what else to do but to delete them all and create them on the public network, which will work, but is not what I'm trying to use these particular gates for. Thanks for any information.
    Side note: has anyone tested build 554 of CB yet? Looks like it's been out for about 3 hours now.
     
  12. Offline

    Lologarithm

    Found the bug and fixed it. Next release won't have this issue anymore.
    [MERGETIME="1300129039"][/MERGETIME]
    Also, just to make sure you see this, I fixed the issue :)
     
  13. Offline

    ThomasJ

    Running 552 so far, and everything seems to be working just fine so far. No breakage anywhere.
    Not tested 554 yet as it removes a lot of depreciated functions and I expect breakage until mod authors catch up (although they should have already due to the depreciated functions having been depreciated).

    553 should also be safe as it only implements an onLoad() function for plugin authors to use.
     
  14. Offline

    alron

    WXT should be safe with 554. We don't use any deprecated functions. The only thing we are missing is the onLoad. So it'll bitch, but should still work... "should" being the key word. ^^
     
  15. Offline

    neromir

    Thanks! I'll try to get that tested once I get ahold of the next release.
     
  16. Offline

    kliu

    is it possible to lock a gate then destroy teh dhd so it will stay perma locked, only opening when someone dials in with the correct idc?
     
  17. Offline

    Lologarithm

    If you lock the iris, and destroy the iris lever it will stay locked - however anyone with permission for that gate can place a new lever and re-open it.
     
  18. Offline

    Mochara

    Hi there! A question from my community I can't seem to find an answer to.

    Is it possible to charge for private Wormholes and NOT charge for Wormholes on a "public" network?
     
  19. Offline

    Lologarithm

    Right now it isn't. We have been trying to figure out how we want to create a more dynamic charging system, but have been slowed down from working on this by all the recent problems we have been having. There will at some point in the near future (probably not this next release, but maybe the one after) some way of having costs on a network/individual gate basis)
     
  20. Offline

    Laichonious

    *UPDATE* so good news, I'm only retarded LOL. I updated my server to the latest build of Craftbukkit and the longrange stargates do not kill us anymore yay! but now it seems that I cannot get it the server to use more than 1GB of RAM... it just tells me that it failed to initiate the VM any ideas?
     
  21. Offline

    BigRedWood

    If you're running 64bit Java it's pretty easy. Here is my boot command (I run the server on a Server2008 machine) that gives the server 4gb of ram.
    Code:
    java -server -Xmx4096M -Xms4096M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=2 -XX:+AggressiveOpts -jar craftbukkit-0.0.1-SNAPSHOT.jar nogui
    PAUSE
    If you aren't on 64 bit, then you are basically limited to 1536.
     
  22. Offline

    Laichonious

    Well, that one unfortunately didn't work. it gave me a different error though, as follows
    "Exception in thread "main" java.lang.NoClassDefFoundError: java
    Caused by: java.lang.ClassNotFoundException: java
    at java.net.URLClassLoader$1.run<Unknown Source>
    at java.security.AccessController.doPrivileged<Native Method>
    at java.net.URLClassLoader.findClass<Unknown Source>
    at java.lang.ClassLoader.loadClass<unknown Source>
    at sun.misc.LaucherAppClassLoader.loadClass<Unknown Source>
    at java.lang.ClassLoader.loadClass<Unknown Source>
    Could not find the main class java. Program will exit."

    this is the batch code that is working right now:
    Code:
    @ECHO OFF
    "D:\Program Files\Java\bin\java.exe" -Xms1024M -Xmx1024M -jar "craftbukkit.jar"
    
    
    PAUSE
    My system specs:
    AMD Phenom II x4 965 3.40GHz
    4.00 GB RAM
    64 bit Windows 7
    NVidia 9800 GT
    java version "1.6.0_24"
    Java SE Runtime Environment <build 1.6.0_24-b07>
    Java HotSpot Client VM <build 19.1-b02, mixed mode, sharing>

    I'm pretty sure that it's 64 bit I'll look into that... Like I said before, my experience with java is limited but it looks to me that it is telling me that it can't load some pretty crucial classes, which makes no sense. I've had minecraft tell me occasionally that it can't load classes, but if you just keep clicking on it it eventually loads the interface. Not the same luck here though[​IMG]
     
  23. Offline

    BigRedWood

    If you are running a 64 bit O/S, it can be a pain to get the 64 bit java. I had to install 64 bit IE before I went to the java download page or else it would never give me the option to get the 64 bit.
    Try this bit of code:
    Code:
    @ECHO OFF
    IF /I "%PROCESSOR_ARCHITECTURE:~-2%"=="64" "%ProgramFiles(x86)%\Java\jre6\bin\java.exe" -Xms1536M -Xmx1536M -jar "%~dp0craftbukkit-0.0.1-snapshot.jar"
    IF /I "%PROCESSOR_ARCHITECTURE:~-2%"=="86"  java -Xms512M -Xmx512M -jar "%~dp0craftbukkit-0.0.1-snapshot.jar"
    PAUSE
    Replace the *.jar with what you're using. It'll find out which architecture you're running and try the java for that one. I had used this one briefly, but I couldn't get the 64 bit java to use more than 1536mb ram. Good luck!
     
  24. Offline

    Laichonious

    @BigRedWood
    well, I tried that bit of code, it gives me "Cannot find file path specified" no matter what I do. But if I take out the 'if'statements at the beginning it works. but it still cannot execute the VM if I tell it to use more than a gig of RAM... I think I'll try getting Java through IE and see if I can't get the 64 bit version for sure

    *update*
    got the 64 bit Java SE JDK version 6 installed and THEN it worked! I even told it to use 2GB og RAM so now everything is cool. Sometimes you just gotta talk thru problems, even teh simple ones. Big THANKS BigRedWood, and a thousand internets to Bukkit Forums!
     
  25. Offline

    Truelaw

    now, i dont know if this has been answered or not but i'm having a problem with the gate system, and it doesn't seem to be the actual gate itself.

    ok in detail:
    i can make gates, and they work fine, however when creating i get a message saying their was an internal server error after i hit enter for creating, now a sign shows up and everything so it appears to be working fine. however every time the server restarts i have to remake all the gates and everything, this is obviously a very minor issue but it can be quite a hassle.

    now i should note i use servercraft.co and thus dont have access to FTP, so i cant actually see if my hsqldb.jar is in the minecraft/lib/ folder, however i am wondering if the directory location is say MC1111/lib/ how would this effect the plugin, if so is their a way for me to update it so it directs to MC1111 (or what ever directory houses my minecraft.)

    if you need anymore information please let me know, i'm new to minecraft servers and minecraft modding, both the informative posts here and the help of my host have taught me a lot.
     
  26. Offline

    BigRedWood

    After discussing this with you I decided to do some digging. I spent an hour scouring different discussion sites about the issue of java -server commands. I found an excellent one that was very detailed. Here is my updated startup command:
    Code:
     java -server -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:+UseAdaptiveGCBoundary -XX:MaxGCPauseMillis=500 -XX:-UseGCOverheadLimit -XX:SurvivorRatio=12 -Xnoclassgc -XX:UseSSE=3 -Xmx8192M -Xms1536M -jar craftbukkit-0.0.1-SNAPSHOT.jar nogui
    PAUSE
    For your setup, you'll want to set the numbers differently. I'm running on a 12 core 16gb of ram machine. Change yours to be -Xmx4096M -Xms1536M. This will tell it to have a maximum memory usage of 4gb, starting at 1.5gb. The rest of the settings are related to faster chunk loading etc. I've been running this startup for the last 16 hours or so, and the server has been running smoother than ever. Teleporting is now almost instant. No long delays waiting for chunks to load. I'm very very happy now.
     
  27. Offline

    Creed101

    Great Plugin, I just miss the real Stargate sounds ;D

    I think I found a bug:

    I named a gate over a sign "Big Pit" (yes with a blank). With that name nearly everything works fine except deleting it with "/wormhole remove Big Pit". It says there is no WH named Big. Tryed everything (Big+Pit, Big_Pit,...)

    [​IMG]
     
  28. Offline

    alron

    use /wxremove "Big Pit"
     
  29. Offline

    Psycho Robot

    this is a really nifty plugin, however as I installed and tested it, I found some unexpected behavior. The first is that, even though I have the permissions plugin installed, and have BUILT_IN_PERMISSIONS_ENABLED set to false, it still seems to ignore the permissions settings, instead using the built in permissions. I have my permissions settings thusly:



    Code:
    groups:
        Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - 'wormhole.use.sign'
                - 'wormhole.use.dialer'
                - 'wormhole.remove.own'
                - 'wormhole.build'
                - 'iConomy.payment'
                - 'iConomy.access'
                - 'iConomy.rank'
                - 'iConomy.list'
                - 'localshops.buysell'
        Moderator:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
                - Default
            permissions:
                - 'wormhole.use.compass'
                - 'wormhole.remove.all'
                - 'wormhole.list'
                - 'wormhole.go'
                - 'iConomy.admin.stats'
        Admins:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - '*'
    users:
        Psycho_Robot:
            group: Admins
            permissions:
        Silver_Wits:
            group: Admins
            permissions:
    I had one of my friends, who is a default users and thus should only be able to build, use, use sign, and remove his own wormholes, even though he was an OP, on the server to do some testing. However, he was able to do every command as an OP. I checked the console and nothing appeared when a command which should not have been executed was executed. However there's a bit more than OPs being able to do commands they shouldn't. See, when he was NOT an OP, I got the following unexpected results:

    Command: /wxremove [wormhole which is not his own]
    Expected result: Lack of permissions
    Actual result: Successfully removed the wormhole

    Command: /wormhole list
    Expected result: Lack of permissions
    Actual result: Nothing happened or was displayed

    Command: /wormhole go [any wormhole]
    Expected result: Lack of permissions
    Actual result: Nothing happened or was displayed

    Command: /wxidc [wormhole which is not his own] [idc which was the same as the current idc for that wormhole]
    Expected result: Lack of permissions
    Actual result: Nothing happened or was displayed

    Are these anomalies a result of me not setting it up properly? I have the bukkit development snapsot that I got yesterday, and both the permissions plugin and this plugin are the most current verions. If you could offer any help I'd appreciate it.
     
  30. Offline

    Cryzabey

    My problem is identical to that of Psycho Robot. Ops can manipulate portals at will, but users/moderators with portal permissions receive insufficient privilege messages.

    The only issue that I could think of would be that I'm using Group Manager for permission handling rather than Permissions.

    EDIT** I lied. Double spelling error... Haha
    Keep up the good work! Love this plugin [:
     
  31. Offline

    alron

    @Psycho-robot

    Ops are allowed to do anything. Even if permissions are enabled. It is hard coded this way, and not something we plan to change in the near future. Generally speaking, if someone is able to shut down the server, they are able to do anything they want to WXT.

    As for the commands not showing an error msg, that is something I can and will fix. May not be at the top of my list, as it is a cosmetic fix, but I'll try and get it into v0.801 when we release it.

    Public gate networks, or private? Cause if they are private gate networks, they need wormhole.network.use.NETWORKNAME to use the private network gates. And wormhole.network.build.NETWORKNAME to build private network gates.

    There is currently a bug in the WORMHOLE_USE_IS_TELEPORT when it is set to true.

    It is fixed in the github master repo for WXT and will be in v0.801 when it releases.

    ^^

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

Share This Page