Skip to content

User manual

Jakub Pelc edited this page Jun 16, 2023 · 2 revisions

Starting from IntelliJ

Starting the server

When you want to start the server, you will need to run the Start class with command line arguments -type=server, then you can optionally select a server port with -port=1515. If the port is not a number, it defaults to 1515.

The Logging level can be changed by adding command line argument -Djava.util.logging.ConsoleHandler.level=SEVERE.

Starting the client

If you want to start the client, run the class Start with no command line arguments.

Starting from standalone .jar file

Building .jar

The .jar file can be built by running mvn clean package

Starting the server

run java -jar CodeNames.jar -type=server <-port=1515>

Starting the client

run java -jar CodeNames.jar, or double click to open it

Connecting

Hosting

To host the game, you will need a public server IP adress, on which the other players can join. You can do so by running the app as a server, and then sharing your public IP adress with the other players. When hosting your local server, the IP adress in the server IP is your loopback adress (127.0.0.1). The port you can select yourself or let it default to 1515.

Public server will be running on vps.swpelc.eu, the info about the running instance is provided on http://vps.swpelc.eu/codenames

Joining

You can join to hosted session by entering a server IP adress and the clicking the join button. If the server is not running, you will get an error box saying so. If it is running, you will get a list of active session on the server.

Game controls

Lobby

  • The host has access to buttons "start game", "load game" and "load deck" (for functionalities see below).
  • All players can choose a team and role in the game.
  • The game can only start if there are at least 1 spymaster and 1 field operative leader in each team (min. number of players is 4).
  • Everyone has access to and the ability to write messages in the public chat.

Gameplay

  • Spymasters see the key of the game and try to help their team by entering phrases into the commit prompt field and how many cards their team should/can reveal. The commit prompt button sends the entered data to all field operatives. They also lose the ability to write messages into the chat, but can still see the chat.
  • The field operative leader has access to choice buttons, that, when clicked, represent the team's decision. if correct they can continue guessing until the number of cards committed by the spymaster reaches 0, or they reveal any other card that is not their color.
  • The turn is passed from spymaster to team.
  • The starting team always has one more card to reveal (starting: 9 cards, second: 8 cards).

End of game

  • The game ends when one team reveals all of their cards or one team uncovers the assassin.
  • All actions are frozen but everyone gains access to sending messages to the chat.
  • To exit simply close the window.

Saving the game

  • Everyone has access to the save game button. This saves the current game progress to a .cdn file, that can be later loaded by the host of a lobby.

Loading

  • As host, you can load a previously saved game from a .cdn file. You just need to meet the minimal requirements to start the game.

Custom deck

  • As host, you can load a .dck file and start the game with a custom deck. You can make your custom deck by writing custom codenames in the format of 1 word per new line in a .txt file and then renaming it to a .dck file.

Unexpected disconnecting

  • if someone disconnects unexpectedly, similarly to the game end, all actions are frozen except chat and save game. The only way to continue the game is to save it and then load it in a new session.