⚔️ AoE2 Twitch Overlay — Help & FAQ
Everything your overlay, chatbot, alerts, and taunts can do — and how to set it all up.
What this is
A complete, hosted streaming kit for Age of Empires II — sign in with Twitch and go live:
- Overlay — a transparent, themed layer for OBS/Streamlabs: webcam frame, alerts, taunt audio, a scrolling ticker, and live widgets (uptime, civ/ELO, goal bar).
- Alerts — real follow / sub / resub / gift-sub / bits / raid pop-ups, driven live from Twitch.
- Chatbot — AoE2 commands (ELO, civ, record…), AI Q&A, and the famous in-game taunts on demand.
- Dashboard — a control panel to change everything live, no restarts.
Quick start
- Connect with Twitch. Go to Studio and click Connect with Twitch. One click, and it’s read-only — we can never post, ban, or change your channel (details).
- Add the overlay to OBS. Studio shows your personal overlay URL — copy it into a Browser Source sized 1920×1080, and put your webcam UNDER it so the frame sits on top.
- Open your dashboard. Click “Open my dashboard” in Studio — it opens already connected to your overlay (the dot shows “Connected”). Nothing to paste.
- Add your AoE2 profile for live ELO and
!elo/!civ. In the dashboard’s Stream Info card, paste your AoE2 Profile ID and Save — see Finding your profile ID below. - Make it yours. Toggle features, set your ticker, pick a theme, choose alert sounds — every change hits your live overlay instantly.
demo=1 to your overlay URL to auto-cycle demo alerts, or focus the overlay and press keys 1–6 (follow / sub / bits / gift / raid / meme).wss://YOUR-RELAY.up.railway.app) and control token, then Reconnect. See the project README for deployment.Finding your AoE2 profile ID
Your profile ID powers the live civ/ELO widget and the !elo · !rank · !civ · !match · !record chat commands.
- Open aoe2insights.com (or aoe2companion.com).
- Search your in-game name and open your profile page.
- The number in the URL is your profile ID — e.g.
aoe2insights.com/user/8656078→ your ID is 8656078. - Paste it into the dashboard’s Stream Info → AoE2 Profile ID and click Save profile.
!elo replies “no AoE2 profile set,” the ID is missing; if stats come back empty, you may simply have no ranked games yet this season.The Dashboard, card by card
| Card | What it does |
|---|---|
| Connection | Auto-filled when you open the dashboard from Studio (the dot shows “Connected”). Self-hosters paste their own relay URL + control token here. Either way, copy the ready-made overlay URL for OBS from this card. |
| Features | Toggle each overlay element (cam, ticker, uptime, civ/ELO, goal, memes, alert sounds, TTS) and pick a theme. |
| Ticker | Your own scrolling messages (one per line — socials, MOTD, schedule) + a toggle to also include the live AoE2 tips/memes feed. |
| Bot — Taunts | Enable taunt audio, set the global and per-user cooldowns, and test any taunt number. |
| Bot — Auto-Announce | Periodically remind chat that commands exist; customize the !commands text and the reminder wording. |
| Trigger / Test | Fire any alert (or a meme) onto the overlay to check positioning and sound. |
| Alert Sounds | Per-alert sound: built-in chime, a preset, a pasted URL, or an uploaded clip. Preview before going live. |
| Stream Info | Cam label, manual civ/ELO, and the goal bar (label / target / progress). |
All settings persist — they survive restarts and redeploys.
Chat commands
| Command | What it does |
|---|---|
!commands | Lists the available commands (you can customize this text). Aliases: !help · !cmds. |
!elo / !rank | Current 1v1 + team ladder rating and rank. |
!civ | Civ + map from your most recent match. |
!match | Last match result vs opponent (with rating change). |
!record | Today’s win–loss record. |
!uptime | How long you’ve been live. |
!wololo · !villager · !fortune | Fun AoE2 quotes & one-liners (!fortune alias: !cookie). |
!meme | Pops a trending meme image on the overlay. |
!ask <question> | AI answer (AoE2 strategy, banter) — Pro feature. |
!1…!42 | Play that AoE2 taunt’s audio on stream (see below). |
AoE2 taunts
Viewers type a taunt number — !11 (the laugh), !30 (Wololo!),!42 (“what age are you in?”) — and the real game audio plays on stream, with a little on-screen badge. The full classic set is 1–42.
- Cooldowns stop spam: a global gap between any taunt, and a per-user gap per viewer. Set both in the dashboard (0 = no limit).
- Audio files live in
public/taunts/<n>.mp3. If a file is missing, the overlay speaks the taunt instead, so it always works.
Channel-point taunts (optional)
Instead of (or alongside) free chat taunts, viewers can spend Channel Points. Create a custom reward with “require viewer to enter text,” and they type the taunt number to play it (blank → random). Twitch’s own reward settings then handle cost, cooldown, and per-user limits. Requires Twitch Affiliate (Channel Points must be enabled on your channel).
Security & privacy
Your Twitch connection is read-only. We only ask to read follows, subs, bits and channel points so we can show alerts — we can never post as you, change your channel, or ban anyone. Your tokens are encrypted at rest, and you can disconnect & delete your data anytime from Studio. Full details on the Privacy page.
Studio gives you two keys: your overlay key (in the OBS URL) is read-only and safe to show on stream; your control key (in the dashboard link) is what changes things — treat it like a password:
- Never put your control key in the OBS URL or show it on stream.
- Anyone with your control key can control your overlay — keep the dashboard link private.
- All API keys and Twitch tokens stay on the server, never in the browser. Don’t paste them into chat or screenshots.
FAQ / troubleshooting
I hear no sound when testing in a browser tab
Browsers block audio until you interact with the page. Click anywhere on the overlay (you’ll see a red “🔇 Click to enable sound” badge) and audio works for the session. In OBS/Streamlabs this is automatic — no click needed.
The dashboard “Test” buttons do nothing
Check the Connection dot says “Connected.” If it’s red, your relay URL or control token is wrong — paste the correct wss://…railway.app URL and token, then Reconnect.
The bot isn’t responding in chat
The aoebott account joins your channel automatically after you connect in Studio — there’s nothing to install. If it’s quiet: make sure you finished the Twitch connect in Studio, that you’re actually live, and that taunts/commands are enabled in your dashboard. Stats commands (!elo etc.) also need your AoE2 Profile ID set. A brand-new channel can take a minute to be picked up.
!44 (or higher) does nothing
Taunts only go up to 42. Also, if you fire several quickly, the per-user cooldown silently ignores the extras — that’s the anti-spam working.
!elo / !civ come back empty
Your AoE2 Profile ID is missing or wrong, or you have no ranked games yet. Set it in the dashboard’s Stream Info card — see Finding your AoE2 profile ID above.
Alerts aren’t firing
Real alerts need the broadcaster’s EventSub connection to be authorized (the server logs “subscriptions active”). Follows also require the right scope. You can always verify the look with the dashboard’s Test buttons or ?demo=1.
Do I need to keep my PC on?
No. The overlay and bot run in the cloud 24/7, independent of your computer.
Overlay URL options
| Option | Effect |
|---|---|
?demo=1 | auto-cycle demo alerts |
?cam=0 | hide the webcam frame |
?ticker=0 | hide the ticker |
?uptime=0 | hide the uptime timer |
?sound=0 | mute alert sounds |
?tts=1 | speak alerts aloud |
?name=YourName | cam banner label |
?theme=ember | theme (medieval / midnight / ember / forest / neon) |
Need the deployment/setup guide (env vars, hosting)? See the project README.