Hướng dẫn Hướng dẫn build Folia (đa luồng) từ Github về test

  • Chào bạn, hãy đăng ký hoặc đăng nhập để tham gia cùng bọn mình và sử dụng được đầy đủ chức năng của diễn đàn :).

BlastOne

THÀNH VIÊN
43366

Folia là dự án mới nhất dưới sự tổ chức của PaperMC, nhằm mục đích đạt được việc đa luồng thực sự và đồng bộ hóa khu vực. Mục tiêu của dự án này là cung cấp khả năng mở rộng và hiệu suất tốt hơn, đồng thời khắc phục một số vấn đề lâu đời đã hạn chế việc mở rộng một máy chủ Minecraft. Folia là một nhánh (fork) của Paper do chính Spottedleaf, huyền thoại tối ưu hóa Minecraft, phát triển. Ban đầu được bắt đầu vào tháng 8 năm 2020, ngay trước khi Tuinity hợp nhất với Paper, Folia đại diện cho sự kết thúc của một loạt các bản vá điều kiện tiên quyết, bao gồm Starlight, bản đồ chunk của người chơi và đoạn mã chunk đã được thêm vào Paper trong vài năm qua. Spottedleaf đã tiếp cận một cách có hệ thống với những rào cản trong Vanilla Minecraft đã ngăn cản mọi nỗ lực đa luồng trước đây của rất nhiều nhà phát triển và dự án khác. Mục tiêu của dự án Folia là cung cấp một giải pháp không đồng ý giảm bớt cho máy chủ đa luồng thực sự, đạt được thông qua một tập hợp mới hoàn toàn các giao diện lập trình ứng dụng (APIs) được thiết kế đặc biệt cho môi trường này. (trích: paper-chan)

Yêu cầu: Một bộ công cụ Java 17, chẳng hạn như bộ công cụ từ Microsoft OpenJDK, Adoptium hoặc một bản phân phối Linux. (link)
Các bước biên dịch:

B1: git clone https://github.com/PaperMC/Folia.git
43361

B2: cd Folia
43362

B3: ./gradlew applyPatches
43363

B4: ./gradlew createReobfBundlerJar
43364

Sau khi hoàn thành (đâu đó vài phút), các bạn có thể tìm thấy bản build trong ./build/libs/folia-bundler-1.19.4-R0.1-SNAPSHOT-reobf.jar
Lấy nó ra và test th :))

Flag đã được tối ưu: java -Xmx9000M -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseNUMA -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:+UseVectorCmov -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:ThreadPriorityPolicy=1 -XX:AllocatePrefetchStyle=3 -XX:MaxGCPauseMillis=130 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=28 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=20 -XX:G1MixedGCCountTarget=3 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:-survivorRatio=32 -XX:MaxTenuringThreshold=1 -XX:G1SATBBufferEnqueueingThresholdPercent=30 -XX:G1ConcMarkStepDurationMillis=5 -XX:G1ConcRSHotCardLimit=16 -XX:G1ConcRefinementServiceIntervalMillis=150 -XX:+UseTransparentHugePages -jar folia-bundler-1.19.4-R0.1-SNAPSHOT-reobf.jar nogui

Lưu ý, chỉ nên sử dụng để test!!

Bạn nào không build được thì tải qua link này nhé: Folia
Có vấn đề gì cần hỏi thì nhắn tin mình qua discord nhé: Blast#3290