Skip to content

docs: add Bedrock systemd unit and README link - #48

Merged
TimInTech merged 3 commits into
mainfrom
docs/bedrock-systemd-example
Nov 8, 2025
Merged

docs: add Bedrock systemd unit and README link#48
TimInTech merged 3 commits into
mainfrom
docs/bedrock-systemd-example

Conversation

@TimInTech

Copy link
Copy Markdown
Owner

Reintroduces a complete unit file for Bedrock.

Copilot AI review requested due to automatic review settings November 8, 2025 15:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates documentation and adds a new Bedrock systemd service file. The changes clarify installation requirements, document auto-sizing behavior, and improve the structure of documentation references.

  • Added minecraft-bedrock.service for systemd management of Bedrock servers
  • Updated README with clarifications on UFW installation, JVM memory auto-sizing, and Bedrock checksum enforcement
  • Added reference to COPILOT_RUN_INSTRUCTIONS.md for CLI workflow guidance

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
minecraft-bedrock.service New systemd service unit file for Minecraft Bedrock Server
README.md Updated documentation with installation notes, memory auto-sizing details, and reorganized simulation workflow references

Comment thread minecraft-bedrock.service
ExecStart=/opt/bedrock/start.sh
Restart=on-failure
RestartSec=5s

Copilot AI Nov 8, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The minecraft-bedrock.service lacks the systemd hardening options present in minecraft.service. Consider adding the same security hardening directives (NoNewPrivileges, ProtectSystem, ProtectHome, PrivateTmp, ProtectKernelTunables, ProtectKernelModules, ProtectControlGroups, RestrictSUIDSGID, RestrictNamespaces, CapabilityBoundingSet, AmbientCapabilities) with ReadWritePaths=/opt/bedrock to maintain consistent security posture across both services.

Suggested change
# Security hardening options (mirrored from minecraft.service)
NoNewPrivileges=true
ProtectSystem=full
ProtectHome=true
PrivateTmp=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectControlGroups=true
RestrictSUIDSGID=true
RestrictNamespaces=true
CapabilityBoundingSet=
AmbientCapabilities=
ReadWritePaths=/opt/bedrock

Copilot uses AI. Check for mistakes.
Comment thread README.md
Comment on lines +168 to 170
The installer auto-sizes memory: `Xms ≈ RAM/4`, `Xmx ≈ RAM/2` (minimums: 1G/2G). You can override these in `/opt/minecraft/start.sh`.

The installer sets `Xms ≈ RAM/4` and `Xmx ≈ RAM/2` with floors `256M/448M` and an `Xmx` cap of `≤16G`. Override in `/opt/minecraft/start.sh`.

Copilot AI Nov 8, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate documentation of JVM memory settings with conflicting information. Line 168 states minimums of 1G/2G while line 170 states floors of 256M/448M. Remove the duplicate and ensure only one accurate description remains.

Suggested change
The installer auto-sizes memory: `Xms ≈ RAM/4`, `Xmx ≈ RAM/2` (minimums: 1G/2G). You can override these in `/opt/minecraft/start.sh`.
The installer sets `Xms ≈ RAM/4` and `Xmx ≈ RAM/2` with floors `256M/448M` and an `Xmx` cap of `≤16G`. Override in `/opt/minecraft/start.sh`.
The installer auto-sizes memory: `Xms ≈ RAM/4`, `Xmx ≈ RAM/2` (minimums: 1G/2G, maximum Xmx: 16G). You can override these in `/opt/minecraft/start.sh`.

Copilot uses AI. Check for mistakes.
Comment thread README.md
Comment on lines +221 to +222
For safe simulation workflow details, see **[SIMULATION.md](SIMULATION.md)**.

Copilot AI Nov 8, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate reference to SIMULATION.md on lines 217 and 221. Remove the duplicate reference to avoid redundancy.

Suggested change
For safe simulation workflow details, see **[SIMULATION.md](SIMULATION.md)**.

Copilot uses AI. Check for mistakes.
Comment thread README.md

For safe simulation workflow details, see **[SIMULATION.md](SIMULATION.md)**.

> **Simulation CLI:** For step-by-step Copilot CLI workflow, see [COPILOT_RUN_INSTRUCTIONS.md](COPILOT_RUN_INSTRUCTIONS.md).

Copilot AI Nov 8, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The README references COPILOT_RUN_INSTRUCTIONS.md but this file does not exist in the repository. Either add the missing file or remove this reference.

Copilot uses AI. Check for mistakes.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread minecraft-bedrock.service
Comment on lines +9 to +10
WorkingDirectory=/opt/bedrock
ExecStart=/opt/bedrock/start.sh

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Point Bedrock unit to actual install directory

The new unit file launches the Bedrock server from /opt/bedrock, but the installer (setup_bedrock.sh) creates the installation under /opt/minecraft-bedrock and writes start.sh there. Anyone enabling this unit after running the provided setup script will get WorkingDirectory and ExecStart paths that do not exist, so systemd will fail to start the service. Consider aligning both paths with /opt/minecraft-bedrock.

Useful? React with 👍 / 👎.

@TimInTech
TimInTech merged commit fe6275b into main Nov 8, 2025
8 checks passed
@TimInTech
TimInTech deleted the docs/bedrock-systemd-example branch November 8, 2025 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants