Skip to content

A web clone of the card game Cards Against Humanity.

License

Notifications You must be signed in to change notification settings

devgianlu/PretendYoureXyzzy

 
 

Repository files navigation

Pretend You're Xyzzy

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

Get it on Google Play

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!

Deploy

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!

Build

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.

By default this feature is disabled. To enable it:

  • 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.

Languages

  • Java 63.1%
  • JavaScript 30.8%
  • HTML 3.0%
  • Go 1.8%
  • CSS 1.3%
  • Dockerfile 0.0%