CS2HUB – Komunitní CS2 Portál
🎮 CS2HUB – Komunitní CS2 Portál
Stav projektu: Discontinued – po dokončení klíčových funkcí byl projekt ukončen. Slouží jako ukázka technických dovedností a komplexního přístupu k vývoji herního portálu.
📌 Popis projektu
CS2HUB byl komplexní komunitní portál pro Counter-Strike 2, který měl propojit herní servery s webovým rozhraním a poskytnout hráčům moderní nástroje pro správu skinů, sledování statistik, nákup VIP a další. Projekt vznikal jako osobní vývojová výzva s cílem vytvořit plnohodnotnou alternativu ke stávajícím komunitním řešením.
🛠️ Technologický stack
- Backend: PHP 8.2, Nette Framework 3.x
- Frontend: Latte (Nette templating), Vanilla JavaScript, CSS3
- Databáze: MySQL 8.0 (Nette Database Explorer)
- Autentizace: Steam OpenID 2.0
- API integrace: Steam Web API, Source Query Protocol
- Herní pluginy: SourcePawn (cs2-WeaponPaints, cs2-ranks, SourceBans)
- Správa závislostí: Composer
- Server: Apache 2.4, PHP 8.2
🎯 Hlavní funkcionality
🔐 Autentizace a správa uživatelů
- Přihlášení přes Steam OpenID s konverzí mezi SteamID64 a starým formátem STEAM_X:Y:Z
- Automatické načítání profilových dat (avatar, nickname) přes Steam Web API
- Ověření členství ve Steam skupině pro přístup k pokročilým funkcím (skiny)
📊 Statistiky a žebříčky
- Napojení na databázi pluginu cs2-ranks (tabulka lvl_base)
- Přehled hráčských statistik: kills, deaths, headshots, assists, playtime, rank
- Stránkovaný žebříček s možností řazení podle bodů nebo K/D poměru
- Vyhledávání hráčů podle jména
- Modální okno s detailními statistikami po kliknutí na jméno hráče
- Automatické doplňování chybějících profilů (nickname, avatar) z Steam API
🎨 Správa skinů (WeaponPaints)
- Kompletní webové rozhraní pro správu skinů napojené na plugin cs2-WeaponPaints
- Moderní popup customizer s mřížkovým výběrem skinů
- Úprava parametrů: wear, seed, nametag, StatTrak
- Správa nálepek (stickers) s vyhledáváním a výběrem z katalogu
- Správa klíčenek (keychains) s nastavením offsetu
- Podpora pro nože – výběr modelu z drop-down nebo gridu
- Podpora pro agenty – výběr z katalogu CT/T agentů
- Podpora pro rukavice – výběr modelu, paint, wear, seed
- Flash zprávy místo vyskakovacích alertů
- Responzivní design, dark theme
🛒 Obchod (Store)
- Předpřipravený obchod s podporou produktů (kredity, VIP)
- Správa objednávek v databázi
- Integrace s tabulkou vip_users pro správu VIP oprávnění
- Testovací režim bez reálné platební brány
- Připravená integrace s GoPay platební bránou (sandbox mode)
🖥️ Přehled serverů
- Dynamické načítání informací o serverech přes Source Query Protocol
- Zobrazení online hráčů, aktuální mapy, IP a portu
- Whitelist systém – možnost přidat se do whitelistu serveru (ukládání SteamID)
- Připravená struktura pro více serverů
🚫 Správa trestů
- Přehled banů, unbanů, mutů, unmutů a varování z tabulek sa_*
- Záložkové rozhraní pro přepínání mezi typy trestů
- Stránkování a řazení od nejnovějších
🤖 Discord integrace
- Endpoint pro Discord bota (/stats/get-stats-by-discord)
- Propojení Discord ID s SteamID přes tabulku Discord_Utilities
- Vrací kompletní herní statistiky ve formátu JSON
🏠 Landing page
- Moderní hero sekce s tlačítkem pro připojení k serveru
- Zobrazení online hráčů v reálném čase
- Sekce výhod serveru
- Výzva k připojení do Steam skupiny pro plnou funkcionalitu skinů
- Sociální sítě (Instagram, TikTok, Threads, Discord) s ikonami
📚 Co jsem se naučil
- Nette Framework: DI kontejner, autowiring, presentery, routování, Latte šablony, Nette Database Explorer
- Integrace a API: Steam OpenID autentizace, Steam Web API, konverze SteamID formátů, Source Query Protocol
- Frontend: Responzivní design s dark theme, modální okna, AJAX komunikace, Flash zprávy
- Databáze: Komplexní návrh struktury, JOIN dotazy, ukládání dat z externích API
- Komplexní myšlení: Propojení herních pluginů (SourcePawn) s webem, zabezpečení, optimalizace výkonu
🧩 Použité pluginy a knihovny
- PHP knihovny: nette/application, nette/database, nette/security, xpaw/steam-openid, xpaw/steamid, xpaw/php-source-query-class, contributte/gopay-inline
- CS2 herní pluginy: cs2-WeaponPaints (skiny), cs2-ranks (rank systém), SourceBans (tresty)