Ascii Bukkit Menu
Ascii Bukkit Menu
What is it?
Ascii Bukkit Menu is a Bukkit server manager. Written with bash, designed to be simple and robust. Should work out of the box on most distros. Specificly designed to run on a headless server via a ssh session.
Features:
- Uses screen to keep server session running in background, can reconnect at anytime.
- Start/Stop/Restart commands.
- Send commands directly to bukkit server.
- Automatically update Bukkit server to latest recommended.
- Bukkit server log rotation. Rotates server.log on each start, keeps last 20 compressed.
- If using Ramdisks, will automatically copy worlds between ramdisk and localdisk. Then runs an md5sum to verify consistency of the data.
- Start and Stop server on boot using non-interactive mode.
See:
ScreenShots - Updated for 0.2.8
Download:
Dependencies:
- Java Runtime Enviroment http://java.com/en/download/manual.jsp
- bash http://www.gnu.org/s/bash/
- screen http://www.gnu.org/s/screen/
-Must have vertical support. (This is baked into debian based systems)
-Arch users try this package
-RHEL/CentOS use Git Souce | HowTo
- grep http://www.gnu.org/s/grep/
- wget http://www.gnu.org/s/wget/
- zip / unzip
- logrotate
- md5sum (optional)
- sysstat utilities (optional to see network usage)
- python (optional)
Install:
AutoMagic Method:
This will download and install ABM, then run an interactive script to setup the configuration.
No need to edit config manually.
Simply copy and paste the following to a bash shell.
wget http://dev.bukkit.org/media/files/667/24/install.sh && chmod +x install.sh && ./install.sh
Traditional method - zip:
wget http://dev.bukkit.org/media/files/667/23/abm-0.2.8.zip unzip abm-0.2.8.zip
Experimental Builds - git:
Not for the faint of heart.
git clone https://[email protected]/user77/Ascii-Bukkit-Menu.git
Usage:
To use ABM simply change to the directory you installed it to and run the abm.sh script.
cd Ascii-Bukkit-Menu ./abm.sh
You can also run in non-interactive mode. This can be added to startup scripts. Currently doesn't work if you are using a ramdisk
./abm --start ./abm --stop
Help:
First check to see you have the correct dependencies as listed above.
Make sure your user has +rx permissions to Ascii-Bukkit-Menu directory
chmod -R u+rx Ascii-Bukkit-Menu chown -R you:yourgroup Ascii-Bukkit-Menu
Issues:
Dosen't work on screen without vertical support.
This is very much a work in progress. So if you come across a bug, please open a ticket.
here.
@user777
I would welcome such a feature aswell :)
Also I wondered if you could implement a cordial message from the server to the players when shutting down, some phrase we can configure in the config.
Oh and I nearly forgot, your project is awesome, it makes bukkit so much more manageable remotely! Thanks a lot ;)
It doesn't work...
abmversion=0.2.5
#Absolute path to your bukkit installation. Example:
#bukkitdir=/opt/minecraft
bukkitdir=/opt/minecraft
# Java Arguments, change to whaever you like.
# For a complete list, please see: http://bit.ly/mYKJte
jargs="-server -Xincgc -Xmx1536M"
# Set Status Refresh rate in seconds.
tick=5
#Are you using a ramdisk? if so change to true. See http://bit.ly/smK9iR for more info.
ramdisk=false
#If True, set world names with space between.
worlds=( )
#NIC To use for SAR
eth=eth0
Can you give the config file synthax ?
@Yamakaky
I noticed the same. This will be fixed in the next release.
You can edit the file manually for now after the installation is complete (I agree that its a redundant step that is... redundant)
Hi I used MapPort to install all type dependencies, the ABM installation command works, ABM is installer and launched but I have still a problem : the config file isn't saved at the end of the config script, so that I can't use the mod, it always says me config file doesn't exist. Can you help me ?
You can swap out the performBackup method from my abm-new-v1-1 with something simpler like this:
backupWorld() {
echo "Backing up $1"
as_user "tar -cf - $1 | pv | gzip - > $BACKUP/$1.tgz"
}
backupService() {
echo "Backing up craftbukkit.jar"
as_user "cp $bukkitdir/craftbukkit.jar $BACKUP/craftbukkit.jar"
echo "Backup complete"
}
performBackup() {
PATHDATE=`date "+%Y.%m.%d_%H.%M"`
BACKUP="$BACKUPPATH/$PATHDATE"
mkdir $BACKUP
backupWorld $WORLD
backupWorld $WORLDNETHER
backupWorld $WORLDEND
backupService
}
I went ahead and modified ascii-bukkit-menu some and added the following features:
--status - this will print out running or stopped to let you know the state of your server
--restart - allows you to restart your server
--backup - performs a backup of your world and bukkit jar
And, I created a recover.sh and placed it in the Ascii-Bukkit-Menu path and chmod +x it. This recovers from a crash and brings the server back up if you call it in a cron job. You can set up a cron job by typing: crontab -e
And then paste the following to give it a 5 minute interval check (this is lightweight since it only does a --status, which will only check the pid if it is still running):
*/5 * * * * /home/USERNAME/Ascii-Bukkit-Menu/recover.sh
I'll go ahead and zip it up and make it available for anyone who wants to try out my changes. You can just drop functions.sh and menu.sh in the scripts dir and overwite your abm.sh with mine, and drop recover.sh in the same dir as abm.sh Just make sure to edit each and every one of these scripts and change the path to your own.
Here are my changes...
http://rm-f.net/~palisade/abm-new-v1-1.tgz
It was based on the previous version of ABM, I haven't updated it for 0.2.5 yet.
New Version is out 0.2.5.
Just wanted to say thank you to everyone for you patience. I've been crazy busy as of late. To those of you who have given suggestions both for feature updates and fixes Thank You! I have implemented a lot of bug fixes based on user feedback. I will also be working on some of those feature requests. So as long as they make sense I'll try to get them in here. I currently have some backup scripts I use on my own server http:www.blackdamp.net that I'm going to include. There are a few new items I have in the works as well.
@TnTBass
There should be no issues running this on a mac, provided you have the dependencies. Check here http://www.macports.org/ for the deps.
@megge208
You mean restart the bukkit server? You could accomplish that with a cron job. I suppose I could add something like that if there is a demand for it.
@Yamakaky
Good question. I imagine modifications need to be done unless Mac can open .sh scripts itself.
@user777
User777 needs to weigh in on this one - he's the Mac guy.
Is it possible to use this mod on Mac ?
Another feature request: Maybe an automatic restart at a certain time?
Thanks a lot :)
@megge208
There will be an update shortly for some fixes. I will need to work on the non-interactive + ramdisk issue.
Is there a new version coming around next week? I'm setting up a new server and I'd love to use the new version (so I don't have to change around the versions while the server is running)
@Bixter1
I'm interested to see what changes you made to make this work on Ubuntu, since it was built on an Ubuntu box. What were you having issues with? I haven't worked on this in a bit, and there have been some major Bukkit changes. So expect a new version shortly. Would love to include any enhancements/fixes you have. Cheers
@Bixter1
I wouldn't mind you branching it on GitHub and making your edits there.
Otherwise a mediafire link is fine.
Ok, let me clean it up and ill send it over. Whats the best way to get this to you?