跳到主要内容

FluffOS

FluffOS 是一个高性能游戏引擎(LPMUD 驱动),常用于构建 MUD —— 参见 LPMud。FluffOS 最初是针对 MudOS 最后一个版本的补丁集, 经过多次大规模重写和缺陷修复,在支持新特性的同时保持了对现有 mudlib 的向后兼容。

代码库由三部分组成:

  • LPC 解释器 —— 解析并执行 LPC 程序。
  • 网络服务器 —— 管理客户端连接并暴露给 LPC,支持 TELNET、TLS 和 WebSocket 协议。
  • 粘合接口
    • Efun —— LPC 程序可调用的内置 C/C++ 函数。
    • Apply —— 驱动在各类游戏事件发生时回调 LPC 对象的函数。
当前版本

当前版本为 master 分支 —— CMake 构建系统,支持 Ubuntu、macOS、Windows(MSYS2/MinGW64) 以及 WebAssembly。参见 GitHub 上的所有版本

浏览文档

🚀 快速开始

在 Linux、macOS、Windows 上从源码构建驱动,或构建可在浏览器中运行的 WebAssembly 版本。

📖 LPC 语言

FluffOS 实现的 LPC 语言:类型、语法结构、预处理器和编译诊断。

⚙️ Efun 函数

驱动提供给 LPC 代码调用的全部内置函数参考,按主题分类。

🔔 Apply 回调

驱动回调对象的函数:master 安全钩子、对象生命周期和玩家连接。

💡 概念

LPC、对象与驱动如何协同工作 —— simul_efun、热重载、网络等。

🔧 驱动内部

运行时配置、VM 栈机、内存分配,以及如何添加自己的 efun。

备注

中文文档目前覆盖 efun 参考、apply 回调和构建指南;尚未翻译的页面会自动显示英文内容。 欢迎在 GitHub 上贡献翻译。

特性

  • 使用 CMake 在 Ubuntu、macOS 和 Windows 上原生构建 —— 另有可在浏览器中运行完整 mudlib 的 WebAssembly 目标。
  • 原生 UTF-8,透明的输入/输出编码转换支持。(支持 Emoji!)
  • WebSocket 支持!
  • TLS 支持!
  • 默认 SHA512 crypt。

许可证与版权

Copyright 2019-2023 Yucong Sun

许可条款见英文版页面及仓库中的 Copyright 文件。