mirror of
https://github.com/Melledy/Nebula.git
synced 2025-12-12 12:24:35 +01:00
9d77005da6727a5445caacff6178c05943213c55
…
…
Nebula
A work in progress game server emulator for a certain anime game. Most features are implemented.
For any extra support, questions, or discussions, check out our Discord.
Notable features
- Basic profile features
- Character system
- Inventory/Discs working
- Energy system
- Mail system
- Story (untested)
- Daily quests
- Battle pass
- Gacha
- Friend system (sending energy not implemented)
- Shop (only in-game currency supported)
- Commissions
- Heartlink
- Achievements
- Monoliths (research quests not implemented)
- Bounty Trials
- Menance Arena
- Proving Grounds
- Catacylsm Survivor (talents not fully working)
- Boss Blitz
- Events (Only tower defense and trials)
Supported regions
Nebula supports the global PC client by default. If you want to switch regions, you need to change the region field in the Nebula config.
Current supported regions (PC): GLOBAL, KR, JP, TW, CN
You may need to change the data version when switching regions. The customDataVersion field should match the the data version of your client, which is usually the last number of your client's version string (top left of your login screen). Example: 1.0.0.42 = data version 42.
Running the server and client
Prerequisites
Recommended
Compiling the server
- Open your system terminal, and compile the server with
./gradlew jar - Create a folder named
resourcesin your server directory - Download the
bin,languagefolders from a repository with datamined game data and place them into your resources folder. - Run the server with
java -jar Nebula.jarfrom your system terminal. This server comes with a built-in internal MongoDB server for its database, so no Mongodb installation is required. However, it is highly recommended to install Mongodb anyway.
Connecting with the client (Fiddler method)
- Log in with the client to an official server at least once to download game data.
- Install and have Fiddler Classic running.
- Copy and paste the following code into the Fiddlerscript tab of Fiddler Classic. Remember to save the fiddler script after you copy and paste it:
import Fiddler;
class Handlers
{
static var list = [
".yostarplat.com",
".stellasora.global",
".stellasora.kr",
".stellasora.jp",
".stargazer-games.com",
".yostar.cn"
];
static function OnBeforeRequest(oS: Session) {
for (var i = 0; i < list.length; i++) {
if (oS.host.EndsWith(list[i])) {
oS.oRequest.headers.UriScheme = "http";
oS.host = "localhost"; // This can also be replaced with another IP address
}
}
}
};
- If
autoCreateAccountis set to true in the config, then you can skip this step. Otherwise, type/account create [account email]in the server console to create an account. - Login with your account email, the code field is ignored by the server and can be set to anything.
Server commands
Server commands need to be run in the server console OR in the signature edit menu of your profile.
!account {create | delete} [email] (reserved player uid) = Creates or deletes an account.
!battlepass [free | premium] lv(level) = Modifies the targeted player's battle pass
!char [all | {characterId}] lv(level) a(ascension) s(skill level) t(talent level) f(affinity level) = Changes the properties of the targeted characters.
!clean [all | {id} ...] [items|resources] = Removes items/resources from the targeted player.
!disc [all | {discId}] lv(level) a(ascension) c(crescendo level) = Changes the properties of the targeted discs.
!give [item id] x[amount] = Gives the targeted player an item through the mail.
!giveall [characters | discs | materials] = Gives the targeted player items.
!help = Displays a list of available commands. (Very spammy in-game)
!level (level) = Sets the player level
!mail "subject" "body" [itemId xQty | itemId:qty ...] = Sends the targeted player a system mail.
!reload = Reloads the server config.
!remote = Creates a player token for remote api usage
Languages
Java
100%