アーカイブ

‘Games’ カテゴリーのアーカイブ

マインクラフト統合版セットアップ覚え書き

2024 年 1 月 16 日 Comments off
  • server.properties
/opt/app/mincraft-be/server.properties
server-name=Dedicated Server
gamemode=survival
force-gamemode=false
difficulty=easy
allow-cheats=false
max-players=10
online-mode=true
allow-list=false
server-port=19132
server-portv6=19133
enable-lan-visibility=false
view-distance=12
tick-distance=8
player-idle-timeout=0
max-threads=8
level-name=dmC2YpSuAgA_
level-seed=
default-player-permission-level=member
texturepack-required=false
content-log-file-enabled=true
compression-threshold=1
compression-algorithm=zlib
server-authoritative-movement=server-auth
player-movement-score-threshold=20
player-movement-action-direction-threshold=0.85
player-movement-distance-threshold=0.3
player-movement-duration-threshold-in-ms=500
correct-player-movement=false
server-authoritative-block-breaking=false
chat-restriction=None
disable-player-interaction=false
client-side-chunk-generation-enabled=true
block-network-ids-are-hashes=true
disable-persona=false
disable-custom-skins=false
server-build-radius-ratio=Disabled
allow-outbound-script-debugging=false
allow-inbound-script-debugging=false
script-debugger-auto-attach=disabled
  • script一覧
/opt/scripts/bedrock-start.sh
#!/usr/bin/bash

SERVICE_NAME=bedrock.service
SCREEN_NAME=minecraft

f_service_start(){
  screen -S ${SCREEN_NAME} -D -m /opt/app/mincraft-be/bedrock_server
}

f_service_start
sleep 10
/opt/scripts/bedrock-set-options.sh
/opt/scripts/bedrock-set-options.sh
#!/usr/bin/bash

SCREEN_NAME=minecraft
RULES_LIST=/opt/scripts/gamerule-be.list

f_set-options(){

  sed -e /"^\s*\t*\s*#\|^\s*\t*\s*$"/d ${RULES_LIST} > setruleslist
  while read RULES ; do
    screen -S ${SCREEN_NAME} -X eval "stuff \"gamerule ${RULES}\015\""
  done < setruleslist
  rm setruleslist
}

f_set-options
/opt/scripts/gamerule-be.list
pvp                       FALSE
showCoordinates           TRUE
#doFireTick                TRUE
#recipesunlock             TRUE
#dolimitedcrafting         FALSE
#tntExplodes               TRUE
#respawnBlocksExplode      TRUE
#doMobLoot                 TRUE
#naturalRegeneration       TRUE
#doTileDrops               TRUE
#doImmediateRespawn        FALSE
#spawnRadius               5

#drowningDamage            TRUE
#fallDamage                TRUE
#fireDamage                TRUE
#freezeDamage              TRUE

#doDaylightCycle           TRUE
#keepInventory             FALSE
#doMobSpawning             TRUE
#doInsomnia                TRUE
#mobGriefing               TRUE
#doEntityDrops             TRUE
#doWeatherCycle            TRUE
#randomTickSpeed           2

#commandBlocksEnabled      TRUE
#commandBlockOutput        TRUE
#sendCommandFeedback       TRUE
#maxCommandChainLength     65536

#functionCommandLimit      10000
#showDeathMessages         TRUE
#showTags                  TRUE

#showbordereffect          TRUE
#showrecipemessages        TRUE
#playerssleepingpercentage 100
#projectilescanbreakblocks TRUE
/opt/scripts/minecraft_backup.sh
#!/usr/bin/bash


MINECRAFT_DIR=/opt/app/mincraft-be
BACKUP_DIR=/home/shuhei/bedrock-backup
BACKUP_age=8
ANNOUNCE_TIME=30

SERVICE_NAME=bedrock.service
SCREEN_NAME=minecraft

LOG_DIR=/home/shuhei/logs/minecraft


DATETIME=$(date +%Y%m%d-%H%M%S)

WORLDNAME=$(cat ${MINECRAFT_DIR}/server.properties | egrep -v "^#" | egrep "level-name" | cut -d= -f 2)
WORLD_DIR=${MINECRAFT_DIR}/worlds/${WORLDNAME}/
ARCHIVE_NAME=${WORLDNAME}_${DATETIME}.tar


#SCREEN_NAME=$(screen -ls | grep minecraft | awk -F\  '{print $1}')

f_stopService(){
  sudo systemctl stop $SERVICE_NAME
}

f_startService(){
  sudo systemctl start $SERVICE_NAME

  sleep 10

  screen -S ${SCREEN_NAME} -X eval "stuff \"gamerule showcoordinates true\015\""
  screen -S ${SCREEN_NAME} -X eval "stuff \"gamerule pvp false\015\""
}

f_compressLog(){
  if [ ! -d ${LOG_DIR} ] ; then
    mkdir -p ${LOG_DIR}
  fi

  FILECOUNT=$(ls ${LOG_DIR} | wc -l)
  TARGET_FILE=$(ls -tr ${LOG_DIR} | tail -n +${FILECOUNT})
  gzip ${LOG_DIR}/${TARGET_FILE}
}

f_backup_be(){
  if [ ! -d ${BACKUP_DIR} ] ; then
    mkdir -p ${BACKUP_DIR}
  fi

  sudo tar -cf ${BACKUP_DIR}/${ARCHIVE_NAME} ${WORLD_DIR}
  gzip ${BACKUP_DIR}/${ARCHIVE_NAME}

  BACKUP_age=$((BACKUP_age+1))
  for REMOVE_FILE in $(ls -t ${BACKUP_DIR} | tail -n +${BACKUP_age}) ; do
    rm ${BACKUP_DIR}/${REMOVE_FILE}
  done
}

f_countdown(){
  while [ $ANNOUNCE_TIME -gt 1 ] ; do

    FLAG=$((ANNOUNCE_TIME%10))

    if   [ $ANNOUNCE_TIME -le 5 ] ; then
      screen -S ${SCREEN_NAME} -X eval "stuff \"say このサーバーはメンテナンスのため約 ${ANNOUNCE_TIME} 分後に再 起動します\015\""
      sleep 2
      screen -S ${SCREEN_NAME} -X eval "stuff \"say 作業を中断しサーバーからログアウトしてください\015\""
      sleep 2
      screen -S ${SCREEN_NAME} -X eval "stuff \"say メンテナンスは 5分 程度を見込んでいます\015\""
    elif [ $FLAG -eq 0 ] ; then
      screen -S ${SCREEN_NAME} -X eval "stuff \"say このサーバーはメンテナンスのため約 ${ANNOUNCE_TIME} 分後に再 起動します\015\""
    fi

    sleep 1m
    ANNOUNCE_TIME=$((ANNOUNCE_TIME-1))
  done

  ANNOUNCE_TIME=60
  while [ $ANNOUNCE_TIME -gt 0 ] ; do
    screen -S ${SCREEN_NAME} -X eval "stuff \"say このサーバーはメンテナンスのため ${ANNOUNCE_TIME} 秒後に再起動 します\015\""
    sleep 1
    ANNOUNCE_TIME=$((ANNOUNCE_TIME-1))
  done

}

f_countdown

f_stopService

f_backup_be
f_compressLog

f_startService

ネットワークインターフェイス

sudo cat /etc/netplan/51-installer-config.yaml
# This is the network config written by 'subiquity'
network:
  ethernets:
    eth0:
      dhcp4: false
      dhcp6: false
      addresses:
        - 172.16.1.51/24
      routes:
        - {to: default, via: 172.16.1.2}
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
    eth1:
      dhcp4: false
    eth2:
      dhcp4: false
    eth3:
      dhcp4: false
      dhcp6: false
      addresses:
        - 192.168.1.151/24
  version: 2

ファイアウォール ルール

sudo ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
22                         ALLOW       192.168.0.0/16
Apache Full                ALLOW       Anywhere
19132                      ALLOW       Anywhere
19133                      ALLOW       Anywhere
161/udp                    ALLOW       Anywhere
Apache Full (v6)           ALLOW       Anywhere (v6)
19132 (v6)                 ALLOW       Anywhere (v6)
19133 (v6)                 ALLOW       Anywhere (v6)
161/udp (v6)               ALLOW       Anywhere (v6)
  • Systemd登録
/etc/systemd/system/bedrock.service
[Unit]
Description=Minecraft Bedrock Server
After=network.target local-fs.target

[Service]
Type=simple
User=shuhei
Group=shuhei
WorkingDirectory=/opt/app/mincraft-be/
Environment=LD_LIBRARY_PATH=.
ExecStart=screen -S minecraft -D -m /opt/app/mincraft-be/bedrock_server
ExecStop=screen -S minecraft -X eval "stuff \"stop\015\""
Restart=always

[Install]
WantedBy=multi-user.target

ユニットを作成したら systemctl をリロードして登録、開始する

$ sudo systemctl daemon-reload
$ sudo systemctl enable bedrock
$ sudo systemctl start bedrock
カテゴリー: computer, Games タグ:

雑文 #project575 #うた詠み ありがとう

2014 年 5 月 19 日 Comments off

みなさま、うた詠みアプリお疲れ様でした。

ランク35に届いた頃の4月末に不用意にいPhone4sのアップデートを行ったためログインができなくなり、目の前が暗くなったこともありましたが、皆さんのご支援のおかげで、わずか二週間足らずでランク50に到達することができました。ありがとうございました。

思い返せば、ログインできなくなった時までは、キャライベ消化のためにやっていたと思います。
しかし、いざログインができなくなり (うた詠みのDBが参照している先が、端末シリアルNoとかじゃないんでしょうね) なんとか句を作り投稿しないことにはいけないと思ってたんですが、そんな矢先に弘前の桜満開の便りを目にしました。

そこで面白半分に弘前への旅行プランをたてる遊びして、その旨をとりあえず詠みにあげたんですが、いくつも「旅行行かれるんですか?お気をつけて!」的なコメントが入り、引っ込みもつかなくなりほぼノープランで強行した側面もありました。←

青森では、テーマが基本「桜」だったため似たような作品ばかりで少し恐縮だったんですが、それでもとてもたくさん評価していただけたおかげで、旅行中にランク50を迎えることができ、これはもうみなさんのおかげとしか言いようがありません。

また、この青森旅行中は例の「赤の七日間」とかぶっており、赤タンからの詠みでは題名を変更することができず、題名部分で短歌の下の句風にするとか、(俳句としては邪道ですが)題名で作品を補足するということができず、一句読むのが大変でした。
しかし、このシバリのおかげで、俳句スキルが上がったような気がします(?)。
そして評価されつつ俳句を詠むのが楽しくなって、このアプリの住人の方々が大好きになったのも、この旅行と障害がきっかけでした。

ある意味このアプリのおかげで、新しい趣味を見つけることができ、新しい仲間と出会い、新しい文化を体験することができました。
きっと今後は、青森を訪れるたびにこのアプリのことを思い出すことになるでしょう。
それほど素敵な体験をさせていただきました。

私にとって、かなり充実した二か月でした。
アプリの開発陣、運営陣、ユーザの皆さんへの感謝の言葉は、とても一言では言い表せません。
うた組みの発展・展開のためにも、きっと次回作が出てくると信じてます>経営陣

最後に、笹錦あおばさんには青森のグルメ(?)情報として、味噌カレー牛乳ラーメンとクドウパンを教えていただき、充実した青森旅行にすることができたので、大変感謝したことを書き添えておきます。

ありがとうございました。

カテゴリー: computer, diary, Games, travel タグ:

PSO ログ集計ツール

2011 年 1 月 5 日 Comments off

PSO ログ集計ツール を hirasaka log にて委託公開します。
発言数や発言の多かった人ランキングが集計できます。

ダウンロードページへ
作成者: はぜ2355

★PSOBBログ集計ツールの使い方

1.解凍したフォルダ内にある、「LOG」フォルダにPSOBBのログを全部コピーします。
2.「集計開始!.bat」をダブルクリックして実行します。
3.黒い画面(タイトルが?cmd.exe)が消えるまで待ちます。
4.結果は「RESULT」フォルダの下に格納されています。

※処理をShift-JISで行っている為、UNICODEにしか存在しない一部文字(ハート等)は化けます。

カテゴリー: Games タグ:

PSO RedRing RICO考察

2011 年 1 月 3 日 コメント 4 件

さて、初代DC PSO から捕らわれのお姫様であるところの、レッドリング リコ (= リコ・タイレル)ですが、その生死については、オフィシャルでは何のコメントもありません。

それどころか、オフィシャル4コマで幽霊として描かれているということもあって、リコはダークファルスに取り込まれ死んでしまったと解釈するユーザが多いような気がします。

以下、ネタバレ含む
続きを読む…

カテゴリー: Games タグ:

PSOを振り返って(長いよ

2010 年 12 月 31 日 コメント 3 件

長かったような短かったような、やっぱり長い10年だったんだと思う。
2000年暮れにドリームキャストでこのゲームを始めた時は、こんなに続くと思っていなかったし、一つのタイトルをハードを超えてまでやり続けるとは思ってもいなかった。

当時と比べ、現在はインターネット環境からして全く違うし、PCも安価で高性能なものがそろってきた。
それに付随するかのように、ネットゲームも台頭してきて今では常識ともいえる状況になってきた。
課金システムだけ見ても最近のネットゲームは基本料無料+アイテム課金と、初心者が導入しやすいのに対し、PSOでは10年前では当たり前だったかもしれない月極課金制度を、いまだにとっていたので少し時代遅れになってきていたかもしれない。

続きを読む…

カテゴリー: diary, Games タグ:

アイスキャンディうぃず芋煮会

2009 年 10 月 10 日 Comments off
20091010152421.jpg

手作りアイスキャンディ売りが自転車で巡回してたので、パイン味を所望。

まっすぐ刺さってないところが手作り?

カテゴリー: Food & Drink, Games, moblog タグ:

タカハシ

2009 年 5 月 13 日 Comments off

今日はじめて気づいたんだけど、”GAME”って携帯文字入力だと”タカハシ”になるんだな。

だからどうだと言うことはないんだけど、なんか新鮮な発見だった。

カテゴリー: diary, Games タグ:

DSでワイン

2007 年 9 月 20 日 コメント 2 件

ボージョレー・ヌーボーの解禁日となる11月15日にニンテンドーDSからワイン入門ソフトとなる
「ワインのはじめかたDS」
が発売されるらしい。

続きを読む…

カテゴリー: Games タグ:

にくじゃが作ってみた

2006 年 11 月 8 日 Comments off

しゃべるDSお料理ナビをかってみました。
これを買ったら試しに作ってみようと、前々から思っていた
肉じゃがを早速作ってみました。
06110801.jpg

続きを読む…

カテゴリー: Food & Drink, Games タグ: