From 258e2174a4f0d4c55d7465ecef0052db3c9f1222 Mon Sep 17 00:00:00 2001 From: Pong Lenis Date: Mon, 20 Dec 2021 19:36:53 +0100 Subject: [PATCH 1/5] sped up docker build times & updated MCVERSION --- Dockerfile | 22 +++++++++++++++++----- MCVERSION | 2 +- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4cc70a4f5..8ec932152 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,15 @@ # # Build Image # +ARG ALPINE_VERSION=3.15.0 -FROM alpine:latest as builder +FROM alpine:${ALPINE_VERSION} AS alpine -# Add the git repo -ADD . /git/mapcrafter +# +# Build environment +# + +FROM alpine as buildenv # Dependencies needed for building Mapcrafter # (not sure how many of these are actually needed) @@ -19,6 +23,15 @@ RUN apk add \ libjpeg-turbo-dev \ boost-dev +# +# Build Mapcrafter from source +# + +FROM buildenv as builder + +# Add the git repo +ADD . /git/mapcrafter + # Build mapcrafter from source RUN cd /git/mapcrafter && \ mkdir build && cd build && \ @@ -27,12 +40,11 @@ RUN cd /git/mapcrafter && \ mkdir /tmp/mapcrafter && \ make DESTDIR=/tmp/mapcrafter install - # # Final Image # -FROM alpine:latest +FROM alpine # Mapcrafter, built in previous stage COPY --from=builder /tmp/mapcrafter/ / diff --git a/MCVERSION b/MCVERSION index 03ff89716..adc97d8e2 100644 --- a/MCVERSION +++ b/MCVERSION @@ -1 +1 @@ -1.16 \ No newline at end of file +1.18 From a94bea80fd8b5c4151accbf7f76ac60eefdea009 Mon Sep 17 00:00:00 2001 From: Pong Lenis Date: Sat, 25 Dec 2021 00:41:57 +0100 Subject: [PATCH 2/5] added cron support with additional docker-compose.yml for easy setup --- mapcrafter-cron/Dockerfile | 3 +++ mapcrafter-cron/cron/15min/generateMap | 3 +++ mapcrafter-cron/docker-compose.yml | 10 ++++++++++ 3 files changed, 16 insertions(+) create mode 100644 mapcrafter-cron/Dockerfile create mode 100755 mapcrafter-cron/cron/15min/generateMap create mode 100644 mapcrafter-cron/docker-compose.yml diff --git a/mapcrafter-cron/Dockerfile b/mapcrafter-cron/Dockerfile new file mode 100644 index 000000000..31710a982 --- /dev/null +++ b/mapcrafter-cron/Dockerfile @@ -0,0 +1,3 @@ +FROM mapcrafter-fix:118 + +ENTRYPOINT ["/usr/sbin/crond", "-f", "-l", "8"] diff --git a/mapcrafter-cron/cron/15min/generateMap b/mapcrafter-cron/cron/15min/generateMap new file mode 100755 index 000000000..f8ea7eb49 --- /dev/null +++ b/mapcrafter-cron/cron/15min/generateMap @@ -0,0 +1,3 @@ +#!/bin/sh + +/entrypoint.sh -b -j 16 -c /config/render.conf diff --git a/mapcrafter-cron/docker-compose.yml b/mapcrafter-cron/docker-compose.yml new file mode 100644 index 000000000..11c7537e7 --- /dev/null +++ b/mapcrafter-cron/docker-compose.yml @@ -0,0 +1,10 @@ +version: "3.9" +services: + mapcrafter-cron: + image: mapcrafter-cron:118 + container_name: mapcrafter_hc_fabric118 + volumes: + - ./cron:/etc/periodic + - /var/www:/output + - /etc/mapcrafter/config:/config + - /home/minecraft/1.18.0:/world \ No newline at end of file From 2e2155230e0a0768e89eefc6ff6ef7a20e7a6ed0 Mon Sep 17 00:00:00 2001 From: Pong Lenis Date: Sat, 25 Dec 2021 20:49:11 +0100 Subject: [PATCH 3/5] fixed markers --- src/mapcraftercore/mc/worldentities.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mapcraftercore/mc/worldentities.cpp b/src/mapcraftercore/mc/worldentities.cpp index 97e78fb01..622a43c75 100644 --- a/src/mapcraftercore/mc/worldentities.cpp +++ b/src/mapcraftercore/mc/worldentities.cpp @@ -235,12 +235,12 @@ void WorldEntitiesCache::update(util::IProgressHandler* progress) { const std::vector& data = region.getChunkData(*chunk_it); nbt.readNBT(reinterpret_cast(&data[0]), data.size(), mc::nbt::Compression::ZLIB); - - nbt::TagCompound& level = nbt.findTag("Level"); - if (!level.hasTag("TileEntities")) { + + if (!nbt.hasTag("block_entities")) { continue; } - nbt::TagList& entities = level.findTag("TileEntities"); + + nbt::TagList& entities = nbt.findTag("block_entities"); for (auto entity_it = entities.payload.begin(); entity_it != entities.payload.end(); ++entity_it) { nbt::TagCompound entity = (*entity_it)->cast(); From 5b9eec185dbebb1b968647cbac0fabba1561596a Mon Sep 17 00:00:00 2001 From: Pong Lenis Date: Sat, 25 Dec 2021 20:53:08 +0100 Subject: [PATCH 4/5] added mapcrafter_markers to the dockerfile & cron --- Dockerfile | 1 + mapcrafter-cron/cron/15min/generateMap | 2 ++ marker_entrypoint.sh | 9 +++++++++ 3 files changed, 12 insertions(+) create mode 100755 marker_entrypoint.sh diff --git a/Dockerfile b/Dockerfile index 8ec932152..ff7b24d3e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -62,4 +62,5 @@ RUN apk add \ # Entrypoint ADD entrypoint.sh / +ADD marker_entrypoint.sh / ENTRYPOINT ["/entrypoint.sh"] diff --git a/mapcrafter-cron/cron/15min/generateMap b/mapcrafter-cron/cron/15min/generateMap index f8ea7eb49..7ef4e28c8 100755 --- a/mapcrafter-cron/cron/15min/generateMap +++ b/mapcrafter-cron/cron/15min/generateMap @@ -1,3 +1,5 @@ #!/bin/sh +/marker_entrypoint.sh -c /config/render.conf /entrypoint.sh -b -j 16 -c /config/render.conf + diff --git a/marker_entrypoint.sh b/marker_entrypoint.sh new file mode 100755 index 000000000..82e7efa76 --- /dev/null +++ b/marker_entrypoint.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +USER_ID=${LOCAL_USER_ID:-1000} +echo "Running as user $USER_ID" + +useradd --shell /bin/sh -u $USER_ID -o -d /home/user -m user +mkdir -p /home/user && chown -R user:user /home/user + +su -c "/usr/local/bin/mapcrafter_markers $*" user From bca14a20c6eacdfa833fbef02eb30153fc6c85da Mon Sep 17 00:00:00 2001 From: Pong Lenis Date: Sat, 25 Dec 2021 21:11:59 +0100 Subject: [PATCH 5/5] cleaned up mapcrafter-cron --- mapcrafter-cron/Dockerfile | 1 + mapcrafter-cron/crontab | 2 ++ mapcrafter-cron/docker-compose.yml | 6 ++++-- mapcrafter-cron/{cron/15min/generateMap => generate_map.sh} | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 mapcrafter-cron/crontab rename mapcrafter-cron/{cron/15min/generateMap => generate_map.sh} (51%) diff --git a/mapcrafter-cron/Dockerfile b/mapcrafter-cron/Dockerfile index 31710a982..ca76b025a 100644 --- a/mapcrafter-cron/Dockerfile +++ b/mapcrafter-cron/Dockerfile @@ -1,3 +1,4 @@ FROM mapcrafter-fix:118 +ADD generate_map.sh / ENTRYPOINT ["/usr/sbin/crond", "-f", "-l", "8"] diff --git a/mapcrafter-cron/crontab b/mapcrafter-cron/crontab new file mode 100644 index 000000000..8f14acbbc --- /dev/null +++ b/mapcrafter-cron/crontab @@ -0,0 +1,2 @@ +# min hour day month weekday command +*/15 * * * * /generate_map.sh diff --git a/mapcrafter-cron/docker-compose.yml b/mapcrafter-cron/docker-compose.yml index 11c7537e7..f06410eaf 100644 --- a/mapcrafter-cron/docker-compose.yml +++ b/mapcrafter-cron/docker-compose.yml @@ -3,8 +3,10 @@ services: mapcrafter-cron: image: mapcrafter-cron:118 container_name: mapcrafter_hc_fabric118 + environment: + - threads=16 volumes: - - ./cron:/etc/periodic + - ./crontab:/etc/crontabs/root - /var/www:/output - /etc/mapcrafter/config:/config - - /home/minecraft/1.18.0:/world \ No newline at end of file + - /home/minecraft/1.18.0:/world diff --git a/mapcrafter-cron/cron/15min/generateMap b/mapcrafter-cron/generate_map.sh similarity index 51% rename from mapcrafter-cron/cron/15min/generateMap rename to mapcrafter-cron/generate_map.sh index 7ef4e28c8..8f10d6398 100755 --- a/mapcrafter-cron/cron/15min/generateMap +++ b/mapcrafter-cron/generate_map.sh @@ -1,5 +1,5 @@ #!/bin/sh /marker_entrypoint.sh -c /config/render.conf -/entrypoint.sh -b -j 16 -c /config/render.conf +/entrypoint.sh -b -j $threads -c /config/render.conf