Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Auto detect text files and perform LF normalization
* text=auto eol=lf

# Source Code
*.java text diff=java eol=lf
*.xml text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.json text eol=lf
*.md text eol=lf
*.txt text eol=lf
*.properties text eol=lf
*.sh text eol=lf
*.bat text eol=crlf
*.cmd text eol=crlf

# Git files
.gitignore text eol=lf
.gitattributes text eol=lf

# Binary files
*.jar binary
*.class binary
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.zip binary
*.tar.gz binary
*.exe binary
17 changes: 12 additions & 5 deletions .github/workflows/pull-request-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,27 @@ name: WindSpigot PR Build

on:
pull_request:
paths-ignore:
- '**.md'
- '.gitattributes'
- '.gitignore'
workflow_dispatch:

jobs:
cleanup-and-build:
name: Verify PR Build & Tests
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip]')"
steps:
- uses: actions/checkout@v3
- name: Checkout Repository
uses: actions/checkout@v5

- name: Set up JDK 18.0.1
uses: actions/setup-java@v3
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 18.0.1
server-id: github
java-version: '18.0.1'
cache: 'maven'

- name: Build with Maven
run: mvn clean package --file pom.xml
run: mvn clean package --batch-mode --file pom.xml
38 changes: 21 additions & 17 deletions .github/workflows/windspigot-build-and-upload.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,45 @@ name: WindSpigot Build and Upload

on:
push:
branches:
- master
paths-ignore:
- '**.md'
- '.gitattributes'
- '.gitignore'
workflow_dispatch:

jobs:
build-and-upload:
name: Build & Publish Artifacts
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip]')"
steps:
- uses: actions/checkout@v4
- name: Checkout Repository
uses: actions/checkout@v5

- name: Set up JDK 18.0.1
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 18.0.1
server-id: github
java-version: '18.0.1'
cache: 'maven'

- name: Cache local Maven repository
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-


- name: Build with Maven
run: mvn package --file pom.xml
run: mvn clean package --batch-mode --file pom.xml

- name: Upload Server Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: WindSpigot-server
path: WindSpigot-Server/target/WindSpigot.jar
if-no-files-found: error
retention-days: 30

- name: Upload API Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: WindSpigot-API
path: WindSpigot-API/target/WindSpigot-API.jar
if-no-files-found: error
retention-days: 30
24 changes: 23 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# WindSpigot [![GitHub Workflow Status](https://github.com/Wind-Development/WindSpigot/actions/workflows/windspigot-build-and-upload.yml/badge.svg)](https://nightly.link/Wind-Development/WindSpigot/workflows/windspigot-build-and-upload/master/WindSpigot-server.zip) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/3c5ee8d2ef324d23ab085d89139ea0e7)](https://www.codacy.com/gh/Wind-Development/WindSpigot/dashboard?utm_source=github.com&utm_medium=referral&utm_content=Wind-Development/WindSpigot&utm_campaign=Badge_Grade) [![Discord](https://img.shields.io/discord/1318787858768597042?label=discord)](https://discord.gg/hqbJvQZpV2)
# WindSpigot [![GitHub Workflow Status](https://github.com/Wind-Development/WindSpigot/actions/workflows/windspigot-build-and-upload.yml/badge.svg)](https://nightly.link/Wind-Development/WindSpigot/workflows/windspigot-build-and-upload/master/WindSpigot-server.zip) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/3c5ee8d2ef324d23ab085d89139ea0e7)](https://www.codacy.com/gh/Wind-Development/WindSpigot/dashboard?utm_source=github.com&utm_medium=referral&utm_content=Wind-Development/WindSpigot&utm_campaign=Badge_Grade) [![Discord](https://img.shields.io/discord/1318787858768597042?label=discord)](https://discord.gg/hqbJvQZpV2)

##### WindSpigot is a 1.8.8 Minecraft server software focused on improving overall server performance and pvp mechanics based on a **[fork of NachoSpigot](https://github.com/Argarian-Network/NachoSpigot/tree/async-entity-tracker)**.

Expand Down Expand Up @@ -41,6 +41,28 @@ See the patches list below.
[WindSpigot-0016] Configurable weather changes
[WindSpigot-0017] Configurable fishing rod speed multiplier

<--> by GamingOP69
[WindSpigot-0018] Fix fireball and explosion knockback vector direction calculation (dynamic radius scaling)
[WindSpigot-0019] Fix NetworkManager flush cross-thread event loop submission and compression lookup
[WindSpigot-0020] Fix WorldTickManager lifecycle and dynamic world unload memory leaks
[WindSpigot-0021] Fix AsyncEntityTracker exception safety and deadlock prevention (try-finally latch countdown)
[WindSpigot-0022] Fix EntityTrackerEntry visibility rates (remove 5s tracking lag)
[WindSpigot-0023] Fix SpawnerCreature mob cap calculation and spectator check
[WindSpigot-0024] Fix TCPShield and PlayerHandshakeEvent null safety
[WindSpigot-0025] Validate block placement coordinates and direction in PlayerConnection
[WindSpigot-0026] Fix MinecraftServer process queue polling race and exception safety
[WindSpigot-0027] Optimize PlayerMap spatial lookups with Long2ObjectOpenHashMap and fix move() NPE
[WindSpigot-0028] Eliminate lambda allocations in ConcurrentIntHashMap
[WindSpigot-0029] Fix async pathfinding isSearching reset in SearchHandler (recovery on rejected tasks)
[WindSpigot-0030] Fix Java 9-25 version parsing in CustomTimingsHandler
[WindSpigot-0031] Fix CombatThread NPE race and Spigot404Write per-instance packet queues
[WindSpigot-0032] Fix LagCompensator multi-threaded data race between Netty IO and main thread
[WindSpigot-0033] Thread-safe double-checked locking for LazyInitVar and safe ServerConnection shutdown
[WindSpigot-0034] Thread-safe synchronized explosion density cache for async TNT calculations
[WindSpigot-0035] Exception-safe queued packet flushing in PlayerConnection
[WindSpigot-0036] AntiCrash custom payload serializer null safety
[WindSpigot-0037] Auto-patch legacy Citizens EmptyChannel for Netty 4.1 compatibility

[PandaSpigot-0115] Break up and make tab spam limits configurable
[PandaSpigot-0072] Fix Bugs with Spigot Mob Spawn Logic
[PandaSpigot-0105] Fix SPIGOT-2622: Only one player receiving the server shutdown message
Expand Down