Giter VIP home page Giter VIP logo

civility's Introduction

Civility

Civility is the easiest way to manage your Civ5 hotseat games hosted by http://multiplayerrobot.com/.

Install

$ gem install civility

Usage

Authenticate yourself:

$ civility auth token

Run civility auth if you don't know where to get your GMR token.

Get a list of your games:

$ civility games

Download a save file to play:

$ civility play game name

Open Civ5, play your hotseat turn, and save to the same file.

Upload you completed turn:

$ civility complete game name

OS Support

civility has only been minimally tested on OS X and Windows.

Security

civility is cryptographically signed. To be sure the gem you install hasn’t been tampered with:

Add my public key (if you haven’t already) as a trusted certificate

$ gem cert --add <(curl -Ls https://raw.githubusercontent.com/abraham/civility/master/certs/abraham.pem)
$ gem install civility -P MediumSecurity

The MediumSecurity trust profile will verify signed gems, but allow the installation of unsigned dependencies.

This is necessary because not all of civility’s dependencies are signed, so we cannot use HighSecurity.

Troubleshooting

  • If you get UnexpectedError: {"ResultType"=>0, "PointsEarned"=>0} when running civility complete game name, try civility games every five minutes until the games list shows it being your turn and then try complete again. The GMR API is frequently stale and returning the old turn_id.

  • If your game isn't showing when you run civility games try running the command again. Frequently games are missing for from the GMR API response.

civility's People

Contributors

abraham avatar kliph avatar wstrinz avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

wstrinz kliph

civility's Issues

Improve finding save files to upload

  • Check for files in save directory that are newer than default file and prompt to upload those instead.
  • If save file hasn't been updated since downloading it throw an error.

Catch timeout errors and show nice error message

civility p Bendyciv
<internal:prelude>:76:in `__read_nonblock': Connection reset by peer (Errno::ECONNRESET)
    from <internal:prelude>:76:in `read_nonblock'
    from /Users/kliph/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/protocol.rb:154:in `rbuf_fill'
    from /Users/kliph/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    from /Users/kliph/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    from /Users/kliph/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    from /Users/kliph/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    from /Users/kliph/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    from /Users/kliph/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    from /Users/kliph/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    from /Users/kliph/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    from /Users/kliph/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:1308:in `request_get'
    from /Users/kliph/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:481:in `block in get_response'
    from /Users/kliph/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:853:in `start'
    from /Users/kliph/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:584:in `start'
    from /Users/kliph/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http.rb:479:in `get_response'
    from /Users/kliph/.rvm/gems/ruby-2.3.0/gems/civility-5/lib/civility/gmr.rb:68:in `get'
    from /Users/kliph/.rvm/gems/ruby-2.3.0/gems/civility-5/lib/civility/gmr.rb:34:in `download'
    from /Users/kliph/.rvm/gems/ruby-2.3.0/gems/civility-5/lib/civility.rb:52:in `play'
    from /Users/kliph/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
    from /Users/kliph/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
    from /Users/kliph/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
    from /Users/kliph/.rvm/gems/ruby-2.3.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
    from /Users/kliph/.rvm/gems/ruby-2.3.0/gems/civility-5/bin/civility:5:in `<top (required)>'
    from /Users/kliph/.rvm/gems/ruby-2.3.0/bin/civility:23:in `load'
    from /Users/kliph/.rvm/gems/ruby-2.3.0/bin/civility:23:in `<main>'
    from /Users/kliph/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval'
    from /Users/kliph/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>'

Sync games after play command

TurnId is stored in the config file and needs to be synced at the end of $ civility play game so that $ civility complete game has the current TurnId.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.