Skip to content

Finishing a game

After the game, a game participant or a moderator records the result with the /game finish command, and the game becomes “Finished”. The bot saves the winner, the win type and the number of turns, and in FFA it also changes the players' rating.

Participants

  • Player — any game participant: after the game, records its result with the /game finish command.
  • Moderator — can finish any game on their server with the /game finish command, even if they didn't play in it.
  • Bot — checks the conditions, records the result, updates the game card in the thread and the list of recent games on the game panel, and in FFA changes the rating.

Steps

sequenceDiagram
    participant G as Player
    participant B as Bot
    G->>B: runs /game finish in the game thread
    alt someone has no nation
        B-->>G: replies “All players must pick their nations before finishing!”
    else the winner isn't playing in this game
        B-->>G: replies “The winner must be a player of this game.”
    else every player has a nation
        Note over B: the game becomes “Finished”
        B-->>G: updates the game card and removes the menus and buttons from it
        B-->>G: in FFA, shows the rating change next to each player
        B-->>G: replies “Done!”
    end
  1. Check that every player has a nation. A nation counts if it is picked. The icon next to the player's seat number on the game card shows that the nation is set. If there is no icon, pick a nation: in the “Choose who plays which nation” menu after a start with a draft, or in the “Nation Assignment” messages after a start without one. See Picking nations and swapping slots.
  2. Open the game thread. There the bot works out which game you're finishing. Above the game card there is a hint with the commands: click /game finish next to “«Finish game»”, and Discord puts the command into the message box. In another channel, give the game number in the game option: you can see it in the thread name, for example “248 — FFA 6 Patch”.
  3. Type the command. Fill in the three required options: winner, win_type and turns. Outside the thread, add a fourth, game. The section Command options explains what to enter in each.
  4. Send the command. The bot finishes the game right away and replies to you privately “Done!”.
  5. Check the game card. The card in the thread becomes “Finished” and gets a gold stripe. The section What changes after finishing describes what else changes on it.

Command options

Option What to enter When it's needed
winner The player of this game who won Always
win_type One win type from the list Always
turns Number of turns played, a whole number from 1 to 330 Always
game Game number Only outside the game thread

In the winner option, Discord suggests all members of the server: pick a player from the game card.

In the win_type option, Discord shows five types: “Touristic 🎨”, “Scientific 🧪”, “Diplomatic 🕊️”, “Militaristic 🗡️” and “Winner recognition 🤝”. You can pick only one type from the list; you can't type your own.

Example for a game thread: Orion won a science victory on turn 212.

/game finish winner:@Orion win_type:Scientific turns:212

Outside the thread, you record the same result with the game number:

/game finish winner:@Orion win_type:Scientific turns:212 game:248

What changes after finishing

The bot updates the game card in the thread:

  • the card header shows the state “Finished”, and the stripe turns gold;
  • under the header, 🥇 appears with the win type and 🏇 with the number of turns;
  • 🏆 appears next to the winner;
  • in FFA, each player has a rating change next to them, for example “+15” or “-10”, with the stars of their rank after the game below it;
  • in Duel, there is no rating change, and the players have the stars of their rank next to them;
  • the hint with the commands above the card, and the menus and the “Cancel game” button under it, disappear;
  • the Steam link disappears from the card.

If the game started without a draft, the bot deletes the “Nation Assignment” messages from the thread. The list of recent games on the game panel is updated too. See Game panel.

This works on a server that the CivBot site works with. The header of a finished game's card leads to its page on the site, and under the card there is a “Results on site” button. If no save is attached to the game yet, the bot sends the thread a “Keep this game's story” message once, with the text “Drop the save file (.Civ5Save) here: the site will show the game's charts and history.” and an “On site” button. See Save in the game thread.

If the server has a leaderboard, the new rating appears in it at the next hourly update. A finished game of any mode counts in the player's stats. See Leaderboard and Player stats.

Rules and exceptions

A game participant or a moderator can finish a game

Any player of this game can run the command, not only the winner or the game creator. A moderator finishes any game on their server, even if they didn't play in it. If you give the game option the number of a game you aren't playing in, and you aren't a moderator, the bot replies “You are not in this lobby.” See Players, moderators and admins.

You can finish only a game that is “In progress”

A gathering doesn't have a number yet, so you can't finish it: you cancel a gathering with the 🗑️ button on the gathering card. A finished or scrapped game can't be finished again. If you give the game option the number of such a game, the bot replies to the game participant or moderator “Can't do this command in current lobby state.” See Creating a game and gathering players and Scrapping a game.

Every player must have a nation before finishing

A player's nation counts if it is picked. On a server that the CivBot site works with, it also counts when it was read from a save attached to the game: Save in the game thread or Game saves on the site. While at least one player has no nation, the bot doesn't finish the game. It replies in your Discord language: a Ukrainian or Russian client gets the reply in that language, and any other language gets it in English: “All players must pick their nations before finishing!” See Picking nations and swapping slots.

Only a player of this game can be the winner

In the winner option, Discord suggests all members of the server, but only a player of this game can be the winner. Pick one from the players on the game card. If you name someone who isn't playing in this game, the bot replies privately in your Discord language: a Ukrainian or Russian client gets the reply in that language, and any other language gets it in English: “The winner must be a player of this game.” The game isn't finished.

Other players are not marked separately

The /game finish command records the winner, the win type and the number of turns. It has no options to mark which of the remaining players survived and which left the match earlier.

The result is recorded right away

In Discord's command list, /game finish has the description “Write results and send for confirmation”. There is no separate confirmation: the game becomes “Finished” right after the command. After that there is no “Cancel game” button, so you can't scrap a finished game.

Check the result before you send the command

The command finishes the game right away, and you can't change the winner, the win type or the number of turns afterwards. Check the options against the outcome of the game. See Command options.

Only FFA games change rating

After an FFA game is finished, the bot changes the rating of each of its players and shows the change on the game card. A Duel game records the winner, the win type and the number of turns, but doesn't change rating. See How rating is calculated and Ranks and stars.

You can finish on the site too

This works on a server that the CivBot site works with. A player of the game who is signed in to the site finishes the game with the “Finish the game” button on the game page. The result and the rating are the same as after /game finish, and the game card in the thread is updated. On the site, only a player of this game finishes: a moderator who doesn't play in it can only look there, and finishes in Discord with the command. See Finishing a game on the site.

Rating for a game changes only once

If someone else has already finished the game, in Discord or on the site, running the command again in its thread changes nothing. The bot replies “Game was already finished by another player or not found. Please refresh to see results.” The rating doesn't change a second time. If the game card looks outdated, refresh it with /game refresh.

On a server that the site works with, closing the game on the site can rewrite the rating changes, but only when a player substitution is confirmed: then the rating is calculated for those who actually played. Without confirmed substitutions, the rating stays as the bot recorded it. See Game page.

What can go wrong

  • The bot's reply disappeared before you read it. Only you see the replies to /game finish. The refusals “You are not in this lobby.”, “Can't do this command in current lobby state.” and “Game ID not found.” disappear after 20 s. Run the command again to see the reply again.
  • The bot says “All players must pick their nations before finishing!” One of the players has no nation picked, and the save doesn't show one: there is no nation icon next to their number on the game card. Pick the nation in the game thread or, on a server that the site works with, attach a save, and then run the command again.
  • The bot says “The winner must be a player of this game.” The winner option names someone who isn't playing in this game. Pick the winner from the players on the game card and run the command again.
  • The bot says “You are not in this lobby.” You aren't playing in the game with that number and you aren't a moderator. Check the number in the game thread name. If the number is right, ask one of its players or a moderator to finish the game.
  • The bot says “Can't do this command in current lobby state.” The game with that number isn't “In progress”: it has already been finished or scrapped, or there is no game with that number. Check the number in the game thread name.
  • The bot says “Game ID not found.” You ran the command in a channel, not in a thread, and without the game option. Run it in the game thread or give the game number.
  • The bot says “Specify game_id or call command from game thread”. You ran the command in a thread that doesn't belong to any game. Run it in the game thread or give the game number in the game option.
  • The bot says “Game was already finished by another player or not found. Please refresh to see results.” The game has already been finished. Finishing it again changes nothing, and the rating doesn't change a second time. If the card looks outdated, run /game refresh.
  • Discord doesn't accept the number of turns. The turns option takes only a whole number from 1 to 330.
  • The menus and buttons under the game card are gone. The game is finished: after that, nations are no longer changed, slots are no longer swapped, and the game can't be scrapped.

This page was translated with AI and checked against the bot's terms.