Brands
The Brands menu is gone. The game page is described on the Website page. The Builder has no
Brandsrow and no brand pages any more. A game’s own domain, colour, typeface and logo are set on the game itself, under Website in the game menu (Domain and Appearance); you no longer have to create a brand first. The game page domains you already had were moved onto their games’ website, and the old/brandsand/brand/...links open the game list (a domain link opens that game’s Website > Domain page). The brand records stay behind the scenes: the branded apps onplay.<your domain>andview.<your domain>work as before, but there is nothing to edit them with in the Builder for now. The sections below describe how it worked.
This page is about how you give your game a look and an address of its own: what you set on a brand, what DNS record the system asks you for, how it verifies the domain, and what a player ends up seeing of all this.
You used to reach your brands from the sidebar’s Brands row, details below. A brand is your own,
not an organisation’s: it needs no organisation and no group (in an organisation’s workspace the
sidebar had no Brands row), and making the game’s version playable does not need it either. It
came into play when you wanted to put a game out under your own name, on your own domain.
What a brand holds together
Two things:
- A look: one main colour (and the palette worked out from it), one typeface and one logo URL.
- Domains that you own. A brand can hold several domains, and each domain says separately what we use it for:
| Usage | What you get | Which address |
|---|---|---|
| Game page | the public showcase page of one chosen game | www.<your domain> |
| Applications | the controller and the display served from your domain | play.<your domain> and view.<your domain> |
The two are independent: you can switch both on on one domain, but either of them on its own as well. At least one is required.
⚠ A brand does not belong to a game, a domain does. You never assign the game itself to a brand: the connection is made by picking, at a domain, which game it should show. That has a consequence for the branded apps, see The branded applications.
The Brands page and the sidebar.
The sidebar’s Brands row leads to the Brands page. Its header reads Brands, with the subtitle
“How your games look to players outside GreenCloth.” Each brand of yours is a card with its name,
its slug and the number of its domains (2 domains), and clicking the card opens the brand’s page.
The New Brand button in the header asks for a new brand. If you have no brand yet, the page says
“No brands yet”, with the explanation under it (“A brand carries your colours, your font and your
domains, so your games can go out under your own name.”) and the same New Brand button.
Under the Brands row the sidebar lists your brands, one row each. The list is open by default,
the row’s arrow folds it up and out again, and the Builder remembers on this device how you left it.
The + beside the row asks for a new brand as well. The New Brand row stands in place of the list
only while you have no brand (and then there is no arrow either).
Which package it needs.
Any signed-in user can add a brand and a domain: the Builder asks for no package for this, and
it does not limit how many domains a brand can hold. The branded applications (play. and view.)
are not tied to a package right either. Only one thing depends on the package: the brand’s colours,
logo and typeface show on the branded game page only if the brand owner’s package
contains the Branded game page right (Pro and above: Pro, Ultra). The Publisher partner
package’s Branded app domain point is a matter of individual agreement, and the Builder does not
check it today.
Creating a brand
New Brand opens a modal (The screen): the Brands page’s button, the
sidebar’s +, and, while the list is empty, the New Brand row all lead here. The modal’s subtitle
is “A brand carries your colours, your font and your domains.” It has two required fields, and the
Cancel and Create Brand buttons at the bottom:
| Field | What to know about it |
|---|---|
| Name | This is the brand’s name everywhere: in the sidebar, on the Brands page, and it goes into the installed name of the branded apps too. Left empty: “Name is required”. It can be edited later |
| Slug | It is formed from the name by itself (lower case, digits, hyphens; under the field: “Lowercase letters, digits and hyphens only.”), and the moment you touch it, the automatic filling stops. Left empty: “Slug is required” |
⚠ The slug cannot be changed after creation, and on the brand’s page it only shows as a read-only field, with an explanation: “The slug is fixed once the brand exists.” Accept the value on offer.
If the creation does not succeed, the error appears at the Slug field: “That name or slug is already taken.” The interface cannot tell the causes apart, so this line can show up even when the name and the slug were free: in that case, try again.
After a successful creation you find yourself on the brand’s page at once. A new brand gets GreenCloth’s green to start with, with no logo and no typeface.
The brand’s page
The page is made of cards, and the whole of it saves with a single Save changes button. The button is only live if you have actually changed something.
| Card | What is on it |
|---|---|
| Brand | the Name, the read-only Slug, and the Font |
| Logo | the Logo URL and its preview beside it |
| Colour scheme | the Base colour, the Use GreenCloth default button, and the five named shades |
| Custom domains | the brand’s domains, each with a Verified or a Waiting for DNS tag, and the Add domain button |
| Live preview | a small sample page that follows your colours, your typeface and your logo as you type |
The header shows the brand’s name, with the subtitle under it (“How your games look to players outside GreenCloth.”). If there is at least one verified domain, the Open brand page button appears in the header as well (it prefers a domain serving the game page, and takes you to the domain’s front page); without one, only the explanation stands there: “A brand page opens once one of its domains is verified.” The Save changes button does not come alive with an empty name, either.
Delete Brand is in the ”…” menu, with a confirmation (“This will permanently delete the brand,
all domains, and brand settings. This cannot be undone.”, with the buttons Delete and
Cancel). ⚠ Deleting takes the brand and all of its domains, in one step, and cannot be undone;
afterwards you find yourself on the Games page. It does not touch the DNS records you set up at your
registrar: those survive, they simply lead nowhere any more.
Editing
There is no separate edit form: the brand’s page is the editor. You change the fields, and the header’s Save changes button saves the lot.
That is the whole of the look. A description, a website, a palette step of your own: there is no such field, not here and not anywhere else.
The main colour and the palette
You give one colour, and the whole palette is made from it. The card spells it out: “Pick a base colour. Everything else is worked out from it.”
Five named shades out of the ten show on the page:
| Label | What it is for |
|---|---|
| Lightest | the lightest background |
| Light | light surfaces |
| Action | the given colour itself, this is the accent |
| Surface | dark panels |
| Floor | the darkest background |
- The 500 step (Action) is the given colour itself, unchanged.
- The lightening row keeps the hue, fixes the lightness and gradually lowers the saturation, so that the light shades do not shout.
- The darkening row keeps the hue and the saturation, and multiplies the lightness.
Not one step can be overridden on its own. There is no palette editor: what you have is the one main colour. If a shade does not please you, the main colour has to be moved. The Use GreenCloth default button restores the original green at any time.
The editor gives two fields for the same value: a colour picker square and a text field. A six
digit hex code belongs in the text field, with a #, seven characters (#14522F); it does not let
you type more.
⚠ An incomplete hex code breaks the palette. If a half-finished value stays in the field (#14),
the reckoning does not stop and does not say anything either: meaningless codes and colourless
squares stand where the shades were, and Save changes saves the value all the same. If the shades
look odd, look at the hex code first.
Typeface
Font is a free text field (e.g. Poppins) that suggests a few common families as you type
(Poppins, Inter, Roboto, Nunito, Lato, Oswald, Raleway, Montserrat). You can type the name of any
Google Fonts family into it, and the system loads it under the name you
typed, at weights 400, 500, 600 and 700.
⚠ A mistyped name gives you no error. If the name does not exist at Google Fonts, nothing simply
loads and the default typeface stays, so you will only see the fault on the branded page. The name
does have to be made of letters, digits, spaces and hyphens only (up to 60 characters): anything else
cannot be saved. In the same way the colour must be a six-digit colour code (#14522F) and the logo
a full http or https link.
Where it takes effect: on the branded game page the whole page is set in this typeface (that needs the Pro package, see Which package it needs). In the branded apps the text-based interfaces (menus, panels, rules text) carry it, while the labels drawn on the canvas (for example the toolbar’s and the hand’s labels) do not.
Logo
The Logo URL is the full address of a finished image. There is no upload here: the Builder’s image library is per game, a brand has no file store, so you have to put the image somewhere else and enter its address.
Where it appears:
- On the brand’s page, on the Logo card and in the live preview. That is the only feedback on whether the address is good: if the image cannot load, the preview stays empty, and there is no error message.
- As the branded apps’ installed icon: on a
play.and aview.domain the system makes the PWA’s install icon out of this image.
⚠ This logo is not what appears in the branded game page’s header, the game’s own cover is, which you pick on the Details page. The brand’s logo and the game’s cover are two different things.
Adding a domain
The Add domain button on the brand’s page’s Custom domains card opens a modal, with the
subtitle “Point a domain you own at this brand.”
- Domain name: the domain on its own, without
www.andhttps://:mygame.com. On an invalid shape: “Please enter a valid domain name (e.g. mygame.com)”. - Usage: at least one is required, otherwise “Enable at least one usage.”
- Game page (switched on by default): “The domain points to your game landing page”. A dropdown of your games sits under it; you have to choose one, otherwise “Select a game for game routing.”
- Applications: “Controller and display apps for the game”.
- Add domain (Cancel closes the modal). After a successful addition you land on the domain’s own page straight away. An error shows at the bottom of the modal, in a red line.
The Builder does not limit how many domains can be added to a brand, and asks for no package for it, see Which package it needs. The domain is turned into lower case.
The domain is then in the Waiting for DNS state: the system has generated a verification token for it, and shows the DNS records to set.
The DNS records it asks for
While the domain is not verified, the DNS records for <domain> card stands on its page: “Add
the following DNS records at your registrar, then click Verify.” The records come in three blocks
(TXT record: ownership proof, CNAME: www game routing, CNAME: apps routing), only the ones the
switched-on usage needs. This is what it asks for:
| # | Type | Name | Value | TTL | When it is needed |
|---|---|---|---|---|---|
| 1 | TXT | _greencloth-verify | gc-verify=… (a separate token per domain) | 600 | always |
| 2 | CNAME | www | custom.greencloth.games | 600 | if Game page is switched on |
| 3 | CNAME | play and view | apps.greencloth.games | 600 | if Applications is switched on |
There is a copy icon beside every value. Under the short name stands the full name as well (“if the
full name is required:”, for example _greencloth-verify.mygame.com), because half of the
registrars expect the one and the other half the other.
⚠ There is no record in the list for the bare domain (mygame.com, without www.). The
interface only says: “Optionally redirect your root domain to www. This depends on your registrar or
hosting provider.” If the bare domain does reach us, we redirect it to the www. version, but
getting it to reach us at all is for you to sort out at your registrar (an ALIAS or ANAME record, or
domain forwarding).
⚠ After verification the card disappears. On a verified domain’s page nothing of the DNS records shows any more, the token included. Save it elsewhere before the verification if you need it.
Verification
The Verify button is at the bottom of the DNS card. Press it and it becomes Verifying…, and the
server makes a real DNS query: it reads the _greencloth-verify.<domain> TXT record and compares it
with the domain’s token.
- It succeeds → “Domain verified!”, the tag switches to
Verified, and the DNS card disappears. - It fails → a red error line appears under the button. If the server sent an explanation, that
shows; if not, only
Verification failed. Under it stands the most important handhold: “DNS changes may take up to 24 hours to propagate.”
⚠ The verification switches nothing on. Neither the branded game page nor the serving of the branded apps looks at whether the domain is verified: the moment the CNAME points where it should, the address works. The TXT record effectively sets a status flag, it does not open a gate. So if the site is already live but the domain stayed Waiting for DNS, everything still works, and the other way round: the Verified state on its own does not mean the CNAMEs are in place either. The Routing Status is what tells you that.
One thing the verification does switch, though: the Open brand page button only appears on the brand’s page if there is a verified domain.
Routing Status
The Routing Status card appears if at least one usage is switched on on the domain, and when the page opens it queries live whether the CNAMEs are in place:
| Row | When it shows | What it checks |
|---|---|---|
www.<domain> | Game page switched on | whether the www CNAME points at custom.greencloth.games |
play.<domain> | Applications switched on | whether the play CNAME points at apps.greencloth.games |
view.<domain> | Applications switched on | whether the view CNAME points at apps.greencloth.games |
Per row, Connected or Not connected. The address itself is a link and opens in a new tab: that is the quickest test.
⚠ A strict CNAME check. The query looks specifically for a CNAME record, and expects an exact
match. If your provider “flattens” the CNAME (ALIAS, ANAME, CNAME flattening, which is the default
for www in a lot of places), the row stays Not connected even though the page works
perfectly.
⚠ It does not refresh by itself. It queries the state when the page opens, and when you save the domain’s settings. Reload the page after a DNS change.
Changing and removing a domain
A domain’s page is made of three cards: Settings, Routing Status, and, while it is not verified, DNS records.
The Settings card has the same two switches and game chooser as adding it did. The header’s Save changes button saves.
This is the only place where you can change which game the domain shows: a dropdown, a save, done. There is no need to touch the DNS, the new game is live on the address at once.
Remove Domain is in the header’s ”…” menu, with a confirmation: “This will remove the domain
from your brand. DNS records will remain unchanged.” Cleaning up the records at your registrar is
your job.
What a player sees
The branded game page
At the www.<domain> address, a separate page, put together on the server, greets the visitor,
not the Builder and not the controller. What is on it:
- A header with the game’s title and the game’s own cover.
- The description and the details from the game’s details page: designer, player count, play time, minimum age, categories.
- A Play now! button.
- A Rules link, if the game has rules, to the
/rulessubpage. - A gallery, if the game has generated image sheets.
- A footer pointing at the GreenCloth Games site. That is always there on branded domains, and cannot be switched off.
Language: the page decides from the ?lang=hu or ?lang=en parameter, and without one from the
browser’s language, and it has a language switch on it. This is where your bilingual fields come in
useful, see Why two languages.
⚠ The Play now! button takes you to GreenCloth’s address, to play.greencloth.games, with the
game preselected, even when the Applications usage is switched on on the domain. The page never
links to your own play.<domain> address.
⚠ The content comes from the draft, not from a version. The page shows the game’s current draft’s details page and its published rules. What you change on the Details page is out on the public page within a minute of the autosave. For the same reason, the page does not depend on making it public either.
⚠ If Game page is not switched on on the domain, we redirect the visitor to the greencloth.games site; if it is switched on but the assigned game cannot be found, they get an error page.
⚠ The brand’s colours, logo and typeface show on the page only with a Pro package. The theme is let through by the brand owner’s Branded game page right (Pro and above: Pro, Ultra). Without it the page is up, but in the default GreenCloth look, without your colours, logo and typeface. The domain’s page says so too, under the Game page switch: “Not in your plan. The page shows without your colours, logo or font.” On the brand’s page the live preview always shows your own colours, regardless.
The branded applications
play.<domain> serves the controller, view.<domain> the display. They are the same two
applications, only from your address. What the brand actually changes about them:
- The installed application’s name and icon. The PWA install manifest is made per domain: its name is the brand’s name, its theme colour your main colour, its background the darkest shade, and its icon the logo URL, if you gave one.
- The display’s background takes on the brand’s dark shade (the Surface shade).
- A Powered by GreenCloth Games line appears at the bottom of the display.
- The controller’s game chooser narrows down to the games assigned to the brand.
- The typeface on the text-based interfaces. The menus, the panels and the rules text appear in the brand’s typeface, while the labels drawn on the canvas (the toolbar’s and the hand’s labels) stay in the default one.
- The colours on a few elements. In the controller only few elements take on the brand’s colour: the buttons and the input field of the dialogs (for example when the connection drops and when a party ends), a few panel cards, and the header of the tables in the rules text.
⚠ Beyond that the colours do not show. The game table, the bands and the toolbar stay the usual GreenCloth green, and on the display nothing but the background changes either. Do not promise a player a fully branded interface.
⚠ Filtering the game list gives an empty list today. The filtering works from the list of games
assigned to the brand, and such a list cannot be filled in anywhere in the Builder: there is no
interface for it on the brand’s page, at a domain or on the game’s details page. The list therefore
stays empty, and the filter filters down to nothing: at the branded play. address a player finds
not one game. While that is so, do not switch the Applications usage on on a domain you use
for real.
What the interface leaves unsaid
The page’s warnings in one place:
- The Slug is required, but it shows nowhere beyond the Brands page’s card and the brand’s page, and cannot be edited later.
- The palette is made from a single colour, and cannot be overridden step by step.
- The verification switches nothing on in the serving: the address works off the CNAME, not off the TXT record.
- Routing Status expects an exact CNAME match, and says “Not connected” on a flattened record even when the page works.
- After verification the DNS records disappear from the interface.
- The branded game page works from the draft, and does not depend on making it public.
- The Play now! button takes you to greencloth.games’s controller, not to your own
play.address. - On the branded game page the colour, the logo and the typeface show only with a Pro package.
- On the branded apps the colour hardly shows, and the typeface only on the text-based interfaces, and filtering the game list gives an empty list today.
- Deleting a brand takes all of its domains too, irreversibly.