Jak zainstalować MLO i własne mapy na serwerze FiveM?
W tym artykule
Chcesz nadać swojemu serwerowi FiveM własny charakter dzięki niestandardowym wnętrzom i modyfikacjom mapy? Prędzej czy później trafisz na MLO i pliki ymap. W tym poradniku krok po kroku zainstalujesz MLO lub własną mapę na swoim serwerze w MC-Node: przygotujesz właściwą strukturę folderów z folderem stream, utworzysz poprawny fxmanifest.lua, wgrasz zasób przez SFTP i aktywujesz wszystko za pomocą ensure w server.cfg. Dowiesz się też, jak rozwiązać najczęstsze problemy, takie jak wnętrza, które się nie ładują, albo gracze wpadający pod podłogę.
Czym różni się MLO od ymap?
Oba modyfikują świat gry, ale w różny sposób:
- Ymap — plik rozmieszczenia, który dodaje lub przesuwa istniejące obiekty (propsy) w świecie: ogrodzenia, dekoracje, blokady dróg albo dodatkowy budynek widoczny z zewnątrz. Lekki i prosty; często wystarczy jeden plik .ymap.
- MLO (Multi-Level Object) — pełnoprawne wnętrze, do którego można wejść, z własnymi pomieszczeniami, portalami, kolizją i oświetleniem. MLO składa się zwykle z kilku plików: .ydr (modele), .ybn (kolizja), .ytd (tekstury), .ytyp (definicja wnętrza) i .ymap (rozmieszczenie).
W skrócie: ymap coś ustawia, a MLO buduje coś, do czego możesz wejść. Instalacja przebiega niemal identycznie, ale MLO jest bardziej podatne na błędy, bo plik .ytyp musi zostać poprawnie załadowany.
Krok 1: Przygotuj właściwą strukturę folderów
- Rozpakuj pobrane MLO lub własną mapę na komputerze i sprawdź, jakie pliki zawiera.
- Utwórz jeden folder zasobu z krótką nazwą bez spacji i wielkich liter, na przykład
vanilla_hotel. - Umieść wszystkie pliki streamowane (.ydr, .ybn, .ytd, .ytyp i .ymap) w podfolderze o nazwie
stream. - W głównym folderze zasobu umieść plik
fxmanifest.lua.
Struktura wygląda wtedy tak:
vanilla_hotel/
├── fxmanifest.lua
└── stream/
├── hotel_interior.ydr
├── hotel_interior.ybn
├── hotel_textures.ytd
├── hotel.ytyp
└── hotel.ymapMinimalny, poprawny fxmanifest.lua dla zasobu z mapą:
fx_version 'cerulean' game 'gta5' this_is_a_map 'yes'
Linia this_is_a_map 'yes' informuje FiveM, że ten zasób zawiera dane świata, dzięki czemu mapa poprawnie przeładuje się przy restarcie zasobu. Jeśli twórca dołączył dodatkowe linie, na przykład data_file 'DLC_ITYP_REQUEST' 'stream/hotel.ytyp', po prostu je zostaw.
Krok 2: Wgraj zasób przez SFTP
- Połącz się z serwerem przez SFTP. Jak to skonfigurować, przeczytasz w artykule SFTP z WinSCP lub FileZilla.
- Przejdź do folderu
resourcesswojego serwera FiveM. - Wgraj cały folder zasobu razem z podfolderem stream. Możesz też umieścić zasób w folderze kategorii, np.
[maps]. - Używasz FileZilli? Przed wgrywaniem ustaw Transfer → Typ transferu → Binarny. W trybie ASCII lub Auto FileZilla może uszkodzić pliki binarne, takie jak .ydr i .ybn, przez co wnętrze nigdy się nie załaduje.
Małe zasoby możesz też wgrać przez zakładkę Files w panelu, ale przy MLO z dużymi plikami streamowanymi SFTP jest bardziej niezawodne. Ogólny sposób postępowania znajdziesz w artykule Jak wgrać skrypt?
Krok 3: Dodaj ensure w server.cfg
- Otwórz
server.cfgprzez zakładkę Files w panelu (lub przez SFTP). - Dodaj linię
ensure vanilla_hotel, z dokładnie taką samą nazwą jak folder zasobu. - Zwróć uwagę na kolejność: umieść zasoby z mapami nad skryptami, które potrzebują wnętrza, np. skryptami housingu, garaży czy teleportów. Zła kolejność ensure sprawia, że taki skrypt startuje, gdy wnętrze jeszcze nie istnieje.
- Zapisz plik i zrestartuj serwer przez zakładkę Console.
- Sprawdź w konsoli, czy pojawia się
Started resource vanilla_hotel, i podejdź w grze do tej lokacji.
Najczęstsze problemy
- Wnętrze jest niewidoczne lub się nie ładuje — Najpierw sprawdź w konsoli, czy zasób faktycznie wystartował. Jeśli tak, pliki często zostały wgrane w uszkodzonej formie albo .ytyp nie jest ładowany: wgraj ponownie cały folder stream w trybie binarnym i sprawdź, czy w fxmanifest.lua znajduje się
this_is_a_map 'yes'. - Wpadasz pod podłogę — Brakuje pliku kolizji (.ybn) albo jest on uszkodzony. Porównaj rozmiary plików na serwerze z tymi na swoim komputerze; jeśli się różnią, wgrywanie się nie powiodło.
- Dwa MLO w tym samym miejscu — Migoczące ściany, podwójne drzwi lub czarne wnętrze zwykle oznaczają dwa zasoby modyfikujące ten sam budynek. Usuń linię ensure jednego z nich i zrestartuj serwer.
- Błąd o zbyt dużych assetach — Komunikat w konsoli, że asset przekracza limit rozmiaru, prawie zawsze wynika ze zbyt ciężkich plików tekstur .ytd. Użyj zoptymalizowanej wersji albo zmniejsz tekstury (na przykład z 4K do 2K); zbyt ciężkie mapy powodują też długie czasy ładowania i crashe klienta.
- Błędy skryptów po dodaniu mapy — Sprawdź kolejność w server.cfg: zasób z mapą musi załadować się przed skryptami, które się do niego odwołują.
Gotowe!
Twój serwer streamuje teraz twoje własne MLO i mapy. Nadal coś nie działa? Otwórz ticket przez naszą stronę pomocy i podaj nazwę zasobu oraz dokładny komunikat błędu z konsoli.
Uruchom swój serwer w 60 sekund na naszym własnym sprzęcie.