按照以往运行 Minecraft 服务器的情况,玩家们常常需要一些游戏以外的信息:
- 服务器负载情况
- 服务器是否还活着
- 我
是死宅要上传皮肤
那么,作为一个不怎么管服务器里发生了什么的管理,我就主动把这些功能实现了一下。其他的游戏内管理就甩交给 @kasora 了。
按照以往运行 Minecraft 服务器的情况,玩家们常常需要一些游戏以外的信息:
那么,作为一个不怎么管服务器里发生了什么的管理,我就主动把这些功能实现了一下。其他的游戏内管理就甩交给 @kasora 了。
Minecraft服务器开了好久了,这次Kasora同学拉了很多(xiong)萌(hai)新(zi),服务器里很是热闹。
然后呢,limenge同学一直想要个大地图,kasora同学就做了个游戏内的大地图。然而呢,服务器这么大,人也不少,聚在一起互相偷东西总是不太好,想找个平原安家也没有明确的方向,于是乎就诞生的搞个全服大地图的想法~
目前利用TOGoS’s Minecraft Map Renderer这个小工具渲染的全地图的俯视图,服务器(219.230.159.13)端配置了计划任务,每小时渲染一次,然后另一台服务器(219.230.153.26)则会每小时将渲染好的内容下载到/var/www/html/minecraft/map内,并配置了VirtualHost,匹配的mcmap.dimension.moe这个域名,所以直接打开mcmap.dimension.moe就可以查看服务器大地图啦~
效果图:(点击可看大图)
219.230.153.26是一台放在ACM房间的台式机,利用我的上网账户获得了公网IP,实际网络访问速度不是很快,再加上地图很大,所以打开速度可能会有点慢,不过嘛,效果不错就是啦~
9月20日更新:C#版本完成,具有最简单的错误处理和图形界面(雾草这个只有字的窗口也能叫图形?)
程序很简单,本地一个文件记录本地版本,服务器端有个文件记录最新版本,如果服务器版本高于本地版本,就会自动下载相应的tar更新包,并自动解压,解压后再执行install.bat来完成更新的安装。
当然如果没有找到本地版本的记录文件,就会从服务器上下载一份完整的纯净客户端,然后再按补丁顺序依次安装。
C++的下载文件通过tools文件夹下的wget来实现,解压tar包则是靠的tar来完成。
C#的则是交给HttpWebRequest,HttpWebResponse和SharpZipLib来完成。
代码写得相当随意,基本上想到哪里写到哪里,而且也没有任何错误处理……不要打我最近网络赛和codeforces好多的
顺便求不吐槽英语……