Working for homelab
This commit is contained in:
46
foundry/patches/plutonium-install.sh
Normal file
46
foundry/patches/plutonium-install.sh
Normal file
@@ -0,0 +1,46 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This patch script is for use with the felddy/foundryvtt Docker container.
|
||||
# See: https://github.com/felddy/foundryvtt-docker#readme
|
||||
|
||||
# Installs the Plutonium module if it is not yet installed, and then patches the
|
||||
# Foundry server to call the Plutonium backend.
|
||||
|
||||
MAIN_JS="${FOUNDRY_HOME}/resources/app/main.mjs"
|
||||
MODULE_BACKEND_JS="/data/Data/modules/plutonium/server/${FOUNDRY_VERSION:0:3}.x/plutonium-backend.mjs"
|
||||
MODULE_DIR="/data/Data/modules"
|
||||
MODULE_URL="https://github.com/TheGiddyLimit/plutonium-next/raw/master/plutonium-foundry10.zip"
|
||||
MODULE_DOC_URL="https://wiki.tercept.net/en/Plutonium/Plutonium_Installation"
|
||||
WORKDIR=$(mktemp -d)
|
||||
ZIP_FILE="${WORKDIR}/plutonium.zip"
|
||||
|
||||
log "Installing Plutonium module and backend."
|
||||
log "See: ${MODULE_DOC_URL}"
|
||||
if [ ! -f $MODULE_BACKEND_JS ]; then
|
||||
log "Downloading Plutonium module."
|
||||
curl -L --output "${ZIP_FILE}" "${MODULE_URL}" 2>&1 | tr "\r" "\n"
|
||||
log "Ensuring module directory exists."
|
||||
mkdir -p "${MODULE_DIR}"
|
||||
log "Installing Plutonium module."
|
||||
unzip -o "${ZIP_FILE}" -d "${MODULE_DIR}"
|
||||
fi
|
||||
log "Installing Plutonium backend."
|
||||
cp "${MODULE_BACKEND_JS}" "${FOUNDRY_HOME}/resources/app/"
|
||||
log "Patching main.mjs to use plutonium-backend."
|
||||
sed -z --file=- --in-place=.orig ${MAIN_JS} << SED_SCRIPT
|
||||
s/\(init\.default({[^}]\+})\)\
|
||||
/await \1;\n(await import(".\/plutonium-backend.mjs")).Plutonium.init();/g\
|
||||
w plutonium_patchlog.txt
|
||||
SED_SCRIPT
|
||||
if [ -s plutonium_patchlog.txt ]; then
|
||||
log "Plutonium backend patch was applied successfully."
|
||||
log "Plutonium art and media tools will be enabled."
|
||||
else
|
||||
log_error "Plutonium backend patch could not be applied."
|
||||
log_error "main.js did not contain the expected source lines."
|
||||
log_warn "Foundry Virtual Tabletop will still operate without the art and media tools enabled."
|
||||
log_warn "Update this patch file to a version that supports Foundry Virtual Tabletop ${FOUNDRY_VERSION}."
|
||||
fi
|
||||
log "Cleaning up."
|
||||
rm -r ${WORKDIR}
|
||||
|
||||
Reference in New Issue
Block a user