用python为基于文本的多人游戏创建安全终端环境的最佳方法
我想为一个有趣的项目创建一个基于文本的多人游戏。我想运行一个python服务器,该服务器响应到我的IP的telnet/ssh。一旦玩家连接,他们将能够输入命令来做不同的事情。将会有聊天、ascii图形、交易和其他各种事情 我需要一个高层次的网络库,将允许我这样做。以下是我目前的问题:用python为基于文本的多人游戏创建安全终端环境的最佳方法,python,ssh,Python,Ssh,我想为一个有趣的项目创建一个基于文本的多人游戏。我想运行一个python服务器,该服务器响应到我的IP的telnet/ssh。一旦玩家连接,他们将能够输入命令来做不同的事情。将会有聊天、ascii图形、交易和其他各种事情 我需要一个高层次的网络库,将允许我这样做。以下是我目前的问题: 我希望这个服务器是异步的 我希望一切都通过终端通过telnet、ssh或其他内置方式连接到服务器。我不希望最终用户必须安装客户端或依赖项之类的任何东西 我希望在用户连接时进行端到端加密。这就是问题所在。我的猜测是,
asyncio
:它内置于Py3.4中。它使用异步io实现某种类型的事件循环,并允许在一个进程上有多个客户端。Yoy可以用来实现ssh,它非常安全
诅咒
每个终端(来自70th或终端仿真器(如linux控制台或xterm)的真实终端)都有一些转义码,用于绘制伪图形、清除屏幕、嘟嘟声等。这些代码(终端功能)存储在termcap
或termfo
中,相应的终端类型存储在$TERM
环境变量中。诅咒者使用此信息向终端发送正确的代码。所以,您可以在这里使用诅咒,但用法取决于您将使用哪个客户端
若您打算在Python上编写客户机,那个么您可以在客户机上安装curses,并在协议中使用抽象,如“draw menu”。
在这种情况下,客户甚至可能是图形化的,因为绘图是客户的职责
但如果要使用简单的ssh客户端(如Windows Putty),则需要获取客户端的终端类型(),将其设置为TERM变量,然后重定向curses输出(如果curses使用它,则重定向stdout)考虑ssh和Unix域套接字绑定 可以保护Unix域套接字不被创建端口转发隧道的用户访问。通过扩展,到远程主机的连接也将被保护不被未经授权的访问。为了支持使用Unix域套接字进行端口转发,SSH中添加了两个选项
资料来源:这帮了大忙。我将研究异步IO和ssh实现。谢谢。我查过这个图书馆,它在我的电脑上不能用。在python3中,它一直给我错误。你可以用这些错误创建另一个问题,也许人们可以帮助你解决它们。我不明白这是如何帮助我的。