{"id":15039223,"url":"https://github.com/melledy/lunarcore","last_synced_at":"2025-05-14T12:08:09.234Z","repository":{"id":209273427,"uuid":"703022577","full_name":"Melledy/LunarCore","owner":"Melledy","description":"A game server reimplementation for a certain turn-based anime game","archived":false,"fork":false,"pushed_at":"2024-10-21T08:59:39.000Z","size":6759,"stargazers_count":1359,"open_issues_count":26,"forks_count":278,"subscribers_count":23,"default_branch":"development","last_synced_at":"2025-04-26T15:41:46.363Z","etag":null,"topics":["game-server"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Melledy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-10T12:57:35.000Z","updated_at":"2025-04-26T11:42:30.000Z","dependencies_parsed_at":"2024-01-14T16:14:17.451Z","dependency_job_id":"318f7435-333e-451c-bf67-3e67a47581ed","html_url":"https://github.com/Melledy/LunarCore","commit_stats":null,"previous_names":["melledy/lunarcore"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Melledy%2FLunarCore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Melledy%2FLunarCore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Melledy%2FLunarCore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Melledy%2FLunarCore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Melledy","download_url":"https://codeload.github.com/Melledy/LunarCore/tar.gz/refs/heads/development","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254140756,"owners_count":22021219,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-server"],"created_at":"2024-09-24T20:41:58.955Z","updated_at":"2025-05-14T12:08:09.211Z","avatar_url":"https://github.com/Melledy.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![LunarCore](https://socialify.git.ci/Melledy/LunarCore/image?description=1\u0026descriptionEditable=A%20game%20server%20reimplementation%20for%20version%202.5.0%20of%20a%20certain%20turn-based%20anime%20game%20for%20educational%20purposes.%20\u0026font=Inter\u0026forks=1\u0026issues=1\u0026language=1\u0026name=1\u0026owner=1\u0026pulls=1\u0026stargazers=1\u0026theme=Light)\n\u003cdiv align=\"center\"\u003e\u003cimg alt=\"GitHub release (latest by date)\" src=\"https://img.shields.io/github/v/release/Melledy/LunarCore?logo=java\u0026style=for-the-badge\"\u003e \u003cimg alt=\"GitHub\" src=\"https://img.shields.io/github/license/Melledy/LunarCore?style=for-the-badge\"\u003e \u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/Melledy/LunarCore?style=for-the-badge\"\u003e \u003cimg alt=\"GitHub Workflow Status\" src=\"https://img.shields.io/github/actions/workflow/status/Melledy/LunarCore/build.yml?branch=development\u0026logo=github\u0026style=for-the-badge\"\u003e\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\u003ca href=\"https://discord.gg/cfPKJ6N5hw\"\u003e\u003cimg alt=\"Discord - LunarCore\" src=\"https://img.shields.io/discord/1163718404067303444?label=Discord\u0026logo=discord\u0026style=for-the-badge\"\u003e\u003c/a\u003e\u003c/div\u003e\n\n[EN](README.md) | [ID](docs/README_id-ID.md) | [简中](docs/README_zh-CN.md) | [繁中](docs/README_zh-TW.md) | [JP](docs/README_ja-JP.md) | [RU](docs/README_ru-RU.md) | [FR](docs/README_fr-FR.md) | [KR](docs/README_ko-KR.md) | [VI](docs/README_vi-VI.md)\n\n**Attention:** For any extra support, questions, or discussions, check out our [Discord](https://discord.gg/cfPKJ6N5hw).\n\n### Notable features\n- Basic game features: Logging in, team setup, inventory, basic scene/entity management\n- Monster battles working\n- Natural world monster/prop/NPC spawns\n- Character techniques\n- Crafting/Consumables working\n- NPC shops handled\n- Gacha system\n- Mail system\n- Friend system (Assists are not working yet)\n- Forgotten hall\n- Pure Fiction\n- Simulated universe (Runs can be finished, but many features are missing)\n\n# Running the server and client\n\n### Prerequisites\n* [Java 17 JDK](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html)\n\n### Recommended\n* [MongoDB 4.0+](https://www.mongodb.com/try/download/community)\n\n### Compiling the server\n1. Open your system terminal, and compile the server with `./gradlew jar`\n2. Create a folder named `resources` in your server directory\n3. Download the `Config`, `TextMap`, and `ExcelBin` folders from [https://github.com/Dimbreath/StarRailData](https://github.com/Dimbreath/StarRailData) and place them into your resources folder.\n4. Run the server with `java -jar LunarCore.jar` from your system terminal. Lunar Core 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. \n\n### Connecting with the client (Fiddler method)\n1. **Log in with the client to an official server and Hoyoverse account at least once to download game data.**\n2. Install and have [Fiddler Classic](https://www.telerik.com/fiddler) running.\n3. 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:\n\n```\nimport System;\nimport System.Windows.Forms;\nimport Fiddler;\nimport System.Text.RegularExpressions;\n\nclass Handlers\n{\n    static function OnBeforeRequest(oS: Session) {\n        if (oS.host.EndsWith(\".starrails.com\") || oS.host.EndsWith(\".hoyoverse.com\") || oS.host.EndsWith(\".mihoyo.com\") || oS.host.EndsWith(\".bhsr.com\")) {\n            oS.oRequest.headers.UriScheme = \"http\";\n            oS.host = \"localhost\"; // This can also be replaced with another IP address.\n        }\n    }\n};\n```\n\n4. If `autoCreateAccount` is set to true in the config, then you can skip this step. Otherwise, type `/account create [account name]` in the server console to create an account.\n5. Login with your account name, the password field is ignored by the server and can be set to anything.\n\n### Server commands\nServer commands can be run in the server console or in-game. There is a dummy user named \"Server\" in every player's friends list that you can message to use in-game commands.\n\n```\n/account {create | delete} [username] (reserved player uid). Creates or deletes an account.\n/avatar lv(level) p(ascension) r(eidolon) s(skill levels). Sets the current avatar's properties.\n/clear {relics | lightcones | materials | items}. Removes filtered items from the player inventory.\n/gender {male | female}. Sets the player's gender.\n/give [item id] x[amount] lv[number]. Gives the targetted player an item.\n/giveall {materials | avatars | lightcones | relics}. Gives the targeted player items.\n/heal. Heals your avatars.\n/help. Displays a list of available commands.\n/kick @[player id]. Kicks a player from the server.\n/mail [content]. Sends the targeted player a system mail.\n/permission {add | remove | clear} [permission]. Gives/removes a permission from the targeted player.\n/refill. Refill your skill points in open world.\n/reload. Reloads the server config.\n/scene [scene id] [floor id]. Teleports the player to the specified scene.\n/spawn [npc monster id/prop id] s[stage id] x[amount] lv[level] r[radius] \u003cbattle monster ids...\u003e. Spawns a monster or prop near the targeted player.\n/stop. Stops the server\n/unstuck @[player id]. Unstucks an offline player if they're in a scene that doesn't load.\n/worldlevel [world level]. Sets the targeted player's equilibrium level.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmelledy%2Flunarcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmelledy%2Flunarcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmelledy%2Flunarcore/lists"}