Discord community

Updated Oct 15, 2026 Open the tool

Zoov.dev is built around its Discord server. Your Discord account is your login, your plan tier is read from the roles you hold in the server, bug reports from the site land in Discord, and the community games (Boost Wheel and GTA Guesser) are played on the site with results shared in Discord.

Joining the Discord

Joining the Discord server is required to use Zoov.dev. The invite is https://discord.zoov.dev (the maintenance page uses https://discord.gg/zoovdev, which is the same server). Three things push a visitor toward it:

  • Invite banner. On almost every page (not the homepage or /tools/environments) the site checks whether you are a member and, about one second after load, shows a banner if you are not: "Our discord offers updates & support, some areas also require you to be in our Discord." Buttons are "Later" and "Join Discord". Pressing "Later" is remembered in that browser.
  • Gate page /discord. Pages that need membership send you here. The heading is "Please join the discord for access." with buttons "Join the discord", "Already joined?", "Continue" and "Go Back". The browser tab is titled "Discord Integration". After joining, press "Already joined?" or "Continue" to go back to where you were.
  • Auto-join at sign-in. When you sign in with Discord the site tries to add your account to the server for you and gives you a base member role. This is best effort. You are only redirected to /discord when Discord positively reports that you are not a member; if Discord is down or slow the sign-in continues normally.

If you leave the server your roles are no longer visible to the site, so paid features lock until you rejoin and the roles are restored.

Discord roles and plan tiers

Plan tiers on Zoov.dev are Discord roles. The site reads the roles you hold in the server and unlocks features from them. The tiers, lowest to highest, are Booster (server boosters), Lite, Standard, Referrer (counts the same as Standard), Pro and Max. Locked features say " requires +" or "Locked to +", for example "Locked to Pro+".

What each group unlocks:

  • Standard, Referrer, Pro, Max: design editor preview and save, selecting and creating in the editor, Code, Optimize, Convert and FiveM deploy.
  • Pro, Max: the 2048 vehicle UV export.
  • Lite and above: the Photoshop and Photopea plugin, with the live 3D preview inside it. That is all Lite adds.
  • Booster and Lite count as Free everywhere else (since 2026-09-30). Their storage, daily limits, Optimize, Designer, reference pictures, request rate limits, Code prompt size and credit prices are exactly Free's; only Standard and up are paid plans. Until 2026-09-30 Booster also held the editor showcase and vehicle UV permissions, and Lite and Booster had a middle step on several limits and prices.
  • Admin features belong to the developer role.

How roles are given: buying a subscription assigns the role attached to that plan plus an Early Adopter role. Credit packs and monthly credit plans do not give a role. Cancelling removes the plan role. Team seats receive the team's role and Pro. Verifying your account removes the unverified role.

Your game role. When you join, the server asks "What game are you creating for?" and gives you a FiveM role, a Roblox role, or both. You can change it in the server's Channels & Roles. The support assistant reads it: with only Roblox, a question about a livery is answered for ER:LC and a question about a shirt for Roblox clothing; with only FiveM, for GTA V. With both, it asks which game you mean. Naming the game in your question always wins.

Discord is the source of truth. The site never rebuilds roles from your billing history, so a role that was never applied in Discord has to be applied there by staff.

When roles refresh on the site

Role sync happens in three ways, so a change in Discord normally reaches the site within minutes:

  1. On page load, every 15 minutes. Each signed-in page load reuses the roles fetched in the last 15 minutes; after that the site asks Discord again. Reloading before 15 minutes have passed does not force a refresh.
  2. Instantly from the bot. The Discord bot watches member updates and tells the site the moment a role is added or removed in the server, and the stored roles are updated straight away.
  3. Right after the site changes a role itself, such as after a purchase, a cancellation or verification, the roles are re-read at once.

If a role is missing after paying:

  • Check that you are in the server with the same Discord account you used to sign in. Roles can only be given to members. If you were not a member at purchase time, join and ask staff to apply the role.
  • Wait up to 15 minutes, then reload. Signing out and back in also triggers a fresh read.
  • Look at your roles in Discord. If Discord shows the role but the site does not, the next refresh will fix it. If Discord does not show it, contact staff; the site does not retry a failed assignment on its own (verify).

Supporters

Supporters are members who hold the Pro, Max or Booster role in the server. The site keeps a list of them, refreshed about once a day, through a public endpoint. A "Our Supporters" section exists in the codebase with the text "These creators and community members keep the project going." and two groups: "Project Pros" ("Members supporting the project via the Pro Subscription.") and "Project Supporters" ("Members supporting the project via Discord Boosting."). Max members are included in the data but are not shown in either group.

This section is not currently placed on any page of the site, so there is no public supporters page to link to. If a user asks where they can see the supporters list, the answer is that it is not visible on the site at the moment. Boosting the server still gives the Booster tier described above.

Reporting a bug with "Issue?"

The "Issue?" pill sits in the bottom right corner of the legacy workspace pages (the vehicle pipeline, YDR browse and store, the YTYP bundle, design templates) and shows only when you are signed in. Click it to open a small "Bug Report" box with the placeholder "What happened? (Ctrl+Enter to send)" and the footer "Syntax will look into it." Type a description and press "Send" or Ctrl+Enter; Escape closes the box. On success it shows "Report Sent!" and "Thanks! I'll pass this along." and closes itself after two seconds.

What the report contains: your description, some context (the page address, browser user agent, time and memory use) and a console_logs.txt file with the recent browser console output the site keeps in memory. No screenshot is taken. The report is posted to a staff channel in Discord as an "Issue Created" message with your user, the page and the time, so staff can see who sent it and reply in Discord.

You must be signed in; since 2026-10-13 anonymous reports are refused, after a scanner flooded the staff channel through the open endpoint. Each person can send 5 reports an hour and a description can be up to 2,000 characters. The page address is only shown when it is a zoov.dev page. Messages you may see: "Please describe the issue." when the box is empty, "Failed to submit bug report. Please try again." when sending fails (also when the hourly limit is reached), and "Logs file exceeds 3 MB limit" when the console log is larger than 3 MB (rare; reload the page and try again). Signed-out users who cannot sign in should ask in the Discord server instead.

Boost Wheel: retired (2026-10-15)

The credit wheel at /community/wheel (150 credits a spin, a provably fair draw, prizes from a staff table) was retired on 2026-10-15 with the legacy-site cleanup: its routes, src/lib/app/server/games/, the services.games getter and its entries in the site index and the legacy menus are gone, and game_configs and game_sessions are in the drop migration supabase/sql/v2/0034_legacy_drop.sql. Why: it was a legacy-site page the workspace never linked, and on 2026-09-21/22 one account landed the 1,000-credit prize on 69 spins out of 186 bought (69,000 credits in, 27,900 out) before the 10-01 fix made spins pay once and owner-only; the owner zeroed that account on 09-30. The Discord side is unchanged: the bot's boost reward (modules/boost-wheel.ts, boost_wheel_jobs) pays server boosters their credits and never used the page. Anyone who asks about the wheel: it is gone, credits are not refunded for spins bought before, and the Discord boost reward still works.

GTA Guesser: how a round works

GTA Guesser is at /community/geo-guess/<session> (the page heading says "Geo Guesser" and "Find this location in San Andreas"). There is no index page; rounds are created by the Discord bot, which posts the link in the server. Each round lasts 12 hours by default and uses a screenshot from GTA V's San Andreas. You must be signed in to play.

The page shows the screenshot and a map of San Andreas. Click the map to place a pin ("Click on the map to place your pin...", then "Selected Location:") and press "LOCK IN GUESS". The page warns "Once submitted, your answer cannot be changed." You get one guess per round.

Timing: you have 60 seconds from the moment the page first loads, shown under "Your Time" and turning to "Hurry!" at 5 seconds or less. The timer is tied to your first visit, so reloading the page does not restart it. When it runs out the page shows "Time Expired" and "Time's Up!" with "You ran out of time to submit your guess. Better luck next round." Only open the link when you are ready to play.

After locking in you see "Guess Locked In!" and "Sit tight! Results will be revealed when the timer runs out on Discord." Round badges are Active, Locked and Ended; an ended round says "This session has ended. Check the Discord for results!"

Errors: "Your guess time has expired. You had 60 seconds to submit.", "You have already made a guess for this session", "Session is not active", "Session not found", "We could not verify your guess timer. Reload the page and try again." (your timer cookie was missing; reload once) and "Invalid guess coordinates".

GTA Guesser: scoring, results and rules

Scoring is done on the server from the distance between your pin and the real camera position: score = round(5000 x e^(-distance / 2000)), with distance in map units (roughly metres). Examples: 0 gives 5000, 100 gives about 4750, 1000 gives about 3000, 5000 gives about 400. Your score, the distance and the true location are not sent to your browser; rankings are only computed once the round ends. Results are announced on Discord by the bot. There is no credit reward for GTA Guesser in the site code, so any prize is whatever staff announce for that round.

Fair play, in plain words: the answer never leaves the server, the round in the link is the one your guess is recorded against, a second guess is rejected, and coordinates outside the map or with unusual precision are refused. Staff can review guesses that land suspiciously close to the exact spot.

The rules shown on the page, word for word:

  1. "You have 60 seconds from page load to submit."
  2. "You only get one guess per session."
  3. "The closest pin to the camera's location wins." (on mobile: "The closest pin to the actual location wins.")
  4. "Results are announced on Discord after the timer ends."
  5. "Use satellite imagery to match landmarks."

Automatic moderation

The bot removes some messages in public channels on its own. Staff (anyone who can manage messages) and members with the Partner role are never filtered, and private channels such as tickets are not checked. Edited messages are checked again.

  • Ads and "DM me" requests. Messages asking to move a chat into DMs ("DM me", "message me", "PM me", "hmu", "check your DMs", "add me on Discord"), sales pitches ("I'm selling", "for sale", "commissions open", "for hire", "free nitro"), self-promotion ("join my Discord", "check out my YouTube", "link in bio", "use my code") and links to stores or other servers (Tebex, Fiverr, Ko-fi, Patreon, Gumroad and similar shops, and cfx.re/join server links) are deleted. The member sees a short notice in the channel, "Message removed: no ads or "DM me" requests here. Keep help in the channel or open a ticket.", which disappears after a few seconds (at most one notice a minute per member). Nothing else happens to the account. Questions that only mention these topics are allowed, for example "is selling liveries allowed?", "does the site take PayPal?", "where do I put the promo code?" or "someone DMed me a scam link". Zoov's own Tebex store and Tebex checkout links are allowed too.
  • Discord invite links (discord.gg, discord.com/invite, dsc.gg) are deleted and the member is marked unverified: they get the Unverified role and must verify again at https://zoov.dev/verify.
  • Scam images. Images are read for scam text (MrBeast giveaways, crypto, casino, "withdrawal"). A match deletes the image and the member's other messages from the last two minutes and marks them unverified, as above.

Common questions

Why was my message deleted? In a public channel the bot removes ads, requests to take a conversation to DMs, and links to other stores or servers, and shows a short notice saying so. Ask your question in the channel or open a ticket instead. Help happens in the server, never in DMs, so anyone offering help by DM is not staff. If an invite link or image got you marked unverified, verify again at https://zoov.dev/verify.

Do I really have to join the Discord? Yes. Your plan tier is a Discord role, so the site cannot see what you paid for unless you are in the server. Join through https://discord.zoov.dev, then press "Already joined?" on the /discord page.

I paid but the site still says "Locked to Pro+". Make sure you are in the server with the account you signed in with, then wait up to 15 minutes and reload. If Discord itself does not show the role, ask staff to apply it.

How long does a role change take to show up? Changes made in Discord are pushed by the bot straight away. Otherwise the site re-reads your roles at most every 15 minutes.

How much does a wheel spin cost, and is there a daily free spin? 150 credits per spin, no free spin and no cooldown. Credits are only refunded if the session fails to be created.

Can I check that my wheel spin was fair? The page shows the hash of the server seed before you spin, but the seed itself is not published afterwards, so you cannot verify it yourself yet.

The GTA Guesser timer ran out before I placed a pin. The 60 seconds start the first time the page opens and do not reset on reload. Each round allows one attempt, so you will need to wait for the next round.

Do I win credits in GTA Guesser? Not automatically. Results go to Discord; any prize is announced by staff for that round.

Where does the "Issue?" report go? To a staff channel in Discord with your description, the page address and your recent console log. You can send one without being signed in.

Topics discordrolesrole-synctiersupportersbug-reportissuewheelboost-wheelspingta-guessergeo-guessercommunitygamesmoderationautomodadsadvertisingdm-medeleted-messageinvite-link

Something missing? Ask on Discord