๋ณต์กํ Java์ ๋คํธ์ํฌ ์ค์ ์ ์ค์ด๊ณ , Windows์์ ๋ง์ธํฌ๋ํํธ ์๋ฒ๋ฅผ ๋ฐ๋ก ์์ํ์ธ์.
์๋ฒ ์์ฑ๋ถํฐ ์ ๋ฐ์ดํธ, ๋ฐฑ์ , ์ฝํ ์ธ , ํ๋ ์ด์ด, ์ธ๋ถ ์ ์๊น์ง ํ๊ณณ์์ ๊ด๋ฆฌํ๋ ๋ฐ์คํฌํฑ ๋ฐ์ฒ์ ๋๋ค.
| ๋ฐฉ์ | ์ด๋ฐ ๊ฒฝ์ฐ์ ์ถ์ฒํฉ๋๋ค | ๋ฐ๊ธฐ |
|---|---|---|
| Portable EXE | ์ค์น ์์ด ํ์ผ ํ๋๋ก ๋ฐ๋ก ์คํ | ๊ณ ์ ๋งํฌ๋ก ๋ค์ด๋ก๋ |
| Windows ์ค์น ํ๋ก๊ทธ๋จ | ์์ ๋ฉ๋ด, ์ ํ์ ๋ฐํํ๋ฉด ๋ฐ๋ก๊ฐ๊ธฐ, ์ ๊ฑฐ ๊ธฐ๋ฅ ์ฌ์ฉ | ์ต์ Release ์ด๊ธฐ |
| Portable ZIP | README์ ๋ผ์ด์ ์ค๋ฅผ ํฌํจํ ๋ฌถ์ ๋ณด๊ด | ์ต์ Release ์ด๊ธฐ |
ํ์ฌ ์์ค ๋ฒ์ ์ v1.21.1, ๋ด๋ถ ๋น๋๋ 26.2.45.90์
๋๋ค. MineHarbor ์ด๋ฆ์ผ๋ก ๋ฐฐํฌ๋ Portable EXE๋ ๊ฐ์ ๋งํฌ์์ ๊ณ์ ์ต์ ํ์ผ์ ๋ฐ์ ์ ์์ต๋๋ค. ๊ธฐ์กด ์ค์น์ %LOCALAPPDATA%\MinecraftServerLauncher ๋ฐ์ดํฐ๋ ์๋์ผ๋ก ์ฐพ์ ๊ทธ๋๋ก ์ฌ์ฉํ๋ฉฐ, ์ ์ฌ์ฉ์ ๋ฐ์ดํฐ ๊ฒฝ๋ก๋ %LOCALAPPDATA%\MineHarbor์
๋๋ค.
์ด README๋ ๋ก๋๋งต์ด ์๋๋ผ ํ์ฌ v1.21.1 ์์ค์ ์๋ ํ
์คํธ, ๊ณต๊ฐ Release ์์ฐ์์ ํ์ธํ ๊ธฐ๋ฅ๋ง ์ค๋ช
ํฉ๋๋ค. ์๋ฒ ์ข
๋ฅ๋ ๋ธ๋ฆฌ์ง ์ฐ๊ฒฐ์ฒ๋ผ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ ๊ธฐ๋ฅ๊ณผ ์ง์๋์ง ์๋ ์ํ๋ ์๋์ ๋ฐ๋ก ํ์ํฉ๋๋ค.
Warning
ํ์ฌ ๋ฆด๋ฆฌ์ค ์คํ ํ์ผ์ ์์ฒญ๋ ์์ฒด์๋ช
์ธ์ฆ์๋ก ๋ฌด๊ฒฐ์ฑ์ ํ์ํ์ง๋ง ๊ณต๊ฐ ์ธ์ฆ ๊ธฐ๊ด์ด ์ ๋ขฐํ ๋ฐฐํฌ์ ์๋ช
์ ์๋๋๋ค. ๋ฐ๋ผ์ Windows SmartScreen ๊ฒฝ๊ณ ๊ฐ ๋ํ๋ ์ ์์ต๋๋ค. Release์ SHA256SUMS.txt์ GitHub ์ถ์ฒ๋ฅผ ํจ๊ป ํ์ธํด ์ฃผ์ธ์.
Tip
Paper/Purpur ์ค์๊ฐ ๋ช
๋ น ๋ธ๋ฆฌ์ง๋ ์ฑ์ ๋ช
๋ นยท๋ธ๋ฆฌ์ง ๊ด๋ฆฌ์์ ์๋ฒ๋ณ๋ก ์ค์นํ ์ ์์ต๋๋ค. ์๋ ์ค์น ํ์ผ๊ณผ SHA256SUMS.txt๋ ์ต์ Release์ ํจ๊ป ์ ๊ณต๋ฉ๋๋ค.
| ๋น ๋ฅธ ์์ Java, ์๋ฒ JAR, ๊ธฐ๋ณธ ์ค์ ์ ์์๋๋ก ์ค๋นํฉ๋๋ค. |
๋ฒ์ ํธํ ์๋ฒ ์ข ๋ฅ์ Minecraft ๋ฒ์ ์ ๋ง๋ Java๋ฅผ ์ ํํฉ๋๋ค. |
| ํ๊ณณ์์ ์ด์ ์ฌ๋ฌ ์๋ฒ, ๋ฐฑ์ , ์ฝํ ์ธ , ํ๋ ์ด์ด์ ์ฝ์์ ํจ๊ป ๊ด๋ฆฌํฉ๋๋ค. |
์ธ๋ถ ์ ์ ์ง์ ์ธ๋ถ TCP ์๋ต์ ํ์ธํ๋ ์๋ฒ ์ผ์น ์ฌ๋ถ๋ฅผ ๊ตฌ๋ถํ๊ณ ํ์ํ ๊ฒฝ์ฐ์๋ง UPnP๋ฅผ ์๋ํฉ๋๋ค. |
Paper, Vanilla, Purpur๋ถํฐ ๋ชจ๋ ์๋ฒ๊น์ง ์ง์ํ๋ฉด์๋ ์์ฃผ ์ฐ๋ ๊ธฐ๋ฅ๋ง ๋จผ์ ๋ณด์ฌ ์ค๋๋ค. ์์ธ ์ค์ ๊ณผ ์ง๋จ ๋๊ตฌ๋ ํ์ํ ๋ ์ด ์ ์๊ณ , ํ๊ตญ์ดยท์์ด ๋ฐ ๋คํฌยท๋ผ์ดํธ ๋ชจ๋๋ฅผ ์ ๊ณตํฉ๋๋ค.
- Portable EXE๋ฅผ ๋ด๋ ค๋ฐ์ ์คํํฉ๋๋ค.
- ๋ฐ์ดํฐ ์์น์ ์๋ฒ ์ข ๋ฅ, Minecraft ๋ฒ์ , ํ๋ฆฌ์ , ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ํํ๊ณ Minecraft EULA์ ๋์ํฉ๋๋ค.
์๋ฒ ์์์ ๋๋ฅธ ๋ค ํ๋ฉด์ ํ์๋ ์ฃผ์๋ฅผ ์น๊ตฌ์๊ฒ ์ ๋ฌํฉ๋๋ค.
๋ฉ์ธ ์ฐฝ์ ๋จผ์ ํ์๋๊ณ ์ ๋ฐ์ดํธ, ํ๋กํ, ์ต์ ๋ฒ์ ๋ชฉ๋ก์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋ถ๋ฌ์ต๋๋ค. Java ์ค๋น, ํ์ผ ๋ค์ด๋ก๋, ์๋ฒ ์์, ํฌํธ ํ์ธ์ฒ๋ผ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ์์ ์ ํ์ฌ ๋จ๊ณ์ ์งํ๋ฅ ์ ํ๋ฉด์ ํ์ํ๋ฉฐ, ์ฝํ ์ธ ์์ ์ ์ทจ์ํ ์ ์์ต๋๋ค.
| ์ข ๋ฅ | ํ์ผ ์ค๋น | ๋ฒ์ ์ ํ | ์ค์๊ฐ ๋ช ๋ น ๋ธ๋ฆฌ์ง |
|---|---|---|---|
| Paper | ์๋ | ์ง์ | Paper 1.13 ์ด์์์ ์ ํ ์ฌ์ฉ |
| Vanilla | ์๋ | ์ง์ | ๋ก์ปฌ ์๋์์ฑ |
| Purpur | ์๋ | ์ง์ | Purpur 1.13 ์ด์์์ ์ ํ ์ฌ์ฉ |
| Fabric | ์๋ | ์ง์ | ๋ก์ปฌ ์๋์์ฑ |
| Forge | ์๋ | ์ง์ | ๋ก์ปฌ ์๋์์ฑ |
| NeoForge | ์๋ | ์ง์ | ๋ก์ปฌ ์๋์์ฑ |
| ์ง์ JAR | ์ฌ์ฉ์๊ฐ ์ง์ | ์๊ตฌ Java ์ง์ ์ ํ | ๋ก์ปฌ ์๋์์ฑ |
์ค๋
์ท๊ณผ ํ๋ฆฌ๋ฆด๋ฆฌ์ฆ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์จ๊ธฐ๊ณ ์ฌ์ฉ์๊ฐ ์ค๋
์ท ํฌํจ์ ์ผฐ์ ๋๋ง ํ์ํฉ๋๋ค. ์๋ฒ JAR์ EXE์ ๋ฃ์ง ์์ผ๋ฉฐ, ์ ์๋ฒ๋ฅผ ๋ง๋ค ๋ ์ ํํ ํ๋ก์ ํธ์ ๊ณต๊ฐ API์์ ์ต์ ํธํ ํ์ผ์ ๋ด๋ ค๋ฐ๊ณ ์ ๊ณต๋ ํด์๋ฅผ ๊ฒ์ฆํฉ๋๋ค.
Minecraft ๋ฐ ์๋ฒ ์ข ๋ฅ์ ๋ง์ถฐ Java 8ยท11ยท16ยท17ยท21ยท25 ์ค ํ์ํ ๋ฐํ์์ ์ ํํฉ๋๋ค. Java๋ ๋ฐ์ฒ EXE์ ํฌํจํ์ง ์์ผ๋ฉฐ, ํธํ ๋ฒ์ ์ด ์์ ๋ Eclipse Adoptium์์ ํ ๋ฒ๋ง ๋ด๋ ค๋ฐ์ SHA-256์ ํ์ธํ๊ณ ์บ์ํฉ๋๋ค. ์ง์ JAR์ ์ ์์๊ฐ ์๊ตฌํ๋ Java ์ฃผ ๋ฒ์ ์ ์ฌ์ฉ์๊ฐ ์ง์ ํ ์ ์์ต๋๋ค.
| ํญ๋ชฉ | ์๊ตฌ ์ฌํญ |
|---|---|
| ์ด์์ฒด์ | Windows 10 ๋๋ Windows 11 x64 |
| ๋ฐํ์ | .NET Framework 4.8 |
| ๋ฉ๋ชจ๋ฆฌ | ์๋ฒ ๊ท๋ชจ์ ๋ฐ๋ผ ์ ํ, ๊ธฐ๋ณธ ์ถ์ฒ 4GB |
| ์ธํฐ๋ท | ์ต์ด Javaยท์๋ฒ ํ์ผ ์ค๋น, ์ ๋ฐ์ดํธ, ์ฝํ ์ธ ๊ฒ์, ์ธ๋ถ ์ ์ ๊ฒ์ฌ์ ํ์ |
| ์ ์ฅ ๊ณต๊ฐ | ์๋ฒ ํ์ผ, ์๋, ํ๋ฌ๊ทธ์ธยท๋ชจ๋์ ๋ฐฑ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง |
- ํํ๋ก์ยท์ฌ์ยท๋ณดํตยท์ด๋ ค์ยทํ๋์ฝ์ด ์ผ์ ํ๋ฆฌ์
- ์ผ๋ฐ ์งํยทํ์ง ํฌ๋ฆฌ์์ดํฐ๋ธ ์๋ ํ๋ฆฌ์
- ๊ฒ์ ๋ชจ๋, ๋์ด๋, PvP, ํ์ดํธ๋ฆฌ์คํธ, ๋ช ๋ น ๋ธ๋ก, ์ ํ ์ธ์ฆ, ๊ฑฐ๋ฆฌ ์ค์ ์ง์ ํธ์ง
- Paper/Purpur์์ TNTยท์ํ์ยท๋ ์ผ, ์ค๋ ฅ ๋ธ๋ก, ์ฒ ์ฌ๋ซ ๊ฐ๊ณ ๋ฆฌ ๋ณต์ฌ๋ฅผ ์๋ฒ๋ณ๋ก ์ ํ ํ์ฉ
- ํ๋กํ ์์ฑ, ๋ณต์ , ํด๋ ๊ฐ์ ธ์ค๊ธฐ, ์ด๋ฆ ๋ณ๊ฒฝ, ์์ ๋ณด๊ด๊ณผ ๊ธฐ๋ณธ ์๋ฒ ์ ํ
- ์ญ์ ํ ์๋ฒ๋ฅผ 30์ผ๊ฐ ๋ณด๊ดํ๋ ํด์งํต๊ณผ ๋ณต๊ตฌยท์๊ตฌ ์ญ์ ๊ด๋ฆฌ. ํด์งํต์ผ๋ก ๋ณด๋ผ ๋๋ง ์๋ฒ ์ด๋ฆ์ ์ ๋ ฅํ๊ณ ์๊ตฌ ์ญ์ ๋ 3์ด ์์ ํ์ธ ์ฌ์ฉ
- ํ๋กํ๋ณ ์๋ยท์ค์ ยทํ๋ฌ๊ทธ์ธยท๋ชจ๋ ๋ถ๋ฆฌ
- ๊ฐ์ ํฌํธ์ ์๋ฒ๋ฅผ ๋์์ ์คํํ ๋ ํ์ธ ํ ์ฌ์ฉ ๊ฐ๋ฅํ ํฌํธ๋ก ์๋ ๋ณ๊ฒฝ
- ์๋ฒ๋ณ ์ ์ ์ฃผ์์ ๋ฐ๋ก ์ ๋ณต์ฌ ๊ธฐํธ, ์ธ๋ถ ์ ์ ์คํจ ์
์ ์ ๋ถ๊ฐ์ํ ํ์ - ๊ด๋ฆฌ ๋๊ตฌ ์ฐฝ์ ์ด์ด ๋ ์ํ์์๋ ๋ฉ์ธ ์ฐฝ์ ์ํยท์ฝ์ยท์ฃผ์ ํ์ธ ๊ฐ๋ฅ
- ์ฌ์ฉ์๊ฐ ๋ช ์์ ์ผ๋ก ์ผ ๊ฒฝ์ฐ์๋ง ์คํ๋๋ ์ฌ์ฉ์ ๊ณ์ ์ฉ ๋ฐฑ๊ทธ๋ผ์ด๋ ํธ๋ ์ด ์์ด์ ํธ(๋ฒ ํ)
- ๋ฉํฐ ์๋ฒ ๊ด๋ฆฌ์์ ์คํํ ์๋ฒ๋ฅผ ์ข ๋ฃํ์ง ์๊ณ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ด์ ํธ๋ก ์ธ๊ณํ๋ ์ฐฝ ๋ซ๊ธฐ ์ต์
- ๋น์ ์ ์ข ๋ฃ ์๋ ์ฌ์์ ๋ฐ 10๋ถ ์์ 3๋ฒ ์ฐ์ ์คํจํ๋ฉด ์ค๋จ
Paper/Purpur์ ๋ณต์ฌ ์ต์
์ ์๋ฒ๊ฐ ๊ณต์์ ์ผ๋ก ์ง์ํ์ง ์๋ ํธํ ์ค์ ์
๋๋ค. 1.19 ์ด์์ config/paper-global.yml, ์ด์ ๋ฒ์ ์ paper.yml์ settings.unsupported-settings์ ์ ์ฅ๋๋ฉฐ ์๋ฒ๋ฅผ ๋ค์ ์์ํ ๋ค ์ ์ฉ๋ฉ๋๋ค. ํผ์คํค ๋ณต์ฌ๋ ์ง์๋๋ ๋ชจ๋ Paper ์ธ๋์ ์ ๊ณตํ๊ณ , ์ค๋ ฅ ๋ธ๋ก์ 1.20.4 ์ด์, ์ฒ ์ฌ๋ซ ๊ฐ๊ณ ๋ฆฌ๋ 1.21.4 ์ด์ ๋๋ ์ค์ ์์ฑ๋ ํค๊ฐ ํ์ธ๋ ์๋ฒ์์๋ง ํ์ฑํํฉ๋๋ค. SpigotยทVanillaยท๋ชจ๋ ์๋ฒ์๋ Paper ์ ์ฉ ํค๋ฅผ ์ฐ์ง ์๊ณ ๊ฐ ์๋ฒ์ ๊ธฐ๋ณธ ๋์์ ์ ์งํฉ๋๋ค. ์ง์ JAR์ ๊ธฐ์กด Paper ์ค์ ํ์ผ๊ณผ ํด๋น ํค๋ฅผ ๊ฐ์งํ ๋ฒ์์์๋ง ์ต์
์ ์ ๊ณตํฉ๋๋ค. MineHarbor๋ YAML์ ๋ค๋ฅธ ํญ๋ชฉ๊ณผ ์ฃผ์์ ๋ณด์กดํ๊ณ ๋ณ๊ฒฝ ์ ํ์ผ์ .mineharbor/configuration-backups์ ๋ณด๊ดํ์ง๋ง, ์ค์ํ ์๋๋ ๋ณ๋๋ก ๋ฐฑ์
ํด ์ฃผ์ธ์.
- ์๋ฒ ํ์ผ ์๋ ์
๋ฐ์ดํธ ์ต์
๊ณผ ์๋
์๋ฒ ์ ๊ธ - ์๋ฒ ์ข ๋ฅยทMinecraft ๋ฒ์ ๋ณ๊ฒฝ ์ ํธํ์ฑ ๊ฒฝ๊ณ ์ ๋ฐฑ์
- ์ ์ฒด ํ๋กํ ์๋ ๋ฐฑ์ , ๋ณด์กด ๊ฐ์ ์ค์ , ๋ด๋ณด๋ด๊ธฐ์ ์ธ๋ถ ๋ฐฑ์ ๊ฐ์ ธ์ค๊ธฐ
- ์๋ฒ๋ณ ์ ๊ธฐ ๋ฐฑ์ , ์์ ์ ยท์ข ๋ฃ ํ ๋ฐฑ์ , ๋ฐ๋ณต ๊ฐ๊ฒฉยท๋งค์ผยท์ ํ ์์ผยทํน์ ๋ ์ง ํ ๋ฒ์ ์ง์ ํ ์์ฝ ์์ยท์ข ๋ฃยท์ฌ์์ยท๋ช ๋ น ์คํ๊ณผ ์ฆ์ ์คํ
- ์ปดํจํฐ ์ข ๋ฃยท์ ์ ๋ฑ์ผ๋ก ๋์น ์์ ์ ๋ค์ ์คํ ๋ ํ ๋ฒ ์คํํ๊ฑฐ๋ ๊ฑด๋๋ฐ๊ฑฐ๋ ์๋ฆผ๋ง ๋จ๊ธฐ๋ ์ ์ฑ ๊ณผ ์ต๋ ์ง์ฐ ์๊ฐ
- ์์ฝ ํธ์ง๊ธฐ์ ๋ค์ ์คํยท์ํ๋ยท์๋ฒ๊ฐ ๊บผ์ก์ ๋ ์ฒ๋ฆฌยท5๋ถ ์ด๋ด ์ถฉ๋ ๋ฏธ๋ฆฌ๋ณด๊ธฐ, ์ฌ์์ ์ ํ๋ ์ด์ด ๊ณต์ง, ์ต๊ทผ ๊ฒฐ๊ณผ์ ๊ฐ์ยท๊ธฐ๊ฐยท์ด์ฉ๋ ๋ฐฑ์ ๋ณด์กด ์ ์ฑ
- ๋ฉ์ธ
์ด์ ๊ธฐ๋ก์์ ์๋ฒ ์์ยท์ข ๋ฃยท์ถฉ๋ยท์๋ ์ฌ์์๊ณผ ์์ฝ ๊ฒฐ๊ณผ๋ฅผ ์๋ฒ/์ค์๋/์ฝ์ ์ํ๋ก ํํฐ๋งํ๊ณ CSV๋ก ๋ด๋ณด๋ด๊ธฐ - ์๋ฒ๋ณ
.mineharbor/operations-history.json์ ์ต๋ 500๊ฐ ๋ก์ปฌ ๊ธฐ๋ก, ์์์ ์ ์ฅ, ํ๋ก์ธ์ค ๊ฐ ์ ๊ธ๊ณผ SHA-256 ์ฐ์ ํด์ ๋ณ์กฐ ๊ฐ์ง - ๋ฐฑ๊ทธ๋ผ์ด๋ ์ด์(๋ฒ ํ)์ ์ผ๋ฉด ์ฐฝ์ ๋ซ์ ๋ค์๋ ์ฌ์ฉ์ ๊ณ์ ์ฉ ํธ๋ ์ด ์์ด์ ํธ๊ฐ ์์ฝ์ ํ๊ฐํ๋ฉฐ, Windows ๋ก๊ทธ์ธ ์๋ ์์์ ๋ณ๋๋ก ์ ํ ๊ฐ๋ฅ
- ์ฌ์ฉ์๊ฐ ๋ณ๋๋ก ์ผ ๊ฒฝ์ฐ ์ ์๋ฒยท์์ฝยท๋ฐฑ์ ยท์ฝํ ์ธ ยท๋คํธ์ํฌยท์ ๋ฐ์ดํธยท๋ณด์ ์ด์ ๊ธฐ๋ก์ Windows ์์ ํ์์ค ์๋ฆผ์ผ๋ก ํ์
- ์๋ฆผ ์ต์ ์ค์๋ยท์ข ๋ฅยท์กฐ์ฉํ ์๊ฐ, ์ด์ ๊ธฐ๋ก ์ฌ์ ๋ฐฉ์ง์ 8์ด ์ด๋ด ๋ค์ค ์๋ฆผ ์์ฝ
- ์ฌ์ฉ์๊ฐ ๋ณ๋๋ก ์ผ ๊ฒฝ์ฐ Discord ๊ธธ๋ ์ ์ฉ
/mineharbor๋ก ํ์ฉ ์๋ฒ์ ์ํยท์จ๋ผ์ธ ํ๋ ์ด์ดยท์ต๊ทผ ์ค๋ฅ๋ฅผ ์กฐํํ๊ณ ์์ยท์์ ์ข ๋ฃยท์ฌ์์ยท๋ฐฑ์ - Discord ๋ด ํ ํฐ์ ํ์ฌ ์ฌ์ฉ์ DPAPI ์ํธํ, ์ฌ์ฉ์ยท์ญํ ยท๊ธธ๋ยท์ฑ๋ยท์๋ฒ ํ์ฉ ๋ชฉ๋ก, ์ฌ์ฉ์๋ณ ์๋ ์ ํ๊ณผ ์ข ๋ฃยท์ฌ์์ 60์ด ํ์ธ
- SHA-256 ๋ฌด๊ฒฐ์ฑ ํ์ธ๊ณผ ์์ ํด๋ ๊ฒ์ฆ ํ ์์ ๋ณต์
- ์ค์ ๋ณ๊ฒฝ ์
server.properties๋ฐฑ์ - ์ฌ์ฉ์ ์น์ธ ํ์๋ง ์คํ๋๋ ๋ฐ์ฒ ์๋ ์ ๋ฐ์ดํธ์ ์คํจ ์ ์ด์ EXE ๋ณต์
- ์ธ์ด ๋ณ๊ฒฝ ์
๋ฐ์ฒ ์ ๋ฐ์ดํธ๋ฒํผ์ ํตํ ์ฆ์ ์ฌ๊ฒ์ฌ์ ์ ํํ ๋ฒ์ ์ ์๋ฆผ ์จ๊ธฐ๊ธฐ
์๋ฒ ๊ด๋ฆฌ โ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ฌ์ฉ์๊ฐ ๋์ํ ๊ฒฝ์ฐ์๋งMineHarbor.exe --background-agent๋ฅผ ์คํํฉ๋๋ค.- ์์คํ ํธ๋ ์ด์์ ์๋ฒ๋ณ ์์ยท์์ ์ข ๋ฃยท์ฌ์์ยท์ฆ์ ๋ฐฑ์ ยท์ฝ์ ์ด๊ธฐ, ์ ์ฒด ์์ ์ข ๋ฃ, ์์ฝ ์ผ์ ์ค์ง์ ์์ ์ข ๋ฃ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์์ด์ ํธ๊ฐ ์์ํ๊ฑฐ๋ ๋ฉํฐ ์๋ฒ ๊ด๋ฆฌ์์ ์์ ํ๊ฒ ์ธ๊ณํ ์๋ฒ๋ ๊ด๋ฆฌ ์ฐฝ์ ๋ซ์๋ ๊ณ์ ์คํ๋๋ฉฐ, ์์ด์ ํธ ์ ์ฉ ์ฝ์์ ์ธ๊ณ ์ ํ ๋ก๊ทธ ํ์ธยท์๋์์ฑยท์ํ ๋ช ๋ น ์ฌํ์ธ์ ์ ๊ณตํฉ๋๋ค.
- ๋ฉํฐ ์๋ฒ ๊ด๋ฆฌ ์ฐฝ์ ๋ซ์ ๋
์ค๋จ ์์ด ์ธ๊ณ,๋ชจ๋ ์์ ์ข ๋ฃ,์ทจ์๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ์ธ๊ณ ์ค ์ถ๊ฐ ๋ซ๊ธฐ๋ ๊ฒฐ๊ณผ๊ฐ ์ ํด์ง ๋๊น์ง ๋ณด๋ฅํ๋ฉฐ, ์ผ๋ถ ์ธ๊ณ๊ฐ ์คํจํ๋ฉด ์ฐฝ์ ์ ์งํ๊ณ ์ฑ๊ณตํ ์๋ฒ๋ง ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๊ณ์ ๊ด๋ฆฌํฉ๋๋ค. - ๋ก์ปฌ IPC๋ ํ์ฌ Windows ์ฌ์ฉ์ SID์๋ง ๊ถํ์ ๋ถ์ฌํ ์ด๋ฆ ์๋ ํ์ดํ๋ฅผ ์ฌ์ฉํ๊ณ ์์ฒญ ํฌ๊ธฐ์ ์์ ์๊ฐ์ ์ ํํฉ๋๋ค.
- ๊ด๋ฆฌ ์์ ์ ์ด ์ฑ๋์ ์๋ฒ๋ง๋ค ์ 256๋นํธ ํ ํฐ์ ๋ง๋ค๊ณ ์์ยท๊ธฐ์กด ์์ ์ยท์ ์์ ์์ PID์ ํ๋ก์ธ์ค ์์ ์๊ฐ์ ๋ชจ๋ ํ์ธํฉ๋๋ค. ์ธ๊ณ ์๋ต ์ ์ค์ ๋ฉฑ๋ฑ ์ฌ์๋์ ์ค์ ์์ ์ ์ฌํ์ธ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
- GUI์ ์์ด์ ํธ๋ ์์ฝ ํ์ผ์ ํ๋ก์ธ์ค ๊ฐ ์ ๊ธ๊ณผ PIDยท์์ ์๊ฐ ์๋๋ก ์ค๋ณต ์คํ์ ์ฐจ๋จํฉ๋๋ค. ์ ์ ๋ณต๊ท ์ ๋์น ์์ ์ ์ฑ ์ ๋ค์ ํ๊ฐํฉ๋๋ค.
- ์์ด์ ํธ๊ฐ ์์ ํ์ง ์์ ์คํ ์ค ์๋ฒ์๋ ๋ช ๋ นยท์ข ๋ฃยท์คํ ์ค ๋ฐฑ์ ์ ์๋ํ์ง ์์ต๋๋ค. ๋ฉ์ธ ๋ฐ์ฒ ๋ด๋ถ์์ ์ง์ ์์ํ ์๋ฒ์ ์ธ๋ถ ํ๋ก๊ทธ๋จ์ ์๋ฒ๋ ์ธ๊ณ ๋์์ผ๋ก ์ถ์ ํ์ง ์์ผ๋ฉฐ ๊ธฐ์กด์ฒ๋ผ ์์ ์ข ๋ฃ ๋๋ ์ธ๋ถ ์์ ์ํ๋ฅผ ์ ์งํฉ๋๋ค.
- ๋ฐ์ฒ ์ ๋ฐ์ดํธ ์ ์๋ ์์ด์ ํธ ์๋ฒ๋ฅผ ๋จผ์ ์์ ์ข ๋ฃํฉ๋๋ค. ์ ํ ์๊ฐ ์์ ์ข ๋ฃ๋์ง ์์ผ๋ฉด ์๋ฒ ๋ณดํธ๋ฅผ ์ํด ์ ๋ฐ์ดํธ์ ์์ด์ ํธ ์ข ๋ฃ๋ฅผ ์ทจ์ํฉ๋๋ค.
- Windows ์๋ฆผ์ ๋ณ๋ ๋์ ํ์๋ง ํ์๋๋ฉฐ ์ ๋ณดยท๊ฒฝ๊ณ ยท์ค๋ฅ, ์ข ๋ฅ์ ์กฐ์ฉํ ์๊ฐ์ ์ค์ ํ ์ ์์ต๋๋ค. ์ค๋๋ ๊ธฐ๋ก์ ๋ค์ ์๋ฆฌ์ง ์๊ณ ์งง์ ์๊ฐ์ ๋ฐ์ํ ์ฌ๋ฌ ์ฌ๊ฑด์ ํ๋๋ก ์์ฝํฉ๋๋ค.
- Discord ์๊ฒฉ ์ ์ด(๋ฒ ํ)๋ ๋ณ๋๋ก ๋์ํ๊ณ ์ฌ์ฉ์๊ฐ ๋ง๋ ๋ด์ ์ฐ๊ฒฐํ ๊ฒฝ์ฐ์๋ง ์์ด์ ํธ์์ ์คํ๋ฉ๋๋ค. ๊ณต๊ฐ ์์ ํฌํธ๋ฅผ ์ด์ง ์๋ Gateway ์ฐ๊ฒฐ์ ์ฌ์ฉํ๋ฉฐ
์ํ,ํ๋ ์ด์ด,์ต๊ทผ ์ค๋ฅ,์์, ํ์ธํ์์ ์ข ๋ฃยท์ฌ์์,๋ฐฑ์๋ง ์ ๊ณตํฉ๋๋ค. ์์ ์ฝ์ยท์ ธยทํ์ผ ์คํ๊ณผ ์ธ๋ถ ์์ ์๋ฒ ์ ์ด๋ ์ฐจ๋จํฉ๋๋ค. - Discord ์ค์ ์
์๋ฒ ๊ด๋ฆฌ โ ๋ฐฑ๊ทธ๋ผ์ด๋ โ Discord ์๊ฒฉ๋๋ ์์ด์ ํธ ํธ๋ ์ด์์ ์ด ์ ์์ต๋๋ค. ๋ฑ๋ก ์ ๋ณด๊ฐ ์์ผ๋ฉด ์ฑยท๋ด ์์ฑ, ๊ธธ๋ ์ค์น, ID ๋ณต์ฌ์ MineHarbor ์ฐ๊ฒฐ์ ์ค๋ช ํ๋ ํ๋ํ 4๋จ๊ณ ๊ฐ์ด๋๊ฐ ๋จผ์ ์ด๋ฆฌ๋ฉฐ,์ค์ ์์์ ์ ํํ ๊ฒฝ์ฐ์๋ง ์ ๋ ฅ ํ๋ฉด์ผ๋ก ์ด๋ํฉ๋๋ค. ๋จ๊ณ ์นด๋์ ๋ณด์ ์๋ด๋ ํยท์ ๋ฌธ๊ตฌ์ ์ค์ ์ค ์์ ๋ง์ถฐ ๋์ด๊ฐ ๋ณํ๊ณ , ํ๋ฉด์ด ๋ถ์กฑํ ๋๋ง ๋จ๊ณ ์์ญ ์์์ ์คํฌ๋กค๋ฉ๋๋ค. ์ค์ ํ๋ฉด์์ค์ ๊ฐ์ด๋๋ก ๋ค์ ๋ณผ ์๋ ์์ต๋๋ค. ๋ฐฑ๊ทธ๋ผ์ด๋ ์ด์์ ๋จผ์ ์ผ ๋ค ์ฌ์ฉ์๊ฐ ๋ง๋ ๋ด์ ํ ํฐ, ์ ํ๋ฆฌ์ผ์ด์ ยท์๋ฒยท์ฑ๋ ID์ ํ์ฉ ์๋ฒ๋ฅผ ์ ๋ ฅํ๊ณ , ํ๋ฉด์ ํญ์ ํ์๋๋ํ์ฉ ์ฌ์ฉ์๋๋ํ์ฉ ์ญํ์ค ํ๋ ์ด์์ ๋ฑ๋กํฉ๋๋ค. ์ ๋ ฅ ๋๋ฝ์ด๋ ์๋ชป๋ ID๋ ์ ์ฅ ์ ์ ํด๋น ์์น์์ ์๋ดํ๋ฉฐ, ์ฌ์ฉ์ ID ๋ณต์ฌ ๊ฒฝ๋ก๋ ํ๋ฉด์ ํ์ํฉ๋๋ค. ์์ธํ ์ค์นยท๊ถํ ๊ฒฝ๊ณ๋ Discord ์๊ฒฉ ์ ์ด ๊ตฌ์กฐ๋ฅผ ์ฐธ๊ณ ํ์ธ์. - ๊ด๋ฆฌ์ ๊ถํ Windows ์๋น์ค๋ ์ค์นํ์ง ์์ผ๋ฉฐ, ๋ก๊ทธ์จ ์ ์คํ๊ณผ ์น ์๊ฒฉ ๊ด๋ฆฌ๋ ์์ง ์ง์ํ์ง ์์ต๋๋ค.
Warning
์ต์ ๋ฒ์ ์์ ์์ฑํ ์๋๋ฅผ ๊ตฌ๋ฒ์ ์๋ฒ๋ก ์ด๋ฉด ์๋๊ฐ ์์๋ ์ ์์ต๋๋ค. ๋ฐ์ฒ๋ ์ํํ ๋ค์ด๊ทธ๋ ์ด๋๋ฅผ ์ฐจ๋จํ์ง๋ง, ์ค์ํ ์๋๋ ๋ณ๋ ์ฅ์น์๋ ๋ฐฑ์ ํด ๋๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
- ์ค์น๋ ํ๋ฌ๊ทธ์ธยท๋ชจ๋ยท๋ฐ์ดํฐํฉ์ MineHarbor ๊ด๋ฆฌ ํ์ผ๊ณผ ์๋ ์ค์น ํ์ผ๋ก ๊ตฌ๋ถ
- ๊ฐ๋ณยท์ผ๊ด ์ ๋ฐ์ดํธ ํ์ธ, ํ์ฑํยท๋นํ์ฑํ, ๋ณต๊ตฌ ๊ฐ๋ฅํ ์ ๊ฑฐ์ ์๋ฒ๋ณ manifest ์ ์ฅ
- ํ์ฌ ๋ฒ์ ๊ณผ ๋ก๋์ ๋ง๋ Modrinth ํ๋ฌ๊ทธ์ธยท๋ชจ๋ยท๋ฐ์ดํฐํฉ ๊ฒ์. ๋น ๊ฒ์์ด๋ก ์ธ๊ธฐ์ ๊ฒฐ๊ณผ๋ฅผ ์กฐํํ๊ณ ์ ์์ยท๋ค์ด๋ก๋ ์ยท์ค๋ช ์ ํจ๊ป ํ์
- ๋ก์ปฌ JARยท๋ฐ์ดํฐํฉ ZIP ํ์ผ์ ๊ฒ์ฌํ ๋ค ์ ํํ ์๋ฒ๋ ์๋์ ์ง์ ์ค์น
- Modrinth ํ์ ์์กด์ฑยท์ํ ์์กด์ฑ, Minecraft ๋ฒ์ ยท๋ก๋ ํธํ์ฑ ๊ฒ์ฌ
- ์ ํํ ์๋์
<์๋ ์ด๋ฆ>/datapacks์ ์ค์นํ๊ณ ๋ฃจํธpack.mcmeta, ์์ถ ๊ฒฝ๋กยท์ค๋ณต ํญ๋ชฉยทํ์ผ ์ยทํด์ ํฌ๊ธฐ๋ฅผ ๊ฒ์ฆ - ๋ค์ด๋ก๋ ํฌ๊ธฐ์ SHA-512/SHA-1 ๊ฒ์ฆ ํ ์ค์น, ๊ธฐ์กด ํ์ผ ์๋ ๋ฐฑ์
- ๊ฒ์ยท์ค์นยท์ ๋ฐ์ดํธ ์งํ๋ฅ ๊ณผ ์ทจ์ ๊ธฐ๋ฅ, ์ฐฝ์ ๋ซ์ ๋ค ๋น๋๊ธฐ UI ์ฝ๋ฐฑ ์ฐจ๋จ
- ์จ๋ผ์ธ ํ๋ ์ด์ด ์ด๋ฆ ์๋์์ฑ์ ์ง์ํ๋ ํ์ดํธ๋ฆฌ์คํธ, OPยทDEOP, ์ถ๋ฐฉ, ์ฐจ๋จยทํด์ ํ๋ ์ด์ด ๊ด๋ฆฌ
- ๊ฒ์ โ ๋ก๊ทธ ๋ถ๋ฅ โ ์ค ๋ฐ๊ฟ ์์๋ก ์ ๋ฆฌํ ์ฝ์ ๋๊ตฌ๋ง๋์ ์ผ๋ฐ ๊ฒฝ๊ณ ยทํธํ์ฑยท์ค๋ฅ ํํฐ
- ์ฝ๋ ์์น๋ฅผ ์ ์งํ๊ณ ๋งจ ์๋๋ฅผ ๋ณผ ๋๋ง ์ ๋ก๊ทธ๋ฅผ ๋ฐ๋ผ๊ฐ๋ ์ฝ์
- ๊ฐ์ธ์ ๋ณด๋ฅผ ๊ฐ๋ฆฐ ๋ก๊ทธยท์ค์ ยทํฌ๋์ ๋ณด๊ณ ์ ์ง๋จ ๋ฌถ์
- ๋คํฌยท๋ผ์ดํธ ํ ๋ง์ ๋ง์ถ ์ ๋ชฉ ํ์์ค, ์ฝ์ยท๋ชฉ๋ก ์คํฌ๋กค๋ฐ, ๋ฅ๊ทผ ์ ๋ ฅยท๊ทธ๋ฃน ํ ๋๋ฆฌ, ๋๋กญ๋ค์ด, ์ฒดํฌ๋ฐ์ค์ ํญ
- ์ฐฝ ํฌ๊ธฐยทDPI์ ๋ง์ถ ๋ฐ์ํ ๋ฐฐ์น, ์์ ํ๋ฉด์์๋ง ํ์ํ ์คํฌ๋กค, ํค๋ณด๋ ํฌ์ปค์ค์ ์คํฌ๋ฆฐ ๋ฆฌ๋ ์ค๋ช
- ๋ณด์กฐ ์ฐฝ X ์ ๋ ฅ์ด ๋ค์ ๋ฉ์ธ ๋ฒํผ์ ์ ๋ฌ๋์ง ์๋๋ก ๊ฐ์ ํด๋ฆญ๊ณผ ๋ซ๊ธฐ ์ง์ ์ฃผ๋ณ์ ๋ฐ๋ณต ํด๋ฆญ์ ์ฐจ๋จํ๊ณ , ๋จ์ด์ง ์์น์ ์๋์ ์ธ ํด๋ฆญ์ ์ฆ์ ํ์ฉ
- XยทAlt+F4๋ก ๋ฐ์ฒ๋ฅผ ๋ซ์ ๋ ํญ์ ํ์ธ. ์ ํด ์ํ๋ ์๋ฒ ์ข ๋ฃ ์ ์ฐจ ์์ด ๋ซ๊ณ , ์์ ์ค์๋ ์๋ฃ ๋๊ธฐ, ์๋ฒ ์คํ ์ค์๋ ์์ ์ข ๋ฃ ํ ๋ซ๊ธฐ
- ์๋ฒ ์ํยท๊ฐ๋ ์๊ฐ, Java ํ๋ก์ธ์ค CPUยท๋ฉ๋ชจ๋ฆฌ์ Java ๋ฒ์
- ์จ๋ผ์ธ ํ๋ ์ด์ด, ์๋ฒยท์๋ยท๋ฐฑ์ ์ฉ๋, ์ต๊ทผ ๊ฒฝ๊ณ ยท์ค๋ฅ์ ๋ค์ ์์ฝ ์์
- ์ค์ ์ธ๋ถ ์ ์ ๊ฒ์ฌ ๊ฒฐ๊ณผ๋ฅผ ํ์ํ๋ฉฐ ํ์ธ๋์ง ์์ ์ํ๋ฅผ ์ฑ๊ณต์ผ๋ก ์ถ์ ํ์ง ์์
- Paper/Purpur ๋ช ๋ น ๋ธ๋ฆฌ์ง ์ฐ๊ฒฐ ์ ๊ณต๊ฐ ์๋ฒ API์์ ๋ฐ์ TPS 1ยท5ยท15๋ถ ๊ฐ๊ณผ MSPT ํ์
- ๋ธ๋ฆฌ์ง ๋ฏธ์ง์ยท์ฐ๊ฒฐ ํด์ ยท๊ถํ ๋ถ์กฑยท์๋ฒ ์ข ๋ฃ ์ํ๋ ์์ ๊ฐ ๋์ ๋ช ์์ ์ธ ์ง์ ๋ถ๊ฐ ์ํ๋ก ํ์
๋น ๋ฅธ ๋ช
๋ น์ ์นดํ
๊ณ ๋ฆฌ โ ๊ธฐ๋ฅ โ ๋ช
๋ น ๊ตฌ์กฐ๋ก ์ ๋ฆฌ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ์๋ โ ๋์ด๋ โ ์ด๋ ค์, ์๋ โ ๋ ์จ โ ๋ง์์ฒ๋ผ ์ฐพ์ ์ ์์ผ๋ฉฐ ์ด๋ฆ, ์ค๋ช
, ๊ฒฝ๋ก์ ์ค์ ๋ช
๋ น์ด๋ฅผ ํ ๋ฒ์ ๊ฒ์ํฉ๋๋ค.
Ctrl+F, ๋ฐฉํฅํค,Enter,Esc๋ก ๋ช ๋ น ์ ํ์ฐฝ ์กฐ์- ๋ช ๋ น ์ ํ ํ ํ์ยท์ ํ ์ธ์๋ฅผ ๋ฅ๊ทผ ์ธ๋ผ์ธ ํ ํฐ์ผ๋ก ํ์ํ๋ ๋จ๊ณํ ๋ช ๋ น ๋น๋
- ๋ฏธ์์ฑ ์ธ์๋ ํ์, ํ์ฌ ์ธ์๋ ๊ฐ์กฐ์, ์๋ชป๋ ๊ฐ์ ์ํ์์ผ๋ก ํ์ํ๊ณ ๊ฐ ํ์ ์ ๋ค์ ์ธ์๋ก ์๋ ์ด๋
โยทโ๋ก ํ๋ณด ์ด๋,Tab๋๋ ๋ฏธ์์ฑ ์ํ์Enter๋ก ํ์ฌ ๊ฐ์ ํ์ ,Shift+Tab์ผ๋ก ์ด์ ์ธ์ ์ด๋- ๋ชจ๋ ํ์ ์ธ์๊ฐ ์ ํจํ ๋๋ง ์ ์ก ๋ฒํผ์ ํ์ฑํํ๋ฉฐ, ์ ํ ์ธ์๊ฐ ๋จ์์ผ๋ฉด
Enter๋ก ์๋ตํ๊ณ ์ ์ก ๊ฐ๋ฅ Ctrl+Space๋ก ํ๋ณด ๋ค์ ์ด๊ธฐ,Ctrl+โยทCtrl+โ๋ก ๋ช ๋ น ๊ธฐ๋ก ํ์- ํ๋ณด๊ฐ ๋ง์ผ๋ฉด ์ฐฝ์ ์ยท์๋ ๊ฐ์ฉ ๊ณต๊ฐ ์ค ๋์ ์ชฝ์์ ์ต๋ 430px๊น์ง ํ์ฅํ๊ณ , ์ ์ผ๋ฉด ํ์ํ ๋์ด๋ง ์ฌ์ฉ
- ๋น ๋ฅธ ๋ช ๋ น ์นด๋๋ ์ค๋ฅธ์ชฝ ๊ณ ์ ์ด์ ์ ์งํ๊ณ , ์ฝ์์ ๋ณ๋ ์ผ์ชฝ ์ด์์ ๊ฒน์นจ ์์ด ํ์
- ๋ฉํฐ ์๋ฒ ์ฝ์์์ ๊ธฐ๋ณธ ๋ช ๋ น๊ณผ ์จ๋ผ์ธ ํ๋ ์ด์ด ์ด๋ฆ ์๋์์ฑ
- ๋ฉ์ธ ์ฝ์์ ๊ธฐ๋ณธ ๋ช ๋ นยท์ฐ๊ฒฐ๋ ํ๋ ์ด์ด ์ธ์ ์๋์์ฑ๊ณผ ์์ฝ ๋ช ๋ น ํธ์ง์ ๊ธฐ๋ณธ ๋ช ๋ น ์๋์์ฑ
- ์ ์ฌ ๋ชฉ๋กยทIP ์ฐจ๋จ, ์๋ยท์๊ฐ ์กฐํ, ๊ฒ์ ๊ท์น, ๋ฐ์ดํฐํฉ ํ์ฑํ/๋นํ์ฑํ์ ์์ ํ ์กฐํํ ๊ณ ๊ธ ๋ช ๋ น์ ํฌํจํ 70๊ฐ ์ด์์ ๊ธฐ๋ณธ ๋ช ๋ น
{player}๊ฐ์ ํ์ ์ธ์,[reason]๊ฐ์ ์ ํ ์ธ์์[count=1]๊ฐ์ ๊ธฐ๋ณธ๊ฐ์ด ์๋ ์ ํ ์ธ์- ์จ๋ผ์ธ ํ๋ ์ด์ดยท์ ํ์ยท๊ฒ์ ๋ชจ๋ยท๋์ด๋ยท์ฐธ/๊ฑฐ์งยท์ขํยท์๊ฐ ์ถ์ฒ๊ณผ ๊ฒ์ ๊ฐ๋ฅํ ์์ดํ ยทํจ๊ณผ ํ๋ณด
- ์๋ฒ Minecraft ๋ฒ์ ์ ๋ง์ง ์๋ ๋ช ๋ น์ ๋ชฉ๋ก๊ณผ ๋ก์ปฌ ์๋์์ฑ์์ ์ ์ธ
- ์ผ๋ฐยทํ์ธยท์ํ 3๋จ๊ณ ์ ์ฑ
์ ์ ์ฉํ๊ณ
reload, ๊ด๋ฒ์ ๋ณ๊ฒฝ๊ณผ ์กฐ๊ฑด๋ถ ์ํ ๊ฐ์ ๊ฐํ ๊ฒฝ๊ณ ๋ก ๊ตฌ๋ถ - Paper/Purpur ๋ธ๋ฆฌ์ง ์ฐ๊ฒฐ ์
ํ๋ฌ๊ทธ์ธ โ ํ๋ฌ๊ทธ์ธ ์ด๋ฆ โ ๋ช ๋ น์ด๋ก ์ค์๊ฐ ๋ถ๋ฅ
์ฌ์ฉ์ ๋ช
๋ น์ ๋ฐ์ดํฐ ๋ฃจํธ์ config/quick-commands.json์ ๋ณ๋๋ก ์ ์ฅ๋์ด ๋ฐ์ฒ ์
๋ฐ์ดํธ ํ์๋ ์ ์ง๋ฉ๋๋ค. ๋ธ๋ฆฌ์ง๋ ์คํํ ๋๋ง๋ค ๋ง๋ ๋ฌด์์ ํ ํฐ๊ณผ ์์ ํฌํธ๋ก 127.0.0.1์๋ง ์ฐ๊ฒฐํ๋ฉฐ, ์ค์ ๋ช
๋ น ์คํ์ ๊ธฐ์กด ์ฝ์ ์
๋ ฅ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ฐ์ฒ๋ ์ด๋ฏธ ์ ์๋ํ๋ ๊ณต์ ๊ธฐ ์ค์ ์ ์ฐ์ ์ฌ์ฉํ๋ฉฐ ํจ๋ถ๋ก ๋ฐ๊พธ์ง ์์ต๋๋ค.
flowchart TD
A[์๋ฒ ์์] --> B{๋ก์ปฌ TCP ํฌํธ๊ฐ ์ด๋ ธ๋์?}
B -- ์๋์ --> C[์ฝ์ ์ค๋ฅ์ ํฌํธ ์ถฉ๋ ํ์ธ]
B -- ์ --> D{์ธ๋ถ TCP ์๋ต์ด ์๋์?}
D -- ์ --> E[TCP ์๋ต ํ์ ยท ์๋ฒ ์ผ์น ๋ฏธํ์ธ ยท ๊ณต์ ๊ธฐ ์ค์ ์ ์ง]
D -- ์๋์ --> F[UPnP ์ฅ์น์ ํฌํธ ์ถฉ๋ ํ์ธ]
F --> G[ํ์ํ ๋งคํ๋ง ์์ฑ]
G --> H{์ธ๋ถ ์ ์ ์ฌ๊ฒ์ฌ ์ฑ๊ณต?}
H -- ์ --> I[๊ณต์ธ IP์ ํฌํธ ํ์]
H -- ์๋์ --> J[์๋ ํฌํธํฌ์๋ฉ ์๋ด ํ์]
- ์ผ๋ฐ ์ธ๋ถ ๊ฒ์ฌ๋ TCP ํฌํธ๊ฐ ์ด๋ ธ๋์ง๋ง ์ ์ ์์ผ๋ฏ๋ก Minecraft ์๋ฒ ์ผ์น ์ฌ๋ถ๋ฅผ ํ์ ํ์ง ์์ต๋๋ค. ์๋ต์ด ์์ผ๋ฉด ํ๋ณด ์ฃผ์์
์๋ฒ ์ผ์น ๋ฏธํ์ธ์ ํจ๊ป ํ์ํ๊ณ ๊ณต์ ๊ธฐ ์ค์ ์ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค. - MineHarbor๊ฐ ๋ง๋ UPnP ๋งคํ์ ๋ค์ ๊ฒ์ฌํด ์๋ตํ ๊ฒฝ์ฐ์๋ง ๋์๋ณด๋์
ํ์ธ๋จ์ผ๋ก ํ์ํฉ๋๋ค. - ๋ค๋ฅธ ๋ด๋ถ PC๊ฐ ๊ฐ์ ์ธ๋ถ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฎ์ด์ฐ์ง ์๊ณ ์ถฉ๋๋ก ์๋ฆฝ๋๋ค.
- ์ง์ SSDP/SOAP ๋ฐฉ์์ ์ฐ์ ์ฌ์ฉํ๊ณ Windows COM์ ๋ฐฑ์ ๊ฒฝ๋ก๋ก ์๋ํ๋ฉฐ, ๊ธฐ๋ณธ ์ธ๋ถ ํฌํธ๊ฐ ์ถฉ๋ํ๋ฉด ์ต๋ 8๊ฐ์ ๋์ฒด ํฌํธ๋ฅผ ํ์ธํฉ๋๋ค.
- ๊ธฐ๋ณธ TCP ๋งคํ๊ณผ Minecraft Query ์ฌ์ฉ ์ ํ์ํ UDP ๋งคํ๋ง ์๋ํฉ๋๋ค.
- ์๋ฒ๊ฐ ๋๋๋ฉด ํ์ฌ ๋ฐ์ฒ ์ธ์ ์ด ๋ง๋ค๊ณ ๊ธฐ๋ก๊ณผ ์ ํํ ์ผ์นํ๋ ๋งคํ๋ง ์ญ์ ํฉ๋๋ค.
- ์ต์ข ์คํจ ์ ๋ด๋ถ IPv4, ๊ธฐ๋ณธ ๊ฒ์ดํธ์จ์ด, ํฌํธ, ๊ณต์ ๊ธฐ ๊ด๋ฆฌ ์ฃผ์, ๋ฐฉํ๋ฒฝ ๋ฐ ์ด์ค NATยทCGNAT ๊ฐ๋ฅ์ฑ์ ์๋ดํฉ๋๋ค.
- ์ธ๋ถ ๊ฒ์ฌ ์๋น์ค ์์ฒด๊ฐ ์๋ตํ์ง ์์ผ๋ฉด ์ ์ ์คํจ๋ก ๋จ์ ํ๊ฑฐ๋ UPnP๋ฅผ ์คํํ์ง ์์ต๋๋ค.
| ๊ธฐ๋ฅ | ํ์ฌ ๋ฒ์ |
|---|---|
| ์ด์์ฒด์ ์ ๋ฐํ์ | Windows 10/11 x64 ๋ฐ .NET Framework 4.8. SDK ์คํ์ผ ํ๋ก์ ํธ๋ ํธํ์ฑ ๊ฒ์ฆ์ฉ net48์ ์ ์งํฉ๋๋ค. |
| ์ฝํ ์ธ ๊ณต๊ธ์ | ์๋ ๊ฒ์ยท์์กด์ฑ ํด๊ฒฐยท์ ๋ฐ์ดํธ๋ Modrinth๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ค๋ฅธ ์ถ์ฒ์ JARยทZIP์ ํ์ผ ์ค์น์ ์๋ ํ์ผ ๊ด๋ฆฌ๋ก ๋ค๋ฃน๋๋ค. |
| ์ผ์ ์คํ | ๊ธฐ๋ณธ๊ฐ์ ์ด๋ฆฐ MineHarbor ์ฐฝ์์ ํ๊ฐํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ด์(๋ฒ ํ)์ ์ผ๋ฉด ์ฌ์ฉ์ ๊ณ์ ์ฉ ํธ๋ ์ด ์์ด์ ํธ๊ฐ ์ฐฝ์ ๋ซ์ ๋ค์๋ ํ๊ฐํฉ๋๋ค. ๊ด๋ฆฌ์ ๊ถํ Windows ์๋น์ค๋ ์ค์นํ์ง ์์ต๋๋ค. |
| ์ด์ ๊ธฐ๋กยทWindows ์๋ฆผยทDiscord | ์๋ฒ ์๋ช ์ฃผ๊ธฐ, ์์ด์ ํธ์ ์์ฝ ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ก์ปฌ์ ๊ธฐ๋กํฉ๋๋ค. ์ ํํ ์์ ํ์์ค ์๋ฆผ๊ณผ ๊ธธ๋ยท์ฑ๋ยท์ฌ์ฉ์ยท์ญํ ยท์๋ฒ ํ์ฉ ๋ชฉ๋ก์ ์ ์ฉํ Discord ์๊ฒฉ ์ ์ด๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ด์ ํธ๊ฐ ์คํ ์ค์ผ ๋๋ง ๋์ํฉ๋๋ค. ์น ์๊ฒฉ ๊ด๋ฆฌ๋ ์์ง ์ ๊ณตํ์ง ์์ต๋๋ค. |
| ์ค์๊ฐ ์๋ฒ ์ ๋ณด | ๋ช
๋ น ๋ธ๋ฆฌ์ง์ ๋ผ์ด๋ธ ํ๋ ์ด์ดยทTPSยทMSPTยทํ๋ฌ๊ทธ์ธ ๋ช
๋ น์ Paper/Purpur 1.13 ์ด์์์ ์ ํ์ ์ผ๋ก ์ง์ํฉ๋๋ค. ๋๋จธ์ง ์๋ฒ๋ ๋ก์ปฌ ๋ช
๋ น ์๋์์ฑ์ ์ฌ์ฉํ๋ฉฐ ์ป์ ์ ์๋ ์งํ๋ ์ง์๋์ง ์์์ผ๋ก ํ์ํฉ๋๋ค. |
| ์ธ๋ถ ์ ์ ํ์ | ์ผ๋ฐ TCP ์๋ต๋ง์ผ๋ก Minecraft ์๋ฒ๊ฐ ๋ง๋ค๊ณ ํ์ ํ์ง ์์ต๋๋ค. MineHarbor๊ฐ ๋ง๋ ๋งคํ์ ์ฌํ ๊ฒ์ฌ๋ง ํ์ธ๋จ์ผ๋ก ํ์ํฉ๋๋ค. |
| ์ฝ๋ ์๋ช | ๋ฆด๋ฆฌ์ค๋ง๋ค ์์ฒด์๋ช ํ๋ฉฐ ๊ณต๊ฐ ์ธ์ฆ ๊ธฐ๊ด์ ์ ๋ขฐ ์๋ช ์ ์ ๊ณตํ์ง ์์ต๋๋ค. |
์ต์ด ์คํ์์ ๋ค์ ์ค ํ๋๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
| ๋ฐ์ดํฐ ์์น | ๊ฒฝ๋ก |
|---|---|
| ์ฌ์ฉ์ ๋ฐ์ดํฐ | %LOCALAPPDATA%\MineHarbor |
| Portable ๋ฐ์ดํฐ | EXE ์์ Minecraft-Servers-Data |
| ์ฌ์ฉ์ ์ง์ | ์ฐ๊ธฐ ๊ฐ๋ฅํ๊ณ ์์คํ ํด๋๊ฐ ์๋ ์ ํ ๊ฒฝ๋ก |
๊ธฐ์กด Minecraft-Servers-Data๋ฅผ ์ฐพ์ผ๋ฉด ์ฐ์ ์ ์ํ์ง๋ง ์๋์ผ๋ก ์ด๋ยท์ญ์ ยท๋ฎ์ด์ฐ์ง ์์ต๋๋ค. ์ด์ ์ ํ ์ด๋ฆ์ผ๋ก ๋ง๋ %LOCALAPPDATA%\MinecraftServerLauncher๊ฐ ์์ผ๋ฉด ์ ํด๋๋ฅผ ๊ฐ์ ๋ก ๋ง๋ค์ง ์๊ณ ๊ธฐ์กด ์๋ฒ ๋ฐ์ดํฐ๋ฅผ ๊ณ์ ์ฌ์ฉํฉ๋๋ค. ๊ฐ ์๋ฒ๋ servers\<ํ๋กํ ์ด๋ฆ> ์๋์์ ์๋์ ์ค์ ์ ๋ถ๋ฆฌํด ๋ณด๊ดํฉ๋๋ค.
๋ฐ์ฒ๋ ์ฌ์ฉ ํต๊ณ๋ ๋ถ์ ์ ๋ณด๋ฅผ ์์งํ์ง ์์ผ๋ฉฐ ๋ก๊ทธ์ ์ง๋จ ๋ฌถ์์ ์๋ ์ ์กํ์ง ์์ต๋๋ค. ์ง๋จ ๋ฌถ์์ ์ฌ์ฉ์๊ฐ ์ง์ ๋ง๋ค๊ณ ๊ณต์ ํ ๋๋ง PC ๋ฐ์ผ๋ก ๋๊ฐ๋๋ค. ์์ธํ ๋คํธ์ํฌ ์ฌ์ฉ์ฒ์ ๊ฐ๋ฆผ ํญ๋ชฉ์ ๊ฐ์ธ์ ๋ณด ์ฒ๋ฆฌ ์๋ด์์ ํ์ธํ ์ ์์ต๋๋ค.
- Java, ์๋ฒ ํ์ผ, ์ฝํ ์ธ , ๋ธ๋ฆฌ์ง์ ๋ฐ์ฒ ์ ๋ฐ์ดํธ์ HTTPSยทํ์ฉ ํธ์คํธยท๋ฆฌ๋๋ ์ ยทํฌ๊ธฐยทํด์ ๊ฒ์ฆ
- ๊ธฐ์กด ํฌํธํฌ์๋ฉ๊ณผ ๋ค๋ฅธ ๊ธฐ๊ธฐ์ UPnP ๋งคํ์ ๋ฎ์ด์ฐ์ง ์์
- ์๋ OP๋ ์ ํ ๊ณ์ ์ธ์ฆ์ด ์ผ์ก์ ๋๋ง ๋์ํด ๋๋ค์ ์ฌ์นญ ์ํ ์ํ
- ๋ธ๋ฆฌ์ง์ ๋ฃจํ๋ฐฑ ์ ์ฉ ํต์ , ์คํ๋ณ ์์ ํ ํฐ๊ณผ ์ธ๋ถ ํฌํธ ๋ฏธ์ฌ์ฉ
- ์ง๋จ ๋ฌถ์์์ ์ฌ์ฉ์ ๊ฒฝ๋ก, IP, ์๋ฒ ์์ ์, RCON ๋น๋ฐ๋ฒํธ ๋ฑ ์ ๊ฑฐ
- ๋ณต์ยท์ ๋ฐ์ดํธ ์คํจ ์ ๊ธฐ์กด ๋ฐ์ดํฐ ๋๋ ์คํ ํ์ผ๋ก ๋๋๋ฆฌ๊ธฐ
| ์ฆ์ | ๋จผ์ ํ์ธํ ๋ด์ฉ |
|---|---|
| ์๋ฒ๊ฐ ๋ฐ๋ก ์ข ๋ฃ๋จ | ์ฝ์ ์ด๊ธฐ์์ ์ฒซ ์ค๋ฅ๋ฅผ ํ์ธํ๊ณ ์ง๋จ ์์ฝ์ ์ดํด๋ณด์ธ์. |
| ์น๊ตฌ๊ฐ ์ ์ํ์ง ๋ชปํจ | ๋ก์ปฌ ํฌํธ, Windows ๋ฐฉํ๋ฒฝ, ํฌํธํฌ์๋ฉ, ๊ณต์ธ IP์ ์ด์ค NATยทCGNAT ์๋ด๋ฅผ ํ์ธํ์ธ์. |
Advanced terminal features... ๋๋ sun.misc.Unsafe ๊ฒฝ๊ณ ๊ฐ ๋ณด์ |
๋ฆฌ๋๋ ์
๋ GUI ์ฝ์์ด๋ Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํธํ์ฑ ๊ฒฝ๊ณ ์ผ ์ ์์ต๋๋ค. ์๋ฒ ์คํจ์ ๊ตฌ๋ถ๋๋ ํธํ์ฑ ํํฐ๋ก ํ์ธํ์ธ์. |
| ๊ตฌ๋ฒ์ Paper๊ฐ ๋์๋ง ๋๋ Java ์์ด์ ํธ ์ค๋ฅ ํ ์ข ๋ฃ๋จ | ์ต์ ๋ฐ์ฒ๋ก ๊ฐฑ์ ํ ๋ค ๋ค์ ์์ํ์ธ์. ๋ฐ์ฒ๋ ๊ตฌ๋ฒ์ ์ ๋ง๋ ์คํ ์ธ์์ ์๋ JAR ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํฉ๋๋ค. |
| ์๋ฒ ์ข ๋ฅ๋ ๋ฒ์ ์ ๋ฐ๊พผ ๋ค ์ค๋ฅ๊ฐ ๋ฐ์ํจ | ํ๋ฌ๊ทธ์ธยท๋ชจ๋ ํธํ์ฑ์ ํ์ธํ๊ณ ํ์ํ๋ฉด ๋ฐฑ์ ์์ ๋ณต์ํ์ธ์. |
| ์๋ฒ ์์ ์ ์๋ OP๊ฐ ๋์ํ์ง ์์ | ์ ํ ๊ณ์ ์ธ์ฆ๊ณผ ๋๋ค์ ์ฒ ์๋ฅผ ํ์ธํ์ธ์. |
| ์ค์๊ฐ ๋ช ๋ น์ด ๋ก์ปฌ ์ํ๋ก๋ง ํ์๋จ | Paper/Purpur 1.13 ์ด์์ธ์ง ํ์ธํ๊ณ ์๋ฒ๋ฅผ ๋ ๋ค ๋ช
๋ นยท๋ธ๋ฆฌ์ง ๊ด๋ฆฌ์์ ์ค์น ์ํ๋ฅผ ํ์ธํ์ธ์. |
| ์๋ ์ ๋ฐ์ดํธ๋ ์ฝํ ์ธ ์ค์น๊ฐ ์คํจํจ | ์ธํฐ๋ท ์ฐ๊ฒฐ, ๋ณด์ ํ๋ก๊ทธ๋จ๊ณผ ํด๋น ํ๋ก์ ํธ API ์ ์ ์ฌ๋ถ๋ฅผ ํ์ธํ์ธ์. |
๋ฌธ์ ๊ฐ ๊ณ์๋๋ฉด ๋ฏผ๊ฐ ์ ๋ณด๋ฅผ ๊ฐ๋ฆฐ ์ง๋จ ๋ฌถ์์ ๋ง๋ ๋ค GitHub Issues์ ์ฆ์๊ณผ ์ฌํ ์์๋ฅผ ๋จ๊ฒจ ์ฃผ์ธ์. ๋ณด์ ๋ฌธ์ ๋ ๊ณต๊ฐ ์ด์ ๋์ ๋ณด์ ์ ์ฑ
์ ๋ฐฉ๋ฒ์ผ๋ก ์๋ ค ์ฃผ์ธ์.
Windows 10/11 x64, PowerShell 5.1 ์ด์๊ณผ .NET Framework 4.x C# ์ปดํ์ผ๋ฌ๊ฐ ํ์ํฉ๋๋ค. .NET 10 SDK๊ฐ ์์ผ๋ฉด SDK ์คํ์ผ MineHarbor.csproj์ net48 ํธํ ๋น๋๋ ํจ๊ป ํ์ธํ ์ ์์ต๋๋ค.
.\scripts\Prepare-BuildResources.ps1
.\build.ps1
.\test.ps1
dotnet build .\MineHarbor.csproj -c Release์ค์น ํ๋ก๊ทธ๋จ ๋น๋๋ Inno Setup 6.7 ์ด์์ด ํ์ํฉ๋๋ค. ๋ฆด๋ฆฌ์ค ์ํฌํ๋ก๋ Portable EXEยทZIP, ์ค์น ํ๋ก๊ทธ๋จ, Paper/Purpur ๋ช
๋ น ๋ธ๋ฆฌ์ง, SHA256SUMS.txt์ update.json์ ๋ง๋ญ๋๋ค. ๋น๋ ์์น๊ณผ ํ
์คํธ ๋ฐฉ๋ฒ์ CONTRIBUTING.md๋ฅผ ํ์ธํด ์ฃผ์ธ์.
PR๊ณผ main ํธ์์ ์ผ๋ฐ CI๋ ๋ฒ์ ยท๋ฌธ์ ์ผ์น, SDK ์คํ์ผ net48 ๊ฒฝ๊ณ ์๋ ๋น๋, Portable EXEยทZIP, ๋ช
๋ น ๋ธ๋ฆฌ์ง์ ์คํจ ๊ฒฝ๋กยทUI ํ๊ท๋ฅผ ๊ฒ์ฌํฉ๋๋ค. ๋ณ๋ ๋ฆด๋ฆฌ์ค ์ํฌํ๋ก๋ ์ธ๋ถ Action์ ์ ์ฒด ์ปค๋ฐ SHA๋ก ๊ณ ์ ํ๊ณ , ๋ฆด๋ฆฌ์ค ์์ฐยทSHA-256 ๋ชฉ๋กยท์
๋ฐ์ดํธ ๋ฉํ๋ฐ์ดํฐยท์์ฒด์๋ช
๋ฌด๊ฒฐ์ฑ๊ณผ ์์ ์ธ์ฆ์ ์ ๋ฆฌ๋ฅผ ๊ฒ์ฆํ๋ฉฐ, ์ง์ ๊ณต๊ฐ ๋ฐ์ฒ๋ฅผ ํตํ ์๋ ์
๋ฐ์ดํธ๋ ๋ค์ ํ์ธํฉ๋๋ค.
- ๋ณ๊ฒฝ ๊ธฐ๋ก
- ๊ธฐ์ฌ ์๋ด
- ๊ฐ์ธ์ ๋ณด ์ฒ๋ฆฌ ์๋ด
- ๋ณด์ ์ ์ฑ
- ์ฝํ ์ธ ยท์๋ํ ๊ตฌ์กฐ
- ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ด์ ํธ ๊ตฌ์กฐ
- ๊ด๋ฆฌ ์๋ฒ ๋ฌด์ค๋จ ์ธ๊ณ ๊ตฌ์กฐ
- Windows ์๋ฆผ ๊ตฌ์กฐ
- Discord ์๊ฒฉ ์ ์ด ๊ตฌ์กฐ
- Paper/Purpur ๋ณต์ฌ ์ค์ ํธํ์ฑ
- ๋น ๋ฅธ ๋ช ๋ น ํธํ์ฑ
- .NET ํ๋ํ ๊ฒํ
- ์ ์ฒด UIยทUXยท๋ณด์ยทUPnP ๊ฐ์ฌ
- MIT License
| Package | Best for | Link |
|---|---|---|
| Portable EXE | Run one file without installation | Download from the permanent URL |
| Windows installer | Start Menu, optional desktop shortcut, and uninstall support | Open the latest release |
| Portable ZIP | Keep the launcher, README, and license together | Open the latest release |
Current source version: v1.21.1 ยท internal build: 26.2.45.90. MineHarbor releases keep the same permanent Portable URL. Existing data under %LOCALAPPDATA%\MinecraftServerLauncher is detected and preserved; new user-data installations use %LOCALAPPDATA%\MineHarbor.
This README documents shipped behavior verified against the current v1.21.1 source, automated tests, and public release assetsโnot roadmap items. Conditional and unsupported behavior is called out explicitly below.
Warning
Release executables carry the requested self-signed integrity signature, not a publisher identity trusted by a public certificate authority. Windows SmartScreen can therefore still warn. Verify the GitHub source and the release SHA256SUMS.txt.
MineHarbor โ Minecraft Server Launcher is a Windows desktop app for creating and operating Paper, Vanilla, Purpur, Fabric, Forge, NeoForge, and custom-JAR servers. It prepares a compatible Java runtime, downloads and verifies server files, keeps profiles isolated, manages backups and content, and helps make a server reachable from outside your network.
| Start quickly Java, server JARs, and first-run settings are prepared in order. |
Stay compatible Java 8/11/16/17/21/25 is selected for the chosen server and Minecraft version. |
| Operate in one place Manage multiple servers, backups, content, players, and consoles. |
Connect safely External TCP responses are reported separately from server identity; UPnP is attempted only after a confirmed closed-port result. |
- Download the Portable EXE and run it.
- Choose a data location, server type, Minecraft version, preset, and memory, then accept the Minecraft EULA.
- Press
Start serverand share the address shown by the launcher.
The main window appears first while update, profile, and current version data load in the background. Long operations report their current stage and progress, and content operations can be cancelled.
| Item | Requirement |
|---|---|
| Operating system | Windows 10 or Windows 11 x64 |
| Runtime | .NET Framework 4.8 |
| Memory | Depends on server size; 4 GB is the default recommendation |
| Internet | Required for initial Java/server preparation, updates, content search, and external-access checks |
| Storage | Depends on server files, worlds, plugins/mods, data packs, and backups |
- Server profiles: create, clone, import, rename, archive, select, run, and safely stop isolated servers; port conflicts can be reassigned after confirmation, and each address has a one-click copy action. Deleted server folders remain recoverable in Trash for 30 days. Exact-name entry is required only when moving a server to Trash; permanent deletion inside Trash uses a three-second locked confirmation.
- Presets and settings: survival difficulties, hardcore, normal or flat creative worlds, common
server.propertiescontrols, and version-aware Paper/Purpur switches for TNT/carpet/rail, gravity-block, and tripwire-hook duplication. Modern servers useconfig/paper-global.yml; legacy servers use nestedsettings.unsupported-settingsinpaper.yml. Paper-only keys are not written to Spigot, Vanilla, or modded servers; custom JARs require detected Paper keys. Changes preserve unrelated YAML and keep pre-change backups under.mineharbor/configuration-backups. - Compatible runtimes: automatic Java 8/11/16/17/21/25 selection and download; explicit Java selection for custom JARs.
- Updates and backups: optional server auto-update, manual upgrades, staged profile restore, SHA-256 verification, export, scheduled or start/stop-hook backups, and count/day/size retention.
- Scheduling: per-server backup, start, stop, restart, and command jobs on intervals, daily times, selected weekdays, or a one-time local date. Missed runs can execute once, skip, or create a notification after a bounded delay. The editor previews the next run, risk, offline behavior, and five-minute conflicts.
- Background operations (Beta): after explicit opt-in, a per-user tray agent evaluates schedules after the GUI closes and can start, safely stop, restart, back up, and open a console for agent-owned servers. A running server started from multi-server management can now transfer to the agent without stopping when that window closes. Optional Windows sign-in startup does not install an elevated service. Same-user secured named-pipe IPC, per-child 256-bit tokens, exact PID/start-time ownership, cross-process schedule locks, lease recovery, resume checks, and safe updater shutdown prevent duplicate or unsafe ownership.
- Notifications and operations: the main Operations view filters server lifecycle, crash/restart, and scheduled-job results by server, severity, and read state, and exports the visible list to CSV. Each server keeps up to 500 entries in
.mineharbor/operations-history.jsonwith atomic writes, a cross-process lock, and a verified SHA-256 hash chain. Opt-in Windows taskbar notifications support severity/category filters, quiet hours, startup replay suppression, and eight-second collapse of bursts. - Discord remote control (Beta): after a separate opt-in and user-supplied bot setup, the guild-only
/mineharborcommand can query approved-server status, bridge-backed online players, and recent errors, or request start, backup, confirmed safe stop, and confirmed restart. Current-user DPAPI token protection, guild/channel/user/role/profile allowlists, per-user throttling, 60-second single-use confirmations, and the existing agent ownership checks guard the boundary. No arbitrary console, shell, file execution, public listener, or control of externally owned servers is exposed. - Content: installed plugin/mod/data-pack inventory, managed/manual distinction, compatibility and dependency checks, individual or batch updates, enable/disable/recoverable removal, verified Modrinth search, and local-file or world-targeted data-pack installation. Blank searches return popular results with author, download count, and description. Data packs are installed under the selected
<world>/datapacksfolder after rootpack.mcmeta, path, duplicate-entry, entry-count, and expanded-size checks. - Dashboard: status, uptime, Java CPU/memory/version, players, storage, warnings/errors, verified external access, next schedule, and bridge-provided TPS/MSPT without guessed values.
- Operations: online-player autocomplete for whitelist, OP, kick and ban controls; command/player suggestions in the main and managed consoles; time-independent command suggestions in the scheduler; plus search โ category โ word-wrap console tools with separate warning, compatibility, and error filters.
- Diagnostics: common startup-cause summaries and exportable bundles with paths, IP addresses, owner names, and secrets redacted.
- Interface: Korean/English, dark/light themed title bars, console/list scrollbars, rounded input/group frames, dropdowns, checkboxes, tabs and list surfaces, responsive windows, restrained scrolling, concise tooltips, keyboard/screen-reader metadata, background loading, visible progress, and cancellation for content operations.
- Close safety: closing a modeless tool window consumes the matching pointer release and briefly suppresses repeated clicks near its title-bar X without blocking deliberate clicks elsewhere. Closing the launcher always asks first; idle exits immediately without a server-stop path, active work waits, and a running server is stopped safely before exit.
Enable this explicitly under Server management โ Background. MineHarbor then runs MineHarbor.exe --background-agent in the current user account and optionally registers it for Windows sign-in. Its tray menu provides per-server start, safe stop, restart, immediate backup, and console access, plus pause, stop-all, and complete-exit actions. Servers started by the agent keep running after the GUI closes.
The GUI and agent communicate through a bounded named pipe whose ACL grants the current Windows SID only. A managed child has its own secured control pipe, fresh 256-bit token, retained recent-log buffer, and exact child/current-owner/new-owner PID plus process-start-time checks. Closing multi-server management offers transfer without stopping, safe stop, or cancel; repeated close requests wait for the transfer result, and a partial failure keeps the window open while successful transfers continue under the agent. Transfer requests are idempotent, and a lost response is accepted only after the child confirms a different live owner.
Cross-process automation locks and PID/start-time leases prevent duplicate claims; resume events re-evaluate each job's bounded missed-run policy. The agent refuses to command, stop, or live-back-up a running server it does not own. A server hosted directly inside the main launcher and an unrelated external server are not inferred as transferable and retain their existing safe-close or external-ownership behavior. Launcher updates safely stop agent-owned servers first and abort instead of forcing an unsafe exit after the timeout.
Windows taskbar notifications are separately opt-in and require the agent to be running. Settings cover severity, event categories, and midnight-spanning quiet hours. Existing history is not replayed when the agent starts, and bursts are summarized rather than repeatedly replacing one another. Notification text is re-sanitized and never includes raw commands.
Discord remote control is another separate opt-in and requires a bot created and installed by the user. It uses an outbound Discord Gateway connection rather than a public inbound listener. The settings view keeps the allowed-user and optional allowed-role editors visible beside the approved profiles, provides the Discord path for copying a user ID, and reports missing or invalid values inline before focusing the affected field. The guild-only /mineharbor command exposes status, players when the bridge is connected, recent errors, start, backup, and 60-second-confirmed safe stop/restart for allowlisted profiles only. The token is current-user DPAPI protected; guild, channel, user or role, and profile checks plus rate limiting apply to every request. Arbitrary console, shell, and file execution remain unavailable.
Open Discord setup from Server management โ Background โ Discord remote or from the agent tray. If no registration exists, a modern four-step guide first explains app/bot creation, guild installation, ID collection, and MineHarbor connection; the settings form opens only after Start setup, and its Setup guide button can reopen the guide later. Step cards and the security note grow with wrapped Korean or English copy, while only the step region scrolls when the working area is too short. After enabling background operations, enter the user-created bot token, application/guild/channel IDs, allowed users or roles, and approved server profiles. See the Discord remote-control architecture for installation and trust boundaries.
This beta does not install an elevated Windows service and does not run before sign-in. Web remote management remains unsupported.
Commands are organized as Category โ Function โ Command, such as World โ Difficulty โ Hard or World โ Weather โ Clear. Search matches display names, descriptions, hierarchy paths, and command text. The picker supports Ctrl+F, arrow keys, Enter, and Esc.
Cursor-aware suggestions, history, and editable templates work locally for every server type. The built-in catalog now contains more than 70 commands, including moderation lookup and IP bans, seed/time queries, common game rules, datapack enable/disable, and safe read-only advanced operations.
Choosing a command opens a step-by-step inline builder. Required {player}, optional [reason], and defaulted optional [count=1] arguments appear as rounded tokens: incomplete values are gray, the active value is accented, and invalid input is highlighted without clearing other arguments. Confirming a value advances directly to the next argument. Up/Down selects candidates, Tab confirms, Shift+Tab returns to the previous argument, and Enter advances while required values are incomplete or sends once they are valid. Optional trailing values can be skipped. The send button remains disabled until every required argument is valid.
Player and target arguments combine connected names with Minecraft selectors; game mode, difficulty, booleans, numbers, time, and coordinates have useful recommendations; item and effect catalogs support substring search. Suggestion lists grow only as needed, up to 430 pixels in the larger available space above or below the input, without covering the input or Send button.
Commands outside the selected server's Minecraft version range are omitted from the picker and local suggestions. Normal, confirmation, and dangerous risk levels are applied consistently; reload, broad mutations, and conditionally destructive values receive a stronger warning. When the optional Paper/Purpur bridge is connected, registered plugin commands and live argument candidates also appear under Plugins โ Plugin name โ Command.
The quick-command card stays in a fixed right-side column while the console uses a separate left column, so toggling the console neither moves the card nor hides console output behind it.
The player-management field suggests connected player names. Main and managed consoles suggest common commands and available player arguments, while the scheduled-command editor suggests commands that do not depend on current players. Use Up/Down and Tab or Enter without leaving the keyboard.
The bridge binds only to 127.0.0.1, uses a new random token and temporary port per run, opens no external port, and leaves command execution on the existing console-input path. User templates remain separate in config/quick-commands.json across launcher updates.
The launcher checks the local TCP listener and current external TCP reachability before touching UPnP. A generic port check cannot prove that the responding service is this Minecraft server, so an open result is shown as server identity unverified and router settings are left unchanged. After a confirmed closed-port result, it discovers UPnP through direct SSDP/SOAP first and Windows COM as a fallback, detects collisions, checks up to eight alternate external ports, creates only the required TCP mapping and optional Query UDP mapping, then tests again. Only a successful post-check of a mapping created by MineHarbor is shown as verified.
If access still fails, the manual guide shows the PC IPv4 address, default gateway, internal and external ports, router page, firewall status, and possible double NAT or CGNAT. On shutdown, only mappings created by the current launcher session and still matching its exact record are removed. An unavailable external check service is not treated as a closed port and does not trigger UPnP.
| Area | Current scope |
|---|---|
| OS and runtime | Windows 10/11 x64 and .NET Framework 4.8. The parallel SDK-style project remains on net48 for compatibility verification. |
| Content providers | Automatic search, dependency resolution, and updates use Modrinth. JAR/ZIP files from other sources can be installed from file and are tracked separately. |
| Scheduling | Open MineHarbor windows evaluate jobs by default. When the user enables Background operations (Beta), a per-user tray agent continues after the GUI closes. No elevated Windows service is installed. |
| Operations history, Windows notifications, and Discord | Server lifecycle, agent, and scheduled-job results are stored locally. Opt-in taskbar notifications and allowlisted guild-only Discord remote control run only with the background agent. Web remote management is not implemented. |
| Live server data | Live players, TPS/MSPT, and plugin commands require the optional bridge on Paper/Purpur 1.13+. Other server types retain local completion, and unavailable metrics are shown as unsupported rather than estimated. |
| External reachability | A generic TCP response does not prove Minecraft server identity. Only the post-check of a mapping created by MineHarbor is marked verified. |
| Code signing | Releases are self-signed per build and do not carry a public-CA trusted publisher signature. |
Choose user data (%LOCALAPPDATA%\MineHarbor), Portable data (Minecraft-Servers-Data beside the EXE), or a writable custom folder. Existing data under the legacy %LOCALAPPDATA%\MinecraftServerLauncher path is detected and reused without automatic moves, deletion, or overwrites.
The launcher collects no analytics or usage telemetry and never uploads logs or diagnostic bundles automatically. Downloads enforce HTTPS, allowed hosts and redirects, bounded sizes, and available hashes; existing router mappings are preserved; diagnostic bundles redact sensitive values; and automatic owner OP is disabled when online authentication is off. See the privacy notice and security policy for details.
Build on Windows 10/11 x64 with PowerShell 5.1 or newer and the .NET Framework 4.x C# compiler.
.\scripts\Prepare-BuildResources.ps1
.\build.ps1
.\test.ps1
dotnet build .\MineHarbor.csproj -c ReleaseInstaller builds require Inno Setup 6.7 or newer. See CONTRIBUTING.md for build rules, tests, and the release workflow.
General CI on pull requests and main pushes checks version/document consistency, the warning-free SDK-style net48 build, Portable EXE/ZIP, the command bridge, failure paths, and UI regressions. The separate release workflow pins external Actions to full commit SHAs and verifies release assets, the SHA-256 list, update metadata, self-signed integrity, temporary-certificate cleanup, and automatic updating through the previous public launcher.
- Latest release
- Changelog
- Contributing
- Privacy
- Security
- Content and automation architecture
- Background agent architecture
- Managed server live-handoff architecture
- Windows notification architecture
- Paper/Purpur duplication compatibility
- Quick-command compatibility
- .NET modernization review
- Full UI/UX, security, and UPnP audit
- MIT License