Help & FAQ

Everything MarkSoft does โ€” Twitch, Kick, Discord, YouTube, the music player, the puzzle game, the MMORPG, fishing, AI, TTS overlays and more โ€” explained in one place.

Filter

Getting started

MarkSoft is an all-in-one community + creator platform that lives across Twitch, Kick, Discord and YouTube Live. Streamers run their channel through it. Viewers chat, play games, fish, beat puzzles and listen to music โ€” all under one identity that follows them everywhere.

Pick your starting point

Is it free?

The core platform is free: sign-in, chat commands, fish basic gameplay, music browsing, puzzle play, AI per channel up to a fair-use limit, alerts, and the dashboard. Pro / Max+ / Ultra tiers unlock extra AI volume, premium TTS voices, custom personas, white-label overlays and more โ€” billed via Revolut, cancel any time.

Sign in now Read the about page

Platforms โ€” what works where

Twitch

Verified bot via Twitch EventSub โ€” that's the badge in chat plus higher rate limits. We hybrid-route between EventSub and IRC, so a Twitch outage on either path doesn't take you down.

  • Chat commands, AI replies, watchtime tracking, clips (!clip, !myclips)
  • Bits-timeout system (1 bit = 1 second of timeout, with protection lists)
  • Subs / follows / raids alerts with custom TTS
  • Per-channel feature toggles
  • !nowplaying reads the streamer's MarkSoft music player or Spotify

Kick

Full first-class Kick integration โ€” not an afterthought. Connects via Kick's official OAuth + WebSocket chat + webhook events.

  • Chat commands, AI, fish, watchtime, clips
  • Webhook alerts for follows, subscriptions, gifts (with gift-royalty tracking)
  • !song reads the streamer's music player or Spotify
  • Same per-channel toggle dashboard as Twitch

Discord

  • 200+ commands across moderation, info, fun, utility, AI, games
  • Welcome / leave messages, auto-roles, reaction roles, ticketing, suggestions, alt detector, audit logging
  • Stream alerts when your linked Twitch / Kick / YouTube goes live
  • Battleship, minesweeper, snake, hangman, wordle and more โ€” playable in any channel
  • Cross-platform fish + achievements: catch on Twitch, see in Discord

YouTube Live

  • Sign-in identity for unified profile linking
  • Live-stream detection for the cross-platform alerts
  • Achievements, fish and leaderboards work with YouTube as your primary identity

Streamer setup

How do I add the bot to my channel?

  • Twitch: sign in with Twitch at /sign-in, then visit /twitch-dashboard. The bot joins instantly. (Or type !jointo <your-channel> from any channel the bot's already in.)
  • Kick: sign in with Kick. Visit /kick-dashboard to authorize. Bot joins via Kick's official OAuth.
  • Discord: click /invite, pick a server, grant permissions.

What can I configure?

  • Chat: commands on/off, custom prefix, AI persona settings, per-command toggles
  • Alerts: follow / sub / raid / cheer messages with custom TTS voice
  • Moderation: auto-mod, audit logs, warns, mutes, bans, alt detection
  • Welcome / leave: embed customisation, channel routing
  • Reaction roles & tickets & suggestions: all dashboard-driven
  • TTS overlays: add the OBS browser source, volume, voice routing
  • Music player: sharing settings, !song integration
  • Fish: drop rates, factory unlocks, marketplace toggles

Toggling features in chat

  • !toggle clips on/off
  • !toggle watchtime on/off
  • !toggle ai on/off
  • !toggle timeouts on/off
  • !toggle <commandname> on/off โ€” disable any specific command
  • !features โ€” show every feature's status at a glance
Twitch dashboard Kick dashboard

Chat commands

Discord has 200+ commands, Twitch and Kick share most of the same chat-side set. Use !help on Discord or !commands in chat to see the full live list.

Most-used cross-platform

  • !song / !nowplaying โ€” what's the streamer listening to (MarkSoft player โ†’ Spotify fallback)
  • !fish โ€” go fishing (5-min cooldown)
  • !myfish โ€” your fish collection
  • !fishleaderboard โ€” top collectors by total value
  • !clip โ€” make a clip of the current moment
  • !myclips โ€” your saved clips
  • !accountage โ€” your platform account age
  • !69 / !naughty โ€” random number game with rewards
  • !wins โ€” your running wins counter
  • @MarkSoftAI <question> โ€” talk to the AI (or trigger words you've set)

Twitch-only

  • !enabletimeouts / !ignoretimeout <user> โ€” bits-timeout management
  • !bitsleaderboard โ€” top bits-timeout users
  • !timeoutstatus โ€” see who's currently timed out and why

Discord-only

  • !help <command> โ€” detailed usage + examples
  • !battleship, !minesweeper, !snake, !hangman, !wordle
  • !ticket โ€” open support ticket (server-config-dependent)
  • !rank, !leaderboard โ€” server-side levelling

Music player & Spotify

A free, browser-based music player at /music. 100% royalty-free library you can stream while you stream. Also doubles as the source for !song / !nowplaying chat commands.

What can I do on /music?

  • Browse 1000s of royalty-free tracks across genres, with sort by plays / likes / title / recent
  • Curated rows: โœจ New (just added), ๐Ÿ”ฅ Trending (this month), โญ Popular (all-time)
  • Like tracks (cross-platform โ€” your likes follow your unified profile)
  • Build playlists with custom names, sharing links, and play counts
  • View lyrics in a popup; share an individual track via /music/track/<id>
  • Public playlists are browsable; private ones are link-only

How does !song work?

While the streamer has the /music tab open and a track is playing, our heartbeat captures the current track. Any viewer typing !song on Kick or !nowplaying on Twitch gets the title, artist, and a share link in chat. The system survives bot restarts and works even when the music tab is in the background.

Spotify fallback

  • Connect your Spotify account at /music ("Connect Spotify")
  • If the bot doesn't see a track in the MarkSoft player, it falls back to your Spotify "currently-playing" endpoint
  • Reply tags the source: Now playing on Spotify: โ€ฆ
  • Spotify's API requires the listening account to have Premium for this to work โ€” that's their policy, not ours
  • No ads / podcasts / private sessions are exposed; just title + artist + share link
Open the music player

Puzzle rooms

Multiplayer collaborative jigsaw puzzles at /puzzle. Streamers upload an image, get a 4-digit code, drop it in chat, and viewers race to assemble the puzzle together.

Quick start (streamer)

  • Tick the disclaimer ("my image becomes part of the public library โ€” anyone can challenge my record")
  • Upload a JPEG / PNG / WebP up to 40 MB
  • Pick a difficulty: 4ร—3 (12 pieces) up to 40ร—25 (1,000) โ€” or set a custom grid up to 40ร—40
  • Click "Create room" โ†’ get a 4-digit code โ†’ drop in chat
  • Optional: tick "private" to keep the room out of the public lobby

Quick start (viewer)

  • Sign in with any platform
  • Paste the 4-digit code on /puzzle or open marksoft.ro/puzzle/play/XXXX directly
  • Drag pieces. When a piece touches a correctly-adjacent neighbour, they snap together and merge into one rigid group
  • Side panel shows every player's contribution as a percentage

Sticky-merge physics

Every piece starts in its own group. When you drop a group within tolerance of a grid-adjacent piece in another group, the two merge and move as one piece from then on. Total merges to finish = pieces โˆ’ 1, so each merge is 1 unit of progress. Whoever drops gets the credit. First-person to 100% wins individual contribution; the room as a whole goes for the fastest record time.

Image library & records

  • Every uploaded image becomes public on /puzzle
  • Each image keeps a record time per grid size (4ร—3 records don't outrank 12ร—9)
  • "Most played" and "Newest" tabs to discover images
  • Click "Easy / Medium / Hard" on any image card to challenge that record fresh
  • Right-click drag or Space+drag to pan; mouse-wheel to zoom (essential at 1,000 pieces)
Try /puzzle

3D MMORPG world

A persistent 3D city world at /game, built on Babylon.js (rendering) and Colyseus (multiplayer). Pick a character โ€” name, sex, class โ€” spawn into the world, and walk around with everyone else who's online.

Classes available

  • Warrior, Mage, Engineer, Scientist, Medic, Hunter, Smuggler, Necromancer
  • Cross-class spell learning is on the roadmap

What can I do right now?

  • Walk around with WASD, see other players moving in real time
  • Chat with other players in-world
  • Set waypoints on the world map (M)
  • Talk to NPCs (E to interact) โ€” every NPC has a stable ID and dialogue trees
  • Open inventory (I), character sheet (C), property panel (P), settings

Coming soon

  • Combat & class abilities
  • Property & business management (own a building, run a shop, trade with players)
  • Mob spawning + DNA / monster lore arcs

Browser requirements

  • Modern browser with WebGL 2 (Chrome, Edge, Firefox, Safari current)
  • Sign in with any platform โ€” no separate game login

Dev tools

There's a ๐Ÿ› ๏ธ DEV button on the action bar โ€” always visible. Behind a server-side allowlist (GAME_DEV_ADMINS env), so clicking does nothing for non-admins. Press F3 as a backup.

Enter the city

Fishing system

The flagship community game. 1,700+ species across 10 rarity tiers, with factories, marketplace, warehouses and achievements. Catch in chat, manage on the web.

How do I fish?

  • !fish in any participating Twitch / Kick channel (5-min cooldown)
  • Or click "Cast" at /fish from your unified profile
  • Channel-points redemptions with "fish" in the name also trigger a catch

Rarity tiers

  • Common ยท 50% drop ยท the bulk of the catalogue
  • Uncommon ยท 25% ยท still shows up regularly
  • Rare ยท 12% ยท noticeably better stats
  • Epic ยท 6%
  • Legendary ยท 3%
  • Mythic ยท 1.5%
  • Ethereal ยท 0.8% ยท glowing visuals
  • Cosmic ยท 0.4%
  • Divine ยท 0.2%
  • Ancient ยท 0.1% ยท the rarest tier โ€” pre-extinction species

Factory, marketplace, warehouse

  • Factory (/fish/factory): process raw fish into fillets, oils and refined goods for higher value
  • Marketplace (/fish/marketplace): list catches for sale, browse other players' offerings, bid
  • Warehouse (/fish/warehouse): paid storage tiers for hoarding rare specimens
  • Home (/fish/home): your decoratable aquarium / dashboard
  • Coins: shared with the rest of the platform โ€” same wallet across fishing, music tipping, future game economies

Where do I see my fish?

  • /fish โ€” full collection with sort + search
  • !myfish in chat โ€” quick stats summary
  • !fishleaderboard โ€” top collectors by total value
Cast a line Marketplace

AI & personas

Context-aware chat AI on every platform with per-channel persistent memory, custom personas, function calling, web search, and configurable backends.

How do viewers talk to it?

  • Mention the bot or use a streamer-configured trigger phrase
  • The AI replies in chat โ€” Twitch responses are capped at 400 chars to avoid mid-sentence cutoff; Discord gets full-length
  • It remembers your conversation context per channel (boltwire SQLite memory)

What can it do?

  • Web search: live information lookups (news, weather, scores, etc.)
  • Function calling: can run pre-approved bot commands on your behalf
  • Image gen: generate images from prompts
  • Code analysis: review snippets pasted into chat (Discord)
  • Lyrics generator: with style and theme prompts (/api/lyrics)

AI personas (streamer)

  • Create custom characters: name, personality, voice, trigger phrases
  • Each persona has its own memory bank โ€” they don't bleed into each other
  • Switch personas mid-stream for different vibes
  • Per-channel toggling: enable an "evil" persona on the chaos channel, a "calm" one elsewhere

Custom AI backends

Default is DeepSeek. Set AI_API_URL per channel to point at any OpenAI-compatible endpoint โ€” your own model, a private deploy, anything. We don't lock you in.

TTS overlays for OBS

Edge TTS-powered text-to-speech with a queue, per-platform browser-source overlays, and a WebSocket pipeline that pushes TTS events from the bot worker to your OBS scene in real time.

How do I add it to OBS?

  • Add a Browser Source in OBS
  • Twitch URL: https://marksoft.ro/twitch/<your-channel>/tts
  • Kick URL: https://marksoft.ro/kick/<your-channel>/tts
  • Set the source to ~600ร—100 px (it auto-fits) and tick "Refresh browser when scene becomes active"

What gets spoken?

  • AI persona replies (configurable per persona)
  • Donation / subscription / gift alerts (with custom voice + message templates)
  • Chat messages routed via !tts <msg> (subject to your toggle)
  • Custom alert sounds queued through the TTS pipeline

Voices & queue

  • Multiple Edge TTS voices per persona โ€” male / female / language variants
  • EnhancedTTSQueueManager handles back-pressure so TTS never speaks over itself
  • Espeak-ng fallback if Edge TTS fails โ€” overlay never goes silent
  • Premium tiers unlock additional voice models + faster synthesis

Remote control panel

A streamer-only panel at /remote-control where moderators (or trusted viewers) can trigger pre-approved actions โ€” without you typing anything in chat.

How does it work?

  • You whitelist commands ahead of time on the dashboard
  • Whitelisted users get a control panel link they can keep open
  • Click a button โ†’ command runs on your channel โ†’ audit-logged
  • No keystroke logging, no screen recording, no shell access โ€” just the buttons you set

What can it run?

  • Toggle features on/off (clips, fish, AI, alerts)
  • Trigger alerts ("manually fire the raid alert") for testing
  • Simple keyboard hotkeys for stream control (mute mic, toggle scene, pause music)
  • Pre-approved chat commands (e.g., a one-click !so <previous-streamer>)

Security: requires explicit per-user permission grants. All actions audit-logged. You can revoke any user instantly. The bot can't run anything you haven't whitelisted.

Achievements & leaderboards

Achievements track milestones automatically โ€” based on your real activity, not opt-in checklists. Cross-platform: Twitch, Kick, Discord and YouTube share unlocks via your unified profile.

Examples

  • Catch your first cosmic fish
  • Hit 100 hours of watchtime on a channel
  • Place 100 puzzle pieces total
  • Finish 10 puzzles in under 5 minutes
  • Hit a 7-day login streak
  • Get 1,000 plays on a music track you uploaded
  • 1,000+ commands used
  • Win 50 wins

Where to see leaderboards

  • /leaderboard โ€” overall cross-platform
  • /fish โ€” top fish collectors by value
  • /puzzle โ€” recent finishes + per-image best times
  • /music โ€” most-played + most-liked tracks
  • !fishleaderboard / !bitsleaderboard โ€” chat queries

Channel notifications (streamer)

Use !setachievementchannel <channel> in Discord to get a ping when a viewer unlocks an achievement.

Account linking

One profile, four platforms. Link Twitch + Kick + Discord + YouTube and your fish, achievements, music likes, puzzle records, coins and AI memory all follow you everywhere.

How to link

  • Sign in with one platform first (your "primary")
  • Visit your profile โ†’ "Linked accounts"
  • Click "Link [other platform]" โ†’ OAuth flow โ†’ done
  • Repeat for each platform you use

What syncs?

  • Coins, fish, achievements, watchtime totals
  • Music likes, playlists, play counts
  • Puzzle records and contribution stats
  • AI memory references (your unified profile, not username, is the key)
  • Cross-platform leaderboard placement

What stays per-platform?

  • Channel-specific stats (watchtime in this channel)
  • Platform-native badges (verified Twitch bot status, Kick OG, etc.)
  • Your platform display name / avatar (we show all of them)

Premium plans

Core platform is free. Premium tiers unlock more AI volume, premium voices, custom personas, white-label overlays, and dedicated resources.

Tiers

  • Free: chat, fish basics, music browse, puzzle play, AI per channel up to fair-use limit, all platforms
  • Pro: larger AI quota, custom personas, branded overlay theme
  • Max+: unlimited AI per channel, premium TTS voices, faster synthesis, factory tier-2 unlocks
  • Ultra: dedicated bot resources, white-label everything, priority support

How do I pay?

  • Native Revolut integration on /pricing
  • Monthly or annual; cancel any time, prorated
  • Webhook reconciliation handles upgrades / downgrades / refunds cleanly
  • No third-party widgets or pop-ups

Can I gift premium?

Not yet โ€” gifting is on the roadmap. For now you can buy a subscription for someone by using their account login at checkout.

Privacy & data

What's stored?

  • MongoDB: profiles, achievements, fish, puzzle results, music plays, social stories, premium subscriptions
  • Redis (when configured): ephemeral cache + sessions
  • SQLite: chat statistics + AI conversation memory (boltwire)
  • JSON files: channel/streamer configs, channel mappings, watchtime snapshots
  • Encrypted OAuth tokens: Twitch, Kick, Discord, Google/YouTube, Spotify โ€” only what we need to provide the service

What's NOT stored?

  • Spotify ads / podcasts / private session details
  • Your Spotify password (OAuth means we never see it)
  • Keystrokes or screen recordings (remote control logs the command, not the input)
  • Payment card numbers (Revolut handles those โ€” we get a token)

Retention

  • Active user data: kept while the bot is in your server / channel
  • Inactive accounts: purged after 90 days of no activity
  • Moderation logs: 1 year for audit purposes
  • Analytics: aggregated indefinitely; per-row data points 6 months
  • Premium subscriptions: kept while active + 30 days post-cancellation for refund handling

GDPR rights

  • Access: request a JSON dump of everything we store about you
  • Portability: machine-readable, take it elsewhere
  • Deletion: immediate on valid request
  • Rectification: fix incorrect data on request
  • Where to ask: Discord support server, with your unified profile ID

Where's it hosted?

Romania. MARKSOFT LTD, EU jurisdiction, GDPR-compliant. Full Privacy Policy.

Troubleshooting

!song says "not playing" but I am

  • Make sure the /music tab is open and a track is currently playing
  • The heartbeat fires every 10 seconds; backgrounded tabs work, but if the laptop slept the heartbeat may have paused โ€” refresh the tab
  • If you connected Spotify, confirm your Spotify account has Premium (their policy)

My TTS overlay isn't speaking

  • Confirm the OBS browser source URL exactly matches your channel slug
  • Check the dashboard โ€” TTS toggle, master volume, persona-level voice routing
  • Right-click the OBS source โ†’ "Refresh cache of current page"
  • If you hear espeak instead of Edge TTS, the Edge synth probably crashed โ€” falls back automatically; restart the bot to recover

AI isn't responding in my Kick chat

  • Bot connected? Visit /kick-dashboard and confirm channel status is green
  • AI enabled? !toggle ai on or check the dashboard
  • Did you trip a rate limit? Free tier has fair-use caps per channel โ€” check the AI quota panel

OAuth / sign-in fails

  • Clear cookies for marksoft.ro and retry
  • Strict ad-blockers (uBlock medium+, Brave shields) can break Twitch / Kick callback redirects โ€” try with shields off for this domain
  • Browser in private mode? Some platforms require third-party cookies on the OAuth callback

Puzzle: "wrong song / wrong piece" or stuck

  • The "wrong song" bug in the New / Trending / Popular music rows was fixed โ€” refresh the page if you see it
  • If a puzzle piece looks stuck, try a small drag โ€” local prediction sometimes drifts ahead of the server snapshot
  • Mouse-wheel zoom + right-drag pan if your view feels cramped on big grids

Bits-timeout isn't working

  • Bot must be a moderator in your Twitch channel
  • !enabletimeouts or dashboard toggle must be on
  • Cheers must include the @username tag
  • Protected users (mods, VIPs added via !ignoretimeout) won't be timed out

Image upload to /puzzle returned a JSON error

  • File must be โ‰ค 40 MB and JPEG / PNG / WebP
  • If your screen showed a generic "JSON.parse" error, the proxy was blocking the size โ€” that's been fixed and the limit is now 50 MB at the proxy / 40 MB at the app

Get support

  • Discord support server: discord.gg/4Br57JmKYG โ€” fastest path for help, bug reports, feature requests
  • Status page: /stats โ€” real-time service health, uptime history, incident log
  • Privacy / GDPR requests: Discord support server with your unified profile ID
  • Business / press: contact via the support server admins
Join the Discord Status page

Still stuck?

The Discord support server is the best place to ask anything not covered here.

Marksoft Footer