跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 世界
  • 用户
  • 群组
皮肤
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Cerulean)
  • 不使用皮肤
折叠
品牌标识

PyMUD官方论坛

N

newstart

@newstart
Global Moderator
关于
帖子
43
主题
11
分享
0
群组
1
粉丝
0
关注
0

帖子

最新 最佳 有争议的

  • PyMUD 0.22.4 正式版发布
    N newstart

    0.22.4 (2026-02-24)

    • 功能新增: 当一台设备拥有多个网卡和IP时,可以指定使用哪个IP进行连接。
    • 功能新增: 支持直接使用socks5代理进行连接。可以支持无需认证的代理(如ssh -D创建的socks5代理),和用户名密码认证的代理。
    • 功能新增: 上述两功能,通过新增的 network 配置字典来实现,也可以在#session, #connect命令中直接指定。使用方式见下方。
    • 问题修复: 修复了提示错误代码时不正确显示函数名、文件名和行数的情况
    • 问题修复: 修复了内存监控启动代码BUG导致无法正常监控的问题
    • 其他变更: 完善修复了所有涉及 basedpyright 提示不符合编码标准的内容,改为更符合编码标准的写法
    • 其他变更: 默认的 remain_last_input 现在设置为 True 了
    • 其他变更: 新版的 SessionBuffer 确认可以正常运行,删除了原来的 SessionBuffer 实现
    • 其他变更: 移除了所有不需要的 import 内容
    • 其他变更: 当所有会话都被关闭后,底下的状态窗口将会清空

    多IP网络/Socks5代理连接使用方法:

    • 首先在pymud.cfg中增加配置字段 network,内容如下(如果复制使用,请删除注释内容):

      {
          // 放在根节点内部即可
          "network" : {
              "ipv6": false,              // 是否启用ipv6,可接受 true|false,默认为false。该设置仅会影响 auto 模式模式,即设置 auto 模式是否会自动获取IPv6地址
              "local_addr": "auto",       // 本地绑定的IP地址,可接受 auto|preset,默认auto,即自动获取本地所有网络设备的IP,当配置为 preset 时,会使用ip_list中的IP
              "ip_list": [                // 当local_addr设置为 preset 时,需要配置该字段,用于指定使用哪个IP进行连接。
                  "192.168.1.100",
                  "192.168.2.100",
              ],
              "proxy": true,              // 是否启用代理,可接受 true|false,默认为false。
              "proxies": {                // Socks5代理列表,可配置多个,即可以使用无密码的代理,也可以使用用户名密码认证的代理。
                  "proxy1": "socks5://192.168.6.66:1080",                         // 使用proxy1标识该无密码代理
                  "proxy2": "socks5://user:password@yoursock5proxy.site:1080",    // 使用proxy2标识该用户名密码认证代理
              }
          }
      }
      
    • 当配置完成后,启动pymud时, 世界菜单中,每一个角色的都会添加一个下级菜单,将IP和代理列表中的代理都添加为子菜单。此时,角色自身菜单,以及下级子菜单都可以单机连接到服务器。

    • 当依然单机角色菜单时,会使用系统当前默认网络设备进行连接。

    • 当点击角色下级菜单中的IP时,会指定绑定该IP进行连接。例如,一台设备有2个网卡,一个连接到电信网络,一个连接到联通网络,即使系统设置默认连接是网卡1电信网络,通过IP绑定也可以使用联通网络连接到服务器。

    • 当点击角色下级菜单中的代理时,会指定使用该代理进行连接。例如,在配置中增加了一个代理 proxy1,当点击角色下级菜单中的 proxy1 时,会使用该代理进行连接。

    • 也可以在#session/#connect命令中指定IP或代理。二者语法相同,都是在最后面增加了 >> 来指定IP或代理。注意,>>之后的IP或者代理之间没有空格。例如:

      • #session pkuxkx.newstart >>#2 # 指定使用ip_list中(当local_addr设置为 preset 时)或自动获取的ip列表(也会显示在菜单上)的第2个(序号从1开始)IP进行连接
      • #session pkuxkx.newstart >>@proxy1 @ 指定使用proxies中配置的proxy1代理进行连接
      • #con >>>#1 # 会话断开后(比如使用#dis命令),可以使用 #con 重新指定以第1个IP连接。
      • #con >>socks5://192.168.6.67:1080 # 也可以在命令直接指定新的socks5代理。(IP只能使用序号指定,不接收手动填入)
    • #con命令也可以使用三个大于号 >>> 来连接。这二者区别在于,当使用 >> 时,该配置会变成本会话的默认配置,下次直接 #con 就是使用该配置;而使用 >>> 时,只是临时指定该配置,下次 #con 还是会使用原先的配置。

    公告与通知

  • PyMUD 0.22.2 正式版发布
    N newstart

    @terry 贴出来你的pymud.cfg中的session配置和auto_chars配置内容看看,注意隐去你的具体id和pass。

    公告与通知

  • 初探pymud的自动地图功能
    N newstart

    图片有点模糊,看不清楚

    PyMUD讨论区

  • ssh 命令详解
    N newstart

    按字母顺序排列的详解速查:

    SSH 客户端参数详解

    ssh (Secure Shell) 是一个用于安全远程登录和执行命令的工具。以下参数基于 OpenSSH 客户端。

    常用参数概览

    ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address]
        [-c cipher_spec] [-D [bind_address:]port] [-E log_file]
        [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file]
        [-J destination] [-L address] [-l login_name] [-m mac_spec]
        [-O ctl_cmd] [-o option] [-P tag] [-p port] [-R address]
        [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
        destination [command [argument ...]]
    ssh [-Q query_option]
    

    参数详细说明

    参数 说明
    -4 强制使用 IPv4 地址。
    -6 强制使用 IPv6 地址。
    -A 启用认证代理转发。允许远程主机通过本地 SSH 代理进行认证。
    -a 禁止认证代理转发。
    -C 启用压缩。所有数据在传输前都会被压缩。
    -f 后台运行。SSH 会在执行命令前转入后台,通常与 -n 配合使用。
    -g 允许远程主机连接本地转发的端口。如果不使用此选项,端口转发仅绑定到本地回环地址。
    -i identity_file 指定用于公钥认证的私钥文件路径(例如 ~/.ssh/id_rsa)。
    -l login_name 指定登录远程主机的用户名。
    -N 不执行远程命令。仅用于端口转发。
    -n 将标准输入重定向到 /dev/null。通常用于后台运行 SSH。
    -p port 指定远程 SSH 服务监听的端口号(默认为 22)。
    -q 静默模式。抑制所有警告和诊断信息。
    -t 强制分配伪终端。对于运行全屏程序(如 top 或文本菜单)非常有用。
    -v 详细模式。打印调试信息。可使用多个 -v(如 -vvv)以增加详细程度。
    -X 启用可信的 X11 转发。
    -x 禁用 X11 转发。
    -Y 启用可信的 X11 转发(比 -X 更宽松的信任级别)。
    -y 启用信任的 X11 转发(与 -Y 类似,具体行为可能依赖于实现)。
    -B bind_interface 指定 SSH 客户端发送数据包的网络接口。
    -b bind_address 在本地主机上绑定指定的源地址(源 IP)发出连接。
    -c cipher_spec 指定用于加密会话的加密算法。
    -D [bind_address:]port 指定本地动态应用程序级端口转发。SSH 将充当 SOCKS 代理服务器。
    -E log_file 将调试日志追加到指定的文件中。
    -e escape_char 设置转义字符(默认为 ~)。
    -F configfile 指定一个替代的配置文件(默认为 ~/.ssh/config)。
    -I pkcs11 指定 PKCS#11 共享库的路径,用于硬件安全密钥。
    -J destination 指定跳转主机(Jump Host)。格式为 [user@]host[:port],可指定多个。
    -L address 指定本地端口转发。将本地端口映射到远程主机的某个端口。
    -m mac_spec 指定用于数据完整性校验的消息认证码(MAC)算法。
    -O ctl_cmd 控制一个正在运行的 SSH 多路复用主进程(如 check, exit, stop)。
    -o option 以 选项=值 的形式指定配置选项(如 -o StrictHostKeyChecking=no)。
    -P tag 与 -Q 一起使用,用于查询特定的配置参数。
    -R address 指定远程端口转发。将远程主机的端口映射到本地主机的某个端口。
    -S ctl_path 指定用于连接共享的控制套接字路径。
    -W host:port 将本地标准输入输出直接连接到远程主机的指定端口。
    -w local_tun[:remote_tun] 请求 TUN/TAP 接口转发,用于创建虚拟专用网络(VPN)。
    -Q query_option 查询可用的加密算法、MAC 等信息(如 ssh -Q cipher)。

    使用示例

    • 基本连接: ssh user@hostname
    • 指定端口: ssh -p 2222 user@hostname
    • 本地端口转发: ssh -L 8080:localhost:80 user@hostname (将本地 8080 转发到远程的 80)
    • 动态端口转发(SOCKS 代理): ssh -D 1080 user@hostname
    • 后台运行并静默: ssh -f -N -L 8080:localhost:80 user@hostname
    个人博客区

  • ssh 命令详解
    N newstart
    usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address]
               [-c cipher_spec] [-D [bind_address:]port] [-E log_file]
               [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file]
               [-J destination] [-L address] [-l login_name] [-m mac_spec]
               [-O ctl_cmd] [-o option] [-P tag] [-p port] [-Q query_option]
               [-R address] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
               destination [command [argument ...]]
    

    ssh 命令是 Linux/Unix 系统中用于安全远程登录的核心工具,其参数众多,功能强大。

    为了更清晰地理解,我将这些参数按照功能逻辑分为了 连接与身份、端口转发、认证与密钥、会话与调试 以及 版本与配置 五大类进行详细解释。

    1. 连接、目标与身份

    这些参数用于指定你要连接到哪里,以及以谁的身份登录。

    参数 全称/含义 详细解释
    destination 目标主机 核心参数,指定要连接的远程主机。格式通常为 [user@]hostname。
    [command] 执行命令 如果指定,将在远程主机上执行该命令后退出,而不是启动交互式 shell。
    -p port 端口 指定远程 SSH 服务监听的端口号(默认是 22)。
    -l login_name 登录名 指定登录远程主机的用户名(例如 ssh -l root host)。
    -4 仅 IPv4 强制 SSH 仅使用 IPv4 地址进行连接。
    -6 仅 IPv6 强制 SSH 仅使用 IPv6 地址进行连接。
    -J destination 跳板/代理跳转 通过一个或多个跳板机(Jump Host)连接到最终目标(例如 ssh -J user@gateway user@final)。

    2. 端口转发与隧道

    SSH 不仅仅是登录,还可以作为安全隧道传输其他数据。

    参数 全称/含义 详细解释
    -L 本地端口转发 将本地的某个端口流量通过 SSH 隧道转发到远程主机的某个地址和端口(例如 -L 8080:localhost:80,本地访问 8080 即访问远程的 80 端口)。
    -R 远程端口转发 将远程主机的某个端口流量通过 SSH 隧道转发回本地(例如 -R 9000:localhost:80,远程访问 9000 即访问本地的 80 端口)。
    -D 动态端口转发 开启 SOCKS 代理服务器。指定本地一个端口,所有发往该端口的流量都会通过 SSH 隧道动态转发。
    -g 网关端口 允许远程主机连接到本地转发的端口(默认情况下,端口转发仅绑定到 localhost,使用此参数可让其他机器连接)。
    -w TUN/TAP 隧道 用于转发网络层(Layer 3)或链路层(Layer 2)的数据包,常用于构建 VPN。

    3. 认证、密钥与代理

    这些参数控制如何证明你的身份。

    参数 全称/含义 详细解释
    -i identity_file 身份文件 指定用于公钥认证的私钥文件(默认是 ~/.ssh/id_rsa 等)。
    -A 启用代理转发 允许将本地的 SSH 代理(ssh-agent)连接转发到远程主机。注意: 这有安全风险,因为远程用户可能利用你的本地密钥进行跳板攻击。
    -a 禁用代理转发 禁止转发认证代理的连接(默认行为)。
    -K GSSAPI 委托 启用基于 GSSAPI(如 Kerberos)的身份验证和凭据转发。
    -k 禁用 GSSAPI 禁用向服务器转发 GSSAPI 凭据。
    -I pkcs11 智能卡/PKCS#11 指定用于与智能卡通信的 PKCS#11 共享库,用于硬件密钥认证。

    4. 会话、控制与调试

    控制终端行为、连接管理和故障排查。

    参数 全称/含义 详细解释
    -t 强制伪终端 强制分配一个伪终端(PTY)。当你需要在远程运行基于屏幕的程序(如 top、vim 或菜单脚本)时非常有用。
    -T 禁止分配终端 禁止分配伪终端。适用于执行自动化脚本或传输文件时,防止远程系统分配不必要的资源。
    -f 后台运行 请求 SSH 在执行命令前转入后台运行(通常与 -n 配合使用)。
    -n 重定向 stdin 将标准输入重定向到 /dev/null。通常用于后台运行,防止 SSH 从标准输入读取数据。
    -N 不执行命令 不在远程执行任何命令。通常仅用于端口转发(-L/-R)时,只建立隧道而不打开 shell。
    -v 冗详模式 显示详细的调试信息。-v 显示一级信息,-vvv 显示最详细信息,用于排查连接失败原因。
    -q 安静模式 抑制大部分警告和诊断信息,让输出更干净。
    -e escape_char 转义字符 设置用于退出 SSH 会话的控制字符(默认是 ~)。例如 -e none 会使会话完全透明,禁用转义功能。
    -C 压缩数据 启用压缩(类似 gzip),在慢速网络下可以加速传输,但会增加 CPU 负担。
    -S ctl_path 控制套接字 指定用于连接共享(Connection Multiplexing)的控制套接字路径,允许复用同一个 TCP 连接以加快后续连接速度。

    5. 配置与加密

    指定配置文件和加密算法。

    参数 全称/含义 详细解释
    -F configfile 配置文件 指定一个替代的用户级配置文件(默认是 ~/.ssh/config),而不是使用系统默认配置。
    -o option 配置选项 以 Key=Value 的形式传递配置指令(例如 ssh -o "StrictHostKeyChecking=no" host),用于设置没有单独命令行开关的选项。
    -c cipher_spec 加密算法 指定会话加密的密码算法(如 aes256-ctr)。OpenSSH 会自动协商,通常无需手动指定。
    -m mac_spec MAC 算法 指定消息认证码(Message Authentication Code)算法,用于确保数据完整性。
    -B bind_interface 绑定接口 在多网卡机器上,指定从哪个本地网络接口发出连接。
    -b bind_address 绑定地址 在多 IP 地址的机器上,指定连接的源 IP 地址。
    -E log_file 日志文件 将调试日志追加到指定文件中,而不是输出到标准错误 stderr。

    💡 补充说明

    • 大小写敏感:注意 -v(小写)是详细模式,而 -V(大写)是显示版本信息并退出。
    • 参数优先级:命令行参数的优先级最高,其次是用户配置文件 (~/.ssh/config),最后是系统配置文件 (/etc/ssh/ssh_config)。
    • 安全性:使用 -A(代理转发)时要非常小心,因为它可能让远程服务器上的恶意用户利用你的本地私钥访问其他服务器。
    个人博客区

  • 如何实现session断线重连的功能呢
    N newstart

    pymud.cfg里,client字典下有一个叫『auto_reconnect』的配置,设置为true就可以自动重连,该配置默认为false。另外,还有一个『reconnect_wait』配置,控制断线自动重连前的等待时间,默认为15(秒)。
    上述内容在帮助文档里有,详见:https://www.pymud.cn/doc/settings.html#client

    PyMUD讨论区

  • AI软件开发的又一里程碑
    N newstart

    结果很快就被打脸了
    https://m.toutiao.com/article/7596878729889071651/?app=news_article&timestamp=1768895064&use_new_style=1&req_id=2026012015442459992E389CA4B86EA3F6&group_id=7596878729889071651&req_id_new=2026012015442459992E389CA4B86EA3F6&chn_id=-3&share_did=MS4wLjACAAAAlmN2N2xl45m9DDeD3nvO8q6O3z7rT3nl__fkiK7DyVN8qDpvraWOQtfNac-DtgDZ&share_uid=MS4wLjABAAAAnPLB9vmFy-HOkJvCwwnpOsLW9ionGSGMcG7SBIjSexDXabGKsm-Jq9qVVWGHoLz8

    程序开发讨论区

  • #help close 没有-f的说明
    N newstart

    0.22.3版已增加

    PyMUD讨论区

  • PyMUD 0.22.3post1 正式版发布
    N newstart

    0.22.3 (2026-01-18)

    • Bug Fixes:
      • Removed unnecessary imports from various code files. Verified to work normally with Python 3.8.
      • Fixed an issue in the getVariable method where non-alphabetic characters would cause the variable value to return None.
      • Fixed a bug in #var nested variable support. Previously, if a digit was used as a dictionary key, it would be incorrectly identified as a list and return None.
    • Feature Improvements:
      • Updated #mem diff to compare against the memory usage at initial startup, rather than against the previous execution.
    • Other Changes:
      • Updated the help documentation for #close to include a description of its parameters, specifically support for the -f and session_name arguments (previously supported but undocumented).
      • Refactored multiple instances of non-standard syntax and replaced deprecated code.

    (Translation by Quark)

    公告与通知

  • PyMUD 0.22.3post1 正式版发布
    N newstart

    0.22.3post1

    • 问题修复: 修复了代码中使用#wa等异步功能被改失效的问题。

    0.22.3 (2026-01-18)

    • 问题修复: 删除了各代码文件中不需要的引用,经测试,Python 3.8 版可以正常运行。
    • 问题修复: 修复了getVariable方法中,如果有非字母字符时会导致获取变量值为None的情况。
    • 问题修复: 修复了#var对嵌套变量的支持中的BUG,原先如果使用数字作为dict的key时,会被识别为list然后返回None。
    • 功能优化: #mem diff现在是与首次启动时的内存进行对比,而不是与上一次执行时的内存进行对比。
    • 其他变更: #close的帮助中增加了对参数的描述,支持 -f 参数和 session_name 参数。之前只有改功能,帮助中未说明。
    • 其他变更: 修改了多处语法不规范、代码弃用替代的情况。
    公告与通知

  • #help close 没有-f的说明
    N newstart

    我都忘记了我给#close增加了-f参数,刚查代码确实有,我后续把帮助加上。

    PyMUD讨论区

  • 中文MUD都有什么站点
    N newstart

    https://im-mortal.cn/mudlist

    MUD游戏讨论区

  • 中文MUD都有什么站点
    N newstart

    大家有谁知道的,贴一下地址
    我现在只知道北大侠客行了 www.pkuxkx.net

    MUD游戏讨论区

  • 初探pymud的自动地图功能
    N newstart

    pymud没有自动地图功能,但是你可以用python自己实现😀

    PyMUD讨论区

  • cmdScore.py数据问题
    N newstart

    @shanghua 在 cmdScore.py数据问题 中说:

    @terry 在 cmdScore.py数据问题 中说:

    @shanghua 你不能插入代码块么?别总贴图

    │上线:扬州客店 签到:暂无 │师承:宋远桥

    @trigger(r'^.* │\s * 师承:(\S+)\s +│', group = "cmd.score")
    def masterinfo(self, name, line, wildcards):
        # self.profile["签到"] = wildcards[0].rstrip()
        self.profile["师承"] = wildcards[0].rstrip()
    

    来来来,你要的代码😲 😲 😲

    明显是正则不对,师承前面的\s和*之间不能有空格

    PyMUD讨论区

  • cmdScore.py加载报错
    N newstart

    之前CmdScore设计逻辑是这样的,会从score信息里读取到角色id,门派,然后传递给战斗模块,让战斗模块根据角色id或者门派来配置自定义的战斗方式,比如不同perform之类。

    PyMUD讨论区

  • cmdScore.py加载报错
    N newstart

    @shanghua 在 cmdScore.py加载报错 中说:

    9f4247f5-383c-4cf9-b6f3-653d2b9e7227-image.png

    继续报错。

    这是调用了另一个cmd_combat的Command,然后你没有这个,所以不行。把这一行注释掉再试。

    PyMUD讨论区

  • 删除变量的cmd
    N newstart

    前面电脑上看的时候,代码只到unload后面就没了,我都没看到execute部分🤣🤣🤣

    PyMUD讨论区

  • 删除变量的cmd
    N newstart

    没看懂,这是要做什么?首先,Command不是这么用的,其次,也没看到具体执行删除的操作呢?

    PyMUD讨论区
  • 登录

  • 没有帐号? 注册

  • 登录或注册以进行搜索。
Powered by NodeBB Contributors
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 最新
  • 标签
  • 热门
  • 世界
  • 用户
  • 群组