blueb901 / linux

study of linux
0 stars 0 forks source link

Minecraftで60秒タイムアウトによるハング対策 #5

Closed blueb901 closed 9 years ago

blueb901 commented 9 years ago

以下のログが出てmincraft serverが落ちた

[22:15:35] [Server Watchdog/FATAL]:
 A single server tick took 60.99 seconds (should be max 0.05)
[22:15:35] [Server Watchdog/FATAL]:
 Considering it to be crashed, server will forcibly shutdown.
[22:16:09] [Server Watchdog/ERROR]:
 This crash report has been saved to: ~//./crash-reports/crash-*-server.txt
[22:16:10] [Server Shutdown Thread/INFO]:
 Stopping server

対策方法

どのバージョンからかはわかりませんが、ウォッチドッグタイマーが追加されているようです。
server.propertiesの中のmax-tick-time=60000がそれに当たるようですが・・・。
見ればわかりますが、max-tick-timeのデフォルトの設定値は60000(ms)です。

60000ms=60秒なので、障害発生があってから60秒後に例外処理をする、
というのがウォッチドッグタイマーの役割です。
その障害発生=ラグ、で、例外処理=サーバーを停止、らしく、
うちのサーバーにログインしているユーザーがラグり始めたので60秒経ってサーバーが落ちたらしいです。

これをmax-tick-time=-1に設定してやると落ちなくなりました。
blueb901 commented 9 years ago

server.properties

初期状態

[hoge@moge]$ cat ~/server.properties
#Minecraft server properties
#Sun Aug 16 22:59:30 JST 2015
spawn-protection=16
max-tick-time=60000
generator-settings=
force-gamemode=false
allow-nether=true
gamemode=0
enable-query=false
player-idle-timeout=0
difficulty=1
spawn-monsters=true
op-permission-level=4
resource-pack-hash=
announce-player-achievements=true
pvp=true
snooper-enabled=true
level-type=DEFAULT
hardcore=false
enable-command-block=false
max-players=20
network-compression-threshold=256
max-world-size=29999984
server-port=25565
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world
view-distance=10
resource-pack=
spawn-animals=true
white-list=false
generate-structures=true
online-mode=true
max-build-height=256
level-seed=
use-native-transport=true
enable-rcon=false
blueb901 commented 9 years ago

コピーを作成

[hoge@moge]$ cp server.properties old_server.properties
blueb901 commented 9 years ago

編集

[hoge@moge]$ vi server.properties
- max-tick-time=60000
+ max-tick-time=-1
blueb901 commented 9 years ago

編集完了

https://github.com/folipop/linux/commit/49f65ed0b8d442a1e28e19fe6cb745d66a99df9d 様子見。

blueb901 commented 9 years ago

プライマリのserver.properties

見比べ用 https://github.com/folipop/linux/commit/b85d0e29043f44cf1a26a4492b0e7c0805f662e6

blueb901 commented 9 years ago

spawn-protection周りを中心に編集

https://github.com/folipop/linux/commit/5a407385c64f8f65bbb495397a983bc38a977894