mirror of
https://git.ngram.ca/OpenJam/rc-servers
synced 2026-08-23 23:08:52 +00:00
Update configs for release ready
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@@ -1954,6 +1954,7 @@ dependencies = [
|
||||
name = "rc_static_data"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"env_logger",
|
||||
"libfj",
|
||||
"log",
|
||||
|
||||
@@ -1,7 +1,15 @@
|
||||
[package]
|
||||
name = "servers"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
|
||||
[workspace.package]
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
repository = "https://git.ngram.ca/OpenJam/servers"
|
||||
license = "GPLv3"
|
||||
authors = ["NGnius <ngniusness@gmail.com>"]
|
||||
readme = "README.md"
|
||||
|
||||
[workspace]
|
||||
members = [
|
||||
|
||||
@@ -21,7 +21,7 @@ In most cases, these means no data is collected or logged except some debug log
|
||||
Some personal identifiers are sent but only exist ephemerally.
|
||||
The exception is Robocraft servers, which store the minimum account info possible on disk.
|
||||
This includes a unique user identifier, username, vehicle data, and user configuration data.
|
||||
The current PC's MAC address is also sent to the server (this is a Robocraft client """feature""", it is not recorded by any server).
|
||||
The current PC's MAC address is also sent to the server (this is a Robocraft client feature, it is not recorded by any server).
|
||||
|
||||
## Development
|
||||
|
||||
@@ -36,3 +36,10 @@ It is possible to remove the obfuscation from the Robocraft's `Assembly-CSharp.d
|
||||
If you can program or are learning Rust, pull requests are appreciated! If you can't and would prefer not to learn, reporting issues is also welcome.
|
||||
|
||||
If you'd like to discuss, contact NGnius on Signal `rfc.1149` or email `ngniusness@gmail.com`. I'll make a Signal group chat if there's enough interest.
|
||||
|
||||
# Acknowledgements
|
||||
|
||||
A big thanks to the RC15 team for their work on deobfuscating Robocraft .NET assemblies and specifically to RandomScientist for hooking me up with a deobfuscated assembly. Without them, progress would have been too slow and frustrating.
|
||||
|
||||
Thanks for the moral support from community members who reached out and the few IRL people who I went into unnecessary detail with.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<servers>
|
||||
<currentgroup>dev</currentgroup>
|
||||
<currentgroup>ngram</currentgroup>
|
||||
<currentsku>robocraft</currentsku>
|
||||
<robocraft>
|
||||
<dev>
|
||||
@@ -14,5 +14,18 @@
|
||||
<setting name="authUrl">http://127.0.0.1:8001/</setting>
|
||||
<setting name="S3URL">http://127.0.0.1:8010/live/data.json</setting>
|
||||
</dev>
|
||||
<ngram>
|
||||
<setting name="WebServicesServerAddress">ws.services.rc.ngram.ca:4532</setting>
|
||||
<setting name="WebServicesServerAddress__note__forwardedTo">:4533</setting>
|
||||
<setting name="SocialServerAddress">s.services.rc.ngram.ca:4534</setting>
|
||||
<setting name="SocialServerAddress__note__forwardedTo">:4535</setting>
|
||||
<setting name="ChatServerAddress">c.services.rc.ngram.ca:4536</setting>
|
||||
<setting name="ChatServerAddress__note__forwardedTo">:4537</setting>
|
||||
<setting name="SinglePlayerServerAddress">sp.services.rc.ngram.ca:4538</setting>
|
||||
<setting name="SinglePlayerServerAddress__note__forwardedTo">:4539</setting>
|
||||
<setting name="authUrl">https://live-auth.rc.ngram.ca/</setting>
|
||||
<setting name="S3URL">https://static.rc.ngram.ca/live/data.json</setting>
|
||||
<setting name="Payment__note__notUsedHere">https://pay.rc.ngram.ca/live/data.json</setting>
|
||||
</ngram>
|
||||
</robocraft>
|
||||
</servers>
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "auth"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
readme.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
|
||||
[features]
|
||||
steam = ["steamworks"]
|
||||
|
||||
@@ -6,8 +6,13 @@ mod cardlife;
|
||||
mod robocraft;
|
||||
|
||||
#[rocket::get("/")]
|
||||
fn index() -> &'static str {
|
||||
"Hello, world!"
|
||||
fn index() -> String {
|
||||
let name = env!("CARGO_PKG_NAME");
|
||||
let version = env!("CARGO_PKG_VERSION");
|
||||
let authors = env!("CARGO_PKG_AUTHORS");
|
||||
let license = env!("CARGO_PKG_LICENSE");
|
||||
let repo = env!("CARGO_PKG_REPOSITORY");
|
||||
format!("{} {} by [{}]\n{}\n{}", name, version, authors, license, repo)
|
||||
}
|
||||
|
||||
#[rocket::launch]
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "polariton_auth"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
readme.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
|
||||
[dependencies]
|
||||
log.workspace = true
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "rc_chat"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
readme.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
|
||||
[dependencies]
|
||||
log.workspace = true
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "rc_chat_room"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
readme.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
|
||||
[dependencies]
|
||||
log.workspace = true
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "rc_core"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
readme.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
|
||||
[dependencies]
|
||||
log.workspace = true
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "rc_microtransactions"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
readme.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
|
||||
[dependencies]
|
||||
rocket.workspace = true
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
mod robocraft;
|
||||
|
||||
#[rocket::get("/")]
|
||||
fn index() -> &'static str {
|
||||
"Hello, world!"
|
||||
fn index() -> String {
|
||||
let name = env!("CARGO_PKG_NAME");
|
||||
let version = env!("CARGO_PKG_VERSION");
|
||||
let authors = env!("CARGO_PKG_AUTHORS");
|
||||
let license = env!("CARGO_PKG_LICENSE");
|
||||
let repo = env!("CARGO_PKG_REPOSITORY");
|
||||
format!("{} {} by [{}]\n{}\n{}", name, version, authors, license, repo)
|
||||
}
|
||||
|
||||
#[rocket::launch]
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "rc_services"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
readme.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
|
||||
[dependencies]
|
||||
log.workspace = true
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "rc_services_room"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
readme.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
|
||||
[dependencies]
|
||||
log.workspace = true
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "rc_singleplayer"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
readme.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
|
||||
[dependencies]
|
||||
log.workspace = true
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "rc_singleplayer_room"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
readme.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
|
||||
[dependencies]
|
||||
log.workspace = true
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "rc_social"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
readme.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
|
||||
[dependencies]
|
||||
log.workspace = true
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
[package]
|
||||
name = "rc_social_room"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
readme.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
|
||||
[dependencies]
|
||||
log.workspace = true
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
[package]
|
||||
name = "rc_static_data"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
readme.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
|
||||
[dependencies]
|
||||
rocket.workspace = true
|
||||
libfj.workspace = true
|
||||
log.workspace = true
|
||||
env_logger.workspace = true
|
||||
clap.workspace = true
|
||||
|
||||
18
rc_static_data/src/cli.rs
Normal file
18
rc_static_data/src/cli.rs
Normal file
@@ -0,0 +1,18 @@
|
||||
use clap::Parser;
|
||||
|
||||
#[derive(Parser, Debug)]
|
||||
#[command(version, about, long_about = None)]
|
||||
pub struct CliArgs {
|
||||
/// URL of authentication web server
|
||||
#[arg(long, default_value_t = {"http://127.0.0.1:8001/".to_string()})]
|
||||
pub auth: String,
|
||||
/// URL of microtransactions web server
|
||||
#[arg(long, default_value_t = {"http://127.0.0.1:8011/".to_string()})]
|
||||
pub pay: String,
|
||||
}
|
||||
|
||||
impl CliArgs {
|
||||
pub fn get() -> Self {
|
||||
Self::parse()
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,22 @@
|
||||
mod robocraft;
|
||||
mod cli;
|
||||
|
||||
#[rocket::get("/")]
|
||||
fn index() -> &'static str {
|
||||
"Hello, world!"
|
||||
fn index() -> String {
|
||||
let name = env!("CARGO_PKG_NAME");
|
||||
let version = env!("CARGO_PKG_VERSION");
|
||||
let authors = env!("CARGO_PKG_AUTHORS");
|
||||
let license = env!("CARGO_PKG_LICENSE");
|
||||
let repo = env!("CARGO_PKG_REPOSITORY");
|
||||
format!("{} {} by [{}]\n{}\n{}", name, version, authors, license, repo)
|
||||
}
|
||||
|
||||
#[rocket::launch]
|
||||
fn rocket() -> _ {
|
||||
env_logger::init();
|
||||
let args = cli::CliArgs::get();
|
||||
rocket::build().mount("/", rocket::routes![index])
|
||||
.attach(robocraft::stage())
|
||||
.manage(args)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use rocket::{get, routes, serde::json::Json};
|
||||
use rocket::{get, routes, serde::json::Json, State};
|
||||
|
||||
#[get("/live/data.json")]
|
||||
pub fn static_live_data() -> Json<libfj::robocraft::StaticDataRaw> {
|
||||
pub fn static_live_data(cli: &State<crate::cli::CliArgs>) -> Json<libfj::robocraft::StaticDataRaw> {
|
||||
Json(libfj::robocraft::StaticDataRaw {
|
||||
MaintenanceMode: "false".into(),
|
||||
MaintenanceRegex: "".into(),
|
||||
@@ -15,8 +15,8 @@ pub fn static_live_data() -> Json<libfj::robocraft::StaticDataRaw> {
|
||||
PhotonLobbyServer: "rc-backend.servers.robocraftgame.com:4540".into(),
|
||||
ErrorLogAddress: "logs.freejamgames.com:4561".into(),
|
||||
ServerErrorLogAddress: "logs.freejamgames.com:4562".into(),
|
||||
authUrl: "http://127.0.0.1:8001/".into(), // originally "https://auth-backend.freejamgames.com/"
|
||||
paymentUrl: "http://127.0.0.1:8011/".into(),
|
||||
authUrl: cli.auth.clone(), // originally "https://auth-backend.freejamgames.com/"
|
||||
paymentUrl: cli.pay.clone(),
|
||||
enterBattleLogGenerationTimeout: "60".into(),
|
||||
GameServerConnectionTestTimeout: 10,
|
||||
AvatarCdnUrl: "https://rc-cdn-images.robocraftgame.com/customavatar/Live/".into(),
|
||||
|
||||
Reference in New Issue
Block a user