Skip to content

Commit f6a4cf7

Browse files
Add a readme, license and a contribution guide
Add a bunch of docs to this repository, including the license (MIT), the readme describing the project and the contribution guidelines.
1 parent fc94cb2 commit f6a4cf7

File tree

3 files changed

+151
-0
lines changed

3 files changed

+151
-0
lines changed

CONTRIBUTING.md

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# Contributor's guideline
2+
These are informal guidelines intended to make contributing easier for
3+
everyone - both maintainers and contributors. They help save time, reduce
4+
friction, and outline the basic expectations and social contract for working on
5+
this project.
6+
7+
## Licensing
8+
Contribution intentionally submitted for inclusion into this project, shall be
9+
licensed as MIT, without any additional terms or conditions.
10+
11+
## Conduct
12+
The `mctrlrs` project adheres to the [Rust Code of Conduct](
13+
https://github.com/rust-lang/rust/blob/master/CODE_OF_CONDUCT.md). This
14+
describes the _baseline_ behavior expected from all contributors.
15+
16+
## Use of LLMs
17+
Please do not use an LLM to generate bug reports, issues, discussions or PRs on
18+
your behalf. Feel free to get LLM assistance for parts where you need them, but
19+
do not simply tell an LLM to generate things and submit them. Make sure you
20+
actually verify everything, twice. This will help save everyone a lot of time,
21+
believe me.
22+
23+
## How to contribute
24+
There are a few ways one can contribute to this project:
25+
1. Submitting a bug report;
26+
1. Confirming a reported bug;
27+
1. Fixing a reported bug;
28+
1. Submitting a feature request;
29+
1. Implementing a feature request;
30+
1. Helping triage and resolve open issues;
31+
1. Improving documentation;
32+
33+
### Submitting a bug report
34+
Found a bug? Great, maintainers will be glad to know about it!
35+
36+
First, check if this bug is already reported. Prefer :+1: reaction on the issue
37+
over the "affects me too message". Do provide any additional context however if
38+
you can, it helps immensely!
39+
40+
If no issue open issue exists for this bug, please open a new issue and provide
41+
a detailed description of the problem you are facing. Include reproduction
42+
steps, code examples, information about your environment, the expected outcome
43+
and what actually happens when a bug occurs. This helps maintainers, because
44+
they don't have to chase you for additional information and context, but also
45+
helps you as you don't have to go and collect extra information later.
46+
47+
### Confirming a bug report
48+
If you see an open issue with a bug report and you are facing the same problem,
49+
or if you just want to help and verify that a bug is valid, please go through
50+
the information in the report, ensure it is complete and no context is missing,
51+
try reproducing the problem or add additional reproduction steps if you can. By
52+
doing so you either would ensure that the bug is actually legitimate and needs
53+
attention or you might even be able to discover some context that helps fixing
54+
it.
55+
56+
### Fixing a reported bug
57+
If you discovered a bug and opened an issue, or if you discovered an already
58+
reported bug that you know how to fix, feel free to open a pull request with a
59+
proposed fix and let's work together on fixing it. Make sure that the bug is
60+
actually confirmed though, so you don't waste your time writing code and
61+
maintainers' time reviewing and triaging it.
62+
63+
### Submitting a feature request
64+
Got a cool idea for a feature? Awesome! Let's work together and see if we can
65+
make it happen.
66+
67+
First, please check any existing discussions and see if this idea or any
68+
similar ones were already or are actively discussed and what the outcome is. Do
69+
provide any feedback or extra context as needed.
70+
71+
If your idea is unique, and nobody has thought about it before -
72+
congratulations! Please open an issue and describe the feature request in
73+
detail. Doing so allows to make sure that the idea aligns with this project
74+
goals and its direction. If all goes well, the maintainers will turn this into
75+
an issue or ask you to do so. At this stage the feature is ready to be
76+
implemented.
77+
78+
Please note, not all feature requests will be accepted. This is the main reason
79+
to start the conversation first and avoid wasting effort writing any code.
80+
81+
### Implementing a feature request
82+
Have you submitted an idea that was accepted by the maintainers and you want to
83+
implement? Or did you see an open issue for a feature request that is ready to
84+
be implemented but nobody works on and you want to do so? Excellent, we love to
85+
see external contributions!
86+
87+
Please, comment on the issue and mention that you are going to be working on it
88+
and feel free to open a PR with proposed implementation. Work with maintainers
89+
and other contributors to land the change into the default branch.
90+
91+
92+
### Triaging and resolving issues
93+
While creating and fixing bug reports, and submitting and implementing feature
94+
requests are primary forms of contribution, help with triaging and resolving
95+
issues and providing feedback on pull requests is always greatly appreciated.
96+
97+
If you see an issue or a pull request and you can contribute additional context
98+
to or can help drive to the resolution, please do os if time permits.
99+
100+
### Improving documentation
101+
Adding new documentation, helping improve existing one, providing examples,
102+
clarifying any confusing parts is always welcome. Feel free to open a PR with
103+
proposed suggestions and work with other contributors and project maintainers
104+
to land your changes.
105+
106+
## Asking for help
107+
If you need help with this project, please start a new [discussion](
108+
https://github.com/software-artificer/mctrlrs/discussions/categories/help-and-support),
109+
do not submit an issue.

LICENSE.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Garry Filakhtov
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6+
7+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8+
9+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

README.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# mctrlrs
2+
Minecraft Controller written in Rust (mc ctrl rs).
3+
4+
## What is this project about?
5+
This is a Minecraft server sidecar, a web server that can be run alongside the
6+
Minecraft server and can communicate to it using the RCON protocol.
7+
8+
It has some basic functionality to display the number of online players with a
9+
list of them and also show show the tick stats.
10+
11+
However, the main goal of the project is to switch between multiple different
12+
worlds. Me and my friends are playing Minecraft for a while and we periodically
13+
create a new world when big enough update drops and changes a lot in the world
14+
generation routines. It is fun though to come back to our old worlds from time
15+
to time and explore what we did when we get nostalgic.
16+
17+
This is exactly what this tool is for - it allows switch between multiple world
18+
directories. It will first shutdown the server, change the configuration file
19+
to point to a different folder and then restart it back up.
20+
21+
This project comes with two modes: a server and a management tool.
22+
23+
A server can be started by using the `mctrlrs server` command and is
24+
essentially a sidecar with the web interface.
25+
26+
A management tool is a CLI that allows to manage users for web interface
27+
access, including enrolling new users with registration link that can be sent
28+
to somebody to set their own password, reset their password or remove a user.
29+
This functionality can be accessed with `mctrlrs manage user` subcommand.
30+
31+
It also allows to manage worlds: listing available worlds and switching between
32+
them, similarly to what the web interface would do. This can be done via the
33+
`mctrlrs manage world` subcommand.

0 commit comments

Comments
 (0)