運用ドキュメント のバックアップ(No.55)


ネットワーク構成図

ネットワーク構成図.png

稼働開始日&メンテ情報等

  • ごろごろ鯖 誕生日時
    • 2015/05/17 12:54:45
  • UPS MAIN & SUB
    • バッテリー交換日:2019/10/01
  • main
    • 購入日:2018/08/02(パーツバラバラに揃えた為、PCケースの購入日基準)
  • sub
    • 購入日:2019/07/03(パーツバラバラに揃えた為、PCケースの購入日基準)
  • web-main
    • 購入日:2017/09/29 14:00:00
  • web-sub
    • 購入日:2017/09/13 01:48:59

実質運営費の内訳

  • 月額2,506円(年額30,072円=鯖の運営費 年額97,632円 - もし鯖を運営してない場合の費用 年額67,560円)

  • 鯖の運営費
    • mainサーバー+UPS本体 60W+5W(通常時5W/充電中15W) 1,217円
    • subサーバー 60W 1,124円 1カ月(31)に1日稼働させるとして 36円
    • web-mainサーバー+ルーター+ONU+ギガビットスイッチングHUB+UPS本体 20W+5W(通常時5W/充電中15W) 468円
    • エアコン(用途は常時25度設定し、鯖主と鯖を安定稼働させるため 費用はつけっぱなし時の目安) 1,500円
    • ドメイン+プロバイダ代(IP固定代を含む)+光ファイバー回線代 269+1,296+3,350=4,915円
      • 小計 1,217+36+468+1,500+4,915=月額8,136円=年額97,632円

  • もし鯖を運営してない場合の費用
    • エアコン(基本的に寒すぎるので、つけっぱなしはしない予想⇒300円くらい安くしてみた。) 1,200円
    • プロバイダ代+光ファイバー回線代(インターネットは鯖を運営してなくてもやってる。) 1,080+3,350=4,430円
      • 小計 1,200+4,430=月額5,630円=年額67,560円

設備投資めも

  • 合計金額
 504,712円
  • 内訳
 151,285円(main)
 151,285円(sub)
 41,259円(web-main)
 41,259円(web-sub)
 13,966円(ups-main)
 13,966円(ups-sub)
 77,652円(router-main)
 14,040円(router-sub)

macでポート転送

vi ~/.ssh/config

Host host1.gorogoro.space
  HostName  192.168.100.100
  Port      22
  User     myuser1
  IdentityFile  ~/.ssh/id_rsa
  #DynamicForward 7777
  #RemoteForward 7777 main:7777
  LocalForward 7777 192.168.100.100:7777

ssh host1.gorogoro.space

pukiwikiにログインできなかったり、書き込み出来ない場合のおまじない

 cd /var/lib/php/
 chown -R root:nginx ./*
 cd /var/lib/
 chmod 755 -R ./nginx/
 chown -R nginx:nginx ./nginx/

Linux版よく使うコマンド集

  • sed -i.bak -e 's/php echo \$lastmodified/ php\/\/ echo \$lastmodified/g' /opt/wiki/skin/orangebox/pukiwiki.skin.php
    • wikiの最終更新日時非表示
  • su - munin --shell=/usr/bin/munin-cron & tail -f /var/log/munin/munin-update.log
    • munin手動実行
  • munin-run cpu
    • muninCPU情報表示
  • munin-run cpu config
    • muninCPU設定情報表示
  • xset +dpms
    • ディスプレイの電源制御を有効化
    • 無理やり設定しておくには「echo -e "*/5 * * * * /usr/bin/xset +dpms && /usr/bin/xset dpms 30 60 90" | crontab -」を実行
  • xset dpms 30 60 90
    • ディスプレイのスタンバイ、サスペンド、パワーオフそれぞれの時間を秒単位で指定する
  • xset q
    • 現在の設定確認
  • grep -l '(置換対象検索文字列)' ./* | xargs sed -i.bak -e 's/(置換前)/(置換後)/g'
  • sqlite3 database.db "PRAGMA integrity_check"
    • Error: database disk image is malformed←破損している場合のメッセージ
  • sqlite3 database.db .dump | sqlite3 database_repair.db
    • sqlite3のデータベース修復

公式ページのフォント設定

  • 外観>カスタマイズ>追加 CSSに下記を入力して公開ボタンを押す。
    * {font-family: Meiryo, 'メイリオ', sans-serif;}
    h1,h2,h3,h4,h5,h6,h7,h8,h9,h10{font-family: Meiryo, 'メイリオ', sans-serif;}

スクショ用名前非表示コマンド

プラグインでの回答があるのでコマンドを紹介します。

  • /scoreboard teams add teamscreenshot
    • チームを作成
  • /scoreboard teams option teamscreenshot nametagVisibility never
    • チームの設定
  • /scoreboard teams join kubotan
    • チームに入れる
  • /scoreboard teams remove teamscreenshot
    • チームを削除

ワールド追加関連

ワールド作成(-a:村や廃坑の生成)
/mv create world_flat normal -t FLAT -a false

天候固定
/mvm set weather false world_flat

動物の沸き
/mvm set animals false world_flat

モンスターの沸き
/mvm set monsters false world_flat

PVP
/mvm set pvp false world_flat

Gamemode(0: サバイバル、1: クリエイティブ、2: ア ドベンチャー、3: スペクテイター)
/mvm set gamemode 0 world_flat

難易度(0: ピースフル、1: イージー、2: ノーマル、 3: ハード)
/mvm set difficulty 0 world_flat

スポーン地点設定
/mvtp world_flat
/tp 0 4 0
/mv set spawn

円形でワールド境界線を作成
/wb world_flat set 2000 2000 spawn

dynmap関連
/dynmap pause all
/dmap worldset world_flag title:フラット
/dynmap pause none

ワールド削除
/mv delete world_flat
/mvconfirm

ワールド追加に伴うゲート作成関連

メインワールドにゲート作成
/mvtp world
//wand
//set end_gateway
/mvpc lobby_east

追加ワールドにゲート作成
/mvtp world_flat
//wand
//set end_gateway
/mvpc world_flat

メインワールドのゲートに飛び先をセット
/mvps lobby_east
/mvpm dest p:world_flat:s

追加ワールドのゲートに飛び先をセット
/mvps world_flat
/mvpm dest p:lobby_east:w

ゲートを選択して、保護
//wand
/region claim world_flat

PerWorldInventoryのデフォルトグループに「    - world_flat」を追加してくださいとkubotanに伝えてください。
追加ワールドを別インベントリにする場合は、その旨を伝えてください。この場合は追加ワールドのデフォルトのゲームモードも一緒に伝えてください。

/pwi reload

よく使うコマンド集

  • /mvm set difficulty 0 world_creative
    • クリエワールドをピースフルにする。
  • /give @p skull 1 3 {SkullOwner:プレイヤー名}
    • プレイヤーの頭をゲット
  • /setblock ~160 ~110 ~245 minecraft:mob_spawner 0 replace {SpawnCount:100,SpawnRange:4,MaxNearbyEntities:16,Delay:-1,MaxSpawnDelay:30,MinSpawnDelay:30,RequiredPlayerRange:128,SpawnData:{id:"minecraft:xp_orb",Value:1}}
    • 経験値スポナー/削除
  • /setblock ~160 ~110 ~245 minecraft:air 0 replace
    • 空間を空気で埋める
  • /summon lightning_bolt [x] [y] [z]
    • 雷を落とす
  • /minecraft:kill @e[type=zombie,r=10]
    • 半径10ブロック内のスライムをキルする。
  • /minecraft:kill @e[x=46,y=9,z=-1,dx=69,dy=11,dz=-11,type=Creeper]
    • 座標指定でクリーパーをキルする。
  • /minecraft:kill @e[type=minecraft:zombie_pigman,distance=..50]
    • ver1.13.x用killコマンド
  • /summon Slime ~ ~ ~ {Size:10}
    • 巨大スライム
  • /summon Giant
    • 巨大ゾンビ
  • /summon Spider ~ ~ ~ {Passengers:[{id:Skeleton}]}
    • スパイダージョッキー
  • /title @p title {"text":"熊の巣穴へようこそ!!","color":"blue"}
    • 画面にでかでかとタイトル表示をします。
  • /wb world_rpg set 200 200 spawn
    • 円形でワールド境界線を作成
  • /worldborder set 200
    • 矩形でワールド境界線を作成
  • /clear kubotan
    • kubotanのインベントリをクリアーする
  • /summon Item -44 10 5 {Item:{id:diamond,Count:16}}
    • 指定位置にアイテムをドロップさせる
  • /gamerule commandBlockOutput false
    • コマンドブロックのグレーで表示されるログを消す。
  • /im cspawn creeper world 446 16 535 molten vengeance storm withering poisonous archer firework
    • 座標、能力等指定。
  • /timings on
    • 解析モードをON
  • /timings paste
    • 解析した結果ページのURLを表示(kubotanに報告する場合は実行した現在日時を教えてください。)
  • /timings off
    • 解析モードをOFF
  • /memory
    • TPSや使用メモリを表示(kubotanに報告する場合は実行した現在日時を教えてください。)
  • /tps
    • tpsの直近の値を表示(kubotanに報告する場合は実行した現在日時を教えてください。)
  • /replaceitem entity kubotan armor.head minecraft:allium
    • かぼちゃを被らせる
  • /replaceitem entity kubotan armor.head minecraft:air
    • 被り物解除
  • /whois [playername]
  • /seen [playername]
    • プレイヤー情報表示
  • /money give [playername] [金額]
    • プレイヤーにお金を与えます。
  • /give kubotan splash_potion 1 0 {CustomPotionEffects: [{Id: 24,Amplifier: 0,Duration: 6000}],display: {Name: "Hide-and-seek Potion"}}
  • /gamerule commandBlockOutput false
    • コマブロの結果表示を非表示にする。
  • /effect kubotan nausea 10 255
    • 吐き気効果を10秒間kubotanに付与
  • /mvm set pvp false
    • PVPオフ

ホワイトリスト関連

  • /whitelist add [プレイヤー名]
    • ホワイトリストにプレイヤーを追加する。
//wand
ゲートの内側を選択し以下で通行設定をする
//set end_gateway
/BPortals select 0
ゲートに背を向けた方角をF3のデバッグ画面で確認してN、S、E、Wのいずれかを指定し、下記のコマンドを実行する
/BPortals create main S
ゲートの外側を選択し以下で保護
/region claim maingate
/Bportals forcesave

いろいろ

  • /replaceitem entity kubotan armor.head minecraft:allium
    • 頭に花をセット
  • 一時的に/gamerule randomTickSpeed 60でrandomTickSpeedを変更した場合、 /gamerule randomTickSpeed 3でデフォルト値に戻した後は、 2時間後くらいにも/gamerule randomTickSpeedで現在値がデフォルト値の3に戻ったか確認してください。

※定期バックアップ等で自動保存が停止されている最終にコマンドを実行した場合は反映されてない可能性があるためです。

できたらいいなメモ

ネガティブトークはネガティブ要素が膨らむので控えたほうがよい場合の方が圧倒的に多い
楽しい場所にすること
居やすい場所にすること
社会貢献すること
自動化すること
失敗しないようにする仕組みを用意すること。ただ、人が成長するには失敗がある程度許される環境が必要。
誰かを傷つけない為の最低限のルールを用意すること
自己表現を自発的に行うこと。(逆の立場だとして、いつも合う人が常に無表情で無関心だったら嫌だと思うから)
激高または、若干感情が高ぶっている人に激高や感情を高ぶって返答しても、視野が狭まっている為、効果は薄い。言い争っている人たちを見るのも見苦しいので。。。また、激高している人がいつまで経っても冷静に返答している人を見ると、激高して体力を消耗することに価値が見いだせない為、会話をするためには有効です。ただ、相手の感情を揺さぶる必要がある場合のみ、一時的に感情を高ぶらせて様子を見ることは有効。例えば、何回説明しても理解できない人でやり方を変えても改善しようとする意志が見えない時とか。。。

座標計算のごった煮

 // 2点の3次元座標から距離を算出する(マイクラではLocation.distanceが利用可能)
 public double getDistance(double x1, double y1, double z1, double x2, double y2, double z2) {
   return Math.sqrt( Math.pow((x2 - x1), 2) + Math.pow((y2 - y1), 2) + Math.pow((z2 - z1), 2));
 }
 // 2点の2次元座標から距離を算出する
 public double getDistance(double x1, double y1, double x2, double y2) {
   return Math.sqrt(Math.pow((x2 - x1), 2) + Math.pow((y2 - y1), 2));
 }
 // 2点の2次元座標から弧度を算出する
 public double getRadian(double x, double y, double x2, double y2) {
   return Math.atan2(y2 - y,x2 - x);
 }
 // 2点の2次元座標から角度を算出する
 public double getDegree(double x, double y, double x2, double y2) {
   return getRadian(x, y, x2, y2) * 180d / Math.PI;
 }
 // 弧度と距離から2次元座標を算出する
 public HashMap<String, Double> getPoint(double radian, double radius) {
   HashMap<String, Double> point = new HashMap<String, Double>();
   point.put("x2", Math.cos(radian) * radius);
   point.put("y2", Math.sin(radian) * radius);
   return point;
 }
 // 角度と距離から2次元座標を算出する
 public HashMap<String, Double> getPointByDgree(double degree, double radius) {
   double radian = degree * Math.PI / 180d;
   return getPoint(radian, radius);
 }

お初さんご案内事項メモ

  • スポーン地点説明(/spawnコマンド)
  • 資源ゲート 毎月1日にランダムシードで再生成される
  • 公共農場・公共牧場・公共植林場が植えなおせば利用自由である旨説明
  • 商店街 /moneyコマンド 所持金100万ゴールド持っている旨をお知らせ
  • AdminShop([レア]ファントムバリアの紹介)
  • 公共TT
  • コテージ(アパート。看板に書いてあるルールを読めば利用自由)
  • ガチャの場所
  • クリエゲート(5時間経てば入れる)
  • 注意事項 メインのここ、オーバーワールドでは花や、ブロック1個でも破壊を放置していると処罰される可能性がある。ただし、お隣と最低5マス離し、柵で囲い自分の敷地と明示した枠内は別である旨を説明
  • 以下のブックマークをお願いします。
    #https://wiki.gorogoro.space/
    #https://www.gorogoro.space/dynmap/