weplay, 基于JavaScript的协同驾驶员仿真 100%

分享于 

3分钟阅读

GitHub

  繁體 雙語
Collaborative gameboy emulation powered 100% by JavaScript
  • 源代码名称:weplay
  • 源代码网址:http://www.github.com/rauchg/weplay
  • weplay源代码文档
  • weplay源代码下载
  • Git URL:
    git://www.github.com/rauchg/weplay.git
    Git Clone代码到本地:
    git clone http://www.github.com/rauchg/weplay
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/rauchg/weplay
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    weplay

    如何安装

    安装方式

    $ npm install

    然后使用下面的环境变量运行它:

    • WEPLAY_PORT - 指向你要侦听的端口( 3001 )
    • WEPLAY_REDIS - redis uri ( localhost:6379 )
    • WEPLAY_SERVER_UID - 这里服务器实例的唯一持久标识符。 用于跟踪redis中客户端的# ( 默认为 WEPLAY_PORT )
    • WEPLAY_IP_THROTTLE - 在从同一IP地址( 100 ) 移动之间需要通过的最少时间
    $ node index

    这将为weplay设置IO服务器。 你还需要启动其他服务:

    常见问题解答

    :这一切如何工作

    服务运行在一个基于javascript的颜色 模拟器,它被绘制到节点画布的一个实例。

    每次绘制一个事件时发出一个事件,PNG缓冲区通过Redis传递到 weplay ( 这里项目)的所有IO实例。

    有了 socket.io 支持,除了所有 JSON,我们还可以无缝地将 Buffer 中包含的图像数据无缝传输到所有连接的客户端,以使聊天和命令能够正常工作。

    这使得weplay成为 100%个JavaScript项目 !

    错误处理方案是什么?

    • 由于 weplay IO node 崩溃,客户端可以重新路由到另一个实例,并自动重新连接,这归功于 socket.io-client。
      • 向它的他用户( 例如聊天消息和""事件) 传播的事件将被广播到列表中,这意味着在重新连接到新服务器时会发生最新事件。
      • 由于 weplay-presence 服务的工作将聚合所有服务器的连接计数,所以连接计数最终是一致和正确的。
    • 如果 weplay-emulator 发生崩溃,则下次引导它时将恢复默认的虚拟机状态,每 60秒默认为( 由于性能原因)。

    支持

    如果你有想法或者贡献,请在Freenode上加入 #weplay

    许可证

    MIT


    JAVA  Javascript  COL  GAM  POW  collaborative  
    相关文章