Pumpkin Minecraft Server Deployment: Docker, Java/Bedrock Compatibility and Performance Verification

Pumpkin Rust Minecraft server deployment guide covering Docker startup, ports and configuration, Java/Bedrock compatibility, world data backup, performance testing, and development phase risks.

This tutorial by Pumpkin focuses on the specific task in the title. Pumpkin still needs to be evaluated for production use based on project maturity; Minecraft server migration cannot just be based on whether you can log in, but also verify world data, plug-in or protocol compatibility, delays and rollbacks.

Below is a demonstration using a test environment and revocable data. When accounts, keys, machine control, investments or emergency communications are involved, manual confirmation must be done.

First confirm the maturity and support scope of Pumpkin

This section only deals with “Confirming Pumpkin’s maturity and support scope first”. Save the current state first and then run the minimal test. Do not change multiple conditions at the same time.

1
# 阅读 README、release 与已知问题

For Pumpkin, the results must be judged with this boundary in mind: Pumpkin still needs to evaluate production use according to project maturity; Minecraft server migration cannot only be based on whether you can log in, but also verify world data, plug-in or protocol compatibility, delays and rollbacks.

If the results are not repeatable, record the version, input, and logs, then narrow the scope of the test.

Java version and Bedrock version are not the same protocol

It is recommended to execute in the following order:

  1. Check the actual version and source.
  2. Use a test account, test directory, or test device.
  3. Perform an undoable action.
  4. Save the output, exit code, or screenshot.
  5. Revert the changes and re-verify.
1
Test-NetConnection 127.0.0.1 -Port 25565

The completion criterion is that “Java version and Bedrock version are not the same protocol” and a verifiable result is obtained, rather than the command just not reporting an error.

Start with a blank test world

Check items Passing criteria Stop signal
Start with a blank test world Clear input, output and permission scope Tools automatically expand the scope of operations
Source Can return to the official warehouse or original data Rely on unknown mirrors or second-hand conclusions
Security No secret value in log Token, cookie or private data present
Recovery Ability to return to pre-execution state No backup or undo methods
1
New-Item -ItemType Directory -Path .\pumpkin-test -Force

When a stop signal appears, resume first and do not continue to the next step.

Docker container only opens required game ports

This section only deals with “Docker containers only open required game ports”. Save the current state first and then run the minimal test. Do not change multiple conditions at the same time.

1
docker version

For Pumpkin, the results must be judged with this boundary in mind: Pumpkin still needs to evaluate production use according to project maturity; Minecraft server migration cannot only be based on whether you can log in, but also verify world data, plug-in or protocol compatibility, delays and rollbacks.

If the results are not repeatable, record the version, input, and logs, then narrow the scope of the test.

Save the log completely when starting for the first time

It is recommended to execute in the following order:

  1. Check the actual version and source.
  2. Use a test account, test directory, or test device.
  3. Perform an undoable action.
  4. Save the output, exit code, or screenshot.
  5. Revert the changes and re-verify.
1
docker logs --tail 200 pumpkin

The completion standard is to obtain verifiable results by “completely saving the log when starting for the first time”, rather than the command just not reporting an error.

What actions can the client test after entering?

Check items Passing criteria Stop signal
What actions can the client test after entering Clear input, output and permission ranges The tool automatically expands the scope of operations
Source Can return to the official warehouse or original data Rely on unknown mirrors or second-hand conclusions
Security No secret value in log Token, cookie or private data present
Recovery Ability to return to pre-execution state No backup or undo methods
1
# 登录、移动、放置方块、聊天、重连

When a stop signal appears, resume first and do not continue to the next step.

Don’t judge performance by the number of people online

This section only deals with “Don’t judge performance by the number of people online”. Save the current state first and then run the minimal test. Do not change multiple conditions at the same time.

1
docker stats --no-stream pumpkin

For Pumpkin, the results must be judged with this boundary in mind: Pumpkin still needs to evaluate production use according to project maturity; Minecraft server migration cannot only be based on whether you can log in, but also verify world data, plug-in or protocol compatibility, delays and rollbacks.

If the results are not repeatable, record the version, input, and logs, then narrow the scope of the test.

Record tick, CPU, memory and latency

It is recommended to execute in the following order:

  1. Check the actual version and source.
  2. Use a test account, test directory, or test device.
  3. Perform an undoable action.
  4. Save the output, exit code, or screenshot.
  5. Revert the changes and re-verify.
1
docker stats --no-stream pumpkin

The completion standard is to “record tick, CPU, memory and delay” to obtain verifiable results, rather than the command just not reporting an error.

Verify restart consistency after saving the world

Check items Passing criteria Stop signal
Verify restart consistency after saving the world Clear input, output and permission ranges Tools automatically expand the scope of operations
Source Can return to the official warehouse or original data Rely on unknown mirrors or second-hand conclusions
Security No secret value in log Token, cookie or private data present
Recovery Ability to return to pre-execution state No backup or undo methods
1
docker restart pumpkin

When a stop signal appears, resume first and do not continue to the next step.

Compatibility of plug-ins and modules must be confirmed separately

This section only deals with “compatibility of plug-ins and modules must be confirmed separately”. Save the current state first and then run the minimal test. Do not change multiple conditions at the same time.

1
docker logs pumpkin | Select-String -Pattern 'error|unsupported'

For Pumpkin, the results must be judged with this boundary in mind: Pumpkin still needs to evaluate production use according to project maturity; Minecraft server migration cannot only be based on whether you can log in, but also verify world data, plug-in or protocol compatibility, delays and rollbacks.

If the results are not repeatable, record the version, input, and logs, then narrow the scope of the test.

Bedrock compatibility layer needs to be tested across versions

It is recommended to execute in the following order:

  1. Check the actual version and source.
  2. Use a test account, test directory, or test device.
  3. Perform an undoable action.
  4. Save the output, exit code, or screenshot.
  5. Revert the changes and re-verify.
1
# 使用两个受支持客户端版本分别连接

The completion standard is that “the Bedrock compatibility layer needs to be tested across versions” to obtain verifiable results, rather than that the command happens to report no errors.

Set access control before opening the public network

Check items Passing criteria Stop signal
Set access control before opening the public network Clear input, output and permission scope Tool automatically expands the scope of operation
Source Can return to the official warehouse or original data Rely on unknown mirrors or second-hand conclusions
Security No secret value in log Token, cookie or private data present
Recovery Ability to return to pre-execution state No backup or undo methods
1
Get-NetFirewallRule -Enabled True | Select-Object -First 20

When a stop signal appears, resume first and do not continue to the next step.

Back up world, configuration and player data

This section only deals with “Backing up world, configuration, and player data”. Save the current state first and then run the minimal test. Do not change multiple conditions at the same time.

1
docker volume inspect pumpkin-data

For Pumpkin, the results must be judged with this boundary in mind: Pumpkin still needs to evaluate production use according to project maturity; Minecraft server migration cannot only be based on whether you can log in, but also verify world data, plug-in or protocol compatibility, delays and rollbacks.

If the results are not repeatable, record the version, input, and logs, then narrow the scope of the test.

To upgrade the image, copy the test instance first

It is recommended to execute in the following order:

  1. Check the actual version and source.
  2. Use a test account, test directory, or test device.
  3. Perform an undoable action.
  4. Save the output, exit code, or screenshot.
  5. Revert the changes and re-verify.
1
docker image ls

The completion standard is to “upgrade the image and copy the test instance first” to obtain verifiable results, rather than the command just not reporting an error.

Check world damage after abnormal shutdown

Check items Passing criteria Stop signal
Check world damage after abnormal shutdown Input, output and permission ranges are clear Tools automatically expand the operating range
Source Can return to the official warehouse or original data Rely on unknown mirrors or second-hand conclusions
Security No secret value in log Token, cookie or private data present
Recovery Ability to return to pre-execution state No backup or undo methods
1
docker logs --since 10m pumpkin

When a stop signal appears, resume first and do not continue to the next step.

Exit conditions for production migration

This section only deals with “Exit conditions for production migration”. Save the current state first and then run the minimal test. Do not change multiple conditions at the same time.

1
docker ps --filter name=pumpkin

For Pumpkin, the results must be judged with this boundary in mind: Pumpkin still needs to evaluate production use according to project maturity; Minecraft server migration cannot only be based on whether you can log in, but also verify world data, plug-in or protocol compatibility, delays and rollbacks.

If the results are not repeatable, record the version, input, and logs, then narrow the scope of the test.

The whitelist and administrator permissions must be verified on the test server first.

It is recommended to execute in the following order:

  1. Check the actual version and source.
  2. Use a test account, test directory, or test device.
  3. Perform an undoable action.
  4. Save the output, exit code, or screenshot.
  5. Revert the changes and re-verify.
1
docker logs --tail 100 pumpkin

The completion standard is that “the whitelist and administrator permissions are first verified on the test server” to obtain verifiable results, rather than that the command happens to not report an error.

Load changes when more than three players are connected at the same time

Check items Passing criteria Stop signal
Load changes when more than three players are connected at the same time Clear scope of input, output and permissions Tool automatically expands the scope of operation
Source Can return to the official warehouse or original data Rely on unknown mirrors or second-hand conclusions
Security No secret value in log Token, cookie or private data present
Recovery Ability to return to pre-execution state No backup or undo methods
1
docker stats --no-stream pumpkin

When a stop signal appears, resume first and do not continue to the next step.

After rollback, the client version still needs to be retested

This section only deals with “the client version still needs to be retested after rollback”. Save the current state first and then run the minimal test. Do not change multiple conditions at the same time.

1
docker logs --since 5m pumpkin

For Pumpkin, the results must be judged with this boundary in mind: Pumpkin still needs to evaluate production use according to project maturity; Minecraft server migration cannot only be based on whether you can log in, but also verify world data, plug-in or protocol compatibility, delays and rollbacks.

If the results are not repeatable, record the version, input, and logs, then narrow the scope of the test.

Pumpkin’s Final Checkup

  • The versions and sources used are documented.
  • Test input and formal data have been isolated.
  • Commands, configurations and actual output can correspond.
  • The failed path was actively tested at least once.
  • Keys, accounts and private data do not enter Git or logs.
  • There are clear actions for upgrading, stopping and resuming.

If you still can’t explain how the results occur, keep Pumpkin in a test environment without extending permissions or replacing existing stable processes.