- PowerNukkitX
- 快速入门
服务器配置
FAQ
开发者文档
新人必看
此页面将解答您关于PNX内容和能力的一些疑惑。
PNX开源吗?
是的,PNX完全开源,您可以通过 Github存储库 来获取全部的源代码。
PNX免费吗?
您下载和使用PNX开设MCBE服务器是完全免费的。第三方服务者可以在明确告知被服务者本页面内容后可以无偿使用PNX进行收费服务。
中华人民共和国法律另有规定的除外。与开发组、开发组成员或第三方签订了不违反本项目开源协议的合同内容除外。
开发组或开发组成员可能就包括但不限于提供定制化服务、提供定制化插件、相关资讯及其他增值服务等向您收取费用。
PNX支持什么版本?
Minecraft: Bedrock Edition v1.20.10 (Protocol 594)
PNX原版特性支持如何?
PNX有多世界吗?
是的,PNX支持单端任意数量的世界,您可以同时拥有多个主世界、下界和末地。
PNX支持384格高的新版世界。
PNX有下界和末地吗?
是的,PNX有下界和末地。
PNX有所有原版方块和物品吗?
PNX支持当前MC版本的所有原版方块和物品,包括命令方块和红石相关方块等。
PNX有红石吗?
PNX完全支持原版红石,具有与原版几乎一模一样的红石行为,但在活塞虫和生电相关内容上与原版略有出入。
PNX有命令吗?
PNX完全支持命令,支持 几乎所有原版命令 ,也支持通过插件注册自定义(真)命令。
PNX有命令方块吗?
PNX完全支持命令方块,具有与原版相同的行为,可以接受与原版相同的红石控制,支持链锁和循环命令方块。PNX中命令方块性能比原版和BDS更好。
PNX有生物吗?
PNX目前仅对生物完成了初步支持,如果要进一步的生物AI,您可以通过安装 MobPlugin插件 来使PNX服务器具有类原版的生物行为。
PNX有Addons吗?
不,PNX不支持Addons。相反,PNX向Java插件和JS插件提供类似于Java版的Forge那样的API,可以使用插件完成Addons能做到的一切,而且比Addons功能多得多,性能更好。
PNX有原版世界/地形吗?
PNX默认的生成器是仿1.14的一个高性能地形生成器,与原版地形有一定出入。
因此,PNX还提供了其他的生成器:
PNX的性能如何?
PNX能带动多少人?
这个问题很难准确回答,这受限于您的服务端硬件和网络状况。
我们可以为您提供一些实测数据作为参考:
- 官方测试服,硬件为五郎云赞助的i9CPU服务器,在5人开鞘翅飞行跑图测试及其他原版特性测试中,每项测试整体平均CPU利用率低于5%,单核最高利用率低于30%。
- 某生存服,硬件为腾讯云轻量云服务器,配置为1核CPU(2.4Ghz),2GB内存,5Mbps带宽,内容较为完善,安装了几十个插件,具有大厅、地皮、生存区、商店区等十几个世界,20名玩家同时在线生存,服务器tps在13左右稳定运行
- 某群组服,硬件为自建服务器,配置为64核心CPU(~2Ghz),100+GB内存,家用带宽,开展生存实验,60名玩家同世界展开生存竞赛,服务器tps一直保持20,稳定运行。
- XX科技面板服,硬件未知,配置为4核心,8GB内存,在2个玩家,3000个实体(羊、牛、鸡等)在玩家可视范围的情况下,服务器tps在19左右稳定运行。
这些实测数据不一定完全适用于您的服务器,但我们通常会给出一些简单的建议,这些建议可能对您有所帮助:
- 大内存有助于PNX大幅提升性能,PNX通过占用更多内存缓存二进制机器码,进行运行期间的代码动态优化核缓存计算结构来使得其性能远高于BDS。
- 更多的CPU核心数量有助于提升性能,如8核心E5v3性能比4核心i9-9900K在某些情况下高出近30%。
- 使用Linux系统有助于提升PNX性能,一些运行时优化无法在Windows上进行。如果你要使用纯原版生成器的话,强烈建议使用Windows系统。
- 很多情况制约您服务器流畅度的是网络带宽,通常而言,1Mbps的带宽仅能供3-4名玩家流畅游玩。
- 内存读写速度、内存在主板上的安装位置及内存通信速率也会对PNX性能造成些许影响。
PNX支持多核吗?
是的,PNX有较好的多核支持,可以较为充分利用多个服务器核心。您不必一味追求高主频,适当增加服务器核心数量可以大幅提升服务端性能。
PNX在处理地形生成、生物AI、实体运动等等众多地方都多核并行处理,但为了保证与已有插件兼容性和与原版特性的一致性,并非所有任务都会多核处理。 即便如此,PNX单核处理速度也比同类服务端,如BDS、PocketMine等要更快。
PNX性能是不是不好?
Java真的比C++慢吗?
很多人认为Java是所谓的“解释型”语言,性能就会比C++慢,一定程度上这有道理,但并非完全适用。
在很多应用场景测试中,Java17的性能打败了C++,这主要得益于Java能够将代码在运行时动态优化和动态编译为机器码。
我们知道,C++会将源代码编译为机器码,让操作系统直接运行,但这样的劣势是编译的时候并不知道运行机器码的CPU到底是什么,支持什么特殊的加速功能等等。
而且编译器不知道代码运行的时候哪里占用内存多要优化内存,哪里占用CPU多要用内存换取CPU性能,哪里优化了根本用不到,哪里怎么优化最快,等等。
而Java则不然,我们引入了世界领先的Graal即时编译器,它会在程序运行的时候具体问题具体分析,根据服务器的运行状况决定哪里要执行什么样的优化,它还可以
通过编译出最适合当前机器的CPU的机器码,使用这个CPU独有的加速功能,尽量避免使用CPU执行慢的指令等方式编译出比C++编译器更高性能的代码,从而大幅提升执行速度。
语言决定性能吗?
并不完全如此,真正决定性能的是代码质量。PNX是全开源的,我们可以针对各个场景进行代码优化,通过多核并行来加速,这使得PNX性能高于一些其他服务端。
但请注意,加载过多插件可能严重降低性能,因为插件代码质量层次不齐,我们无法做出任何保证。
© PowerNukkitX 开发组