diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml new file mode 100644 index 0000000..48f783c --- /dev/null +++ b/.github/workflows/gradle.yml @@ -0,0 +1,60 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle + +name: Java CI with Gradle + +on: [push, pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 11 + uses: actions/setup-java@v2 + with: + java-version: '11' + distribution: 'temurin' + - name: Build with Gradle + uses: gradle/gradle-build-action@937999e9cc2425eddc7fd62d1053baf041147db7 + with: + arguments: :free:shadowJar + - name: Upload plugin jar artifact + uses: actions/upload-artifact@v2.3.1 + with: + # Artifact name + name: plugin jar + # A file, directory or wildcard pattern that describes what to upload + path: free/build/libs/ajQueue*.jar + # The desired behavior if no files are found using the provided path. + if-no-files-found: error + - name: Upload build files artifact + uses: actions/upload-artifact@v2.3.1 + with: + # Artifact name + name: build-files + # A file, directory or wildcard pattern that describes what to upload + path: '*/build/*' + # The desired behavior if no files are found using the provided path. + if-no-files-found: error + retention-days: 2 + deploy: + runs-on: ubuntu-latest + environment: maven-repo-deploy + needs: build + if: github.ref == 'refs/heads/master' + steps: + - uses: actions/checkout@v2 + - uses: actions/download-artifact@v2 + with: + name: build-files + - name: Deploy with Gradle + uses: gradle/gradle-build-action@937999e9cc2425eddc7fd62d1053baf041147db7 + with: + arguments: :api:publish :common:publish \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 3b76dd3..e9b0f94 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,7 +12,7 @@ repositories { } allprojects { - version = "2.2.3" + version = "2.2.4" group = "us.ajg0702" plugins.apply("java") diff --git a/common/src/main/java/us/ajg0702/queue/common/TaskManager.java b/common/src/main/java/us/ajg0702/queue/common/TaskManager.java index 18fcbde..52f3b0b 100644 --- a/common/src/main/java/us/ajg0702/queue/common/TaskManager.java +++ b/common/src/main/java/us/ajg0702/queue/common/TaskManager.java @@ -56,7 +56,7 @@ public class TaskManager { updateTask = scheduleAtFixedRate(updateExecutor, main.getQueueManager()::updateServers, 500L, - (long) (Math.max(main.getTimeBetweenPlayers()/2, 1)*1000L), + (long) (Math.max(main.getTimeBetweenPlayers()/2, main.getConfig().getDouble("minimum-ping-time"))*1000L), TimeUnit.MILLISECONDS ); diff --git a/common/src/main/resources/config.yml b/common/src/main/resources/config.yml index 10970b5..9153d00 100644 --- a/common/src/main/resources/config.yml +++ b/common/src/main/resources/config.yml @@ -1,5 +1,5 @@ # Dont touch this number please -config-version: 32 +config-version: 33 # This is the main config for ajQueue. @@ -11,7 +11,7 @@ config-version: 32 # The time the server will wait between sending people in the queue # Default: 5 -wait-time: 5 +wait-time: 5.0 # The time that a server has to be offline to be marked as offline instead of restarting # Default: 120 @@ -309,5 +309,10 @@ give-fulljoin-players-priority: 0 # not in the queue for the target server, it will add them. force-queue-server-target: true + +# The minimum time between pinging the server. +# If ajQueue is pinging your backend servers too often, raise this number +minimum-ping-time: 1.0 + # Should we print some extra stuff to the console that might help aj diagnose some issues? debug: false \ No newline at end of file