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, menyiapkan 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 ke 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 mengerjakannya.
  • Anda harus mengembalikan file Anda ke proyek Roblox Anda setelah Anda selesai mengerjakannya.
  • Jika orang lain mengubah file yang sama di antara waktu itu, Anda harus menangani konflik yang ada.

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

Alih-alih pendekatan cloud-first Roblox, Rojo memungkinkan pendekatan "file system-first". Ini 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 membuat pengembang yang berbeda di tim Anda menggunakan versi Rojo yang berbeda. Solusi yang lebih baik adalah menggunakan manajer toolchain seperti Rokit, yang menggunakan file konfigurasi—daftar repositori dan versi—untuk membuat proses instalasi dan pembaruan konsisten di seluruh mesin.

Karena ia mengelola lingkungan pengembangan dasar Anda daripada paket dalam proyek Anda, Rokit lebih mirip dengan nvm daripada npm, tetapi perbandingan ini tidak sempurna. File rokit.toml yang 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-alat ini dengan rokit install. Selain file rokit.toml global, Rokit mendukung file per-proyek, sehingga Anda dapat dengan mudah menggunakan versi Rojo, Wally, atau alat lainnya yang berbeda 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 pembaruan, menguji versi baru, dan menurunkan versi jika menyebabkan masalah. Untuk perintah dan instruksi instalasi, lihat Rokit.

Jalankan Rojo

Setelah Anda menginstal Rojo dengan Rokit, yang sebenarnya Anda instal 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 permainan 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 permainan yang sudah ada. Bagaimanapun, 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 sekarang berjalan, pada titik ini Anda dapat mulai membuat perubahan di editor teks pilihan Anda dan menyaksikan 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, banyak opsi konfigurasi, dan beberapa batasan, semua yang dibahas dalam dokumentasi Rojo.

Manajer paket

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

Di dalam direktori Rojo permainan 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 sehingga isinya disinkronkan kembali ke Roblox. Buka default.project.json dan tambahkan jalurnya. 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 memanggil paket dalam skrip Anda seperti modul 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 apa pun yang Anda suka.

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

Anda juga mungkin mempertimbangkan untuk menambahkan:

Batalkan semuanya

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 mengedit permainan Anda secara eksklusif di Studio. Kurangnya risiko 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.