我想做一个大规模的PVP插件。在服务器网络(MCBrawl)上,有一种游戏模式,它在我认为每次都随机生成的世界中孕育玩家。我想做一些类似的东西。到目前为止,我的方法是在地图上找到一个随机的(x,z)坐标,然后在此基础上创建他们的产卵点。它在理论上是可行的,但它确实是滞后的,在人们在那里产卵的时候就会生成块,而当播放测试时,这通常会导致服务器超时。在我刚才提到的游戏模式中,人们实际上得到了这个加载屏幕(污垢块的背景)一秒钟左右,然后结束了一个世界。你也可以在游戏开始前跑来跑去,所以世界和块在游戏开始之前就已经产生了。
所以,TLDR:我希望创造一个新的世界,让玩家在游戏开始时在其中产卵,然后再移除这个世界。这样,我希望用户能够开始游戏,当游戏结束时,再次移除这个世界。在不给服务器造成太大压力的情况下,这是否可行?我希望预先生成世界或找到一个类似的解决方案。
发布于 2016-07-10 10:17:21
在过去,我看到了很多这样做的方式。他们中的大多数都失败了,他们中没有一个能完全跳过这个障碍。他们每个人都有缺点。我贴出了三个最成功的:
使用java,您可以在同一个文件夹中启动另一台服务器,如果您有正确的插件,您可以用它生成世界。然而,这并不是非常友好的服务器,因为有些服务器不允许您一次运行多个游戏服务器。
如果你的插件运行在一台小型服务器上,那么同时,当服务器上没有人时,你可以利用这个时间生成一些世界,然后当有人在玩游戏时使用它们。你不需要只创建一个,你可以把它们叠加起来,同时创建20-30个甚至50个世界。这一个明显的缺陷是,它不是100%,将有一个无时间播放的服务器上。
现在最好的是:
您可以要求服务器所有者创建一个世界,或者自己生成它,然后将这个世界的一个副本保存到一个单独的文件夹中,当您需要它时,将它复制回主文件夹使用它。
https://gamedev.stackexchange.com/questions/114801
复制