HeavySpleef
HeavySpleef - Spleef, Splegg, BowSpleef and more!
Graphics by TheOnlyRealTGS
Spleef is a gamemode in Minecraft where your goal is to knock out players by destroying the ground under them.
If a player touches a deathzone or water/lava he is out of the game. Last man standing wins...
HeavySpleef provides an easy to use plugin to setup your own, professional spleef games.
Just setup a spleef game, based on the tutorials and you're ready to play spleef in a completely automated environment.
Want to use HeavySpleef with Bungeecord? Click here to access our Spigot site for more information!
- Fully automated spleef plugin
- Unlimited spleef arena and floor creation!
- Different floor shapes: cuboid, cylindric and polygonal floors!
- Different spleef gamemodes: Free for all, team games, games with shovels, splegg or bowspleef
- Game flag system: Configure your spleef game with flags and make your arena unique
- Lobby-Walls to show real time game stats to your players
- Built-in spleef statistics! Show statistics of your spleef games (SQLite or MySQL)
- Compare yourself to other players with a rating/system that minds the skill of your opponent.
- Award your users with different prizes such as money, items or even a firework show!
- Spectate games by flying around and tracking players
- Create join/leave/start/spectate/vote signs
- AntiCamping: Campers are now a thing of the past! Make them lose if they are trying to camp!
- Enable a nice sidebar scoreboard to show ingame stats about players
- Add winner-podiums to show off the best spleef players on your server (Requires the LeaderboardExtensions add-on)
- Want to check out more? Then click here!
This plugin collects minimal usage statistics by use of the MCStats service. All statistics submitted do not identify you as the server owner and are kept completely anonymous. If you do not want to participate in this statistic collection and you want to opt-out set opt-out to true in the /plugins/PluginMetrics/config.yml.
If enabled, the following is sent every 15 minutes:
- Metrics revision version
- Server's GUID
- Players currently online (not max player count)
- Server version string (the same version string you see in /version)
- Current version of HeavySpleef
- Server's OS
- Which add-ons you are using
Plugin Metrics Site: http://mcstats.org/plugin/HeavySpleef
HeavySpleef also allows you to update your plugin with the simple /spleef update command. You may disable this check by setting update -> enable-update-check to "false" in the config.yml. This also blocks everyone from using the /spleef update command.
Donations
If you feel comfortable with HeavySpleef or you are feeling particularly generous, consider donating! It is a way to show your support and helps keep me motivated, but is not required. If you can't afford it, please do not donate.
Acknowledgements
I would like to thank everyone who has donated to HeavySpleef. I really appreciate it :)
No bug reports in the comment section!
Have an idea for a new feature? Found a bug?
Report a bug | Suggest a new feature
@matzefratze123 Hey, I just updated to build 260 that is ment for 1.9 but still it has a bug, once a player joins the game can't leave and when I try to do so I get: "Could not pass event PlayerInteractEvent to HeavySpleef v2.2-b260-SNAPSHOT 17:28:02 CONSOLE: java.lang.IllegalArgumentException: Invalid inventory size; expected 36 or less 17:28:02 CONSOLE: Method) [?:1.7.0_25]" in console" Anything can be done?
@matzefratze123
I am using Mutliverse-Core for worlds. I also use PerWorldPlugins, but I don't think that's affecting it.
@Coley771
Which plugin are you using for multi-world management? It seems like this plugin is not in the soft-depend list as it probably gets loaded after HeavySpleef and thus throwing an error as the world is not yet loaded at the time where the games are loaded.
I really need help... So I set up HeavySpleef, with the floors/deathzones, flags, and whatever. I join it with other people, we play a game, and its working fine. But when I restart my server, for some reason the games delete themselves. It just says "This game does not exist!" which is really annoying because I have to keep remaking it. Any help on why it keeps doing this? And this is an error I find in my console: 29.02 18:41:12 [Server] INFO at de.matzefratze123.heavyspleef.persistence.handler.ForwardingAsyncReadWriteHandler$6.call(ForwardingAsyncReadWriteHandler.java:136) [?:?] 29.02 18:41:12 [Server] INFO at de.matzefratze123.heavyspleef.persistence.handler.ForwardingAsyncReadWriteHandler$6.call(ForwardingAsyncReadWriteHandler.java:140) [?:?] 29.02 18:41:12 [Server] INFO at de.matzefratze123.heavyspleef.persistence.handler.CachingReadWriteHandler.getGames(CachingReadWriteHandler.java:297) [?:?] 29.02 18:41:12 [Server] INFO at de.matzefratze123.heavyspleef.persistence.handler.CachingReadWriteHandler.getGame(CachingReadWriteHandler.java:278) [?:?] 29.02 18:41:12 [Server] INFO at de.matzefratze123.heavyspleef.persistence.xml.XMLContext.read(XMLContext.java:66) [?:?] 29.02 18:41:12 [Server] INFO at de.matzefratze123.heavyspleef.persistence.xml.GameAccessor.fetch(GameAccessor.java:78) [?:?] 29.02 18:41:12 [Server] INFO at de.matzefratze123.heavyspleef.persistence.xml.GameAccessor.fetch(GameAccessor.java:234) [?:?] 29.02 18:41:12 [Server] INFO java.lang.RuntimeException: World "Spawn does not exist (game: lol) 29.02 18:41:12 [Server] ERROR Could not load games from database
@foxi69
I'm already aware of this error as it has been reported to me several times. This error seems to more complicated and I already had a look at it, but I didn't figure the actual reason out why it occurs.
Would it be possible to join your server so we can take a closer look at the error? (If so, you can send me your server ip via a PM)
Regards,
Matze
28.02 13:50:55 [Server] ERROR [HeavySpleef] Could not load games from database 28.02 13:50:55 [Server] INFO java.io.EOFException 28.02 13:50:55 [Server] INFO at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:268) [?:1.8.0_71] 28.02 13:50:55 [Server] INFO at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:258) [?:1.8.0_71] 28.02 13:50:55 [Server] INFO at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:164) [?:1.8.0_71] 28.02 13:50:55 [Server] INFO at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:79) [?:1.8.0_71] 28.02 13:50:55 [Server] INFO at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:91) [?:1.8.0_71] 28.02 13:50:55 [Server] INFO at de.matzefratze123.heavyspleef.persistence.schematic.FloorAccessor.read(FloorAccessor.java:240) [?:?] 28.02 13:50:55 [Server] INFO at de.matzefratze123.heavyspleef.persistence.schematic.FloorAccessor.read(FloorAccessor.java:83) [?:?] 28.02 13:50:55 [Server] INFO at de.matzefratze123.heavyspleef.persistence.schematic.SchematicContext.read(SchematicContext.java:84) [?:?] 28.02 13:50:55 [Server] INFO at de.matzefratze123.heavyspleef.persistence.schematic.SchematicContext.read(SchematicContext.java:77) [?:?] 28.02 13:50:55 [Server] INFO at de.matzefratze123.heavyspleef.persistence.handler.CachingReadWriteHandler.getGame(CachingReadWriteHandler.java:283) [?:?] 28.02 13:50:55 [Server] INFO at de.matzefratze123.heavyspleef.persistence.handler.CachingReadWriteHandler.getGames(CachingReadWriteHandler.java:297) [?:?] 28.02 13:50:55 [Server] INFO at de.matzefratze123.heavyspleef.persistence.handler.ForwardingAsyncReadWriteHandler$6.call(ForwardingAsyncReadWriteHandler.java:140) [?:?] 28.02 13:50:55 [Server] INFO at de.matzefratze123.heavyspleef.persistence.handler.ForwardingAsyncReadWriteHandler$6.call(ForwardingAsyncReadWriteHandler.java:136) [?:?] 28.02 13:50:55 [Server] INFO at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_71] 28.02 13:50:55 [Server] INFO at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_71] 28.02 13:50:55 [Server] INFO at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_71]
@GwavaZero
To delete all statistics, delete the sqlite file located under /plugins/HeavySpleef/persistence/database.sqlite. Once this file has been deleted, HeavySpleef should generate a new one and your statistics should have been deleted.
Please note that you have to do that while the server is stopped.
If you want to delete/modify single data-sets and you got a bit of knowledge in sql you may open the file yourself using a SQLite-Browser and delete things as you need.
The autostart timer is already implemented via the "autostart" flag. Just type in /spleef flag <game> autostart <number of min player> to define the count of players that has to be reached in order to automatically start the game :)
This plugin is great. I have a couple of questions/suggestions, though.
- How do I reset statistics? In setting up the games, myself and others on the server ran through many tests, often just jumping straight to the losefloor. I would like to clear it all now that everything is running.
- I would like to suggest an autostart timer once min-player is satisfied. The vote system is a neat idea, and I can see it being useful on random, giant servers, but with a small, whitelist server set up for younger children it's an added complication.
@devioursoul
You may set spectate points for each arena using the "spectate" flag. The location where you're currently standing when executing the flag add command is used as the spectate point by default.
After that, players will be able to access the spectate mode via /spleef spectate <game>, given that you've granted them the heavyspleef.player.spectate or the heavyspleef.player.* permission :)
@frizzbee30
This plugin is already on SpigotMC: https://www.spigotmc.org/resources/heavyspleef.9836/ :)
Any plans to copy or move this into the spigot resources? It's so much easier to see updates etc, and advertise this great plugin more widely :)
Overall most of the options work flawlessly. However I did found /spleef spectate a bit confusing. I can't find any information on how this works. Just permissions for it.
Is there any way I can set up a location where spectators spawn ? per arena would be even better. I don't want people randomly spawning in areas they shouldn't be.
Thx
@willowen100
Of course you can build your floor as you want to. After you finished building it, just select the floor via WorldEdit (cuboid, cylindrical or polygonal selection) and add it typing /spleef addfloor <game>. HeavySpleef will then remember how the floor exactly looked and restores the it on game reset/start.
Can you use any floor material you want or does it have to be wool?
@matzefratze123
Thank you
@JohOply
Essentially Spigot is CraftBukkit with some enhancements. But yes, HeavySpleef is fully compatible with Spigot and should also be compatible with every server software that supports Bukkit plugins as it mostly uses only the Bukkit API.
@Anemul
Yes, I already thought of setting up my own wiki for HeavySpleef and other related plugins in the future to expand the documentation and make everything clear.
@GinGer1075
Please try to update to the latest version of HeavySpleef and the latest version of LeaderboardExtensions.
Hi,
Is the last version compatible with Spigot 1.8? (you wrote only "craftbukkit")
Thanks :)
Awesome plug in , install just worked . Could be a little better tutorial on the 2.0+ side of things , somethings were not clear , like deathzone and what it is for . All in all though an awesome plug in . 4 out of 5 stars .
i am having problem with leaderboard extension. It wont show upon the wall and the podium is weird.
Good to see this spleef plugin still alive :D Maybe adding it back to my servers shortly.
@foxi69
You may define cylindric floors by selecting a cylindric worldedit region (
//
cyl). The game itself is not bound to any coordinates, only the floors and the deathzones are. For further instructions please visit the documentation.@Anemul
HeavySpleef uses a xml file format to save games and their floors, flags & attributes while SQLite or MySQL (optional) is used for storing statistics. The SQLite variation itself runs out-of-the-box and does not require any further setup to work properly.
However, you should choose the MySQL database if you plan to share statistics over multiple server such as a BungeeCord network.