# 위어드호스트 Docs

{% hint style="info" %}
꿀&#xD301;**:** 디스코드 서버를 참가하시면 점검, 이벤트 등의 공지를 받으실 수 있어요!
{% endhint %}

안녕하세요! 위어드 호스트를 사용해 주셔서 감사합니다. 궁금증이나 문제가 있으시다면 해결책을 찾아보실 수 있는 위어드호스트 Docs 입니다. 누락된 사항이나 다른 도움이 필요하시면 디스코드해 문의해 주시면 도와드리겠습니다! \
감사합니다!

{% embed url="<https://discord.com/invite/nV3X4aPCKF>" %}
디스코드
{% endembed %}

## 중요한 정보

{% content-ref url="/pages/S9cBNvqaR7NcSidBnRi1" %}
[무료 마인크레프트 서버 개설](/getstarted/mc)
{% endcontent-ref %}

{% content-ref url="/pages/4ZwlMV2tbBu4xqfrYMBs" %}
[파이썬, 노드JS 서버 개설](/getstarted/pyjs)
{% endcontent-ref %}

{% content-ref url="/pages/7wG4SxX2CyCq4UVE4FX8" %}
[기초 서버 관리](/getstarted/manage)
{% endcontent-ref %}

{% content-ref url="/pages/deGluIEweY8xl5xZk7wS" %}
[파일 관리](/faq/undefined)
{% endcontent-ref %}


# 무료 마인크레프트 서버 개설

위어드 호스트의 기초, 무료 서버 만들어보세요!

{% embed url="<https://hub.weirdhost.xyz/>" %}

1. 위 링크로 접속하여 계정이 있으시다면 로그인, 없으시다면 계정을 생성합니다.
2. 무료 서버 신청하기 버튼을 클릭하여 서버를 생성합니다.
3. 원하시는 서버 구동기 (종이, 포지, 등) 을 선텍하신 후 서버 만들기 버튼을 클릭합니다.
4. 서버 설치를 잠시 기다려 주신 후 바로 사용이 가능하십니다!


# 파이썬, 노드JS 서버 개설

파이썬, 노드JS 봇을 무료로 호스팅이 가능합니다!

## 신청 방법

1. 위어드 호스트 [봇 호스팅 사이트](https://hub.weirdhost.xyz/notfreeservers)로 접속합니다.

{% embed url="<https://hub.weirdhost.xyz/notfreeservers>" %}
봇 호스팅 사이트
{% endembed %}

2. Nodejs 또는 Python서버를 선택합니다.
3. "서버 만들기"를 클릭하고 잠시후 서버가 생성됩니다.
4. 웹 업로드를 사용하시거나 [SFTP](/faq/undefined/sftp)사용하셔서 코드를 옮기신 후<img src="/files/4mATBh8FYlRuZuE4dMOl" alt="" data-size="line">버튼을 누르시면 봇을 실행하실 수 있습니다.


# 기초 서버 관리

파이썬, 노드JS 봇을 무료로 호스팅이 가능합니다!

## 서버 시작, 종료, 제시작

* <img src="/files/4mATBh8FYlRuZuE4dMOl" alt="" data-size="line">버튼을 누르시면 서버를 실행하실 수 있습니다.

## 화이트리스트

서버 보안을 위해 화이트리스트를 강력히 추천드리고있습니다.

{% content-ref url="/pages/6yBXeLtfUFXCwsrlyMjR" %}
[화이트리스트](/minecraft/whites-and-lists)
{% endcontent-ref %}


# 질문 FAQ

자주 물어보는 질문들이에요! 한번 읽어보시는걸 추천드려요!

## 서버 생성 오류

```
An unexpected error was encountered while processing this request, please try again
```

지속적으로 서버 생성시 같은 오류가 나온다면 1\~2시간 이후에 다시 시도해보세요!

## 서버 Jar 파일 실종

```
Error: Unable to access jarfile server.jar
```

서버가  jar 파일 자동설치를 실패했어요,  재설치를 시도해보는 방법이나, 수동으로서  Jar 파일을 직접 업로해주세요!

{% content-ref url="/pages/FxRQyxnQnXagmaDGnSvq" %}
[서버 버전 변경하기](/minecraft/version)
{% endcontent-ref %}

## Exit Code : 1

```
---------- Detected server process in a crashed state! ----------
Exit code: 1
Out of memory: false
Checking server disk space usage, this could take a few seconds...
Updating process configuration files...
Ensuring file permissions are set correctly, this could take a few seconds... 
```

서버가 시작을 실패하거나,   충돌이 생기면 표시되는 오류입니다.  해당 택스트 **위에** 표시되는 오류가 있는지 읽어보세요!

{% hint style="warning" %}
해당 문구만으로는 정확한 오류 원인의 파악이 불가능해요.
{% endhint %}

## 파일 업로드 오류

```
Network Error
```

SFTP를 사용해서 파일을 업로드해주세요!

{% content-ref url="/pages/VGiOCWB3OF8QowU5FYLi" %}
[SFTP 사용법](/faq/undefined/sftp)
{% endcontent-ref %}

## 서버 연장

| 서버                | 연장기간                       |
| ----------------- | -------------------------- |
| 자바 (포지, 페이퍼, 패브릭) | 24시간, 120시간 (5일) 미연장시 자동삭제 |
| Python / Nodejs   | 1주일, 1주일 이상 미연장시 자동삭제      |
|                   |                            |


# 계정 비밀번호

디스코드 SSO를 통한 로그인시, 계정의 기본 비밀번호는 디스코드 계정 ID입니다.

디스코드 ID를 구하는 가이드는, 아래 블로그를 참고해주세요.

{% embed url="<https://discordbot.tistory.com/151>" %}

```
비밀번호 예시: 757550907226456084
```


# 파일 관리

파일 관리에 관한 질문들의 답변입니다! 추가로 필요하신 사항이 있으시면 디스코드로 문의해주세요!

## 100MB 이상 파일 업로드

파일질라를 이용한 SFTP를 사용하면 쉽고 안전하게 큰 파일을 서버로 옮기실 수 있습니다.

{% content-ref url="/pages/VGiOCWB3OF8QowU5FYLi" %}
[SFTP 사용법](/faq/undefined/sftp)
{% endcontent-ref %}

## 폴더 업로드

폴더 업로드도 마찬가지로 SFTP를 사용하시면 서버로 이동이 가능합니다!

{% content-ref url="/pages/VGiOCWB3OF8QowU5FYLi" %}
[SFTP 사용법](/faq/undefined/sftp)
{% endcontent-ref %}


# SFTP 사용법

SFTP로 맵 적용, 서버 파일 적용에 사용되는 SFTP입니다. 100MB 한도가 없고 폴더 업로드가 가능하여 더욱 편리한 서버 개발이 가능합니다.

{% hint style="info" %}
**팁: SFTP 사용시 모든 파일 작업에 대해 undo 작업이 안되니 파일을 신중히 업로드 해주세요!**
{% endhint %}

## 파일질라 사용법

1. FileZilla SFTP 클라이언트 다운로드 및 설치
   * FileZilla SFTP 클라이언트를 공식 [웹 사이트](https://filezilla-project.org/download.php?type=client) (혹은 아래 링크) 에서 맥, 윈도우, 리눅스 선택 (<img src="/files/Cqn6dhu71X05tL9kI71I" alt="" data-size="line">) 후 다운로드 합니다 <img src="/files/Eq2Q3IO3E5U22GuppIZn" alt="" data-size="line">.&#x20;
   * 다운로드가 완료되면 설치 파일을 실행하고 설치 프로세스를 따릅니다.

<table data-full-width="true"><thead><tr><th align="center">윈도우 10, 11 (64Bit)</th><th align="center">윈도우 8.1, 10 (32Bit)</th><th align="center">맥 M시리즈</th><th align="center">맥 인텔 시리즈</th></tr></thead><tbody><tr><td align="center"><a href="https://download.filezilla-project.org/client/FileZilla_3.66.5_win64_sponsored2-setup.exe">링크</a></td><td align="center"><a href="https://dl3.cdn.filezilla-project.org/client/FileZilla_3.66.5_win32.zip?h=CQ3K-xXmfFndwbKvh5I5cw&#x26;x=1711434621">링크</a></td><td align="center"><a href="https://dl2.cdn.filezilla-project.org/client/FileZilla_3.66.5_macos-arm64.app.tar.bz2?h=KwGRU1WBunfgSv8wsVzDfQ&#x26;x=1711434634">링크</a></td><td align="center"><a href="https://dl2.cdn.filezilla-project.org/client/FileZilla_3.66.5_macos-x86.app.tar.bz2?h=LARrZZgLicbABnapyZXt5g&#x26;x=1711434648">링크</a></td></tr></tbody></table>

1. FileZilla 실행
   * 설치가 완료되면 FileZilla를 실행합니다.
2. 호스트 서버 연결 설정&#x20;

   * FileZilla를 실행하면 “호스트 (Host)”, “사용자명 (User)”, “비밀번호 (Password)”, "포트 (Port) 등의 필드가 있는 패널이 파일질라 윗부분에 **표시**됩니다.

   <figure><img src="/files/nqJvE1vVQz2taPKW4OL3" alt=""><figcaption></figcaption></figure>

   * “FileZilla의 호스트 (Host)” 필드에 SFTP "서버 IP" (아래 링크 참고)

{% content-ref url="/pages/ItLYOzI422R9Xo6uqvHE" %}
[SFTP 서버 목록](/faq/sftp)
{% endcontent-ref %}

* “USERNAME” (위어드 호스트 서버 패널 설정 텝에서 찾으실 수 있습니다)을 파일질라의"사용자명 (Username)" 칸에 입력합니다.

<figure><img src="/files/SsGreIUziIqTS8DpRnlD" alt=""><figcaption></figcaption></figure>

* “비밀번호 (Password)”(본인 위어드 호스트 계정 비밀번호와 동일합니다) 필드에 해당 정보를 입력합니다. (디스코드로 로그인시 위어드 호스트 계정 비밀번호를 한번 바꿔주세요)

1. 연결 – “연결 (Quickconnect)” 버튼을 선택합니다.
2. 파일 전송 및 관리 – 연결에 성공하면 FileZilla 화면에 로컬 파일 시스템과 원격 서버 파일 시스템이 표시됩니다. – 로컬 파일 시스템에서 파일을 선택하고 서버로 드래그하여 파일을 업로드합니다. – 원격 서버에서 파일을 선택하고 로컬로 드래그하여 파일을 다운로드합니다. – 파일 및 폴더를 복사, 이동 또는 삭제하는 등 다양한 파일 관리 작업을 수행할 수 있습니다.


# SFTP 서버 목록

<figure><img src="/files/lM2gGiXmdCaaqL8qADYm" alt=""><figcaption></figcaption></figure>

## 무료서버 (krf#)

| 서버 이름 | SFTP 접속주소                       |
| ----- | ------------------------------- |
| krf2  | sftp\://0cdn.weirdhost.xyz:2022 |
| krf3  | sftp\://0cdn.weirdhost.xyz:2023 |
| krf4  | sftp\://0cdn.weirdhost.xyz:2024 |
| krf6  | sftp\://0cdn.weirdhost.xyz:2026 |
| krf7  |                                 |
| krf8  | sftp\://0cdn.weirdhost.xyz:2028 |

```
sftp://0cdn.weirdhost.xyz:2022
sftp://0cdn.weirdhost.xyz:2023
sftp://0cdn.weirdhost.xyz:2024
sftp://0cdn.weirdhost.xyz:2026
-
sftp://0cdn.weirdhost.xyz:2028
```

## 플러스 서버 (krp#)

| 서버 이름           | SFTP 접속주소                        |
| --------------- | -------------------------------- |
| krp5            | sftp\://1cdn.weirdhost.xyz:2222  |
| krp5.5          | sftp\://1cdn.weirdhost.xyz:22255 |
| krp6            | sftp\://1cdn.weirdhost.xyz:2226  |
| krp7 \[Elite]   | sftp\://1cdn.weirdhost.xyz:2227  |
| krp7.5 \[Elite] | sftp\://1cdn.weirdhost.xyz:22275 |
| krp7.8 \[Elite] | sftp\://1cdn.weirdhost.xyz:22278 |
| krp8 \[Elite]   | sftp\://1cdn.weirdhost.xyz:2228  |

```
sftp://1cdn.weirdhost.xyz:2222
sftp://1cdn.weirdhost.xyz:22255
sftp://1cdn.weirdhost.xyz:2226
sftp://1cdn.weirdhost.xyz:2227
sftp://1cdn.weirdhost.xyz:22275
sftp://1cdn.weirdhost.xyz:2228
```

그 후 방법은 아래 참고해주세요.

{% content-ref url="/pages/VGiOCWB3OF8QowU5FYLi" %}
[SFTP 사용법](/faq/undefined/sftp)
{% endcontent-ref %}


# 화이트리스트

서버 보안을 위해 화이트리스트를 설정해봐요

<figure><img src="/files/w6hRvjubTQF06jdRkdg1" alt=""><figcaption></figcaption></figure>

서버 콘솔창에, 아래 커맨드로 화이트리스트를 켜주세요.

```
whitelist on
```

<figure><img src="/files/avSReYsWCDcICZMi4Ymv" alt=""><figcaption><p>서버 설정 탭에 있어요! 일부 서버는 기능이 안될수도있어요</p></figcaption></figure>

화이트리스트 활성화후, 서버 재시작을 해주세요!

### 플레이어 추가하기

```
whitelist add (닉네임)
```

<figure><img src="/files/7MTigNtw8QZNUeQQmD7Q" alt=""><figcaption></figcaption></figure>

### 플레이어 제거하기

<pre><code><strong>whitelist remove (닉네임)
</strong></code></pre>

<figure><img src="/files/wFlmBoLsDKfAYiq42ASF" alt=""><figcaption></figcaption></figure>

### 화이트리스트 플레이어 조회

<figure><img src="/files/CmCt5sXsBJmRZjFRnzVp" alt=""><figcaption><p>패널에, 플레이어 관리 탭에 있어요!</p></figcaption></figure>


# 커맨드블럭 활성화

마인크래프트 서버에서 커맨드블럭을 활성화하는 방법을 다루는 가이드에요.

<figure><img src="/files/BiVX35ZTi94YfHwk9JK9" alt=""><figcaption><p>파일 관리 탭</p></figcaption></figure>

server.properties 파일의  위치를 찾고, 이름을 클릭해서 열어주세요.

<figure><img src="/files/ptDnUlwa4YIVuYDLXG0t" alt=""><figcaption></figcaption></figure>

enable-command-block란을 false에서 true로 변경한 후, 위에 **저장** 버튼을 눌러주세요.

```
enable-command-block=true
```

<figure><img src="/files/1nWkegjOuMQyMQUmo95O" alt=""><figcaption><p>콘솔 탭</p></figcaption></figure>

서버를 재시작하면 커맨드블럭 사용이 가능해요!


# 평지맵 만들는법

위어드호스트 마인크래프트 서버에서 평지맵을 만들는 방법을 알아봐요!

{% content-ref url="/pages/BfLejiacgHKZi3iFRRP5" %}
[시작하기](/getstarted/mc)
{% endcontent-ref %}

마인크래프트 서버를 개설후, server.properties 파일을 찾은후 마우스로 파일 이름을 눌러서 열어주세요,

<figure><img src="/files/ktFXYiZSt8vkBb30OAfN" alt=""><figcaption></figcaption></figure>

***

{% content-ref url="/spaces/VkJmXC0Zry3o8BxDQbFQ/pages/6yBXeLtfUFXCwsrlyMjR" %}
[화이트리스트](/minecraft/whites-and-lists)
{% endcontent-ref %}

<figure><img src="/files/GSZjK4pu0snSycTlCkx9" alt=""><figcaption></figcaption></figure>

server.properties 파일에서, "level-type="를 찾아주세요

<figure><img src="/files/rGPYF18tdtpOBeP3DwMz" alt=""><figcaption></figcaption></figure>

level-type=minecraft\\:normal 에서, level-type=minecraft\\:flat 으로 변경해주세요

**default** - 기본 월드. 언덕, 계곡, 물 등이 생성된다.\
**flat** - 평지. 마을 밖에 없고, 주로 건축용으로 이용된다.\
**largeBiomes** - 기본 월드와 같으나 생물 군계의 구역 기본보다 더 커진다.\
**amplified** - 기본 월드와 같으나 높이가 더 증가한다.\
**buffet** - 뷔페. 1.15 또는 그 이전 버전에만 가능하다. generator-settings를 설정하지 않으면 기본값과 같다.\
**default\_1\_1** - 1.15 이전 버전에만 사용 가능하다.\
**customized** - generator-settings에서 설정한 프리셋을 사용한다.

{% embed url="<https://namu.wiki/w/server.properties>" %}

{% hint style="info" %}
<https://namu.wiki/w/server.properties> 참고
{% endhint %}

<figure><img src="/files/QzeUPHBDrhSpMFSsbHZ2" alt=""><figcaption></figcaption></figure>

파일 저장을 위해 저장하기 버튼을 꼭 눌러주세요.

<figure><img src="/files/ENO34bNZiFDNILz9PNAR" alt=""><figcaption></figcaption></figure>

새로운 월드 생성을 위해 world 폴더를 삭제해주세요

<figure><img src="/files/4mATBh8FYlRuZuE4dMOl" alt="" width="40"><figcaption><p>서버 시작</p></figcaption></figure>

서버 시작 버튼을 누르면 끝!


# 서버 버전 변경하기

## 서버 파일 (Paper, Purpur)

1. 서버를 정지하시고 백업을 진행해 주세요. 백업 미실행으로 인한 피해는 책임지지 않습니다.
2. 원하시는 마인크레프트 버전 .jar파일을 다운로드 해주세요.

{% embed url="<https://papermc.io/downloads/all>" %}
종이서버 .jar 파일
{% endembed %}

{% embed url="<https://purpurmc.org/downloads>" %}
Purpur .jar 파일
{% endembed %}

## 버전 변경

1. 서버 폴더에 이미 server.jar파일이 존제하면 삭제해주세요.
2. server.jar파일이 없거나 삭제 완료후 다운로드한 .jar파일을 업로드해주세요.
3. .jar파일의 이름이 server.jar인지 꼭 확인해주세요. server.jar이 아닌 경우에는 server.jar로 바꿔주세요.
4. 서버를 제시작 후 버전이 변경됩니다.


# 포지 (개정)

더 간편한 방법으로 개정된 가이드에요! 진행하기전에, 중요한 파일이 있으면 꼭! 백업을 해주세요!

<figure><img src="/files/l0BBP7WuolrqYQyxFrCD" alt=""><figcaption></figcaption></figure>

패널 서버시작탭에 Variables 아래 버전란을 설치하시려는 버전으로 변경해주세요! (예시: 1.20.1)

{% hint style="warning" %}
서버 버전에 따라 자바 버전 변경이 필요할수도있습니다.&#x20;
{% endhint %}

<figure><img src="/files/9MVmP8PsoVDmxwTJlG7i" alt=""><figcaption></figcaption></figure>

기존에 있던 파일을 모두삭제해주세요.&#x20;

<figure><img src="/files/Wm1vVMLhQe1DQP5UVqGb" alt=""><figcaption></figcaption></figure>

설정탭에 서버 재설치 버튼을 누르고 재설치를 기다리면 끝!

{% hint style="danger" %}
서버 버전에 따라 설치가 안되거나 오류가 있을수도있어요! 이전 포지 변경 가이드로 시도해보세요!
{% endhint %}


# 포지

진행하기전에, 중요한 파일이 있으면 꼭! 백업을 해주세요!

## 포지 다운로드 하기

{% embed url="<https://files.minecraftforge.net/net/minecraftforge/forge/>" %}

<figure><img src="/files/7eByM0aHZGmiZAcG8PZn" alt=""><figcaption></figcaption></figure>

옆에서 원하시는 포지 버전 선택후, Download Latest (최신버전) 아니면 Download Recommended (추천버전) 중에 골라서 Installer 박스를 눌러서 포지를 다운받아주세요.

***

<figure><img src="/files/qm8xw2On53aek5YjvLtP" alt=""><figcaption></figcaption></figure>

Install Server 선택후, 다운로드 경로를 찾기 쉬운 폴더로 설정해주세요. (추천: 다운로드 폴더에서 새로운 폴더 생성)

***

<figure><img src="/files/o7m4yhlVBoT4lH1PnS6X" alt=""><figcaption><p>ok 버튼 누른후의 화면</p></figcaption></figure>

<figure><img src="/files/patzfhoKIRVdofnKpybh" alt=""><figcaption></figcaption></figure>

패널로 가서, 중요한 파일은 백업후 서버의 모든 파일을 삭제해주세요.&#x20;

***

<figure><img src="/files/6JStQDUPzvO9YgAkWrdD" alt=""><figcaption></figcaption></figure>

다시 돌아와서, 포지가 설치된 폴더로 이동후, 해당 폴더에 모든 파일을 SFTP 이용해서서버로 이동시켜주세요. (SFTP란 참고)

{% content-ref url="/pages/VGiOCWB3OF8QowU5FYLi" %}
[SFTP 사용법](/faq/undefined/sftp)
{% endcontent-ref %}

***

***

<figure><img src="/files/P9UbEKJcwKXNcLkIpOF0" alt=""><figcaption></figcaption></figure>

서버 시작 버튼 누르고 끝!

{% hint style="info" %}
server.properties 파일에 포트 변경이나, 추가적인 설정이 필요할수도있어요!
{% endhint %}

##


# 패브릭

{% content-ref url="/pages/FxRQyxnQnXagmaDGnSvq" %}
[서버 버전 변경하기](/minecraft/version)
{% endcontent-ref %}


# Nodejs


# 디펜던시 설치

{% embed url="<https://phsun102.tistory.com/28>" %}

Nodejs 서버는 패널 콘솔을 이용한 npm install 같은 커맨드의 실행이 안됩니다.

```json
{
  "name": "Very cool discord chat bot",
  "version": "1.0.0",
  "description": "A bot",
  "main": "index.js",
  "scripts": {
    "test": "test"
  },
  "keywords": [],
  "author": "someone",
  "license": "ISC",
  "dependencies": {
    "discord.js": "^14.8.0",
    "dotenv": "^16.0.3",
    "openai": "^3.2.1"
  }
}

# Package.json의 예시
```

**package.json** 이라는 이름의 파일로 서버가 필요한 디펜던시를 적어두면 서버 실행시 설치가 자동으로 진행됩니다.

*디펜던시 관련 문제사항 공식적인 지원이 없습니다, 일부 기능 (예시: selenium, chromedriver)는  작동이 안될수도 있습니다*.

디펜던시 설치 공간은 서버 저장공간과 달라요. 100메가 초과시 OS 오류가 표시됩니다.


# Python


# 디펜던시 설치

{% embed url="<https://sosoeasy.tistory.com/597>" %}

Python 서버는 패널 콘솔을 이용한 pip 커맨드의 실행이 안됩니다.

```
discord.py==2.3.2
python-dotenv==1.0.0
asgiref==3.6.0
openai==1.13.3
selenium==4.9.1
g4f==0.2.7.2
g4f[all]

# requirements.txt의 예시
```

**requirements.txt** 이라는 이름의 파일로 서버가 필요한 디펜던시를 적어두면 서버 실행시 설치가 자동으로 진행됩니다.

*디펜던시 관련 문제사항 공식적인 지원이 없습니다, 일부 기능 (예시: selenium, chromedriver)는  작동이 안될수도 있습니다*.

디펜던시 설치 공간은 서버 저장공간과 달라요. 100메가 초과시 OS 오류가 표시됩니다.


# MAX 대시보드

<figure><img src="/files/Qr8PdXdRLotX2wbSF5Oi" alt=""><figcaption></figcaption></figure>

&#x20;위어드호스트 MAX 대시보드는 하단의 구름 아이콘으로 접근이 가능해요.

<figure><img src="/files/a6SyhAL8EZrUwOXZa466" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/UvrxNG4XWwXQdpdlmZLy" alt=""><figcaption></figcaption></figure>


# 시작 커맨드 변경

최적화된 시작 커맨드로 변경해요.

<figure><img src="/files/xy2jRBmcFIwRCmq0WhRj" alt=""><figcaption></figcaption></figure>

수정 버튼을 클릭하여 시작 커맨드 변경이 가능해요.

<figure><img src="/files/YabEHkmTldTNoY5TIMgj" alt=""><figcaption></figcaption></figure>

```
java -Xms128M -XX:MaxRAMPercentage=85.0 -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+DisableExplicitGC -XX:G1ReservePercent=20 -XX:InitiatingHeapOccupancyPercent=15 -XX:+PerfDisableSharedMem -Dterminal.jline=false -Dterminal.ansi=true -Duser.timezone=Asia/Seoul -jar {{SERVER_JARFILE}} --nogui
```


# 서버 설치 변경

패널에서 간편하게 서버 설치 이미지 변경이 가능해요.

<figure><img src="/files/iHhTqWpmpt7iWcdKXhbK" alt=""><figcaption></figcaption></figure>

<p align="center">서버 이미지 변경 기능으로, 원하는 서버 설치를 선택해주세요.</p>

<figure><img src="/files/Hr9xHjPYD2UD9hwp5Wt7" alt=""><figcaption></figcaption></figure>

<p align="center">완전한 재설치를 위해, 서버 파일 삭제 선택후, "변경할래요." 를 클릭해주세요. </p>

<p align="center">재설치 과정이 3분이상 소요될수도 있어요.</p>


# 프록시 프로토콜

## 개요

<figure><img src="/files/Z2zaa97t5DyVRFehTWLT" alt=""><figcaption></figcaption></figure>

프록시 프로토콜(Proxy Protocol)은\
Wrdefense+를 통해서 플레이어가  접속할때\
**실제 접속한 클라이언트의 IP 주소를 서버에 전달해 주는 방식**이에요.

일반적인환경에서는,\
서버 로그에 실제 유저 IP가 아닌 Wrdefense+ **서버의 IP**만 표시됩니다.\
이로 인해 IP 기반 기능이 제대로 동작하지 않는 문제가 발생할 수  있어요.

## 중요 정보

프록시 프로토콜은 네트워크 설정만으로 자동 적용되지 않아요!

프록시 프로토콜을 사용하는 경우,\
별도로 **프록시 프로토콜을 인식하도록 설정해주셔야해요.**&#x20;

일부 사용 환경에서는, 접속 오류가 발생할수도 있어요.

{% content-ref url="/pages/ZZHANwKjE6DLrFRcQHjo" %}
[Paper (페이퍼)](/plus/proxyproto/paper)
{% endcontent-ref %}

{% content-ref url="/pages/0BfhLuRl73JcmaWUa8nN" %}
[포지 (Forge)](/plus/proxyproto/forge)
{% endcontent-ref %}

{% content-ref url="/pages/cgFfj5PJkZWWrtdqPTDR" %}
[패브릭](/minecraft/version/fabric)
{% endcontent-ref %}

## 프록시 프로토콜 활용 예시:

#### 비활성화

```log
[11:56:08] [User Authenticator #0/INFO]: UUID of player mohyomi is 5c803b2d-02d0-4f8e-8f50-965cdfc48714
[11:56:09] [Server thread/INFO]: mohyomi joined the game
[11:56:10] [Server thread/INFO]: mohyomi[/111.111.111.111:62672] logged in with entity id 44 at ([world]0, 0, 0)
```

<p align="center">플래이어  접속시, 표시되는 ip 주소 111.111.111.111는 Wrdefense+의 주소에요.</p>

<p align="center">이 경우 다음과 같은 제한이 있어요.</p>

* 모든 유저가 동일한 IP로 인식됨
* IP 밴, IP 화이트리스트가 정상적으로 작동하지 않음

#### 활성화

```log
[11:56:08] [User Authenticator #0/INFO]: UUID of player mohyomi is 5c803b2d-02d0-4f8e-8f50-965cdfc48714
[11:56:09] [Server thread/INFO]: mohyomi joined the game
[11:56:10] [Server thread/INFO]: mohyomi[/123.123.123.123:68642] logged in with entity id 44 at ([world]0, 0, 0)
```

<p align="center">프록시 프로토콜 사용시, 123.123.123.123은 접속 플래이어의 공개 ip에요.</p>

<p align="center">Wrdefense+ 뒤에 숨겨진 <strong>실제 접속 플레이어의 공개 IP</strong>를 인식할 수 있어요!</p>

<p align="center">이는 다음과 같은 이점이 있어요.</p>

* 접속 로그에 실제 유저 IP 기록
* IP 밴, 국가 차단, 접속 제한 등 IP 기반 기능 정상 작동
* 보안 및 관리 목적의 정확한 유저 식별 가능

## 추가 정보

<figure><img src="/files/difn5o6hFG7me62cBrG9" alt="" width="375"><figcaption></figcaption></figure>

<p align="center">활성화 클릭시, 나타나는 룰렛이에요.</p>

```ts
const segments = 6;
const segmentAngle = (Math.PI * 2) / segments;
```

<p align="center">룰렛은 원형이므로, 모든 위치는 <strong>각도(라디안)</strong> 로 계산해요.</p>

```ts
const successSegments = [1, 3, 5];
const targetSegmentIndex =
    successSegments[Math.floor(Math.random() * successSegments.length)];
```

<p align="center">결과는 회전 전에 이미 결정되고, <code>꽝</code> 세그먼트는 제외하고, <code>성공</code> 세그먼트만 후보로 사용해요.</p>

```ts
const segmentOffset =
    -(targetSegmentIndex * segmentAngle + segmentAngle / 2);
```

<p align="center">선택된 <code>성공</code> 세그먼트의 <strong>중앙이 화살표 아래에 오도록</strong> 목표 각도를 계산해요.</p>

```ts
const fullRotations = 8 + Math.floor(Math.random() * 5);
const totalRotation =
    fullRotations * Math.PI * 2 + segmentOffset;
```

<p align="center">자연스럽게 보이기 위해 여러 바퀴를 먼저 돌려줘요.</p>

```ts
currentRotation =
    slowDownStartRotation +
    (totalRotation - slowDownStartRotation) * easeOutCubic(progress);
```

<p align="center">룰렛이 감속하면서, 현재 회전 각도에서 <code>totalRotation</code>까지 부드럽게 이동해요.</p>

```ts
currentRotation = totalRotation;
```

<p align="center">최종적으로, 룰렛은 꽝 없이 100% 확률로 성공에서 멈춰요!</p>

<p align="center">프록시 프로토콜과 연관성이 없는 기능 및 설명으로, 단순한 시각적으로 매리트가 있는 룰렛이에요.</p>


# Paper (페이퍼)

{% embed url="<https://docs.papermc.io/paper/reference/global-configuration/>" %}

<figure><img src="/files/nlYJblocfevszmpt59EZ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/19riBBW78aXAMgenqKAP" alt=""><figcaption></figcaption></figure>

```yml
proxies:
  bungee-cord:
    online-mode: true
  proxy-protocol: true # false에서 true로 변경해주세요.
```


# 포지 (Forge)

{% embed url="<https://www.curseforge.com/minecraft/mc-mods/proxy-protocol-support>" %}

{% hint style="warning" %}
베타 버전의 지원으로, 접속 문제나 예기치 못한 문제가 발생할수있어요.
{% endhint %}


# Fabric (패브릭)

{% embed url="<https://modrinth.com/mod/proxy-protocol-support>" %}


# 아이템에더 (ItemsAdder)

아이템에더의 리소스팩 zip 파일을 호스팅해요.

{% embed url="<https://itemsadder.devs.beer/plugin-usage/first-install>" %}

{% embed url="<https://cryptosalamander.tistory.com/113>" %}

<p align="center">아이템에서 리소스팩 호스팅을 위해서, 깃허브   릴리스를사용할 예정이에요!</p>

<p align="center">위어드호스트 플러스는, Self-host 방식의 리소스팩 파일 호스팅을 지원하고 있지 않아요.</p>

<p align="center">로그인 이후, 업로드 버튼을 이용해서 생성된 리소스팩의 zip 파일을 업로드해주세요.</p>

<figure><img src="/files/6c24oPojdPRFFmDxC0zO" alt=""><figcaption></figcaption></figure>

<p align="center">리소스팩의 zip 파일을 업로드후, 릴리스를 등록해주세요.</p>

<figure><img src="/files/pIa8PlZs4LEpU2QAUjF2" alt=""><figcaption></figcaption></figure>

<p align="center">zip 파일에 우클릭 이후, 링크 주소를 복사해주세요.</p>

```yml
resource-pack:
  hosting:
    no-host:
      enabled: false # FALSE!
    auto-external-host:
      enabled: false
    self-host:
      enabled: false # ALSO FALSE!!
      server-ip: 0.0.0.0
      pack-port: 27353
    external-host:
      enabled: true # This one's TRUE!
      url: (깃허브 릴리스 zip 링크)
      skip-url-file-type-check___DONT_ASK_HELP_IF_SET_TRUE: false
    lobfile:
      enabled: false
```


# 자동 지불 설정

<figure><img src="/files/YFigFGsHmz45imGvlj72" alt=""><figcaption></figcaption></figure>

<p align="center">위어드호스트 결제관리 페이지에서 청구서를 선택한 이후, 하단에 <strong>"자동이체 설정하기"</strong> 버튼을 클릭해주세요.</p>

<figure><img src="/files/qmF4TrCibyO3tm5xDRza" alt=""><figcaption></figcaption></figure>

<p align="center">자동 이체 설정 시, 고유의 입금자명이 부여되요. 해당 이름을 <strong>받는 분에게 표시될 이름으로 설정해주세요.</strong></p>

{% embed url="<https://blog.naver.com/sapphire_117/224017662726>" %}

<p align="center">은행 앱의 따라서, <strong>예약이체</strong>로도 표시될수있어요. </p>

<h4 align="center">받는 분에게 표시될 이름이 꼭 부여된 4글자입금자명과 동일해야해요!</h4>

<figure><img src="/files/JkN6OTaItlK9k2cMUqeT" alt=""><figcaption></figcaption></figure>

<p align="center">구매하신 플랜의 청구서는 매달 플랜 만료 2주 이전에 생성되요.</p>

<p align="center">6월 14일까지가 지불일인 청구서의 경우, <strong>매달</strong> 12일이나 13일에 자동이체가 되도록 설정해주시면 되어요.</p>

{% hint style="info" %}

{% endhint %}

## 잔액 추가

<figure><img src="/files/I6otgyo9m6XHI7zIWlij" alt=""><figcaption></figcaption></figure>

<p align="center">자동 지불이 활성화된 상태에서 생성된 청구서가 <strong>모두 결제</strong>되었거나, 청구서 금액보다 <strong>더 많은 금액</strong>을 입금하신 경우 <strong>초과 금액</strong>은 계정 잔액으로 자동 추가됩니다.</p>

<p align="center">추가된 잔액은 크레딧으로 보관되며, 이후 생성되는 청구서 결제 시 <strong>일반 결제 금액</strong>처럼 사용할 수 있습니다. 잔액이 충분한 경우, <strong>해당 잔액을 사용하여 청구서를 결제할 수 있습니다.</strong></p>


# 패널 광고 개시

#### 위어드호스트 HandBill를  통해서, 패널 광고슬롯에에 광고 개시가 가능해요.

***

| 사이즈 / 포멧          | .png / .jpg | .webm / .gif |
| ----------------- | ----------- | ------------ |
| 728x90 (긴 형태)     | O           | O            |
| 300x250 (내모난 형태)  | O           | O            |
| 160x600 (긴 막대 형태) | O           | O            |

위어드호스트에 광고 게재를 원하시면, 디스코드 서버에서 **기타 문의**를 생성해주세요. 예산과 목표에 맞춰 맞춤형 광고 플랜을 제공해드립니다.


