使用 Docker 运行 Palworld 专用服务器的一次完整、可控实践记录

一、写在最前面:为什么要“认真”跑一个游戏服务器 很多教程的目标只有一句话: “服务器能跑,能进就行。” 但在真实服务器环境中,这种目标是不够的。 本次实践的目标从一开始就明确为: 这不是“为了折腾”,而是为了避免后期不可控成本。 二、总体设计思想 1. 核心分离原则 在本方案中,Palworld 服务被拆成三层: 层级 角色 处理方式 世界数据 核心资产 永久保存在宿主机 配置文件 行为定义 由管理员手动维护 容器 执行外壳 可随时删除 一句话总结: 世界不属于容器,容器只是世界的“临时执行环境”。 三、目录结构设计(完全脱敏) 以下为逻辑结构示意,非真实路径: 关键点说明 四、Docker Compose 的设计原则(而不是参数堆砌) 1. 镜像使用原则 原因很简单: 运行环境应尽量无状态、无外部依赖 2. 环境变量的克制使用 在 compose 中: 这样做的好处是: 3. 禁止自动生成 / 覆盖配置 明确禁止镜像在启动时: 这是防止世界“被重置”的关键步骤之一。 五、端口策略(完全脱敏说明) 1. 对外端口原则 …

将 Anki Sync Server 数据迁移至应用目录的实践

在非系统包管理(非 APT/YUM 等)环境下运行 Anki Sync Server 时,默认的数据存储位置与传统 Linux 目录结构往往不利于长期维护、迁移和备份。本文记录了一次将 Anki Sync Server 的数据目录从默认位置迁移并集中到应用目录下的实践过程,并总结了其中涉及的关键机制与注意事项,为需要“手动管理应用”的使用场景提供一种可复制的方案。 一、问题背景 Anki Sync Server 官方支持通过 Python 模块 anki.syncserver 运行同步服务。在默认配置下: 在以下场景中,上述默认行为会带来不便: 因此,有必要将 Anki Sync Server 的数据目录显式迁移到应用自身目录中。 二、官方机制说明(关键前提) 根据 Anki 官方文档说明: 这意味着,任何迁移方案都必须围绕 SYNC_BASE 这一官方支持的接口展开。 三、目标设计:应用自包含目录结构 迁移的目标并非简单“换路径”,而是形成一种清晰、稳定、可迁移的目录布局: 该结构具有以下特点: 四、迁移步骤概述 1. 停止同步服务 在任何数据操作之前,应先停止正在运行的同步服务,避免并发写入。 2. 准备目标数据目录 在应用目录下创建专用的数据子目录(例如 data/),并确保权限正确。 3. 迁移已有服务端数据 将默认数据目录中的内容整体迁移到新的数据目录中,保持原有目录层级(每个用户一个子目录)。 迁移完成后,新的结构应直接呈现为: …

从 10GB 到 512MB:一次数据库内存回收带来的整机重生

——PVE + Docker + Web 应用场景下的真实优化案例 一、问题背景 在一台运行于 Proxmox VE(PVE)上的 Linux 虚拟机中,同时部署了多种服务,包括: 该虚拟机分配了约 23GB 内存,长期观察到: 初步怀疑数据库内存配置不合理。 二、关键发现:InnoDB Buffer Pool 被设置为 10GB 通过查询数据库内部参数发现: 结果显示: 这是一套典型的数据库专用服务器配置,而当前系统实际上是一个多服务混合运行的 Web 主机。 在这种环境下: 其直接后果是: 三、目标:尽可能小,但不影响实际性能 该系统的目标是: 在不影响 Web 应用体验的前提下,将数据库内存压缩到合理的下限。 最终采用如下配置: 设计原则: 四、效果:数据库从“内存黑洞”变为“可控组件” 重启后验证: 数据库进程内存占用: 与 512MB 的 buffer pool 高度一致,说明配置准确生效。 五、整机内存结构发生根本变化 优化后系统状态: 含义: 本质变化是: 从“数据库私有缓存主导”→ “操作系统统一缓存主导” …

在 Forge MC 上将内存从 4GB 精准压缩到 1GB:一次可复现的实战调优

Minecraft Forge 服务端在模组较多时,常被配置为 4GB 甚至更高的堆内存(-Xmx)。然而在单人或轻负载场景中,这种“宽松配置”并不一定更快,反而可能带来启动慢、GC 扫描范围大、系统缓存被挤占等问题。本文记录一次从 4G 压缩到 1G 的实际调优过程,并解释为何更小的堆在该场景下更高效、更稳定。 一、启动方式与 Forge 的参数体系 Forge 1.x.x 使用“参数文件”来管理复杂的启动参数。典型的启动命令形如: 其中: unix_args.txt 的作用是拼装 Forge 的启动链路(BootstrapLauncher、SecureJarHandler、ASM、ModLauncher 等)与类路径,不会设置 4GB 内存。 二、为什么“看起来像 4GB”?客户端与服务端的混淆 调试时常会看到 F3(调试界面)里显示 …/…/4096MB,这并不一定来自服务端。当使用第三方启动器(如 HMCL)启动客户端时,客户端 JVM往往被配置为 4GB,因此 F3 显示的是客户端进程的上限。服务端是否 1GB 或 4GB,应以 systemd 或 jcmd 的 JVM 参数为准。 三、systemd 中的 Memory 为何高于 Xmx systemd 的 …

从杨梅到 Codex:现代食品安全到底是如何被“系统性保证”的

很多关于食品安全的讨论,往往从一个看似很小的问题开始,例如:“杨梅是不是天然防腐剂?”“日本食品里为什么有‘保存剤’?”“安息香酸是不是有害的化学品?” 这些问题之所以反复出现,是因为人们直觉上把“天然”和“安全”划上了等号,把“化学名词”和“危险”划上了等号。但现实中的食品安全,从来不是靠“感觉”运作的,而是由一整套跨国、跨学科、跨产业的系统工程来维持。 要理解这一点,可以从一颗杨梅开始。 一、杨梅的“防腐力”到底是什么 杨梅(やまもも)之所以比很多水果更不容易腐烂,是因为它含有大量的: 这些成分可以破坏细菌细胞膜、抑制霉菌生长、降低环境 pH,从而延缓腐败。这是植物的自我防御机制。 但这种“天然防腐”有一个致命问题:它不可控。 这些成分的含量会随品种、成熟度、气候、储存条件变化,而且它们极易被氧化、分解。一旦被提取出来,很快失效。因此,杨梅本身无法被工业化地当作“防腐剂”使用。 食品工业要的不是“天然”,而是: 可重复、可测量、可验证、可长期稳定 于是,自然界的抑菌逻辑被拆解成可控的化学模块。 二、从杨梅到「保存剤」:自然机理的工业化 杨梅的防腐逻辑,在工业中被拆解为三大类分子: 在日本食品法规中,这些被统一归入一个功能分类: 保存剤(用于延长保存期的成分) 很多消费者看到“保存剂”就联想到“化学添加剂”,但实际上,它们正是杨梅、浆果、茶叶等植物防腐机理的标准化版本。 三、安息香酸到底是不是“有害化学品” 安息香酸(苯甲酸)是争议最多的一种保存剂。但事实是: 关键不在“有没有”,而在“多少”。 它的安全摄入量不是由某个国家随意决定的,而是由联合国下属的毒理学机构统一评估。 四、全球统一的裁判:Codex 与 JECFA 世界食品安全不是由某一个国家定规则,而是由两大联合国体系运作: Codex Alimentarius(国际食品法典) 由 FAO 和 WHO 制定,定义: JECFA(联合国食品添加剂专家委员会) 负责给每个分子设定: ADI(每日可安全摄入量) 例如:苯甲酸类:0–5 mg/kg 体重/天 中国、日本、欧盟、美国的食品法规,都是基于这一套毒理学数据。 因此: 本质上是同一个分子。 五、国家之间真正的差别在哪里 如果分子和剂量标准是全球统一的,那么为什么国家之间食品安全水平仍然差异巨大? 答案是:执行系统。 这就是为什么国际社会用 Global Food Security Index(GFSI) 来给国家打分。 …

香农定理:无线通信真正的物理极限

在日常生活中,人们习惯用“信号强不强”“频率高不高”来解释网络速度快慢。但在信息论中,通信的极限并不由这些直觉因素决定,而是由一个严谨的数学定律支配,这就是香农定理(Shannon–Hartley Theorem)。 这一定理奠定了整个现代通信工程的理论基础,Wi-Fi、4G、5G、光纤通信乃至卫星通信,全部运行在它所给出的物理上限之下。 一、香农定理说了什么? 香农定理用一个极其简洁的公式描述了有噪声信道中可传输信息的最大速率:C=Blog⁡2(1+SNR)C = B \log_2(1 + \mathrm{SNR})C=Blog2​(1+SNR) 其中: 它表达的核心思想是: 在存在噪声的情况下,任何通信系统的最大速度,只由带宽和信噪比决定。 无论使用多复杂的调制、多先进的算法,都无法突破这个上限。 二、频率不是速度,带宽才是 很多人会误以为“频率越高,网速越快”。这是一个常见误解。 通信系统并不是用某一个频率传信息,而是用一段连续的频率范围来承载信号,这个范围就是带宽 B。 例如: 真正决定数据吞吐能力的不是“中心频率”,而是这一段频谱的宽度。在香农定理中,这正是 BBB 的含义。 带宽翻倍,理论最大速率也翻倍。 三、信噪比的对数规律 香农定理中最重要的一点是对数项:log⁡2(1+SNR)\log_2(1 + \mathrm{SNR})log2​(1+SNR) 它意味着一个非常反直觉的结论: 提高信号功率的收益是递减的。 例如: SNR log⁡2(1+SNR)\log_2(1+\mathrm{SNR})log2​(1+SNR) 1 1 10 3.46 100 6.66 1000 9.97 把功率提高 100 倍,速率只提升约 3 倍。这就是为什么现代通信不再依赖“加大发射功率”,而是通过争取更宽的频谱来提速。 四、为什么 Wi-Fi 会忽快忽慢? 以常见的 5 …

从零件到系统:一个个人服务器模块的物理构建

在长期使用服务器之后,真正的问题已经不再是性能,而是混乱、灰尘和不可控的物理环境。当硬盘柜、小主机、路由器开始同时运行,最脆弱的部分不再是软件,而是它们所处的现实世界。 这一次,目标不是升级某一台设备,而是给整个系统一个长期可用的“身体”。 设计目标 在开始动手之前,先明确了几个原则: 这意味着它不再是几台独立的机器,而是一个被物理封装过的节点。 核心组成 这个节点由五个设备构成: 它们被视为一个整体系统,而不是五个独立设备。 组装过程 构建从物理结构开始,而不是从插线开始。 先将钢丝架组装完成,然后把所有设备放上去,观察它们的体积关系、端口朝向、空气流动和线缆的自然走向。只有在这一阶段确定之后,才开始固定。 顺序是刻意安排的: 其中最耗时间的是电源线阶段。因为它们决定了后面所有线路的走向和空间结构。 试摆状态 下面这张图是设备刚被放上架子时的状态。这一阶段的目的不是整齐,而是确认布局是否合理,以及风道与线缆路径是否自然。 成品状态 在所有电源线、数据线和网线固定完成之后,这个系统才真正“闭合”。 对外只剩下一根电源线和一根网线。两根线被当作一个接口来处理,长度一致并被绑定在一起。 内部虽然复杂,但外部已经被抽象为一个设备。 关于散热与灰尘 这个结构本身就是一个被动散热系统。 同时,钢丝架不会积尘。灰尘无法停留在平面上,也不会被设备反复吸入。 硬盘柜被放在最下层,这是温度最低、气流最稳定的位置。 结语 这不是一次升级,而是一次从零散设备向长期物理系统的转变。 当物理层被整理完成,数字世界才有了可靠的落脚点。

用模块化金属架搭建一台家庭级设备机架

在家庭环境中运行路由器、小主机和硬盘柜时,设备的稳定性往往不取决于性能,而取决于物理结构是否可靠。与普通收纳架不同,一个真正适合 24×7 运行电子设备的架子,必须满足三个条件: 下面记录一套用模块化金属架搭建小型设备机架的完整过程。 一、设计目标 这套架子的设计目标不是“收纳”,而是: 为持续运行的网络与存储设备提供一个可控、稳定、可维护的物理平台。 核心需求包括: 这实际上对应的是专业机房中「开放式机架 + 顶盖」的缩小版。 二、模块化结构 整套系统由四种部件组成: 所有部件都属于同一规格体系,可以自由组合。 层板四角带有大直径定位孔,并不是用于承重,而是用来套在立柱外侧定位。真正承重的是安装在立柱刻度上的塑料固定件,这是一种标准的工业货架结构。 承重路径为: 而不是压在层板孔边缘。 三、三层结构的意义 最终选择的是 三层结构: 顶层的作用不是防尘 而是 防接触、防掉落、防误操作。 它建立了一条清晰的物理边界: 上方是人类活动区下方是设备运行区 这样,即使在上面放书、工具、电源线,也不会触碰到路由器、风扇、硬盘或网线。 这是专业设备架最重要的一层。 四、从零件到成品 照片中可以看到所有零件在组装前的状态:三块层板、四根立柱、固定件、脚轮。 成品是一台三层带轮金属机架,层板间距可调,顶部形成完整隔离面。 五、结构稳定性 这种 30×30cm 底面积 + 约 47cm 高度的比例非常适合电子设备: 脚轮让整台机架在装满硬盘后仍可轻松移动,便于换线、清洁和维护。 六、为什么这种架子比“成品柜”更适合服务器 封闭式柜体看起来整洁,但对设备来说往往是劣势: 封闭柜 模块化机架 热量堆积 全方向通风 接线困难 所有侧面可达 扩展受限 随时加层 维修麻烦 …

用什么替代白砂糖?

从赤藓糖醇到罗汉果:一套真正不伤血糖的甜味系统 在现代饮食中,“甜”早已不只是味觉问题,而是一个代谢问题。白砂糖、黑糖、蜂蜜、糖浆等传统甜味来源,本质上都是高可吸收碳水化合物,它们会迅速进入血液,造成血糖上升并刺激胰岛素分泌。这种反复的“血糖—胰岛素冲击”正是肥胖、脂肪肝、胰岛素抵抗与2型糖尿病的核心机制之一。 因此,真正的关键不是“是否甜”,而是—— 甜味是否进入糖代谢通路。 赤藓糖醇与罗汉果甜味剂,正是基于这个逻辑出现的一套解决方案。 一、赤藓糖醇(エリスリトール)是什么? 赤藓糖醇是一种糖醇类物质,由玉米或淀粉经发酵制得,存在于少量水果和发酵食品中。它的代谢路径与普通糖完全不同。 其关键特性是: 指标 赤藓糖醇 甜度 ≈ 白砂糖的 70% 热量 0 kcal 升血糖 不升 刺激胰岛素 不刺激 是否蛀牙 不 进入人体后,赤藓糖醇会被小肠吸收,但几乎不被代谢,最终原样随尿液排出,因此不会转化为血糖或脂肪。 这使它在日本与欧美都被列为: 代谢中性型甜味剂 二、为什么日本包装上写“可替代白砂糖”? 日本市售赤藓糖醇产品上常标注: 「砂糖の代わりに使えます」 这句话的真实含义是: 可以在“使用方式上”替代砂糖,而不是“甜度上”一比一。 因为赤藓糖醇的甜度只有砂糖的约70%,所以实际使用时需要多放一些: 10 g 赤藓糖醇 ≈ 7 g 砂糖的甜度 但在用途上,它可以完全替代: 而不带来任何血糖代价。 三、什么是「ラカンカ(羅漢果)」甜味剂? 罗汉果是一种中国南方的葫芦科水果,数百年来用于润喉和止咳。它含有一种天然甜味物质: 罗汉果苷(Mogroside) 这种物质: 因此罗汉果提取物本身就是一种理想的天然代糖。 四、日本的「ラカンカ甘味料」到底是什么? 市面上几乎所有日本罗汉果甜味剂的真实配方都是: 罗汉果提取物 + …

红糖、黑糖与白砂糖:同一根甘蔗,不同的停机点

在大众认知中,黑糖、红糖、白砂糖常被看作三种“不同档次”的糖:黑糖更天然,红糖更滋补,白糖最“工业化”。但从食品工业与代谢生理学的角度看,这种区分是误导性的。 它们不是不同的东西,而是同一条生产线上在不同阶段被取出的同一种物质。 一切糖的起点:甘蔗 全球大多数蔗糖来自两种植物: 以甘蔗为例,所有糖的起点是同一个过程: 甘蔗汁是一种混合液体,含有: 接下来,工业上要做的只有一件事: 不断去除非蔗糖成分 不同糖类的差异,来自于这一步做得多还是少。 黑糖:最早停机 黑糖的生产工艺极其简单: 几乎没有“精制”步骤。甘蔗汁中的色素、矿物质、杂质被一并保留下来。 因此黑糖: 但从化学组成看: 90% 以上仍然是蔗糖 红糖:中国式“半精制糖” 中国的红糖并不是日本“黒糖”的同义词,而是: 在黑糖与白糖之间的一种中间产物 工艺是: 它去掉了一部分悬浮杂质,但没有脱色和深度精制。 因此: 但核心仍然是: 蔗糖 白砂糖:高度提纯后的蔗糖结晶 白糖的工艺比前两者复杂得多: 结果是: 剩下的是: 几乎纯粹的蔗糖(C₁₂H₂₂O₁₁) 三者的真实差异 种类 精制程度 成分 颜色 升血糖能力 黑糖 低 蔗糖 + 杂质 深褐 高 红糖 中 蔗糖 + 少量杂质 红棕 高 白糖 …