# racked.ru — In-Game Brand Design

**Last updated:** 2026-05-01
**Scope:** every player-facing string the Minecraft server emits — chat, MOTD, kick screens, /help, tablist, broadcasts.

This document is the canonical reference for in-game text styling. Pair with `MISSION.md` (mission-mode copy) and `THANKS.md` (third-party attributions). For surface-by-surface rewrite history see `docs/REBRAND_2026-04-30.md`.

---

## 1. Palette

Five legacy `&` codes only. Anything outside this set is banned.

| Code | Hex | Use |
|---|---|---|
| `&f` | `#FFFFFF` | primary text, brand wordmark, key values |
| `&7` | `#AAAAAA` | body / descriptive text |
| `&8` | `#555555` | brackets, dividers `&8------------------------------------` |
| `&e` | `#FFFF55` | interactive tokens **only**: command names, player names, URLs, placeholders (`%player%`, `{PLAYER}`) |
| `&r` | reset | end every styled segment to prevent colour bleed |

**Hard-error escape:** `&c` light red — for catastrophic states only (auth failure, kick reason, ban, whitelist deny). Sparingly. Anything that's "wrong, try again" should be `&7` body + the relevant token in `&e`, not `&c`.

**Banned codes:** `&0 &1 &2 &3 &4 &5 &9 &a &b &d &l &o &m &k`. Replace any of these with the equivalent from the palette.

**Style modifiers:**
- `&n` underline — only on `/help` section titles, never on body text or links.
- `&o` italic — single exception preserved for the `выживание` Russian flavour subtitle in MiniMOTD line 2. Don't introduce elsewhere.
- `&l` bold, `&m` strikethrough, `&k` obfuscated — never.

MiniMessage equivalents (used by ComfyWhitelist, GrimAC, MarriageMaster, etc.): `<white>`, `<gray>`, `<dark_gray>`, `<yellow>`, `<red>`, `<reset>`. Same palette rules apply.

---

## 2. Wordmark

Four written forms, each scoped to a specific surface:

1. **Bracketed prefix** (chat) — `&8[&fracked.ru&8]&r ` (note trailing space, then `&7` body). Universal per-line prefix for all plugin chat output.
2. **Pipe form** (window titles, display names) — `racked.ru | <surface>`. Examples: `racked.ru | client`, `racked.ru | launcher`.
3. **Hero form** (MOTD line 1, TAB footer, banners) — `ʀ ᴀ ᴄ ᴋ ᴇ ᴅ . ʀ ᴜ` (small-caps unicode glyphs, single space between each).
4. **Plain form** (inside body sentences) — `racked.ru` (lowercase, no spaces).

Casing rule: brand is **always lowercase**. The small-caps unicode hero is visually larger but semantically lowercase.

---

## 3. Tagline

Canonical, in current use:

> **`experience the game the way it should have always been`**

- All-lowercase. No closing punctuation.
- Em-dash separator from the brand when paired: `racked.ru — experience the game the way it should have always been`.
- Used in `server.properties` (`motd=`), `docker-compose.yml`, MISSION.md, README.md.

Mission-mode quote (separate from tagline, ToS / About surfaces only):

> *all software should be free and open-source* — racked.ru

Not for in-chat use. Don't lecture players in chat.

---

## 4. Tone

- **Pragmatic-not-preachy.** Privacy + perf claims only. No FOSS speeches in chat.
- **Short sentences, declarative.** "Pick a username, play offline." "You don't have to trust me — read the source."
- **No exclamation marks.** Strip every `!` from upstream defaults. Exclamation reads as upstream-template noise, not brand voice.
- **Lowercase body** where it reads naturally. Sentence case acceptable for longer prose.
- **No emojis.** No ASCII art beyond the canonical divider.
- **Period punctuation** for full sentences. Many short messages can drop the trailing period.
- **English primary.** Russian (`выживание`) is a single italic-yellow flavour token in MiniMOTD — never a localisation channel for the rest of the server. Server is EN-only.

---

## 5. Templates

Drop-in shapes for new strings. Match these exactly.

```
# Standard info line
&8[&fracked.ru&8]&r &7<message>

# Info with command reference
&8[&fracked.ru&8]&r &7<verb> &e/<cmd>

# Info with player reference
&8[&fracked.ru&8]&r &7<verb> &e<player>

# Hard error (rare)
&8[&fracked.ru&8]&r &cerror: &7<reason>

# Section header (paginated /help, /rules)
&8[&fracked.ru&8]&r
&8------------------------------------
&r&n<Section title>&r

# Status row (tablist-style)
&7<sᴍᴀʟʟ-ᴄᴀᴘ ʟᴀʙᴇʟ>: &f<value>

# Multi-line kick screen
[racked.ru]

<reason>

<recovery action> at racked.ru
```

The 36-dash divider is `&8------------------------------------` — exactly 36 dashes. Don't shorten or pad.

---

## 6. Surface map

| Surface | File on server | Brand element |
|---|---|---|
| Server-list MOTD | `MiniMOTD/main.conf` | hero wordmark + Russian flavour subtitle |
| `motd=` | `server.properties` | plain wordmark + tagline |
| Per-join chat | `Essentials/motd.txt` | branded prefix + `/help` hint |
| Post-auth confirmation | `AuthMe/welcome.txt` | branded prefix + `&e{PLAYER}` |
| Login/register flow | `AuthMe/messages/messages_en.yml` | branded prefix on every key |
| `/help` pages | `HelpCommand/config.yml` | header + 36-dash dividers + monochrome page |
| Whitelist kick | `ComfyWhitelist/locales/messages_en.yml` | multi-line `apply at racked.ru` screen |
| Anti-cheat alerts | `GrimAC/messages.yml` | branded prefix; hard kicks keep `&c` |
| Tab list | `TAB/config.yml` | small-caps footer wordmark + status rows |
| Block-log output | `CoreProtect/language.yml` | branded prefix on every line |
| Marriage chat | `MarriageMaster/lang/en.yml` | branded prefix on tellraw blocks |
| Skin change | `SkinsRestorer/config.yml` (custom help) | branded prefix |
| Land claim | `Homestead/config.yml`, `Lands/Language/*` | prefix on broadcasts (Lands lang deferred) |
| Global chat | `LPC/config.yml` | `chat-format: {suffix}{prefix}&f{name}&r &8> &7{message}` |
| Limbo entry | `AuthLimbo/config.yml` | already on-brand (custom plugin) |

---

## 7. Plugin-name leaks — banned

Every upstream plugin tag is replaced with the canonical chat prefix:

| Banned | Replace with |
|---|---|
| `[Lands]`, `[Homestead]`, `[SkinsRestorer]`, `[TAB]`, `[ProAntiTab]`, `[PAT]`, `Grim »`, `[VoiceChat]`, `[Multiverse-Core]`, `[WorldEdit]`, `[MarriageMaster]`, `[LPC]`, `[PhantomSMP]`, `[Essentials]`, `[CoreProtect]`, `[CO]`, `[Vault]`, `AuthMe`, `AuthMeReloaded` | `&8[&fracked.ru&8]&r ` |

Strip "Join our Discord", "Visit our website" lines that link to upstream plugin authors. Never link to the plugin author's domain.

---

## 8. Colour-code reference card

| Code | Sample | Allowed in chat? |
|---|---|---|
| `&f` | white | ✓ primary |
| `&7` | grey | ✓ body |
| `&8` | dark grey | ✓ structure |
| `&e` | yellow | ✓ tokens only |
| `&r` | reset | ✓ always close styled segments |
| `&c` | red | ⚠ hard errors only |
| `&n` | underline | ⚠ /help titles only |
| `&o` | italic | ⚠ Russian flavour token only |
| any other | — | ✗ banned |

---

## 9. Validation

Before shipping a string:

1. Does it start with `&8[&fracked.ru&8]&r ` (chat) or use a documented form (MOTD, kick, /help header)?
2. Are colour codes inside the 5+1 allowed set?
3. Is body lowercase and exclamation-free?
4. Are commands / player names / URLs in `&e`?
5. Does the file still parse as valid YAML/HOCON/JSON? (Quote `&`-prefixed strings: `'&7text'`.)
6. Are placeholders preserved verbatim (`%player%`, `{PLAYER}`, `<player>`)?

If yes to all — ship.

---

## 10. Out of scope (deferred)

These surfaces remain on upstream defaults pending a future pass:

- **Lands** `Language/en-US.yml` (~6,975 lines). Body text rebrand deferred; broadcast prefixes in `config.yml` are already branded.
- **Homestead** `languages/en-US.yml` (~645 lines). Same posture as Lands.
- **Jar-locale extraction** for plugins where chat output is shipped inside the JAR (no on-disk lang file): SkinsRestorer (`locale_en.json`), Multiverse-Core (`en.properties`), WorldEdit / FAWE (`strings.json`), LuckPerms (`lp_en.properties`). Admin/builder-facing surfaces, low priority.
- **GrimAC** `database.yml`, `discord.yml`, `punishments.yml` — secondary message files not yet touched.

When picking these up: same palette, same prefix, same templates. No new design decisions required.
