NautilusDRM 线路版权保护程序

OpenBVE界最为成熟有效的侵权防范方案之一


编程: Nemo Zhang (zbx1425)
转载请注明作者及本页链接

本程序能干什么?

本程序可以编码您线路的图片和模型,使其无法被轻易修改。这也使您的线路无法被私自转换到Hmmsim。同时,在线路加载时可以选择弹窗显示您的版权信息,作为一个私传、盗转者无法抹去的数字水印。甚至可以通过每日改变的动态密码的方式,让下载到线路的玩家们必须造访您的官网获取密码才可游玩。这可有效避免您的版权在侵权私传的过程中遭到抹杀。
本程序只适配OpenBVE。遗憾的是, 由于Hmmsim是付费软件, 且程序代码被直接编译为机器码, 极难修改, 无法提供Hmmsim的版权保护手段。

最近一次更新日期: 2020/7/29

插件程序 v1.3.2 2020/7/29

核心模块

将此列车Ats.dll插件用于您线路配套的列车即可

备用下载
DetailManager

用于同时加载本插件与其它Ats插件

前往下载

加密工具 v1.1.3 2020/7/29

资源加密工具

加密您的线路档, 使得改贴图与转换等侵权行为困难重重

备用下载
插件配置生成工具

将您的版权信息以加密字符形式嵌入路线中, 以防盗图

在线使用

使用说明

  1. 下载资源加密工具并放置到您方便的位置。
    注: 本工具需要.Net Framework 4.6.1。大多Win10等较新系统已自带,如果提示需要安装, 请自行搜索安装方式。
  2. 运行加密工具, 选择生成新密钥。
    请您牢记: 密钥与线路一一对应配套。请您注意相同线路使用相同密钥,不同线路使用不同密钥。如您混用, 您将遇各种问题!
    将密钥文件保存到您方便的位置并妥善保管。
  3. 将您开发时使用的Railway与Train文件夹复制出一份并删除其他内容,使其中只留有您线路相关的文件。
  4. 使用插件配置生成工具生成配置文本。填入您想要的加密形式, 以及其他设定。
    因为配置文本是根据密钥文件计算的,它也要和线路一一配套。
    目前不建议您使用弹窗。如需使用,可用写有您版权等信息的图片作为背景图, 分辨率为640x360。可将您官网链接输入, 点击图片即跳转 (可在图上准备下划线文字以使其看起来像链接)
    注: 由于下方要显示密码输入框等, 请尽量将关键文字放在图片上半部分。
  5. 再次打开加密工具, 选择 “6) 混淆并加密线路与列车文件夹”。然后选择先前Railway和Train文件夹所在的文件夹。不是这两个文件夹,而是它们外部的文件夹。
    然后选择输出文件夹。注意:加密工具将清除输出文件夹内全部内容,请仔细确认输出文件夹是否是您想要的文件夹!
    将加密所有bmp, jpg, gif, png, tif, csv, b3d, animated等格式文件。
    注: 密钥文件与线路一一对应, 此后加密相同线路(即使发布更新)时请使用相同的因数与GUID等, 不同线路则请另外生成。
  6. 打开您线路配套的列车文件夹, 将上述自动配置插件 ANautilusDRMPlugin.dll 放入其中,然后修改或创建ats.cfg 将 ANautilusDRMPlugin.dll激活。如您不知如何写ats.cfg,像这样:
    ANautilusDRMPlugin.dll
    直接一行字把文件名写进去即可。
    注: 本Ats插件只负责自动安装功能, 不会影响您列车的行为, 也不会对本插件进行任何配置。
    如果您的列车原本有着ats插件, 请您使用上述DetailManager, 该插件将允许OpenBVE同时加载多个列车ats插件。如您无需,您到此已完成配置全过程。
    DetailManager的使用方法在下载页面有详细描述。
  7. 启动OpenBVE。现在当您打开线路时, 本程序应当会自动载入并按照您设定的配置工作。

Javascript 动态密码使用说明

  1. 请注意: 此说明假设您对HTML及Javascript有些基本了解。如您难以理解此说明欢迎您到 菜鸟教程网 补课。
    另注意: 本动态密码生成器纯属Javascript客户端运行, 不需php, asp等任何服务端脚本环境。
    另注意: 如何架设网站服务器等问题远超本说明讨论范围, 敬请自行查找。
  2. 本脚本托管于NPM, 万分感谢NPM与JSDelivr。
    如果您不想使用, 也可下载文件并放置到您的服务器。(不推荐, 仅在无法使用jsdelivr时使用)
  3. 在网页<head>区域内引入本脚本, 或(如需)用JQuery等异步加载。例如:
    <script src="https://cdn.jsdelivr.net/npm/nautilus-drm-kit@1.2.2/nautilusDRM.js"></script>
  4. 本脚本提供函数nautilusCode。打开密钥文件后您可看到调用此函数所需参数。该函数直接返回日期暗号, 您可使用document.write或其他方式显示。
    例如, 将以下语句中参数替换后, 放置在您想要显示的位置:
    <script>document.write(nautilusCode(...一堆数字...));</script>

致谢

十分感谢 Christopher Lees (leezer3) 大佬在本程序与OpenBVE互操作上的热心协助