minecraft/CreateAstral

Create Astral 서버 열때 도움될수있는 정보

정말모름 2024. 6. 6. 07:34

서버 정보
 
기본적으로 curseforge에서 서버팩을 다운받은것을 베이스로한다.

기본적으로 server/mod/에 vinery모드 필요 <- create astral client용 모드팩 내 instance/~/mods폴더에서 vinery1.1.4 모드를 서버에 복붙하면된다.
 
서버를 돌리는 OS를 바꿀수있는경우(괜찮은 서브컴이 있는경우) 윈도우 > 우분투 > clean linux 순서로 빠르다.
 
JDK에 따라서도 성능차이가 있다는 글을 보고 나는 GraalVM으로 바꿨고 인수는 아래와 같이줬다.
만일 다른 쓰면 FLAGS는 각자 맞게 할당해주면된다.
그리고 마지막에 affinityhigh는 각 cpu선호도, 우선순위를 지정해주는건데 다중코어 환경에서 우리가 쓰는 프로그램들은 보통 1번에 가까운 cpu부터 갈구려는 특징이 있고 특히 1번코어는 게임프로세스의 cpu선호도에서 빼는 편이 체감상 더 나은 환경인것같았다. 이런 의미에서 제일 후순위 코어를 할당해줬고 우선순위도 높음으로 변경하는 옵션이다.

@echo off
set JAVA=java
set JAR=server.jar
set RAM=8196M
set FLAGS=-XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseNUMA -XX:AllocatePrefetchStyle=3 -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:-DontCompileHugeMethods -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:+EagerJVMCI -Dgraal.TuneInlinerExploration=1 -Dgraal.CompilerConfiguration=enterprise

echo Starting server...
start /affinity F00 /high %JAVA% -Xmx%RAM% -Xms%RAM% %FLAGS% -jar %JAR%



server.properties 설정
 
해외ip, vpn차단
prevent-proxy-connections=true
플레이어 시점 가시거리 (기본8)
view-distance=10
서버가 유저를 얼마나 기다려줄지 시간
(기본 200000(20초)은 너무 짧아서 로드하다가 튕길확률이 있었다. 최소 600000(1분)추천)
max-tick-time=1200000


./config/simplebackup.json5
"backupPath": "D:\\중간경로\\backup", (반드시 경로마지막 폴더가 backup이라는 이름이어야한다. 맵이 크면 용량이 커져서 나는 HDD로 경로를 지정해줬다.)
"backupIntervalInSeconds":<백업 주기> (자신이 생각하는 적절한 백업주기)
"backupFormat": <백업방법> (LZ4추천)
 

알면 좋은 gamrule 명령어
/gamerule playersSleepingPercentage <숫자>  --> 100기준 <숫자>로 나눈 비율만큼 플레이어가 침대에 잠들면 날을 강제로넘김 50추천
/gamerule announceAdvancements false --> 타 플레이어의 도전과제 달성 알림을 전체 채팅으로 알려주지않음

멀티시 팁을 주자면 팀을 하면 퀘스트진행도가 공유돼서 내가 안해본 퀘스트도 클리어됨
만약 모드팩에 이해가 아예없다면 개인으로 초반부정도는 진행하는걸추천 변경사항이 많아서 기존모드에 변형이 많이 있음

가짜 플레이어 허용 -> 필수
배포기(기계손)이 블럭,묘목을 설치하거나 동물교배를 해주거나 허용해주는 옵션

공용부분은 개인으로 진행할때 자신의 청크에 대해 타인의 권한을 설정하는 부분인데 신뢰할수있는 친구들과 함께한다면 공용으로 두면 서로의 청크에 블럭 부시거나 설치하거나 할수있어서 공용으로 해두면 맘편하다.
팀으로하면 굳이 불필요