Alat pihak ketiga

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Untuk studio pengembangan profesional, mengatur alat pihak ketiga dan berinvestasi dalam otomatisasi dapat secara dramatis meningkatkan produktivitas pengembang. Pendekatan cloud-first Roblox memiliki banyak keuntungan, tetapi memindahkan bagian tertentu dari alur kerja pengembangan di luar cloud dapat membantu tim yang lebih besar melacak perubahan seiring waktu, meninjau kode, dan menggunakan bahasa serta alat yang sudah mereka kenal.

  • Jika Anda hanya ingin menggunakan editor teks eksternal atau menyimpan kode dalam kontrol versi, Script Sync adalah pilihan yang bagus.
  • Jika Anda ingin mengelola seluruh proyek Anda sebagai sekumpulan file lokal, halaman ini membahas beberapa alat dan strategi.

Masalah sinkronisasi

Pada intinya, menggunakan alat eksternal dengan Roblox adalah masalah sinkronisasi:

  • Anda ingin instance Roblox Anda ada sebagai file di disk sehingga Anda dapat menggunakan alat Anda sendiri untuk bekerja di atasnya.
  • Anda harus mengirimkan file Anda kembali ke proyek Roblox Anda setelah Anda selesai mengerjakannya.
  • Jika orang lain mengubah file-file yang sama di antara waktu, Anda harus menangani konflik yang mungkin terjadi.

Agar keseluruhan solusi terasa mulus dan otomatis, Anda perlu a) mendengarkan perubahan pada file dan b) memasukkan kembali perubahan ini ke dalam Studio.

Daripada pendekatan cloud-first Roblox, Rojo memungkinkan pendekatan "file system-first". Ia menjalankan server di mesin Anda yang berkomunikasi dengan plugin Studio untuk menyinkronkan file Anda dan model data Studio.

Instal Rojo dengan Rokit

Anda dapat mengunduh dan menjalankan biner Rojo secara manual, tetapi pendekatan itu berisiko karena pengembang yang berbeda di tim Anda mungkin menggunakan versi Rojo yang berbeda. Solusi yang lebih baik adalah menggunakan manajer rantai alat seperti Rokit, yang menggunakan file konfigurasi—sebuah daftar repositori dan versi—untuk membuat proses instalasi dan peningkatan konsisten di seluruh mesin.

Karena ini mengelola lingkungan pengembangan dasar Anda daripada paket dalam proyek Anda, Rokit lebih mirip dengan nvm daripada npm, tetapi perbandingan ini tidak sempurna. Sebuah file rokit.toml sederhana terlihat seperti ini:


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

Kemudian Anda menginstal alat ini dengan rokit install. Selain file global rokit.toml, Rokit mendukung file per-proyek, sehingga Anda dapat dengan mudah menggunakan versi Rojo, Wally, atau alat lain untuk proyek yang berbeda dan menjaga seluruh tim Anda pada versi yang sama.

Ketika sebuah alat merilis versi baru, Anda kemudian secara eksplisit meningkatkan nomor versi di file .toml Anda, menggunakan Rokit untuk melakukan peningkatan, menguji versi baru, dan kembali menurun jika menyebabkan masalah. Untuk perintah dan petunjuk instalasi, lihat Rokit.

Jalankan Rojo

Setelah Anda menginstal Rojo dengan Rokit, yang Anda instal sebenarnya adalah server Rojo. Langkah selanjutnya adalah menginstal plugin Rojo untuk Roblox Studio.

Anda dapat menginstalnya dari Creator Store atau menginstalnya secara lokal dengan perintah ini:


rojo plugin install

Kemudian buat struktur proyek untuk game baru Anda dan bangun:


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

Sebagai alternatif, Anda dapat memindahkan game yang sudah ada. Baik cara manapun, setelah Anda memiliki proyek, mulai server Rojo:


rojo serve

Di Roblox Studio, buka file .rbxl yang baru saja Anda bangun, buka plugin Rojo, dan sambungkan ke server Anda yang sedang berjalan, pada titik ini Anda dapat mulai membuat perubahan di editor teks favorit Anda dan melihat perubahan tersebut secara otomatis disinkronkan kembali ke Studio.

Visual Studio Code dengan proyek Rojo terbuka.

Plugin Rojo dan Studio Explorer berdampingan.

Proyek Rojo memiliki persyaratan penamaan tertentu untuk file, berbagai opsi konfigurasi, dan beberapa batasan, yang semuanya dibahas di dokumen Rojo.

Manajer paket

Roblox memiliki serangkaian API yang kokoh, tetapi jika Anda ingin memanfaatkan paket perangkat lunak komunitas dengan cara yang konsisten dan dapat diproduksi ulang, Anda memerlukan manajer paket. Wally adalah pilihan populer. Anda dapat menginstalnya melalui Rokit, sama seperti Rojo.

Di direktori Rojo game Anda, jalankan wally init. Kemudian tambahkan paket yang Anda inginkan ke wally.toml. File tersebut mungkin terlihat seperti ini:


[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"

Kemudian jalankan wally install. Wally membuat direktori Packages dan mengunduh paket yang ditentukan di sana. Langkah terakhir adalah menambahkan direktori Packages ke Rojo agar isinya disinkronkan kembali ke Roblox. Buka default.project.json dan tambahkan jalur tersebut. Untuk kesederhanaan, contoh ini menambahkan seluruh direktori ke ReplicatedStorage sehingga semua paket tersedia untuk semua skrip, tetapi Anda mungkin lebih suka menambahkan paket tertentu ke ServerScriptService atau StarterPlayerScripts:


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

Kemudian Anda dapat memerlukan paket dalam skrip Anda seperti ModuleScript lainnya:


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 = "Hello World!",
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)

Seperti kebanyakan proyek perangkat lunak lainnya, tujuannya adalah agar kontributor dapat mengkloning repositori, menginstal Rokit, menjalankan beberapa perintah, dan memiliki lingkungan pengembangan yang sama dengan sisa tim.

Kontrol versi

Memiliki sekumpulan file teks biasa di komputer Anda membuka berbagai kemampuan, tetapi yang utama adalah kontrol versi. Anda dapat menyimpan file Anda di repositori Git atau Mercurial; menghosting repositori jarak jauh dan meninjau perubahan kode di GitHub, GitLab, atau Bitbucket; dan menggunakan editor teks yang Anda sukai.

Visual Studio Code dan Cursor memiliki ekosistem ekstensi terbesar, tetapi Sublime Text dan Notepad++, serta Vim adalah pilihan populer lainnya. Apa pun editor yang Anda pilih, mencocokkan kemampuan editor skrip Studio akan memerlukan beberapa ekstensi.

Anda mungkin juga ingin mempertimbangkan menambahkan:

Undo everything

Karena alat pihak ketiga menyinkronkan perubahan kembali ke Roblox Studio daripada menggantinya, tidak ada bagian dari alur kerja ini yang melibatkan kunci. Kapan saja, Anda dapat berhenti menggunakan satu atau semua alat ini dan kembali ke pengeditan game Anda secara eksklusif di Studio. Kurangnya risiko ini membuat eksperimen dengan alat pihak ketiga sangat menarik.

©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.