Startup Messages
Creating
Go to Operations → Startup Messages in the admin panel. Click New Startup Message to create a new message.
Fields
| Field | Description |
|---|---|
| Title | Required. Internal name, not visible to players. Choose something recognisable such as "Maintenance 22 March" or "Easter tournament announcement". |
| Start Time | Required. When the message becomes visible. Default: today 08:00. |
| End Time | Required. When the message expires. Default: day after tomorrow 23:00. Must be after the start time. |
| Can be dismissed | Whether players may dismiss the message. Default: on. See Dismissing. |
| Content | Required. The message text. See Editor for all formatting options. |
Scheduling
You can schedule messages ahead of time by lining them up consecutively. Once a message expires, the next one automatically becomes visible — no action required.
Example:
Message 1: 20 March 08:00 → 22 March 17:00 (ACTIVE)
Message 2: 22 March 17:00 → 25 March 17:00 (SCHEDULED)
Message 3: 25 March 17:00 → 28 March 17:00 (SCHEDULED)
On 22 March at 17:01, message 1 expires automatically and message 2 becomes visible.
Rules
Keep the following in mind when scheduling:
- Periods must not overlap — If message A runs until 22-03 23:00, message B can only start at or after that time.
- Messages are in chronological order — A new message cannot be scheduled before an existing one.
- Expired messages are final — An expired message cannot be reactivated. Simply create a new message instead.
Status
On the list page, each message shows a status badge:
| Status | Colour | Meaning |
|---|---|---|
| Active | Green | This message is currently visible to players |
| Scheduled | Orange | This message will become visible at the set start time |
| Expired | Grey | The end time has passed |
Dismissing
The Can be dismissed toggle in the form determines whether players may dismiss the message themselves:
- On — At the bottom of the message, the link "Click here to dismiss StepNews until there is a new message." appears. After clicking, the message is gone the next time the game client starts.
- Off — The message appears every time the game client starts, until the end time is reached. Useful for important notices such as maintenance or outages.
How it works
The system remembers per player up to which message they have "read". This does not work per individual message, but rather:
- Each message has an incrementing ID number (1, 2, 3, …).
- When a player dismisses message 5, the system stores: "this player has seen everything up to and including 5".
- All earlier messages (1 through 4) are therefore also considered read.
- The next message (6 or higher) will appear as normal.
Editor
The rich text editor offers the following formatting options:
- Text styles: bold, italic, underline
- Headings: Title (H1), Heading (H2), Subheading (H3)
- Alignment: align start, align center, align end
- Lists: bullet list and numbered list
- Tables and grid (grid layout, multiple columns)
- Links
- Attach files (images only: jpg, png, gif, webp — uploaded to the server)
- Horizontal rule (for the card layout, see below)
- Text color including the special colour "Notice" (see Notice)
- Clear formatting (removes formatting from selected text)
- Undo / Redo
Cards
A horizontal rule splits your message into visually separated cards — each with rounded corners and a white background.
Use the Horizontal rule button (━) in the toolbar to separate sections:
Welcome to StepBridge!
We have added a new tournament format this week.
Read more below.
--- (horizontal rule)
New: Matchpoint Pairs
Every Thursday at 20:00 you can join our
new matchpoint pairs tournament.
--- (horizontal rule)
Enjoy and good luck at the bridge table!
This produces three separate cards, each with a white background, rounded corners, a subtle border and spacing between them. Without horizontal rules, everything appears as one continuous block.
Grid
Want to place an image next to text? You can do this with the Grid (grid layout):
Click on the position where you want to insert the layout
Click the Grid button (‖) in the toolbar
A dialog opens.
Under Preset, choose "Two (End Third)"
This gives two columns: left 2/3 wide, right 1/3 wide.
Click Save
Two columns now appear in the editor.
Type your text in the left column
Add an image in the right column
Click Attach files in the toolbar. Drag an image to the upload area or click Browse to choose a file. Optionally fill in an Alt text and click Save.
All grid presets:
| Preset | Result |
|---|---|
| Two | Two equal columns (50/50) |
| Three | Three equal columns |
| Four | Four equal columns |
| Five | Five equal columns |
| Two (Start Third) | Left column 1/3, right column 2/3 |
| Two (End Third) | Left column 2/3, right column 1/3 |
| Two (Start Fourth) | Left column 1/4, right column 3/4 |
| Two (End Fourth) | Left column 3/4, right column 1/4 |
Notice
Via the Text color button in the toolbar, you will find the option "Notice (highlights card)" at the top. When you format text in this colour, the entire card containing that text gets a prominent yellow/beige background with a golden border.
Usage
The Notice colour is intended for information that truly needs to stand out, such as:
- Planned interruptions or maintenance
- Important changes
- Registration deadlines
Example
In the editor:
--- (horizontal rule)
⚠ Please note: next Thursday 27 March there will be
no evening tournament due to maintenance.
(this text formatted in Notice colour)
--- (horizontal rule)
The card with the Notice text stands out with a beige/yellow background, while the other cards remain white.
Placeholders
Below the editor there is a link "View available placeholders". These placeholders are automatically filled in when the message is shown to a player.
| Placeholder | What appears | Example |
|---|---|---|
%participationpoints% | The player's participation points | You have 142 participation points |
#S | ♠ (spades) | Play #S#H#R#K → Play ♠♥♦♣ |
#H | ♥ (hearts, red) | |
#D or #R | ♦ (diamonds, red) | #R is the Dutch alternative |
#C or #K | ♣ (clubs) | #K is the Dutch alternative |
The card symbols are displayed slightly larger than the surrounding text. Hearts (♥) and diamonds (♦) are red.
Example
Dear player, you currently have %participationpoints% participation points.
Tip of the week: with #SA #HQ #R8743 #CAQ, 3NT is the best contract.
Result
Dear player, you currently have 142 participation points.
Tip of the week: with ♠A ♥Q ♦8743 ♣AQ, 3NT is the best contract.
Preview
In the admin panel
When creating or editing a message, you will find two tabs above the editor:
- Content — the editor itself
- Preview — a live view of how the message looks in the game client
The preview shows the full card layout, Notice backgrounds and card symbols. Placeholders such as %participationpoints% are not filled in here (they differ per player).
In the game client
Want to see how the message truly looks for players? You can do this via the game client:
Open the message in the admin panel
Go to the detail page (not the editor).
Click "Copy preview URL" in the top right
A command is copied to your clipboard in the format: /req 42|https://...?sessionid=...&preview=5
Paste the command in the chat window of the game client
Press Enter. The game client shows the message in the WebView window, exactly as a player would see it.
In a preview, placeholders are filled in (with your own data). You can also view expired or scheduled messages — the preview is not limited to the active message.
Statistics
On the list page, statistics about the current active message are shown at the top. On the detail page of a message, you see two counts:
| Statistic | What it means |
|---|---|
| Pending | Number of active players who will (still) see the message the next time they start up |
| Hidden | Number of active players who have dismissed the message |
- For a new message, "Pending" is high and "Hidden" is low.
- As players dismiss the message, this shifts: "Pending" decreases and "Hidden" increases.
- If "Can be dismissed" is off, these numbers do not change through user actions — "Hidden" then only counts players who have already dismissed a later message.
