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
Yay! Config files! You can now customize all those defaults -- well, you will be able to next release. We want to pump more features before we push another one.
@TheFluffey
Defiantly! Next up will be making the plugin more customization with a YAML file, then automation. With new features in between, of course.
@hockeygoalie5
Now all this plugin needs is complete automation with arena 'playlists' where you vote on the next map and it automatically begins each day. Players using /join are automatically in a que to start the game each time and will be put in. Automatic arena backing up. Support for multiple arenas, you vote on one of two for the next game.
Version v0.6 added! It needs approval, but it will be up soon. You can now set hosts and (almost) auto-find every chest.
I can't believe we literally iterated through every block to find chests and it did not lag as much as we thought it would (or at all, really). May not want to try it if you're computer can't handle it, though. Version 0.6 will be released with the re-added host command and the auto chest finder after a few more tests.
@TheFluffey
Hockey is such a naysayer, I got a nice little auto-chest-adder working, and I'll be sure to include it in the next release for you. :)
@DaddaTV
Ah, sorry for not thinking of the issues doing this might have caused. I will try to get the command up and release an update right now.
@hockeygoalie5
Well, I have a problem. I'm in my server, trying to interact with things, and I'm in spectating mode.
Yes, that was a feature, but I removed it just before the release. The command to set the host was not working well, but it will come back. The host will simply not be placed into the game when it starts, and will almost be in spectate mode except that the host can spawn items, damage players, and interact with the world. Sorry for the confusion!
Am I just missing the obvious, or isn't it mentioned how to make someone host? It just says "Allow admins to set hosts with simple commands", nothing more!
@TheFluffey
From what I can see, the only way to do that would be to go through every single block on the world and check if it's a chest. Even if I was able to do that, it would be really stupid. So, unfortunately, you must do it manually.
@hockeygoalie5
I meant without adding every individual chest. :) Also, make the option to teleport them back to a defined 'lobbyspawn' after they are dead.
@TheFluffey
Automation is next. The goal here was to get basic featured done. Chest filling exists as well. When you start the game use /lsgm start [delay] where delay is the minutes between every chest refill.
@hockeygoalie5
Make the plugin automatic (No start commands, auto begins) And add map voting and I'm sold (Vote on 1 of the 2 next maps). Also, automatic chest filling is necessary.
Version 0.5 uploaded! Enjoy it, really. From your friends and family at us. It needs approval, so wait for it.
EDIT: File approved! Here we go!
Due to major delays of our showcase game, we have decided to release the new beta build without it. For those still interested, we have decided that Sunday, July 1st is the best day for us. The time will be at 9 EST (16:00 GMT+2, 14:00 GMT). If you can make it, send me a PM and I'll give you the IP and white list you A.S.A.P. Version 0.5 will be here tomorrow; it would have been done tonight, but I got in a working mood and added way too many awesome features for you guys. To the test chambers!
@hockeygoalie5
ok. but like is there signs when tell you when a match is oppen to join? threw sign then the player clicks on that sign and then tps to that world and gets put on the launching bay untill match automaticly starts?
@aleksander64
We already have a command that allows you to view all of the information for the current game. The entire plugin is open source, so just head to our repository and clone it.
@hockeygoalie5
ok thanks! i really needed this. is it possibel i could get the sorece code? i want to try add a status feature if you want i will get it back to you. i can also try to get the code and send it to you? and you can add it.
@aleksander64
Permissions have been added to the page.