papermc / bibliothek Goto Github PK
View Code? Open in Web Editor NEWThe PaperMC downloads API.
License: MIT License
The PaperMC downloads API.
License: MIT License
Missing required version
field in info
in the OpenAPI specification.
https://swagger.io/specification/v3/#info-object
The specifications requires for the info object to have both the title, and the version.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
.github/workflows/build.yml
actions/checkout v4
actions/setup-java v4
.github/workflows/deploy.yml
actions/checkout v4
actions/setup-java v4
docker/login-action v3
docker/login-action v3
.github/workflows/validate-gradle-wrapper.yml
actions/checkout v4
gradle/wrapper-validation-action v1
gradle.properties
settings.gradle.kts
org.gradle.toolchains.foojay-resolver-convention 0.8.0
build.gradle.kts
com.google.cloud.tools:jib-spring-boot-extension-gradle 0.1.0
gradle/libs.versions.toml
org.jetbrains:annotations 24.1.0
org.springdoc:springdoc-openapi-starter-webmvc-ui 2.5.0
ca.stellardrift:stylecheck 0.2.1
net.kyori.indra 3.1.3
net.kyori.indra.checkstyle 3.1.3
net.kyori.indra.git 3.1.3
com.google.cloud.tools.jib 3.4.3
com.diffplug.spotless 6.25.0
org.springframework.boot 3.2.5
io.spring.dependency-management 1.1.5
gradle/wrapper/gradle-wrapper.properties
gradle 8.7
cli/package.json
gitlog ^4.0.4
mongodb ^4.2.1
yargs ^17.7.1
Missing required version
field in the PaperMC download OpenAPI specification. (https://api.papermc.io/openapi)
https://swagger.io/specification/#info-object
The specifications requires for the info object to have both the title, and the version.
The PaperMC OpenAPI specification is missing the version field.
Is:
"info": {
"title": "PaperMC API"
},
Should be:
"info": {
"title": "PaperMC API"
"version": "FOO"
},
(I'm not necessarily sure where this issue should go, but since it's a purely docs cosmetic issue, I'm taking a shot in the dark and doing it here)
Error pages appear to be missing Cors, as found out by my pro JS skills
Works:
$ curl -I https://api.papermc.io/v2/projects/paper/versions/1.19/
HTTP/2 200
date: Wed, 08 Jun 2022 08:04:40 GMT
content-type: application/json
cache-control: public, s-maxage=300
access-control-allow-origin: *
access-control-allowed-methods: GET
cf-cache-status: DYNAMIC
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=6EUEx3AqcpoTzLnTH7mvrkG2dQcNbkKlzukldrKr%2FB1x3Gmyns1PueKtLBUdgXIVMiKiwbHm6Hmuy85ZYrrIw7vDpDTqpiiAAGTrUTCKdWVRii1xDiPXbUJawLLMd35y"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
strict-transport-security: max-age=15552000; includeSubDomains; preload
x-content-type-options: nosniff
server: cloudflare
cf-ray: 71801e39387235d1-MAN
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
No works:
$ curl -I https://api.papermc.io/v2/projects/paper/versions/0
HTTP/2 404
date: Wed, 08 Jun 2022 08:04:47 GMT
content-type: application/json
cf-cache-status: DYNAMIC
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=qvB6%2B4Z%2F6vx766szV3IwAba44YpjJZH%2BqmkdgSEjEhUiY2gsRFzqbM2cF%2B8RXP643Ys2bXjmxydmhueH5FOAFmG2%2Bf9JlzrLtMQi7wGzgeMHv29YxPG5MiSbaWyD8tET"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
strict-transport-security: max-age=15552000; includeSubDomains; preload
x-content-type-options: nosniff
server: cloudflare
cf-ray: 71801e60bafdb2f3-MAN
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
hosts need to deploy new servers, we need to somehow indicate to them which version is safe to use and which version needs extra caution and which versions should be avoided.
maybe we can just add a field to version groups "supportStatus" with values like unsupported, maintenance only, current supported, experimental?
we could even use this ourself and fill our download page tabs automatically instead of doing it manually
TypeError: Cannot read property '_id' of null
at run (/home/library/repository/cli/insertBuild.js:138:32)
at process._tickCallback (internal/process/next_tick.js:68:7)
it appears that the cli tool will crash when a previous build for that release does not crash, it will however seemingly leave some stuff dangling in the breeze, so subsequent pushes work fine
I'll like to see a feature to get the recommended Java version for PaperMC (something like in the docs)
The idea is to allow build number filtering by channels.
When the channel is not passed or explicitly declared as stable, experimental build will be filtered.
This allows people using a kind of auto updater script to only update to stable builds.
e.g.
Let's say we have 200 stable builds before and adding an experimental feature to paper.
A experimental bug fix for the chunk border lag is added.
This bugfix modifies the chunk files but we cannot see which side effects the change has in the long term.
The whole thing is an improvement for plugins as well. A Hangar plugin update can be marked as experimental and then doesn't show up in the stable channel.
>>> https://api.papermc.io/v2/projects/paper/versions/1.19?channel=stable // default if absent
<<< {
"project_id": "paper",
"project_name": "Paper",
"version": "1.19",
"builds": [
]
}
Here we need to explicitly pass the experimental channel as a query argument to get experimental builds.
>>> https://api.papermc.io/v2/projects/paper/versions/1.19?channel=experimental
<<< {
"project_id": "paper",
"project_name": "Paper",
"version": "1.19",
"builds": [
0
]
}
To avoid passing multiple channel values as a query argument the channel are defined like log levels.
stable
experimental includes stable builds as well.
This addition can be seen as disadvantage and also as an advantage.
I'm happy to hear your thoughts on this topic.
Hello!
Currently, programmatically retrieving changelogs for Paper builds requires a separate API call for each build/summary. This makes scripted update systems that display changelogs potentially hit the API hundreds of times.
Would it be possible to have the option to request multiple changelogs from the API in a single call? Perhaps listing all changes by minor version (All changelogs for builds in MC 1.18.1, 1.18.2, etc). This would drastically decrease the number of requests to the API.
The issue that spawned this request is here: OwenCochell/PaperMC-Update#11
Thanks!
Testing the api using the swagger ui, specifically this request curl -X GET "https://papermc.io/api/v2/projects/paper/versions/1.16.4/builds/256/downloads/test" -H "accept: application/java-archive"
returns a 500 error in the "Try it out". But if i just run that curl command locally, I get 404 like it should (because test
is not a valid download name)
As of this morning, 1.13-pre7
no longer has any versions in the API, or it's erroneously returned.
https://papermc.io/api/v2/projects/paper
returns 1.13-pre7 as an available version. But then
https://papermc.io/api/v2/projects/paper/versions/1.13-pre7
404s.
https://papermc.io/api/v2/projects/paper/versions/1.16.4/builds/324
{
"project_id": "paper",
"project_name": "Paper",
"version": "1.16.4",
"build": 324,
"time": "2020-12-13T00:48:44.488Z",
"changes": [
{
"commit": "9c9583cd2b6e369eab7b5c61c33282b6a1d5ce8a",
"summary": "[Auto] Updated Upstream (Bukkit/CraftBukkit/Spigot)",
"message": "[Auto] Updated Upstream (Bukkit/CraftBukkit/Spigot)\n\nUpstream has released updates that appear to apply and compile correctly.\nThis update has not been tested by PaperMC and as with ANY update, please do your own testing\n\nBukkit Changes:\n8f495b8d #564: Add method to get max world size\n\nCraftBukkit Changes:\n768d7fc2d #773: Add method to get max world size\n\nSpigot Changes:\n628435a8 #103: Add async catchers to Chunk#getEntities\n"
},
{
"commit": "31ac45a0a272c4c759fd4927172e5e81dd4a34ba",
"summary": "Fix curing villager makes equipment disappear",
"message": "Fix curing villager makes equipment disappear\n"
},
{
"commit": "cc0494817694a705bfd6a06218ccdf3881fa8566",
"summary": "Tick inactive goal selectors",
"message": "Tick inactive goal selectors\n"
},
{
"commit": "c19ec639414fc91ff9d9b6e090dcd4b7f48e04f7",
"summary": "fix 4878 by always calling events using bukkit singleton",
"message": "fix 4878 by always calling events using bukkit singleton\n"
}
],
"downloads": {
"application": {
"name": "paper-1.16.4-324.jar",
"sha256": "2548585054c6815e7af4f82158bc9d8b61ce11e67b9d026410131b79b9800abe"
}
}
}
Hi,
reference:
https://paper.readthedocs.io/en/latest/site/api.html#i-just-want-to-download-the-latest-jar
In API V2 the "latest" build option is missing. It was present in V1:
https://papermc.io/api/v1/paper/1.16.4/latest/download
But it is not updated anymore.
Bug report:
PaperMC/Paper#4824
Hello,
Could you consider adding a /latest
endpoint for the v2
API ?
It's very usefull to update a server without setting the build number each time.
Bibliothek
Bibliothek
Bibliothek
Bibliothek
Bibliothek
Bibliothek
Bibliothek
Bibliothek
Bibliothek
I'm rewriting my server updater in Java, and I noticed that velocity is no longer offered by the API... Is there any reason why?
Currently https://papermc.io/api/openapi returns "info":{"title":"PaperMC API"}
. This causes the OpenAPI generator I am attempting to use to fail, as it is missing the key version
that is a required field (see https://swagger.io/specification/v3/#info-object)
I can see that this was resolved in #156/#157/#158, although this value still does not seem to be set. I am unsure as to where the configuration for this application lives, but is it possible app.ApiVersion
isn't being passed as a command line argument/environmental variable following this change?
I am building a maintenance system that should updates builds but hopefully updates versions as well but I noticed the API does not state if that the latest version is still in testing. if some Identifier could be added, at least in the message or summary of the build stating it's test version. I will have an option in my program .ini
to only warn for new updates but not act, but if this piece of the API response could be added I would appreciate that.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.