실제 서버 플러그인 목록 반영
서버 운영 환경 및 플러그인 구성 설명 정비
 
1번째 줄: 1번째 줄:
{{플레이시티 블록}}
{{플레이시티 블록}}
[[플레이시티 블록]]에서 사용 중인 서버에 관한 문서이다.
'''플레이시티 블록/서버'''는 [[플레이시티 블록]]에서 사용하는 마인크래프트 서버의 운영 환경, 구동기, 주요 설정, 플러그인 구성, 백업과 업데이트 방식을 정리하는 문서이다. 플레이시티 블록은 장기간 운영되는 도시건축 서버이기 때문에 일반적인 소규모 서버보다 월드 크기, 건축 보조 도구, 지도 렌더링, 권한 관리, 백업 체계가 중요하다.
 
== 운영 환경 ==
플레이시티 블록은 [[마인크래프트: 자바 에디션]] 기반 서버이다. 서버는 건축과 도시 운영을 중심으로 하며, 다수의 월드 편집 작업과 웹 지도, 자체 개발 플러그인을 함께 사용한다.
 
운영 환경에서 특히 중요한 요소는 다음과 같다.
 
* 장기간 보존되는 대형 월드
* 건축 보조 플러그인 사용
* 웹 지도 렌더링과 지도 데이터 관리
* 권한과 보호 설정
* 월드 백업과 복구
* 서버 업데이트 시 플러그인 호환성 점검


== 서버 버전 ==
== 서버 버전 ==
[[마인크래프트]] 1.21.4
현재 서버 버전은 운영 시점에 따라 달라질 수 있다. 버전 정보는 서버 업데이트 로그와 실제 구동 파일을 함께 확인해야 한다.
 
마인크래프트와 Paper는 2026년부터 버전 체계와 Java 요구사항이 바뀌었기 때문에, 서버 업데이트 전에는 다음 항목을 함께 점검한다.
 
* 마인크래프트 서버 버전
* [[Paper(마인크래프트)|Paper]] 빌드
* Java 버전
* 플러그인별 지원 버전
* 월드 저장 구조 변경 여부


== 구동기 ==
== 구동기 ==
플레이시티 블록 서버는 Paper 구동기를 사용하고 있다.
플레이시티 블록 서버는 [[Paper(마인크래프트)|Paper]] 계열 구동기를 사용한다. Paper는 Bukkit/Spigot 플러그인 호환성을 유지하면서 성능 개선과 추가 API를 제공하기 때문에, 장기간 운영되는 Java Edition 서버에서 널리 사용된다.
* 구동기(start.bat)
 
<pre>java -Xms32G -Xmx32G -jar paper-1.21.4-232.jar nogui</pre>
일반적인 Paper 서버 실행 명령은 다음과 같은 형태이다.


* server.properties
<pre>
enable-jmx-monitoring=false
rcon.port=25575
level-seed=
gamemode=creative
enable-command-block=true
enable-query=false
generator-settings={}
level-name=block16
motd=Welcome
query.port=25565
pvp=true
generate-structures=true
difficulty=peaceful
network-compression-threshold=256
require-resource-pack=false
max-tick-time=60000
use-native-transport=true
max-players=2021
online-mode=true
enable-status=true
allow-flight=true
broadcast-rcon-to-ops=true
view-distance=32
server-ip=
resource-pack-prompt=
allow-nether=false
server-port=25565
enable-rcon=false
sync-chunk-writes=true
op-permission-level=4
prevent-proxy-connections=false
hide-online-players=false
resource-pack=
entity-broadcast-range-percentage=100
simulation-distance=10
rcon.password=
player-idle-timeout=0
debug=false
force-gamemode=true
rate-limit=0
hardcore=false
white-list=false
broadcast-console-to-ops=true
spawn-npcs=false
spawn-animals=false
snooper-enabled=false
function-permission-level=2
level-type=default
text-filtering-config=
spawn-monsters=false
enforce-whitelist=false
resource-pack-sha1=
spawn-protection=16
max-world-size=29999984
</pre>```
* paper.yml
<pre>
<pre>
verbose: false
java -Xms32G -Xmx32G -jar paper.jar --nogui
config-version: 25
settings:
  use-dimension-type-for-custom-spawners: false
  time-command-affects-all-worlds: false
  fix-target-selector-tag-completion: true
  log-player-ip-addresses: true
  lag-compensate-block-breaking: true
  send-full-pos-for-hard-colliding-entities: true
  bungee-online-mode: true
  player-auto-save-rate: -1
  max-player-auto-save-per-tick: -1
  max-joins-per-tick: 3
  chunk-tasks-per-tick: 3000
  log-named-entity-deaths: true
  incoming-packet-spam-threshold: 300
  track-plugin-scoreboards: false
  enable-player-collisions: true
  suggest-player-names-when-null-tab-completions: true
  use-alternative-luck-formula: false
  load-permissions-yml-before-plugins: true
  region-file-cache-size: 256
  fix-entity-position-desync: true
  save-empty-scoreboard-teams: false
  console-has-all-permissions: false
  use-display-name-in-quit-message: false
  async-chunks:
    threads: -1
  velocity-support:
    enabled: false
    online-mode: false
    secret: ''
  spam-limiter:
    tab-spam-increment: 1
    tab-spam-limit: 500
    recipe-spam-increment: 1
    recipe-spam-limit: 20
  book-size:
    page-max: 2560
    total-multiplier: 0.98
  loggers:
    use-rgb-for-named-text-colors: true
    deobfuscate-stacktraces: true
  console:
    enable-brigadier-highlighting: true
    enable-brigadier-completions: true
  unsupported-settings:
    perform-username-validation: true
    allow-permanent-block-break-exploits: false
    allow-headless-pistons: false
    allow-piston-duplication: false
    allow-permanent-block-break-exploits-readme: This setting controls if players
      should be able to break bedrock, end portals and other intended to be permanent
      blocks.
    allow-headless-pistons-readme: This setting controls if players should be able
      to create headless pistons.
    allow-piston-duplication-readme: This setting controls if player should be able
      to use TNT duplication, but this also allows duplicating carpet, rails and potentially
      other items
  watchdog:
    early-warning-every: 5000
    early-warning-delay: 10000
  item-validation:
    display-name: 8192
    loc-name: 8192
    lore-line: 8192
    book:
      title: 8192
      author: 8192
      page: 16384
  chunk-loading:
    player-max-chunk-load-rate: -1.0
    min-load-radius: 2
    max-concurrent-sends: 2
    autoconfig-send-distance: true
    target-player-chunk-send-rate: 100.0
    global-max-chunk-send-rate: -1.0
    enable-frustum-priority: false
    global-max-chunk-load-rate: -1.0
    player-max-concurrent-loads: 20.0
    global-max-concurrent-loads: 500.0
  packet-limiter:
    kick-message: '&cSent too many packets'
    limits:
      all:
        interval: 7.0
        max-packet-rate: 500.0
      PacketPlayInAutoRecipe:
        interval: 4.0
        max-packet-rate: 5.0
        action: DROP
timings:
  enabled: true
  verbose: true
  url: https://timings.aikar.co/
  server-name-privacy: false
  hidden-config-entries:
  - database
  - settings.bungeecord-addresses
  - settings.velocity-support.secret
  history-interval: 300
  history-length: 3600
  server-name: Unknown Server
messages:
  no-permission: '&c죄송합니다. 명령어를 사용할 권한이 없습니다.'
  kick:
    flying-player: Flying is not enabled on this server
    flying-vehicle: Flying is not enabled on this server
    authentication-servers-down: ''
    connection-throttle: Connection throttled! Please wait before reconnecting.
world-settings:
  default:
    wateranimal-spawn-height:
      minimum: default
      maximum: default
    slime-spawn-height:
      swamp-biome:
        maximum: 70.0
        minimum: 50.0
      slime-chunk:
        maximum: 40.0
    monster-spawn-max-light-level: -1
    split-overstacked-loot: true
    piglins-guard-chests: true
    map-item-frame-cursor-update-interval: 10
    light-queue-size: 20
    grass-spread-tick-rate: 1
    seed-based-feature-search: true
    seed-based-feature-search-loads-chunks: true
    armor-stands-do-collision-entity-lookups: true
    only-players-collide: false
    allow-vehicle-collisions: true
    portal-search-radius: 128
    portal-create-radius: 16
    portal-search-vanilla-dimension-scaling: true
    max-leash-distance: 10.0
    iron-golems-can-spawn-in-air: false
    prevent-tnt-from-moving-in-water: false
    fix-climbing-bypassing-cramming-rule: false
    water-over-lava-flow-speed: 5
    use-faster-eigencraft-redstone: true
    nether-ceiling-void-damage-height: 0
    fix-items-merging-through-walls: false
    allow-non-player-entities-on-scoreboards: false
    parrots-are-unaffected-by-player-movement: false
    disable-explosion-knockback: true
    keep-spawn-loaded-range: 10
    keep-spawn-loaded: true
    disable-ice-and-snow: false
    disable-thunder: false
    skeleton-horse-thunder-spawn-chance: 0.01
    container-update-tick-rate: 1
    prevent-moving-into-unloaded-chunks: false
    use-vanilla-world-scoreboard-name-coloring: false
    max-auto-save-chunks-per-tick: 24
    baby-zombie-movement-modifier: 0.5
    count-all-mobs-for-spawning: false
    disable-creeper-lingering-effect: false
    duplicate-uuid-resolver: saferegen
    duplicate-uuid-saferegen-delete-range: 32
    filter-nbt-data-from-spawn-eggs-and-related: true
    update-pathfinding-on-block-update: true
    allow-player-cramming-damage: false
    show-sign-click-command-failure-msgs-to-player: false
    fixed-chunk-inhabited-time: -1
    remove-corrupt-tile-entities: false
    experience-merge-max-value: -1
    optimize-explosions: true
    should-remove-dragon: false
    per-player-mob-spawns: true
    falling-block-height-nerf: 0
    tnt-entity-height-nerf: 0
    max-entity-collisions: 8
    fix-wither-targeting-bug: false
    phantoms-do-not-spawn-on-creative-players: true
    phantoms-only-attack-insomniacs: true
    map-item-frame-cursor-limit: 128
    allow-using-signs-inside-spawn-protection: false
    ender-dragons-death-always-places-dragon-egg: false
    armor-stands-tick: true
    enable-treasure-maps: true
    treasure-maps-return-already-discovered: false
    auto-save-interval: 6000
    mob-spawner-tick-rate: 1
    non-player-arrow-despawn-rate: -1
    creative-arrow-despawn-rate: -1
    spawner-nerfed-mobs-should-jump: false
    entities-target-with-follow-range: false
    zombie-villager-infection-chance: -1.0
    zombies-target-turtle-eggs: true
    all-chunks-are-slime-chunks: false
    delay-chunk-unloads-by: 10s
    disable-teleportation-suffocation-check: false
    game-mechanics:
      disable-player-crits: false
      disable-unloaded-chunk-enderpearl-exploit: true
      disable-relative-projectile-velocity: false
      disable-chest-cat-detection: false
      nerf-pigmen-from-nether-portals: false
      disable-sprint-interruption-on-attack: false
      shield-blocking-delay: 5
      disable-end-credits: false
      scan-for-legacy-ender-dragon: true
      fix-curing-zombie-villager-discount-exploit: true
      disable-pillager-patrols: false
      disable-mob-spawner-spawn-egg-transformation: false
      pillager-patrols:
        spawn-chance: 0.2
        spawn-delay:
          per-player: false
          ticks: 12000
        start:
          per-player: false
          day: 5
    anti-xray:
      enabled: false
      engine-mode: 1
      max-block-height: 64
      update-radius: 2
      lava-obscures: false
      use-permission: false
      hidden-blocks:
      - copper_ore
      - deepslate_copper_ore
      - gold_ore
      - deepslate_gold_ore
      - iron_ore
      - deepslate_iron_ore
      - coal_ore
      - deepslate_coal_ore
      - lapis_ore
      - deepslate_lapis_ore
      - mossy_cobblestone
      - obsidian
      - chest
      - diamond_ore
      - deepslate_diamond_ore
      - redstone_ore
      - deepslate_redstone_ore
      - clay
      - emerald_ore
      - deepslate_emerald_ore
      - ender_chest
      replacement-blocks:
      - stone
      - oak_planks
    viewdistances:
      no-tick-view-distance: -1
    wandering-trader:
      spawn-minute-length: 1200
      spawn-day-length: 24000
      spawn-chance-failure-increment: 25
      spawn-chance-min: 25
      spawn-chance-max: 75
    entity-per-chunk-save-limit:
      experience_orb: -1
      snowball: -1
      ender_pearl: -1
      arrow: -1
      fireball: -1
      small_fireball: -1
    door-breaking-difficulty:
      zombie:
      - HARD
      vindicator:
      - NORMAL
      - HARD
    mobs-can-always-pick-up-loot:
      zombies: false
      skeletons: false
    hopper:
      ignore-occluding-blocks: true
      cooldown-when-full: true
      disable-move-event: false
    spawn-limits:
      axolotls: -1
      monster: -1
      creature: -1
      underground_water_creature: -1
      water_creature: -1
      water_ambient: -1
      ambient: -1
    despawn-ranges:
      monster:
        soft: 32
        hard: 128
      creature:
        soft: 32
        hard: 128
      ambient:
        soft: 32
        hard: 128
      underground_water_creature:
        soft: 32
        hard: 128
      water_creature:
        soft: 32
        hard: 128
      water_ambient:
        soft: 32
        hard: 64
      misc:
        soft: 32
        hard: 128
      axolotls:
        soft: 32
        hard: 128
    max-growth-height:
      cactus: 3
      reeds: 3
      bamboo:
        max: 16
        min: 4
    fishing-time-range:
      MinimumTicks: 100
      MaximumTicks: 600
    lootables:
      auto-replenish: false
      restrict-player-reloot: true
      reset-seed-on-fill: true
      max-refills: -1
      refresh-min: 12h
      refresh-max: 2d
    frosted-ice:
      enabled: true
      delay:
        min: 20
        max: 40
    mob-effects:
      undead-immune-to-certain-effects: true
      spiders-immune-to-poison-effect: true
      immune-to-wither-effect:
        wither: true
        wither-skeleton: true
    tick-rates:
      sensor:
        villager:
          secondarypoisensor: 40
      behavior:
        villager:
          validatenearbypoi: -1
    alt-item-despawn-rate:
      enabled: false
      items:
        COBBLESTONE: 300
    unsupported-settings:
      fix-invulnerable-end-crystal-exploit: true
    squid-spawn-height:
      maximum: 0.0
    generator-settings:
      flat-bedrock: false
    feature-seeds:
      generate-random-seeds-for-all: false
    anticheat:
      obfuscation:
        items:
          hide-itemmeta: false
          hide-durability: false
</pre>
```* bukkit.yml
<pre>
settings:
  allow-end: true
  warn-on-overload: true
  permissions-file: permissions.yml
  update-folder: update
  plugin-profiling: false
  connection-throttle: 4000
  query-plugins: true
  deprecated-verbose: default
  shutdown-message: 서버가 종료되었습니다.
  minimum-api: none
spawn-limits:
  axolotls: 5
  water-underground-creature: 5
  monsters: 70
  animals: 10
  water-animals: 5
  water-ambient: 20
  ambient: 15
chunk-gc:
  period-in-ticks: 600
ticks-per:
  axolotl-spawns: 1
  water-underground-creature-spawns: 1
  animal-spawns: 400
  monster-spawns: 1
  water-spawns: 1
  water-ambient-spawns: 1
  ambient-spawns: 1
  autosave: 6000
aliases: now-in-commands.yml
</pre>
</pre>


== 플러그인 목록 ==
실제 서버에서는 jar 파일명과 할당 메모리, Java 버전, 실행 스크립트가 운영 환경에 맞게 조정된다. 공개 문서에는 서버 운영에 필요한 해설을 중심으로 기록하고, 보안상 민감한 값은 공개하지 않는다.
* [[BKCommonLib]]
 
* [[goPaintAdvanced]]
== 주요 설정 ==
* [[Arceon]]
서버 설정은 `server.properties`, Bukkit/Spigot 설정, Paper 설정, 플러그인별 설정으로 나뉜다.
* [[CoreProtect]]
 
* [[마인크래프트/플러그인/Dynmap|Dynmap]] (LiveAtlas)
{| class="wikitable"
* [[EssentialsX]] (AntiBuild | Chat | Discord | GeoIP | Protect | Spawn)
! 설정 파일 !! 주요 내용 !! 운영상 의미
* [[FastAsyncVoxelSniper]]
|-
* [[FastAsyncWorldEdit]]
| `server.properties`
* [[HeadDatabase]]
| 포트, 월드 이름, 게임 모드, 접속 인원, 뷰 거리, 시뮬레이션 거리 등
* [[Custom Images|Images]]
| 서버의 기본 동작과 접속 환경을 결정한다.
* [[Jshader|JShader]]
|-
* [[LiftReloaded]]
| `bukkit.yml`
* [[LILO]]<ref>자체 개발 by [[플레이시티]]</ref>
| Bukkit 계열 기본 설정
* [[LuckPerms]]
| 플러그인 호환성과 기본 서버 동작에 영향을 준다.
* [[Multiverse-Core]]
|-
* [[Notice]]<ref>자체 개발 by JunHyeokShin</ref>
| `spigot.yml`
* [[PlaceholderAPI]]
| Spigot 계열 설정
* [[Scape]]<ref>자체 개발 by [[플레이시티]]</ref>
| Paper에서도 일부 호환 설정으로 사용된다.
* [[Stats]]<ref>자체 개발 by [[플레이시티]]</ref>
|-
* [[Timemachine]]<ref>자체 개발 by [[플레이시티]]</ref>
| `paper-global.yml`
* [[TriggerReactor]]
| Paper 전역 설정
* [[Vault]]
| 전체 서버 성능, 패킷 제한, 메시지, 청크 처리 등에 영향을 준다.
* [[ViaVersion]]
|-
* [[WorldGuard]]
| `paper-world-defaults.yml`
| Paper 월드 기본 설정
| 엔티티, 청크, 안티엑스레이, 월드별 최적화 기본값을 정한다.
|-
| 플러그인 설정
| 권한, 보호, 지도, 백업, 통계 등
| 서버 운영 기능을 실제로 구성한다.
|}
 
긴 설정 파일 전체를 문서에 그대로 싣는 것보다, 운영자가 자주 확인해야 하는 항목과 변경 이유를 함께 설명하는 편이 유지보수에 적합하다. 설정 원본은 서버 내부에서 관리하고, 위키에는 공개 가능한 요약과 주의사항을 기록한다.
 
== 플러그인 구성 ==
플레이시티 블록은 서버 운영과 도시건축을 위해 여러 [[마인크래프트/플러그인|마인크래프트 플러그인]]을 사용한다. 플러그인은 역할별로 나누어 관리하는 것이 좋다.
 
{| class="wikitable sortable"
! 분류 !! 주요 플러그인 !! 역할
|-
| 권한
| [[LuckPerms]], [[Vault]]
| 사용자와 그룹 권한, 권한 연동 관리
|-
| 보호/로그
| [[WorldGuard]], [[CoreProtect]]
| 지역 보호, 블록 변경 기록, 롤백
|-
| 건축 보조
| [[WorldEdit]], [[FastAsyncWorldEdit]], [[Scape]]
| 대규모 건축, 스키매틱, 브러시 작업
|-
| 지도
| [[마인크래프트/플러그인/Dynmap|Dynmap]], [[BlueMap]], [[LILO]]
| 웹 지도, 위치 정보, 공간 정보 제공
|-
| 운영/통계
| [[Plan]], [[Stats]], [[Notice]]
| 서버 활동 분석, 공지 표시, 운영 데이터 수집
|-
| 백업
| [[Timemachine]]
| 월드 데이터 보존과 복구 준비
|-
| 호환성/기반
| [[ProtocolLib]], [[PlaceholderAPI]], [[ViaVersion]], [[BKCommonLib]]
| 다른 플러그인의 기반 기능과 버전 호환성 제공
|}
 
플러그인 목록은 서버 업데이트나 운영 정책에 따라 달라질 수 있다. 문서에는 전체 jar 목록보다 운영상 의미가 큰 플러그인과 역할을 우선 기록한다.
 
== 성능 관리 ==
도시건축 서버에서는 일반 생존 서버와 다른 성능 문제가 발생할 수 있다. 대형 건축물, 넓은 월드, 지도 렌더링, 대량 월드 편집, 백업 작업이 서버 부하에 영향을 준다.
 
주요 점검 항목은 다음과 같다.
 
* TPS와 MSPT
* 청크 로딩과 청크 생성량
* 월드 편집 작업 중 서버 부하
* Dynmap 또는 BlueMap 렌더링 작업량
* 엔티티와 블록 엔티티 수
* 백업 작업 시간
* 플러그인별 처리 시간
 
성능 문제가 발생하면 먼저 로그와 프로파일링 결과를 확인한다. 원인을 확인하지 않은 상태에서 플러그인을 무작정 제거하거나 설정을 크게 낮추면 다른 운영 기능이 깨질 수 있다.
 
== 백업과 복구 ==
플레이시티 블록처럼 장기간 누적된 건축물이 있는 서버에서는 백업이 핵심 운영 기능이다. 월드 파일뿐 아니라 플러그인 데이터, 권한 데이터, 지도 데이터, 설정 파일도 함께 보존해야 한다.
 
백업 대상 예시는 다음과 같다.
 
* 월드 폴더
* `plugins` 폴더와 플러그인 데이터
* 서버 설정 파일
* 권한 데이터
* 로그와 통계 데이터
* 지도 렌더링 데이터 또는 지도 데이터베이스
 
[[Timemachine]]은 플레이시티 블록의 월드 데이터 보존을 위해 사용하는 자체 개발 플러그인이다. 실제 복구 절차는 운영 환경에 따라 달라질 수 있으므로, 공개 문서에는 일반적인 구조와 주의사항을 기록하고 세부 내부 절차는 운영 문서에서 관리한다.
 
== 업데이트 절차 ==
서버 업데이트는 다음 순서로 진행하는 것이 안전하다.
 
# 서버 공지와 점검 시간을 정한다.
# 서버 전체 백업을 만든다.
# Paper, Java, 플러그인 호환성을 확인한다.
# 테스트 환경에서 먼저 실행한다.
# 월드 저장 구조와 설정 파일 변경을 확인한다.
# 주요 명령어, 권한, 보호, 지도, 백업 기능을 점검한다.
# 실제 서버에 반영한다.
# 업데이트 로그를 기록한다.
 
특히 Minecraft 26.x와 Paper 26.1 이후 버전은 Java 요구사항과 월드 저장 구조 변경이 있으므로, 기존 1.21 계열에서 업데이트할 때 별도 검증이 필요하다.


== 업데이트 로그 ==
== 업데이트 로그 ==
[[플레이시티 블록/업데이트 로그]] 문서 참조.
서버 업데이트 로그에는 단순히 버전 번호만 적기보다, 이용자와 운영자에게 영향을 주는 내용을 함께 기록한다.
 
== 구동 원가 ==
위키 서비스와 플레이시티 블록 서비스 합산 기준입니다.


* 2023년 기준 구동 원가 공시
기록 예시:
* 도메인 연 50,000원
* 웹 서비스 연 480,000원
* 서버 구동료(전기) 연 408,000원
* 장기 수선 충당금 연 480,000원


* 2024년 원가 공시
{| class="wikitable"
* 도메인 연 30,000원
! 날짜 !! 변경 내용 !! 영향
* 서비스 연 480,000원
|-
* 서버 구동료(전기) 연 502,000원 (추정)
| 2026년 X월 X일
* 장기 수선 충당금 연 720,000원 (7월부터 80,000원으로 증액)
| Paper 및 마인크래프트 서버 버전 업데이트
| 접속 가능 클라이언트 버전, 플러그인 호환성 확인 필요
|-
| 2026년 X월 X일
| 지도 렌더링 설정 조정
| 지도 갱신 주기와 서버 부하에 영향
|-
| 2026년 X월 X일
| 백업 정책 조정
| 복구 가능 시점과 저장 공간 사용량에 영향
|}


== 각주 ==
== 같이 보기 ==
<references/>
* [[플레이시티 블록]]
* [[플레이시티 블록/서버 가이드]]
* [[플레이시티 블록/업데이트 로그]]
* [[마인크래프트]]
* [[마인크래프트/플러그인]]
* [[Paper(마인크래프트)]]
* [[마인크래프트/플러그인/Dynmap]]
* [[Scape]]
* [[Stats]]
* [[Timemachine]]
* [[LILO]]


[[분류:플레이시티 블록]]
[[분류:플레이시티 블록]]

2026년 6월 1일 (월) 14:42 기준 최신판

서버가이드
소개 · 가이드 · 명령어 · 스키매틱
서버생활
기념일 · 개장안내 · 서버 터진 시각
공시 · 신청 · 블록TV · 서버정보 · 업데이트 로그
· 자연지리 · 교통 · 철도
행정
블록정부 · 지방행정 · 도시통계
아파트 · 마일스톤
경제
기업 · 기업통계 · 시공평가액
사회문화
교육 · 문화유산 · 관광
법령
도시건축법 · 교통법 · 상법 · 블록표준
문서 템플릿 · 운영지침

플레이시티 블록/서버플레이시티 블록에서 사용하는 마인크래프트 서버의 운영 환경, 구동기, 주요 설정, 플러그인 구성, 백업과 업데이트 방식을 정리하는 문서이다. 플레이시티 블록은 장기간 운영되는 도시건축 서버이기 때문에 일반적인 소규모 서버보다 월드 크기, 건축 보조 도구, 지도 렌더링, 권한 관리, 백업 체계가 중요하다.

운영 환경

플레이시티 블록은 마인크래프트: 자바 에디션 기반 서버이다. 서버는 건축과 도시 운영을 중심으로 하며, 다수의 월드 편집 작업과 웹 지도, 자체 개발 플러그인을 함께 사용한다.

운영 환경에서 특히 중요한 요소는 다음과 같다.

  • 장기간 보존되는 대형 월드
  • 건축 보조 플러그인 사용
  • 웹 지도 렌더링과 지도 데이터 관리
  • 권한과 보호 설정
  • 월드 백업과 복구
  • 서버 업데이트 시 플러그인 호환성 점검

서버 버전

현재 서버 버전은 운영 시점에 따라 달라질 수 있다. 버전 정보는 서버 업데이트 로그와 실제 구동 파일을 함께 확인해야 한다.

마인크래프트와 Paper는 2026년부터 버전 체계와 Java 요구사항이 바뀌었기 때문에, 서버 업데이트 전에는 다음 항목을 함께 점검한다.

  • 마인크래프트 서버 버전
  • Paper 빌드
  • Java 버전
  • 플러그인별 지원 버전
  • 월드 저장 구조 변경 여부

구동기

플레이시티 블록 서버는 Paper 계열 구동기를 사용한다. Paper는 Bukkit/Spigot 플러그인 호환성을 유지하면서 성능 개선과 추가 API를 제공하기 때문에, 장기간 운영되는 Java Edition 서버에서 널리 사용된다.

일반적인 Paper 서버 실행 명령은 다음과 같은 형태이다.

java -Xms32G -Xmx32G -jar paper.jar --nogui

실제 서버에서는 jar 파일명과 할당 메모리, Java 버전, 실행 스크립트가 운영 환경에 맞게 조정된다. 공개 문서에는 서버 운영에 필요한 해설을 중심으로 기록하고, 보안상 민감한 값은 공개하지 않는다.

주요 설정

서버 설정은 `server.properties`, Bukkit/Spigot 설정, Paper 설정, 플러그인별 설정으로 나뉜다.

설정 파일 주요 내용 운영상 의미
`server.properties` 포트, 월드 이름, 게임 모드, 접속 인원, 뷰 거리, 시뮬레이션 거리 등 서버의 기본 동작과 접속 환경을 결정한다.
`bukkit.yml` Bukkit 계열 기본 설정 플러그인 호환성과 기본 서버 동작에 영향을 준다.
`spigot.yml` Spigot 계열 설정 Paper에서도 일부 호환 설정으로 사용된다.
`paper-global.yml` Paper 전역 설정 전체 서버 성능, 패킷 제한, 메시지, 청크 처리 등에 영향을 준다.
`paper-world-defaults.yml` Paper 월드 기본 설정 엔티티, 청크, 안티엑스레이, 월드별 최적화 기본값을 정한다.
플러그인 설정 권한, 보호, 지도, 백업, 통계 등 서버 운영 기능을 실제로 구성한다.

긴 설정 파일 전체를 문서에 그대로 싣는 것보다, 운영자가 자주 확인해야 하는 항목과 변경 이유를 함께 설명하는 편이 유지보수에 적합하다. 설정 원본은 서버 내부에서 관리하고, 위키에는 공개 가능한 요약과 주의사항을 기록한다.

플러그인 구성

플레이시티 블록은 서버 운영과 도시건축을 위해 여러 마인크래프트 플러그인을 사용한다. 플러그인은 역할별로 나누어 관리하는 것이 좋다.

분류 주요 플러그인 역할
권한 LuckPerms, Vault 사용자와 그룹 권한, 권한 연동 관리
보호/로그 WorldGuard, CoreProtect 지역 보호, 블록 변경 기록, 롤백
건축 보조 WorldEdit, FastAsyncWorldEdit, Scape 대규모 건축, 스키매틱, 브러시 작업
지도 Dynmap, BlueMap, LILO 웹 지도, 위치 정보, 공간 정보 제공
운영/통계 Plan, Stats, Notice 서버 활동 분석, 공지 표시, 운영 데이터 수집
백업 Timemachine 월드 데이터 보존과 복구 준비
호환성/기반 ProtocolLib, PlaceholderAPI, ViaVersion, BKCommonLib 다른 플러그인의 기반 기능과 버전 호환성 제공

플러그인 목록은 서버 업데이트나 운영 정책에 따라 달라질 수 있다. 문서에는 전체 jar 목록보다 운영상 의미가 큰 플러그인과 역할을 우선 기록한다.

성능 관리

도시건축 서버에서는 일반 생존 서버와 다른 성능 문제가 발생할 수 있다. 대형 건축물, 넓은 월드, 지도 렌더링, 대량 월드 편집, 백업 작업이 서버 부하에 영향을 준다.

주요 점검 항목은 다음과 같다.

  • TPS와 MSPT
  • 청크 로딩과 청크 생성량
  • 월드 편집 작업 중 서버 부하
  • Dynmap 또는 BlueMap 렌더링 작업량
  • 엔티티와 블록 엔티티 수
  • 백업 작업 시간
  • 플러그인별 처리 시간

성능 문제가 발생하면 먼저 로그와 프로파일링 결과를 확인한다. 원인을 확인하지 않은 상태에서 플러그인을 무작정 제거하거나 설정을 크게 낮추면 다른 운영 기능이 깨질 수 있다.

백업과 복구

플레이시티 블록처럼 장기간 누적된 건축물이 있는 서버에서는 백업이 핵심 운영 기능이다. 월드 파일뿐 아니라 플러그인 데이터, 권한 데이터, 지도 데이터, 설정 파일도 함께 보존해야 한다.

백업 대상 예시는 다음과 같다.

  • 월드 폴더
  • `plugins` 폴더와 플러그인 데이터
  • 서버 설정 파일
  • 권한 데이터
  • 로그와 통계 데이터
  • 지도 렌더링 데이터 또는 지도 데이터베이스

Timemachine은 플레이시티 블록의 월드 데이터 보존을 위해 사용하는 자체 개발 플러그인이다. 실제 복구 절차는 운영 환경에 따라 달라질 수 있으므로, 공개 문서에는 일반적인 구조와 주의사항을 기록하고 세부 내부 절차는 운영 문서에서 관리한다.

업데이트 절차

서버 업데이트는 다음 순서로 진행하는 것이 안전하다.

  1. 서버 공지와 점검 시간을 정한다.
  2. 서버 전체 백업을 만든다.
  3. Paper, Java, 플러그인 호환성을 확인한다.
  4. 테스트 환경에서 먼저 실행한다.
  5. 월드 저장 구조와 설정 파일 변경을 확인한다.
  6. 주요 명령어, 권한, 보호, 지도, 백업 기능을 점검한다.
  7. 실제 서버에 반영한다.
  8. 업데이트 로그를 기록한다.

특히 Minecraft 26.x와 Paper 26.1 이후 버전은 Java 요구사항과 월드 저장 구조 변경이 있으므로, 기존 1.21 계열에서 업데이트할 때 별도 검증이 필요하다.

업데이트 로그

서버 업데이트 로그에는 단순히 버전 번호만 적기보다, 이용자와 운영자에게 영향을 주는 내용을 함께 기록한다.

기록 예시:

날짜 변경 내용 영향
2026년 X월 X일 Paper 및 마인크래프트 서버 버전 업데이트 접속 가능 클라이언트 버전, 플러그인 호환성 확인 필요
2026년 X월 X일 지도 렌더링 설정 조정 웹 지도 갱신 주기와 서버 부하에 영향
2026년 X월 X일 백업 정책 조정 복구 가능 시점과 저장 공간 사용량에 영향

같이 보기