Skip to content
GitHub

Your first 10 minutes

This walkthrough uses Riptide 0.8.2, the latest stable release. You only need Roblox Studio and a new place. No package manager or Rojo setup is required for this first run.

Download Riptide.rbxm from the 0.8.2 release. In Studio, add a Packages folder under ReplicatedStorage, then insert the model there and name it Riptide.

Your Explorer should contain:

ReplicatedStorage
└── Packages
└── Riptide

If you already use Pesde or Rojo, follow the full setup guide instead.

Add a Services folder under ServerScriptService. Inside it, add a ModuleScript named HelloService with this code:

local HelloService = {}
function HelloService:Init(Riptide)
print("HelloService initialized")
end
function HelloService:Start(Riptide)
print("HelloService started")
end
return HelloService

A service is a module that runs on the server. Riptide loads it and calls its lifecycle methods for you.

Add a Script named main directly under ServerScriptService:

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerScriptService = game:GetService("ServerScriptService")
local Riptide = require(ReplicatedStorage.Packages.Riptide)
Riptide.Server.Launch({
ModulesFolder = ServerScriptService.Services,
})

Press Play. The Studio Output window should include HelloService initialized followed by HelloService started. Riptide does not launch by itself; this script is the entry point.

  1. Riptide loaded every module in Services.
  2. It called each module’s Init method.
  3. After initialization, it dispatched each module’s Start method.

This separation lets one service look up another during Init, then use it during Start.