Skip to content

Commit f9d7db6

Browse files
committed
Update README
1 parent de7869a commit f9d7db6

1 file changed

Lines changed: 13 additions & 7 deletions

File tree

README.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,22 @@ Basic Python skills are sufficient to implement clients or add new games to the
3030

3131
### Quick start
3232

33-
To try this project on your machine, start the server (`server/game_server.py`), then run two clients (`client/tictactoe_client.py`) in separate shells. The only requirement is a regular Python installation.
33+
To try this project on your machine
34+
35+
1. start the server (`server/game_server.py`)
36+
2. then run two clients (`client/tictactoe_client.py`) in separate shells
37+
38+
The only requirement is a regular Python installation.
3439

3540
### About this project
3641

3742
This server was developed for use in a university programming course, where students learn Python as their first programming language and work on projects in small groups. Both the framework and the API are designed so that the programming skills acquired during the first term are sufficient to implement new games and clients. However, the use of the server is not limited to educational scenarios.
3843

3944
## Operating the server
4045

41-
To run the server in a network, edit IP and port in the configuration file (`server/config.py`). TLS can also be enabled there. If you intend to run the server as a systemd service, you can use the provided unit file. Server and API are implemented in plain Python. Only modules from the standard library are used. This makes the server easy to handle.
46+
To run the server in a network, edit IP and port in the configuration file (`server/config.py`). TLS along with other settings can also be configured there. If you intend to run the server as a systemd service, you can use the provided unit file. Server and API are implemented in plain Python. Only modules from the standard library are used. This makes the server easy to handle.
47+
48+
Learn more in the [Wiki](https://github.com/feberts/python-game-server/wiki).
4249

4350
## Implementing clients
4451

@@ -56,16 +63,16 @@ Here is a short demo of the API usage:
5663
```py
5764
from game_server_api import GameServerAPI
5865

59-
game = GameServerAPI(server='127.0.0.1', port=4711, game='Yahtzee', players=2,
66+
game = GameServerAPI(server='127.0.0.1', port=4711, game='TicTacToe', players=2,
6067
session='mygame') # pass 'auto' to auto-join a session (default)
6168

6269
my_id = game.join() # start/join a session - each client is assigned an ID
6370
game.move(position=5) # perform a move - the function accepts keyword arguments (**kwargs)
6471
state = game.state() # returns a dictionary representing the game state, including
65-
# the ID of the current player(s)
72+
# the ID(s) of the current player(s)
6673
```
6774

68-
The [API module](client/game_server_api.py) itself is documented in detail. You can also take a look at the demo clients and the [wiki](https://github.com/feberts/python-game-server/wiki).
75+
The [API module](client/game_server_api.py) itself is documented in detail. You should also take a look at the demo clients and the [Wiki](https://github.com/feberts/python-game-server/wiki).
6976

7077
## Adding new games
7178

@@ -86,11 +93,10 @@ An observer will receive the same data as the observed player does when retrievi
8693

8794
- The observer mode can be used to split up the work in a team. One client could be implemented for the user interaction and another one to display the game board.
8895
- In a similar way, it can be used as a substitute for multithreading, which is usually not taught in a beginner programming course. Suppose you want to implement a chat client that displays incoming messages continuously while allowing the user to write a new message at the same time. To achieve this, two threads of execution could be used. Alternatively, the observer mode can be used to implement separate clients for input and output.
89-
- It could also be used to visualize the performance of a reinforcement learning agent.
9096

9197
## Contributing
9298

93-
Contributions are welcome. Feel free to create a pull request or open an issue.
99+
Contributions are welcome. Feel free to create a pull request, open an issue or use the Discussions section.
94100

95101
## License
96102

0 commit comments

Comments
 (0)