0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ハマクラAdvent Calendar 2024

Day 9

【Minecraft】プラグインサーバを運用する上で便利なダウンロードスクリプト

Posted at

PaperGeyserFloodgateを導入してクロスプラットフォーム対応をしている。サーバ本体とプラグインを更新するときに用いているスクリプトを紹介する。curlを使用している。

Paper

Paperはダウンロードリンクをそのままwgetしても手に入るのだが、公式が案内している方法はそうではなかった。公式のものを少しアレンジしている。curl以外にjqを用いるので必要に応じてインストールされたい。

download.sh
#!/bin/bash

PROJECT="paper"
MINECRAFT_VERSION="1.21.3"

LATEST_BUILD=$(curl -s https://api.papermc.io/v2/projects/${PROJECT}/versions/${MINECRAFT_VERSION}/builds | \
    jq -r '.builds | map(select(.channel == "default") | .build) | .[-1]')

if [ "$LATEST_BUILD" != "null" ]; then
    JAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${LATEST_BUILD}.jar
    PAPERMC_URL="https://api.papermc.io/v2/projects/${PROJECT}/versions/${MINECRAFT_VERSION}/builds/${LATEST_BUILD}/downloads/${JAR_NAME}"

    # Download the latest Paper version
    echo "Latest stable build is $JAR_NAME"
    curl -o paper.jar $PAPERMC_URL
    echo "Download completed"
    chmod 744 paper.jar
else
    echo "No stable build for version $MINECRAFT_VERSION found :("
fi

exit 0

ダウンロード後にパーミッションを変更するようにしている。

GeyserとFloodgate

公式のダウンロードAPIの説明を基に構成した。

download.sh
#!/bin/bash

curl -L https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot -H "Accept: application/json" --output Geyser-Spigot.jar
curl -L https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot -H "Accept: application/json" --output floodgate-spigot.jar

echo "Download completed"

chmod 744 Geyser-Spigot.jar
chmod 744 floodgate-spigot.jar

exit 0

こちらもダウンロード後にパーミッションを変更するようにしている

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?