Compare commits

..

4 Commits

Author SHA1 Message Date
bc48b2e6ce Update to eressea commit ca787ed 2021-04-18 19:54:51 +02:00
7a8971b50f Add update image description 2020-12-26 11:12:51 +01:00
b5e8641a24 Add links to git repositories 2020-12-26 10:40:26 +01:00
01235b465e Move current orders in turn-folder 2020-12-26 10:37:26 +01:00
7 changed files with 80 additions and 17 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
.DS_Store
testdata

View File

@ -36,15 +36,17 @@ RUN mkdir -p /eressea/server && \
FROM eressea-base as eressea
ARG eressea_branch
COPY docker-assets/backup-eressea.patch /eressea/
COPY docker-assets/create-orders.patch /eressea/
COPY docker-assets/run-eressea.cron.patch /eressea/
RUN DEBIAN_FRONTEND="noninteractive" apt-get install -y \
cmake luarocks libxml2-dev liblua5.2-dev libtolua-dev libncurses5-dev libsqlite3-dev \
libexpat1-dev && \
libiniparser-dev libcjson-dev libexpat1-dev && \
cd /eressea && \
git clone -b $eressea_branch https://github.com/eressea/server.git git.eressea && \
cd git.eressea && \
git submodule update --init && \
patch process/backup-eressea < /eressea/backup-eressea.patch && \
patch process/create-orders < /eressea/create-orders.patch && \
patch process/cron/run-eressea.cron < /eressea/run-eressea.cron.patch && \
s/cmake-init && \
s/build && \
@ -67,7 +69,7 @@ ENV PATH="${PATH}:/usr/games"
RUN apt-get update && \
apt-get install -y liblua5.2-0 libsqlite3-0 libncurses5 libreadline7 libexpat1 python python-pip mutt nano \
logrotate pwgen zip luarocks fetchmail procmail php7.3 gettext php7.3-sqlite && \
logrotate pwgen zip luarocks fetchmail procmail php7.3 gettext php7.3-sqlite libiniparser1 libcjson1 && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* && \
pip install bcrypt j2cli && \
@ -80,6 +82,9 @@ COPY docker-assets/template-config/ /eressea/template-config/
COPY docker-assets/lua-scripts/ /eressea/lua-scripts/
COPY docker-assets/start.sh /eressea/start.sh
COPY --from=eressea /eressea/server/ /eressea/server/
COPY --from=eressea /eressea/git.eressea/build-x86_64-linux-gnu-gcc-Debug/tools/inifile /eressea/server/bin
COPY --from=eressea /eressea/git.eressea/build-x86_64-linux-gnu-gcc-Debug/tools/gethash /eressea/server/bin
COPY --from=eressea /eressea/git.eressea/build-x86_64-linux-gnu-gcc-Debug/tools/atoi36 /eressea/server/bin
COPY --from=eressea /eressea/server/etc/report-mail.de.txt /eressea/template-mail/report-mail.de.txt
COPY --from=eressea /eressea/server/etc/report-mail.en.txt /eressea/template-mail/report-mail.en.txt
COPY --from=eressea /eressea/git.eressea/scripts/tools /eressea/server/scripts/tools
@ -94,3 +99,4 @@ VOLUME ["/data"]
WORKDIR /data
ENTRYPOINT ["/eressea/start.sh"]
CMD ["help"]

View File

@ -5,6 +5,10 @@ More details about Eressea find on
- in [wiki](https://wiki.eressea.de/index.php/Hauptseite) you find the game rules and a lot of other information
- and finally the source code, which is hosted on [GitHub](https://github.com/eressea)
The Dockerfile is available on
* [GitHub](https://github.com/jacsid/eressea_docker)
* [Private Repository](https://git.jacs-home.eu/juergen/eressea-docker)
## Volumes
By default, the image expects a single volume, located at `/data`. It will hold
* configuration files
@ -103,3 +107,33 @@ docker run -it --rm \
-v /path/to/my/local/eressea/folder:/data \
jacsid/eressea run
```
## Update Docker image
It's easy to update to the newest Docker image. Execute following command:
```
docker image pull jacsid/eressea:latest
```
Afterwards start the above described commands as usual.
## Correction of game data
Sometimes there are bugs in the server program where you have to correct game data manually.
Find next some samples how to archive this.
### Sample session
Set hebs which can be found by units of a region where a specific unit is, to h2.
```
sudo docker run -it --rm -v /path/to/my/local/eressea/folder:/data jacsid/eressea bash
./eressea
require 'config'
eressea.read_game('18.dat')
u = get_unit('xdyv')
r = u.region
r.herb = "h2"
eressea.write_game('18.dat')
print(u:show())
```

View File

@ -0,0 +1,14 @@
--- create-orders 2020-12-26 10:04:52.000000000 +0100
+++ create-orders copy 2020-12-26 10:06:56.000000000 +0100
@@ -14,9 +14,10 @@
echo "orders.dir.$TURN already exists"
exit
fi
+mv orders.dir orders.dir.$TURN
rm -f "orders.$TURN"
-cd orders.dir || exit
+cd orders.dir.$TURN || exit
php ../../orders-php/cli.php -d "orders.db" export | tr -d '\r' > "../orders.$TURN"

View File

@ -1,19 +1,18 @@
--- /eressea/server/bin/run-eressea.cron 2020-12-12 15:09:21.000000000 +0000
+++ /eressea/run-eressea.sh 2020-12-07 21:09:58.000000000 +0000
@@ -1,7 +1,12 @@
--- ../git.eressea/process/cron/run-eressea.cron 2021-04-18 14:51:46.000000000 +0200
+++ run-eressea.cron 2021-04-18 15:26:24.000000000 +0200
@@ -1,6 +1,11 @@
#!/bin/bash
+# this script is based on run-eressea.cron
+# differences to original
+# it is possible to run a turn with empty orders
+
eval "$(luarocks path)"
GAME=$1
+ENABLE_EMPTY_ORDERS=$2
(
[ "$ENABLED" == "no" ] && exit
[ -z "$ERESSEA" ] && ERESSEA="$HOME/eressea"
@@ -27,8 +32,10 @@
@@ -28,8 +33,10 @@
"$BIN/create-orders" "$GAME" "$TURN"
if [ ! -s "$ERESSEA/game-$GAME/orders.$TURN" ]; then
@ -26,4 +25,3 @@
fi
"$BIN/backup-eressea" "$GAME" "$TURN"

View File

@ -61,7 +61,7 @@ cmd_bash() {
exit 2
}
args=$(getopt --name shutdown -o hn -- "$@")
args=$(getopt --name bash -o hn -- "$@")
if [ $? != 0 ]; then
usage
@ -93,7 +93,7 @@ cmd_startup() {
exit 2
}
args=$(getopt --name shutdown -o h -- "$@")
args=$(getopt --name startup -o h -- "$@")
if [ $? != 0 ]; then
usage
@ -134,6 +134,10 @@ cmd_startup() {
ln -sf /data/config/report-mail.de.txt /eressea/server/etc/report-mail.txt
cd /data/game-1
eval `luarocks path`
export LUA_PATH="$LUA_PATH;/eressea/server/scripts/?.lua;./?/init.lua"
echo "Eressea environment setup complete"
}
@ -377,7 +381,7 @@ cmd_map() {
exit 2
}
args=$(getopt --name shutdown -o hnw:e:t:s -- "$@")
args=$(getopt --name map -o hnw:e:t:s -- "$@")
if [ $? != 0 ]; then
usage
@ -433,7 +437,7 @@ cmd_addpwd() {
exit 2
}
args=$(getopt --name shutdown -o hf -- "$@")
args=$(getopt --name addpwd -o hf -- "$@")
if [ $? != 0 ]; then
usage
@ -485,7 +489,7 @@ cmd_mail() {
exit 2
}
args=$(getopt --name shutdown -o hcf -- "$@")
args=$(getopt --name mail -o hcf -- "$@")
if [ $? != 0 ]; then
usage
@ -532,7 +536,7 @@ cmd_run() {
exit 2
}
args=$(getopt --name shutdown -o h -- "$@")
args=$(getopt --name run -o h -- "$@")
if [ $? != 0 ]; then
usage

View File

@ -15,11 +15,17 @@ ERESSEA=/data
:0:server.lock
* ^Subject:.*{{game.mailcmd}} BEFEHLE
| grep -v '>From' | /data/server/bin/orders-accept 1 de
:0:server.lock
* ^Subject:.*{{game.mailcmd}} 1 BEFEHLE
| grep -v '>From' | /data/server/bin/orders-accept 1 de
:0:server.lock
* ^Subject:.*{{game.mailcmd}} ORDERS
| grep -v '>From' | /data/server/bin/orders-accept 1 en
:0:server.lock
* ^Subject:.*{{game.mailcmd}} 1 ORDERS
| grep -v '>From' | /data/server/bin/orders-accept 1 en