2016-02-29 88 views
-1

我做了一个Mod,创建了我的自定义模块和命令,现在准备好了。我可以通过安装我的Mod来在Minecraft的单人游戏中使用它。但我想要做的是创建一个多人Minecraft服务器,这将允许许多玩家使用我的Mod。有没有人有关于如何做到这一点的想法?我觉得我遇到了这个麻烦,因为我不明白Forge中服务器和客户端之间的区别,我不知道我的Mod是客户端还是服务器端。我希望有人能帮忙解决这个问题:) 最好的, 莎拉。创建一个多人Minecraft服务器,并允许我的Mod用于Minecraft Forge

回答

1

在两个地方国防部运行:

服务器其中不实际的地图修改,库存更新,等等 这一切都被保存,处理和更新的服务器上。

客户端所有呈现发生。这是小怪移动的地方,块得到他们的图像/纹理,声音播放等。

现在服务器和客户端之间有一些重叠,因为客户端试图“预测”服务器上会发生什么块被移除,块被替换)等等,但客户端预测将发生的chanes将在服务器将块更新推送到客户端时被覆盖。

服务器始终处于领先地位。客户始终关注。从来没有相反的方式。 如果它没有发生在服务器上,那么其他玩家根本没有发生过。

这就是为什么你要做像if(!world.isRemote())这样的检查来测试你是否真的在服务器上。

尝试保持服务器上的世界修改代码。它会自动将更新推送给客户端。如果你需要做客户端渲染的东西,那么在客户端完成所有的事情吧。 为此使用客户端代理,并为普通代理中的空方法也在服务器上执行。

阅读www.minecraftforge.net/wiki/Proxies

myMod.proxy.spawnSparklyThingies(new BlockPos(3,3,3)); 

要你只需要在客户端呈现的东西。

当你处于单人世界时,服务器和客户端会被合并。但是你应该编码你的mod,就好像它们没有合并一样,所以它们也可以在服务器上使用。

在eclipse下运行选项旁边是一个箭头,如果你点击它你可以选择运行一个服务器实例。 运行它,设置它(接受eula.txt),然后启动一个客户端实例并连接到服务器来测试yoru mod。 事情可能会比这更复杂,但是这应该为您在区分服务器和客户端时提供一个小基础。

相关问题