This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
start:zh [2023/10/14 14:44] hfsr [连通性] improvement |
start:zh [2023/10/14 15:32] hfsr [能量] |
||
---|---|---|---|
Line 32: | Line 32: | ||
---------- | ---------- | ||
- | 开放式电脑是用很多独立的模块构建的,例如显卡、硬盘或扩展卡,允许精确的根据你的需要定制每一台电脑。如果你想要处理小任务,你可以构建小型电脑并节省资源,或者你也可以将最后一颗钻石用在构建 MC 最昂贵、最强力的电脑上。 | + | OC模组中的电脑是由多种独立模块构建的,例如显卡、硬盘和扩展卡。这使得你能够按照需求精确定制每台电脑。如果你只想处理简单任务,可以节省构建电脑的资源。或者你也可以将所有的钻石都用在构建 MC 最昂贵、最强力的电脑上。 |
- | 查看 [[:start:zh#目录|方块和物品文档]] 来获得能被用于构建你的电脑的组件的列表。 | + | 查看 [[:start:zh#目录|方块和物品文档]] 以获取可用于组装电脑的组件列表。 |
Line 40: | Line 40: | ||
--------------- | --------------- | ||
- | 开放式电脑的内存和磁盘大小都是被限制的,可以在配置文件中根据你的喜好调整。这不仅让 OC 对服务器非常友好,还会带给你温暖的怀旧感,回到那个磁盘和内存都用 KB 和 MB 计算的年代。但由于 Lua 程序非常资源友好,你可以在中等的开放式电脑上解决大多数问题。而且如果不能,你总是可以在更大的内存条上花费更多的钻石。 | + | 开放式电脑的内存和磁盘大小都是有限的,可以在配置文件中根据你的喜好调整。这不仅有利于减轻OC对服务端造成的负荷,还会带给你温暖的怀旧感,回到那个磁盘和内存都用 KB 和 MB 计算的年代。但由于 Lua 程序占用的资源很少,中等性能的开放式电脑已经足以解决大多数问题。如果不能,你也可以花费更多钻石制造更大的内存。 |
- | 在这些直观的限制之外,OC 也已经被设计为能在服务器上完美运行:开放式电脑使用可变数量的低优先度线程来处理协程,几乎不对服务器 tick 造成延迟。附加地,运行中的程序会被强制、可配置地限制资源消耗,或者——如果没能这么做——(游戏中的电脑)就会被强制崩溃,来避免服务器被恶意或有缺陷的程序阻塞。 | + | 除了这些直观的限制,我们还为了OC能在服务端中完美运行而进行了特殊设计:开放式电脑使用固定数量的低优先度线程来处理协程,以尽量减少造成的服务端tick延迟。另外,运行程序时所占用的资源会被强制限制在一个可配置的恒定标准之下,如果因为种种原因没能做到这点的话,(游戏中的)电脑会被强制崩溃,以避免服务端因为恶意的或工作异常的程序出现延迟。 |
- | 可持续性 | + | 持续性 |
----------- | ----------- | ||
- | 当开放式电脑离开加载的区块,它们会被暂停,但一旦区块稍后被加载,它们也会精确地在暂停点自动恢复。这使得开放式电脑能在 MC 环境中非常直观地使用,因为你不必担心区块加载或恢复,也不需要添加来自其它模组的区块加载器来保持电脑运行。 | + | 当开放式电脑所在区块停止加载,它们的运行会被挂起,区块重新加载时会从停止的位置继续执行。这让玩家在MC环境中使用开放式电脑时很符合直觉,因为你不必担心区块加载或恢复,也不需要添加来自其它模组的区块加载器来保持电脑运行。 |
- | 具体来说,为了实现这个目标,OC 使用了一个原生库——[[https://github.com/fnuecke/eris|Eris]] 库。这个库包含了官方的 Lua VM 实现,已经兼容并支持电脑被暂时暂停。当前这个库已经包含在 Windows, Mac OS X, Linux 和 BSD 版本的模组中,只需要服务器运行所有纯净的 Lua 代码即可。如果这个库不适用于你的系统,模组会回落到 LuaJ,一个基于 Java 的 Lua 实现,在这种情况下电脑是不可持续的,内存也不会被限制。 | + | 为了实现这个功能,OC引入了一个原生库——[[https://github.com/fnuecke/eris|Eris]] 库。这个库包含了官方的 Lua 虚拟机实现,它已经足以支持电脑暂停的功能。现在这个库已经包含在 Windows, Mac OS X, Linux 和 BSD 版本的模组中,只需服务端支持即可,因为OC模组的所有Lua代码都仅在服务端执行。如果你的系统不支持此运行库,模组会回退到基于 Java 的 Lua 实现:LuaJ。这种情况下电脑的运行状态在卸载区块时不能保持,内存也不会被限制。 |
能量 | 能量 | ||
----- | ----- | ||
- | 电脑根据它们运行什么而消耗能量。每 tick 会消耗少量能量,而例如显卡和无线网卡会根据它们的工作负载消耗额外的能量。这不仅仅很现实,同样也能鼓励玩家优化他们的代码,不会让一台开放式电脑服务器一直运行不必要的任务。额外的能量消耗可以在配置文件中配置,甚至可以被完全移除,如果你想在一个不必考虑能量消耗的环境中工作的话。 | + | 电脑运行时会依据所做工作消耗能量。某些组件,例如显卡和无线网卡,除了每 tick 会消耗的少量能量外还会根据工作负载大小额外消耗能量。这不仅很真实,同时还能鼓励玩家优化代码,不让OC模组的服务器一直运行无用任务。能量消耗的准确数值可以在配置文件中修改,如果你想在一个不必考虑能量消耗的环境中工作的话,甚至可以完全移除。 |
- | 开放式电脑模组用 [[block:carpeted_capacitor:zh|电容]] 提供静电发电,对于机器人有 [[item:generator_upgrade:zh|发电机升级]] 可用,机器人和无人机还都可用使用 [[item:solar_generator_upgrade:zh|太阳能发电机升级]]。开放式电脑的设备同样可以由 [[:crossmod_interoperation:zh#能量|其它模组]] 的能源当量供电。 | + | 在开放式电脑模组中可以用 [[block:carpeted_capacitor:zh|电容]] 产生静电以供电。此外,[[item:generator_upgrade:zh|发电机升级]]可以用于机器人,[[item:solar_generator_upgrade:zh|太阳能发电机升级]]可以用于机器人和微控制器。开放式电脑的设备也可以由 [[:crossmod_interoperation:zh#能量|其它模组]] 的能源供电。 |