Last active
August 6, 2025 13:02
-
-
Save elderica/8ee086b4f9be52cc9ba218be46ffdbe0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# システムにインストールされているパッケージをすべて更新して再起動する。 | |
apt update && apt upgrade | |
reboot | |
# 再びrootとしてログインし、GNU ScreenとFreecivサーバをインストールする。 | |
apt install screen freeciv-server | |
# Freecivサーバを動かすユーザfreecivを作り、パスワードを設定する。 | |
useradd -m -s /bin/bash freeciv | |
passwd freeciv | |
# ここからはfreecivユーザとして作業する。 | |
su -l freeciv | |
# GNU Screenの設定をする。 | |
tee ~freeciv/.screenrc <<EOF | |
startup_message off | |
escape ^Zz | |
shell bash | |
defscrollback 50000 | |
EOF | |
# GNU Screenを立ち上げる。 | |
screen | |
# umiteru2004さんのルールセットをダウンロードする。 | |
curl -LO https://github.com/umiteru2004/freeciv/archive/refs/heads/develop.tar.gz | tar zx | |
mkdir -p ~/.freeciv/3.1 # Freecivのバージョンに合わせる | |
cp -r freeciv-develop/rulesets/civ23umi* ~/.freeciv/3.1/ | |
rm -r freeciv-develop | |
# Freecivサーバの初期化スクリプトを作成する。 | |
# cf. https://github.com/umiteru2004/freeciv/blob/develop/rulesets/sns-isls.serv | |
tee ~freeciv/init.serv <<EOF | |
cmdlevel admin first | |
metamessage Keep talking! | |
rulesetdir civ23umi | |
set startpos VARIABLE | |
set generator ISLAND | |
set landmass 30 | |
set tilesperplayer 50 | |
set timeout 60 | |
set endturn 240 | |
EOF | |
# セーブファイルの保存場所を用意する。 | |
mkdir -p ~freeciv/saves | |
# Freecivサーバを起動する。XServerで取得したサブドメインを-iオプションで指定する。 | |
# 下記のほかに、ユーザ認証やスコアログの保存に関するオプションがあります。 | |
# -r init 初期化スクリプトを読み込ませる。 | |
# -q 300 誰もいなくなって300秒後にゲームを終了する。 | |
# -s saves ./savesフォルダにセーブデータを保存する。 | |
# -m メタサーバにこのサーバを登録する。 | |
# -i your-subdomain.xvps.jp サーバの名前 | |
freeciv-server -r init -q 300 -s saves -m -i your-subdomain.xvps.jp | |
# Ctrl+zとdを押せばデタッチできます。ScreenごとFreecivサーバが終了したかのように見えますが、 | |
# バックグラウンドで稼働し続けており、SSH接続を切ったりログアウトしても大丈夫です。 | |
# メンテナンスするときはアタッチすることで、再びFreecivサーバの画面に戻れます。 | |
su -l freeciv | |
screen -r |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment