mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-11 08:27:29 -04:00
update some documentation
This commit is contained in:
parent
289a0875a3
commit
dc40acb56a
@ -5,7 +5,7 @@ First, thank you for visiting this page and for even thinking about contributing
|
||||
## Things you can do
|
||||
|
||||
### Issues
|
||||
If you find a bug (in master **AND** in development), feel free to follow these steps:
|
||||
If you find a bug (in **master**), feel free to follow these steps:
|
||||
1. Check if this bug is a bug and can be recreated.
|
||||
2. Check if this bug is already reported (use the issue search or google).
|
||||
3. Open the issue and describe the problem as much as needed (not as you can!)
|
||||
|
16
ReadMe.md
16
ReadMe.md
@ -19,14 +19,14 @@ Minosoft is an open source minecraft client, written from scratch in kotlin (and
|
||||
- Multi threading and asynchronous loading
|
||||
- Debugging on protocol layer
|
||||
- LAN servers
|
||||
- Independent, We'd accept almost all types of patches (except explicit server support)
|
||||
- Independent, I'd accept almost all types of patches (except explicit server support)
|
||||
- Way more stuff
|
||||
|
||||
## System requirements
|
||||
|
||||
- CPU: Minosoft works mostly asynchronous, so multiple cores are good. For FPS more clock speed is better.
|
||||
- RAM: ~500Mib. With overhead, etc 2Gib recommended
|
||||
- Disk space: Minosoft itself is pretty small (2-3 Mib), the libraries are a bit bigger. You also need to have the "normal" minecraft assets (~ 300 MB for one version).
|
||||
- Disk space: Minosoft itself is pretty small (2-3 Mib), the libraries are a bit bigger (~80 Mib). You also need to have the "normal" minecraft assets (~ 300 MB per minecraft version).
|
||||
- GPU: OpenGL 3.3+. Every moden GPU works and is recommended.
|
||||
- Java 14+, 16 recommended (This is really important, we use features that are only available in this version. Java 8 is currently **not** supported).
|
||||
|
||||
@ -87,7 +87,7 @@ On the ToDo List
|
||||
|
||||
## Contribution or helping out
|
||||
|
||||
You're welcome, but feel free to take a look at [Contributing.md](/Contributing.md).
|
||||
I'd love it. Currently, it is pretty much work for me, so please help out if you can and want :). Feel free to take a look at [Contributing.md](/Contributing.md).
|
||||
|
||||
## Tools and generators
|
||||
|
||||
@ -112,7 +112,7 @@ Because we have no releases or tags yet, we don't build any versions ourselves.
|
||||
|
||||
#### Ubuntu / Debian
|
||||
|
||||
TBD
|
||||
TBA
|
||||
|
||||
#### Arch
|
||||
|
||||
@ -120,7 +120,7 @@ Thanks to @jugendhacker we are in the arch user repository (AUR): https://aur.ar
|
||||
|
||||
### Windows
|
||||
|
||||
TBD
|
||||
TBA
|
||||
|
||||
### MacOS
|
||||
|
||||
@ -131,12 +131,12 @@ Not compatible (yet)
|
||||
1. Install Maven and java 14+ (On Ubuntu based distributions: `sudo apt install maven openjdk-14-jdk`). For Windows users, download and install java from oracle or openjdk. Also download maven and follow along.
|
||||
2. Clone this repo (`git clone https://gitlab.bixilon.de/bixilon/minosoft.git`).
|
||||
3. Change directory (`cd minosoft`).
|
||||
4. Checkout the branch (`git checkout <branch>`). Eventually `rendering` or `development`.
|
||||
5. Build and run Minosoft with `mvn clean verify exec:java`. If any errors occur, feel free to open an issue. In this early stage it might be helpful to delete the AppData folder (only of minosoft).
|
||||
4. Optional: Checkout the branch of the feature you want to test(`git checkout <branch>`).
|
||||
5. Build and run Minosoft with `mvn clean verify exec:java`. If any errors occur, feel free to open an issue. In this early stage it might be helpful to delete the config file.
|
||||
6. (Optional) Build a fat jar with `mvn package`. You'll find the jar with all dependencies in `target/`. Then you don't need to recompile everytime.
|
||||
|
||||
## Code mirrors
|
||||
|
||||
- [GitLab](https://gitlab.com/Bixilon/minosoft)
|
||||
|
||||
This readme is work in progress, things may change over time.
|
||||
This project/readme is work in progress, things may change over time.
|
||||
|
101
doc/Config.md
101
doc/Config.md
@ -3,104 +3,3 @@ There is a config file located in:
|
||||
* Windows: `%AppData%\Minosoft`
|
||||
* MacOS: `"~/Library/Application Support/Minosoft"`
|
||||
* Linux (and all others): `~\Minosoft`
|
||||
|
||||
## Example
|
||||
```json
|
||||
{
|
||||
"general": {
|
||||
"version": 1,
|
||||
"log-level": "VERBOSE",
|
||||
"language": "en_US"
|
||||
},
|
||||
"game": {
|
||||
"render-distance": 12
|
||||
},
|
||||
"network": {
|
||||
"fake-network-brand": false,
|
||||
"show-lan-servers": true
|
||||
},
|
||||
"accounts": {
|
||||
"selected": "SECRET",
|
||||
"client-token": "SECRET",
|
||||
"entries": {
|
||||
"SECRET": {
|
||||
"accessToken": "SECRET",
|
||||
"userId": "SECRET",
|
||||
"uuid": "9e6ce7c5-40d3-483e-8e5a-b6350987d65f",
|
||||
"playerName": "Bixilon",
|
||||
"userName": "SECRET"
|
||||
}
|
||||
}
|
||||
},
|
||||
"servers": {
|
||||
"entries": {
|
||||
"1": {
|
||||
"id": 1,
|
||||
"name": "A Minosoft server",
|
||||
"address": "localhost",
|
||||
"favicon": "<Base 64 encoded png>",
|
||||
"version": -1
|
||||
}
|
||||
}
|
||||
},
|
||||
"download": {
|
||||
"urls": {
|
||||
"resources": "https://gitlab.com/Bixilon/minosoft/-/raw/development/data/resources/%s/%s.tar.gz?inline=false"
|
||||
}
|
||||
},
|
||||
"debug": {
|
||||
"verify-assets": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## General
|
||||
|
||||
- `version` The current version of the config. Used for migration between versions. A new version will be tagged, once a new release of minosoft is there, and the format of the config changed.
|
||||
- `log-level` Self explaining, valid log levels are defined in [LogLevels.java](/src/main/java/de/bixilon/minosoft/util/logging/LogLevels.java).
|
||||
- `language` Self explaining. All values are valid, if the specific language cannot be loaded (or specific strings are not available), `en_US` will be used (as fallback).
|
||||
|
||||
## Network
|
||||
- `fake-network-brand` Minosoft send its brand to the server. If true, minosoft will say, that we use standard `vanilla`.
|
||||
- `show-lan-servers` If true, minosoft will listen for lan servers (singleplayer and share to LAN) and show them in the server list.
|
||||
|
||||
## Accounts
|
||||
- `selected` userId of the current selected account, can be empty
|
||||
- `client-token` A random uuid (generated at first startup), used as unique identifier for all authentication communication with mojang.
|
||||
- `entries` An account array:
|
||||
|
||||
### Account
|
||||
```json
|
||||
{
|
||||
"<userId>": {
|
||||
"accessToken": "<access Token>",
|
||||
"userId": "<userId>",
|
||||
"uuid": "<UUID of player with dashes>",
|
||||
"playerName": "<Player name>",
|
||||
"userName": "<Mojang email address>"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Servers
|
||||
- `entries` A server array:
|
||||
|
||||
### Server
|
||||
```json
|
||||
{
|
||||
"<Server id>": {
|
||||
"id": <Server ID>,
|
||||
"name": "<Server name>",
|
||||
"address": "<Server address>",
|
||||
"favicon": "<Base 64 encoded png>",
|
||||
"version": -1
|
||||
}
|
||||
}
|
||||
```
|
||||
## Download
|
||||
- `url`
|
||||
- `mappings` URL for resources. For example mappings. The data is in a folder starting with the first digs of the hash, followed by the hash
|
||||
The URL must contain .tar.gz files named after minecraft versions (e.g. `0a/0aeb75059ef955d4cf2b9823d15775d0eacb13d5.tar.gz`).
|
||||
|
||||
## Debug
|
||||
- `verify-assets` If true, minosoft will check the sha1 of every asset. Must be false, if you want to modify assets. (Should be true, can be false, if you want to improve the start time)
|
||||
|
@ -1,12 +1,10 @@
|
||||
# Development
|
||||
Generally I'd say TBA, but some basic rules are here. Feel free to contact us first, before developing huge things. May be better.
|
||||
Generally I'd say TBA, but some basic rules are here. Feel free to contact me first, before developing huge things. May be better.
|
||||
|
||||
## Git Rules
|
||||
- Small Features in `development`.
|
||||
- `master` must always be stable and functional.
|
||||
- No force pushes (or modifying the git history) in protected branches (aka. `master`).
|
||||
- Bigger features on own branches. Merge only via Merge Request.
|
||||
- No commits directly in `master`
|
||||
|
||||
## Git access
|
||||
|
||||
@ -29,24 +27,16 @@ Generally I'd say TBA, but some basic rules are here. Feel free to contact us fi
|
||||
|
||||
- This is a non-profit project, so don't include anything that violates open source rules.
|
||||
- No connections to other servers than mojang or resources (aka this or another git repo).
|
||||
- No remote code execution or similar (You know what I mean).
|
||||
- No ads, no data collection, nothing in this direction.
|
||||
- No copyright protected content.
|
||||
- Server specific support (Consider writing a [mod](/doc/Modding.md)).
|
||||
|
||||
## How to start (small features)
|
||||
## How to start
|
||||
|
||||
1. Clone the repository
|
||||
2. Implement a feature (feel free to ask if you have questions)
|
||||
3. Test and check for impacts
|
||||
4. Submit **P**ull **R**equest (target branch should be `master`)
|
||||
5. Wait for merge
|
||||
|
||||
## How to start (big features)
|
||||
|
||||
1. Clone the repository
|
||||
2. Start implementing features
|
||||
3. Once you have something (minimal) to show, open a draft merge request (Start title with `WIP`) and write (short or long) what you have and want to implement (consider looking at other PRs)
|
||||
3. Test fix all bugs (or discuss them)
|
||||
4. Let other people test
|
||||
6. Mark PR as ready
|
||||
1. Fork the repository
|
||||
2. Clone your fork
|
||||
3. Create a branch and start developing there
|
||||
4. Implement a feature (feel free to ask if you have questions)
|
||||
5. Test and check for impacts
|
||||
6. Submit **P**ull **R**equest (target branch should be `master`)
|
||||
7. Wait for merge
|
||||
|
Loading…
x
Reference in New Issue
Block a user