Colossus - Web Client

Note: this document was not updated since e.g. the scheduled games feature was added (now instant and scheduled games are both on "Create" tab and there is a tab for running games...). So some aspects of this document are outdated!!
Still it should give you a general idea how to use the webclient...


This document describes how to use the Colossus WebClient. The functionality is part of the normal Colossus application.


Someone might consider the terms "WebClient" and "WebServer" misleading. They are a plain Java Server/Client application, nothing related to Applets, Servlets, HTTP etc. at all.

We just couldn't come up with a nice catchy term which would describe all aspects properly and still be handy and short... - you may read it as "There's a server somewhere in the web ( = Internet) where I can find other Colossus players, and the WebClient is the interface to connect to it".

Using the WebClient

The WebClient is integrated into the normal Colossus application. It can be brought up via the button Run Web Client in the "Game Setup" ( dialog, or directly with a commandline option, e.g.:
  run -w
In the dialog, it forms now together with the Run Network Client a new row of buttons (2nd last row) and the last row is only three buttons (New Game, Load Game and Quit) instead of four as before.

(We could put NetClient and WebClient as buttons 3 and 4 in last row and remove the Quit button totally - one can Quit by closing the GetPlayers dialog with the close window "x" in upper right corner... - but this way it is more obvious how to Quit.)

Clicking that Run Web Client button brings up the WebClient window, on which are four tabs:

Usually the game will start on the Login tab, but that can be changed (see below).

"Login" tab

First fill in server name or address into the "Web Server" field (and possibly the port, if it differs).

Quick Update: We have now a public server. Server field must be and as port should be 26766. Those are also set as defaults if you never used this dialog before.

On first use, a user would usually use the "Register" button to create in a small additional window a login (username and password and email address. Every time you open the Register dialog, Server will send a confirmation code to that address and ask you for it; type it in as you get it in the mail (three two-digit numbers with spaces in between, e.g. 23 53 23 ).

NOTE: As address to where the register request is sent it will use the server and port settings from the "main" WebClient window.

After filling in the data, click Register in that small register window. On success, you are back to the Login pane. Click Login to actually connect and log in to the server now.

After that, you can change to the Instant Games tab. Note that on the Server tab are checkboxes for Auto-login on start and After login Game pane.

The first does as it says - whenever you start the web client, it will automatically login with the login name you have last used for the web client; it stores both login and password in a webclient specific config file.

The other checkbox: if enabled, when login succeeds successfully, it immediately changed you to the Instant Games tab.

"Instant Games" tab

In the Instant Games tab, you can see if some other player has proposed a game.

If there is no proposed game interesting for you, you can propose one by yourself - it will be proposed with the settings which are currently set in your Game preferences section. Make there the settings according to your interests, and press the Propose button. And wait whether someone else enrolls ;-)
If nobody enrolls, you can unenroll and cancel it, and logout... :-(

Or if someone has proposed a game (and it has not started yet), it is shown in the Proposed Games list.

If one of the games in the proposed games list looks suitable to you, click onto it to select it, and then you can press the Enroll button.

Note: when you are enrolled, you cannot do much else any more - at least not propose one or enroll to other games!

When the minimum number of players is enrolled, the Start button becomes active. Players can then wait some longer, if more players join (perhaps someone else in chat still asking, clarifiying things etc., so you know one will come?)

Anyway, when one player presses the Start button, the WebServer will start the game, and notify the WebClient, and after a few seconds the MasterBoard should come up like a normal network client. Just some less hassle :)

When the board comes up, you can leave the web client open, for example for chatting; one day, I would like to have "game-specific" chats, too. For example, game with GameId #23 starts, then the involved players would have a Chat #23 tab, and could discuss there matters relevant only for this specific game. Well, one day...

You can hide (Hide button in the bottom of Instant Games tab) or close the web client (with the small "x" button in upper right corner), or you could have set it in the bottom of the Instant Games tab to do one of "Nothing", "Hide" or "Close" automatically when game starts.

When game is over, the Server/Game run on WebServer will do AutoQuit, so your Game Client will get a "Game over - socket closed" or something like that; if WebClient was only hidden, it will come back automatically upon closing the MasterBoard, otherwise it will prompt you whether to restore it - or otherwise all windows are closed and the Java Virtual Machine will be terminated.

"Scheduled Games" tab

This is meant to be one day, that someone can propose a game, e.g. like: next saturday evening, 20:00 [WebClient will convert it to your timezone, of course], I would like to play a game with 2-4 players, Abyssal6, Viewmode "all public" and Expire setting "Never".

Similar to Instant Games, players can enroll; and at that given time, when all enrolled players are logged in (or, if someone is missing, perhaps after some time anyway), the game can start.

Details to be clarified for this... Update: implemented, now in same tab as instant games.
TODO: update docs...

"Chat" tab

There is some simple chat functionality. The idea is, that people can agree/ask here, whether someone else is currently online, interested in a game (or what kind of game), etc.

Even if you login and nobody else is currently there, the server always keeps the last (currently) 50 messages in memory, and sends them to a newly logged in user. This way you can see, when the last time someone else had posted/asked something in chat, or perhaps left a note "I'll be back in ten minutes" or "... back at <some time>".

At some point, I would rather/additionally like to have a kind of pinboard where someone can post somewhat longer messages, and they are kept for example for one week or something, and, of course, the Scheduled Games functionality.

But for now, I hope this is better than nothing...

Chat and Modal dialogs

Please note, that all of the windows run in the same Java; and modal dialogs (such as dialog boxes waiting for clicking some OK or Cancel or something) block all other windows.

This means, that e.g. if there is a modal dialog like for making a proposal to resolve a battle (instead of flee, concede or fight), you can't use the chat window to discuss/agree it. That's inconvenient, but this limitation is caused by how Java's modal windows operate.

If you really want to be able to use the chat all the time, Logout and Close (with the window upper right corner cross symbol) the WeblClient from which you started the game (but do not press Quit button!); and start a totally new Java instance of Colossus (i.e. Web Start or Commandline) and start another, independent WebClient there. Since that is a different Java Virtual Machine, the modality of the windows in the running game does not effect the behavior of the WebClient.

Created October 2007.
Last updated friday, January 4, 2008 by Clemens Katzer Quickly done some most urgent updates January 22, 2010 by Clemens Katzer