Compare commits
10 Commits
558cdf7ac0
...
56278230ed
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
56278230ed | ||
|
|
2997256a6d | ||
|
|
5e0aaac911 | ||
|
|
886400467e | ||
|
|
1d420347b5 | ||
|
|
26e4646b2e | ||
|
|
58a66b13d1 | ||
|
|
16d4b94709 | ||
|
|
e6b6eeb8f4 | ||
|
|
c7918c461e |
36
README.md
36
README.md
@ -1,29 +1,49 @@
|
||||
# Craftmin
|
||||
|
||||
A collection of script to configure and manage a CraftBukkit Minecraft server.
|
||||
A collection of scripts to configure and manage a CraftBukkit Minecraft server.
|
||||
|
||||
### Files
|
||||
|
||||
| Filename | Description |
|
||||
| ---------------- | ---------------------------- |
|
||||
| ------------------ | ----------------------------- |
|
||||
| `craftbukkit.sh` | Init script |
|
||||
| `craftmin.sh` | CraftBukkit management script |
|
||||
| `craftbukkit.conf` | Configuration file |
|
||||
| `bukkit-log.xml` | Server log configuration |
|
||||
| `craftmin.sh` | CraftBukkit management script|
|
||||
|
||||
### Features
|
||||
|
||||
TBC
|
||||
|
||||
### Requirements
|
||||
|
||||
- tmux
|
||||
- sysvinit (systemd is currently not supported)
|
||||
- sudo
|
||||
|
||||
### Setup
|
||||
|
||||
1. Edit the configuration to your linking
|
||||
1. Edit `craftbukkit.conf` to your liking
|
||||
2. Install the init script:
|
||||
|
||||
mv craftbukkit.sh /etc/init.d/craftbukkit
|
||||
chmod 755 /etc/init.d/craftbukkit
|
||||
update-rc.d craftbukkit defaults
|
||||
|
||||
3. Install `craftmin.sh`:
|
||||
|
||||
mv craftmin.sh /usr/local/bin/craftmin
|
||||
chmod 755 /usr/local/bin/craftmin
|
||||
|
||||
4. Move the configuration file in place:
|
||||
|
||||
mv config /etc/craftbukkit.conf
|
||||
|
||||
### Usage
|
||||
|
||||
craftmin {console|backup|full-backup|wl-add|wl-rm}
|
||||
|
||||
#### Command description:
|
||||
|
||||
- **console**: Connects to the tmux console
|
||||
- **backup**: Creates a world backup
|
||||
- **full-backup**: Creates a full backup
|
||||
- **wl-add [USER]**: Adds [USER] to the whitelist
|
||||
- **wl-rm [USER]** Removes [USER] from the whitelist
|
||||
- **--help**, **-h**: Shows a short help message
|
||||
|
||||
@ -3,10 +3,10 @@
|
||||
<Appenders>
|
||||
<Console name="WINDOWS_COMPAT" target="SYSTEM_OUT"></Console>
|
||||
<Queue name="TerminalConsole">
|
||||
<PatternLayout pattern="[%d{HH:mm:ss} %level]: %msg%n" />
|
||||
<PatternLayout pattern="[%d{dd.MM.yy HH:mm:ss} %level]: %msg%n" />
|
||||
</Queue>
|
||||
<RollingRandomAccessFile name="File" fileName="logs/server.log" filePattern="logs/server-%d{dd-MM-yyyy}.log.gz">
|
||||
<PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level]: %replace{%msg}{\x1B\[([0-9]{1,2}(;[0-9]{1,2})*)?[m|K]}{}%n" />
|
||||
<PatternLayout pattern="[%d{dd.MM.yy HH:mm:ss}] [%t/%level]: %replace{%msg}{\x1B\[([0-9]{1,2}(;[0-9]{1,2})*)?[m|K]}{}%n" />
|
||||
<Policies>
|
||||
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
|
||||
</Policies>
|
||||
|
||||
8
craftbukkit.conf
Normal file
8
craftbukkit.conf
Normal file
@ -0,0 +1,8 @@
|
||||
# Configuration for CraftBukkit
|
||||
USER="craftbukkit"
|
||||
SRVPATH="/opt/craftbukkit"
|
||||
WORLDPATH="${SRVPATH}/world"
|
||||
JAVAOPTS="-d64 -server -Xms1G -Xmx4G -XX:+UseG1GC -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:TargetSurvivorRatio=90 -XX:MaxGCPauseMillis=200 -XX:MaxPermSize=256m -Dlog4j.configurationFile=bukkit-log.xml"
|
||||
JARNAME="craftbukkit.jar"
|
||||
JAROPTS="--universe ${WORLDPATH}"
|
||||
# Config END
|
||||
@ -9,18 +9,12 @@
|
||||
# Description: Craftbukkit Minecraft Server
|
||||
### END INIT INFO
|
||||
|
||||
# Config START
|
||||
USER="craftbukkit"
|
||||
SRVPATH="/opt/craftbukkit"
|
||||
WORLDPATH="/opt/craftbukkit/world"
|
||||
JAVAOPTS="-d64 -server -Xms1G -Xmx4G -XX:+UseG1GC -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:TargetSurvivorRatio=90 -XX:MaxGCPauseMillis=200 -XX:MaxPermSize=256m -Dlog4j.configurationFile=bukkit-log.xml"
|
||||
JARNAME="craftbukkit.jar"
|
||||
JAROPTS="--universe ${WORLDPATH}"
|
||||
# Config END
|
||||
|
||||
# We want LSB functions here
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
# Load configuration variables
|
||||
. /etc/craftbukkit.conf
|
||||
|
||||
server_running() {
|
||||
if [ -z "$(pgrep -f -n $JARNAME)" ]; then
|
||||
return 1
|
||||
|
||||
91
craftmin.sh
Normal file
91
craftmin.sh
Normal file
@ -0,0 +1,91 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Load configuration variables
|
||||
. /etc/craftbukkit.conf
|
||||
|
||||
# Some colors
|
||||
red='\033[0;31m'
|
||||
orange='\033[0;33m'
|
||||
green='\033[0;32m'
|
||||
cyan='\033[0;36m'
|
||||
NC='\033[0m'
|
||||
|
||||
server_running() {
|
||||
if [ -z "$(pgrep -f -n $JARNAME)" ]; then
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
console)
|
||||
if server_running; then
|
||||
sudo -u ${USER} tmux attach -t craftbukkit-console
|
||||
else
|
||||
echo -e "[]${orange}warn${NC}] No server running ... ${orange}(warning).${NC}"
|
||||
exit 7
|
||||
fi
|
||||
;;
|
||||
|
||||
backup)
|
||||
# @TODO
|
||||
;;
|
||||
|
||||
full-backup)
|
||||
# @TODO
|
||||
;;
|
||||
|
||||
wl-add)
|
||||
if server_running; then
|
||||
if [ $# -gt 1 ] && [ $# -lt 3 ]; then
|
||||
shift
|
||||
sudo -u ${USER} -H tmux send-keys -t craftbukkit-console "whitelist add ${1}" C-m >/dev/null 2>&1
|
||||
sudo -u ${USER} -H tmux send-keys -t craftbukkit-console "whitelist reload" C-m >/dev/null 2>&1
|
||||
else
|
||||
echo -e "[${cyan}info${NC}] Usage: $0 $1 [USER]"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo -e "[${orange}warn${NC}] No server running ... ${orange}(warning).${NC}"
|
||||
exit 7
|
||||
fi
|
||||
;;
|
||||
|
||||
wl-rm)
|
||||
if server_running; then
|
||||
if [ $# -gt 1 ] && [ $# -lt 3 ]; then
|
||||
shift
|
||||
sudo -u ${USER} -H tmux send-keys -t craftbukkit-console "whitelist remove ${1}" C-m >/dev/null 2>&1
|
||||
sudo -u ${USER} -H tmux send-keys -t craftbukkit-console "whitelist reload" C-m >/dev/null 2>&1
|
||||
else
|
||||
echo -e "[${cyan}info${NC}] Usage: $0 $1 [USER]"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo -e "[${orange}warn${NC}] No server running ... ${orange}(warning).${NC}"
|
||||
exit 7
|
||||
fi
|
||||
;;
|
||||
|
||||
--help|-h)
|
||||
echo -e "[${cyan}info${NC}] Usage: $0 COMMAND"
|
||||
echo
|
||||
echo "Available commands:"
|
||||
echo -e " console \t Connects to the console"
|
||||
echo -e " backup \t Creates a world backup"
|
||||
echo -e " full-backup \t Creates a full backup"
|
||||
echo -e " wl-add [USER]\t Adds [USER] to the whitelist"
|
||||
echo -e " wl-rm [USER]\t Removes [USER] from the whitelist"
|
||||
echo -e " --help, -h \t Shows this help"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo -e "[${cyan}info${NC}] No such command"
|
||||
echo -e "[${cyan}info${NC}] Usage: $0 {console|backup|full-backup|wl-add|wl-rm}"
|
||||
echo -e "[${cyan}info${NC}] Or try $0 --help for help"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
Loading…
Reference in New Issue
Block a user