/warp quota command not working for all users
sql-sith opened this issue ยท 19 comments
This seems to be be an issue if the players minecraft name has capitalized letters in it.
I wanted to change everyone's public warp quota to 1 (except for moderators and ops). I ran "/warp quota set public 1" and got the desired result, and verified the change to config.yml.
I then generated commands in the form "/warp quota set public 1 " where was the name of a player. I did this for all of our players. The console indicated success for each player.
Next, I ran (from plugins/OpenWarp) "find . -type f -exec grep -l 'public: -2' {} ; | sort" in order to find files that still had an unlimited public warp quota. I got this output:
./AuleKementar/quota.yml
./Froshonwheel/quota.yml
./Grantondorf/quota.yml
./SethBorder/quota.yml
./Shield_Sheafson/quota.yml
./Tamerlein/quota.yml
./Unknown_Shadow/quota.yml
./WillisMinisquaka/quota.yml
./Yull_Rete/quota.yml
These are the only players with upper-case letters in their Minecraft IDs.
No matter what combination of upper- and lower-case letters I use in the /warp command, I cannot set quotas for these players. Thoughts?
Hey Tim,
Can you look at this and tell me if I'm doing something wrong? When I try
to delete a private warp using */warp delete mywarpname *(even right after
creating it), I get this error message and the deletion fails:
You do not have permission to delete that private warp.
Here are the openwarp permissions that are set for the account that is
being used:
openwarp.jump
openwarp.top
openwarp.warp.access.*
openwarp.warp.delete.private
openwarp.warp.delete.public.self
openwarp.warp.delete.use
openwarp.warp.list
openwarp.warp.quota.show
openwarp.warp.quota.usage
openwarp.warp.set
openwarp.warp.use
Thanks,
Chris
On Mon, Oct 10, 2011 at 5:42 PM, Tim Ekl <
[email protected]>wrote:
@chris-leonard: thanks a ton for your help and your patience on this one.
Finally figured it out and got it fixed with build 115.Reply to this email directly or view it on GitHub:
#34 (comment)
@chris-leonard: I'm opening your question as a separate bug, since (AFAICT) it doesn't deal with quotas. See #44.
My bad! Check the latest build on our Jenkins and let me know if it works for you.
Thanks! But ... when I downloaded build 104, and copied it into my plugins folder, the server load did not load OpenWarp at all! This may not be related, but build 104 downloads to me as only 72815 bytes (OpenWarp-1.0.jar) but my currently functioning OpenWarp.jar is 108860 bytes. Thoughts?
Oh, and I did rename OpenWarp-1.0.jar to OpenWarp.jar in my plugins folder. When that didn't work, I also tried it as OpenWarp-1.0.jar. Just in case you're wondering. Thanks again!
Thanks lithium. I got the same file size 3 times on our CentOS server, and once on my windows laptop. Here's the good bits, in case I'm fat-braining something.
to show the size of the file that is downloading:
[root@beowulf OpenWarp]# cd ../../new.jars/
[root@beowulf new.jars]# wget http://pneumaticsystem.com:25579/job/OpenWarp/lastBuild/artifact/target/OpenWarp-1.0.jar
--2011-09-27 23:33:16-- http://pneumaticsystem.com:25579/job/OpenWarp/lastBuild/artifact/target/OpenWarp-1.0.jar
Resolving pneumaticsystem.com... 67.175.99.140
Connecting to pneumaticsystem.com|67.175.99.140|:25579... connected.
HTTP request sent, awaiting response... 200 OK
Length: 72815 (71K) [application/java-archive]
Saving to: `OpenWarp-1.0.jar.1'
100%[============================================================================================================>] 72,815 318K/s in 0.2s
2011-09-27 23:33:17 (318 KB/s) - `OpenWarp-1.0.jar.1' saved [72815/72815]
to show the size of the file that is working:
[root@beowulf new.jars]# cd ../plugins
[root@beowulf plugins]# ls -al OpenWarp.jar
-rw-r--r-- 1 root root 108860 Aug 24 18:51 OpenWarp.jar
[root@beowulf plugins]#
No worries, and thanks again. It looks like the size actually makes sense given the size of the previous builds on your Jenkins. It's just that the one I'm using (from dev.bukkit.org) is larger. I'm still scratching my head over why the new jarfile did not load for me - I'll let you know if I figure it out yet tonight.
I will try to do that tonight. All I can tell you right now is that I verified that the plugin jarfile had the same permissions and ownership as all the others, but when I would /reload, there were no messages that I could find from OpenWarp. Also, the /plugins command did not show OpenWarp, the console warp command would generate no output, and the in-game /warp command would generate an unknown command message.
Is there a way I can tell java / craftbukkit / OpenWarp to generate more verbose logging for debugging? I should probably know the answer to that, but I'm a database guy, and only go an inch or three deep in java knowledge.
I took a look, and I believe the file size difference is due to our switch to Maven (from Ant). After changing to Maven, we no longer included a number of unit test classes in the JAR, significantly reducing the size. My size on disk is 72815 bytes - the same as you downloaded.
Can you give more info about how it's not loading?
If you set debug
to true
in the OpenWarp configuration, it will create a file called debug.log
in your OpenWarp directory with bonus information. However, this doesn't really apply if OpenWarp isn't loaded at all, and I don't know why Bukkit wouldn't be loading it.
Try to reproduce with a fresh download of CraftBukkit on a test server, maybe?
Sorry it took me so long to get this to you. Here's what's in my server.log when I try to download the OpenWarp #109 build on a server with this version info:
2011-09-30 22:44:13 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-1094-g386c451-b1221jnks (MC: 1.8.1)
2011-09-30 22:44:13 [INFO] This server is also sporting some funky dev build of Bukkit!
2011-09-30 22:40:33 [SEVERE] Could not load 'plugins/OpenWarp.jar' in folder 'plugins':
java.lang.NoClassDefFoundError: com/pneumaticraft/commandhandler/PermissionsInterface
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:168)
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:215)
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:136)
at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:139)
at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:413)
at org.bukkit.Bukkit.reload(Bukkit.java:182)
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:22)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:163)
at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:358)
at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:354)
at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:506)
at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:485)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
Caused by: java.lang.ClassNotFoundException: com.pneumaticraft.commandhandler.PermissionsInterface
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 16 more
Thoughts?
Oh, and I forgot to turn on debug. Would that still be helpful, or is the above server.log snippet enough? Let me know...
Still no clue on my end. I can still load the older version that I had originally, but I cannot load #110 either. Wish I could figure out how to repro this for you...
@chris-leonard: I have a thought. Let me test over the next couple days and get back to you. Or, alternately, if you're comfortable manipulating JARs, do this:
- Extract the latest OpenWarp JAR file
- Look down the compiled class hierarchy for the folder path
com/pneumaticraft/commandhandler
- If that path exists, look for
PermissionsInterface.class
If either the folder or the file doesn't exist, let me know, and that will solve this.
Well, like I said, I'm not a java guy. I gave it a shot, and got this, which doesn't look like what we wanted to see at all (there's no "pneumaticraft"). Thoughts? I have a feeling I'm not extracting or examining the jar in the way I should be - if so, just send me instructions. I'm happy to poke at it for you.
Thanks again,
Chris (download / unzip details below)
[root@beowulf new.jars]# wget http://pneumaticsystem.com:25579/job/OpenWarp/lastSuccessfulBuild/artifact/target/OpenWarp-1.1.jar
--2011-10-05 19:05:32-- http://pneumaticsystem.com:25579/job/OpenWarp/lastSuccessfulBuild/artifact/target/OpenWarp-1.1.jar
Resolving pneumaticsystem.com... 67.175.99.140
Connecting to pneumaticsystem.com|67.175.99.140|:25579... connected.
HTTP request sent, awaiting response... 200 OK
Length: 75180 (73K) [application/java-archive]
Saving to: `OpenWarp-1.1.jar'
100%[============================================================================================================>] 75,180 329K/s in 0.2s
2011-10-05 19:05:33 (329 KB/s) - `OpenWarp-1.1.jar' saved [75180/75180]
[root@beowulf new.jars]# unzip OpenWarp-1.1.jar
Archive: OpenWarp-1.1.jar
creating: META-INF/
inflating: META-INF/MANIFEST.MF
creating: com/
creating: com/lithium3141/
creating: com/lithium3141/OpenWarp/
creating: com/lithium3141/OpenWarp/config/
creating: com/lithium3141/OpenWarp/commands/
creating: com/lithium3141/OpenWarp/listeners/
creating: com/lithium3141/OpenWarp/util/
inflating: plugin.yml
inflating: com/lithium3141/OpenWarp/OWCommand.class
inflating: com/lithium3141/OpenWarp/OpenWarp$1.class
inflating: com/lithium3141/OpenWarp/OpenWarp.class
inflating: com/lithium3141/OpenWarp/config/OWConfigurationManager.class
inflating: com/lithium3141/OpenWarp/config/OWPlayerConfiguration.class
inflating: com/lithium3141/OpenWarp/Warp.class
inflating: com/lithium3141/OpenWarp/OWQuotaManager.class
inflating: com/lithium3141/OpenWarp/OWPermissionsHandler.class
inflating: com/lithium3141/OpenWarp/OWLocationTracker.class
inflating: com/lithium3141/OpenWarp/commands/OWHomeSetCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWHomeCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWBackCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWWarpDetailCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWJumpCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWStackPopCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWQuotaSetCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWWarpListCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWWarpShareCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWQuotaShowCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWWarpUnshareCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWQuotaUsageCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWStackPushCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWTopCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWStackPrintCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWWarpDeleteCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWWarpSetCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWWarpCommand.class
inflating: com/lithium3141/OpenWarp/commands/OWStackPeekCommand.class
inflating: com/lithium3141/OpenWarp/listeners/OWPlayerListener.class
inflating: com/lithium3141/OpenWarp/listeners/OWEntityListener.class
inflating: com/lithium3141/OpenWarp/listeners/OWPluginListener.class
inflating: com/lithium3141/OpenWarp/util/OpenWarpDestination.class
inflating: com/lithium3141/OpenWarp/util/BlockSafety.class
inflating: com/lithium3141/OpenWarp/util/StringUtil.class
inflating: com/lithium3141/OpenWarp/util/MVConnector.class
inflating: com/lithium3141/OpenWarp/OWPermissionException.class
inflating: com/lithium3141/OpenWarp/OWDebugHandler.class
creating: META-INF/maven/
creating: META-INF/maven/com.lithium3141.OpenWarp/
creating: META-INF/maven/com.lithium3141.OpenWarp/OpenWarp/
inflating: META-INF/maven/com.lithium3141.OpenWarp/OpenWarp/pom.xml
inflating: META-INF/maven/com.lithium3141.OpenWarp/OpenWarp/pom.properties
@chris-leonard: thanks a ton for your help and your patience on this one. Finally figured it out and got it fixed with build 115.