NWNX:EE 开源项目最佳实践
1. 项目介绍
NWNX:EE(Neverwinter Nights Extender: Enhanced Edition)是一个开源框架,旨在为《无尽冬季:增强版》(Neverwinter Nights: Enhanced Edition)提供扩展功能。该框架允许开发者修改游戏内硬编码的规则或注入全新的功能,从而实现自定义的脚本命令、与外部工具的集成、以及对核心机制的修改。
2. 项目快速启动
以下是快速启动NWNX:EE项目的步骤:
首先,你需要获取NWNX的二进制文件。如果你打算自己编译,可以参考项目中的编译指南。否则,你可以从GitHub仓库的发布页下载预编译的二进制文件。
步骤1:下载NWNX:EE二进制文件
从GitHub仓库的"Releases"页面下载包含NWScript.zip
的发布版本。
步骤2:集成到你的模块
将下载的NWScript.zip
解压缩并导入到你的模块中。这些脚本文件可以像模块内的其他脚本一样调用。
步骤3:运行服务器(本地)
将NWNX的二进制文件复制到服务器的可执行文件旁边。通常位于/bin/linux-x86
目录。
创建一个启动脚本,如下所示:
#!/bin/sh
export LD_PRELOAD="./NWNX_Core.so"
./nwserver-linux
你可以通过环境变量配置插件。如果需要跳过某个插件,可以在启动nwserver-linux
之前设置相应的环境变量,例如:
export NWNX_LUA_SKIP=true
你可以设置日志级别,如下所示,其中1是最少的日志输出,7是最详细的日志输出:
export NWNX_CORE_LOG_LEVEL=7 # 核心和所有插件的默认日志级别
export NWNX_LUA_LOG_LEVEL=7 # LUA的日志级别,覆盖默认设置
步骤4:使用Docker运行服务器
NWNX:EE支持以下Docker标签:
[commit-hash]
(7个字符)latest
[tag]
(例如:build8193.20
或build8193.35.36
)
为了确保使用的是正确的构建版本,推荐使用[commit-hash]
标签。使用Docker运行服务器的命令与运行urothis/nwserver
镜像的命令相同。
使用环境变量通过docker run
配置NWNX插件。除了ServerLogRedirector
,所有插件默认都是跳过的。通过传递n
到相应插件的环境变量中可以激活插件,例如:
-e NWNX_ADMINISTRATION_SKIP=n
一些插件可能需要额外的配置,具体请参考插件目录下的README
文件。
建议使用docker-compose
配置容器。可以参考Docker的官方文档和示例。
3. 应用案例和最佳实践
- 自定义脚本命令:开发者可以创建全新的脚本命令,扩展功能。
- 数据库集成:将脚本语言与外部数据库集成,例如MySQL。
- 机制修改:修改核心机制,如规则或寻路引擎。
4. 典型生态项目
- 插件开发:利用NWNX:EE框架开发新的插件,提供更多的自定义功能。
- 模块扩展:模块创建者可以使用社区贡献的插件来增强他们的模块。
以上是NWNX:EE开源项目的最佳实践方式,希望对开发者有所帮助。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考