【Roblox】ReplicatedStorageとServerStorageの違いをまとめた

Roblox

ReplicatedStorage

クライアント(LocalScript)とサーバー(ServerScript)両方でアクセス可能

・クライアントとサーバーの両方で使用するオブジェクトを保存する
・LocalScriptから取得できるため、プレイヤーが UI ボタンを押したときに Toolを取得するなどの用途に適している。


ToolRemoteEvent(クライアント⇄サーバー通信)
RemoteFunction
共有する ModelsAssets など

【使用例】ReplicatedStorageからソードを取り出す

#LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local tool = ReplicatedStorage:FindFirstChild("Sword") -- ReplicatedStorage から取得
if tool then
    local newTool = tool:Clone()
    newTool.Parent = game.Players.LocalPlayer.Backpack -- クライアントでもアクセス可能
end

【使用例】クラアント側から送られたものをサーバー側で受け取る

# Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local event = ReplicatedStorage:FindFirstChild("GiveToolEvent")

event.OnServerEvent:Connect(function(player)
    print(player.Name .. " requested a tool!")
end)

SeverStorage

クライアント(LocalScript)からはアクセス不可!サーバーのみがアクセス可能(ServerScriptのみ)

・クライアントには見せたくない 重要なデータ を保存する。
・ゲーム開始時に すべてのプレイヤーに送る必要がないデータ を格納する。
ServerScript からのみアクセス可能。

大量の ModelsTools(必要なときだけロードする)ゲーム内で使用する 機密データ(例: 敵の AI スクリプトやセーブデータ)

【使用例】ServerStorageからソードをとりだす

#Script

local ServerStorage = game:GetService("ServerStorage")
local tool = ServerStorage:FindFirstChild("Sword") -- クライアントは見えない
if tool then
    local newTool = tool:Clone()
    newTool.Parent = game.Players:GetPlayerFromCharacter(script.Parent).Backpack
end


まとめ

グラフにまとめると、こんな感じ

特徴ReplicatedStorageServerStorage
アクセス可能クライアント&サーバーサーバーのみ
使用例ToolRemoteEventAI スクリプト、秘密のモデル
セキュリティクライアントも見える(安全でない)クライアントに見えない(安全)
適用場面共有データ機密データ
タイトルとURLをコピーしました