Compare commits

...

54 Commits
0.1.0 ... main

Author SHA1 Message Date
MeexReay
ff2df771e5
Update BUILD.md about docker 2025-06-02 17:31:10 +03:00
MeexReay
ed0122b66f
Update README.md 2025-06-02 17:06:47 +03:00
MeexReay
91252e9384
Update HACKING.md 2025-03-16 20:11:41 +03:00
MeexReay
3ca3d89bf5
Update HACKING.md 2025-03-16 20:10:54 +03:00
15f1b9dae5 Merge branch 'main' of https://github.com/MeexReay/minceraftOS 2025-03-16 17:49:14 +03:00
e38c25e2a3 license 2025-03-16 17:49:11 +03:00
MeexReay
da1dee13a5
you might also want remove existing mods if youre changing theloader 2025-03-16 17:42:22 +03:00
909632df55 about hacking 2025-03-16 17:36:23 +03:00
MeexReay
ff81773460
latest release 2025-03-15 20:56:40 +03:00
MeexReay
e29c1f3481
screenshots and more info 2025-03-15 20:23:51 +03:00
MeexReay
91544b17e0
typo 2025-03-15 20:12:45 +03:00
874154c102 remove precompiled fabric api 2025-03-15 20:10:44 +03:00
MeexReay
65ad291a27
add mods build 2025-03-15 20:07:16 +03:00
e87401d822 change iso file name 2025-03-15 20:01:15 +03:00
18cd6d43a9 version 0.1.1 2025-03-15 19:59:49 +03:00
6599cd2f1c update one-liner 2025-03-15 19:59:12 +03:00
b8382074c1 update examples 2025-03-15 19:58:13 +03:00
76d5d0fb5c makefile isnt used 2025-03-15 19:55:54 +03:00
3edb26914f remove unused 2025-03-15 19:55:22 +03:00
b196ad7d52 some fixes mb 2025-03-15 19:53:59 +03:00
43b67556c3 roadmap update 2025-03-15 05:32:48 +03:00
09ceddb75c Merge branch 'main' of https://github.com/MeexReay/minceraftOS 2025-03-15 05:30:28 +03:00
5e6dff7b0f mods 2025-03-15 05:30:05 +03:00
MeexReay
f8f5a3acbc
Update README.md 2025-03-15 02:18:14 +03:00
MeexReay
5c77754c8a
fix readme examples 2025-03-15 02:16:57 +03:00
575ed3639e gitmodules 2025-03-15 01:46:26 +03:00
ff96bf6f8d add data/mine and ultimmc/build 2025-03-15 01:45:03 +03:00
21f71c322e Merge branch 'main' of https://github.com/MeexReay/minceraftOS 2025-03-15 01:43:05 +03:00
0478b17072 mkmine relogic 2025-03-15 01:42:22 +03:00
MeexReay
34e46dbada
typo 2025-03-14 13:07:26 +03:00
MeexReay
3066d36012
make that 2025-03-14 13:05:58 +03:00
MeexReay
155cba7e53
typo mb 2025-03-14 12:46:16 +03:00
MeexReay
491da78a55
roadmap 2025-03-14 12:44:16 +03:00
MeexReay
d12c11caad
add alternative to lsblk 2025-03-14 12:31:30 +03:00
MeexReay
d9e0ccba3b
Update README.md 2025-03-14 10:41:40 +03:00
MeexReay
98c58bc541
typo 2025-03-14 10:33:49 +03:00
MeexReay
4e201c5e7d
Update README.md 2025-03-14 10:24:21 +03:00
MeexReay
27c68baf48
letter a 2025-03-14 08:46:47 +03:00
c533d8e953 absolue path remove 2025-03-14 05:07:15 +03:00
411ccc7b2a fix ultimmc assets download 2025-03-14 05:02:21 +03:00
d06e790fb0 accounts 2025-03-14 04:57:51 +03:00
21e6577ffa gitignore update 2025-03-14 04:56:43 +03:00
e3cc124a7d 4:30 2025-03-14 04:37:19 +03:00
MeexReay
927916be3e
typo 2025-03-14 01:40:44 +03:00
MeexReay
fb87d0d2bc
Update README.md 2025-03-14 01:39:09 +03:00
MeexReay
d746f9edea
fuck mark daun 2025-03-14 01:35:00 +03:00
MeexReay
876be2220b
Update README.md 2025-03-14 01:34:38 +03:00
bc6478597b Merge branch 'main' of https://github.com/MeexReay/minceraftOS 2025-03-14 01:30:03 +03:00
a0295afb7f keys 2025-03-14 01:29:55 +03:00
MeexReay
22fa7c3f73
Updaasdasdasdasdasd 2025-03-14 01:26:25 +03:00
MeexReay
b1ee33ebf9
less examples but more infor 2025-03-14 01:19:45 +03:00
93fb93c7d8 plymouth fix and tty disable 2025-03-14 01:09:47 +03:00
9deb67ad63 Merge branch 'main' of https://github.com/MeexReay/minceraftOS 2025-03-12 23:58:43 +03:00
510f83ea6e fix plymouth maybe 2025-03-12 23:58:35 +03:00
1595 changed files with 159372 additions and 2892 deletions

9
.gitignore vendored
View File

@ -5,12 +5,9 @@
*.tar.gz
*.box
*.log
data/minceraft/*.log
data/minceraft/ultimmc.cfg
data/minceraft/instances/1.21.4/.minecraft/logs
data/minceraft/instances/1.21.4/.minecraft/*.log
data/minceraft/meta*/
data/minceraft/assets/
mods/build/
ultimmc/build/
data/mine/
output/
build/
xbps-cache

4
.gitmodules vendored Normal file
View File

@ -0,0 +1,4 @@
[submodule "ultimmc"]
path = ultimmc
url = https://github.com/UltimMC/Launcher

42
BUILD.md Normal file
View File

@ -0,0 +1,42 @@
# How to build ISO file
> [!IMPORTANT]
> Creating an ISO file requires to be Void Linux installed, if you dont want to install Void Linux, you should use [Docker](https://www.docker.com) (docker pull voidlinux/voidlinux).
## Preparing minceraft
At first, you need to prepare minceraft.
Minceraft preparing consists of 5 steps:
- Copying UltimMC configs to `data/mine` dir
- Building and copying mods to MC instance
- Compiling UltimMC from source (if you want to skip this step, you only need to copy built release of UltimMC to `ultimmc/build` directory)
- Downloading assets and libraries (just launches instance in online mode)
- Copying UltimMC configs again
Use `mkmine` to do all this automatically:
```bash
./mkmine
# IMPORTANT: if you get java selection window, choose Java 21
```
## Creating ISO file
Use `mkiso` script to create ISO file. Result will be in the `output/` directory.
Script compiles it only for x86_64, but I think it's not really hard to make it compile for any other architecture
This script only work on Void Linux (because it needs XBPS).
```bash
sudo ./mkiso
# idk why it needs sudo, please pr if you know how to remove it
```
## One-liner
Finally, you can forget all above and use just `[ -d data/mine ] || ./mkmine; sudo ./mkiso`

46
HACKING.md Normal file
View File

@ -0,0 +1,46 @@
# How to add extra mods
Important: we use Fabric Loader by default, if you want to change it to another one, read [section below](https://github.com/MeexReay/minceraftOS/blob/main/HACKING.md#how-to-change-mc-version-or-loader).
## Building mod from source
If you want to build them from source, just add new directory with `build.sh` script to `mods/`
Example of build.sh:
```bash
#!/bin/bash
./gradlew build
# build jar file
mv build/libs/*.jar ../build
# move jar file to mods/build/
```
## Add an already built mod
To add any mod you want, just add this line to `mods/build-all.sh`
If you have downloading link:
```bash
wget https://example.com/path/to/your-mod.jar
```
If your jar is in some dir:
```bash
cp /path/to/your-mod.jar .
```
# How to change MC version or loader
To change version or loader of Minceraft, edit `mine-data/mmc-pack.json` file.
You can generate it with MultiMC or PrismLauncher, and just copy.
If you are changing the loader, you might also want to remove existing fabric mods, they are located in the `mods/` folders.
# How to change my nickname
UltimMC's nickname is stored in `run_mine.sh` file. Just change it from Steve to your one.
# Finally
Finally, after all the changes, build the ISO by [this guide](https://github.com/MeexReay/minceraftOS/blob/main/BUILD.md)

13
LICENSE Normal file
View File

@ -0,0 +1,13 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.

View File

@ -1,31 +1,57 @@
# minceraftOS
It is a small OS without installation scripts and other bullshit, only minecraft on startup \
You just boot on it and play minceraft in offline mode
OS that uses Minceraft as a Desktop Environment. \
Now it only starts minceraft and does nothing. \
Based on [void-mklive](https://github.com/void-linux/void-mklive) repository
## How to make iso file
## Screenshots
You need to do this from void linux!!1
Title Menu
```
cd /tmp
git clone https://github.com/MeexReay/minceraftOS
cd minceraftOS
./data/minceraft/UltimMC -l 1.21.4 # close minecraft when it's loaded
cp data/minceraft/ultimmc.cfg.def data/minceraft/ultimmc.cfg
sudo ./mkmine.sh # idk why, if you can fix it, please make a PR
cd output
ls # here has to be the iso file
![image](https://github.com/user-attachments/assets/6895b0e6-5770-4144-82e5-68b5c87284b2)
## How to use
IDK bro just do what you want that's it \
You can use creative worlds as workspaces, books as files and chests as directories XD. \
Maybe one day there will be a terminal blocks that could run commands and start xorg windows!
## How to burn ISO to disk
Precompiled images: [Latest release](https://github.com/MeexReay/minceraftOS/releases/latest)
To burn live-cd iso to disk use:
```bash
sudo dd if=/path/to/minceraftOS.iso of=/dev/<disk_id> status=progress
```
## How to burn it on disk
To find out your `<disk_id>` (ex. sda), use `lsblk` or `fdisk -l`
First link in google bro
For now, there is no read-write mode, only live-cd
```
sudo dd if=<input_file> of=<device_name> status=progress
```
## How to build ISO file
## How to play minceraft
One-liner: `[ -d data/mine ] || ./mkmine; sudo ./mkiso` \
Read more: [BUILD.md](https://github.com/MeexReay/minceraftOS/blob/main/BUILD.md) \
Modification: [HACKING.md](https://github.com/MeexReay/minceraftOS/blob/main/HACKING.md)
IDK bro just do what you want that's it
## Roadmap
- [ ] Change name of os everywhere
- [ ] Terminal emulator (monitor) block
- [ ] View xorg windows on monitor block
- [x] Disable TTY and install plymouth
- [x] Launch minceraft at startup
- [ ] Add color support to terminal emulator
- [x] Create minceraftOS logo
- [x] Add logo to game
- [ ] Add logo to plymouth
- [ ] Network settings in game settings
- [ ] Remove some options in game settings (fullscreen)
- [x] Make quit button shutdown computer
- [x] Add reboot button (idk where)
- [x] Remove realms button or maybe change it to something
- [ ] Make language in game changes locale
- [ ] Make autologin to root so it makes simple doing poweroff or reboot computer
- [ ] Remove squashfs (or make parameter that disables it)

View File

@ -1,3 +1,8 @@
# .bash_profile
[[ -z $DISPLAY ]] && [[ "$(tty)" == "/dev/tty1" ]] && exec startx
sudo plymouth quit
if [[ -z $DISPLAY ]] && [[ "$(tty)" == "/dev/tty1" ]]
then
exec startx
fi

View File

@ -1 +1 @@
welcome to minceraft os dude


BIN
data/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

View File

@ -1,6 +0,0 @@
Logging started at 2025-03-12T20:00:28.230448162Z
[authlib-injector] [INFO] Version: 1.2.5
[authlib-injector] [INFO] Authentication server: http://127.0.0.1:43699
[authlib-injector] [WARNING] You are using HTTP protocol, which is INSECURE! Please switch to HTTPS if possible.
[authlib-injector] [INFO] Transformed [net.minecraft.client.main.Main] with [Main Arguments Transformer]
[authlib-injector] [INFO] Transformed [com.mojang.authlib.properties.Property] with [Yggdrasil Public Key Transformer]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 927 B

View File

@ -1,12 +0,0 @@
{
"components": [
{
"cachedName": "Minecraft",
"cachedVersion": "1.21.4",
"important": true,
"uid": "net.minecraft",
"version": "1.21.4"
}
],
"formatVersion": 1
}

View File

@ -1,5 +0,0 @@
{
"formatVersion": "1",
"groups": {
}
}

View File

@ -1,645 +0,0 @@
{
"entries": [
{
"base": "asset_indexes",
"etag": "",
"last_changed_timestamp": 1741809420953,
"md5sum": "d5a9c66300c0d7eacd8293b62a5986a8",
"path": "19.json",
"remote_changed_timestamp": "Wed, 12 Mar 2025 12:46:52 GMT"
},
{
"base": "injectors",
"etag": "\"65d0ebf9-537d2\"",
"last_changed_timestamp": 1741787699920,
"md5sum": "c60d3899b711537e10be33c680ebd8ae",
"path": "authlib-injector-1.2.5.jar",
"remote_changed_timestamp": "Sat, 17 Feb 2024 17:25:13 GMT"
},
{
"base": "injectors",
"etag": "W/\"65d0ebf9-11f\"",
"last_changed_timestamp": 1741787699583,
"md5sum": "e206374eedab95eef76581f3e5c26867",
"path": "version.json",
"remote_changed_timestamp": "Sat, 17 Feb 2024 17:25:13 GMT"
},
{
"base": "libraries",
"etag": "0x8DC80A2DCB5773E",
"last_changed_timestamp": 1741807485215,
"md5sum": "7e982dafcf25c24b365b5088eaf8a0a6",
"path": "com/fasterxml/jackson/core/jackson-annotations/2.13.4/jackson-annotations-2.13.4.jar",
"remote_changed_timestamp": "Thu, 30 May 2024 12:20:15 GMT"
},
{
"base": "libraries",
"etag": "0x8DC80A2DC6C8B4B",
"last_changed_timestamp": 1741807485216,
"md5sum": "e8f064827ddb8deb06e45d20988bcaa5",
"path": "com/fasterxml/jackson/core/jackson-core/2.13.4/jackson-core-2.13.4.jar",
"remote_changed_timestamp": "Thu, 30 May 2024 12:20:15 GMT"
},
{
"base": "libraries",
"etag": "0x8DC80A2DC4C0872",
"last_changed_timestamp": 1741807485222,
"md5sum": "f26eab82fa1da09f8e8bc7e52fc82088",
"path": "com/fasterxml/jackson/core/jackson-databind/2.13.4.2/jackson-databind-2.13.4.2.jar",
"remote_changed_timestamp": "Thu, 30 May 2024 12:20:14 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C56DAFC7C",
"last_changed_timestamp": 1741807485225,
"md5sum": "e4e15667573ea6a967d0171289d59e9c",
"path": "com/github/oshi/oshi-core/6.6.5/oshi-core-6.6.5.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:58 GMT"
},
{
"base": "libraries",
"etag": "0x8DC80A2DBDE58B1",
"last_changed_timestamp": 1741807485225,
"md5sum": "d62dbfa8789378457ada685e2f614846",
"path": "com/github/stephenc/jcip/jcip-annotations/1.0-1/jcip-annotations-1.0-1.jar",
"remote_changed_timestamp": "Thu, 30 May 2024 12:20:14 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C584D3738",
"last_changed_timestamp": 1741807485227,
"md5sum": "0c69b9199d3a4e6c34dc03619ff7feee",
"path": "com/google/code/gson/gson/2.11.0/gson-2.11.0.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:06:01 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C58333CC5",
"last_changed_timestamp": 1741807485227,
"md5sum": "3f75955b49b6758fd6d1e1bd9bf777b3",
"path": "com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:06:01 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C57E1334F",
"last_changed_timestamp": 1741807485237,
"md5sum": "7b7d80d99af4181db55b00dad50a91bb",
"path": "com/google/guava/guava/33.3.1-jre/guava-33.3.1-jre.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:06:00 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C569016F6",
"last_changed_timestamp": 1741807485290,
"md5sum": "0621976c76a3b05b0622aef5a4c1d981",
"path": "com/ibm/icu/icu4j/76.1/icu4j-76.1.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:58 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C59ABD8EF",
"last_changed_timestamp": 1741807485294,
"md5sum": "af37c5d9f4d839c78a103c866ea2bfe4",
"path": "com/microsoft/azure/msal4j/1.17.2/msal4j-1.17.2.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:06:03 GMT"
},
{
"base": "libraries",
"etag": "0x8DCF8C600B13DA5",
"last_changed_timestamp": 1741807485294,
"md5sum": "f6c1f2b733258d1dc74533cbad0da8f6",
"path": "com/mojang/authlib/6.0.57/authlib-6.0.57.jar",
"remote_changed_timestamp": "Wed, 30 Oct 2024 09:34:07 GMT"
},
{
"base": "libraries",
"etag": "0x8DAB7EC4634A6BF",
"last_changed_timestamp": 1741807485294,
"md5sum": "fc1420e3182dd32b4df9933f810ebebb",
"path": "com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar",
"remote_changed_timestamp": "Thu, 27 Oct 2022 07:24:24 GMT"
},
{
"base": "libraries",
"etag": "0x8DCB6E7544D8099",
"last_changed_timestamp": 1741807485295,
"md5sum": "a755b426eb7942bb74b46a95b02f1de4",
"path": "com/mojang/brigadier/1.3.10/brigadier-1.3.10.jar",
"remote_changed_timestamp": "Wed, 07 Aug 2024 13:46:24 GMT"
},
{
"base": "libraries",
"etag": "0x8DC6E7281CD0C4C",
"last_changed_timestamp": 1741807485297,
"md5sum": "d932ac637b6d83e6c45a8f269fe81e3b",
"path": "com/mojang/datafixerupper/8.0.16/datafixerupper-8.0.16.jar",
"remote_changed_timestamp": "Tue, 07 May 2024 08:48:46 GMT"
},
{
"base": "libraries",
"etag": "0x8DCCDAC732329E6",
"last_changed_timestamp": 1741807485298,
"md5sum": "b8dc2f815666609419b80263d7a34969",
"path": "com/mojang/jtracy/1.0.29/jtracy-1.0.29-natives-linux.jar",
"remote_changed_timestamp": "Thu, 05 Sep 2024 13:12:52 GMT"
},
{
"base": "libraries",
"etag": "0x8DCCDAC724C594D",
"last_changed_timestamp": 1741807485298,
"md5sum": "1c06cd97d006339f58085cdfd8065000",
"path": "com/mojang/jtracy/1.0.29/jtracy-1.0.29.jar",
"remote_changed_timestamp": "Thu, 05 Sep 2024 13:12:51 GMT"
},
{
"base": "libraries",
"etag": "0x8DD04C20161983D",
"last_changed_timestamp": 1741807485298,
"md5sum": "0b7da24cea4e840b91c13ed08657a6d3",
"path": "com/mojang/logging/1.5.10/logging-1.5.10.jar",
"remote_changed_timestamp": "Thu, 14 Nov 2024 15:35:44 GMT"
},
{
"base": "libraries",
"etag": "0x8DD1384AF4AC9E1",
"last_changed_timestamp": 1741807485397,
"md5sum": "70e2838411853210dce14bdd30769458",
"path": "com/mojang/minecraft/1.21.4/minecraft-1.21.4-client.jar",
"remote_changed_timestamp": "Tue, 03 Dec 2024 10:24:35 GMT"
},
{
"base": "libraries",
"etag": "0x8DAB7EC4DC28215",
"last_changed_timestamp": 1741807485400,
"md5sum": "ff905bf0aacf501149a13880a2d6742d",
"path": "com/mojang/patchy/2.2.10/patchy-2.2.10.jar",
"remote_changed_timestamp": "Thu, 27 Oct 2022 07:24:37 GMT"
},
{
"base": "libraries",
"etag": "0x8DB5528647B683F",
"last_changed_timestamp": 1741807485400,
"md5sum": "f5b05e8db22e2e0668b786e11ac9d3ce",
"path": "com/mojang/text2speech/1.17.9/text2speech-1.17.9.jar",
"remote_changed_timestamp": "Mon, 15 May 2023 09:40:17 GMT"
},
{
"base": "libraries",
"etag": "0x8DC80A2DCECEAB3",
"last_changed_timestamp": 1741807485400,
"md5sum": "f0fc0d6be73e838863e2197c03a27c3f",
"path": "com/nimbusds/content-type/2.3/content-type-2.3.jar",
"remote_changed_timestamp": "Thu, 30 May 2024 12:20:15 GMT"
},
{
"base": "libraries",
"etag": "0x8DC80A2DD4E9A00",
"last_changed_timestamp": 1741807485401,
"md5sum": "31b8a4f76fdbf21f1d667f9d6618e0b2",
"path": "com/nimbusds/lang-tag/1.7/lang-tag-1.7.jar",
"remote_changed_timestamp": "Thu, 30 May 2024 12:20:16 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C596A8593",
"last_changed_timestamp": 1741807485403,
"md5sum": "42ce81c8d034f163663d23e8bbc3638d",
"path": "com/nimbusds/nimbus-jose-jwt/9.40/nimbus-jose-jwt-9.40.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:06:03 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C58FA679B",
"last_changed_timestamp": 1741807485406,
"md5sum": "7ea0239e0e285c7625964893dcba95ec",
"path": "com/nimbusds/oauth2-oidc-sdk/11.18/oauth2-oidc-sdk-11.18.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:06:02 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C5466CBEB",
"last_changed_timestamp": 1741807485407,
"md5sum": "7b3438ab4c6d91e0066d410947e43f3e",
"path": "commons-codec/commons-codec/1.17.1/commons-codec-1.17.1.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:54 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C542DACB3",
"last_changed_timestamp": 1741807485409,
"md5sum": "f6232d0e290d58bb93f74f67165bf91f",
"path": "commons-io/commons-io/2.17.0/commons-io-2.17.0.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:54 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C53E22B96",
"last_changed_timestamp": 1741807485409,
"md5sum": "e7a1e7cb6a89241ed9bfec4c25b6c645",
"path": "commons-logging/commons-logging/1.3.4/commons-logging-1.3.4.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:53 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C4EE1F06E",
"last_changed_timestamp": 1741807485411,
"md5sum": "c4ddfa85fddc7cdd84ef38c87c036010",
"path": "io/netty/netty-buffer/4.1.115.Final/netty-buffer-4.1.115.Final.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:45 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C500F0B81",
"last_changed_timestamp": 1741807485412,
"md5sum": "5391594c6f5bbdd944e3e8bcecf3d9ea",
"path": "io/netty/netty-codec/4.1.115.Final/netty-codec-4.1.115.Final.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:47 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C5054C6B8",
"last_changed_timestamp": 1741807485414,
"md5sum": "6241a4cfb9c478bbd7aa12512b90735d",
"path": "io/netty/netty-common/4.1.115.Final/netty-common-4.1.115.Final.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:47 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C5120CE15",
"last_changed_timestamp": 1741807485416,
"md5sum": "2a752fae3646b70f7bd17a2265c788ed",
"path": "io/netty/netty-handler/4.1.115.Final/netty-handler-4.1.115.Final.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:49 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C50A06EB6",
"last_changed_timestamp": 1741807485416,
"md5sum": "e133793fdcb3ea2846693f1de1d31906",
"path": "io/netty/netty-resolver/4.1.115.Final/netty-resolver-4.1.115.Final.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:48 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C4FBF9735",
"last_changed_timestamp": 1741807485417,
"md5sum": "9cbf83e1fe1dcc8c92075196f6f0f88c",
"path": "io/netty/netty-transport-classes-epoll/4.1.115.Final/netty-transport-classes-epoll-4.1.115.Final.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:47 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C4F17435B",
"last_changed_timestamp": 1741807485417,
"md5sum": "e76aa9d835b3dceb7004d644d6f4badc",
"path": "io/netty/netty-transport-native-epoll/4.1.115.Final/netty-transport-native-epoll-4.1.115.Final-linux-aarch_64.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:45 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C4F21711B",
"last_changed_timestamp": 1741807485417,
"md5sum": "1949f9a395ac49f303c99251c4710844",
"path": "io/netty/netty-transport-native-epoll/4.1.115.Final/netty-transport-native-epoll-4.1.115.Final-linux-x86_64.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:45 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C50C9736A",
"last_changed_timestamp": 1741807485418,
"md5sum": "c5714e7bc9bbd800a52d8d6c145b19e2",
"path": "io/netty/netty-transport-native-unix-common/4.1.115.Final/netty-transport-native-unix-common-4.1.115.Final.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:48 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C4F7070B4",
"last_changed_timestamp": 1741807485419,
"md5sum": "c2da3befce20eaf33fa8005e0797e03a",
"path": "io/netty/netty-transport/4.1.115.Final/netty-transport-4.1.115.Final.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:46 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C565131DC",
"last_changed_timestamp": 1741807485508,
"md5sum": "da830fa5023a010d2c2af1484d13cefc",
"path": "it/unimi/dsi/fastutil/8.5.15/fastutil-8.5.15.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:58 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C555A2C31",
"last_changed_timestamp": 1741807485513,
"md5sum": "41d91e4a13428fb79c12024cb92a4091",
"path": "net/java/dev/jna/jna-platform/5.15.0/jna-platform-5.15.0.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:56 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C5594A96F",
"last_changed_timestamp": 1741807485518,
"md5sum": "cd756a719c1892e56d9c9d424e8983bb",
"path": "net/java/dev/jna/jna/5.15.0/jna-5.15.0.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:56 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C550676F3",
"last_changed_timestamp": 1741807485518,
"md5sum": "51e60dbf9ac51f6666f0077317990944",
"path": "net/minidev/accessors-smart/2.5.1/accessors-smart-2.5.1.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:55 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C549AC0D3",
"last_changed_timestamp": 1741807485519,
"md5sum": "88a65001b616c2e7796f9263ad97bbf1",
"path": "net/minidev/json-smart/2.5.1/json-smart-2.5.1.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:55 GMT"
},
{
"base": "libraries",
"etag": "0x8DAB7EC4420E1F8",
"last_changed_timestamp": 1741807485519,
"md5sum": "eb0d9dffe9b0eddead68fe678be76c49",
"path": "net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar",
"remote_changed_timestamp": "Thu, 27 Oct 2022 07:24:20 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C52C9451A",
"last_changed_timestamp": 1741807485523,
"md5sum": "1db4bd87b0082044c6e7a6af0b977a3e",
"path": "org/apache/commons/commons-compress/1.27.1/commons-compress-1.27.1.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:52 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C5261822A",
"last_changed_timestamp": 1741807485525,
"md5sum": "7730df72b7fdff4a3a32d89a314f826a",
"path": "org/apache/commons/commons-lang3/3.17.0/commons-lang3-3.17.0.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:51 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C530326C3",
"last_changed_timestamp": 1741807485528,
"md5sum": "2cb357c4b763f47e58af6cad47df6ba3",
"path": "org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:52 GMT"
},
{
"base": "libraries",
"etag": "0x8DBA8624587D567",
"last_changed_timestamp": 1741807485529,
"md5sum": "28d2cd9bf8789fd2ec774fb88436ebd1",
"path": "org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar",
"remote_changed_timestamp": "Tue, 29 Aug 2023 07:33:42 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C520A2785",
"last_changed_timestamp": 1741807485531,
"md5sum": "4dac8bc9a21f3503cd1a856503b6fea0",
"path": "org/apache/logging/log4j/log4j-api/2.24.1/log4j-api-2.24.1.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:50 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C519C77D6",
"last_changed_timestamp": 1741807485537,
"md5sum": "fd982d71f36250bc31528fc7e3d0807d",
"path": "org/apache/logging/log4j/log4j-core/2.24.1/log4j-core-2.24.1.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:50 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C51E6E8AE",
"last_changed_timestamp": 1741807485538,
"md5sum": "033362ddeac79ba54fdc33cc2004d445",
"path": "org/apache/logging/log4j/log4j-slf4j2-impl/2.24.1/log4j-slf4j2-impl-2.24.1.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:50 GMT"
},
{
"base": "libraries",
"etag": "0x8DC3A103D72187B",
"last_changed_timestamp": 1741807485538,
"md5sum": "4794379b6074b962bb4cab21bfdb8d9c",
"path": "org/jcraft/jorbis/0.0.17/jorbis-0.0.17.jar",
"remote_changed_timestamp": "Fri, 01 Mar 2024 16:54:20 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C513A7AC1",
"last_changed_timestamp": 1741807485541,
"md5sum": "58a4c6e7475f1121bfd390a819e62c98",
"path": "org/joml/joml/1.10.8/joml-1.10.8.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:49 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C44385BF",
"last_changed_timestamp": 1741807485543,
"md5sum": "7da8d8e06e7315c6c877ae5e542407b6",
"path": "org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-linux.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:50 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C4FB9761",
"last_changed_timestamp": 1741807485544,
"md5sum": "4506c5f102d10aab0dae80214579352c",
"path": "org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:52 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C52734E1",
"last_changed_timestamp": 1741807485545,
"md5sum": "9b31da2f80cbbdc6d76b72c8ac2cf943",
"path": "org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3-natives-linux.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:52 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C5BF8E23",
"last_changed_timestamp": 1741807485545,
"md5sum": "41c1287c1219fd0b67e8d51879f4c812",
"path": "org/lwjgl/lwjgl-glfw/3.3.3/lwjgl-glfw-3.3.3.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:53 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C6B5B12A",
"last_changed_timestamp": 1741807485546,
"md5sum": "a3867865fad43f2ccb6b20dea405b3c8",
"path": "org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3-natives-linux.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:55 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C69FBB55",
"last_changed_timestamp": 1741807485546,
"md5sum": "a8ffc7d8a0d54981f1d7b5c2a40acf01",
"path": "org/lwjgl/lwjgl-jemalloc/3.3.3/lwjgl-jemalloc-3.3.3.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:54 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C329B354",
"last_changed_timestamp": 1741807485547,
"md5sum": "82bec56d8f88b000b29550c5946bada4",
"path": "org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3-natives-linux.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:49 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C30519A1",
"last_changed_timestamp": 1741807485547,
"md5sum": "3ae8606b16891af57eb08ed5a6f78ed8",
"path": "org/lwjgl/lwjgl-openal/3.3.3/lwjgl-openal-3.3.3.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:48 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C68A13A2",
"last_changed_timestamp": 1741807485548,
"md5sum": "de05e5c258591d07d294a9c16096a383",
"path": "org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3-natives-linux.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:54 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C5FAB9C7",
"last_changed_timestamp": 1741807485551,
"md5sum": "d5a85fe9c675ff040197e2e2dd694fc1",
"path": "org/lwjgl/lwjgl-opengl/3.3.3/lwjgl-opengl-3.3.3.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:53 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C7BFCE76",
"last_changed_timestamp": 1741807485551,
"md5sum": "23a604402c5e9527ecce65e66086308a",
"path": "org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3-natives-linux.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:56 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C74FDEE5",
"last_changed_timestamp": 1741807485552,
"md5sum": "11b824be2cd8532eb6ef063ada6a75bd",
"path": "org/lwjgl/lwjgl-stb/3.3.3/lwjgl-stb-3.3.3.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:56 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C822EEA1",
"last_changed_timestamp": 1741807485552,
"md5sum": "36797f4097de3e127cefc1ed5aa09f02",
"path": "org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3-natives-linux.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:57 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C82D9B79",
"last_changed_timestamp": 1741807485552,
"md5sum": "c687eaba9debbc609df72ab45f4e1164",
"path": "org/lwjgl/lwjgl-tinyfd/3.3.3/lwjgl-tinyfd-3.3.3.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:57 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C3F808CE",
"last_changed_timestamp": 1741807485552,
"md5sum": "be04104b73f6154ceb5fdfa651e07e84",
"path": "org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3-natives-linux.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:50 GMT"
},
{
"base": "libraries",
"etag": "0x8DC4CD0C40748DB",
"last_changed_timestamp": 1741807485555,
"md5sum": "d89fce0be944d8cffd1f82c6546509bf",
"path": "org/lwjgl/lwjgl/3.3.3/lwjgl-3.3.3.jar",
"remote_changed_timestamp": "Mon, 25 Mar 2024 13:37:50 GMT"
},
{
"base": "libraries",
"etag": "0x8DC1CC20CCAC2F0",
"last_changed_timestamp": 1741807485557,
"md5sum": "936a927700aa8fc3b75d21d7571171f6",
"path": "org/lz4/lz4-java/1.8.0/lz4-java-1.8.0.jar",
"remote_changed_timestamp": "Wed, 24 Jan 2024 09:51:34 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C536B109B",
"last_changed_timestamp": 1741807485557,
"md5sum": "6f8bccf756f170d4185bb24c8c2d2020",
"path": "org/ow2/asm/asm/9.6/asm-9.6.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:53 GMT"
},
{
"base": "libraries",
"etag": "0x8DD054C534B9E10",
"last_changed_timestamp": 1741807485558,
"md5sum": "c8de8f5d740584cb24b5652cfba8b3c4",
"path": "org/slf4j/slf4j-api/2.0.16/slf4j-api-2.0.16.jar",
"remote_changed_timestamp": "Fri, 15 Nov 2024 08:05:52 GMT"
},
{
"base": "meta",
"etag": "W/\"67d1dabf-6b3\"",
"last_changed_timestamp": 1741809417677,
"md5sum": "cf2ef84d8b941ed397e73ad3f99b1515",
"path": "index.json",
"remote_changed_timestamp": "Wed, 12 Mar 2025 19:04:31 GMT"
},
{
"base": "meta",
"etag": "W/\"67d1dabf-10be2\"",
"last_changed_timestamp": 1741809418082,
"md5sum": "b2cbeddaca7ad3c3219dfbe6cead381e",
"path": "net.minecraft/1.21.4.json",
"remote_changed_timestamp": "Wed, 12 Mar 2025 19:04:31 GMT"
},
{
"base": "meta",
"etag": "W/\"67d1b06d-4f79c\"",
"last_changed_timestamp": 1741796189155,
"md5sum": "947e142002eecb37abae388519809f17",
"path": "net.minecraft/index.json",
"remote_changed_timestamp": "Wed, 12 Mar 2025 16:03:57 GMT"
},
{
"base": "root",
"etag": "\"550e6bb5-356\"",
"last_changed_timestamp": 1741787183638,
"md5sum": "a8a8094545267c76ad51fe276b0e9e8f",
"path": "notifications.json",
"remote_changed_timestamp": "Sun, 22 Mar 2015 07:13:57 GMT"
},
{
"base": "translations",
"etag": "\"678d1f1a-3e3b\"",
"last_changed_timestamp": 1741807485558,
"md5sum": "e9a6cb5c7168458327f5ea6c5f0b6ebc",
"path": "index_v2.json",
"remote_changed_timestamp": "Sun, 19 Jan 2025 15:49:46 GMT"
},
{
"base": "translations",
"etag": "\"678d1f1a-22df3\"",
"last_changed_timestamp": 1741807485559,
"md5sum": "8dd856913c4c78006bc4c5ddafba720b",
"path": "mmc_ru.qm",
"remote_changed_timestamp": "Sun, 19 Jan 2025 15:49:46 GMT"
}
],
"version": "1"
}

View File

@ -1,54 +0,0 @@
Analytics=true
AutoCloseConsole=false
AutoUpdate=true
CentralModsDir=mods
ConsoleFont=DejaVu Sans Mono
ConsoleFontSize=11
ConsoleMaxLines=100000
ConsoleOverflowStop=true
ConsoleWindowGeometry=AdnQywADAAAAAAUCAAAAMAAAB30AAAStAAAAAAAAAAD////+/////gAAAAACAAAAB4AAAAUCAAAAMAAAB30AAASt
ConsoleWindowState=AAAA/wAAAAD9AAAAAAAAAnwAAAR+AAAABAAAAAQAAAAIAAAACPwAAAAA
IconTheme=multimc
IconsDir=icons
InstSortMode=Name
InstanceDir=instances
JProfilerPath=
JVisualVMPath=
JavaArchitecture=64
JavaPath=java
JavaTimestamp=1739886872000
JavaVersion=21.0.7
JsonEditor=
JvmArgs=
Language=ru
LastHostname=desktop
LastUsedGroupForNewInstance=
LaunchMaximized=false
MCEditPath=
MainWindowGeometry=AdnQywADAAAAAAKCAAAAMAAABP0AAAStAAAAAAAAABQAAAPVAAACYwAAAAACAAAAB4AAAAKCAAAAMAAABP0AAASt
MainWindowState=AAAA/wAAAAD9AAAAAAAAAZoAAAQiAAAABAAAAAQAAAAIAAAACPwAAAADAAAAAQAAAAEAAAAeAGkAbgBzAHQAYQBuAGMAZQBUAG8AbwBsAEIAYQByAwAAAAD/////AAAAAAAAAAAAAAACAAAAAQAAABYAbQBhAGkAbgBUAG8AbwBsAEIAYQByAQAAAAD/////AAAAAAAAAAAAAAADAAAAAQAAABYAbgBlAHcAcwBUAG8AbwBsAEIAYQByAQAAAAD/////AAAAAAAAAAA=
MaxMemAlloc=1024
MinMemAlloc=512
MinecraftWinHeight=480
MinecraftWinWidth=854
NewInstanceGeometry=AdnQywADAAAAAAJTAAABhQAABSwAAANBAAACUwAAAYUAAAUsAAADQQAAAAAAAAAAB4AAAAJTAAABhQAABSwAAANB
PagedGeometry=AdnQywADAAAAAAIuAAAA5QAABVAAAAPhAAACLgAAAOUAAAVQAAAD4QAAAAAAAAAAB4AAAAIuAAAA5QAABVAAAAPh
PasteEEAPIKey=multimc
PostExitCommand=
PreLaunchCommand=
ProxyAddr=127.0.0.1
ProxyPass=
ProxyPort=8080
ProxyType=None
ProxyUser=
RecordGameTime=true
SelectedInstance=1.21.4
ShowConsole=false
ShowConsoleOnError=true
ShowGameTime=true
ShowGameTimeHours=false
ShowGlobalGameTime=true
ShownNotifications=
UseNativeGLFW=false
UseNativeOpenAL=false
WrapperCommand=

View File

@ -0,0 +1,8 @@
[Plymouth Theme]
Name=Arch Linux Simple Image
Description=This is a plymouth theme which simply displays an image
ModuleName=script
[script]
ImageDir=/usr/share/plymouth/themes/simple-image
ScriptFile=/usr/share/plymouth/themes/simple-image/simple-image.script

15
data/simple-image.script Normal file
View File

@ -0,0 +1,15 @@
image = Image("logo.png");
pos_x = Window.GetWidth()/2 - image.GetWidth()/2;
pos_y = Window.GetHeight()/2 - image.GetHeight()/2;
sprite = Sprite(image);
sprite.SetX(pos_x);
sprite.SetY(pos_y);
fun refresh_callback () {
sprite.SetOpacity(1);
spr.SetZ(15);
}
Plymouth.SetRefreshFunction (refresh_callback);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@ -1,4 +1,4 @@
xsetroot -cursor_name arrow
cd /home/player/minceraft
export INST_JAVA=java
exec ./UltimMC -n Steve -o -l 1.21.4
cd /home/player/mine
exec ./run_mine.sh

View File

@ -36,6 +36,11 @@ if [ -f ${NEWROOT}/etc/sudoers ]; then
echo "${USERNAME} ALL=(ALL:ALL) NOPASSWD: ALL" > "${NEWROOT}/etc/sudoers.d/99-void-live"
fi
echo "${USERNAME} minceraftos = (root) NOPASSWD: /usr/bin/poweroff
${USERNAME} minceraftos = (root) NOPASSWD: /usr/bin/reboot
${USERNAME} minceraftos = (root) NOPASSWD: /usr/sbin/startx
${USERNAME} minceraftos = (root) NOPASSWD: /usr/bin/plymouth" > "${NEWROOT}/etc/sudoers.d/99-void-live"
if [ -d ${NEWROOT}/etc/polkit-1 ]; then
# If polkit is installed allow users in the wheel group to run anything.
cat > ${NEWROOT}/etc/polkit-1/rules.d/void-live.rules <<_EOF

34
install Executable file
View File

@ -0,0 +1,34 @@
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
IMAGE_FILE=$1
DISK_FILE=$2
mkdir -p build
cp $IMAGE_FILE build/live_cd.iso
isohybrid --partok build/live_cd.iso
echo "Partitioning $DISK_FILE..."
wipefs -a "$DISK_FILE"
parted -s "$DISK_FILE" mklabel msdos
parted -s "$DISK_FILE" mkpart primary ext4 2048s 1G
parted -s "$DISK_FILE" set 1 boot on
parted -s "$DISK_FILE" mkpart primary ext4 1G 100%
fdisk -l "$DISK_FILE"
echo "Partitioning complete."
mkfs -t ext4 "$DISK_FILE"
dd if=build/live_cd.iso of="$DISK_FILE" bs=1M status=progress
dd if=/usr/lib/syslinux/mbr.bin of="$DISK_FILE" status=progress

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,9 @@
UI vesamenu.c32
PROMPT 0
TIMEOUT 1
ONTIMEOUT linux
color black/black black/black
LABEL linux
MENU LABEL @@BOOT_TITLE@@ @@KERNVER@@ @@ARCH@@
KERNEL /boot/vmlinuz
APPEND initrd=/boot/initrd root=live:CDLABEL=VOID_LIVE init=/sbin/init ro rd.luks=0 rd.md=0 rd.dm=0 loglevel=4 vconsole.unicode=1 vconsole.keymap=@@KEYMAP@@ locale.LANG=@@LOCALE@@ @@BOOT_CMDLINE@@ live.autologin live.user=player quiet
APPEND initrd=/boot/initrd root=live:CDLABEL=VOID_LIVE rw init=/sbin/init rd.luks=0 rd.md=0 rd.dm=0 loglevel=1 vconsole.unicode=1 vconsole.keymap=@@KEYMAP@@ locale.LANG=@@LOCALE@@ @@BOOT_CMDLINE@@ live.autologin live.user=player quiet splash vt.color=0 vga=0x301

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>public-key</key>
<data>LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFvM1Nrc2p5N01PMmc4UWxsZjdCVQp1aXhFUWlqN3FOSVJrU0hrWWw4SGxxd1hOczFnK1FzbzhGV3dSbDNMbUpTVW5wT1BaOG1sdVdSajd4Y2pLbnVJCnhPRjBtQS8vM0lzTnVId2dYV2RLL0JiT29wNzFLZmt4aEE0WjhwK0hRbmhLMThxUkFPbG9xOGJ6WXZhaGI2NmEKemdWVTVFM1JzRDU4V0M2ZTFOUVdSSGpiMG1TM2h6M1NxVWVWZFVMT20zVzZBRTdYdWlVQVJOSEdyY1ljMXkyKwpxNjBKWHMrVk5sRlMwaGdDdnpqS3phMVg5cWtzQndzTmdaRlhBcXN1MGFKRndYSTEvM2R4ZWxBcUZFbnRMWVFSCjA4NHpaTDFmWDVRMWlacGNEaHVhTWZVREVZQjA4UzdKTTBYKytibkxxVnphVTZzc0RXdGtzbFJaNjNaVStISTUKemk5a0pyc25LcU5Pa3BKSnJTUkRyMGFvRjV2RDRwN20vYWdZKzdTRk5aaDZzOUJ5V0x3NDVFdytwalVVUmp5aQp6T01TSFhEM3YzczhFdzZkV29wbTVQTGUvUEgzZWFiMEVnbG9yVDZhYmRwaCtaVG4zaUxMWVVkSGNmQ1FDN01GCkNmVGl1TWt4SkJpaCtoOEhKaUlBdmpDZjVxdjZiaFpEUHpGRzAwbEpYRUZwNHRpbGp6eTFmbitiMkdLY3BDOWQKUUs4TEc3M0RFaXhacHBmU09IU09MMWYxVlBzZTBRdnl6d2RWc0xzR0dqV0FaZkw4WUdVZDl4Y20yeW5tVzFuNgpKTjl6NE9oZ3lRa21mNUFFUXpYSUxQR0d1MlREUVh5c05IRG0vUnRMMHJPN3cxbFVKSTVYOW1kbEZYd0xUWHI3ClYrU25aK3U5VCtFREg1NTV6WDJDZTgwQ0F3RUFBUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo=</data>
<key>public-key-size</key>
<integer>4096</integer>
<key>signature-by</key>
<string>Void Linux</string>
</dict>
</plist>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>public-key</key>
<data>LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUF2clN6QlpNdmd2T0NJM0FYYk9qYQoycktSa0pTVE0zYy9FalRJZ0NnRFhndW05M0JQQ3RZOE1jRlZvQ1U0T2lYSEdmVG1xMzlCVk5wTHZMSEw5S2sxCnAyNzhTQmhYVk90YkIyRVZtREtudmZJREVUbGRMR3plN3JaTlJKZHR1TjJtWi9UVnJVQjlTMHlRYytJdWY0aHYKMytEOTdWSWRUSkhBN0FTcjA0MjhwcEVHSkd3U1NoWTJYSm05RDVJMEV1R1JXYzE0TUVHN2RJS0ppWWlNMG5FNAp0WW8yL3ZINElGVEhkblZBM2dZaVp5RG5idUNBUi84RVNmVVRVMTNTTkNPZGJ1ZGYzRDVCY3krVWlNREpJM1llCjRNRktCclQ5WmhaK0dzWEJaWTQ4MmxxaVppNkNMNXB0YzlJUUZmOC9lS1phOGphdGtpVkZWZ3JLZU5Sak9UeE4KZldTdTJua3hHTlgrYmhYWXRoaUdXbUpFWThjQ0FQeUZOK0x2NVJldEsyNTZnZGNiMnNrbUVxZWZ2MnpQQyt3VgpXQmJkSDViRDRiWmpuME42Wmw4MXJ2NVJ6RHZudmYrdkQxNGFGVWJaOFFGcXU3NVBiTDR3Nm1ZTTRsZE0vZzBSCjZOWEU4QXo5Qnd4MnREZlllS3V1dHcxRXBQbTJZdkZ5VFViMWNveUF1VEdSeUFhcDFVVEh2ZzlsaFBJSm1oRlEKSjVrQ2cxcUQ3QTMxV2wwUmxuZTZoZ0dvMFpaTko1Y0pNL3YvelNUS0pjdUZnd283SDBoT0dpbDZEZm84OUI0agpHOTZBQ3lQUytEVktQRlhSWXdqL0FrYkhwYVEyZjFGTUFvU3BCcXVEcUhoM3VrazcxS1g2ajE5dDBpRjhEUUxyCnZ0RlNTZElqREEwMmx3ZVY5TmFRcFdzQ0F3RUFBUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo=</data>
<key>public-key-size</key>
<integer>4096</integer>
<key>signature-by</key>
<string>Void Linux</string>
</dict>
</plist>

338
lib.sh
View File

@ -1,338 +0,0 @@
#!/bin/sh
# This contains the COMPLETE list of binaries that this script needs
# to function. The only exception is the QEMU binary since it is not
# known in advance which one wil be required.
readonly LIBTOOLS="cp echo cat printf which mountpoint mount umount modprobe"
readonly HOSTARCH=$(xbps-uhelper arch)
is_target_native() {
# Because checking whether the target is runnable is ugly, stuff
# it into a single function. That makes it easy to check anywhere.
local target_arch
target_arch="$1"
# this will cover most
if [ "${target_arch%-musl}" = "${HOSTARCH%-musl}" ]; then
return 0
fi
case "$HOSTARCH" in
# ppc64le has no 32-bit variant, only runs its own stuff
ppc64le*) return 1 ;;
# x86_64 also runs i686
x86_64*) test -z "${target_arch##*86*}" ;;
# aarch64 also runs armv*
aarch64*) test -z "${target_arch##armv*}" ;;
# bigendian ppc64 also runs ppc
ppc64*) test "${target_arch%-musl}" = "ppc" ;;
# anything else is just their own
*) return 1 ;;
esac
return $?
}
version() (
set +u
[ -n "$PROGNAME" ] && printf "%s " "$PROGNAME"
echo "$(cat ./version) ${MKLIVE_REV:-"$(git -c safe.directory="$(pwd)" rev-parse --short HEAD 2> /dev/null)"}"
)
info_msg() {
# This function handles the printing that is bold within all
# scripts. This is a convenience function so that the rather ugly
# looking ASCII escape codes live in only one place.
printf "\033[1m%s\n\033[m" "$@"
}
die() {
# This function is registered in all the scripts to make sure that
# the important mounts get cleaned up and the $ROOTFS location is
# removed.
printf "FATAL: %s\n" "$@"
umount_pseudofs
[ -d "$ROOTFS" ] && rm -rf "$ROOTFS"
exit 1
}
check_tools() {
# All scripts within mklive declare the tools they will use in a
# variable called "REQTOOLS". This function checks that these
# tools are available and prints out the path to each tool that
# will be used. This can be useful to figure out what is broken
# if a different version of something is used than was expected.
for tool in $LIBTOOLS $REQTOOLS ; do
if ! which "$tool" > /dev/null ; then
die "Required tool $tool is not available on this system!"
fi
done
info_msg "The following tools will be used:"
for tool in $LIBTOOLS $REQTOOLS ; do
which "$tool"
done
}
mount_pseudofs() {
# This function ensures that the psuedofs mountpoints are present
# in the chroot. Strictly they are not necessary to have for many
# commands, but bind-mounts are cheap and it isn't too bad to just
# mount them all the time.
for f in dev proc sys; do
# In a naked chroot there is nothing to bind the mounts to, so
# we need to create directories for these first.
[ ! -d "$ROOTFS/$f" ] && mkdir -p "$ROOTFS/$f"
if ! mountpoint -q "$ROOTFS/$f" ; then
# It is VERY important that this only happen if the
# pseudofs isn't already mounted. If it already is then
# this is virtually impossible to troubleshoot because it
# looks like the subsequent umount just isn't working.
mount -r --rbind /$f "$ROOTFS/$f" --make-rslave
fi
done
if ! mountpoint -q "$ROOTFS/tmp" ; then
mkdir -p "$ROOTFS/tmp"
mount -o mode=0755,nosuid,nodev -t tmpfs tmpfs "$ROOTFS/tmp"
fi
}
umount_pseudofs() {
# This function cleans up the mounts in the chroot. Failure to
# clean up these mounts will prevent the tmpdir from being
# deletable instead throwing the error "Device or Resource Busy".
# The '-f' option is passed to umount to account for the
# contingency where the psuedofs mounts are not present.
if [ -d "${ROOTFS}" ]; then
for f in dev proc sys; do
umount -R -f "$ROOTFS/$f" >/dev/null 2>&1
done
fi
umount -f "$ROOTFS/tmp" >/dev/null 2>&1
}
run_cmd_target() {
info_msg "Running $* for target $XBPS_TARGET_ARCH ..."
if is_target_native "$XBPS_TARGET_ARCH"; then
# This is being run on the same architecture as the host,
# therefore we should set XBPS_ARCH.
if ! eval XBPS_ARCH="$XBPS_TARGET_ARCH" "$@" ; then
die "Could not run command $*"
fi
else
# This is being run on a foriegn arch, therefore we should set
# XBPS_TARGET_ARCH. In this case XBPS will not attempt
# certain actions and will require reconfiguration later.
if ! eval XBPS_TARGET_ARCH="$XBPS_TARGET_ARCH" "$@" ; then
die "Could not run command $*"
fi
fi
}
run_cmd() {
# This is a general purpose function to run commands that a user
# may wish to see. For example its useful to see the tar/xz
# pipeline to not need to delve into the scripts to see what
# options its set up with.
info_msg "Running $*"
eval "$@"
}
run_cmd_chroot() {
# General purpose chroot function which makes sure the chroot is
# prepared. This function takes 2 arguments, the location to
# chroot to and the command to run.
# This is an idempotent function, it is safe to call every time
# before entering the chroot. This has the advantage of making
# execution in the chroot appear as though it "Just Works(tm)".
register_binfmt
# Before we step into the chroot we need to make sure the
# pseudo-filesystems are ready to go. Not all commands will need
# this, but its still a good idea to call it here anyway.
mount_pseudofs
# With assurance that things will run now we can jump into the
# chroot and run stuff!
chroot "$1" sh -c "$2"
}
cleanup_chroot() {
# This function cleans up the chroot shims that are used by QEMU
# to allow builds on alien platforms. It takes no arguments but
# expects the global $ROOTFS variable to be set.
# Un-Mount the pseudofs mounts if they were mounted
umount_pseudofs
}
register_binfmt() {
# This function sets up everything that is needed to be able to
# chroot into a ROOTFS and be able to run commands there. This
# really matters on platforms where the host architecture is
# different from the target, and you wouldn't be able to run
# things like xbps-reconfigure -a. This function is idempotent
# (You can run it multiple times without modifying state). This
# function takes no arguments, but does expect the global variable
# $XBPS_TARGET_ARCH to be set.
# This select sets up the "magic" bytes in /proc that let the
# kernel select an alternate interpreter. More values for this
# map can be obtained from here:
# https://github.com/qemu/qemu/blob/master/scripts/qemu-binfmt-conf.sh
# If the XBPS_TARGET_ARCH is unset but the PLATFORM is known, it
# may be possible to set the architecture from the static
# platforms map.
if [ -z "$XBPS_TARGET_ARCH" ] && [ ! -z "$PLATFORM" ] ; then
set_target_arch_from_platform
fi
# In the special case where the build is native we can return
# without doing anything else
# This is only a basic check for identical archs, with more careful
# checks below for cases like ppc64 -> ppc and x86_64 -> i686.
_hostarch="${HOSTARCH%-musl}"
_targetarch="${XBPS_TARGET_ARCH%-musl}"
if [ "$_hostarch" = "$_targetarch" ] ; then
return
fi
case "${_targetarch}" in
armv*)
# TODO: detect aarch64 hosts that run 32 bit ARM without qemu (some cannot)
if ( [ "${_targetarch}" = "armv6l" ] && [ "${_hostarch}" = "armv7l" ] ) ; then
return
fi
if [ "${_targetarch}" = "armv5tel" -a \
\( "${_hostarch}" = "armv6l" -o "${_hostarch}" = "armv7l" \) ] ; then
return
fi
_cpu=arm
;;
aarch64)
_cpu=aarch64
;;
ppc64le)
_cpu=ppc64le
;;
ppc64)
_cpu=ppc64
;;
ppc)
if [ "$_hostarch" = "ppc64" ] ; then
return
fi
_cpu=ppc
;;
mipsel)
if [ "$_hostarch" = "mips64el" ] ; then
return
fi
_cpu=mipsel
;;
x86_64)
_cpu=x86_64
;;
i686)
if [ "$_hostarch" = "x86_64" ] ; then
return
fi
_cpu=i386
;;
riscv64)
_cpu=riscv64
;;
*)
die "Unknown target architecture!"
;;
esac
# For builds that do not match the host architecture, the correct
# qemu binary will be required.
QEMU_BIN="qemu-${_cpu}"
if ! $QEMU_BIN -version >/dev/null 2>&1; then
die "$QEMU_BIN binary is missing in your system, exiting."
fi
# In order to use the binfmt system the binfmt_misc mountpoint
# must exist inside of proc
if ! mountpoint -q /proc/sys/fs/binfmt_misc ; then
modprobe -q binfmt_misc
mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc 2>/dev/null
fi
# Only register if the map is incomplete
if [ ! -f /proc/sys/fs/binfmt_misc/qemu-$_cpu ] ; then
if ! command -v update-binfmts >/dev/null 2>&1; then
die "could not add binfmt: update-binfmts binary is missing in your system"
fi
update-binfmts --import "qemu-$_cpu"
fi
}
set_target_arch_from_platform() {
# This function maintains a lookup from platform to target
# architecture. This is required for scripts that need to know
# the target architecture, but don't necessarily need to know it
# internally (i.e. only run_cmd_chroot).
case "$PLATFORM" in
rpi-aarch64*) XBPS_TARGET_ARCH="aarch64";;
rpi-armv7l*) XBPS_TARGET_ARCH="armv7l";;
rpi-armv6l*) XBPS_TARGET_ARCH="armv6l";;
i686*) XBPS_TARGET_ARCH="i686";;
x86_64*) XBPS_TARGET_ARCH="x86_64";;
GCP*) XBPS_TARGET_ARCH="x86_64";;
pinebookpro*) XBPS_TARGET_ARCH="aarch64";;
pinephone*) XBPS_TARGET_ARCH="aarch64";;
rock64*) XBPS_TARGET_ARCH="aarch64";;
rockpro64*) XBPS_TARGET_ARCH="aarch64";;
asahi*) XBPS_TARGET_ARCH="aarch64";;
*) die "$PROGNAME: Unable to compute target architecture from platform";;
esac
if [ -z "${PLATFORM##*-musl}" ] ; then
XBPS_TARGET_ARCH="${XBPS_TARGET_ARCH}-musl"
fi
}
set_dracut_args_from_platform() {
# In rare cases it is necessary to set platform specific dracut
# args. This is mostly the case on ARM platforms.
case "$PLATFORM" in
*) ;;
esac
}
set_cachedir() {
# The package artifacts are cacheable, but they need to be isolated
# from the host cache.
: "${XBPS_CACHEDIR:=--cachedir=$PWD/xbps-cache/${XBPS_TARGET_ARCH}}"
}
rk33xx_flash_uboot() {
local dir="$1"
local dev="$2"
dd if="${dir}/idbloader.img" of="${dev}" seek=64 conv=notrunc,fsync >/dev/null 2>&1
dd if="${dir}/u-boot.itb" of="${dev}" seek=16384 conv=notrunc,fsync >/dev/null 2>&1
}
# These should all resolve even if they won't have the appropriate
# repodata files for the selected architecture.
: "${XBPS_REPOSITORY:=--repository=https://repo-default.voidlinux.org/current \
--repository=https://repo-default.voidlinux.org/current/musl \
--repository=https://repo-default.voidlinux.org/current/aarch64}"
# This library is the authoritative source of the platform map,
# because of this we may need to get this information from the command
# line. This select allows us to get that information out. This
# fails silently if the toolname isn't known since this script is
# sourced.
case "${1:-}" in
platform2arch)
PLATFORM=$2
set_target_arch_from_platform
echo "$XBPS_TARGET_ARCH"
;;
esac

View File

@ -1,19 +1,14 @@
AutoCloseConsole=false
ForgeVersion=
InstanceType=OneSix
IntendedVersion=
JavaArchitecture=64
JavaPath=/usr/lib64/jvm/openjdk21/bin/java
JavaTimestamp=1739886872000
JavaVersion=21.0.7
JoinServerOnLaunch=true
JoinServerOnLaunchAddress=
JoinSingleplayerWorldOnLaunch=false
JoinSingleplayerWorldOnLaunchName=
JoinWorldOnLaunch=false
JvmArgs=
LWJGLVersion=
LaunchMaximized=false
LiteloaderVersion=
LogPrePostOutput=true
MCLaunchMethod=LauncherPart
@ -23,33 +18,18 @@ ManagedPackName=
ManagedPackType=
ManagedPackVersionID=
ManagedPackVersionName=
MaxMemAlloc=1024
MinMemAlloc=512
MinecraftWinHeight=480
MinecraftWinWidth=854
OverrideCommands=false
OverrideConsole=false
OverrideGameTime=false
OverrideJava=false
OverrideJavaArgs=false
OverrideJavaLocation=true
OverrideJavaLocation=false
OverrideMCLaunchMethod=false
OverrideMemory=false
OverrideNativeWorkarounds=false
OverrideWindow=false
PermGen=128
PostExitCommand=
PreLaunchCommand=
RecordGameTime=true
ShowConsole=false
ShowConsoleOnError=true
ShowGameTime=true
UseNativeGLFW=false
UseNativeOpenAL=false
WrapperCommand=
iconKey=default
lastLaunchTime=1741809628094
lastTimePlayed=94
name=1.21.4
lastLaunchTime=1741917662496
lastTimePlayed=108
name=default
notes=
totalTimePlayed=584
totalTimePlayed=781

View File

@ -0,0 +1,9 @@
{
"build_number": 53,
"version": "1.2.5",
"release_time": "2024-02-17T17:24:35Z",
"download_url": "https://authlib-injector.yushi.moe/artifact/53/authlib-injector-1.2.5.jar",
"checksums": {
"sha256": "3bc9ebdc583b36abd2a65b626c4b9f35f21177fbf42a851606eaaea3fd42ee0f"
}
}

Some files were not shown because too many files have changed in this diff Show More