不踢人的服务器维护
当我们需要更新服务器时,玩家会怎么样?最简单的回答是:直接拔电源。我们做了更好的答案——它是我最喜欢的功能之一,不过理想情况下,你几乎察觉不到它。
公告。服务器可以向每个正在运行的世界发送一条维护消息。游戏里会出现一个带倒计时的横幅:“服务器将在 10 分钟后重启。”这条消息需要主动关闭——但要等几秒钟之后才能关,这样没人会在激战中不小心把它点掉。
平稳重启。倒计时结束时,世界会有序关闭:保存游戏状态,用一个说明原因的告别画面送玩家离开(而不是一句莫名其妙的“连接丢失”),然后停止容器。下次加入时,世界会以新版本重新醒来——存档当然还在。
背后的技术:一个受保护的管理端点负责接收公告——由一个只有服务器知道的令牌保护。如果没有配置令牌,这个功能就完全关闭;一个敞开的公告端点会引来恶作剧。管理员还可以在游戏里直接使用聊天命令,管理面板里也为每个世界提供了一个按钮。
一个意想不到的副作用:自从有了这个系统,我们更新时更从容了——于是也更勤了。好的维护工具不只是改善维护,而是改善整个项目。
留言