AMX-X Bans - Nowoczesny rework standardowe...
Mesharsky
18.11.2024
AMX-X Bans - Rework starego skryptu amxbans
AMX-X Bans to mój pierwszy web projekt, który napisałem w Laravelu. Miał on zastąpić starą wersję skryptu amxbans.
Jest ukończony w 90% i jest w pełni używalny, oferując dużo większe bezpieczeństwo niż oryginalny skrypt amxbans.
Projekt został napisany w 2023 roku. Choć nie jestem w pełni zadowolony z efektu końcowego, udostępniam go, aby potencjalne osoby mogły go używać i rozwijać.
Dla poprawnego działania skryptu konieczne jest wgranie dedykowanego pluginu, napisanego przez [user]@Boski Z Polski[/user], na serwer gry.
Ze względu na nową strukturę tabel i kodu, integracja z oryginalnym amxbans nie jest możliwa.
Wymagania do instalacji
- PHP 8.2
- Zmiana ROOT directory na public_html/public (Wersja bez wymaganej zmiany ROOT directory zostanie opublikowana w późniejszym czasie)
- OK: 200-300 MB wolnego miejsca na hostingu
Zalety / Opcje AMX-X Bans
- Dużo bezpieczniejszy i nowoczesny skrypt.
- Przyjemny design oraz layout przystosowany na telefony i tablety (pełne RWD).
- Wyszukiwarka.
- Lista adminów.
- Lista serwerów.
- Szczegółowe informacje o banach.
- Panel admina do zarządzania serwerami, adminami oraz banami online.
- Łatwy konfigurator strony (nie wszystkie opcje zaimplementowane).
- Zoptymalizowana aplikacja – działa płynnie nawet z 500k banów (testowane).
- Opcja skonfigurowania pola, gdzie gracz ma się odwołać po banie.
- Bardzo prosty instalator strony.
- Logowanie przez Steam oraz standardowe (login i hasło).
- System uprawnień dla adminów strony.
- I wiele więcej...
Plugin AMX-X Bans
- Napisany od zera specjalnie pod ten projekt.
- Plugin posiada standardowy system admina, opcję screenów i wiele więcej.
- Wsparcie users.ini.
Proces instalacji (Wideo)
Link do instrukcji wideo: https://streamable.com/63jx3l
Instalacja WEB
- Pobierz załącznik AMX-X Bans - Release - Stable.zip.
- Rozpakuj zawartość folderu "web" do "public_html".
- Zmień katalog główny domeny/subdomeny na: public_html/public.
Jeżeli nie masz takiej możliwości, napisz do mnie na Discordzie: mesharsky. Przygotuję paczkę bez tej potrzeby, do czasu wypuszczenia dedykowanej wersji. - Przygotuj steam_api_key oraz dane do bazy danych.
- Po otwarciu strony ukaże się instalator. Wystarczy go przejść krok po kroku.
Instalacja PLUGINU CS 1.6
Uwaga: Wymagane jest dodanie serwera w panelu admina strony i wygenerowanie klucza serwera.
- Wgraj całą zawartość pluginu na FTP swojego serwera.
- Skonfiguruj plik: amxbansx.cfg (znajduje się w folderze configs) - Oraz: amxbansx_reasons.ini - Ustawiacie powody banów.
- Do pliku plugins.ini dodaj na samą górę w tej kolejności:
amxbansx_api.amxx amxbansx_admin.amxx
Zakomentuj linijkę:
;admin.amxx
- Zrestartuj serwer. Po poprawnej konfiguracji status "Połączono" powinien widnieć w panelu admina.
Komendy pluginu
- amx_reloadadmins
- amx_ip
- amx_ban
- amx_ban_menu
W amxmodmenu znajdziesz opcję screenów.
Wsparcie i rozwój
W razie problemów, zapraszam na PW na forum lub kontakt na Discordzie: mesharsky.
Postaram się w przyszłości bardziej rozbudować ten temat.
Pozdrawiam i miłego korzystania!
Załączone pliki
Kowalsky
18.11.2024
Brak paginacji, sortowania, filtrowania w AdminListController.
Nie widzę dodawania bana przez stronę w BanController?
Walidacje w kontrolerze. Raz po angielsku, raz po polsku. Raz return()->back(), raz redirect() i to nie na route name tylko na ścieżkę.
Szkoda, że nie Socialite tylko jakaś rzeźba w logowaniu przez Steam.
Przy Spatie Permission możnaby wykorzystać middleware w route - po co tworzyć middleware i implementować je w Kernel.php
Słabo.
Boski Z Polski
18.11.2024
Nie ukrywam, że projekt bansa był pisany 7 miesięcy temu i wiele rzeczy może nie do końca działać tak jak powinno lub nie zostało dobrze przetestowane. Postaram się do tygodnia wrzucić poprawioną wersję kodu na reapi.
Mesharsky
19.11.2024
Brak paginacji, sortowania, filtrowania w AdminListController.
Nie widzę dodawania bana przez stronę w BanController?
Walidacje w kontrolerze. Raz po angielsku, raz po polsku. Raz return()->back(), raz redirect() i to nie na route name tylko na ścieżkę.
Szkoda, że nie Socialite tylko jakaś rzeźba w logowaniu przez Steam.
Przy Spatie Permission możnaby wykorzystać middleware w route - po co tworzyć middleware i implementować je w Kernel.php
Słabo.
Dziękuje za opinię.
Tak, to była moja pierwsza aplikacja w Laravelu, ogółem web aplikacja jaką w życiu napisałem. Także pewnie sporo rzeczy da się zrobić lepiej, w sumie nie pewnie tylko na pewno. Tak czy inaczej moim zdaniem fajnie wyszło i wszystko działa jakoś sprawnie.
Chętnie bym to przepisał, ale za dużo na to czasu idzie, a sam ten projekt zajął mi ponad pół roku. Tym bardziej że nie tworzę stron WWW to samo stylowanie tego zajmuje masakryczną ilość czasu.
Jeżeli nie masz zamiaru używać, nie musisz, stary bans dalej jest drugą opcją.
Pozdrawiam
Użytkownik Mesharsky edytował ten post 19.11.2024 00:04
Mesharsky
20.11.2024
Dziękujemy za włożoną pracę. Chętnie przetestuję w wolnej chwili.
Dziękuje bardzo za docenienie, mało osób to potrafi w tych czasach.
Jakby ktoś chciał demo zobaczyć projektu, można skorzystać z tego linku: KLIKNIJ TUTAJ
Login: DemoAccess
Hasło: Demo123!
Mesharsky
20.11.2024
Mini update.
Jeżeli nie macie jak zmienić katalogu głównego z public_html na public_html/public
Dodajcie w folderze: public_html plik .htaccess z taką zawartością:
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule> <FilesMatch "\.(env|env\.example|gitignore|gitattributes|composer\.(json|lock)|phpunit\.xml|README\.md|artisan|composer\.phar)$"> Order allow,deny Deny from all </FilesMatch> Options -Indexes <IfModule mod_rewrite.c> RewriteRule ^(storage|vendor|node_modules|tests|config|app|bootstrap|resources|database|routes)/ - [F,L,NC] </IfModule> <Files .htaccess> Order allow,deny Deny from all </Files>
Wtedy aplikacja powinna działać poprawnie bez żadnych błędów.
Na hostingach gdzie macie nginx który nie wspiera plików .htaccess, musicie poczekać na osobną paczkę.
Łysy CS-RzeZnia.eu
11.12.2024
Dziękujemy za włożoną pracę. Chętnie przetestuję w wolnej chwili.
Dziękuje bardzo za docenienie, mało osób to potrafi w tych czasach.
Jakby ktoś chciał demo zobaczyć projektu, można skorzystać z tego linku: KLIKNIJ TUTAJ
Login: DemoAccess
Hasło: Demo123!
Czy login i hasło można zaktualizować chciałbym przed instalacją sprwdzić jak wygląda wszystko po zalogowaniu.
Niestety wpisywane dane nie pasują.
Lakrous
30.03.2025
To ja odświeżę temat.
Bansik działa bardzo dobrze, delikatnie zmodyfikowałem funkcje sprawdzającą wymagania i nie widze zastrzeżeń.
Kawał dobrej roboty.
wonsz żeczny
31.03.2025
Zainstalowałem i wygląda to super, będzie testowane.
Jedynie brakuje amxbansx.inc w folderze scripting.
Dobra robota, pozdrawiam.
SuperOnyx
16.05.2025
Hej, mam błąd z łączeniem się z bazą po stronie serwera cs 1.6
To pojawia się w konsoli po starcie:
couldn't exec banned.cfg couldn't exec listip.cfg [AMX-X Bans] Bledny klucz serwera (#2.2)
A to mam uzupełnione w amxbansx.cfg (oczywiście dane do bazy tj. db, pass, host i user są prawidłowe i sprawdzane (te same co web)) - po stronie bazy danych też dopuściłem ip serwera cs
Uzupełniam tylko 4 pierwsze linie, czyt sql server key też trzeba uzupełnić?
amx_bansx_sql_host "host" // bans host amx_bansx_sql_user "user" // bans user amx_bansx_sql_pass "hasło" // bans password amx_bansx_sql_db "db" // bans database amx_bansx_sql_server_key "" // server key amx_bansx_static_server_ip "" // ip addres amx_bansx_static_server_port "" // ip port amx_bansx_sql_show_error "1" // show sql error amx_bansx_sql_reconnect "0" // reconect to bans after fail connect amx_bansx_read_from_sql "1" // read admin from sql amx_bansx_read_from_file "1" // read admin from users.ini file amx_bansx_time_to_connect "1.0" // time to connect/reconnect to bans amx_bansx_url "" // url amx_bansx_protect_hltv "1" // prevent hltv from ban amx_bansx_protect_bot "1" // prevent bot from ban amx_bansx_protect_steam_id_lan_players "0" // prevent steam id lan players from ban amx_bansx_multiserver "0" // 0 = ban from all servers in bans, 1 = ban from only this server amx_bansx_show_ban_to_players "1" // show ban info for players amx_bansx_ban_hud_x "0.2" // ban hud x position amx_bansx_ban_hud_y "0.5" // ban hud y position amx_bansx_ban_hud_time "3.0" // hud time amx_bansx_ban_kick_time "1.0" // time to kick player
SuperOnyx
16.05.2025
Hej, mam błąd z łączeniem się z bazą po stronie serwera cs 1.6
To pojawia się w konsoli po starcie:couldn't exec banned.cfg couldn't exec listip.cfg [AMX-X Bans] Bledny klucz serwera (#2.2)A to mam uzupełnione w amxbansx.cfg (oczywiście dane do bazy tj. db, pass, host i user są prawidłowe i sprawdzane (te same co web)) - po stronie bazy danych też dopuściłem ip serwera cs
Uzupełniam tylko 4 pierwsze linie, czyt sql server key też trzeba uzupełnić?
amx_bansx_sql_host "host" // bans host amx_bansx_sql_user "user" // bans user amx_bansx_sql_pass "hasło" // bans password amx_bansx_sql_db "db" // bans database amx_bansx_sql_server_key "" // server key amx_bansx_static_server_ip "" // ip addres amx_bansx_static_server_port "" // ip port amx_bansx_sql_show_error "1" // show sql error amx_bansx_sql_reconnect "0" // reconect to bans after fail connect amx_bansx_read_from_sql "1" // read admin from sql amx_bansx_read_from_file "1" // read admin from users.ini file amx_bansx_time_to_connect "1.0" // time to connect/reconnect to bans amx_bansx_url "" // url amx_bansx_protect_hltv "1" // prevent hltv from ban amx_bansx_protect_bot "1" // prevent bot from ban amx_bansx_protect_steam_id_lan_players "0" // prevent steam id lan players from ban amx_bansx_multiserver "0" // 0 = ban from all servers in bans, 1 = ban from only this server amx_bansx_show_ban_to_players "1" // show ban info for players amx_bansx_ban_hud_x "0.2" // ban hud x position amx_bansx_ban_hud_y "0.5" // ban hud y position amx_bansx_ban_hud_time "3.0" // hud time amx_bansx_ban_kick_time "1.0" // time to kick player
Naprawiłem, klucz generuje się z strony gdzie mamy amxbans po dodaniu serwera.
A czy musze stworzyć te pliki?
couldn't exec banned.cfg couldn't exec listip.cfg
?
ori
16.05.2025
Hej, mam błąd z łączeniem się z bazą po stronie serwera cs 1.6
To pojawia się w konsoli po starcie:couldn't exec banned.cfg couldn't exec listip.cfg [AMX-X Bans] Bledny klucz serwera (#2.2)A to mam uzupełnione w amxbansx.cfg (oczywiście dane do bazy tj. db, pass, host i user są prawidłowe i sprawdzane (te same co web)) - po stronie bazy danych też dopuściłem ip serwera cs
Uzupełniam tylko 4 pierwsze linie, czyt sql server key też trzeba uzupełnić?
amx_bansx_sql_host "host" // bans host amx_bansx_sql_user "user" // bans user amx_bansx_sql_pass "hasło" // bans password amx_bansx_sql_db "db" // bans database amx_bansx_sql_server_key "" // server key amx_bansx_static_server_ip "" // ip addres amx_bansx_static_server_port "" // ip port amx_bansx_sql_show_error "1" // show sql error amx_bansx_sql_reconnect "0" // reconect to bans after fail connect amx_bansx_read_from_sql "1" // read admin from sql amx_bansx_read_from_file "1" // read admin from users.ini file amx_bansx_time_to_connect "1.0" // time to connect/reconnect to bans amx_bansx_url "" // url amx_bansx_protect_hltv "1" // prevent hltv from ban amx_bansx_protect_bot "1" // prevent bot from ban amx_bansx_protect_steam_id_lan_players "0" // prevent steam id lan players from ban amx_bansx_multiserver "0" // 0 = ban from all servers in bans, 1 = ban from only this server amx_bansx_show_ban_to_players "1" // show ban info for players amx_bansx_ban_hud_x "0.2" // ban hud x position amx_bansx_ban_hud_y "0.5" // ban hud y position amx_bansx_ban_hud_time "3.0" // hud time amx_bansx_ban_kick_time "1.0" // time to kick player
Naprawiłem, klucz generuje się z strony gdzie mamy amxbans po dodaniu serwera.
A czy musze stworzyć te pliki?
couldn't exec banned.cfg couldn't exec listip.cfg?
Jak nie masz to utwórz. Domyślnie powinny być w cstrike.
Lakrous
21.05.2025
banned i listip.cfg to pliki które są zwykle tworzone przez inne systemy banów. AmxBans podejrzewam że je importuje i zapisuje na swój sposów
Lakrous
16.06.2025
Cześć.
Wszystko działa ok. Ale.. dlaczego jeśli wpisuje niepoprawne hasło to dalej mogę wejść na nick?
l3szcz
16.06.2025
Cześć.
Wszystko działa ok. Ale.. dlaczego jeśli wpisuje niepoprawne hasło to dalej mogę wejść na nick?
Bo masz niepoprawnie skonfigurowany users.ini lub konfigurację amxbans.cfg.
Lakrous
16.06.2025
Jest poprawnie
To skrypt nie wyrzuca gracza.
if(is_password) { get_user_info(index, "_pw", player_password, MAX_USER_DATA); if(!equal(admin_password, player_password)) continue; }
Jest szansa by to poprawić? Bądź udostępnić plik amxbansx.inc?