# Custom MVP Music — strona internetowa
**Strona internetowa z logowaniem przez Steam, na której znajdziesz swoje ulubione utwory z programu MVP. Gracze mogą przeglądać utwory i słuchać ich w
przeglądarkę i wybrać odpowiednią opcję jednym kliknięciem. Katalogem zarządzasz z poziomu panelu administracyjnego, zamiast edytować
plik konfiguracyjny przesłany przez FTP.**
Witryna i wtyczka korzystają z tej samej bazy danych MySQL, więc nie ma potrzeby ręcznej synchronizacji. Dodaj
utwór na stronie internetowej, a po kilku sekundach pojawia się on w `!mvp`menu gry. Gracz, który wybierze
hymn na stronie zostanie odtworzony, gdy następnym razem zostaną MVP, bez konieczności ponownego łączenia się — a wybór dokonany w
gra pojawia się natychmiast na ich profilu.
---
## Zanim dokonasz zakupu — przeczytaj tę część
**Jest to strona internetowa towarzysząca wtyczce Custom MVP Music, a nie samodzielny produkt.** Jest to
modyfikuje bazę danych wtyczki. Jeśli wtyczka nie jest zainstalowana na serwerze CS2, w grze nic się nie odtwarza.
Dwa praktyczne wymagania:
- **Strona internetowa musi mieć dostęp do bazy danych MySQL wtyczki.** Jeśli strona i serwer gry znajdują się na
różne komputery — co jest typową sytuacją — należy zezwolić na połączenie z adresem IP dostawcy usług hostingowych (w cPanel
(czyli *Remote MySQL*) albo przenieść bazę danych do lokalizacji obok strony i skonfigurować wtyczkę tak, aby korzystała właśnie z tej bazy.
- **Klucz Steam Web API**, **udostępniany** bezpłatnie przez serwis Steam, służący do pobierania nazw graczy i awatarów.
Poza tym działa na zwykłym hostingu współdzielonym. Nie ma etapu kompilacji w Node, nie ma procesu obsługującego kolejkę, nie ma
`storage:link`, i bez zadania cron — wystarczy zwykły PHP 8.3 i MySQL. Instrukcja obsługi cPanel znajduje się
w zestawie.
---
## Co otrzymują Twoi gracze
**Katalog, który warto przejrzeć.** Okładka, znaczniki kategorii, szybkie wyszukiwanie oraz informacja „Korzysta z tego N graczy”
Możesz liczyć na każdy utwór, który zawiera utwory wybrane w grze, a nie tylko te z witryny internetowej.
**Podgląd w przeglądarce.** Prześlij krótki fragment każdego utworu, a gracze będą mogli go odsłuchać przed podjęciem decyzji,
zamiast wybierać nazwę na ślepo i czekać na kolejną rundę MVP.
**Wystarczy jedno kliknięcie, by ustawić swój motyw muzyczny** — konkretny utwór, odtwarzanie losowe wszystkich utworów lub odtwarzanie losowe
w ramach jednej kategorii. Te same trzy opcje, które oferuje menu w grze.
**Najpopularniejsze utwory tygodnia i transmisja na żywo.** Pięć najczęściej odtwarzanych utworów z ostatnich siedmiu dni oraz ostatnie
osiem nagród MVP na bieżąco. Dzięki temu strona wydaje się żywa i dyskretnie promuje Twój serwer.
**Profil użytkownika** (`/me`): jego aktualny utwór przewodni, historia tytułów MVP, najczęściej odtwarzane utwory oraz
przełącznik wyciszający hymny innych graczy, który zaczyna działać w trakcie rozgrywki.
**Utwory VIP są oznaczone.** Witryna odzwierciedla limit darmowych utworów ustalony przez wtyczkę i oznacza wszystko, co wykracza poza ten limit
to, dzięki czemu gracze mogą sprawdzić, co odblokowuje dana ranga VIP. Wtyczka zajmuje się faktycznym egzekwowaniem tych zasad.
---
## Co zyskujesz jako administrator
**Utwory.** Dodawanie, edycja, ukrywanie lub usuwanie. Przesyłanie okładek, przesyłanie fragmentów podglądu, kategoria, w grze
uprawnienia, kolejność sortowania. Ukrycie utworu powoduje usunięcie go z menu bez utraty wyboru użytkownika — to
wraca dokładnie taki, jaki był.
**Oznaczenie „nigdy nie odtworzono”.** Wtyczka oznacza każdy utwór, który udało się odtworzyć. Każdy utwór, który ma
Zostanie to dla Ciebie zaznaczone jako „nigdy nie ostemplowane” – w ten sposób można wykryć nazwę zdarzenia dźwiękowego, która została wpisana nieprawidłowo
kilka miesięcy temu i od tamtej pory stopniowo przestaje działać.
**Kategorie.** Twórz gatunki, przypisuj każdemu z nich kolor, ustawiaj opcjonalne uprawnienia w grze, które blokują
cały gatunek, zmienić ich kolejność — wszystko bezpośrednio na stronie, bez konieczności jej opuszczania.
**Gracze.** Wszyscy, którzy wybrali hymn, ich wybór oraz przycisk resetowania.
**Pulpit nawigacyjny** przedstawiający liczbę odtworzeń dziennie w ciągu dwóch tygodni, najpopularniejsze utwory z ostatnich 30 dni, najnowsze
logowania oraz lista graczy wskazująca utwory, które są obecnie ukryte.
---
## Logowanie i dostęp
Logowanie odbywa się **wyłącznie** za **pomocą** **Steam OpenID** — strona nigdy nie ma wglądu w hasło ani go nie przechowuje. Steam zwraca
SteamID; interfejs API sieciowy udostępnia nazwę i awatar.
Uprawnienia administratora to lista identyfikatorów SteamID64 zawartych w `.env`pliku – celowo **nie jest** to flagą bazy danych.
Żadne zdarzenie mające miejsce w bazie danych lub w panelu administracyjnym nie może spowodować nadania komukolwiek uprawnień administratora.
Przesłane okładki są ponownie kodowane po stronie serwera do postaci kwadratowych obrazów w formacie WebP. Zdjęcie z telefonu o rozmiarze 5 MB staje się
Plik o rozmiarze około 40 KB, a w katalogu głównym serwisu lądują wyłącznie piksele – niezależnie od tego, co podano w informacji o przesłanym pliku.
---
## W jaki sposób komunikuje się z wtyczką
Obie strony korzystają z tych samych tabel`mvp_music_*`. Wtyczka pobiera zmiany w katalogu zgodnie z ustalonym przez użytkownika harmonogramem
(domyślnie: co 10 sekund) i odczytuje wybory, gdy gracz nawiąże połączenie; strona internetowa odczytuje i zapisuje
te same wiersze.
- Utwory dodane, edytowane lub ukryte na stronie trafiają na serwer w ciągu kilku sekund. Zdarzenie dźwiękowe nadal
musi znajdować się w Twoim dodatku do warsztatu — strona internetowa go rejestruje, ale nie przesyła plików audio do CS2.
- Przełączniki i regulator wyciszenia działają w obu kierunkach – nie trzeba ponownie podłączać.
- Każdy hymn odtworzony w grze wzbogaca historię serwisu, tabele wyników oraz oznaczenie „nigdy nie odtworzony”.
- Zmiana nazwy zdarzenia dźwiękowego lub skrótu kategorii nie powoduje utraty wybranych elementów ani historii. Nikt niczego nie traci.
Wystarczy wyłączyć integrację ze stroną internetową w ustawieniach wtyczki, a dane w tabelach serwisu pozostaną nienaruszone.
---
## Wymagania
| | |
|---|---|
| Wtyczka Custom MVP Music | sprzedawane osobno — niezbędne |
| PHP | wersja 8.3 lub nowsza, z rozszerzeniem GD dla okładek |
| MySQL / MariaDB | ta sama baza danych, z której korzysta wtyczka |
| Domena z protokołem HTTPS | Steam przekierowuje wyłącznie z powrotem do dokładnie tego samego publicznego adresu URL |
| Klucz API serwisu Steam | za darmo, na platformie Steam |
Laravel 13, Tailwind CSS v4 i Alpine.js. Arkusz stylów jest dostarczany w postaci gotowej, a biblioteka Alpine jest udostępniana z
własny serwer, więc nie jest tu wykorzystywany ani Node, ani CDN.
---
## Co otrzymujesz
- Cała strona, gotowa do umieszczenia w sieci.
- `DEPLOY.md`: szczegółowa instrukcja wdrażania cPanel krok po kroku, obejmująca konfigurację katalogu głównego dokumentów oraz
`.env` klucze oraz uwaga dotycząca zdalnego dostępu do MySQL.
- Program demonstracyjny, który wypełnia serwis przykładowymi utworami, odtwarzaczami oraz historią odtwarzania z ostatnich dwóch tygodni, więc
można obejrzeć gotowy produkt, zanim zacznie się korzystać z rzeczywistych danych.
- Tabele bazy danych są tworzone przez tę stronę, która uruchomi się jako pierwsza. Nie ma żadnego kodu SQL do zaimportowania.
---
## Wersja
**1.0** — aktualna wersja.
---
## Licencja i wsparcie techniczne
- Korzystaj z niego na dowolnej liczbie własnych serwerów i w dowolnej liczbie społeczności, tak długo, jak chcesz.
- Zabrania się dalszego rozpowszechniania, odsprzedaży, udostępniania lub publikowania tych plików, w całości lub w części.
- Aktualizacje tej głównej wersji są bezpłatne.
- Po dostarczeniu plików nie przysługuje zwrot kosztów — powyższe wymagania zostały wymienione w całości, więc
Przed zakupem upewnij się, że Twoja konfiguracja jest zgodna.
Chętnie odpowiemy na wszelkie pytania przed dokonaniem zakupu.
---
*Custom MVP Music — Strona internetowa · autor: illusion @ CodeStrike*