This isn't a so great idea, but rewriting the old client is. See there for a glorified version of PYX.
This is a clone of ajanata/PretendYoureXyzzy, but better.
This version of the game server can run on every platform that supports Java. It uses Websockets to communicate.
All you need is a machine with Java installed and a copy of the cards database of PYX (can be found in the repo).
The server is command-line only. All you need to specify is the path of the cards database. To customize the settings look at the Config class. To run the packed JAR file:
java -jar pyx-server.jar --cards-db ./pyx.sqlite
By default the server will start on port 6969. To change it:
java -jar pyx-server.jar --cards-db ./pyx.sqlite --server-port 1234
The client can be run either in command-line mode or in GUI mode.
To start the client in command-line mode use the --console argument:
java -jar pyx-client.jar --console
The console mode is recommended for testing purposes only. The game is not playable on the console.
To play the game you would likely start the client in GUI mode. To do that you can execute the JAR like so:
java -jar pyx-client.jar
Once the client is started you'll be prompted to input a server address and a nickname. The server address will be something like this:
ws://localhost:9696/
Note the ws://, that's important as we are communicating over Websockets!
To login as an admin you need to know the admin code. The admin code is generated by the server every 60 seconds and it's outputted to the console. Admin has higher priority than a normal user therefore it can always login to the server (even if the server is full or if another user with the same username exists).