# 🎮 PanelSIX




## 🚀 Modułowa platforma do zarządzania serwerami Counter-Strike 1.6
**PanelSIX** to nowoczesna platforma internetowa przeznaczona dla właścicieli serwerów Counter-Strike 1.6 oraz sieci gamingowych.
Łączy w sobie publiczną stronę z grami z rozbudowanym panelem administracyjnym, dzięki czemu możesz zarządzać wszystkim z jednego miejsca.
Opracowane przez **illusion** @ https://codestrike.store
---
## ⭐ Dlaczego PanelSIX?
PanelSIX powstał z myślą o prawdziwych społecznościach — to nie tylko skrypt, ale platforma, która rozwija się wraz z Tobą.
- 🎮 Stworzony specjalnie z myślą o ekosystemach serwerów CS 1.6
- 🌗 Domyślnie ciemny, jasny motyw jednym kliknięciem
- 📊 Statystyki i wykresy na żywo na pulpicie nawigacyjnym i stronie głównej
- 📱 W pełni responsywna — na komputerze, tablecie i telefonie
- ⚡ Szybkie i lekkie, bez etapu kompilacji
- 🔌 Architektura przystosowana do rozszerzeń
- 🔒 Domyślnie zabezpieczone
Niezależnie od tego, czy zarządzasz jednym serwerem, czy całą siecią, PanelSIX dostosowuje się do Twojego sposobu pracy.
---
## 📖 Przegląd
PanelSIX oferuje:
- **Publiczna strona internetowa poświęcona grom**, na której gracze mogą przeglądać aktywne serwery, dołączać do nich przez Steam, sprawdzać listę graczy, listę zbanowanych, listę graczy z ograniczeniami, listę administratorów, aktualności i nowości.
- **Bezpieczny panel administracyjny**, w którym właściciele zarządzają serwerami, administratorami, blokadami, ograniczeniami wypowiedzi, poziomami dostępu, treściami, użytkownikami panelu oraz rozszerzeniami.
Wszystko jest zintegrowane w ramach jednej platformy, charakteryzującej się jednolitym wyglądem i motywem przewodnim.
---
## ✨ Funkcje
### 🎨 Projektowanie
| Funkcja | Opis |
|---|---|
| Motyw ciemny / jasny | Domyślnie włączony jest tryb ciemny. Przełącznik znajduje się na pasku bocznym, górnym pasku, stronie logowania oraz w instalatorze, a jego ustawienie jest zapamiętywane dla każdej przeglądarki z osobna. |
| Nowoczesny interfejs użytkownika w grach | Pogrubiona czcionka, karty w stylu HUD, tła map na kartach serwerów |
| Responsywny | Mobilny górny pasek z wysuwanym menu; tabele przewijają się w poziomie na małych ekranach |
| Dwa układy | Pasek boczny (domyślny) lub pasek nawigacyjny u góry – opcja do wyboru w ustawieniach witryny |
### 🌐 Strona internetowa dostępna publicznie
| Funkcja | Opis |
|---|---|
| Strona główna | Bohater z aktualną liczbą graczy, przyciskiem „Zagraj teraz” oraz statystykami platformy |
| Serwery | Karty serwerów na żywo z tłem mapy, paskiem graczy, opcją skopiowania adresu IP oraz dołączeniem przez Steam |
| Szczegóły serwera | Aktualizowana na bieżąco lista graczy z liczbą fragów, czasem gry oraz oznaczeniami dotyczącymi botów i komunikatów serwera |
| Statystyki | Serwery, gracze, administratorzy, blokady, ograniczenia, posty oraz 14-dniowy wykres moderacji |
| Lista zablokowanych | Wyszukiwanie, znaczniki statusu (aktywny, stały, wygasły, odblokowany) oraz pozostały czas |
| Lista gagów | Wyszukiwanie, rodzaj komunikacji (czat / głos / oba) oraz pozostały czas |
| Lista administratorów | Karty pracownicze z informacją o stanowisku i dacie ważności |
| Aktualności i nowości | Karty z obrazkami, strony szczegółowe z informacją o czasie czytania oraz powiązane wpisy |
### 🔧 Panel administracyjny
| Moduł | Funkcje |
|---|---|
| Pulpit nawigacyjny | Wskaźniki KPI (gracze, serwery, aktywne blokady i ograniczenia, administratorzy, treści), wykres 14-dniowych blokad/ograniczeń, podział blokad według statusu, najnowsze blokady i ograniczenia, najczęstsze przyczyny blokad, najbardziej aktywni administratorzy, tabela serwerów, szybki dostęp |
| Serwery | Dodawanie, edycja i zarządzanie serwerami |
| Administratorzy | SteamID / adres IP / pseudonim administratorów wraz z datami wygaśnięcia |
| Poziomy dostępu | Wstępne ustawienia uprawnień |
| Zakazy | Wyświetlanie, edytowanie, znoszenie i usuwanie blokad |
| Żarty | Zarządzaj ograniczeniami dotyczącymi czatu i rozmów głosowych |
| Redaktor działu wiadomości | Edytor tekstu sformatowanego |
| Redaktor aktualizacji | Opublikuj zmiany na serwerze |
| Użytkownicy panelu | Zarządzaj tym, kto może zalogować się do panelu |
| Rozszerzenia | Instalowanie oficjalnych rozszerzeń i zarządzanie nimi |
| Ustawienia strony | Nazwa, adres URL, linki do mediów społecznościowych, układ strony i system blokad |
---
## 🔌 System rozszerzeń
PanelSIX opiera się na modułowym ekosystemie. Rozszerzenia dodają nowe funkcje bez konieczności modyfikowania podstawowego panelu i automatycznie dostosowują się do motywu panelu.
Rozszerzenia instaluje się z oficjalnego sklepu CodeStrike. Odinstalowanie rozszerzenia powoduje usunięcie jego tabel bazy danych — jeśli chcesz je tylko wyłączyć, wystarczy je dezaktywować.
---
## 💻 Wymagania
### Minimum
- PHP 7.0+ (działa na PHP 7.x i 8.x)
- MySQL 5.7 lub nowszy albo MariaDB 10.2 lub nowszy
- Apache lub Nginx
- Rozszerzenia PDO, cURL i JSON
### Polecane
- PHP 8.1 lub nowsze
- MySQL 8 i nowsze wersje
- Włączono protokół HTTPS
- mod_rewrite
- Rozszerzenie DOM (najlepsze oczyszczanie treści wiadomości i aktualizacji)
---
## 🚀 Instalacja
### Krok 1 — Prześlij pliki
Prześlij PanelSIX do katalogu hostingowego:
```
/var/www/html/panelsix/
```
---
### Krok 2 — Uruchom instalator
Otwórz w przeglądarce:
```
http://your-domain.com/install.php
```
Postępuj zgodnie z instrukcjami kreatora konfiguracji:
1. Witamy
2. Konfiguracja bazy danych
3. Utwórz konto administratora
4. Zakończ instalację
Po zakończeniu instalacji nastąpi automatyczne zalogowanie.
W kroku 2 należy wybrać tryb instalacji:
- **Instalacja od nowa** powoduje usunięcie tabel PanelSIX i utworzenie ich ponownie z danymi domyślnymi. Pozostałe tabele w tej samej bazie danych, na przykład tabele wtyczek serwera gry, pozostają nienaruszone.
- **Funkcja „Migracja / Aktualizacja”** służy do aktualizacji starszej wersji PanelSIX. Wszystkie tabele i dane zostają zachowane. Instalator porównuje bazę danych z i`SQL/PanelSIX.sql` dodaje wyłącznie brakujące tabele, kolumny, klucze główne oraz AUTO_INCREMENT. Istniejący użytkownicy panelu i ustawienia zostają zachowane, a w kroku 3 wyświetlany jest raport zawierający wszystkie zmiany. Funkcję tę można bezpiecznie uruchamiać wielokrotnie.
W obu trybach najpierw`backups/` tworzona jest pełna kopia zapasowa. Jeśli tworzenie kopii zapasowej nie powiedzie się, nic nie ulega zmianie.
---
### Krok 3 — Bezpieczeństwo
Usuń instalator:
```
rm install.php
```
---
### Krok 4 — Wejdź do panelu administracyjnego
```
http://your-domain.com/admin/
```
---
## ⬆️ Aktualizacja z wersji 1
1. Utwórz kopię zapasową plików i bazy danych.
2. Prześlij nowe pliki, zastępując nimi stare.
3. Usuń`install.lock`, otwórz`install.php`, wprowadź ponownie dane bazy danych w kroku 2 i wybierz opcję **„Migracja / Aktualizacja**”.
4. Wyczyść raz pamięć podręczną przeglądarki, aby załadował się nowy wygląd strony.
W przypadku projektu w wersji 2 nie są wymagane żadne zmiany w bazie danych — Twoje dane pozostają bez zmian.
---
## 🎮 Integracja serwerów gier
PanelSIX zarządza administratorami serwerów poprzez połączenie z bazą danych, korzystając z **oficjalnych wtyczek AMX Mod X,** które są dostarczane wraz z każdym serwerem.
### Jak załadować administratorów z bazy danych
1. **Włącz wtyczkę administracyjną SQL:**
- Otwórz `cstrike/addons/amxmodx/configs/plugins.ini`.
- Wyłącz domyślną wtyczkę administratora: `;admin.amxx`(dodaj średnik).
- Włącz wtyczkę SQL admin: `admin_sql.amxx`(usuń ewentualny średnik).
2. **Skonfiguruj połączenie z bazą danych:**
- Otwórz `cstrike/addons/amxmodx/configs/sql.cfg`.
- Wprowadź dane bazy danych (serwer, nazwa użytkownika, hasło, nazwa bazy danych), których używałeś podczas instalacji.
3. **Zrestartuj serwer:**
- Uruchom ponownie serwer lub wpisz `amx_reloadadmins`w konsoli.
PanelSIX wykorzystuje standardową nazwę tabeli`diveban_admins`, aby zapewnić pełną kompatybilność.
### System blokad
PanelSIX obsługuje dwie wtyczki blokujące. Instalator pyta, której z nich należy użyć, a wybór ten można później zmienić w **Panelu administracyjnym → Pulpit nawigacyjny → Ustawienia witryny → System blokowania**.
| System blokad | Tabela | Uwagi |
|---|---|---|
| **Diveban X** (domyślnie) | `divebanx` | Zawarte w `plugins/`. |
| **System blokad CodeStrike** | `codestrike_bans` | Sprzedawane osobno. W `addons/amxmodx/configs/CodeStrikePlugins/codestrike_bans.ini`zestawie `Type = mysql``Table = codestrike_bans`oraz te same dane bazy danych co w przypadku PanelSIX. Zniesienie blokady w panelu `amx_unban`powoduje zachowanie tego zapisu w historii, tak samo jak w przypadku . |
### System kneblowania
Komendy są odczytywane z tabeli`gag_system` wtyczki ILLUSION GAG System (dołączonej do `plugins/`). `gag_time`oznacza czas trwania w minutach, a `expire_time`– czas zakończenia; `-1`oznacza stałą komendę.
---
## 🆕 Co nowego w wersji 2.0
### Projekt
- **Całkowita przebudowa** strony publicznej, panelu administracyjnego oraz instalatora z wykorzystaniem jednej wspólnej szaty graficznej.
- **Domyślnie włączony jest ciemny motyw**, z możliwością przełączenia **na** **jasny**; ustawienia są zapamiętywane dla każdej przeglądarki.
- **W pełni responsywny** układ strony z górnym paskiem na urządzenia mobilne i wysuwanym menu.
- Pasek boczny administratora podzielony na sekcje: Przegląd, Serwery gier, Moderacja, Treści, System.
### Statystyki
- **Panel administratora:** gracze online i wykorzystanie slotów, serwery online, aktywne blokady i ograniczenia dostępu wraz z wykresami trendów, administratorzy gry, treści, 14-dniowy wykres blokad i ograniczeń dostępu, zestawienie statusów blokad, najnowsze blokady i ograniczenia dostępu, najczęstsze przyczyny blokad, najbardziej aktywni administratorzy oraz tabela serwerów.
- **Ostrzeżenie,** gdy uprawnienia administratorów gry wygasną w ciągu 7 dni lub już wygasły.
- **Strona główna:** aktualna liczba graczy, statystyki platformy oraz wykres aktywności moderatorów.
### Strony
- Nowa strona główna, informacje o serwerze, lista zablokowanych użytkowników, lista użytkowników z ograniczeniami, lista administratorów oraz strony z aktualnościami i informacjami o aktualizacjach.
- Nowa strona logowania i strona z rozszerzeniami.
- Listy zablokowanych i ukrytych wpisów zachowują tekst wyszukiwania, wyświetlają znaczniki statusu i pozostały czas oraz wykorzystują zwięzłą paginację.
### Bezpieczeństwo i poprawki
- Treści wiadomości i aktualizacji są oczyszczane — usuwane są skrypty i atrybuty zdarzeń.
- Ochrona przed atakami CSRF w ustawieniach serwisu oraz podczas instalacji, włączania, wyłączania i odinstalowywania rozszerzeń.
- Identyfikator sesji jest generowany na nowo przy logowaniu.
- Stałe ograniczenia były wyświetlane na publicznej liście ograniczeń jako „bez ograniczeń”.
- Podświetlanie pozycji menu na stronach dodawania/edycji oraz linków do menu rozszerzeń na stronach rozszerzeń.
---
## 📁 Struktura projektu
```
panelsix/
├── admin/ Admin panel pages
│ └── includes/ Admin navigation
├── assets/
│ ├── css/ panelsix.css — design system and themes
│ ├── js/ panelsix.js — theme switch, menus, charts
│ └── images/ Logos, map backgrounds, post images
├── backups/ Installer backups
├── cache/ Server status cache (5 minutes)
├── cron/ Scheduled cleanup scripts
├── extensions/ Installed extensions
├── includes/ Shared header, navigation, footer, statistics, content sanitizer
├── plugins/ AMX Mod X plugins (Diveban X, GAG System)
├── protected/ Database connection, settings, ban system
├── SQL/ Database schema
├── index.php
├── install.php
└── README.md
```
---
## 🔒 Bezpieczeństwo
PanelSIX posiada wbudowane zabezpieczenia:
- Tokeny CSRF
- Gotowe oświadczenia
- Filtrowanie XSS i oczyszczanie tekstu sformatowanego
- Bezpieczne haszowanie haseł (BCRYPT)
- Zabezpieczenia sesji (identyfikator odnawiany przy logowaniu)
- Weryfikacja danych wejściowych
### Zalecenia
- Usuń `install.php`
- Używaj protokołu HTTPS
- Nie ujawniaj danych logowania do bazy danych
- Regularnie twórz kopie zapasowe
- Zabezpiecz katalog`/protected`
---
## 🎨 Technologie
- PHP 7.0+ / 8.x
- MySQL / MariaDB
- Tailwind CSS
- Chart.js
- CKEditor 5
- SweetAlert2
- Czcionki Google (Chakra Petch, Inter, JetBrains Mono) oraz ikony Material
---
## 📞 Pomoc techniczna
Strona internetowa: https://codestrike.store
Discord: Oficjalny serwer społeczności
Kontakt: Formularz kontaktowy na stronie internetowej
---
## 📄 Licencja
© PanelSIX — Wszelkie prawa zastrzeżone.
To oprogramowanie jest chronione prawami autorskimi. Niedozwolone jest jego rozpowszechnianie bez zezwolenia.
---
**Stworzone z ❤️ i ☕ przez illusion @ codestrike.store**