Drittanbieter-Tools

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Für professionelle Entwicklungsstudios kann die Einrichtung von Drittanbieter-Tools und die Investition in Automatisierung die Produktivität der Entwickler erheblich steigern. Der cloud-first Ansatz von Roblox hat viele Vorteile, aber das Verschieben bestimmter Teile des Entwicklungs-Workflows außerhalb der Cloud kann größeren Teams helfen, Änderungen im Laufe der Zeit nachzuverfolgen, Code zu überprüfen und die Sprachen und Tools zu verwenden, mit denen sie bereits vertraut sind.

  • Wenn Sie nur einen externen Texteditor verwenden oder Code in der Versionskontrolle behalten möchten, ist Script Sync eine großartige Wahl.
  • Wenn Sie Ihr gesamtes Projekt als eine Sammlung lokaler Dateien verwalten möchten, behandelt diese Seite einige Tools und Strategien.

Das Synchronisierungsproblem

Im Kern ist die Verwendung externer Tools mit Roblox ein Synchronisierungsproblem:

  • Sie möchten, dass Ihre Roblox-Instanzen als Dateien auf der Festplatte existieren, damit Sie Ihre eigenen Tools verwenden können, um daran zu arbeiten.
  • Sie müssen Ihre Dateien zurück in Ihr Roblox-Projekt bringen, nachdem Sie mit der Arbeit an ihnen fertig sind.
  • Wenn jemand anderes in der Zwischenzeit diese gleichen Dateien geändert hat, müssen Sie alle Konflikte behandeln.

Damit die gesamte Lösung nahtlos und automatisch erscheint, müssen Sie a) auf Änderungen an Dateien hören und b) diese Änderungen wieder in Studio integrieren.

Anstelle von Roblox' cloud-first Ansatz ermöglicht Rojo einen "Dateisystem-first" Ansatz. Es läuft ein Server auf Ihrem Computer, der mit einem Studio-Plugin kommuniziert, um Ihre Dateien und das Datenmodell von Studio zu synchronisieren.

Rojo mit Rokit installieren

Sie können manuell eine Rojo-Binärdatei herunterladen und ausführen, aber dieser Ansatz birgt das Risiko, dass verschiedene Entwickler in Ihrem Team unterschiedliche Rojo-Versionen verwenden. Eine bessere Lösung ist die Verwendung eines Toolchain-Managers wie Rokit, der eine Konfigurationsdatei verwendet – eine Liste von Repositories und Versionen –, um den Installations- und Upgrade-Prozess auf verschiedenen Maschinen konsistent zu gestalten.

Da es Ihre grundlegende Entwicklungsumgebung verwaltet und nicht die Pakete innerhalb Ihres Projekts, ähnelt Rokit eher nvm als npm, aber der Vergleich ist nicht perfekt. Eine einfache rokit.toml-Datei sieht so aus:

[tools]
rojo = "rojo-rbx/rojo@7.6.1"
wally = "upliftgames/wally@0.3.2"
lune = "lune-org/lune@0.10.4"

Dann installieren Sie diese Tools mit rokit install. Neben einer globalen rokit.toml-Datei unterstützt Rokit projektbezogene Dateien, sodass Sie problemlos unterschiedliche Versionen von Rojo, Wally oder einem anderen Tool für verschiedene Projekte verwenden und Ihr gesamtes Team auf diesen gleichen Versionen halten können.

Wenn ein Tool eine neue Version veröffentlicht, erhöhen Sie dann explizit die Versionsnummer in Ihrer .toml-Datei, verwenden Rokit, um das Upgrade durchzuführen, testen die neue Version und downgraden, wenn sie Probleme verursacht. Für Befehle und Installationsanweisungen siehe Rokit.

Rojo ausführen

Nachdem Sie Rojo mit Rokit installiert haben, haben Sie tatsächlich den Rojo-Server installiert. Der nächste Schritt besteht darin, das Rojo-Plugin für Roblox Studio zu installieren.

Sie können es im Creator Store installieren oder lokal mit diesem Befehl installieren:

rojo plugin install

Dann generieren Sie die Projektstruktur für Ihr neues Spiel und bauen es:

rojo init my-new-experience
cd my-new-experience
rojo build -o my-new-experience.rbxl

Alternativ können Sie ein bestehendes Spiel portieren. In jedem Fall, nachdem Sie ein Projekt haben, starten Sie den Rojo-Server:

rojo serve

Öffnen Sie in Roblox Studio die .rbxl-Datei, die Sie gerade erstellt haben, öffnen Sie das Rojo-Plugin und verbinden Sie sich mit Ihrem jetzt laufenden Server, an dem Punkt können Sie beginnen, Änderungen in Ihrem bevorzugten Texteditor vorzunehmen und beobachten, wie diese Änderungen automatisch mit Studio synchronisiert werden.

Visual Studio Code mit einem geöffneten Rojo-Projekt.

Das Rojo-Plugin und der Studio-Explorer nebeneinander.

Rojo-Projekte haben bestimmte Namensanforderungen für Dateien, zahlreiche Konfigurationsoptionen und einige Einschränkungen, die alle in der Rojo-Dokumentation behandelt werden.

Paketmanager

Roblox verfügt über eine robuste Sammlung integrierter APIs, aber wenn Sie Community-Softwarepakete auf konsistente, reproduzierbare Weise nutzen möchten, benötigen Sie einen Paketmanager. Wally ist eine beliebte Option. Sie können es über Rokit installieren, genau wie Rojo.

Führen Sie im Rojo-Verzeichnis Ihres Spiels wally init aus. Fügen Sie dann Ihre gewünschten Pakete zu wally.toml hinzu. Die Datei könnte so aussehen:

[package]
name = "my-home-directory/my-new-experience"
version = "0.1.0"
registry = "https://github.com/UpliftGames/wally-index"
realm = "shared"
[dependencies]
react = "jsdotlua/react@17.2.1"
react-roblox = "jsdotlua/react-roblox@17.2.1"
cryo = "phalanxia/cryo@1.0.3"

Führen Sie dann wally install aus. Wally erstellt ein Verzeichnis Packages und lädt die angegebenen Pakete dort herunter. Der letzte Schritt besteht darin, das Verzeichnis Packages zu Rojo hinzuzufügen, damit dessen Inhalte zurück zu Roblox synchronisiert werden. Öffnen Sie default.project.json und fügen Sie den Pfad hinzu. Zur Vereinfachung fügt dieses Beispiel das gesamte Verzeichnis zu ReplicatedStorage hinzu, sodass alle Pakete für alle Skripte verfügbar sind, aber Sie möchten möglicherweise spezifische Pakete zu ServerScriptService oder StarterPlayerScripts hinzufügen:

{
"name": "my-new-experience",
"tree": {
"$className": "DataModel",
"ReplicatedStorage": {
"Shared": {
"$path": "src/shared"
},
"Packages": {
"$path": "Packages"
}
},
...
}
}

Dann können Sie Pakete innerhalb Ihrer Skripte wie jedes andere ModuleScript anfordern:

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local React = require(ReplicatedStorage.Packages.react)
local ReactRoblox = require(ReplicatedStorage.Packages["react-roblox"])
local handle = Instance.new("ScreenGui", Players.LocalPlayer.PlayerGui)
local root = ReactRoblox.createRoot(handle)
local helloFrame = React.createElement("TextLabel", {
Text = "Hallo Welt!",
Size = UDim2.new(0, 200, 0, 200),
Position = UDim2.new(0.5, 0, 0.5, 0),
AnchorPoint = Vector2.new(0.5, 0.5),
BackgroundColor3 = Color3.fromRGB(248, 217, 109),
Font = Enum.Font.LuckiestGuy,
TextSize = 24
})
root:render(helloFrame)

Wie bei den meisten anderen Softwareprojekten ist das Ziel, dass Mitwirkende ein Repository klonen, Rokit installieren, ein paar Befehle ausführen und die gleiche Entwicklungsumgebung wie der Rest des Teams haben.

Versionskontrolle

Eine Sammlung von einfachen Textdateien auf Ihrem Computer eröffnet eine Vielzahl von Möglichkeiten, aber die wichtigste ist Versionskontrolle. Sie können Ihre Dateien in einem Git oder Mercurial Repository speichern; Remote-Repositories hosten und Codeänderungen in GitHub, GitLab oder Bitbucket überprüfen; und den Texteditor Ihrer Wahl verwenden.

Visual Studio Code und Cursor haben das größte Erweiterungs-Ökosystem, aber Sublime Text, Notepad++ und Vim sind ebenfalls beliebte Optionen. Welchen Editor Sie auch wählen, um die Funktionen des Studio-Skripteditors zu erreichen, sind einige Erweiterungen erforderlich.

Sie sollten auch in Betracht ziehen, Folgendes hinzuzufügen:

Alles rückgängig machen

Da Drittanbieter-Tools Änderungen zurück zu Roblox Studio synchronisieren, anstatt es zu ersetzen, beinhaltet kein Teil dieses Workflows eine Bindung. Zu jeder Zeit können Sie die Verwendung eines oder aller dieser Tools einstellen und wieder ausschließlich in Studio an Ihrem Spiel arbeiten. Das Fehlen von Risiken macht das Experimentieren mit Drittanbieter-Tools besonders attraktiv.

©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.