Pretendyourexyzzy

GitHub Readme.md

Pretend you

A Cards Against Humanity clone, server and web client. Play on the web (pick one from the list), or from the app.

Deploy

If you want to play with your friends, you can do so in a few minutes by deploying on Heroku. To do so just click the button below, register, follow the instructions and you're done!

  • We would like to show you a description here but the site won’t allow us.
  • Pretend You're Xyzzy. DRAW PICK The quick brown fox jumped over the lazy dog. Pretend You're Xyzzy. Waiting for server. The black card for this round is: The white cards played this round are: The previous round was won.

Configuration

If you deployed on Heroku, instead of having to change the pyx.properties file, you can do everything from their website:

  • Go to the Heroku dashboard, and select your app
  • Select the Settings tab and click on Reveal Config Vars
  • Add your configuration here using the same key names as in the configuration file (e.g. use pyx.server.max_users as KEY and 200 as VALUE)
  • Restart your app (select More near Open app on the top and click on Restart all dynos)
  • You're done!

Post game links and PYX discussions to share with other redditors! PYX is an online Cards Against Humanity Clone.

Build

Pretendyourexyzzy

To build this using Maven run mvn clean package, then execute java -jar target/PYX-jar-with-dependencies.jar. You can now edit the pyx.properties file to customize the server.

For GeoIP functions to work, download http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz somewhere, gunzip it, and update the geoip.db value in pyx.properties to point to it.

Server discovery API

Due to the recent unavailability of the main PYX servers I've implemented the server discovery feature. It allows any server to be discovered by the main API which will then provide a list of available servers for everyone to connect to them.

Pretend You're Xyzzy Card Packs

By default this feature is disabled. To enable it:

Pretend You're Xyzzy Servers

  • Find your pyx.properties file
  • Set pyx.server.discovery_enabled to true
  • Set pyx.server.discovery_address to your external IP address or domain
  • Set pyx.server.discovery_port to the external port+
  • (Optional) Set pyx.server.discovery_metrics to the metrics base URL
  • Open the necessary ports on your router/firewall
  • Deploy! In a few minutes, if your configuration is correct, your server will appear here.