Lite Survival Games Manager
Lite Survival Games Manager

This project is abandoned. Use an alternative plugin.
Description
Survival Games have become popular in Minecraft recently, with the Hunger Games movie. The goal of the game is simple: survive. Players must adapt to the environment, find resources, and - most importantly - kill. The last player standing is the winner. The goal of this plugin is to allow players to run servers - whether big, public servers or smaller ones with friends - easily and make the experience more enjoyable. The hope for this plugins release is to allow admins to add maps, configure the plugin, then run the server and take the day off. Making the entire game automatic and requiring no admin at all.
Features
- Create a backup of the world to reload after the match
- Automatically refill select chests with select items
- Set players to spectate mode after death
- Changeable time limit
- Automatically restart and reload world after the match.
- Allow admins to set hosts with simple commands
- Keep track of individual scores
- Store data in a SQLite file
- Allow a server to load different maps in a map cycle
- Allow multiple spawn points to be set up
- Black or white list blocks that can't or can be broken, respectively, by players in-game
- Voting to start a game without an admin
- Selecting a button/lever to be triggered on game start
- Auto start with minimum players
- Peace time
- Players kicked after death
Spectate mode will god players, allow them to fly, make them invisible, and prevent them from interacting with the world. They can also teleport to players.
Use
- Set the server up for auto restart. See the section below.
- Edit the config files to your liking. They should be config.yml and blocks.yml in the plugins/LSGM folder.
- Add a map to the map cycle. Type /lsgm addmap <mapname>. You can add as many maps as you'd like, they'll be randomly picked from the file (same map can not be repeated) to be loaded on restart.
- Set spawns. You will want an individual spawn for the maximum players on your server. If there are too few spawns, more than one player should be spawned at a spawn point. Stand on the spawn point and type /lsgm addspawn <id>.
- Add chests. Chests will be automatically refilled on a set time or will be refilled on the command /lsgm fillchests. Look at the chest and type /lsgm addchest <id> [group], or - if you feel that your computer can handle it - type /lsgm addchest all and every chest on the map will be found automatically. You must fly around and make sure you load every chunk on the world to get every chests! Currently, we can only find chests on loaded blocks.
- Back up the world. This allows the world to revert to its original state when it is loaded next. Just type /lsgm backup.
- If necessary, add a start button or a lever. This will be activate when the game starts. Look at it and type /lsgm addbutton <id>
- Start the game. Go ahead and type /lsgm start [chest refill delay in minutes] [time limit in minutes]. If you do not specify a refill delay or a time limit, they will default to a 15 minute refill delay and no time limit.
- Check for bugs! There are probably going to be a lot. Not an understatement.
- Type /lsgm help for various other commands.
- If set, the server will automatically restart after the game.
Recommended: Download AntiCheat to easily disable client mods and prevent exploitation!
Auto Restart
In order for the server to start up again after the plugin has stopped it, you must change the file you use to run the server (e.g., RUN.bat). You will need to loop through the java -jar command so that it is ran when the server goes down. See the examples below:
Windows (*.bat)
@ECHO OFF SET BINDIR=%~dp0 CD /D "%BINDIR%" :start java -Xincgc -Xmx1G -jar craftbukkit.jar goto start
Mac/Linux (*.sh)
#!/bin/bash BINDIR=$(dirname "$(readlink -fn "$0")") cd "$BINDIR" while true do java -Xincgc -Xmx1G -jar craftbukkit.jar done
Commands
General command usage: /lsgm <command> [args]
- backup - Makes a backup of the world, to be loaded on the next game.
- addmap - Adds map to maplist. Usage: /lsgm addmap <map>
- delmap - Removes a map from the map list. Usage: /lsgm delmap <map | all>
- listmaps - Lists the maps on the map list.
- addchest - Adds the chest you are looking at to the refill list. Usage: /lsgm addchest <id> [group]
- delchest - Removes the chest you are looking at from the refill list. Usage: /lsgm delchest <id | all>
- listchests - Lists all of the chests on the refill list.
- fillchests - Fills all of the chests on the refill list.
- info - Display game info. Usage: /lsgm info [player]
- start - Start the games. Usage: /lsgm start [chest fill delay] [time limit]
- stop - Stop the games.
- addspawn - Add a spawn point where you are. Usage: /lsgm addspawn <id>
- delspawn - Remove a spawn point. Usage: /lsgm delspawn <id | all>
- sethost - Make a player a host. Usage: /lsgm sethost <player> <true | false>
- reload - Reload the config
- votestart - Vote to start a game
- addbuton - Add the button/lever you're looking at to buttons/levers to be triggered on game start. Usage: /lsgm addbutton <id>
- delbutton - Remove a start button. Usage: /lsgm delbutton <id | all>
- listbuttons - List ALL the start buttons!
Permissions
- lsgm.backup:
Back up worlds
- lsgm.access:
Use LSGM commands
- lsgm.fillchests:
Refill chests
- lsgm.addchest:
Add chests to the database
- lsgm.removechest:
Remove chests from the database
- lsgm.addmap:
Add maps to the map cycle
- lsgm.removemap:
Remove maps from the map cycle
- lsgm.start:
Start the game
- lsgm.stop:
Stop the game
- lsgm.addspawn:
Add a spawn point
- lsgm.delspawn:
Remove a spawn point
- lsgm.sethost:
Make a player a host
- lsgm.reload:
Reload the config
- lsgm.addbuton:
Add a start button
- lsgm.delbutton
Remove a start button
Configuration
config.yml
This is the general config file.
# -- blocklist-type # Use "black list" if you want what is in blocks.yml to not be broken by players. # Use "white list" if you want the blocks in blocks.yml - and only those blocks - to be allowed to be broken by players. # If you do not want to block anything, leave this as black list and leave blocks.yml empty # Warning: If this is set to white list and blocks.yml is empty, then no blocks can be broken. # -- time-limit # Default time limit in minutes; set to 0 for no time limit. # -- auto-restart # Set to "true" to automatically restart the server after a game, otherwise set to "false." # -- restart-delay # Time - in seconds - to wait before the server restarts. # -- alow-vote-start # Set to "true" to allow players to vote to start the game, otherwise set to "false." # -- minimum-players # Minimum players needed to start a game via voting. Will be ignored if less than 2. # -- auto-start # Start automatically when minimum players reached. # -- auto-start-delay # Time to wait for more players before game auto starts (minutes). # -- allow-spectators # Whether or not people can stay in the game after they die and spectators can join while the game is in progress. True/false # -- peace-time-length # The length (in minutes) players can not attack one another at the start. 0 allows players to attack one another immediatally. # -- refill-delay # Default automatic chest refill delay in minutes; set to 0 for no automatic refills. # -- refill-group # Chest group to be refilled automatically; leave default if you do not use custom groups. # -- refill-items # Items eligible to be placed into chests on automatic refill; format: itemid amount. # For now, the only way to set the probability of getting a certain item to be higher, you must add the item more than once. blocklist-type: white list time-limit: 0 auto-restart: true restart-delay: 5 allow-vote-start: true minimum-players: 2 auto-start: false auto-start-delay: 5 allow-spectators: true peace-time-length: 0 refill-delay: 15 refill-group: default refill-items: ..
blocks.yml
The blocks to be used in the white/black list. Use the block's ID, not the name.
# These are the blocks to be used with the white/black list. # See the example below for how to format this file. Use the block's id in the list. # Do NOT use tabs or allow you text editor to auto-tab! When indenting to list the ID, use two spaces! blocks: - 0 - 7
-
View User Profile
-
Send Message
Posted Jun 11, 2012@Double_0_negative
The other plugins weren't working when I tried them, and most seemed dead. I did try yours, but became annoyed. What did work was tedious to set up, and you require a lot and made features some people may not want mandatory. This is lite, and will be as simple as set up and go once we get everything sorted.
-
View User Profile
-
Send Message
Posted Jun 11, 2012another hunger/survival games plugin?
-
View User Profile
-
Send Message
Posted Jun 11, 2012Np let me know if you ever need to run some test with it using the new 1.2.5 r4.0 I know most plugins have not yet been fully tested on them. I have a crap load of servers and one main that i use for testing plugins. Your free to use it anytime that you need it. I will continue setting this plugin up but as of right now the fall is the only bug. Your not far from completion at all.
==========================UPDATE
Ok heres the latest error for your help: 13:51:26 [SEVERE] null org.bukkit.command.CommandException: Unhandled exception executing command 'lsgm ' in plugin LSGM v0.25 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:16 6) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:4 79) at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler. java:821) at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:781)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:764) at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:7 8) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 >= 0 at java.util.Vector.elementAt(Unknown Source) at com.hockeygoalie5.lsgm.SurvivalGames.spawnPlayers(SurvivalGames.java: 295) at com.hockeygoalie5.lsgm.SurvivalGames.onCommand(SurvivalGames.java:434 ) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40) ... 12 more
this error is recieved when you try /lsgm start. I will continue to setup the plugin and see whatelse we can find. Again this is for Craftbukkit 1.2.5 R4.0
-
View User Profile
-
Send Message
Posted Jun 11, 2012@Idntwanttwousernamesasswhipe
Thanks for the report. Before the next release we will thoroughly test it by running several games on it, because developing is fun. Thanks for your understanding and support!
-
View User Profile
-
Send Message
Posted Jun 11, 2012Wonderful, then as i am a coder myself i understand the issues of trial and error. Since you have taken the time to ensure me things will get better I will take the time to wait for you to work the bugs out. The we shall give this plugin a wurl.
SIDE NOTE: Ever think of having the plugin generate your arenas? Instead of setting start points in a prebuilt arena? Maybe this is what you have in mind but I got the plugin to load without errors. I can set the start points and start the game perfect. I did notice one bug. When you leave a game it will put you really high in the air and drop you to the ground. I solved it by putting water there but im giving it to you as a heads up. Other then that i have noticed to bugs with this plugin so your doing great as it is. Ill continue to follow the action.
-
View User Profile
-
Send Message
Posted Jun 11, 2012@Idntwanttwousernamesasswhipe
We tested this release plenty before letting it go, and were disappointed by all of the bugs. The next one will not be like this. It will be more than playable, and I ask that you stick around to see it. This plugin does not require MySQL, it uses SQLite which simply stores the database in a file in the plugin directory.
-
View User Profile
-
Send Message
Posted Jun 11, 2012Ok guys i will try your plugin. This will be the 5th plugin i have tried and so far NONE of them will work without either killing people when they leave a game, not refilling the chest, giving my server lines and lines of errors, or just plain wont generate the arena! Ill give your guys plugin a try and if it passes all the expectations i will recommend it to my other servers and friends.
04:45:19 [SEVERE] java.sql.SQLException: ResultSet closed 04:45:19 [SEVERE] at org.sqlite.RS.checkOpen(RS.java:63) 04:45:19 [SEVERE] at org.sqlite.RS.markCol(RS.java:77) 04:45:19 [SEVERE] at org.sqlite.RS.getString(RS.java:313) 04:45:19 [SEVERE] at com.hockeygoalie5.lsgm.SurvivalGames.getCurrentWorld( SurvivalGames.java:131) 04:45:19 [SEVERE] at com.hockeygoalie5.lsgm.SurvivalGames.loadMap(Survival Games.java:144) 04:45:19 [SEVERE] at com.hockeygoalie5.lsgm.SurvivalGames.onEnable(Surviva lGames.java:123) 04:45:19 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlug in.java:215) 04:45:19 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin( JavaPluginLoader.java:337) 04:45:19 [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(Si mplePluginManager.java:381) 04:45:19 [SEVERE] at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftSe rver.java:256) 04:45:19 [SEVERE] at org.bukkit.craftbukkit.CraftServer.enablePlugins(Craf tServer.java:238) 04:45:19 [SEVERE] at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer .java:190) 04:45:19 [SEVERE] at net.minecraft.server.ServerConfigurationManager.<init
(ServerConfigurationManager.java:53)
04:45:19 [SEVERE] at net.minecraft.server.MinecraftServer.init(MinecraftSe rver.java:166) 04:45:19 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftSer ver.java:432) 04:45:19 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(Sour ceFile:492) 04:45:19 [WARNING] [LSGM] No back up found, not changing map.
Got this on first start. Dont tell me you guys require MySql to run. Its a joke MySql would get to suck the sweat from my balls even if it wanted to. Noone uses it anymore and all professional server are starting to do the same. noone wants to setup and configure all that bullshit just so a plugin can save and load files from another source!
-
View User Profile
-
Send Message
Posted Jun 10, 2012Hey guys, Fussy checking in. Gonna squash that spawn inside block bug tonight.
-
View User Profile
-
Send Message
Posted Jun 10, 2012@hockeygoalie5
Or we'll play TF2 ;)
-
View User Profile
-
Send Message
Posted Jun 10, 2012Developer's Log
June 10th, 5:00 P.M.
The time is coming. We are readying our troops, rifles in hand. The sergeants give pep talks, shouting and pacing about their squads. Is this what it has come to? I look to Noah at my side; he is inspecting his rifle. Our glances meet, followed by a reassuring nod. We will make it out of this one. We move out in an hour, into the dark trenches of Java. There, we will try to break the enemy's line. Whether or not we're successful, I know one thing is true: Those bugs are going to get a hell of a squashin'!
-
View User Profile
-
Send Message
Posted Jun 10, 2012@Manuestaire
You can add chests to groups that refill every x minutes, or when you give the command. Currently, it fills all of them with a random number between 3 and 5 predefined stacks, such as 5 arrows, a stone sword, food, or armor. In the future you will be able to set what items each chest will refill with, and yes, you will be able to add multiple stacks of the same item.
-
View User Profile
-
Send Message
Posted Jun 10, 2012One question about the pluging that I havent understood reading the use is how do the groups of chests works, and if you can add more than one item of the same id, say one stack of apples.
-
View User Profile
-
Send Message
Posted Jun 10, 2012@XenoBen
Like hockey said, we release betas so people can do things we'd never think to try on them. But it is hard for people to use our plugin if it doesn't work. We need to get some real work done, then we'll be sure to release a beta for all of you to play (and presumably break). But if all goes well next week, we might have a neat little surprise for all of you.
-
View User Profile
-
Send Message
Posted Jun 10, 2012@XenoBen
We release betas just for this reason. The best way to do thorough bug testing is to get it out to the community and have them try it out. We just want to get something playable at least out.
-
View User Profile
-
Send Message
Posted Jun 10, 2012@FussyCashew
Id be able to run afew tests of it on my server and see how it comes out in a production server.
-
View User Profile
-
Send Message
Posted Jun 10, 2012@XenoBen
Not absolutely sure. I'd like to get home and to some in-depth stress testing before we try another release, I hate wasting your guys time.
-
View User Profile
-
Send Message
Posted Jun 10, 2012Hey guys, Fussy here. Really sorry the first release wasn't playable. I've got beta tester in my blood and have been away from home, and a computer that will run minecraft well enough to test anything, but I promise that this will all be sorted out very soon. Sorry again! If you could, please tell us what command you tried to execute (if any) and a copy of the log (from server.log file) when the error occurred. Also, please submit tickets, they are the best way to contact us about errors, and they keep things much more organized then reading things out from the comments.
Thanks again and sorry, Fussy
-
View User Profile
-
Send Message
Posted Jun 10, 2012Will the update be out today?
-
View User Profile
-
Send Message
Posted Jun 10, 2012@Manuestaire
That is not it, but I'm getting to the root of the issue. The world is unloading fine now.
-
View User Profile
-
Send Message
Posted Jun 10, 2012@hockeygoalie5
Maybe yo need multiverse to be able to unload it. But honestly I have no idea.