Refactor and rebrand Rojo to Atlas

- Renamed the project from Rojo to Atlas, updating all relevant files, scripts, and documentation to reflect the new branding.
- Bumped version to 7.7.0-rc.2 and updated protocol version from 5 to 6.
- Modified installation scripts and CI workflows to use the new binary name and paths.
- Adjusted plugin settings and internal identifiers to prevent conflicts with the original Rojo.
- Enhanced session management and API response handling to support the new server fork identifier.
- Updated project templates and README files to guide users on using Atlas.
This commit is contained in:
Joe 2026-02-07 13:21:52 -06:00
parent 0e263789b0
commit 50b9e18514
54 changed files with 496 additions and 218 deletions

View file

@ -23,7 +23,7 @@ impl FmtProjectCommand {
let base_path = resolve_path(&self.project);
let project = Project::load_fuzzy(&vfs, &base_path)?
.context("A project file is required to run 'rojo fmt-project'")?;
.context("A project file is required to run 'atlas fmt-project'")?;
let serialized = String::from_utf8(
crate::json::to_vec_pretty_sorted(&project)

View file

@ -203,7 +203,7 @@ impl InitCommand {
println!("Created project successfully.");
if self.placeid.is_some() {
println!("Run 'rojo syncback' to sync your place.");
println!("Run 'atlas syncback' to sync your place.");
}
Ok(())

View file

@ -33,7 +33,7 @@ pub use self::upload::UploadCommand;
/// Command line options that Rojo accepts, defined using the clap crate.
#[derive(Debug, Parser)]
#[clap(name = "Rojo", version, about)]
#[clap(name = "Atlas", version, about)]
pub struct Options {
#[clap(flatten)]
pub global: GlobalOptions,

View file

@ -10,7 +10,7 @@ use roblox_install::RobloxStudio;
use crate::serve_session::ServeSession;
static PLUGIN_BINCODE: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/plugin.bincode"));
static PLUGIN_FILE_NAME: &str = "RojoManagedPlugin.rbxm";
static PLUGIN_FILE_NAME: &str = "AtlasManagedPlugin.rbxm";
/// Install Rojo's plugin.
#[derive(Debug, Parser)]

View file

@ -12,7 +12,7 @@ use crate::{serve_session::ServeSession, web::LiveServer};
use super::resolve_path;
const DEFAULT_BIND_ADDRESS: Ipv4Addr = Ipv4Addr::new(127, 0, 0, 1);
const DEFAULT_PORT: u16 = 34872;
const DEFAULT_PORT: u16 = 34873;
/// Expose a Rojo project to the Rojo Studio plugin.
#[derive(Debug, Parser)]
@ -25,7 +25,7 @@ pub struct ServeCommand {
#[clap(long)]
pub address: Option<IpAddr>,
/// The port to listen on. Defaults to the project's preference, or `34872` if
/// The port to listen on. Defaults to the project's preference, or `34873` if
/// it has none.
#[clap(long)]
pub port: Option<u16>,

View file

@ -32,7 +32,7 @@ impl StudioCommand {
let base_path = resolve_path(&self.project);
let project = Project::load_fuzzy(&vfs, &base_path)?
.context("A project file is required to run 'rojo studio'")?;
.context("A project file is required to run 'atlas studio'")?;
let serve_place_ids = project
.serve_place_ids

View file

@ -272,6 +272,7 @@ impl ApiService {
msgpack_ok(&ServerInfoResponse {
server_version: SERVER_VERSION.to_owned(),
protocol_version: PROTOCOL_VERSION,
server_fork: "atlas".to_owned(),
session_id: self.serve_session.session_id(),
project_name: self.serve_session.project_name().to_owned(),
expected_place_ids: self.serve_session.serve_place_ids().cloned(),

View file

@ -25,7 +25,7 @@ use crate::{
pub(crate) const SERVER_VERSION: &str = env!("CARGO_PKG_VERSION");
/// Current protocol version, which is required to match.
pub const PROTOCOL_VERSION: u64 = 5;
pub const PROTOCOL_VERSION: u64 = 6;
/// Message returned by Rojo API when a change has occurred.
#[derive(Debug, Serialize, Deserialize)]
@ -159,6 +159,7 @@ pub struct ServerInfoResponse {
pub session_id: SessionId,
pub server_version: String,
pub protocol_version: u64,
pub server_fork: String,
pub project_name: String,
#[serde(
serialize_with = "serialize_place_ids",