Pail
Pail is a Java swing Graphical User Interface designed specifically for Bukkit. Pail opens up many opportunities for plugin developers to take advantage of. Plugins can be written solely to add functionality to Pail, or Pail support can be integrated easily into existing plugins. Just imagine being able to edit your permissions groups, view server performance, or manage your world's economy all from a single interface!
Source | Plugins that use Pail | Public API | Hooking into Pail | JavaDoc
Why is Pail different?
- Pail is written as a plugin, meaning the same, simple drag-and-drop install server owners have come to know.
- Pail uses pure Java and no external libraries, eliminating the need for any dependencies.
- Pail is designed for bukkit servers, allowing more control than any vanilla server GUI.
- Pail is extensible! Other plugins can hook into Pail to add their own interfaces, creating a single place for server admins to manage their server and players.
- Pail is completely cross-platform.
Installation:
Just drop Pail.jar into your plugins folder. That's it!
Features:
- Convenient access to player related functions
- Interface for editing server settings
- Command buffer to recall recent console commands by pressing up and down
- Waypoint system for teleporting players
- Much more!
Commands:
- Pail - Reopens the Pail GUI through the console
-
View User Profile
-
Send Message
Posted Nov 27, 2011Would love to see some RAM/CPU meters/graphs added to this as well.
Remote connections to this would be amazing as well... Open a port, have a login/password list with hashed passwords.
-
View User Profile
-
Send Message
Posted Nov 25, 2011@Noko1111
Not necessarily... I run a server on my laptop for a few friends and I, and Pail is extremely helpful.
EDIT: Also people may have server which they have a remote desktop connection to.
-
View User Profile
-
Send Message
Posted Nov 23, 2011Does it display UI...... on same machine that is running server? How is this useful? People are running minecraft on dedicated headless servers.
-
View User Profile
-
Send Message
Posted Nov 7, 2011Hey whats the default dimensions for a Pail jPanel?
-
View User Profile
-
Send Message
Posted Nov 5, 2011mcymadmin is better
-
View User Profile
-
Send Message
Posted Nov 4, 2011I liked Pail so much, I decided to make something for you escapeNT
Download it here
-
View User Profile
-
Send Message
Posted Nov 3, 2011@jlsafof
You need to update to the latest craftbukkit RB.
-
View User Profile
-
Send Message
Posted Oct 29, 2011If you can't build in your server whut's probably the cause of that? (nothing wrong in Console)
-
View User Profile
-
Send Message
Posted Oct 28, 2011I get a this trying to spawn a apple with pail
07:18 PM [SEVERE] Exception in thread "AWT-EventQueue-0" 07:18 PM [SEVERE] java.lang.NoSuchMethodError: org.bukkit.Server.getConsoleSender()Lorg/bukkit/command/ConsoleCommandSender; 07:18 PM [SEVERE] at me.escapeNT.pail.Util.Util.getConsoleSender(Util.java:217) 07:18 PM [SEVERE] at me.escapeNT.pail.GUIComponents.GiveItemView.giveActionPerformed(GiveItemView.java:140) 07:18 PM [SEVERE] at me.escapeNT.pail.GUIComponents.GiveItemView.access$000(GiveItemView.java:25) 07:18 PM [SEVERE] at me.escapeNT.pail.GUIComponents.GiveItemView$1.actionPerformed(GiveItemView.java:111) 07:18 PM [SEVERE] at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 07:18 PM [SEVERE] at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 07:18 PM [SEVERE] at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 07:18 PM [SEVERE] at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 07:18 PM [SEVERE] at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) 07:18 PM [SEVERE] at java.awt.Component.processMouseEvent(Unknown Source) 07:18 PM [SEVERE] at javax.swing.JComponent.processMouseEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.Component.processEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.Container.processEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.Component.dispatchEventImpl(Unknown Source) 07:18 PM [SEVERE] at java.awt.Container.dispatchEventImpl(Unknown Source) 07:18 PM [SEVERE] at java.awt.Component.dispatchEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.Container.dispatchEventImpl(Unknown Source) 07:18 PM [SEVERE] at java.awt.Window.dispatchEventImpl(Unknown Source) 07:18 PM [SEVERE] at java.awt.Component.dispatchEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventQueue.access$000(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventQueue$3.run(Unknown Source) 07:18 PM [SEVERE] at java.security.AccessController.doPrivileged(Native Method) 07:18 PM [SEVERE] at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventQueue$4.run(Unknown Source) 07:18 PM [SEVERE] at java.security.AccessController.doPrivileged(Native Method) 07:18 PM [SEVERE] at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventQueue.dispatchEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 07:18 PM [SEVERE] at java.awt.WaitDispatchSupport$2.run(Unknown Source) 07:18 PM [SEVERE] at java.awt.WaitDispatchSupport$4.run(Unknown Source) 07:18 PM [SEVERE] at java.security.AccessController.doPrivileged(Native Method) 07:18 PM [SEVERE] at java.awt.WaitDispatchSupport.enter(Unknown Source) 07:18 PM [SEVERE] at java.awt.Dialog.show(Unknown Source) 07:18 PM [SEVERE] at java.awt.Component.show(Unknown Source) 07:18 PM [SEVERE] at java.awt.Component.setVisible(Unknown Source) 07:18 PM [SEVERE] at java.awt.Window.setVisible(Unknown Source) 07:18 PM [SEVERE] at java.awt.Dialog.setVisible(Unknown Source) 07:18 PM [SEVERE] at me.escapeNT.pail.GUIComponents.ServerControlPanel$GiveItemListener.actionPerformed(ServerControlPanel.java:182) 07:18 PM [SEVERE] at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 07:18 PM [SEVERE] at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 07:18 PM [SEVERE] at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 07:18 PM [SEVERE] at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 07:18 PM [SEVERE] at javax.swing.AbstractButton.doClick(Unknown Source) 07:18 PM [SEVERE] at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source) 07:18 PM [SEVERE] at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source) 07:18 PM [SEVERE] at java.awt.Component.processMouseEvent(Unknown Source) 07:18 PM [SEVERE] at javax.swing.JComponent.processMouseEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.Component.processEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.Container.processEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.Component.dispatchEventImpl(Unknown Source) 07:18 PM [SEVERE] at java.awt.Container.dispatchEventImpl(Unknown Source) 07:18 PM [SEVERE] at java.awt.Component.dispatchEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.Container.dispatchEventImpl(Unknown Source) 07:18 PM [SEVERE] at java.awt.Window.dispatchEventImpl(Unknown Source) 07:18 PM [SEVERE] at java.awt.Component.dispatchEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventQueue.access$000(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventQueue$3.run(Unknown Source) 07:18 PM [SEVERE] at java.security.AccessController.doPrivileged(Native Method) 07:18 PM [SEVERE] at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventQueue$4.run(Unknown Source) 07:18 PM [SEVERE] at java.security.AccessController.doPrivileged(Native Method) 07:18 PM [SEVERE] at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventQueue.dispatchEvent(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 07:18 PM [SEVERE] at java.awt.EventDispatchThread.run(Unknown Source)
-
View User Profile
-
Send Message
Posted Oct 24, 2011ty for helping
-
View User Profile
-
Send Message
Posted Oct 23, 2011@Ikke82
It looks like your world is corrupted. This isn't a pail issue.
-
View User Profile
-
Send Message
Posted Oct 23, 201111:06 PM [INFO] [Pail] Setting up window... 11:06 PM [INFO] [Pail] Pail 0.7.5 Enabled 11:06 PM [INFO] [Permissions] version [3.1.6] (Yeti) loaded 11:06 PM [INFO] Preparing level "New World" 11:06 PM [SEVERE] java.io.IOException: Not in GZIP format 11:06 PM [SEVERE] at java.util.zip.GZIPInputStream.readHeader(Unknown Source) 11:06 PM [SEVERE] at java.util.zip.GZIPInputStream.<init>(Unknown Source) 11:06 PM [SEVERE] at net.minecraft.server.CompressedStreamTools.a(SourceFile:9) 11:06 PM [SEVERE] at net.minecraft.server.WorldLoader.b(SourceFile:50) 11:06 PM [SEVERE] at net.minecraft.server.WorldLoaderServer.isConvertable(SourceFile:73) 11:06 PM [SEVERE] at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:169) 11:06 PM [SEVERE] at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152) 11:06 PM [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348) 11:06 PM [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:417) 11:06 PM [SEVERE] java.io.IOException: Not in GZIP format 11:06 PM [SEVERE] at java.util.zip.GZIPInputStream.readHeader(Unknown Source) 11:06 PM [SEVERE] at java.util.zip.GZIPInputStream.<init>(Unknown Source) 11:06 PM [SEVERE] at net.minecraft.server.CompressedStreamTools.a(SourceFile:9) 11:06 PM [SEVERE] at net.minecraft.server.WorldLoader.b(SourceFile:61) 11:06 PM [SEVERE] at net.minecraft.server.WorldLoaderServer.isConvertable(SourceFile:73) 11:06 PM [SEVERE] at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:169) 11:06 PM [SEVERE] at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152) 11:06 PM [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348) 11:06 PM [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:417) 11:06 PM [INFO] Default game type: 0 11:06 PM [SEVERE] java.io.IOException: Not in GZIP format 11:06 PM [SEVERE] at java.util.zip.GZIPInputStream.readHeader(Unknown Source) 11:06 PM [SEVERE] at java.util.zip.GZIPInputStream.<init>(Unknown Source) 11:06 PM [SEVERE] at net.minecraft.server.CompressedStreamTools.a(SourceFile:9) 11:06 PM [SEVERE] at net.minecraft.server.PlayerNBTManager.c(PlayerNBTManager.java:93) 11:06 PM [SEVERE] at net.minecraft.server.World.<init>(World.java:128) 11:06 PM [SEVERE] at net.minecraft.server.WorldServer.<init>(WorldServer.java:27) 11:06 PM [SEVERE] at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191) 11:06 PM [SEVERE] at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152) 11:06 PM [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348) 11:06 PM [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:417) 11:06 PM [SEVERE] java.io.IOException: Not in GZIP format 11:06 PM [SEVERE] at java.util.zip.GZIPInputStream.readHeader(Unknown Source) 11:06 PM [SEVERE] at java.util.zip.GZIPInputStream.<init>(Unknown Source) 11:06 PM [SEVERE] at net.minecraft.server.CompressedStreamTools.a(SourceFile:9) 11:06 PM [SEVERE] at net.minecraft.server.PlayerNBTManager.c(PlayerNBTManager.java:104) 11:06 PM [SEVERE] at net.minecraft.server.World.<init>(World.java:128) 11:06 PM [SEVERE] at net.minecraft.server.WorldServer.<init>(WorldServer.java:27) 11:06 PM [SEVERE] at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191) 11:06 PM [SEVERE] at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152) 11:06 PM [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348) 11:06 PM [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:417) 11:06 PM [INFO] New max size: 400 11:06 PM [INFO] New max size: 784 11:06 PM [INFO] New max size: 1764 11:06 PM [INFO] New max size: 5476 11:06 PM [INFO] New max size: 18496 11:06 PM [INFO] New max size: 19044 11:06 PM [SEVERE] java.lang.NullPointerException 11:06 PM [SEVERE] at net.minecraft.server.WorldServer.c(WorldServer.java:162) 11:06 PM [SEVERE] at net.minecraft.server.World.a(World.java:2224) 11:06 PM [SEVERE] at net.minecraft.server.Chunk.addEntities(Chunk.java:634) 11:06 PM [SEVERE] at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:81) 11:06 PM [SEVERE] at net.minecraft.server.ChunkProviderServer.getOrCreateChunk(ChunkProviderServer.java:106) 11:06 PM [SEVERE] at net.minecraft.server.World.getChunkAt(World.java:300) 11:06 PM [SEVERE] at net.minecraft.server.World.getTypeId(World.java:247) 11:06 PM [SEVERE] at net.minecraft.server.World.isEmpty(World.java:251) 11:06 PM [SEVERE] at net.minecraft.server.World.a(World.java:218) 11:06 PM [SEVERE] at net.minecraft.server.WorldProvider.canSpawn(SourceFile:50) 11:06 PM [SEVERE] at net.minecraft.server.World.canSpawn(World.java:104) 11:06 PM [SEVERE] at net.minecraft.server.World.c(World.java:202) 11:06 PM [SEVERE] at net.minecraft.server.World.<init>(World.java:150) 11:06 PM [SEVERE] at net.minecraft.server.WorldServer.<init>(WorldServer.java:27) 11:06 PM [SEVERE] at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191) 11:06 PM [SEVERE] at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152) 11:06 PM [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348) 11:06 PM [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:417) 11:06 PM [SEVERE] Unexpected exception
How to fix it i can't get in anymore or even close it with command stop cus than i get 11:15 PM [INFO] Bukkit sad. Bukkit want you to access command, but Bukkit cannot let you. Bukkit will leak tears :'(
-
View User Profile
-
Send Message
Posted Oct 21, 2011@escapeNT
Yes is good
-
View User Profile
-
Send Message
Posted Oct 21, 2011No update required for 1337.
-
View User Profile
-
Send Message
Posted Oct 19, 2011@feildmaster
A new CB recommended build. :)
-
View User Profile
-
Send Message
Posted Oct 13, 2011@LimeByte No it's not.
@em202020 What build of bukkit? And I'll fiddle around with it soon...
@vicente947 Will look into it.
-
View User Profile
-
Send Message
Posted Oct 12, 2011I know you haven't added support for remote hosted servers yet but is it possible to connect to a server on the same network?
-
View User Profile
-
Send Message
Posted Oct 12, 2011@feildmaster nope no errors, just freezes kinda annoying....
-
View User Profile
-
Send Message
Posted Oct 12, 2011@feildmaster
I test Pail and Pail Plus in CB 1328 and i havent got problems
-
View User Profile
-
Send Message
Posted Oct 12, 2011@vicente947 Please give me the full log.
@em202020 Any errors? Will look into it.
Haven't been playing with pail lately.