diff --git a/Cargo.lock b/Cargo.lock index 977e03c..02c1d1f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,7 +8,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a" dependencies = [ - "bitflags 2.9.1", + "bitflags", "bytes", "futures-core", "futures-sink", @@ -29,7 +29,7 @@ dependencies = [ "actix-service", "actix-utils", "actix-web", - "bitflags 2.9.1", + "bitflags", "bytes", "derive_more 0.99.20", "futures-core", @@ -53,7 +53,7 @@ dependencies = [ "actix-service", "actix-utils", "base64 0.22.1", - "bitflags 2.9.1", + "bitflags", "brotli", "bytes", "bytestring", @@ -125,7 +125,7 @@ dependencies = [ "actix-utils", "futures-core", "futures-util", - "mio 1.0.3", + "mio", "socket2", "tokio", "tracing", @@ -517,12 +517,6 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "383d29d513d8764dcdc42ea295d979eb99c3c9f00607b3692cf68a431f7dca72" -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - [[package]] name = "bitflags" version = "2.9.1" @@ -892,15 +886,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "crossbeam-channel" -version = "0.5.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-queue" version = "0.3.12" @@ -1064,7 +1049,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b035a542cf7abf01f2e3c4d5a7acbaebfefe120ae4efc7bde3df98186e4b8af7" dependencies = [ - "bitflags 2.9.1", + "bitflags", "proc-macro2", "proc-macro2-diagnostics", "quote", @@ -1199,18 +1184,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "filetime" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" -dependencies = [ - "cfg-if", - "libc", - "libredox", - "windows-sys 0.59.0", -] - [[package]] name = "flate2" version = "1.1.1" @@ -1254,15 +1227,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "fsevent-sys" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" -dependencies = [ - "libc", -] - [[package]] name = "fuchsia-cprng" version = "0.1.1" @@ -1952,26 +1916,6 @@ version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8fae54786f62fb2918dcfae3d568594e50eb9b5c25bf04371af6fe7516452fb" -[[package]] -name = "inotify" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" -dependencies = [ - "bitflags 1.3.2", - "inotify-sys", - "libc", -] - -[[package]] -name = "inotify-sys" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" -dependencies = [ - "libc", -] - [[package]] name = "inout" version = "0.1.4" @@ -2053,26 +1997,6 @@ dependencies = [ "simple_asn1", ] -[[package]] -name = "kqueue" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a" -dependencies = [ - "kqueue-sys", - "libc", -] - -[[package]] -name = "kqueue-sys" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" -dependencies = [ - "bitflags 1.3.2", - "libc", -] - [[package]] name = "language-tags" version = "0.3.2" @@ -2153,17 +2077,6 @@ version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9627da5196e5d8ed0b0495e61e518847578da83483c37288316d9b2e03a7f72" -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.9.1", - "libc", - "redox_syscall", -] - [[package]] name = "libsqlite3-sys" version = "0.30.1" @@ -2320,18 +2233,6 @@ version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e53debba6bda7a793e5f99b8dacf19e626084f525f7829104ba9898f367d85ff" -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", -] - [[package]] name = "mio" version = "1.0.3" @@ -2363,34 +2264,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "normpath" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8911957c4b1549ac0dc74e30db9c8b0e66ddcd6d7acc33098f4c63a64a6d7ed" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "notify" -version = "6.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" -dependencies = [ - "bitflags 2.9.1", - "crossbeam-channel", - "filetime", - "fsevent-sys", - "inotify", - "kqueue", - "libc", - "log", - "mio 0.8.11", - "walkdir", - "windows-sys 0.48.0", -] - [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -2585,24 +2458,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "oj_auth" -version = "0.4.0" -dependencies = [ - "clap", - "env_logger", - "git-version", - "hex", - "jsonwebtoken", - "libfj", - "log", - "rocket", - "rocket_dyn_templates", - "serde", - "steamworks", - "uuid", -] - [[package]] name = "oj_cdn" version = "0.4.0" @@ -3401,7 +3256,7 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 2.9.1", + "bitflags", ] [[package]] @@ -3575,7 +3430,7 @@ dependencies = [ name = "rlnl" version = "0.1.0" dependencies = [ - "bitflags 2.9.1", + "bitflags", "byteserde", "byteserde_derive", "sealed", @@ -3637,19 +3492,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "rocket_dyn_templates" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bbab919c9e67df3f7ac6624a32ef897df4cd61c0969f4d66f3ced0534660d7a" -dependencies = [ - "handlebars", - "normpath", - "notify", - "rocket", - "walkdir", -] - [[package]] name = "rocket_http" version = "0.5.1" @@ -3740,7 +3582,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.9.1", + "bitflags", "errno", "libc", "linux-raw-sys", @@ -4298,7 +4140,7 @@ dependencies = [ "atoi", "base64 0.22.1", "bigdecimal", - "bitflags 2.9.1", + "bitflags", "byteorder", "bytes", "chrono", @@ -4345,7 +4187,7 @@ dependencies = [ "atoi", "base64 0.22.1", "bigdecimal", - "bitflags 2.9.1", + "bitflags", "byteorder", "chrono", "crc", @@ -4436,24 +4278,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "steamworks" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a79d6f059322f73a4586cc2d0ca595ce1583104b2b1574ae1bb87f2c05bf4c67" -dependencies = [ - "bitflags 1.3.2", - "lazy_static", - "steamworks-sys", - "thiserror 1.0.69", -] - -[[package]] -name = "steamworks-sys" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef6b00f8fe8eaaaff22cb9b70822a48c1a5d772bc682c202a57c0b438175845" - [[package]] name = "stringprep" version = "0.1.5" @@ -4682,7 +4506,7 @@ dependencies = [ "backtrace", "bytes", "libc", - "mio 1.0.3", + "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", @@ -5005,8 +4829,6 @@ version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b" dependencies = [ - "getrandom 0.2.15", - "rand 0.8.5", "serde", ] @@ -5435,7 +5257,7 @@ version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" dependencies = [ - "bitflags 2.9.1", + "bitflags", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 4a88bf7..ac18efd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ readme = "README.md" [workspace] members = [ - "auth", "cdn", + "cdn", "rc_auth", "polariton_auth", "rc_services", "rc_services_room", diff --git a/README.md b/README.md index 06c5bde..cb607a7 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,14 @@ # OpenJam Servers [](https://rvlt.gg/jtVE0pD5) -[](https://git.ngram.ca/OpenJam/servers/releases) -[](#) +[](https://git.ngram.ca/OpenJam/rc-servers/releases) +[](#) A collection of open source servers for FreeJam games ## Usage -### CardLife - -To get CardLife to use these servers, replace the `ServerConfig.json` file in the game files with [this ServerConfig.json](assets/cardlife/ServerConfig.json). - -### Robocraft - NOTE: Please refer to the latest [release](./releases) for more detailed instructions for accessing the public OpenJam servers. To get Robocraft to use these servers, place [this servenvmulti.config](assets/robocraft/servenvmulti.config) file in the game files. @@ -25,9 +19,9 @@ Before you can login the first time, you will need to create an account through ## Privacy The minimum amount of data is (and should be) collected to provide the expected functionality. -In most cases, this means no data is collected or logged except some debug log messages in development versions. +This means no data is collected or logged except some debug log messages in development versions. Some personal identifiers, such as IP addresses and session tokens, are sent but only exist ephemerally. -The exception is Robocraft servers, which store the minimum account info possible. +The Robocraft servers store the minimum account info possible. This includes username, vehicle data, user configuration data, and other non-identifying gameplay data. If email and/or Steam account identifier are provided during registration, those are also stored. This information is all associated with a unique user identifier. @@ -35,7 +29,7 @@ The current PC's MAC address is also sent to the server (this is a Robocraft cli ## Development -Please refer to the [wiki](/OpenJam/servers/wiki/Dev). +Please refer to the [wiki](/OpenJam/rc-servers/wiki/Dev). ## Contributing diff --git a/assets/cardlife/ServerConfig.json b/assets/cardlife/ServerConfig.json deleted file mode 100644 index 1b54aa6..0000000 --- a/assets/cardlife/ServerConfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "AuthUrl": "https://live-auth.cl.ngram.ca/api/", - "LobbyUrl": "https://live-lobby.cl.ngram.ca/api/", - "InventoryUrl": "https://live-save.cl.ngram.ca/api/", - "FallbackAuthUrl": "https://proxy.cl.ngram.ca:8010/api/", - "FallbackLobbyUrl": "https://proxy.cl.ngram.ca:8030/api/", - "FallbackInventoryUrl": "https://proxy.cl.ngram.ca:8020/api/", - "GameServerPath": "/", - "GameServerExe": "/CardlifeGameServer.exe", - "PhotonUrl": "http://photon.cardlifegame.com" -} diff --git a/assets/cardlife/ServerConfig.json.local b/assets/cardlife/ServerConfig.json.local deleted file mode 100644 index f1fec58..0000000 --- a/assets/cardlife/ServerConfig.json.local +++ /dev/null @@ -1,11 +0,0 @@ -{ - "AuthUrl": "http://127.0.0.1:8001/api/", - "LobbyUrl": "http://127.0.0.1:8002/api/", - "InventoryUrl": "http://127.0.0.1:8003/api/", - "FallbackAuthUrl": "https://proxy.cl.ngni.us:8010/api/", - "FallbackLobbyUrl": "https://proxy.cl.ngni.us:8030/api/", - "FallbackInventoryUrl": "https://proxy.cl.ngni.us:8020/api/", - "GameServerPath": "/", - "GameServerExe": "/CardlifeGameServer.exe", - "PhotonUrl": "http://photon.cardlifegame.com" -} diff --git a/auth/Cargo.toml b/auth/Cargo.toml deleted file mode 100644 index 750e6d8..0000000 --- a/auth/Cargo.toml +++ /dev/null @@ -1,27 +0,0 @@ -[package] -name = "oj_auth" -version.workspace = true -edition.workspace = true -readme.workspace = true -license.workspace = true -repository.workspace = true -authors.workspace = true - -[features] -steam = ["steamworks"] -cardlife = [] -default = ["cardlife"] - -[dependencies] -rocket.workspace = true -rocket_dyn_templates = { version = "0.2", features = [ "handlebars" ] } -libfj.workspace = true -log.workspace = true -env_logger.workspace = true -uuid = { version = "1.12", features = [ "v4", "fast-rng" ] } -steamworks = { version = "0.11", optional = true } -hex = "0.4" -jsonwebtoken = "9" -clap.workspace = true -serde.workspace = true -git-version.workspace = true diff --git a/auth/Rocket.toml b/auth/Rocket.toml deleted file mode 100644 index c17d5ef..0000000 --- a/auth/Rocket.toml +++ /dev/null @@ -1,13 +0,0 @@ -## defaults for _all_ profiles -[default] -address = "127.0.0.1" -port = 8001 -template_dir = "../assets/templates/" - -## set only when compiled in debug mode, i.e, `cargo build` -[debug] -port = 8001 - -## set only when compiled in release mode, i.e, `cargo build --release` -[release] -address = "0.0.0.0" diff --git a/auth/run_debug.sh b/auth/run_debug.sh deleted file mode 100755 index a6e46e5..0000000 --- a/auth/run_debug.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -RUST_LOG=debug cargo run diff --git a/auth/src/cardlife/email.rs b/auth/src/cardlife/email.rs deleted file mode 100644 index e16608e..0000000 --- a/auth/src/cardlife/email.rs +++ /dev/null @@ -1,12 +0,0 @@ -use rocket::{post, routes, serde::json::Json}; - -#[post("/api/auth/authenticate", data = "
")] -pub fn email_password_auth(body: Json