Czas uruchomienia klienta-serwera

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Serwer

Doświadczenia Roblox są wieloosobowe domyślnie i działają w modelu klient-serwer. Roblox serwer jest ostateczną autorytetem do utrzymywania stanu doświadczenia i jest odpowiedzialny za utrzymywanie wszystkich powiązanych klientów w równolegle z serwerem.

A server grouping with connections to three client devices.
Serwer z połączeniami do trzech urządzeń klienta

Klient

Gdy doświadczenie zostanie uruchomione, Roblox kopiuje wersję modelu danych "edytuj" którą zbudowałeś i opublikowałeś w Studio i uruchamia ją na serwerach Roblox jako model danych "czasu uruchomienia".

Połączone klienty otrzymują również kopię modelu danych czasu uruchomienia i inicjacji gracza, takich jak inicjalizacja plecaka gracza (wyposażenie) lub lokalnej interfejsu użytkownika. Gdy ustawienie Workspace.StreamingEnabled na prawdziwie, serwer wysyłuje najpierw podstawowy zestaw treści pod

A diagram that maps objects between 'edit' and 'runtime' data models.

Replikacja

Serwer stale aktualizuje połączone klienty, utrzymując wszystko w równolegle w całym serwerze i klientach poprzez proces zwany replikacją , który synchronizuje model danych, symulację fizyczną i wiadomości czatu. Logika replikacji istnieje zarówno na klientach, jak i na serwerze, aby zapewnić synchronizację.

Dane

Zmiany modelu danych mogą następować w różnych przypadkach, takich jak gdy coś w świecie 3D jest utworzone lub właściwość świata 3D zmienia się. To zwykle następuje, gdy na serwerze lub klienta pojawia się skrypt lub zmiana, która musi zostać odzwierciedlona na drugiej stronie granicy klienta-serwera. Poniższe diagrafy pokazują zwykłe scenariusze dla replikacji danych.

KlientSerwer >
>

A diagram of one client communicating with the server.

Komunikacja z dowolnego klienta na serwer. Na przykład, klient naciśnie klawisz P, aby wypić miksturę niewidzialności, a następnie powiedziałby serwerowi, aby postać tego gracza była niewidoczna dla wszystkich innych graczy.

SerwerKlient >
>

A diagram of the server communicating with one client.

Komunikacja z serwera do jednego określonego klienta. Na przykład gracz dołącza do doświadczenia i serwer populuje ekwipunek tego gracza z zestawem przedmiotów.

SerwerWszystkie Klienty >
>

A diagram of the server communicating with all connected clients.

Komunikacja między serwerem a wszystkimi połączonymi klientami. Na przykład, wyświetlanie licznika odliczania dla wszystkich uczestników w wyścigu.

Fizyka

Roblox używa trudnego silnika fizyki ciała, który jest odpowiedzialny za obliczanie ruchu i interakcji części w świecie 3D. Domyślnie wszystkie części w Roblox są trwałymi ciałami i uczestniczą w symulowanej fizyce, chyba że inaczej określono. Możesz również zgrupować wiele części w jedne zestawy, które silnik fizyki traktuje jako jeden trwały ciało.


A single block part in the shape of a cube that represents a single assembly.
1 zestaw; 1 część
A player character that represents a single assembly of 18 individual parts.
1 zestaw; 18 części
A pirate ship mesh that represents a single assembly of 179 individual parts.
1 zestaw; 179 części

Roblox replikuje dane simulacji fizyki między serwerem a klientami, jeśli to konieczne. Aby pomóc w wydajności wykonywanie, Roblox może przypisać własność zespołów do określonego klienta lub serwera. To oznacza, że klient lub serwer może być odpowiedzialny za simulację fizyki tego zespołu. Inne klienty otrzymują aktualiz

Własność części wskazana poprzez kolorowe kontury

Czat

Roblox replikuje wiadomości czatu między serwerem a klientem. Serwer jest odpowiedzialny za filtrowanie wiadomości czatu i decyzję, która wiadomość zostanie wyświetlona dla innych klientów. Na przykład serwer może filtrować wiadomości, które zawierają obelgi lub są zbyt długie.