ReHLDS - optymalne engine HLDS + źródła
Puchate
14.05.2015
ReHLDS
Reverse-engineered HLDS v0.1
1. Czym jest ReHLDS?
Reverse-engineered HLDS, w skrócie ReHLDS jest silnikiem serwera dla gier GoldSource, takich jak Counter-Strike 1.6. Nie jest to twór ze stajni Valve, autorem projektu jest osoba prywatna która udostępnia go na zasadach open source. Stworzony został poprzez inżynierię wsteczną na podstawie oryginalnego engine w wersji 6153 (plik engine_i486.so).
2. Co to zmienia?
Podczas analizowania kodu aplikacji zostało wykryte wiele błędów (w tym potencjalnych), co poskutkowało naprawieniem ich w wynikowej wersji. Dzięki temu zyskujemy zdecydowanie większą stabilność serwera oraz optymalizację wydajności. Dla przykładu przypomnę, iż oryginalny silnik gry powstał w 1999 roku, w momencie gdy nie istniało wiele powszechnych dziś rozszerzeń rozkazów dla procesorów, takich jak SSE. Nie jest żadną nowością fakt, że HLDS od Valve nie wykorzystuje dostępnych dziś instrukcji, co przyczynia się na niebywale niską wydajność serwerów zważając na moc obliczeniową dzisiejszych komputerów. Inaczej jest natomiast w ReHLDS, autor projektu deklaruje wsparcie dla nowych technologii w wielu przypadkach, takich jak np. obliczenia na wektorach. Jednakże należy pamiętać że jest to tylko podstawowy element silnika gry służący do jego uruchomienia, nie obsługuje on rozgrywki więc większość operacji wykonuje się w plikach od producenta które takiej optymalizacji nie mają. Nie należy zatem oczekiwać kosmicznych przyrostów.
Dodatkowym smaczkiem jest nowe API serwera które możemy wykorzystywać w pluginach.
3. Jak używać?
Jak już wcześniej wspominałem, jest to oprogramowanie z udostępnionymi źródłami więc najlepszym rozwiązaniem jest skompilowanie programu w środowisku w którym będzie używany. Jednakże, będąc realistą, wiem że nie jest to proste ze względu na zaawansowany proces kompilacji (dla osób nie mających wcześniej z tym styczności) bądź brak dostępu do kompilatora.
Rozwiązaniem tego problemu jest pobranie skompilowanych już plików oraz wysłanie ich na serwer.
4. Wersje ReHLDS
W chwili obecnej są dostępne dwie wersje:
- pure - jest to wersja "bezpieczna", która używa mechanizmów zawartych w oryginalnym HLDS lecz z przepisanym kodem na nowo
- bugfixed - wersja zoptymalizowana, w której poprawione jest wiele błędów oraz wykonane są dodatkowe optymalizacje wydajności
5. Problemy
Zasadniczo ReHLDS jest już przetestowany i wszystkie znalezione błędy zostały poprawione, lecz wciąż jest to projekt w początkowej fazie wzrostu i mogą pojawić się nieoczekiwane problemy.
Dodatkowo, ze względu na inny proces kompilacji i zmienony kod mogą nie działać dodatki opierające się na analizowaniu skompilowanego już kodu (wyszukiwaniu patternów). Przykładem takiego dodatku jest Orpheu bądź Okapi.
6. Download
Źródła: https://github.com/d...stalker/rehlds/
Skompilowany silnik: http://nexus.rehlds..../rehlds-0.1.zip
Attached Files
Puchate
15.05.2015
Świetne ! Istnieje jakaś strona projektu ?
Work in progress projekt jest jeszcze świeży i nie potrzebuje mieć własnej strony. Fora i hithub wystarczy
Snapshot z wersji 0.2, przypominam ze to nightly builds -> http://nexus.rehlds....s/0.2-SNAPSHOT/
Edited by Puchate, 15.05.2015 00:11.
Asiap
15.05.2015
po nadpisaniu plikow serwer nie chce sie odpalic
potrzebny jest jakis modul GLIBC (czy jakos tak)
Pukawka.pl nie instaluje dodatkowych modulow
Puchate
15.05.2015
po nadpisaniu plikow serwer nie chce sie odpalic
potrzebny jest jakis modul GLIBC (czy jakos tak)
Pukawka.pl nie instaluje dodatkowych modulow
Sprawdzę to, być może da się coś z tym zdziałać.
tytusek
15.05.2015
po nadpisaniu plikow serwer nie chce sie odpalic
potrzebny jest jakis modul GLIBC (czy jakos tak)
Pukawka.pl nie instaluje dodatkowych modulow
też mam ten problem server binarki 6153 i gdy podmieniam na ten silnik gry to nie odpala servera na linuxie jak i na windowsie :V
Puchate
15.05.2015
Widzę że jednak voice_transcoder oraz dproto nie działaja, a dostałem zapewnienie że tak. Do tego na hostingach widzę segfaulty, a na vpsie ze skompilowanym właśnie tam + amxx działał raczej ok.
Przetestuję dokładnie i zobaczymy.
RooT.
20.05.2015
Wyszedł już wczesniej podobny projekt pod nazwa OpenHLDS z tego co zauwazyłem działa na dwoch protokołach bez potrzeby instalacji dproto
Detroit
21.05.2015
I am getting Wad not found . Like decals.wad . i already have decals.wad but error.
Using swd.dll in window 7
tytusek
22.12.2015
dla zainteresowanych powstała osobna wersja dproto pod ten silnik jak i vtc
w załączniku download
na ruskich stronach trochę więcej o tym
Attached Files
NoLiFeR
20.01.2016
Dla osób mających z tym problem na 1s1k (reunion (dla nieobeznanych, jest to "dproto" pod ReHLDS) + 0.1 nie wspierały się, przynajmniej u mnie), wersja 0.2, po instalacji której wszystko powinno działać poprawnie.
rehlds-0.2-20151213.221701-100.zip 7.21MB 221 downloads
Źródło : Tutaj (Znajdują się tam także takie pliki jak aktualne wersje, MD5 plików etc etd..)
Edited by NoLiFeR, 20.01.2016 15:33.
Encoree
04.09.2016
Może ktoś opisać dokładnie jak to wgrać na serwer mam to dograć do bieżącego silnika hlds?
tytusek
04.09.2016
Może ktoś opisać dokładnie jak to wgrać na serwer mam to dograć do bieżącego silnika hlds?