首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为python中基于文本的多人游戏创建安全终端环境的最佳方法

为python中基于文本的多人游戏创建安全终端环境的最佳方法
EN

Stack Overflow用户
提问于 2015-10-24 23:51:27
回答 2查看 472关注 0票数 3

我想为一个有趣的项目创建一个基于多人文本的游戏。我希望运行一个响应telnet/ssh到我的IP的python服务器。一旦玩家连接起来,他们就可以输入命令来做不同的事情。会有聊天,ascii图形,交易,和其他各种事情。

我需要一个高水平的网络库,这将允许我这样做。以下是我当前的问题:

  1. 我希望这台服务器是异步的。
  2. 我希望一切都通过终端发生,无论是telnet,ssh,还是其他以连接服务器的方式构建的。我不希望最终用户不得不安装任何类似客户端或依赖项的东西。
  3. 当用户连接时,我希望端到端加密。这就是问题出现的地方。我的猜测是,我将不能使用telnet,但我不确定的SSH。我需要用户能够通过终端注册和登录到他们的帐户,我希望服务器来回发送到客户端的信息被窃听者加密和难以辨认。

到目前为止,我最大的问题是弄清楚我将如何使这个游戏安全,但运行在纯终端。我也想用诅咒来用ascii制作酷的菜单和地图。我怎样才能做到这一点?我是否能够操纵服务器端带有诅咒的文本并将其发送给客户端,或者客户端是否需要安装诅咒?

EN

回答 2

Stack Overflow用户

发布于 2015-10-25 00:07:41

网络

您可以使用asyncio:它是在Py3.4中构建的。它使用异步io实现某种类型的事件循环,并允许您在一个进程上拥有多个客户机。Yoy可能使用http://asyncssh.readthedocs.org/来实现ssh,它非常安全。

诅咒

每个终端(如linux控制台或xterm等第70或终端模拟器的真实终端)都有一些转义代码,用于绘制伪图形、透明屏幕、beep等,这些代码(终端功能)存储在termcapterminfo中,合适的终端类型存储在$TERM env变量中。诅咒使用这个信息发送正确的代码到终端。因此,您可以在这里使用诅咒,但使用取决于您将拥有的客户端。

如果要在Python上编写客户端,则可以在客户端机器上安装诅咒,并在协议中使用“绘制菜单”之类的抽象。在这种情况下,客户端甚至可能是图形化的,因为绘图是客户的职责。

但是,如果要使用简单的ssh客户机(如Windows ),则需要获取客户端类型(http://asyncssh.readthedocs.org/en/latest/#getting-terminal-information),将其设置为术语变量,然后重定向诅咒输出(如果诅咒使用,则为stdout )

票数 1
EN

Stack Overflow用户

发布于 2015-10-25 00:19:35

考虑ssh和Unix域套接字绑定。

“除了创建端口转发隧道的用户之外,还可以保护Unix域套接字不被其他用户访问。通过扩展,到远程主机的连接也将受到保护,不受未经授权的访问。为了支持使用Unix域套接字进行端口转发,在SSH中添加了两个选项。”

来源:https://www.ll.mit.edu/mission/cybersec/corpora/Cybercorpora/README.sshhop

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33324617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档