When you install Git if already have not, run clone this repository with
git clone https://github.com/ernisto/gamelearn more: git cloning an existing repository
Assuming that you already have Aftman and NodeJS installed into your current user, install all CLI tools, and run our script to install all wally packages with
./scripts/initlearn more: wally
To mantle publish your place, he must to know what is the owner of the place,
if will be your personal account, or a roblox group. So we need setting it into mantle.yml.
If you are a solo game developer, is a external contribuitor, or is just testing, you can just publish in your personal account
owner: personalOr if this game is a serious project, that you have +1 developers, or just want to organize game revenue and assets, publish into your group
owner:
group: your_group_idlearn more: mantle configuration
So you planning implement a CI/CD workflow, where you will automatically publish your place when you push some change, you should configure a environment to be used by github action
- Publish your repository to Github
- Go to
Settings>Secrets and variables>Actions - Create the variable:
HUSKY = 0to disable client git hooks on github serverCI = trueto disable client hooks on github actionsTEST_RUNNER_PLACE_IDto set a place for unit tests be executedTEST_RUNNER_UNIVERSE_IDto set a experience for unit tests be executed
- Create the secrets:
ROBLOSECURITYfor your personal roblox cookie Getting your ROBLOXSECURITY cookieMANTLE_OPEN_CLOUD_API_KEYandTEST_RUNNER_OPEN_CLOUD_API_KEYfor your Open Cloud API Key Creating a Open Cloud API Key- if you are using Amazon AWS or Cloudflare to store your
mantle-state.yml, createMANTLE_AWS_ACCESS_KEY_IDandMANTLE_AWS_SECRET_ACCESS_KEY
learn more: using github secrets
If you looking for a local publishment, or you are a external contribuitor,
is recommended you just create a .env file in the root of the project,
and add the following variables:
MANTLE_OPEN_CLOUD_API_KEY="{api key}"
TEST_RUNNER_OPEN_CLOUD_API_KEY="{api key}"
# If u want remote mantle state management
MANTLE_AWS_ACCESS_KEY_ID="{your access key id}"
MANTLE_AWS_SECRET_ACCESS_KEY="{your secret access key}"learn more: mantle .env files
For both the cases, you should update this part too
- if you want manage your mantle states remotelly (through Amazon AWS or Cloud Flare) you must to fill those infos with your bucket infos
- otherwise you want manage them locally, just remote it
state:
remote:
region: # if is Amazon AWS, just the region
custom: # if is Cloud Flare
name: ENAM # Bucket Location
endpoint: https://dc88f586de4d2c1eb08099d9e049613e.r2.cloudflarestorage.com # Bucket API S3
bucket: starled-games-mantle-states # Bucket Name
key: template # Prefix of .mantle-state.yml, tipically your project namelearn more: setuping remote states
Creating a Open Cloud API Key 🔗
To mantle be able to publish ur place in your account/group, you should to create a Open Cloud API Key to be used by mantle
- Navigate to the Creator Dashboard.
- Click the
Creator Hubdropdown to select a group if you are creating the API key for a group. - In the left navigation menu, select
Open Cloud>API Keys. - Click the
Create API Keybutton. - Enter a unique name for your API key. Such as
MANTLE PUBLISHING API. - In the
Access Permissionssection, select anAPI Systemfrom theSelect API Systemmenu and click theAdd API Systembutton - Select the experience that you want to access with the API key.
- From the
Experience Operationsdropdown, select the the operation.
Mantle will requires the following Operations from the determinated API Systems
- assets
- asset:read
- asset:write
- universe-places
- universe-places:write
- universe
- universe:write
- universe.place:write
- notifications
- user.user-notifications:write
learn more: roblox open cloud api and mantle authentication
Getting your ROBLOXSECURITY cookie 🔗
- Navigate to roblox in your browser and open the
dev tools(right-click and selectInspect). - Navigate to the
Applicationtab, then look forCookiesunderStoragein the left-hand sidebar. - Under
Cookies, selecthttps://www.roblox.comthen select.ROBLOSECURITYfrom the list of cookies. - Copy the value from the
Cookie Valuesection.
If there is a logged-in Roblox Studio installation, Mantle can automatically
extract its .ROBLOSECURITY
cookie and will authenticate requests as the user logged in to Roblox Studio.
learn more: mantle roblox security