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

Plugin system post #11

Merged
merged 12 commits into from
Dec 31, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
19 changes: 19 additions & 0 deletions .github/actions/spelling/allow.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Archipel
Bricklou
Modrinth
Microsoft
AOT
modding
JEP
JNI
JVM
LEGO
Minestom
Linux
bytecode
Minecraft
dylib
Wasmer
Wasmtime
modimplementation
screenshot
5 changes: 0 additions & 5 deletions .github/actions/spelling/expect.txt

This file was deleted.

8 changes: 8 additions & 0 deletions .github/actions/spelling/patterns.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
\bD3lta\b

(?<=\\])\\[[-\\w.`'\"*&;#@ ]+\\]
\[(.*?)\]\((.*?)\)
(https?:\/\/[^\s]+)
\bHostFXR\b
\bJEP[0-9]+\b
image = "([^"]+)"
96 changes: 49 additions & 47 deletions .github/workflows/check-spells.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,21 +36,21 @@ name: Check Spelling
on:
push:
branches:
- "**"
- "**"
tags-ignore:
- "**"
- "**"
pull_request_target:
branches:
- "**"
- "**"
tags-ignore:
- "**"
- "**"
types:
- 'opened'
- 'reopened'
- 'synchronize'
- "opened"
- "reopened"
- "synchronize"
issue_comment:
types:
- 'created'
- "created"

jobs:
spelling:
Expand All @@ -69,23 +69,25 @@ jobs:
# note: If you use only_check_changed_files, you do not want cancel-in-progress
cancel-in-progress: true
steps:
- name: check-spelling
id: spelling
uses: check-spelling/check-spelling@main
with:
suppress_push_for_open_pull_request: 1
checkout: true
check_file_names: 1
spell_check_this: check-spelling/spell-check-this@prerelease
post_comment: 0
use_magic_file: 1
experimental_apply_changes_via_bot: 1
use_sarif: 1
extra_dictionary_limit: 10
unknown_word_limit: 2
extra_dictionaries:
cspell:software-terms/src/software-terms.txt

- name: check-spelling
id: spelling
uses: check-spelling/check-spelling@main
with:
suppress_push_for_open_pull_request: 1
checkout: true
check_file_names: 1
spell_check_this: check-spelling/spell-check-this@prerelease
post_comment: 0
use_magic_file: 1
experimental_apply_changes_via_bot: 1
use_sarif: 1
extra_dictionary_limit: 10
unknown_word_limit: 2
extra_dictionaries: |
cspell:software-terms/src/software-terms.txt
cspell:java/src/java.txt
cspell:markdown/src/markdown.txt
cspell:gaming-terms/dict/gaming-terms.txt

comment-push:
name: Report (Push)
Expand All @@ -96,12 +98,12 @@ jobs:
contents: write
if: (success() || failure()) && needs.spelling.outputs.followup && github.event_name == 'push'
steps:
- name: comment
uses: check-spelling/check-spelling@main
with:
checkout: true
spell_check_this: check-spelling/spell-check-this@prerelease
task: ${{ needs.spelling.outputs.followup }}
- name: comment
uses: check-spelling/check-spelling@main
with:
checkout: true
spell_check_this: check-spelling/spell-check-this@prerelease
task: ${{ needs.spelling.outputs.followup }}

comment-pr:
name: Report (PR)
Expand All @@ -112,13 +114,13 @@ jobs:
pull-requests: write
if: (success() || failure()) && needs.spelling.outputs.followup && contains(github.event_name, 'pull_request')
steps:
- name: comment
uses: check-spelling/check-spelling@main
with:
checkout: true
spell_check_this: check-spelling/spell-check-this@prerelease
task: ${{ needs.spelling.outputs.followup }}
experimental_apply_changes_via_bot: 1
- name: comment
uses: check-spelling/check-spelling@main
with:
checkout: true
spell_check_this: check-spelling/spell-check-this@prerelease
task: ${{ needs.spelling.outputs.followup }}
experimental_apply_changes_via_bot: 1

update:
name: Update PR
Expand All @@ -128,17 +130,17 @@ jobs:
actions: read
runs-on: ubuntu-latest
if: ${{
github.event_name == 'issue_comment' &&
github.event.issue.pull_request &&
contains(github.event.comment.body, '@check-spelling-bot apply')
github.event_name == 'issue_comment' &&
github.event.issue.pull_request &&
contains(github.event.comment.body, '@check-spelling-bot apply')
}}
concurrency:
group: spelling-update-${{ github.event.issue.number }}
cancel-in-progress: false
steps:
- name: apply spelling updates
uses: check-spelling/check-spelling@main
with:
experimental_apply_changes_via_bot: 1
checkout: true
ssh_key: "${{ secrets.CHECK_SPELLING }}"
- name: apply spelling updates
uses: check-spelling/check-spelling@main
with:
experimental_apply_changes_via_bot: 1
checkout: true
ssh_key: "${{ secrets.CHECK_SPELLING }}"
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
.vscode
.idea
resources/_gen/
.hugo_build.lock
Empty file removed .hugo_build.lock
Empty file.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
+++
title = "The dawn of a new project"
author = "Bricklou"
date = "2023-07-28"
author = "Bricklou, D3lta"
date = "2023-09-27"
categories = ["news"]
tags = ["what-is", "news"]
description = "We are starting a new project: a Minecraft server written in Rust!"
Expand All @@ -21,16 +21,25 @@ So, let us present you our project: **Archipel Project**!

# What is Archipel Project?

Like we said, it is a Minecraft server written in Rust. The goal is to have a server that is fast, secure and (almost) easy to use.
Like we said, it is a Minecraft server written in Rust. The goal is to have a server fast, secure and (almost) easy to use.

It will be built on a microservice architecture, with a lot of small services that will communicate with each other: some will store the world data,
But is it just another Minecraft server? Can it compete with big servers like Spigot or Paper? Well, no. At least, not at the beginning.
but we have more than one trick up our sleeves to make it better than the others.
starting by a full rewrite in rust, which will make it faster and more secure than the others java alternatives.
more data oriented patterns, like ECS, will also make it faster, more scalable and easier to extend than the traditional OOP patterns used by the others servers. See https://github.com/SanderMertens/ecs-faq for more details!

Wait but Valence and feather already have these kind of features, why not use them instead of writing a new server?

Archipel also target a more distributed work over nodes, It will be built on a microservice architecture, with a lot of small services that will communicate with each other: some will store the world data,
some will run the logic, and others will handle the player connections and authentication.

We will try to make it as modular as possible, so you can use only the services you need.

# Will it still be compatible with Minecraft?

Yes, it will! It needs to stay compatible with the official client! We are also thinking about supporting the Bedrock client too, but it is not our priority.
Yes, it will! It needs to stay compatible with the official and latest java client! We are also thinking about supporting the Bedrock client too, but it is not our priority.
To support multiple clients version, and server side modding, we are thinking of using a layer Item translation, some mod or plugin already do that, like ViaVersion or polymer (https://polymer.pb4.eu/latest/),
but we want to push the concept further, and make it more generic, so it can be used by any mod or plugin.

# When will it be ready?

Expand Down
Loading
Loading