Autor: Pavulon
Wersja: 1.1 beta
Opis
Rezerwacje nicków znajdują się w bazie MYSQL dzięki czemu kilka serwerów może mieć te same rezerwacje bez dodatkowego ustawiania.
Admin przez www ma możliwość akceptowania rezerwacji (tj. nick po amx_resnick nie jest od razu zarezerwowany żeby uniknąć nieporozumień), usuwania próśb o rezerwacje, usuwania rezerwacji lub dodawania nowych oraz edytowania aktualnych.
Rezerwacja ta nie koliduje z adminami i rezerwacjami slotów gdyż bazuje na innych danych i haśle zapisanym w
a nie standardowo _pw.setinfo _res twoje_haslo
Jest to dopiero wczesna wersja BETA, ale już powinna spełniać wszystkie wymogi. Z czasem czekają ją poprawki oraz dodatkowe funkcjonalności.
Instalacja
Zawartość folderu hlds kopiujemy/przenosimy do katalogu cstrike w naszym serwerze CS.
Zawartość folderu www kopiujemy/przenosimy do katalogu głównego(dowolnego) na naszym serwerze WWW.
Zawartość pliku srn.sql można wkleić do phpMyAdmin'a, lecz nie jest to obowiązkowe gdyż tak plugin jak i skrypt .php powinny stworzyć odpowiednie tabele.
Wymagane
serwer WWW (nie jest wymagany do końca bo i bez niego główne funkcje będą zachowane)
serwer MYSQL
odblokowany moduł mysql
Dalsza instalacja i Konfiguracja
HLDS - Cvary:
srn_sql_host "localhost" //adres Bazy Danych
srn_sql_user "user" //uzytkownik BD
srn_sql_pass "password" //haslo uzytkownika BD
srn_sql_db "database" //nazwa BD
srn_res_time "2592000" //czas rezerwacji 2592000s = 30*24*60*60 = 30 dni
srn_spam_delay "60" //czas po jakim jest info o rezerwacji 60 s
srn_maxres "1" //maksymalna liczba zarezerwowanych nickow na osobe
Jeżeli chcemy wyłączyć rezerwacje z poziomu CS'a ustawiamy srn_maxres "0"
WWW:
Po wrzuceniu wszystkich plików na serwer i przejściu do katalogu SRN (przykladowy_host.pl/SRN ) powinniśmy zostać automatycznie przekierowani na stronę SRN/setup.php która przeprowadzi nas przez konfigurację serwera mysql, tworzenie tabel i dodanie admina.
Jeżeli instalacje przejdzie pomyślnie to powinien zostać stworzony plik config.php o treści podobnej do tego:
<?php
$db_host = "ip.serwera";
$db_name = "nazwa_bazydanych";
$db_username = "uzytkownik_bazydanych";
$db_passwd = "haslo_bazydanych";
$maxres = "1";
$regactive = "1";
$captcha = "1";
$publickey = "klucz_publiczny_recaptcha";
$privatekey = "klucz_prywatny_recaptcha";
$mail = "2";
$smtphost = "adres.serwera.smtp";
$smtpport = "portserwerasmtp";
$smtpuser = "[email protected]";
$smtppass = "haslo_smtp";
?>
Jeżeli po instalacji chcemy zmienić maksymalną ilość rezerwacji na osobę to zmieniamy wartość
$maxres = "1";natomiast jeżeli chcemy wyłączyć rezerwacje z poziomu WWW (admini nadal będą mogli je dodawać) to ustawiamy:
$maxres = "0";Jeżeli chcemy wyłączyć możliwość rejestracji nowych kont to ustawiamy:
$regactive = "0";
Admini:
Innych adminów jak i użytkowników można dodawać z panelu lub po zarejestrowaniu się użytkownika możemy zmienić jego poziom.
Dostępne poziomy to:
HEAD ADMIN => może dodawać/edytować/usuwać użytkowników i przeglądać historie
ADMIN => może dodawać/edytować/usuwać rezerwacje użytkowników
USER => może dodawać/usuwać prośby i usuwać rezerwacje
Autoryzacja:
Istnieje możliwość zmiany powiązania rezerwacji z danym graczem.
Żeby zmienić zapis należy w kodzie zmienić linijkę:
//0 - automatycznie, 1 - steamid, 2 - ip #define auth 0
0: standardowo zapisuje na SteamID, ale jeżeli SteamID to STEAM_ID_LAN, STEAM_ID_PENDING itd to zapisuje na IP
1: zawsze zapisuje na SteamID
2: zawsze zapisuje na IP
Po tej zmianie kod należy ponownie skompilować.
WAŻNE !!
Jeżeli posiadamy serwer NS+S (Dproto) to koniecznie musimy edytować plik dproto.cfg i do pola ValidInfoFields_Engine dodać \_res czyli przykładowo musimy otrzymać:
(Tylko w starszych wersjach dproto o ile w dproto.cfg znajduje się wpis ValidInfoFields_Engine)ValidInfoFields_Engine = \name\bottomcolor\topcolor\model\cl_lc\cl_lw\cl_updaterate\cl_dlmax\rate\_pw\*hltv\password\_res
Komendy:
Aby wejść w menu wystarczy wpisać na chacie "rezerwacja"

say rezerwacja

Gdzie mamy możliwość I.1. Dodania, I.2. Edytowania, I.3. Usuwania, I.4. Listingowania rezerwacji, I.5. wyświetlenia informacji o SRN, I.6. adminowania
Edytować możemy I.2.a login i/lub I.2.b hasło
W menu adminowania możemy II.1. Przeładować, II.2. Usuwać rezerwacje, II.3. Zarządzać prośbami
Prośby możemy II.3.a Akceptować i II.3.b Odrzucać
Wszystko z menu.

Podczas dodawania mamy wyświetlony nick i hasło, więc w razie potrzeby możemy poprawić dane.

Podczas edytowania wyświetlony zostaje nick oraz gwiazdki zamiast hasła. W przypadku gdy zmieniliśmy hasło to do czasu akceptacji będzie ono wyświetlane.

Po dodaniu rezerwacji lub zmianie hasła do konsoli wysyłana jest automatycznie komenda setinfo z odpowiednimi danymi, lecz jeżeli gracz posiada config tylko do odczytu to musi również zapisać ją do pliku ręcznie.
Nie ma możliwości przypomnienia hasła. Wszystkie są kodowane algorytmem md5.
Póki co dostępny jest tylko język polski gdyż ta aktualizacja sprawiła że słownik rozrósł się i tłumaczenie zeszło na dalszy plan.
Wszystko co jest wyświetlane od menu przez chat do konsoli jest edytowalne w słowniku, więc każdy wybierze coś dla siebie.


Obsługa WWW:
Obsługa powinna być intuicyjna. Zaczynamy od wejścia do katalogu głównego SRN(http:// przykladowy_host.pl/SRN ) lub pliku SRN/srn.php(http:// przykladowy_host.pl/SRN/srn.php).
Tam logujemy się używając loginu i hasła podanego przy instalacji lub rejestracji.
Po poprawnym zalogowaniu się mamy dostęp do wszystkich właściwych dla naszego poziomu funkcji.

Przy każdej opcji wyświetlana jest ilość rekordów (np. rezerwacji oczekujących czy użytkowników).
Jeżeli nick rezerwuje zwykły użytkownik to musi być on zaakceptowany przez admina, natomiast jeżeli admin rezerwuje to jest on automatycznie akceptowany.

W wersji 1.1 pojawiło się wsparcie reCAPTCHA i maili.
reCAPTCHA jest wykorzystyna do operacji na użytkownikach a konkretniej do rejestracji i odzyskiwania hasła, zapewnia ochronę przed robotami.

1. Korzystamy z wewnętrznego serwera dostępnego w naszym hostingu.
2. Korzystamy z zewnętrznego serwera SMTP (np. gmail)
Jeżeli zostanie włączona jedna z opcji maila to podczas zakładania konta na adres email zostanie wysłane losowe hasło,

oraz istnieje możliwość odzyskania zapomnianego hasła(zmiany na nowe).

p.s.
Kolejnych aktualizacji nie przewiduje.