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
Update will come later today or some time tomorrow. That feature was more than I expected.
@MrFrostmaul
Secretly, I have an auto-refreshing email client, so I get a notification when someone comments instantly.
@hockeygoalie5
Cool :) - BTW your reply time is amazing :)
@MrFrostmaul
One more feature right now, then I'll upload it.
@hockeygoalie5
Ok, looking forward to the update :) - Going to use it on my 24/7 server when the update it out :)
@MrFrostmaul
We have decided to see what other features we can add before the release, but it will be rather soon. The way auto start works is that we've added a vote start command. The games will start if 2/3 (or both players, if there are only 2) have voted to start the game. Later updates will include a minimum player count where the game can be voted to start.
When will the next release come out? and does it have the auto start feature where it needs 16 players to start and once 16 players are in, it auto starts?
@MrFrostmaul
All you need to do is stop the server and bring it up again. If there is another map on the map list, it will load that for you. We already have it set up to automatically stop and restart the server, which will be in the next release.
Just a quick question:
For the bit where it says "After the game you will have to manually restart the server to get to the next map." How would you do that, just change it in the server settings to the 2nd map?
BTW - That should be a cool idea where the plugin does it all auto for you :)
@hockeygoalie5
Well thanks for all the help and I'll be looking at the plugin for future updates.
@Shabalobaloo
It may be a feature later, but not a priority now. I can't say for sure when we can start on it, but our current focus is adding general features and bug fixes, so it may pop in. No other plugin, besides this and the one requiring a database, seem to work or are abandoned, unfortunately.
@hockeygoalie5
Thanks for the response, this has been very helpful. Do you think this could be implemented into a further update to the plugin? And could you maybe recommend a Survival/Hunger Games Plugin that doesn't use a MySQL Database?
@Shabalobaloo
Before the game starts, players are placed into "spectate mode" where they have the ability to fly, but can not interact with the world or flight. Once the game starts, they are removed from spectate mode and play normally. If you are trying to use this plugin on one server with more than one world at once, I'm afraid that wouldn't work yet. This plugin is still early and only supports one world at a time. Anything it does affects players server-wide. Currently, you must give it an exclusive server. Sorry for the inconvenience!
I am an Admin on a server and stumbled across many Hunger Games plugins. The Owner didn't like the idea of a MySQL Database so I found this plugin. We currently have 4 worlds and wish to have 1 of them to be a Hunger Games World. The other worlds being for them to build houses and such. The problem we had was that we added the plugin with no perms given and suddenly the players could fly. We panicked and immediately removed the plugin. I read through some comments and couldn't find anything about this problem we're having so if you could help then it would be highly appreciated. Thank you, Shabalobaloo P.S. Please speak in basic terms, I know nothing about programming and such. xD
Next release will have configuration files, a block white/black list, and automation (vote start and auto restart). Get excited! Just some testing to be done (for the people who are still alive) and it will be out!
Thank you! Don't make much of the quick response, I have no life.
Oh, ok. Didn't see that lol. Thanks so much for both helping and the quick response! Good luck adding features!
@YoshiGenius
No problem! Our entire plugin is open source, so you can just go to our repository and clone it. Here is the code you're looking for, though. It's pretty rough code, but it basically goes through every loaded block and checks if it's a chest. If it is, it's added to the database. You'd think it'd freeze up like a bitch, but it doesn't, which really surprised me. Still don't think it's a fantastic idea, but it works. If you have any further questions, do not shy from asking!
Hello, I was just wondering, how do you detect where the chests are in terms of code? I would love to be able to use this so that I can determine where certain blocks are for my plugin. Any help would be much appreciated! Thanks. YoshiGenius
Please submit a ticket to suggest a feature. Keeps us organized. Thanks!
We're reaching out for this one: We're at the point where we want to start adding more features now that we've got the basics nearly down. Besides more automation, what features would you like to see? Also, while we are working on configuration, what features would you really like to be able to customize that you think we may not think of? Thanks for your support!