Skip to content

Instantly share code, notes, and snippets.

View boatbomber's full-sized avatar

boatbomber boatbomber

View GitHub Profile
@boatbomber
boatbomber / release.luau
Last active March 28, 2024 09:35
Release workflow using Lune
--[[
release.luau - A Lune script for publishing Roblox games
MPL 2.0 License
(c) 2024, Zack Ovits
usage: lune run release
--]]
-- Lune libraries
local stdio = require("@lune/stdio")
@boatbomber
boatbomber / publish.yml
Last active December 15, 2023 12:42
A publishing workflow for Roblox projects
## Welcome to boatbomber's publish workflow.
# You'll need a few things in your GitHub Action secrets for this to work:
# - ROBLOSECURITY : A cookie of a Roblox account (used to install Studio for testing)
# - RBXID : Another cookie from the account (also used in Studio install)
# - PUBLISHCLOUD : A Roblox OpenCloud API key with Write permission in Place Management for your game
# This workflow assumes that you have:
# - A `aftman.toml` with rojo, wally, selene, darklua, and run-in-roblox
# - A `default.project.json` that builds a place file
@boatbomber
boatbomber / GlobalStorage.lua
Last active March 28, 2024 00:20
This is a module for handling data that can be read from/written to from multiple servers at a time. It is made only for commutative updates. This is so that your operations can be applied locally and globally at different times and still end up at the same value eventually. Uses MemoryStore for atomic locking.
--[[
GlobalStorage
by boatbomber (c) 2021
This is a module for handling data that can be read from/written to
from multiple servers at a time. It is made only for commutative updates.
This is so that your operations can be applied locally and globally at different
times and still end up at the same value eventually. Uses MemoryStore for atomic locking.
@boatbomber
boatbomber / InfStore.lua
Last active December 13, 2022 18:53
InfStore - Storing inf size dictionaries in Roblox Datastores via automagic efficient chunking
-- InfStore.lua
-- boatbomber
-- A module to have DataStores hold an inf size dictionary
-- by automagically chunking the data behind the scenes
-- Example:
-- local store = InfStore.new("Global_v0.1.0", "Tutorials")
-- store:Get()
-- store:Add("UniqueTutorialId", TutorialData)
@boatbomber
boatbomber / GitHub.lua
Last active December 5, 2022 23:14
Roblox module for GitHub GraphQL tasks
Moved to https://github.com/boatbomber/GitHubUtil
@boatbomber
boatbomber / SRT.lua
Last active June 6, 2021 19:28
Lua SRT Parser
--[=[
SRT.lua
boatbomber
6/6/2021
A parser for SRT files, cuz BitwiseAndrea inspired me
function SRT.Parse(fileSource: string)
returns an array of captions like so:
{