This page explains how to work on the shared development network.
[!important]
If you are not yet able to connect, complete: [[Dev Server Access|Getting-Started/Setup-Guide/Dev-Server-Access]]
Preamble
All developers work on a shared development network.
This means:
- you are not the only person using this environment
- other developers may be testing features
- moderators may test bugs
- builders may work on maps
Because of this, always act responsibly.
Important Guidelines
- Do not shut down the proxy or core services unless absolutely necessary
- Do not delete worlds, data, or configurations unless you are 100% sure
- Be aware that others may be actively working on the server
If you are unsure: ask first
Server Access
Testing Plugins
To test your plugin:
- build your plugin (
.jar) - upload it to:
You can use:
- WinSCP
- scp
Restarting the server
After uploading: restart the server
Plugin reloads are not supported.
Some plugins (e.g. ProtocolLib, ViaVersion, Floodgate) and our own systems do not support reloads properly. A full restart is required.
Debugging
If your plugin does not load:
- check the server logs
- look for errors during startup
Server Control
The development servers can be controlled using scripts.
Start a server
Variant 1 (interactive)
```id="start-server" cd /home/scripts/ ./%server-name%.sh
2This will start the server **without backup or additional actions**.
> [!warning]
>
> Only use other options, if you know what you're doing. If you're unsure, read the script output carefully or ask before selecting another option.
### Variant 2 (direct fast start)
```id="start-server"
cd /home/scripts/
./%server-name%.sh fast
🛑 Stop a server
1. Attach to the screen session
```id="attach-screen" screen -r %server-name%
> [!tip]
>
> If the screen is already `Attached`, one of the following is true:
>
> * You still have another SSH session open
> * Someone else is currently inside the screen
> * The session got stuck
>
> If you need to force access:
>
> `screen -x %server-name%`
>
> This will attach and detach the other session
### 2. Stop the server
```id="stop-server"
stop