Ok, since I've more or less taken ownership of this script from Relliktsohg (he should be putting his resources in awesome **** like Cuboid anyway) and have made some pretty significant improvements and changes, I've started a new thread.
With the latest version (which you can download now) and starting on 2.3. The admin has the ability to easily use different server mods and only needs to change the MODJAR variable. I'm still working on a few ideas to allow for more dynamic updating as well. (Where you supply the download path and the rest is done automatically)
* Download the script from https://github.com/endofzero/Minecraft-Sheller
* copy the script into your minecraft server folder.
* allow the script to be executed
chmod +x minecraft.sh
* check the rights of the script user. Every folder specified in the configuration phase has to be available to him.
* edit the script to configure it (see the configuration section)
(optional)
* I strongly recommend using crontab to automate some of the process. I prefer to perform logs clean + server restart + sync + then all of my mappers at 4AM every day.
* The 'logs' command should always be used BEFORE a restart, as the restart wipes the previous logs. I'm running hey0's servermod, which allows to have a log history, but that's not the case for everyone.
* I also recommend setting an Internet public folder, for the maps images to be displayed. People on my server love this feature, as they know a new map is generated every day, and they can see the evolution of our world.
* I made an alias to be able to use 'minecraft command' instead of './minecraft.sh command'. It also enables the automatic completion, if you type 'mine' then press tab. Much quicker =) You can do this by editing /home/USER/.bashrc, and adding the line:
alias minecraft="/home/minecraft/minecraft.sh"
(of course, change the path if needed)
Considerations: Space
This script uses rsync to update an offline folder with the latest world information. As maps become larger, time to completion when running mappers on them increases. Having saving turned off for 15-30 minutes while a new map is being generated isn't good for the users. Saving is now only turned off for the time it takes to sync the folders.
Because of this, your world size is effectively doubled when using this script. Whenever you issue the 'minecraft.sh sync' command, you will be shown the size of the two directories in KB.
Overviewer
If using Brownan's Overviewer to create Google-like maps of your worlds, be sure you are using the --cachedir=/path/to/dir to change the location of the png files as you will start to take up considerable space since it defaults to save the files inside of the world folder. This can grow backups that are only 3mb to 99mb files. If you are not cleaning the logs, this will start to consume a considerable amount of hard drive space.
Configuration :
There are several variables to set before you can run the script for the first time. Open minecraft.sh with a text editor, and edit the following lines, at the beginning of the file :
Main Settings
WORLD_NAME="world"
This is the name of the world folder
OFFLINE_NAME=$WORLD_NAME-offline
This is the name to the offline world folder that sync and all mapper functions use to process the world. This is saved in the same directory as your world folder.
SCREEN_NAME="minecraft"
This is the name of the screen the server will be run on
MEMMAX=1024
This is the maximum size of RAM you want to allow the server to use, if you are not sure, keep this and MEMALOC identical.
MEMALOC=1024
This is the size of RAM you want to allocate to the server. (If you are unsure of these settings, keep them identical)
DISPLAY_ON_LAUNCH=1
Do you want the screen to be displayed each time the server starts? In other words, do you want the console for minecraft to remain shown when you launch via the script or to just give you the jar name. 1 if yes, 0 if no.
MC_PATH=/home/minecraft
This is the path to your minecraft folder
SERVER_OPTIONS=""
This is where you would place any desired flags for running your server.
SERVERMOD=0
If you are running hey0's servermod, this needs to be set to 1 (better logging and automatic updating of the mod)
RUNECRAFT=0
If you want your script to update runecraft automatically too, set this to 1
MODJAR="craftbukkit.jar"
This is the name of the jar file for your server mod. This allows you to easily use different mods such as kMOD, bukkit, ect.
Backups
BKUP_PATH=$MC_PATH/backup
This is the path to the backup folder. Map backups and old log entries will go there.
BKUP_DAYS_INCR=3
How long will incremental map backups be kept? (Only used with the './minecraft.sh backup full' command)
BKUP_DAYS_FULL=3
How long will full map backups be kept? (Only used with the './minecraft.sh backup full' command)
BACKUP_FULL_LINK=${BKUP_PATH}/${WORLD_NAME}_full.tgz
Naming convention for full backups.
BACKUP_INCR_LINK=${BKUP_PATH}/${WORLD_NAME}_incr.tgz
Naming convention for incremental backups.
Logs
LOG_TDIR=/var/www/minecraftLogs
This is the path to the logs folder
LOGS_DAYS=7
How long will the logs be kept? (Only used with the './minecraft.sh logs clean' command)
Mapping
CARTO_PATH=$MC_PATH/carto
This is the path to c10t's cartography script
MAPS_PATH=/var/www/minecraftMaps
This is the path to the world maps folder
CARTO_OPTIONS="-q -s"
This contains all of the options you want when running cartography.
BIOME_PATH=/home/minecraft/BiomeExtractor
This is the path to MinecraftBiomeExtractor.jar
MCOVERVIEWER_PATH=$MC_PATH/Overviewer/
This is the path to Overviewer (gmap.py)
MCOVERVIEWER_MAPS_PATH=/var/www/minecraft/maps/Overview/
This is the location where Overviewer will render
MCOVERVIEWER_CACHE_PATH=/var/www/minecraft/maps/Overview/cache/
This is the path for the cache directory for Overviewer
MCOVERVIEWER_OPTIONS="--lighting"
This contains all of the options you want when running Overviewer.
Detailed Command Usage
./minecraft.sh
Without arguments, the script will resume the server screen. (If you want to close the screen without shutting down the server, use CTRL+A then press D to detach the screen)
./minecraft.sh status
Tells you if the servers seems to be running, or not.
./minecraft.sh start [force]
Starts the server. If you know your server is not running, but the script believe it is, use the force option.
./minecraft.sh stop [force]
Self explainatory
./minecraft.sh restart [warn]
If the warn option is specified, it will display a warning 30s & 10s before the restart happens.
./minecraft.sh logs [clean]
Parses logs into several files, grouped into a folder named with the date of the logging. If the clean option is specified, it will move the older folders into the backup folder. Again, this command should be issues before a server restart.
Note: If you run this command with Hey0, you will see a message that states something like: "Found a log lock : server_##########" This is not an error and just a notification message. Logs are being generated correctly.
./minecraft.sh backup [full]
Displays a message to the players if the server is online, stops the writing of chunks, create a dated archive and backs up the world folder. If the full option is specified, it will delete the older incremental and full archives based on the settings.
./minecraft.sh say "<message>"
If the server is online, this will send the <message> to all users via the console.
If the message is not surrounded by either single or double quotes, only the first word will be sent.
Incorrect: ./minecraft.sh say This is a public message
Correct: ./minecraft.sh say "This is a public message"
./minecraft.sh tell <user> "<message>"
If the server is online, this will send a whisper of <message> to <user>.
If the message is not surrounded by either single or double quotes, only the first word will be sent.
Incorrect: ./minecraft.sh tell test_user This is a private message
Correct: ./minecraft.sh tell test_user "This is a private message"
./minecraft.sh sync
This updates the offline folder to have the most recent information from the online folder This needs to be ran before you update any maps via the commands. The size of both folders will be displayed.
./minecraft.sh cartography [sync]
Initiates c10t's cartography script. I strongly recommend the MAPS_PATH to be an internet public folder. The sync option will sync the world before mapping occurs.
./minecraft.sh overviewer [sync]
Initiates Brownan's Overviewer script. I strongly recommend the MCOVERVIER_MAPS_PATH to be an internet public folder as well. The sync option will sync the world before mapping occurs.
./minecraft.sh biome [sync]
Running the extractor will update any biome information from new chunks. The sync option will sync the world before mapping occurs.
./minecraft.sh update
Stops the server if it is online, backs up the old binaries, downloads the last binaries from minecraft.net and restarts the server.
If RUNECRAFT=1, once the latest jar of either the vanilla server jar or hey0 is downloaded, the latest version of Runecraft is injected into the jar file. The class injection only occurs during an update, so if you enabled Runecraft while just running your server without ever running 'minecraft.sh update', Runecraft will not be available. If you want Runecraft, but not hMod, then you would set SERVERMOD=0 and RUNECRAFT=1. You would then run _'./minecraft.sh update'_ to inject Runecraft into just the vanilla server jar (the latest one, of course).
Change Log :
2.5
- Fixed map changes creation. Added the ability to now use a separate config file (config.sh) this allows you to update the script to newer versions without the need to change the configuration settings each time.
2.4
- Fixed runecraft injections. If SERVERMOD is on (1) then it will download the Runecraft plugin into the plugin directory. If it is off, then it will inject the classes into your vanilla server file.
2.3
- Fixed update path for bukkit to use the recommended builds, Runecraft also works with bukkit.
- Added MAP_CHANGES variable - this allows you to turn on change tracking for the maps.
2.2
- Transitioned from hMod to bukkit. Update still doesnt work for bukkit until they establish a static location and naming convention that we can grab the files from.
2.1
- 'tell' command to allow for whispers to specific users.
- Sync to be an additional option for mapper commands to allow for quick ad-hoc synchronization without the need for two commands.
- Corrected naming convention for cartography (pay mind to this) now as Y-M-D, not D-M-Y (which makes file sorting pretty shitty)
2.0
- Initial build
Future updates :
- Command to restore backups automatically, both full and incremental
* Bugfixes ?
* Better log parsing, this one is realy primitive
* Anything you could think of.
Any advice on how to upgrade this script is very welcome.
Hi, when I start up the shell script, i cant seem to access the console. Is there any way to do that? Also, are there guides on installing c10t and the other addons along with how to set up a cronjob/crontab (don't know the difference). Thanks for reading and hopefully answering.
EDIT: oh and also, after I stop the server and try to start it again, it says server is online. It still doesn't start even when I do ./minecraft.sh start force (even when I kill the process) The only way I got it starting is by using ./minecraft.sh update 0.0
2nd Edit: ./minecraft.sh stop doesn't stop at all for me either.
Hi, when I start up the shell script, i cant seem to access the console. Is there any way to do that? Also, are there guides on installing c10t and the other addons along with how to set up a cronjob/crontab (don't know the difference). Thanks for reading and hopefully answering.
EDIT: oh and also, after I stop the server and try to start it again, it says server is online. It still doesn't start even when I do ./minecraft.sh start force (even when I kill the process) The only way I got it starting is by using ./minecraft.sh update 0.0
2nd Edit: ./minecraft.sh stop doesn't stop at all for me either.
To which console are you referring?
Installing c10t is as simple as following the directions over in the top post of the c10t thread.
A cron job is a task on the cron table (or crontab). To put it another way, a crontab is a list of cron jobs. To edit the table, run the command 'crontab -e' as the user as whom you will be running minecraft, and a file will open in your favorite editor. Cron's syntax is a little esoteric, but I'll try to give you an example here:
The above cron table has two schedule cron jobs. The first one, thing1.sh, runs every fifteen minutes, every day. You could use that for a job that would, say, make sure the server is running, and if not, restart it.
The second, thing2.sh, runs at 2:30 AM every day. That could be a script that halts saving, backs up the world, makes new maps, and then restarts saving once its tasks have been completed.
As to the other problems you're having, it's hard to answer without having more details. Precisely what happens, including messages, when you try to start the already-stopped server, for example?
Hi, when I start up the shell script, i cant seem to access the console. Is there any way to do that? Also, are there guides on installing c10t and the other addons along with how to set up a cronjob/crontab (don't know the difference). Thanks for reading and hopefully answering.
EDIT: oh and also, after I stop the server and try to start it again, it says server is online. It still doesn't start even when I do ./minecraft.sh start force (even when I kill the process) The only way I got it starting is by using ./minecraft.sh update 0.0
2nd Edit: ./minecraft.sh stop doesn't stop at all for me either.
which version of the script are you using?
Throw it in here (removed any info you dont want shown, but this script really doesnt' contain any security settings) http://pastebin.com/ and put up the link.
1. The Console.... I'm guessing you have DISPLAY_ON_LAUNCH=0... A read of the initial config settings would have indicated this to you. Change it to 1 to allow for the console to remain when launching. To release the screen at that point (or whenever you use just './minecraft.sh' to reattach to the console), you would first press CTRL-A for action, then press 'D' to detach.
If you ever want to hop back into your console to see what your server is doing, just type ./minecraft.sh, this will look for the matching screen and attach to it.
When you say it doesn't stop... what is happening? can you post the output of the terminal when you try to stop it?
I've been using endofzero's fork of this admin script for a while now. Dude, you guys are awesome! Thanks so much for the help and my server is running amazing thanks to you. OH! Also, thanks for adding sync and biome.. they work like a champ.
I've been using endofzero's fork of this admin script for a while now. Dude, you guys are awesome! Thanks so much for the help and my server is running amazing thanks to you. OH! Also, thanks for adding sync and biome.. they work like a champ.
I'm thinking of writing an shm fork of this for servers with lots of free RAM; copying the worlds shared memory for mapping and biome extraction has the potential to be much, much faster. More to come.
-bash: ./minecraft.sh: /bin/bash^M: bad interpreter: No such file or directory
I tried changing the MC_PATH setting, but nothing that I edited worked.
My VPS structure is like this:
root/minecraft/bin
so where should the minecraft.sh be placed and what should I write in MC_PATH ?
Did you edit the file on a Windows machine? That '^M' at the end is a DOS-style EOL marker. Look into a program like Dos2Unix to convert the file.
Also, I strongly urge you not to run Minecraft as root.
Also, I strongly urge you not to run Minecraft as root.
Why? What could happen if I run it as root? I have read that there are some vulnerabilities regarding hacking, but are there any performance issues too?
No performance issues, but if a vulnerability in any of the stack of programs you're using to run Minecraft is discovered, your server is open season. If you run as another user, the worst thing they can do is break Minecraft. If you run it as root, the worst-case scenario is much, much worse.
The only thing you should be doing as root is systems administration tasks; anything else should have a specific user that has access to what they need to to their job, and no more.
Ok you will need to install httpd and may as chuck in php
I'm all for helping folk out, but might I gently suggest further assistance be taken to another thread relevant to web or image hosting? Other people with similar problems are more likely to search for a thread with an appropriate title. :smile.gif:
hMos uses lock files when it is running. Most likely, it wasn't shutdown correctly for whatever reason (happens to me if I have a kernel panic for whatever reason) and the lock file was never deleted.
In your root minecraft folder. Browse to your logs folder 'cd logs/'
You should see two files, something like:
server_1294759503.log server_1294759503.log.lck
That .lck file is what is checked by the script to see if Minecraft is running.
Two ways to take care of this issue:
1: use './minecraft.sh start force'
2: Remove that .lck file manually to get the script to start as expected.
anywho how do i make it so i can close my terminal window? theres kinda no point in hosting it from vps when you need to leave your own computer in shell
Make sure DISPLAY_ON_LAUNCH is set to 0. This is on line 16 of the current version of the script.
Is there anyway of posting up an alternate script that uses bukkit' repositories?
Nobody is working on hmod and bukkit is in a preview state, but it can still be used.
Yeah, I've already created the branch, I was just seeing if they were going to change anything else first. Command line changes are easy enough, but logging is probably going to be different.
With the latest version (which you can download now) and starting on 2.3. The admin has the ability to easily use different server mods and only needs to change the MODJAR variable. I'm still working on a few ideas to allow for more dynamic updating as well. (Where you supply the download path and the rest is done automatically)
Download:
2.5 (latest): https://github.com/endofzero/Minecraft-Sheller
2.4: https://github.com/endofzero/Minecraft-Sheller/tree/2.4
2.3: https://github.com/endofzero/Minecraft- ... /tree/v2.3
2.2: https://github.com/endofzero/Minecraft-Sheller/tree/2.2
2.1 (Works with hey0): https://github.com/endofzero/Minecraft-Sheller/tree/2.1
Latest: https://github.com/endofzero/Minecraft-Sheller
This is a long read as there are many options for this script.
Requirements:
* Java runtime environment
* Minecraft Server JAR
* Screen v4.x
Optional:
* c10t (for cartography to work)
* brownan's overviewer script (for overviewer to work)
* Donkey Kong's Biome Extractor (for biomes)
* unzip (for auto updating)
Installation :
* Install the required programs
Screen and unzip
Try:
sudo apt-get install screen unzip
Or:
sudo yum install screen unzip
c10t
* Download from udoprog's repo:
https://github.com/udoprog/c10t
Minecraft-Overviewer
* Download from brownan's repo:
http://github.com/brownan/Minecraft-Overviewer
Biome Extractor
* Download from Donkey Kong's post (was tested as of 0.7a):
viewtopic.php?f=25&t=80902
minecraft.sh
* Download the script from https://github.com/endofzero/Minecraft-Sheller
* copy the script into your minecraft server folder.
* allow the script to be executed
chmod +x minecraft.sh
* check the rights of the script user. Every folder specified in the configuration phase has to be available to him.
* edit the script to configure it (see the configuration section)
(optional)
* I strongly recommend using crontab to automate some of the process. I prefer to perform logs clean + server restart + sync + then all of my mappers at 4AM every day.
* The 'logs' command should always be used BEFORE a restart, as the restart wipes the previous logs. I'm running hey0's servermod, which allows to have a log history, but that's not the case for everyone.
* I also recommend setting an Internet public folder, for the maps images to be displayed. People on my server love this feature, as they know a new map is generated every day, and they can see the evolution of our world.
* I made an alias to be able to use 'minecraft command' instead of './minecraft.sh command'. It also enables the automatic completion, if you type 'mine' then press tab. Much quicker =) You can do this by editing /home/USER/.bashrc, and adding the line:
alias minecraft="/home/minecraft/minecraft.sh"
(of course, change the path if needed)
Considerations:
Space
This script uses rsync to update an offline folder with the latest world information. As maps become larger, time to completion when running mappers on them increases. Having saving turned off for 15-30 minutes while a new map is being generated isn't good for the users. Saving is now only turned off for the time it takes to sync the folders.
Because of this, your world size is effectively doubled when using this script. Whenever you issue the 'minecraft.sh sync' command, you will be shown the size of the two directories in KB.
Overviewer
If using Brownan's Overviewer to create Google-like maps of your worlds, be sure you are using the --cachedir=/path/to/dir to change the location of the png files as you will start to take up considerable space since it defaults to save the files inside of the world folder. This can grow backups that are only 3mb to 99mb files. If you are not cleaning the logs, this will start to consume a considerable amount of hard drive space.
There are several variables to set before you can run the script for the first time. Open minecraft.sh with a text editor, and edit the following lines, at the beginning of the file :
WORLD_NAME="world"
This is the name of the world folder
OFFLINE_NAME=$WORLD_NAME-offline
This is the name to the offline world folder that sync and all mapper functions use to process the world. This is saved in the same directory as your world folder.
SCREEN_NAME="minecraft"
This is the name of the screen the server will be run on
MEMMAX=1024
This is the maximum size of RAM you want to allow the server to use, if you are not sure, keep this and MEMALOC identical.
MEMALOC=1024
This is the size of RAM you want to allocate to the server. (If you are unsure of these settings, keep them identical)
DISPLAY_ON_LAUNCH=1
Do you want the screen to be displayed each time the server starts? In other words, do you want the console for minecraft to remain shown when you launch via the script or to just give you the jar name. 1 if yes, 0 if no.
MC_PATH=/home/minecraft
This is the path to your minecraft folder
SERVER_OPTIONS=""
This is where you would place any desired flags for running your server.
EXAMPLE:
SERVER_OPTIONS="-XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=2 -XX:+AggressiveOpts"
SERVERMOD=0
If you are running hey0's servermod, this needs to be set to 1 (better logging and automatic updating of the mod)
RUNECRAFT=0
If you want your script to update runecraft automatically too, set this to 1
MODJAR="craftbukkit.jar"
This is the name of the jar file for your server mod. This allows you to easily use different mods such as kMOD, bukkit, ect.
BKUP_PATH=$MC_PATH/backup
This is the path to the backup folder. Map backups and old log entries will go there.
BKUP_DAYS_INCR=3
How long will incremental map backups be kept? (Only used with the './minecraft.sh backup full' command)
BKUP_DAYS_FULL=3
How long will full map backups be kept? (Only used with the './minecraft.sh backup full' command)
BACKUP_FULL_LINK=${BKUP_PATH}/${WORLD_NAME}_full.tgz
Naming convention for full backups.
BACKUP_INCR_LINK=${BKUP_PATH}/${WORLD_NAME}_incr.tgz
Naming convention for incremental backups.
LOG_TDIR=/var/www/minecraftLogs
This is the path to the logs folder
LOGS_DAYS=7
How long will the logs be kept? (Only used with the './minecraft.sh logs clean' command)
CARTO_PATH=$MC_PATH/carto
This is the path to c10t's cartography script
MAPS_PATH=/var/www/minecraftMaps
This is the path to the world maps folder
CARTO_OPTIONS="-q -s"
This contains all of the options you want when running cartography.
BIOME_PATH=/home/minecraft/BiomeExtractor
This is the path to MinecraftBiomeExtractor.jar
MCOVERVIEWER_PATH=$MC_PATH/Overviewer/
This is the path to Overviewer (gmap.py)
MCOVERVIEWER_MAPS_PATH=/var/www/minecraft/maps/Overview/
This is the location where Overviewer will render
MCOVERVIEWER_CACHE_PATH=/var/www/minecraft/maps/Overview/cache/
This is the path for the cache directory for Overviewer
MCOVERVIEWER_OPTIONS="--lighting"
This contains all of the options you want when running Overviewer.
./minecraft.sh
Without arguments, the script will resume the server screen. (If you want to close the screen without shutting down the server, use CTRL+A then press D to detach the screen)
./minecraft.sh status
Tells you if the servers seems to be running, or not.
./minecraft.sh start [force]
Starts the server. If you know your server is not running, but the script believe it is, use the force option.
./minecraft.sh stop [force]
Self explainatory
./minecraft.sh restart [warn]
If the warn option is specified, it will display a warning 30s & 10s before the restart happens.
./minecraft.sh logs [clean]
Parses logs into several files, grouped into a folder named with the date of the logging. If the clean option is specified, it will move the older folders into the backup folder. Again, this command should be issues before a server restart.
Note: If you run this command with Hey0, you will see a message that states something like: "Found a log lock : server_##########"
This is not an error and just a notification message. Logs are being generated correctly.
./minecraft.sh backup [full]
Displays a message to the players if the server is online, stops the writing of chunks, create a dated archive and backs up the world folder. If the full option is specified, it will delete the older incremental and full archives based on the settings.
./minecraft.sh say "<message>"
If the server is online, this will send the <message> to all users via the console.
If the message is not surrounded by either single or double quotes, only the first word will be sent.
Incorrect: ./minecraft.sh say This is a public message
Correct: ./minecraft.sh say "This is a public message"
./minecraft.sh tell <user> "<message>"
If the server is online, this will send a whisper of <message> to <user>.
If the message is not surrounded by either single or double quotes, only the first word will be sent.
Incorrect: ./minecraft.sh tell test_user This is a private message
Correct: ./minecraft.sh tell test_user "This is a private message"
./minecraft.sh sync
This updates the offline folder to have the most recent information from the online folder This needs to be ran before you update any maps via the commands. The size of both folders will be displayed.
./minecraft.sh cartography [sync]
Initiates c10t's cartography script. I strongly recommend the MAPS_PATH to be an internet public folder.
The sync option will sync the world before mapping occurs.
./minecraft.sh overviewer [sync]
Initiates Brownan's Overviewer script. I strongly recommend the MCOVERVIER_MAPS_PATH to be an internet public folder as well.
The sync option will sync the world before mapping occurs.
./minecraft.sh biome [sync]
Running the extractor will update any biome information from new chunks.
The sync option will sync the world before mapping occurs.
./minecraft.sh update
Stops the server if it is online, backs up the old binaries, downloads the last binaries from minecraft.net and restarts the server.
If RUNECRAFT=1, once the latest jar of either the vanilla server jar or hey0 is downloaded, the latest version of Runecraft is injected into the jar file. The class injection only occurs during an update, so if you enabled Runecraft while just running your server without ever running 'minecraft.sh update', Runecraft will not be available. If you want Runecraft, but not hMod, then you would set SERVERMOD=0 and RUNECRAFT=1. You would then run _'./minecraft.sh update'_ to inject Runecraft into just the vanilla server jar (the latest one, of course).
Change Log :
2.5
- Fixed map changes creation. Added the ability to now use a separate config file (config.sh) this allows you to update the script to newer versions without the need to change the configuration settings each time.
2.4
- Fixed runecraft injections. If SERVERMOD is on (1) then it will download the Runecraft plugin into the plugin directory. If it is off, then it will inject the classes into your vanilla server file.
2.3
- Fixed update path for bukkit to use the recommended builds, Runecraft also works with bukkit.
- Added MAP_CHANGES variable - this allows you to turn on change tracking for the maps.
2.2
- Transitioned from hMod to bukkit. Update still doesnt work for bukkit until they establish a static location and naming convention that we can grab the files from.
2.1
- 'tell' command to allow for whispers to specific users.
- Sync to be an additional option for mapper commands to allow for quick ad-hoc synchronization without the need for two commands.
- Corrected naming convention for cartography (pay mind to this) now as Y-M-D, not D-M-Y (which makes file sorting pretty shitty)
2.0
- Initial build
Future updates :
- Command to restore backups automatically, both full and incremental
* Bugfixes ?
* Better log parsing, this one is realy primitive
* Anything you could think of.
Any advice on how to upgrade this script is very welcome.
Credits:
Original Script: Relliktsohg
Contributions: endofzero, dopeghosti, Maine, demonspork, mattrl, robbiet480, FabianN, sandain, orospakr
Origional Post: http://www.minecraftforum.net/viewtopic.php?f=10&t=40202
Lulz
Trusted and Established Minecraft Server Hosting since Alpha in 2010. Minecraft Server Host: www.minecraftserverhost.net
Test Servers: test.minecraft.ms | east.minecraft.ms | central.minecraft.ms | west.minecraft.ms
I am a representative of Minecraftserverhost.net
EDIT: oh and also, after I stop the server and try to start it again, it says server is online. It still doesn't start even when I do ./minecraft.sh start force (even when I kill the process) The only way I got it starting is by using ./minecraft.sh update 0.0
2nd Edit: ./minecraft.sh stop doesn't stop at all for me either.
To which console are you referring?
Installing c10t is as simple as following the directions over in the top post of the c10t thread.
A cron job is a task on the cron table (or crontab). To put it another way, a crontab is a list of cron jobs. To edit the table, run the command 'crontab -e' as the user as whom you will be running minecraft, and a file will open in your favorite editor. Cron's syntax is a little esoteric, but I'll try to give you an example here:
The above cron table has two schedule cron jobs. The first one, thing1.sh, runs every fifteen minutes, every day. You could use that for a job that would, say, make sure the server is running, and if not, restart it.
The second, thing2.sh, runs at 2:30 AM every day. That could be a script that halts saving, backs up the world, makes new maps, and then restarts saving once its tasks have been completed.
As to the other problems you're having, it's hard to answer without having more details. Precisely what happens, including messages, when you try to start the already-stopped server, for example?
which version of the script are you using?
Throw it in here (removed any info you dont want shown, but this script really doesnt' contain any security settings) http://pastebin.com/ and put up the link.
1. The Console.... I'm guessing you have DISPLAY_ON_LAUNCH=0... A read of the initial config settings would have indicated this to you. Change it to 1 to allow for the console to remain when launching. To release the screen at that point (or whenever you use just './minecraft.sh' to reattach to the console), you would first press CTRL-A for action, then press 'D' to detach.
If you ever want to hop back into your console to see what your server is doing, just type ./minecraft.sh, this will look for the matching screen and attach to it.
When you say it doesn't stop... what is happening? can you post the output of the terminal when you try to stop it?
Lulz
I'm thinking of writing an shm fork of this for servers with lots of free RAM; copying the worlds shared memory for mapping and biome extraction has the potential to be much, much faster. More to come.
Did you edit the file on a Windows machine? That '^M' at the end is a DOS-style EOL marker. Look into a program like Dos2Unix to convert the file.
Also, I strongly urge you not to run Minecraft as root.
No performance issues, but if a vulnerability in any of the stack of programs you're using to run Minecraft is discovered, your server is open season. If you run as another user, the worst thing they can do is break Minecraft. If you run it as root, the worst-case scenario is much, much worse.
The only thing you should be doing as root is systems administration tasks; anything else should have a specific user that has access to what they need to to their job, and no more.
Do you have any resources you could link me to? I'm pretty new to Linux/hosting.
Thanks again.
I'm all for helping folk out, but might I gently suggest further assistance be taken to another thread relevant to web or image hosting? Other people with similar problems are more likely to search for a thread with an appropriate title. :smile.gif:
I suppose this will be updated to work with the "new hMod", Bukkit?
Aye... I will keep with what is updated and current, he is pretty much giving up on all of it...
http://forum.hey0.net/announcements.php?aid=4
Not surprising that a 15 year old lost interest... but bukkit seems to be a pretty solid team...
Lulz
Are you using hMOD?
Lulz
Okie dokie...this is easy enough...
hMos uses lock files when it is running. Most likely, it wasn't shutdown correctly for whatever reason (happens to me if I have a kernel panic for whatever reason) and the lock file was never deleted.
In your root minecraft folder. Browse to your logs folder 'cd logs/'
You should see two files, something like:
server_1294759503.log server_1294759503.log.lck
That .lck file is what is checked by the script to see if Minecraft is running.
Two ways to take care of this issue:
1: use './minecraft.sh start force'
2: Remove that .lck file manually to get the script to start as expected.
Lulz
Make sure DISPLAY_ON_LAUNCH is set to 0. This is on line 16 of the current version of the script.
Yeah, I've already created the branch, I was just seeing if they were going to change anything else first. Command line changes are easy enough, but logging is probably going to be different.
Lulz