Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update 2.0 #19

Open
wants to merge 60 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
1cdc38b
oops, imports
Bumer-32 Nov 29, 2024
df81df6
some refactor
Bumer-32 Nov 29, 2024
6645341
update gradle wrapper
Bumer-32 Dec 5, 2024
b59d103
move python to src
Bumer-32 Dec 5, 2024
7772949
server statistics and some refactoring
Bumer-32 Dec 6, 2024
8f3c380
bump fabric loom
Bumer-32 Dec 6, 2024
c53a06a
Bump org.jetbrains.kotlin.jvm from 2.0.21 to 2.1.0
dependabot[bot] Dec 6, 2024
e469e53
Merge pull request #18 from Bumer-32/dependabot/gradle/dev/org.jetbra…
Bumer-32 Dec 6, 2024
c3a75f0
Bump org.jetbrains.kotlin.plugin.serialization from 2.0.21 to 2.1.0
dependabot[bot] Dec 6, 2024
a4f39ef
Merge pull request #17 from Bumer-32/dependabot/gradle/dev/org.jetbra…
Bumer-32 Dec 6, 2024
556778e
fucking stats
Bumer-32 Dec 6, 2024
730e62d
imports
Bumer-32 Dec 6, 2024
76b5322
Merge remote-tracking branch 'origin/dev' into dev
Bumer-32 Dec 6, 2024
b786094
auto requirements.txt
Bumer-32 Dec 6, 2024
76b28c6
typescript ready!
Bumer-32 Dec 6, 2024
7907812
try to setup py for building
Bumer-32 Dec 7, 2024
c091617
Revert "try to setup py for building"
Bumer-32 Dec 7, 2024
e4c63b8
ok, let's try miniconda setup
Bumer-32 Dec 7, 2024
dbbf074
ok, new auto reqs
Bumer-32 Dec 7, 2024
931892f
wrapper-validation action
Bumer-32 Dec 7, 2024
673494d
added saas
Bumer-32 Dec 7, 2024
5f26e0a
now we can develop with ts and sass and even compile it
Bumer-32 Dec 7, 2024
24c8458
don't delete web folder, because live server disconnects
Bumer-32 Dec 7, 2024
a6ba71c
multi launch protection
Bumer-32 Dec 7, 2024
990a55e
web, day 1
Bumer-32 Dec 8, 2024
6a491d5
web, day 2
Bumer-32 Dec 8, 2024
fef32a6
web, day 3 + 4
Bumer-32 Dec 12, 2024
95d45bc
web, day 5 + 6? maybe
Bumer-32 Dec 17, 2024
61141b7
oops
Bumer-32 Dec 17, 2024
f98ff7f
web day 7
Bumer-32 Dec 20, 2024
f2cd560
web day 8
Bumer-32 Dec 21, 2024
10a5b4a
web day 9
Bumer-32 Dec 25, 2024
093bbdd
web day 10 + already normal dev mode
Bumer-32 Dec 27, 2024
7215c06
compilation fix
Bumer-32 Dec 27, 2024
c3b47c2
compilation fix
Bumer-32 Dec 27, 2024
165e760
web day 11
Bumer-32 Dec 28, 2024
581e1e7
Merge remote-tracking branch 'origin/dev' into dev
Bumer-32 Dec 28, 2024
075a78d
web day 12
Bumer-32 Dec 29, 2024
2a73d1e
web day 13
Bumer-32 Dec 29, 2024
ed2ac18
web day 14 + 15 + 16
Bumer-32 Jan 4, 2025
033785e
Merge branch 'main' into dev
Bumer-32 Jan 4, 2025
f001137
working stats
Bumer-32 Jan 5, 2025
415f244
Merge remote-tracking branch 'origin/dev' into dev
Bumer-32 Jan 5, 2025
fb095ae
try to increase memory to run codeQL
Bumer-32 Jan 5, 2025
c0a668e
small fixes for console
Bumer-32 Jan 6, 2025
1750e2f
spoiler for ip
Bumer-32 Jan 6, 2025
d972007
few fixes
Bumer-32 Jan 6, 2025
cc211db
oops, I broke menu
Bumer-32 Jan 6, 2025
693fbef
some user warnings
Bumer-32 Jan 6, 2025
cbb67fd
Better config reading
Bumer-32 Jan 7, 2025
07a617f
some rewrites
Bumer-32 Jan 14, 2025
0522b07
some enhances for README.md
Bumer-32 Jan 15, 2025
9fcdb4d
Idk what to write here, so many small changes, also requests for iwtc…
Bumer-32 Jan 15, 2025
2fb3e39
ok...
Bumer-32 Jan 16, 2025
ce0005b
small fix + stacktrace
Bumer-32 Jan 22, 2025
3986ca0
small stuff
Bumer-32 Jan 23, 2025
d0e8974
settings 1
Bumer-32 Jan 24, 2025
82c8ee9
make sh scripts executable for linux
Bumer-32 Jan 27, 2025
e43e0ae
AAAA
Bumer-32 Jan 27, 2025
f01f78c
wtf how
Bumer-32 Jan 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,12 @@ jobs:
- name: checkout repository
uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: '3.13'

- name: validate gradle wrapper
uses: gradle/wrapper-validation-action@v2
uses: gradle/actions/wrapper-validation@v3

- name: setup jdk ${{ matrix.java }}
uses: actions/setup-java@v4
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ jobs:
- name: checkout repository
uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: '3.13'

- name: validate gradle wrapper
uses: gradle/actions/wrapper-validation@v3

Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ jobs:
- name: checkout repository
uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: '3.13'

- name: validate gradle wrapper
uses: gradle/actions/wrapper-validation@v3

Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,14 @@ replay_*.log
*.hprof
*.jfr

# kotlin

.kotlin/

# python

.venv

# nodejs

node_modules/
135 changes: 71 additions & 64 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Simple minecraft mod, which allows you to connect to your server and control it

 

### [Official IWTCMS CLI client](https://github.com/Bumer-32/I-Want-To-Control-My-Server/blob/main/python/iwtcms_client.py)
### [Official IWTCMS CLI client](https://github.com/Bumer-32/I-Want-To-Control-My-Server/blob/main/src/main/python/iwtcms_client.py)

To launch an official client, type: ``python iwtcms_client.py --help``

Expand Down Expand Up @@ -186,91 +186,98 @@ if you need example
of client look to [About Clients](#clients-) and [Official IWTCMS CLI client
(written on python)](https://github.com/Bumer-32/I-Want-To-Control-My-Server/blob/main/python/iwtcms_client.py)

Btw 3
Here's postman workspace for iwtcms: https://www.postman.com/bumer-32/iwtcms-api/

### Fucking API (I'm already tired of writing this documentation, but I still need to write a whole chapter about Api)
<img src="https://media1.tenor.com/m/pFz1Q12_hXEAAAAd/cat-holding-head-cat.gif">

Here as examples, I will use enabled SSL and localhost with port 25566 (127.0.0.1:25566),
replace 127.0.0.1 with your ip, 25566 with your port and use appropriate prefixes for the appropriate protocols
(see [About SSL](#SSL))

Let's start:

### If you want to see all avail pages for requests (and websockets also), go to:
``https://127.0.0.1/apiList``

I'd recommend finding links in your clients here, names of pages unlikely to be changed,
but urls can be changed (sorry but IWTCMS still WIP)

| page name | type | response type | uses auth api (needs cookies)? | needs body |
|:----------:|:----:|:-------------:|:------------------------------:|:----------:|
| ApiListGET | GET | JSON | No | No |
> ### If you want to see all avail pages for requests (and websockets also), go to:
> ``https://127.0.0.1/apiList``
>
> I'd recommend finding links in your clients here, names of pages unlikely to be changed,
> but urls can be changed (sorry but IWTCMS still WIP)
>
> | page name | type | response type | uses auth api (needs cookies)? | needs body |
> |:----------:|:----:|:-------------:|:------------------------------:|:----------:|
> | ApiListGET | GET | JSON | No | No |

&nbsp;

### If you want to see the history of all logs since server launch, go to:
``https://127.0.0.1/api/logsHistory``

Returns list of all logs since server launch

| page name | type | response type | uses auth api (needs cookies)? | needs body |
|:--------------:|:----:|:-------------:|:------------------------------:|:----------:|
| LogsHistoryGET | GET | JSON | Yes | No |
> ### If you want to see the history of all logs since server launch, go to:
> ``https://127.0.0.1/api/logsHistory``
>
> Returns list of all logs since server launch
>
> | page name | type | response type | uses auth api (needs cookies)? | needs body |
> |:--------------:|:----:|:-------------:|:------------------------------:|:----------:|
> | LogsHistoryGET | GET | JSON | Yes | No |

&nbsp;

### If you want to log in, go to:
``https://127.0.0.1/api/login``

Put to your request body JSON with username and password and get logged

body example:
```json
{
"username": "guest",
"password": "guest"
}
```

| page name | type | response type | uses auth api (needs cookies)? | needs body |
|:---------:|:----:|:---------------------------------------:|:------------------------------:|:----------:|
| LoginPOST | POST | Plain (Login successful / Login failed) | No (sets cookies) | Yes |
> ### If you want to log in, go to:
> ``https://127.0.0.1/api/login``
>
> Put to your request body JSON with username and password and get logged
>
> body example:
> ```json
> {
> "username": "guest",
> "password": "guest"
> }
> ```
>
> | page name | type | response type | uses auth api (needs cookies)? | needs body |
> |:---------:|:----:|:---------------------------------------:|:------------------------------:|:----------:|
> | LoginPOST | POST | Plain (Login successful / Login failed) | No (sets cookies) | Yes |

&nbsp;

### If you want to see all permits of user, go to:
``https://127.0.0.1/api/permits/{username}``

replace "{username}" with the name of the user you want to learn permissions from

| page name | type | response type | uses auth api (needs cookies)? | needs body |
|:----------:|:----:|:-------------:|:------------------------------:|:----------:|
| PermitsGET | GET | JSON | No | No |
> ### If you want to see all permits of user, go to:
> ``https://127.0.0.1/api/permits/{username}``
>
> replace "{username}" with the name of the user you want to learn permissions from
>
> | page name | type | response type | uses auth api (needs cookies)? | needs body |
> |:----------:|:----:|:-------------:|:------------------------------:|:----------:|
> | PermitsGET | GET | JSON | No | No |

&nbsp;

### If you want to reach the server console, go to:
``wss://127.0.0.1/ws/console``

Main feature of IWTCMS, connect to websocket and get all logs!
If you want to execute minecraft command, send command as plain text to server through websocket,
and it will be executed by IWTCMS

| page name | type | response type | uses auth api (needs cookies)? | needs body |
|:---------:|:---------:|:-------------------------------:|:------------------------------:|:----------:|
| WsConsole | Websocket | Websocket plain messages (logs) | Yes | No |
> ### If you want to reach the server console, go to:
> ``wss://127.0.0.1/ws/console``
>
> Main feature of IWTCMS, connect to websocket and get all logs!
> If you want to execute minecraft command, send command as plain text to server through websocket,
> and it will be executed by IWTCMS
>
> | page name | type | response type | uses auth api (needs cookies)? | needs body |
> |:---------:|:---------:|:-------------------------------:|:------------------------------:|:----------:|
> | WsConsole | Websocket | Websocket plain messages (logs) | Yes | No |

&nbsp;

### Static files
> ### Static files
>
> Since IWTCMS integrates a real ktor web server, it hosts a lot of static files with it, here is their list:
>
> | file name | path | alternative paths | file type |
> |:-----------------:|:-------------------:|:------------------------------:|:---------:|
> | style.css | /style.css | | css |
> | 404.html | /404.html | any path witch not found (404) | html |
> | index.html | /index.html | / | html |
> | favicon.ico | | | ico |
> | icon_clearbg.png | / icon_clearbg.png | | png |
> | iwtcms_client.zip | /iwtcms_client.zip | | zip |

Since IWTCMS integrates a real ktor web server, it hosts a lot of static files with it, here is their list:

| file name | path | alternative paths | file type |
|:-----------------:|:-------------------:|:------------------------------:|:---------:|
| style.css | /style.css | | css |
| 404.html | /404.html | any path witch not found (404) | html |
| index.html | /index.html | / | html |
| favicon.ico | | | ico |
| icon_clearbg.png | / icon_clearbg.png | | png |
| iwtcms_client.zip | /iwtcms_client.zip | | zip |
---

---
[//]: # (TODO: How to build in README.md)
[//]: # (Note: needs sudo on linux)
Loading
Loading