Czym są routing buckets w FiveM?
Jeśli kiedyś zastanawiało cię, jak serwery FiveM obsługują instancjonowane mieszkania, osobne tryby gry czy prywatne sesje bez stawiania drugiego serwera, odpowiedzią są routing buckets. Oto czym są i jak działają.
Jaki problem rozwiązują
Domyślnie wszyscy gracze na serwerze FiveM dzielą ten sam świat gry. Widzą się nawzajem, mogą korzystać z cudzych pojazdów i wpływać na cudze encje. Przy otwartym roleplayu to działa dobrze, ale przestaje się sprawdzać w momencie, gdy potrzebujesz separacji.
Jak zrobić ekran tworzenia postaci tak, żeby inni gracze nie widzieli nowego gracza unoszącego się w powietrzu? Jak wysłać gracza do prywatnego mieszkania tak, żeby nie widział przez ściany cudzej sesji?
Czym jest routing bucket?
Routing bucket to odizolowany świat gry, który istnieje w ramach tego samego serwera. Gracze przypisani do różnych bucketów nie widzą siebie nawzajem, nie widzą swoich pojazdów ani encji i nie dzielą populacji NPC. Z perspektywy gry są w zupełnie osobnych światach, mimo że w tym samym czasie grają na tym samym serwerze.
Każdy gracz domyślnie zaczyna w buckecie 0, czyli we wspólnym świecie gry. Przypisanie gracza do bucketu o dowolnym innym numerze przenosi go do odizolowanej instancji.
To samo dotyczy encji. Pojazd lub obiekt można przypisać do konkretnego bucketu i zobaczą go tylko gracze z tego bucketu.
Typowe zastosowania
Oficjalna dokumentacja FiveM wymienia takie zastosowania:
- Serwery z wieloma trybami: kilka trybów gry działających jednocześnie, bez wpływu graczy z jednego trybu na drugi
- Systemy sesji i grup: łączenie graczy w prywatne sesje na misje lub eventy
- Ekrany tworzenia postaci: izolowanie nowego gracza podczas tworzenia postaci, żeby nie pojawiał się w głównym świecie
Częstym praktycznym zastosowaniem na serwerach RP są instancjonowane mieszkania. Gdy gracz wchodzi do swojego mieszkania, skrypt przenosi go do unikalnego bucketu. Inni gracze na zewnątrz go nie widzą, a gracz w środku nie widzi świata zewnętrznego i nie może z nim wchodzić w interakcję. Gdy wychodzi, wraca do bucketu 0.
Podsumowanie
Routing buckets dzielą jeden serwer FiveM na odizolowane instancje świata. Gracze w różnych bucketach nie widzą się nawzajem i nie mogą ze sobą wchodzić w interakcję. Używa się ich do instancjonowanych mieszkań, prywatnych sesji, serwerów z wieloma trybami i ekranów tworzenia postaci. Każdy bucket może mieć własne zasady entity lockdown i ustawienia populacji NPC. Routing buckets wymagają OneSync i są zarządzane w całości po stronie serwera.




