Compare commits
10 Commits
558cdf7ac0
...
56278230ed
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
56278230ed | ||
|
|
2997256a6d | ||
|
|
5e0aaac911 | ||
|
|
886400467e | ||
|
|
1d420347b5 | ||
|
|
26e4646b2e | ||
|
|
58a66b13d1 | ||
|
|
16d4b94709 | ||
|
|
e6b6eeb8f4 | ||
|
|
c7918c461e |
42
README.md
42
README.md
@ -1,29 +1,49 @@
|
|||||||
# Craftmin
|
# 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
|
### Files
|
||||||
|
|
||||||
| Filename | Description |
|
| Filename | Description |
|
||||||
| ---------------- | ---------------------------- |
|
| ------------------ | ----------------------------- |
|
||||||
| `craftbukkit.sh` | Init script |
|
| `craftbukkit.sh` | Init script |
|
||||||
| `bukkit-log.xml` | Server log configuration |
|
| `craftmin.sh` | CraftBukkit management script |
|
||||||
| `craftmin.sh` | CraftBukkit management script|
|
| `craftbukkit.conf` | Configuration file |
|
||||||
|
| `bukkit-log.xml` | Server log configuration |
|
||||||
### Features
|
|
||||||
|
|
||||||
TBC
|
|
||||||
|
|
||||||
### Requirements
|
### Requirements
|
||||||
|
|
||||||
- tmux
|
- tmux
|
||||||
- sysvinit (systemd is currently not supported)
|
- sysvinit (systemd is currently not supported)
|
||||||
|
- sudo
|
||||||
|
|
||||||
### Setup
|
### Setup
|
||||||
|
|
||||||
1. Edit the configuration to your linking
|
1. Edit `craftbukkit.conf` to your liking
|
||||||
2. Install the init script:
|
2. Install the init script:
|
||||||
|
|
||||||
mv craftbukkit.sh /etc/init.d/craftbukkit
|
mv craftbukkit.sh /etc/init.d/craftbukkit
|
||||||
chmod 755 /etc/init.d/craftbukkit
|
chmod 755 /etc/init.d/craftbukkit
|
||||||
update-rc.d craftbukkit defaults
|
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>
|
<Appenders>
|
||||||
<Console name="WINDOWS_COMPAT" target="SYSTEM_OUT"></Console>
|
<Console name="WINDOWS_COMPAT" target="SYSTEM_OUT"></Console>
|
||||||
<Queue name="TerminalConsole">
|
<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>
|
</Queue>
|
||||||
<RollingRandomAccessFile name="File" fileName="logs/server.log" filePattern="logs/server-%d{dd-MM-yyyy}.log.gz">
|
<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>
|
<Policies>
|
||||||
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
|
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
|
||||||
</Policies>
|
</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
|
# Description: Craftbukkit Minecraft Server
|
||||||
### END INIT INFO
|
### 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
|
# We want LSB functions here
|
||||||
. /lib/lsb/init-functions
|
. /lib/lsb/init-functions
|
||||||
|
|
||||||
|
# Load configuration variables
|
||||||
|
. /etc/craftbukkit.conf
|
||||||
|
|
||||||
server_running() {
|
server_running() {
|
||||||
if [ -z "$(pgrep -f -n $JARNAME)" ]; then
|
if [ -z "$(pgrep -f -n $JARNAME)" ]; then
|
||||||
return 1
|
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