Compare commits
24 commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
60f523e400 | ||
![]() |
b9b30acfbb | ||
![]() |
1acb59d915 | ||
![]() |
b75acd894d | ||
![]() |
0d1d77a800 | ||
![]() |
9386b7df82 | ||
![]() |
89d2674a2f | ||
![]() |
f3c855015d | ||
![]() |
5743f7748b | ||
![]() |
9b108d9916 | ||
![]() |
0ac7c4b8af | ||
![]() |
67c302f19b | ||
![]() |
026d432804 | ||
![]() |
54eb783d7f | ||
![]() |
4a846610e1 | ||
![]() |
ffc7d7ea31 | ||
![]() |
d91513420d | ||
![]() |
931626def0 | ||
![]() |
c07a8d54b2 | ||
![]() |
245b666d27 | ||
![]() |
183b7fbe49 | ||
![]() |
d3e2e44d96 | ||
![]() |
d63b183858 | ||
![]() |
db5f59618a |
11 changed files with 73 additions and 176 deletions
28
.forgejo/actions/update_branch/action.yml
Normal file
28
.forgejo/actions/update_branch/action.yml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
name: 'Update_Geyser'
|
||||||
|
description: 'Updates Geyser for a specified branch'
|
||||||
|
inputs:
|
||||||
|
branch: # id of input
|
||||||
|
description: 'what branch to update'
|
||||||
|
required: true
|
||||||
|
default: 'main'
|
||||||
|
token: # id of input
|
||||||
|
description: 'Token needed to commit changes'
|
||||||
|
required: true
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
permissions:
|
||||||
|
# Give the default GITHUB_TOKEN write permission to commit and push the
|
||||||
|
# added or changed files to the repository.
|
||||||
|
contents: write
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: ${{ inputs.branch }}
|
||||||
|
token: ${{ inputs.token }}
|
||||||
|
- run: nix run .#update_plugin -- update geyser
|
||||||
|
shell: bash
|
||||||
|
- uses: https://github.com/stefanzweifel/git-auto-commit-action@v5
|
||||||
|
with:
|
||||||
|
commit_message: "Updated geyser for ${{ inputs.branch }}"
|
||||||
|
- run: git checkout main
|
||||||
|
shell: bash
|
|
@ -1,10 +1,26 @@
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '0 0 * * *'
|
- cron: '0 0 * * *'
|
||||||
|
|
||||||
|
# using code from the nixos repo
|
||||||
jobs:
|
jobs:
|
||||||
|
# deploy_active:
|
||||||
|
# strategy:
|
||||||
|
# matrix:
|
||||||
|
# batch: [ active-core, active, active-ext ]
|
||||||
|
# runs-on: nix
|
||||||
|
# needs: [ deploy_dns ]
|
||||||
|
# steps:
|
||||||
|
# - uses: actions/checkout@v4
|
||||||
|
# - run: colmena apply -v --on @${{ matrix.batch }} --show-trace
|
||||||
|
# shell: bash
|
||||||
|
|
||||||
update:
|
update:
|
||||||
|
# strategy:
|
||||||
|
# matrix:
|
||||||
|
# branch: [ main, skynet, anime_manga ]
|
||||||
runs-on: nix
|
runs-on: nix
|
||||||
permissions:
|
permissions:
|
||||||
# Give the default GITHUB_TOKEN write permission to commit and push the
|
# Give the default GITHUB_TOKEN write permission to commit and push the
|
||||||
|
@ -15,45 +31,18 @@ jobs:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
token: ${{ secrets.PIPELINE_TOKEN }}
|
- name: "main"
|
||||||
- name: "Get LFS objects"
|
uses: ./.forgejo/actions/update_branch
|
||||||
uses: https://forgejo.skynet.ie/Skynet/actions/get_lfs@v3
|
|
||||||
with:
|
with:
|
||||||
repository: ${{ gitea.repository }}
|
branch: "main"
|
||||||
ref_name: ${{ gitea.ref_name }}
|
token: ${{ secrets.PIPELINE_TOKEN }}
|
||||||
- name: Get all LFS objects
|
- name: "skynet"
|
||||||
run: |
|
uses: ./.forgejo/actions/update_branch
|
||||||
# Pull in all objects for all branches
|
with:
|
||||||
git lfs fetch --all
|
branch: "skynet"
|
||||||
- name: setup git config
|
token: ${{ secrets.PIPELINE_TOKEN }}
|
||||||
run: |
|
- name: "anime_manga"
|
||||||
# setup the username and email. I tend to use 'GitHub Actions Bot' with no email by default
|
uses: ./.forgejo/actions/update_branch
|
||||||
git config user.name "Skynet"
|
with:
|
||||||
git config user.email "<>"
|
branch: "anime_manga"
|
||||||
- name: Update each branch
|
token: ${{ secrets.PIPELINE_TOKEN }}
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
branches=()
|
|
||||||
eval "$(git for-each-ref --shell --format='branches+=(%(refname))' refs/remotes/origin/)"
|
|
||||||
for branch in "${branches[@]}"; do
|
|
||||||
# for debugging
|
|
||||||
echo "$branch"
|
|
||||||
if [ "$branch" == "refs/remotes/origin/HEAD" ]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
# need to convert "'refs/remotes/origin/main" to "main"
|
|
||||||
branch_local=$(echo "$branch" | awk -F'[\\\\/]' ' { print $4 }')
|
|
||||||
git switch $branch_local
|
|
||||||
git lfs pull
|
|
||||||
git status
|
|
||||||
nix run .#update_plugin -- update geyser
|
|
||||||
|
|
||||||
## these will only succeed if there are changes
|
|
||||||
git add --all || true
|
|
||||||
git commit -m "Updated geyser for $branch_local" || true
|
|
||||||
git push || true
|
|
||||||
done
|
|
||||||
# - uses: https://github.com/stefanzweifel/git-auto-commit-action@v5
|
|
||||||
# with:
|
|
||||||
# commit_message: "Updated geyser for ${{ matrix.branch }}"
|
|
||||||
|
|
|
@ -1,13 +1,8 @@
|
||||||
# No need to have anything outside teh packwiz files inside teh pack
|
# DOnt add teh IDE's
|
||||||
/.forgejo
|
|
||||||
/.idea
|
/.idea
|
||||||
/docs
|
|
||||||
/nix
|
|
||||||
|
|
||||||
.git*
|
|
||||||
|
|
||||||
# dont add nix stuff
|
# dont add nix stuff
|
||||||
flake.*
|
flake.*
|
||||||
|
/nix
|
||||||
|
|
||||||
# Dont add documentation
|
|
||||||
*.md
|
*.md
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
# Ports allocated
|
|
||||||
|
|
||||||
## Minecraft
|
|
||||||
Ports are grouped together like so:
|
|
||||||
* 255XY - Java Port
|
|
||||||
* TCP
|
|
||||||
* 244XY - Voice Chat port
|
|
||||||
* UDP
|
|
||||||
* 233XY - Bedrock Port
|
|
||||||
* UDP
|
|
||||||
|
|
||||||
| XY | Society | Bot |
|
|
||||||
|----|----------|-----|
|
|
||||||
| 18 | Computer | Y |
|
|
||||||
| 19 | Computer | Y |
|
|
||||||
| 20 | | |
|
|
||||||
| 21 | Games | |
|
|
||||||
| 22 | PhilDeb | |
|
|
||||||
| 23 | Anime | Y |
|
|
||||||
| 24 | | |
|
|
||||||
| 25 | | |
|
|
||||||
|
|
||||||
|
|
||||||
## Steam
|
|
||||||
This covers games like TF2 and CSGO.
|
|
||||||
Currently just for Compsoc
|
|
||||||
|
|
||||||
* 27015
|
|
||||||
* 27020
|
|
|
@ -1,69 +0,0 @@
|
||||||
# Server Setup
|
|
||||||
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
### Ports
|
|
||||||
* 255XY - Java Port
|
|
||||||
* 244XY - Voice Chat port
|
|
||||||
* 233XY - Bedrock Port
|
|
||||||
|
|
||||||
## Setup
|
|
||||||
|
|
||||||
### Config
|
|
||||||
1. In [this repo][config_01] create a new branch for the club/soc who wants the server.
|
|
||||||
2. Push this branch to Forgejo.
|
|
||||||
|
|
||||||
[config_01]: https://forgejo.skynet.ie/Skynet/minecraft_plugins_v2
|
|
||||||
|
|
||||||
### Server
|
|
||||||
1. In the admin panel create a new server. [link][setup_01]
|
|
||||||
2. ``Information``
|
|
||||||
* ``Primary Allocation``
|
|
||||||
* You will need to create allocations for both ports using the add allocation button
|
|
||||||
![add_allocation.png][setup_02]
|
|
||||||
* Add allocations for all 3 ports ``255XY``/``244XY``/``233XY``
|
|
||||||
* ``Owner``
|
|
||||||
* If the Club/Soc already has an account then use that
|
|
||||||
* Else use the plus:
|
|
||||||
![add_allocation.png][setup_02]
|
|
||||||
To create a new account for them.
|
|
||||||
* ``username`` - This should be the Club/Soc as lowercase.
|
|
||||||
Check with Admin if they already have a Skynet account, if they have then use that.
|
|
||||||
* ``email`` - use ``$username@skynet.ie`` or ``$username@ulwolves.ie``
|
|
||||||
Do not use any other email.
|
|
||||||
3. ``Egg Configuration``
|
|
||||||
* For the egg choose ``mcsleepingserverstarter-Packwiz-Purpur-Geyser-Floodgate``.
|
|
||||||
* For ``{{PACKWIZ_URL}}`` it is ``https://forgejo.skynet.ie/Skynet/minecraft_plugins_v2/raw/branch/$BRANCHNAME/pack.toml``.
|
|
||||||
* ``$BRANCHNAME`` is the name of the branch as done in [Config](#config).
|
|
||||||
4. Move onto ``Environment Configuration``
|
|
||||||
* Memory give it about ``6144`` MB or so.
|
|
||||||
* Swap Memory give it about ``1024``
|
|
||||||
* ``Feature Limits`` give one or two backups.
|
|
||||||
|
|
||||||
[setup_01]: https://panel.games.skynet.ie/admin/servers/create
|
|
||||||
[setup_02]: media/add_allocation.png
|
|
||||||
|
|
||||||
### Minecraft
|
|
||||||
Now in the panel ye need to modify some files.
|
|
||||||
If an option is not already in teh file then create it.
|
|
||||||
|
|
||||||
1. ``server.properties``
|
|
||||||
* ``enforce-secure-profile=false`` - This allows bedrock players to talk in text chat
|
|
||||||
2. ``sleepingSettings.yml``
|
|
||||||
* See the [Github repo][minecraft_01] for full config details
|
|
||||||
* ``serverName`` - This is what gets shown on users server listings when teh server is sleeping.
|
|
||||||
``GSoc, connect to wake up then reconnect in a min`` is what is on teh GSoc one,
|
|
||||||
* ``serverPort`` - Use the Java port ``255XY``
|
|
||||||
* ``bedrockPort`` - Use the Bedrock port ``233XY``
|
|
||||||
3. ``plugins/Geyser-Spigot/config.yml``
|
|
||||||
* ``bedrock.port`` - Use the Bedrock port ``233XY``
|
|
||||||
4. ``plugins/voicechat/voicechat-server.properties``
|
|
||||||
* ``port`` - Use the Voice port ``244XY``
|
|
||||||
|
|
||||||
[minecraft_01]: https://github.com/vincss/mcsleepingserverstarter
|
|
||||||
|
|
||||||
### DNS
|
|
||||||
An entry needs to be added to the [Forgejo DNS Config][dns_01] in the form of ``minecraft.$NAME``.
|
|
||||||
Where ``$NAME`` is the name of teh club/soc, lowercase.
|
|
||||||
|
|
||||||
[dns_01]: https://forgejo.skynet.ie/Skynet/nixos/src/branch/main/applications/games/minecraft.nix#L27
|
|
|
@ -1,21 +0,0 @@
|
||||||
# Minecraft - Users
|
|
||||||
|
|
||||||
## Discord Bot
|
|
||||||
If the Club/Soc uses the Skynet Discord bot then you will need to add your username to it.
|
|
||||||
Instructions can be found here: [link][users_04]
|
|
||||||
|
|
||||||
## Java
|
|
||||||
* Connect via ``minecraft.$NAME.games.skynet.ie``
|
|
||||||
* If you want to use voice chat install it locally
|
|
||||||
* [Modrinth][users_02]
|
|
||||||
* [Wiki][users_03] (Has more detailed install instructions)
|
|
||||||
|
|
||||||
## Bedrock
|
|
||||||
* Connect via ``minecraft.$NAME.games.skynet.ie``
|
|
||||||
* Port is ``233XY``
|
|
||||||
* Bedrock users need to [link][users_01] their account to join the server
|
|
||||||
|
|
||||||
[users_01]: https://link.geysermc.org/method/online
|
|
||||||
[users_02]: https://modrinth.com/plugin/simple-voice-chat
|
|
||||||
[users_03]: https://modrepo.de/minecraft/voicechat/wiki/installation
|
|
||||||
[users_04]: https://forgejo.skynet.ie/Skynet/discord-bot/src/branch/main/doc/User.md#minecraft
|
|
BIN
docs/media/add_allocation.png
(Stored with Git LFS)
BIN
docs/media/add_allocation.png
(Stored with Git LFS)
Binary file not shown.
|
@ -7,6 +7,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
nixConfig = {
|
nixConfig = {
|
||||||
|
bash-prompt-suffix = "[Skynet Dev] ";
|
||||||
extra-substituters = "https://nix-cache.skynet.ie/skynet-cache";
|
extra-substituters = "https://nix-cache.skynet.ie/skynet-cache";
|
||||||
extra-trusted-public-keys = "skynet-cache:zMFLzcRZPhUpjXUy8SF8Cf7KGAZwo98SKrzeXvdWABo=";
|
extra-trusted-public-keys = "skynet-cache:zMFLzcRZPhUpjXUy8SF8Cf7KGAZwo98SKrzeXvdWABo=";
|
||||||
};
|
};
|
||||||
|
@ -28,7 +29,6 @@
|
||||||
devShells.default = pkgs.mkShell {
|
devShells.default = pkgs.mkShell {
|
||||||
name = "Skynet Mod env";
|
name = "Skynet Mod env";
|
||||||
packages = packages_local;
|
packages = packages_local;
|
||||||
shellHook = "export PS1='[Skynet Dev] '";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
packages = {
|
packages = {
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
hash-format = "sha256"
|
hash-format = "sha256"
|
||||||
|
|
||||||
|
[[files]]
|
||||||
|
file = ".forgejo/actions/update_branch/action.yml"
|
||||||
|
hash = "d766aa4529c72ab0b451e518367bd8b58126697181670248397b13db6ab16cb2"
|
||||||
|
|
||||||
|
[[files]]
|
||||||
|
file = ".forgejo/workflows/geyser.yml"
|
||||||
|
hash = "552840ea9426de23a692cd4f0dabef497acff0918d9fac9c074ad7a328cb2df5"
|
||||||
|
|
||||||
[[files]]
|
[[files]]
|
||||||
file = "plugins/essentialsx-discord.pw.toml"
|
file = "plugins/essentialsx-discord.pw.toml"
|
||||||
hash = "3980e4f0ba4095425a76680031b9c469eda86845879160c34679d626b531c776"
|
hash = "3980e4f0ba4095425a76680031b9c469eda86845879160c34679d626b531c776"
|
||||||
|
|
|
@ -8,13 +8,13 @@
|
||||||
|
|
||||||
buildGoModule {
|
buildGoModule {
|
||||||
pname = "packwiz";
|
pname = "packwiz";
|
||||||
version = "0-unstable-2025-05-08";
|
version = "0-unstable-2024-10-15";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Silver-Golden";
|
owner = "Silver-Golden";
|
||||||
repo = "packwiz";
|
repo = "packwiz";
|
||||||
rev = "7ae91a58dbec3b76ce0aaaf15aeba3118021a34f";
|
rev = "453264019e54eae69f495078b0f3fa073f071e73";
|
||||||
sha256 = "sha256-3zUkePmVJTpU9+mkLyeqlZ1KNVDXNsFvoh8ifwXya1M=";
|
sha256 = "sha256-x6Z8MLaacZFlRYOVkTU+ffYtCJu4FAB3I2W/uQITwns=";
|
||||||
};
|
};
|
||||||
passthru.updateScript = unstableGitUpdater { };
|
passthru.updateScript = unstableGitUpdater { };
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ pack-format = "packwiz:1.1.0"
|
||||||
[index]
|
[index]
|
||||||
file = "index.toml"
|
file = "index.toml"
|
||||||
hash-format = "sha256"
|
hash-format = "sha256"
|
||||||
hash = "8232fce7440db8e2f5f8be1a01d74cf04852e9f8a220f32803614b7a1cecc814"
|
hash = "47d471771ebad7b66101d002b55eeeab3d1ad8f863de649af12863e66cd8be92"
|
||||||
|
|
||||||
[versions]
|
[versions]
|
||||||
minecraft = "1.21.5"
|
minecraft = "1.21.5"
|
||||||
|
@ -13,4 +13,3 @@ purpur = "2428"
|
||||||
|
|
||||||
[options]
|
[options]
|
||||||
acceptable-game-versions = ["1.21", "1.21.1", "1.21.2", "1.21.3", "1.21.4", "1.21.5"]
|
acceptable-game-versions = ["1.21", "1.21.1", "1.21.2", "1.21.3", "1.21.4", "1.21.5"]
|
||||||
datapack-folder = "plugins"
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue