Join the Agent Deck Discord Server!
Discord에서 Agent Deck 커뮤니티 확인, 357명과 자유 음성·텍스트 채팅 이용
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Lobby-first community platform with deep game integrations and voice rooms. A source-available spiritual successor to MPlayer.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
State of the project (September 2026): public beta, source-available.
The whole platform is on GitHub under the Elastic License 2.0. The Minecraft
mod and the shared types package are MIT. Read it, build it, self-host it,
send patches. The one thing you cannot do is resell it as a hosted service.
See LICENSING.md.
Run it through SonarCloud, CodeRabbit, or whatever you trust. The architecture
is opinionated, the business logic is server-side only, and it ships most days.
Constructive teardowns are welcome. See Code quality below.README 전문 보기 ↗State of the project (September 2026): public beta, source-available. The whole platform is on GitHub under the Elastic License 2.0. The Minecraft mod and the shared types package are MIT. Read it, build it, self-host it, send patches. The one thing you cannot do is resell it as a hosted service. See LICENSING.md.
Run it through SonarCloud, CodeRabbit, or whatever you trust. The architecture is opinionated, the business logic is server-side only, and it ships most days. Constructive teardowns are welcome. See Code quality below.
Real-time community platform for gaming: lobbies, rooms, crews, presence, and game-aware modules. A modern take on the MPlayer-era game lobby (1996), rebuilt for 2026.
Weered organizes communities around what people are actually doing. Open it and you land in a lobby or a room with other people present. You can see who's on Steam, Xbox, PlayStation, or Twitch, co-watch a stream, run a Destiny 2 raid LFG, hold a poker night, paper-trade against your crew on FakeOut, or track the Helldivers 2 galactic war together. Each game gets a lobby wired to that game's own live data.
The look is deliberately dark and cinematic. The model is the MPlayer lobby: show up, see who's around, play together.
The game modules further down sit on top of a full community platform. The core surface:
Presence and social
Real-time rooms
Messaging
Moderation and safety
Notifications
Communities and events
Game servers
Economy
Clients
apps/
web/ Next.js 15 - primary client at weered.ca
api/ Fastify 5 + Prisma + WebSocket - single source of truth
mobile/ React Native 0.83 + Expo SDK 55 - iOS + Android
desktop/ Tauri 2 + Rust - native shell around the web client
mod/ Weered Connect - Fabric mod (Minecraft 1.21.x), shipped via Modrinth
packages/
shared/ TypeScript types + constants shared across clients
.github/
workflows/ CI - cross-platform desktop release builds
┌──────────────────────────────┐
Steam / Xbox / PSN │ CLIENTS │
Twitch / Bungie / Riot │ web mobile desktop mod │
EVE / PoE / Helldivers │ │ │ │ │ │
presence + └───┼───────┼────────┼──────┼──┘
game data │ HTTPS (REST) + WebSocket (cookie auth)
▼ ▼ ▼ ▼
┌────────────────────────────────────┐
│ apps/api (Fastify 5) │
│ ALL business logic lives here: │
│ permissions · scoring · paper │
│ economy · lobby state · notoriety │
│ routes/* · sockets/* · lib/* │
└───────┬───────────────────┬─────────┘
│ │
Prisma ▼ ▼ LiveKit
┌──────────────┐ ┌──────────────┐
│ PostgreSQL │ │ voice / video│
└──────────────┘ └──────────────┘
Edge: Caddy (TLS + CORS allowlist) · Process mgmt: PM2 · Errors: Sentry
The architectural rule: business logic lives in the API. Permissions, scoring, the paper economy, friend logic, lobby joining, notoriety. Every rule is server-side, decomposed across apps/api/src/routes/*. Clients render and submit; they never decide.
See DEVELOPMENT.md for the full repo guide: per-client release cadence, deploy procedures, and gotchas.
For the deliberate single-node scaling posture (and why horizontal WS scaling is intentionally deferred), see SCALING.md. Ops and disaster recovery: RUNBOOK.md.
tsc --noEmit clean) and esbuild-compiled to dist/ for production. Single-node by design (see SCALING.md); Redis pub/sub is deliberately deferred, not in use.Each lobby can opt into a module that wires it to a specific game or activity:
| Module | What it adds |
|---|---|
BUNGIE (Destiny 2) | Bungie OAuth, Guardian/loadout lookup, raid LFG, API-verified tournaments (PGCR scoring) |
RIOT (League of Legends) | Summoner lookup, ranked leaderboards, rotation tracker |
EVE (EVE Online) | Capsuleer sheet, killboard, sovereignty, market, new-pilot tools |
POE / POE2 (Path of Exile) | Live Currency Exchange economy, ladder, rendered passive tree, build inspector; poe2scout prices for PoE2 |
HELLDIVERS2 | Galactic-war tracker, Major Orders, war map, stratagem + loadout tools, squad finder |
CHESS | Lichess + Chess.com account linking, API-credited challenges, co-watch board |
TRADING (FakeOut) | Paper trading on a live Binance feed, TradingView charts, leaderboards |
WINDROSE | Bounty board (PvE objectives), hunter dossiers, crew tools |
POKER | LiveKit table, Texas Hold'em with paper buy-ins |
MINECRAFT | Weered Connect Fabric mod links in-game state to the lobby |
FORTNITE | Item shop, stats, news |
HLL / HLLV (Hell Let Loose, + Vietnam) | A unit links its own server over RCON: live match state, roster, Muster drill attendance, seeding rally board |
BAR (Beyond All Reason) | Linked BAR accounts, live battles board, and a match launcher inside the room |
DIVISION2 | Ubisoft server status, Ops Board intel feed, operator sit-reps, field resources |
ASSETTOCORSA | Live grid and session board read from each AC server's own public API |
COWORK | The lobby for solo operators: one worldwide 50/10 focus clock, plus a public day board |
Plus lighter topic/content modules: CS2, DOTA2, PUBG, MLB, PGA, MTG, MARATHON, DND, STUDY, NEWS, REDDIT, TWITCH, YOUTUBE, HEADQUARTERS, and CUSTOM.
Closed-loop virtual economy:
Sits alongside a Stripe-backed tier system (Innocent / Indicted / Felon / Kingpin) for paid features.
Continuous analysis runs in CI on every push; the badges above are live.
Security A · Reliability A · Maintainability A · Security Review A: 0 bugs, 0 vulnerabilities, 0 open security hotspots, technical-debt ratio under 0.5%.
A note for anyone running their own scanner, because you should: where a finding
was suppressed instead of code-changed, the reason is committed in
sonar-project.properties for you to read. For
example, the "hardcoded credentials" are test-fixture and CI test-database
passwords (not real secrets), and a few S4325 "redundant" casts are
load-bearing type-narrowing the TypeScript compiler actually requires. Test
coverage is modest and we don't gate on it; we hold the line on the ratings and
zero defects instead.
If you find something real, open an issue. That is the point of going public.
Guardrails gate every deploy: the API type gate (tsc --noEmit) must be clean and no source file may exceed the size tripwire (scripts/check.sh). One command:
bash scripts/deploy.sh # guardrails -> web build -> restart both -> smoke test
bash scripts/deploy.sh api # API only: guardrails -> restart api -> smoke test
Runtime: the API is esbuild-bundled to dist/ and run with Node; the web app is next build + next start; both run under PM2 on the droplet. Full procedures in DEVELOPMENT.md.
Local setup, prerequisites, and the dev loop are in DEVELOPMENT.md. Contribution conventions are in CONTRIBUTING.md.
Source-available. The core platform is under the Elastic License 2.0
(LICENSE); apps/mod and packages/shared are MIT. The
short version: read it, build it, self-host it for yourself, send patches. You
may not offer it to third parties as a hosted or managed service. Full
directory-by-directory mapping in LICENSING.md.
Security reports: see SECURITY.md. Licensing questions:
[email protected].
Public beta, live at weered.ca. In active development, ships most days. Source-available since June 2026.