Pubnix word guessing game
Find a file
2024-01-07 21:24:51 -05:00
.gitignore Initial draft 2024-01-05 22:30:58 -05:00
client.py Code cleanup 2024-01-05 23:42:44 -05:00
leaderboard.py Fixed none issue 2024-01-06 13:58:11 -05:00
pubnix.py Using asdict instead of __dict__ 2024-01-07 21:24:51 -05:00
readme.md Systemd user service added 2024-01-07 18:48:13 -05:00
server.py Fixed authentication issues 2024-01-06 13:58:48 -05:00
wordguess.py Made paths relative to game server folder 2024-01-06 13:58:29 -05:00
wordguess.service Systemd user service added 2024-01-07 18:48:13 -05:00
words.txt Initial draft 2024-01-05 22:30:58 -05:00

WordGuess

Daily pubnix game where you guess the word of the day. Compare your word chops with other people on the same server!

Server

Make sure that the WordGuess folder is accessible to other users.

This means that if the code lives in /home/wg/WordGuess then the executable permission must be given to /home/wg.

chmod o+x /home/wg

The server code will adjust the permissions of all the other files to circumvent cheating.

To run the server

python server.py

You should see an output such as

Successfully loaded game state
Seed:  701625
Started server at /home/wg/WordGuess/game.sock

Don't share the seed with anyone! Otherwise they can figure out the word for all future days.

You can reset the seed and all game state by removing the file state.pickle.

A systemd service file is provided under wordguess.service in order to provide another way to run the server.

Copy wordguess.service to ~/.config/systemd/user and then enable and start the service with:

systemctl --user enable --now wordguess

To start on boot-up, your user needs to have Linger enabled. If you have root access, you can run:

sudo loginctl enable-linger $USER

Players

Players can play the game by running the client.py python script. If the game lives under /home/wg/WordGuess then the command will be

python /home/wg/WordGuess/client.py

After playing the game, the server will record the users high score. They can see the leaderboard by running

python /home/wg/WordGuess/leaderboard.py

You can also pass a date with --date.

Notes

Word list from Morgenstern2573/wordle_clone on GitHub.