This project is based on the localization and improvements derived from Cosmic. Cosmic repository: https://github.com/P0nk/Cosmic
The BeiDou Navigation Satellite System (BDS, also known as COMPASS, Chinese transliteration: BeiDou) is a global satellite navigation system independently developed by China. It is the third mature satellite navigation system after GPS and GLONASS. The BeiDou Navigation Satellite System (BDS), together with the United States' GPS, Russia's GLONASS, and the European Union's GALILEO, is one of the providers recognized by the United Nations International Committee on Global Navigation Satellite Systems. The BeiDou Navigation Satellite System consists of three parts: the space segment, the ground segment, and the user segment. It can provide all-weather, all-time, high-accuracy, and highly reliable positioning, navigation, and timing services to all kinds of users worldwide, and it also has short-message communication capability. After years of development, BeiDou has become an important new type of infrastructure that provides all-weather, all-time, high-accuracy positioning, navigation, and timing services to users around the globe. The BeiDou positioning, navigation, and timing service is provided free of charge to users worldwide through 30 satellites, with global horizontal positioning accuracy better than 9 meters, vertical positioning accuracy better than 10 meters, velocity measurement accuracy better than 0.2 m/s, and timing accuracy better than 20 nanoseconds. The word "BeiDou" carries special significance for China. BeiDou is one of China's satellite navigation systems, and it was the first satellite navigation system independently developed by China. Since a fellow developer suggested that this project should also be named after a celestial body, after much thought we decided to call it BeiDou! This also means that what we set out to build must be even better and more powerful than HeavenMS and Cosmic!
- Automatic database creation is implemented; the initialization SQL scripts are executed automatically, as long as MySQL is running.
- The API port 8686 is exposed.
- Swagger has been integrated. Swagger URL: http://localhost:8686/swagger-ui/index.html
- APIs are versioned, e.g. v1, v2, v3. The default Swagger tag is
name = ApiConstant.LATEST, and the default RequestMapping is"/" + ApiConstant.LATEST + "/xx". - When adding a new API version where the interfaces do not need to change, simply point
ApiConstant.LATESTto the new version. If some interfaces are not compatible, change both theTagand theRequestMappingof the old interfaces to a specific version, e.g.ApiConstant.V1. For everything else, simply pointApiConstant.LATESTto the new version. - Multiple languages are supported. Scripts and WZ files are read from different paths depending on the language:
wz-zh-CN,wz-en-US,script-zh-CN,script-en-US. - MySQL versions below 8 are not supported.
- OpenJDK 21: https://jdk.java.net/archive/
- IntelliJ IDEA 2023.3 or later: https://www.jetbrains.com/idea/
- MySQL 8: https://github.com/SleepNap/NapMysqlTool/releases/latest or https://downloads.mysql.com/archives/community/
- Maven: https://maven.apache.org/download.cgi
- git: https://git-scm.com/downloads
- DBeaver: https://dbeaver.io/download/ or Navicat Lite: https://www.navicat.com/en/download/navicat-premium-lite
Feel free to skip any steps you have already completed, depending on your situation.
1. Install NodeJS v20.15.0 (LTS version)
Download: https://nodejs.org/dist/v20.15.0/node-v20.15.0-x64.msi
2. Install Yarn
npm install -g yarnIf you get an error saying the
npmcommand does not exist, it may be because the environment variables configured by the NodeJS installer have not taken effect yet. If you are new to this, try the classic fix: restart your computer.
3. Initialize the frontend development environment
Open a command line, navigate to the gms-ui directory, then run:
yarn install4. Start the development environment
yarn devAll images in the web frontend are fetched online. Thanks to https://maplestory.io for providing the image API!
The server and client are already packaged and available in the Releases — just download them directly. If you want to download the early Beta version of the BeiDou client, you can click here to learn more.
The Docker-related configuration has been removed from the original server and moved into a separate repository, which also supports pulling prebuilt images. If you would like to contribute to Docker development, you are welcome to open PRs in the new repository. Learn more
We have found that most questions are already answered in the Wiki — feel free to take a look. If you run into a problem that is not covered in the Wiki, feel free to open an issue or add the missing information directly. The Wiki has been opened up so that anyone can edit it. Wiki