Database ORM
Wersja: 1.0.1b
Wydana: 27 Czerwiec 2014
Autor: Backstabnoob
Opis
Database ORM jest kompleksowym API przystosowany do obsługi rożnych pluginów w których chcemy zaimplementować zapis/odczyt danych z MySQL. API zostało stworzone z myślą o serwerach które są bardzo mocno obciążone przez zapytania do baz oraz o osobach które chciały by dodać zapis MySQL do pluginu lecz nie potrafią, dzięki API możemy w łatwi sposób ograniczyć ilość zapytań/połączeń oraz ogólnie zwiększyć wydajność MySQL. Do używania API zalecana jest średnia znajomość AMXX, ponieważ w przypadku złego zastosowania może to odnieś skutek odwrotny od zamierzonego
UWAGA: Należy pamiętać, że jest to wersja beta i prawdopodobnie zawiera kilka błędów. Przetestowałem to jak tylko mogłem sam, ale to jest trochę trudne bez symulacji w czasie rzeczywistym. Tak więc prosił bym osoby które tego używają na swoich serwera o zgłaszanie błędów itp.
Możliwości
System ten może być przydatny w wielu aspektach, ale są pewne rzeczy w których lepiej go nie wykorzystywać.
Możemy go wykorzystać do:
- Zapis Exp
- Statystyki Graczy
- Banki
- Statystyki Serwera
- Itp.
Nie zalecam używać go do:
- Proste rzeczy które mogą być zastąpione przez prosty config bądź też cvar.
Upraszczając: Używaj przy API zdrowego rozsądku, aby nie przesadzić
Wymagania
AMXX 1.8.3 ( do testów została użyta wersja git3921 ), na wersji 1.8.2 i niższej występują błędy.
Serwer Steam
Instalacja oraz Konfiguracja
Instalacja
Pobierz plik database_orm.sma po czym go skompiluj i wrzuć do folderu plugins.
Pobierz plik orm_config.ini po czym wrzuć go do folderu configs i uzupełnij poprawnie.
Konfiguracja
orm_hostname
Adres serwera bazy danych
orm_username
Użytkownik bazy danych
orm_password
Hasło użytkownika bazy danych
orm_database
Nazwa bazy danych
orm_saveperiod
Co ile ma być dokonywany zapis danych ( czas podajemy w sekundach ( domyślnie 1200.0 ( 20 minut ) )
Jeśli mamy serwer gdzie ciągle leci ta sama mapa 24/7/365 zostawiamy wartość tak jak jest bądź zwiększamy, jeśli mamy serwer normalny gdzie mapy zmieniają się co 20-30 min ustawiamy wartość na 0
orm_preparedquery
Opcje zapisu danych
- a - Kazdy gracz osobno ( przy wyjściu z serwera )
- b - Wszyscy na raz ( jest cvar orm_saveperiod jest różny od 0 )
- c - Statyczny ( przy jakiekolwiek zmianie w trakcie gry, działa podobnie do b i ma te same wymagania )
- d - W trakcie zmian ( zawsze kiedys cos usuniemy przez CSRP_Delete{ Player/Static }ClassItem( ) )
- e - Koniec Mapy ( Kiedy mapa jest zmieniana wszystko zostaje zapisane )
- f - Nuke ( gdy wystapi błąd w natywie CSRP_Nuke{ Player/Static }Class( ) )
orm_showsavemsg
Pokazuje wiadomośc o zapisanie danych, aktywne tylko gdy orm_saveperiod jest różny od 0
Podziękowania
Hawk552 - Pomysłodawca, pomoc z wieloma rzeczami, wspieranie
Black Rose - Dyskusja, pomysły, ogólna pomoc gdy była potrzebna, wsparcie
Lista Zmian
- 1.0.0
- Pierwsze Wydanie
- Data: 25 Czerwiec 2014
- 1.0.1b
- Zmiana client_connect na client_putinserver
- Poprawka UTIL_FindInX który czasem wysypał jakiś błąd
- Data: 27 Czerwiec 2014
Pobierz
Include
database_orm.inc 11,02 KB 179 Ilość pobrań
SMA
database_orm.sma 64,19 KB 218 Ilość pobrań
database_orm.amxx
Konfiguracja
orm_config.ini 350 bajtów 171 Ilość pobrań
Źródło: https://forums.allie...ad.php?t=242833