Compare commits

...

20 Commits

Author SHA1 Message Date
663e8247fe avatar and more 2024-09-15 10:42:32 +02:00
ad8a0caf14 build to release
Some checks failed
Build / release (macos-latest) (release) Failing after 2m13s
Build / release (ubuntu-latest) (release) Failing after 54s
Build / release (windows-latest) (release) Failing after 53s
2024-09-14 23:03:41 +02:00
4d722eb24d token var 2024-09-14 23:03:09 +02:00
3206703ca1 token
Some checks failed
Build / release (macos-latest) (push) Failing after 53s
Build / release (ubuntu-latest) (push) Failing after 54s
Build / release (windows-latest) (push) Failing after 51s
2024-09-14 17:33:48 +02:00
361736f6aa build
Some checks failed
Build / release (macos-latest) (push) Failing after 51s
Build / release (ubuntu-latest) (push) Failing after 52s
Build / release (windows-latest) (push) Failing after 52s
2024-09-14 16:05:39 +02:00
ab489ddf59 build node
Some checks failed
Build / release (macos-latest) (push) Failing after 3m0s
Build / release (ubuntu-latest) (push) Failing after 1m19s
Build / release (windows-latest) (push) Failing after 1m19s
2024-09-14 15:50:28 +02:00
6b372545a1 build node
Some checks failed
Build / release (macos-latest) (push) Failing after 17s
Build / release (ubuntu-latest) (push) Failing after 10s
Build / release (windows-latest) (push) Failing after 12s
2024-09-14 15:42:30 +02:00
7d8db88f80 build
Some checks failed
Build / release (macos-latest) (push) Failing after 15s
Build / release (ubuntu-latest) (push) Failing after 8s
Build / release (windows-latest) (push) Failing after 8s
2024-09-14 15:17:46 +02:00
4ed91286b7 build
Some checks failed
Build / release (macos-latest) (push) Failing after 1m33s
Build / release (ubuntu-latest) (push) Failing after 13s
Build / release (windows-latest) (push) Failing after 12s
2024-09-14 15:15:48 +02:00
acd965c406 Action
Some checks failed
Build / release (macos-latest) (push) Waiting to run
Build / release (windows-latest) (push) Waiting to run
Build / release (ubuntu-latest) (push) Failing after 1m20s
2024-09-14 14:50:55 +02:00
627fbd48d7 v1 2024-09-14 14:36:35 +02:00
Daniel Scalzi
eb683f89ec Support 1.20.5, electron 30, dependency upgrade. 2024-04-28 17:35:19 -04:00
Daniel Scalzi
ae0e9e227d 2.2.1
CVE-2024-27303
2024-03-06 21:57:24 -05:00
Daniel Scalzi
dc15bbfde8 2.2.0 2024-02-22 11:50:18 -05:00
Daniel Scalzi
0d23f5c45b Upgrade to Electron 29, Node.js 20. 2024-02-22 11:42:13 -05:00
Kamesuta
fc4823a01f Localize Microsoft/Mojang authentication error messages (#331)
* Move Microsoft/Mojang error message to lang file.

* Add mstfLogin to language file
2024-02-22 11:23:23 -05:00
Daniel Scalzi
95eebc18a7 2.1.1 2024-01-04 19:09:30 -05:00
Daniel Scalzi
d03ff90f78 Remove mojang authserver as it has been permanently shut down. 2024-01-04 19:09:03 -05:00
Daniel Scalzi
258cd0d421 2.1.0 2023-12-03 18:06:25 -05:00
Daniel Scalzi
f65eb2f2d6 Dependency upgrade. 2023-12-03 18:05:47 -05:00
28 changed files with 6237 additions and 5725 deletions

View File

@@ -1,10 +1,10 @@
name: Build
on: push
on: [release]
jobs:
release:
runs-on: ${{ matrix.os }}
runs-on: act-latest
permissions:
contents: write
@@ -20,7 +20,7 @@ jobs:
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: 18
node-version: 20
- name: Set up Python
uses: actions/setup-python@v4
@@ -33,6 +33,6 @@ jobs:
- name: Build
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GITEA_TOKEN }}
run: npm run dist
shell: bash

3
.github/FUNDING.yml vendored
View File

@@ -1,3 +0,0 @@
github: dscalzi
patreon: dscalzi
custom: ['https://www.paypal.me/dscalzi']

2
.nvmrc
View File

@@ -1 +1 @@
18
20

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2017-2022 Daniel D. Scalzi
Copyright (c) 2017-2024 Daniel D. Scalzi
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -10,7 +10,7 @@
![Screenshot 1](https://i.imgur.com/6o7SmH6.png)
![Screenshot 2](https://i.imgur.com/x3B34n1.png)
## Features
* 🔒 Full account management.
@@ -84,7 +84,7 @@ This section details the setup of a basic developmentment environment.
**System Requirements**
* [Node.js][nodejs] v18
* [Node.js][nodejs] v20
---

BIN
app/assets/images/title.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -12,12 +12,122 @@
const ConfigManager = require('./configmanager')
const { LoggerUtil } = require('helios-core')
const { RestResponseStatus } = require('helios-core/common')
const { MojangRestAPI, mojangErrorDisplayable, MojangErrorCode } = require('helios-core/mojang')
const { MicrosoftAuth, microsoftErrorDisplayable, MicrosoftErrorCode } = require('helios-core/microsoft')
const { MojangRestAPI, MojangErrorCode } = require('helios-core/mojang')
const { MicrosoftAuth, MicrosoftErrorCode } = require('helios-core/microsoft')
const { AZURE_CLIENT_ID } = require('./ipcconstants')
const Lang = require('./langloader')
const log = LoggerUtil.getLogger('AuthManager')
// Error messages
function microsoftErrorDisplayable(errorCode) {
switch (errorCode) {
case MicrosoftErrorCode.NO_PROFILE:
return {
title: Lang.queryJS('auth.microsoft.error.noProfileTitle'),
desc: Lang.queryJS('auth.microsoft.error.noProfileDesc')
}
case MicrosoftErrorCode.NO_XBOX_ACCOUNT:
return {
title: Lang.queryJS('auth.microsoft.error.noXboxAccountTitle'),
desc: Lang.queryJS('auth.microsoft.error.noXboxAccountDesc')
}
case MicrosoftErrorCode.XBL_BANNED:
return {
title: Lang.queryJS('auth.microsoft.error.xblBannedTitle'),
desc: Lang.queryJS('auth.microsoft.error.xblBannedDesc')
}
case MicrosoftErrorCode.UNDER_18:
return {
title: Lang.queryJS('auth.microsoft.error.under18Title'),
desc: Lang.queryJS('auth.microsoft.error.under18Desc')
}
case MicrosoftErrorCode.UNKNOWN:
return {
title: Lang.queryJS('auth.microsoft.error.unknownTitle'),
desc: Lang.queryJS('auth.microsoft.error.unknownDesc')
}
}
}
function mojangErrorDisplayable(errorCode) {
switch(errorCode) {
case MojangErrorCode.ERROR_METHOD_NOT_ALLOWED:
return {
title: Lang.queryJS('auth.mojang.error.methodNotAllowedTitle'),
desc: Lang.queryJS('auth.mojang.error.methodNotAllowedDesc')
}
case MojangErrorCode.ERROR_NOT_FOUND:
return {
title: Lang.queryJS('auth.mojang.error.notFoundTitle'),
desc: Lang.queryJS('auth.mojang.error.notFoundDesc')
}
case MojangErrorCode.ERROR_USER_MIGRATED:
return {
title: Lang.queryJS('auth.mojang.error.accountMigratedTitle'),
desc: Lang.queryJS('auth.mojang.error.accountMigratedDesc')
}
case MojangErrorCode.ERROR_INVALID_CREDENTIALS:
return {
title: Lang.queryJS('auth.mojang.error.invalidCredentialsTitle'),
desc: Lang.queryJS('auth.mojang.error.invalidCredentialsDesc')
}
case MojangErrorCode.ERROR_RATELIMIT:
return {
title: Lang.queryJS('auth.mojang.error.tooManyAttemptsTitle'),
desc: Lang.queryJS('auth.mojang.error.tooManyAttemptsDesc')
}
case MojangErrorCode.ERROR_INVALID_TOKEN:
return {
title: Lang.queryJS('auth.mojang.error.invalidTokenTitle'),
desc: Lang.queryJS('auth.mojang.error.invalidTokenDesc')
}
case MojangErrorCode.ERROR_ACCESS_TOKEN_HAS_PROFILE:
return {
title: Lang.queryJS('auth.mojang.error.tokenHasProfileTitle'),
desc: Lang.queryJS('auth.mojang.error.tokenHasProfileDesc')
}
case MojangErrorCode.ERROR_CREDENTIALS_MISSING:
return {
title: Lang.queryJS('auth.mojang.error.credentialsMissingTitle'),
desc: Lang.queryJS('auth.mojang.error.credentialsMissingDesc')
}
case MojangErrorCode.ERROR_INVALID_SALT_VERSION:
return {
title: Lang.queryJS('auth.mojang.error.invalidSaltVersionTitle'),
desc: Lang.queryJS('auth.mojang.error.invalidSaltVersionDesc')
}
case MojangErrorCode.ERROR_UNSUPPORTED_MEDIA_TYPE:
return {
title: Lang.queryJS('auth.mojang.error.unsupportedMediaTypeTitle'),
desc: Lang.queryJS('auth.mojang.error.unsupportedMediaTypeDesc')
}
case MojangErrorCode.ERROR_GONE:
return {
title: Lang.queryJS('auth.mojang.error.accountGoneTitle'),
desc: Lang.queryJS('auth.mojang.error.accountGoneDesc')
}
case MojangErrorCode.ERROR_UNREACHABLE:
return {
title: Lang.queryJS('auth.mojang.error.unreachableTitle'),
desc: Lang.queryJS('auth.mojang.error.unreachableDesc')
}
case MojangErrorCode.ERROR_NOT_PAID:
return {
title: Lang.queryJS('auth.mojang.error.gameNotPurchasedTitle'),
desc: Lang.queryJS('auth.mojang.error.gameNotPurchasedDesc')
}
case MojangErrorCode.UNKNOWN:
return {
title: Lang.queryJS('auth.mojang.error.unknownErrorTitle'),
desc: Lang.queryJS('auth.mojang.error.unknownErrorDesc')
}
default:
throw new Error(`Unknown error code: ${errorCode}`)
}
}
// Functions
/**
@@ -32,7 +142,7 @@ const log = LoggerUtil.getLogger('AuthManager')
exports.addMojangAccount = async function(username, password) {
try {
const response = await MojangRestAPI.authenticate(username, password, ConfigManager.getClientToken())
console.log(response)
if(response.responseStatus === RestResponseStatus.SUCCESS) {
const session = response.data

View File

@@ -7,7 +7,7 @@ const logger = LoggerUtil.getLogger('ConfigManager')
const sysRoot = process.env.APPDATA || (process.platform == 'darwin' ? process.env.HOME + '/Library/Application Support' : process.env.HOME)
const dataPath = path.join(sysRoot, '.helioslauncher')
const dataPath = path.join(sysRoot, '.patatalauncher')
const launcherDir = require('@electron/remote').app.getPath('userData')

4
app/assets/js/custom.js Normal file
View File

@@ -0,0 +1,4 @@
exports.getCustomConfig = () => {
packwizUrl: "https://patatapack.oier.ovh/pack.toml"
packwizBootstrap: "packwiz-installer-bootstrap.jar"
}

View File

@@ -4,7 +4,7 @@ const ConfigManager = require('./configmanager')
// Old WesterosCraft url.
// exports.REMOTE_DISTRO_URL = 'http://mc.westeroscraft.com/WesterosCraftLauncher/distribution.json'
exports.REMOTE_DISTRO_URL = 'https://helios-files.geekcorner.eu.org/distribution.json'
exports.REMOTE_DISTRO_URL = 'https://distribution.oier.ovh/distribution.json'
const api = new DistributionAPI(
ConfigManager.getLauncherDirectory(),

View File

@@ -7,7 +7,7 @@ const { getMojangOS, isLibraryCompatible, mcVersionAtLeast } = require('helios-
const { Type } = require('helios-distribution-types')
const os = require('os')
const path = require('path')
const Custom = require('./custom')
const ConfigManager = require('./configmanager')
const logger = LoggerUtil.getLogger('ProcessBuilder')
@@ -70,10 +70,84 @@ class ProcessBuilder {
//args = args.concat(this.constructModArguments(modObj.fMods))
args = args.concat(this.constructModList(modObj.fMods))
}
/*const preLaunchArgs = [
"-jar",
Custom.getCustomConfig().packwizBootstrap,
Custom.getCustomConfig().packwizUrl
]*/
logger.info('Launch Arguments:', args)
const preLaunchArgsArray = [
// "-version"
"-jar",
//path.join(this.gameDir, "packwiz-installer-bootstrap.jar"),
"packwiz-installer-bootstrap.jar",
"https://patatapack.oier.ovh/pack/pack.toml"
]
const preLaunchArgs = [
"-jar " +
path.join(this.gameDir, "/packwiz-installer-bootstrap.jar") +
" https://patatapack.oier.ovh/pack.toml"
]
logger.info('PreLaunch Arguments:', preLaunchArgs)
logger.info('getJavaExecutable:', ConfigManager.getJavaExecutable(this.server.rawServer.id))
;
logger.info('Server RAW id:', this.server.rawServer.id)
logger.info('gamedir:', this.gameDir)
//const preLaunchChild = child_process.execSync(ConfigManager.getJavaExecutable(this.server.rawServer.id) +" " + preLaunchArgsArray.join(' '), preLaunchArgsArray, {
const preLaunchChild = child_process.spawnSync(ConfigManager.getJavaExecutable(this.server.rawServer.id), preLaunchArgsArray, {
cwd: this.gameDir,
// detached: ConfigManager.getLaunchDetached()
})
const authArgs = [
"-Dminecraft.api.env=custom",
"-Dminecraft.api.auth.host=https://auth.oier.ovh/api/yggdrasil/authserver",
"-Dminecraft.api.account.host=https://auth.oier.ovh/api/yggdrasil/user",
"-Dminecraft.api.session.host=https://auth.oier.ovh/api/yggdrasil/sessionserver",
"-Dminecraft.api.services.host=https://auth.oier.ovh/api/yggdrasil/services"
]
args = authArgs.concat(args)
//preLaunchChild.on('close', (preLaunchCode, preLaunchSignal) => {
//logger.info('PRELAUNCH Exited with code', preLaunchCode)
logger.info('Launch Arguments:', args)
const child = child_process.spawn(ConfigManager.getJavaExecutable(this.server.rawServer.id), args, {
cwd: this.gameDir,
detached: ConfigManager.getLaunchDetached()
})
if(ConfigManager.getLaunchDetached()){
child.unref()
}
child.stdout.setEncoding('utf8')
child.stderr.setEncoding('utf8')
child.stdout.on('data', (data) => {
data.trim().split('\n').forEach(x => console.log(`\x1b[32m[Minecraft]\x1b[0m ${x}`))
})
child.stderr.on('data', (data) => {
data.trim().split('\n').forEach(x => console.log(`\x1b[31m[Minecraft]\x1b[0m ${x}`))
})
child.on('close', (code, signal) => {
logger.info('Exited with code', code)
fs.remove(tempNativePath, (err) => {
if(err){
logger.warn('Error while deleting temp dir', err)
} else {
logger.info('Temp dir deleted successfully.')
}
})
})
//return child
return child
// });
const child = child_process.spawn(ConfigManager.getJavaExecutable(this.server.rawServer.id), args, {
/* const child = child_process.spawn(ConfigManager.getJavaExecutable(this.server.rawServer.id), args, {
cwd: this.gameDir,
detached: ConfigManager.getLaunchDetached()
})
@@ -103,7 +177,7 @@ class ProcessBuilder {
})
})
return child
return child */
}
/**

View File

@@ -145,11 +145,12 @@ document.getElementById('avatarOverlay').onclick = async e => {
function updateSelectedAccount(authUser){
let username = Lang.queryJS('landing.selectedAccount.noAccountSelected')
if(authUser != null){
loggerLanding.info('Auth user', authUser)
if(authUser.displayName != null){
username = authUser.displayName
}
if(authUser.uuid != null){
document.getElementById('avatarContainer').style.backgroundImage = `url('https://mc-heads.net/body/${authUser.uuid}/right')`
document.getElementById('avatarContainer').style.backgroundImage = `url('https://auth.oier.ovh/avatar/player/${authUser.displayName}')`
}
}
user_text.innerHTML = username
@@ -245,7 +246,6 @@ const refreshServerStatus = async (fade = false) => {
try {
const servStat = await getServerStatus(47, serv.hostname, serv.port)
console.log(servStat)
pLabel = Lang.queryJS('landing.serverStatus.players')
pVal = servStat.players.online + '/' + servStat.players.max

View File

@@ -18,15 +18,6 @@ function loginOptionsCancelEnabled(val){
}
}
loginOptionMicrosoft.onclick = (e) => {
switchView(getCurrentView(), VIEWS.waiting, 500, 500, () => {
ipcRenderer.send(
MSFT_OPCODE.OPEN_LOGIN,
loginOptionsViewOnLoginSuccess,
loginOptionsViewOnLoginCancel
)
})
}
loginOptionMojang.onclick = (e) => {
switchView(getCurrentView(), VIEWS.login, 500, 500, () => {

View File

@@ -640,7 +640,7 @@ function populateAuthAccounts(){
const accHtml = `<div class="settingsAuthAccount" uuid="${acc.uuid}">
<div class="settingsAuthAccountLeft">
<img class="settingsAuthAccountImage" alt="${acc.displayName}" src="https://mc-heads.net/body/${acc.uuid}/60">
<img class="settingsAuthAccountImage" alt="${acc.displayName}" src="https://auth.oier.ovh/avatar/player/${acc.displayName}">
</div>
<div class="settingsAuthAccountRight">
<div class="settingsAuthAccountDetails">

View File

@@ -1,20 +1,20 @@
# Custom Language File for Launcher Customizer
[ejs.app]
title = "Helios Launcher"
title = "PatataLauncher"
[ejs.landing]
mediaGitHubURL = "https://github.com/dscalzi/HeliosLauncher"
mediaGitHubURL = "#"
mediaTwitterURL = "#"
mediaInstagramURL = "#"
mediaYouTubeURL = "#"
mediaDiscordURL = "https://discord.gg/zNWUXdt"
mediaDiscordURL = "#"
[ejs.settings]
sourceGithubLink = "https://github.com/dscalZi/HeliosLauncher"
supportLink = "https://github.com/dscalZi/HeliosLauncher/issues"
[ejs.welcome]
welcomeHeader = "WELCOME TO WESTEROSCRAFT"
welcomeDescription = "Our mission is to recreate the universe imagined by author George RR Martin in his fantasy series, A Song of Ice and Fire. Through the collaborative effort of thousands of community members, we have sought to create Westeros as accurately and precisely as possible within Minecraft. The world we are creating is yours to explore. Journey from Dorne to Castle Black, and if you arent afraid, beyond the Wall itself, but best not delay. As the words of House Stark ominously warn: Winter is Coming."
welcomeDescCTA = "You are just a few clicks away from Westeros."
welcomeHeader = "Ongi etorri Patata!"
welcomeDescription = "Patata launcher."
welcomeDescCTA = "Go go go"

View File

@@ -279,6 +279,11 @@ latestVersionTitle = "You Are Running the Latest Version"
checkForUpdatesButton = "Check for Updates"
checkingForUpdatesButton = "Checking for Updates.."
[js.settings.msftLogin]
errorTitle = "Microsoft Login Failed"
errorMessage = "We were unable to authenticate your Microsoft account. Please try again."
okButton = "OK"
[js.uibinder.startup]
fatalErrorTitle = "Fatal Error: Unable to Load Distribution Index"
fatalErrorMessage = "A connection could not be established to our servers to download the distribution index. No local copies were available to load. <br><br>The distribution index is an essential file which provides the latest server information. The launcher is unable to start without it. Ensure you are connected to the internet and relaunch the application."
@@ -295,3 +300,45 @@ selectAnotherAccountButton = "Select Another Account"
checkingForUpdateButton = "Checking for Updates..."
installNowButton = "Install Now"
checkForUpdatesButton = "Check for Updates"
[js.auth.microsoft.error]
noProfileTitle = "Error During Login:<br>Profile Not Set Up"
noProfileDesc = "Your Microsoft account does not yet have a Minecraft profile set up. If you have recently purchased the game or redeemed it through Xbox Game Pass, you have to set up your profile on <a href=\"https://minecraft.net/\">Minecraft.net</a>.<br><br>If you have not yet purchased the game, you can also do that on <a href=\"https://minecraft.net/\">Minecraft.net</a>."
noXboxAccountTitle = "Error During Login:<br>No Xbox Account"
noXboxAccountDesc = "Your Microsoft account has no Xbox account associated with it."
xblBannedTitle = "Error During Login:<br>Xbox Live Unavailable"
xblBannedDesc = "Your Microsoft account is from a country where Xbox Live is not available or banned."
under18Title = "Error During Login:<br>Parental Approval Required"
under18Desc = "Accounts for users under the age of 18 must be added to a Family by an adult."
unknownTitle = "Unknown Error During Login"
unknownDesc = "An unknown error has occurred. Please see the console for details."
[js.auth.mojang.error]
methodNotAllowedTitle = "Internal Error:<br>Method Not Allowed"
methodNotAllowedDesc = "Method not allowed. Please report this error."
notFoundTitle = "Internal Error:<br>Not Found"
notFoundDesc = "The authentication endpoint was not found. Please report this issue."
accountMigratedTitle = "Error During Login:<br>Account Migrated"
accountMigratedDesc = "You've attempted to login with a migrated account. Try again using the account email as the username."
invalidCredentialsTitle = "Error During Login:<br>Invalid Credentials"
invalidCredentialsDesc = "The email or password you've entered is incorrect. Please try again."
tooManyAttemptsTitle = "Error During Login:<br>Too Many Attempts"
tooManyAttemptsDesc = "There have been too many login attempts with this account recently. Please try again later."
invalidTokenTitle = "Error During Login:<br>Invalid Token"
invalidTokenDesc = "The provided access token is invalid."
tokenHasProfileTitle = "Error During Login:<br>Token Has Profile"
tokenHasProfileDesc = "Access token already has a profile assigned. Selecting profiles is not implemented yet."
credentialsMissingTitle = "Error During Login:<br>Credentials Missing"
credentialsMissingDesc = "Username/password was not submitted or password is less than 3 characters."
invalidSaltVersionTitle = "Error During Login:<br>Invalid Salt Version"
invalidSaltVersionDesc = "Invalid salt version."
unsupportedMediaTypeTitle = "Internal Error:<br>Unsupported Media Type"
unsupportedMediaTypeDesc = "Unsupported media type. Please report this error."
accountGoneTitle = "Error During Login:<br>Account Migrated"
accountGoneDesc = "Account has been migrated to a Microsoft account. Please log in with Microsoft."
unreachableTitle = "Error During Login:<br>Unreachable"
unreachableDesc = "Unable to reach the authentication servers. Ensure that they are online and you are connected to the internet."
gameNotPurchasedTitle = "Error During Login:<br>Game Not Purchased"
gameNotPurchasedDesc = "The account you are trying to login with has not purchased a copy of Minecraft. You may purchase a copy on <a href=\"https://minecraft.net/\">Minecraft.net</a>"
unknownErrorTitle = "Unknown Error During Login"
unknownErrorDesc = "An unknown error has occurred. Please see the console for details."

View File

@@ -39,53 +39,6 @@
</svg>
</a>
</div>
<div class="mediaContainer">
<a href="<%- lang('landing.mediaTwitterURL') %>" class="mediaURL" id="twitterURL">
<svg id="twitterSVG" class="mediaSVG" viewBox="0 0 5000 4060" preserveAspectRatio="xMidYMid meet">
<g>
<path d="M1210 4048 c-350 -30 -780 -175 -1124 -378 -56 -33 -86 -57 -86 -68 0 -16 7 -17 83 -9 114 12 349 1 493 -22 295 -49 620 -180 843 -341 l54 -38 -49 -7 c-367 -49 -660 -256 -821 -582 -30 -61 -53 -120 -51 -130 3 -16 12 -17 73 -13 97 7 199 5 270 -4 l60 -9 -65 -22 c-341 -117 -609 -419 -681 -769 -18 -88 -26 -226 -13 -239 4 -3 32 7 63 22 68 35 198 77 266 86 28 4 58 9 68 12 10 2 -22 -34 -72 -82 -240 -232 -353 -532 -321 -852 15 -149 79 -347 133 -418 16 -20 17 -19 49 20 377 455 913 795 1491 945 160 41 346 74 485 86 l82 7 -7 -59 c-5 -33 -7 -117 -6 -189 2 -163 31 -286 103 -430 141 -285 422 -504 708 -550 112 -19 333 -19 442 0 180 30 335 108 477 239 l58 54 95 -24 c143 -36 286 -89 427 -160 70 -35 131 -60 135 -56 19 19 -74 209 -151 312 -50 66 -161 178 -216 217 l-30 22 73 -14 c111 -21 257 -63 353 -101 99 -39 99 -39 99 -19 0 57 -237 326 -412 468 l-88 71 6 51 c4 28 1 130 -5 226 -30 440 -131 806 -333 1202 -380 745 -1036 1277 -1823 1477 -243 62 -430 81 -786 78 -134 0 -291 -5 -349 -10z"/>
</g>
</svg>
</a>
</div>
<div class="mediaContainer">
<a href="<%- lang('landing.mediaInstagramURL') %>" class="mediaURL" id="instagramURL">
<svg id="instagramSVG" class="mediaSVG" viewBox="0 0 5040 5040">
<defs>
<radialGradient id="instaFill" cx="30%" cy="107%" r="150%">
<stop offset="0%" stop-color="#fdf497"/>
<stop offset="5%" stop-color="#fdf497"/>
<stop offset="45%" stop-color="#fd5949"/>
<stop offset="60%" stop-color="#d6249f"/>
<stop offset="90%" stop-color="#285AEB"/>
</radialGradient>
</defs>
<g>
<path d="M1390 5024 c-163 -9 -239 -19 -315 -38 -281 -70 -477 -177 -660 -361 -184 -184 -292 -380 -361 -660 -43 -171 -53 -456 -53 -1445 0 -989 10 -1274 53 -1445 69 -280 177 -476 361 -660 184 -184 380 -292 660 -361 171 -43 456 -53 1445 -53 989 0 1274 10 1445 53 280 69 476 177 660 361 184 184 292 380 361 660 43 171 53 456 53 1445 0 989 -10 1274 -53 1445 -69 280 -177 476 -361 660 -184 184 -380 292 -660 361 -174 44 -454 53 -1470 52 -599 0 -960 -5 -1105 -14z m2230 -473 c58 -6 141 -18 185 -27 397 -78 638 -318 719 -714 37 -183 41 -309 41 -1290 0 -981 -4 -1107 -41 -1290 -81 -395 -319 -633 -714 -714 -183 -37 -309 -41 -1290 -41 -981 0 -1107 4 -1290 41 -397 81 -636 322 -714 719 -33 166 -38 296 -43 1100 -5 796 3 1203 27 1380 67 489 338 758 830 825 47 7 162 15 255 20 250 12 1907 4 2035 -9z"/>
<path d="M2355 3819 c-307 -42 -561 -172 -780 -400 -244 -253 -359 -543 -359 -899 0 -361 116 -648 367 -907 262 -269 563 -397 937 -397 374 0 675 128 937 397 251 259 367 546 367 907 0 361 -116 648 -367 907 -197 203 -422 326 -690 378 -101 20 -317 27 -412 14z m400 -509 c275 -88 470 -284 557 -560 20 -65 23 -95 23 -230 0 -135 -3 -165 -23 -230 -88 -278 -284 -474 -562 -562 -65 -20 -95 -23 -230 -23 -135 0 -165 3 -230 23 -278 88 -474 284 -562 562 -20 65 -23 95 -23 230 0 135 3 165 23 230 73 230 219 403 427 507 134 67 212 83 390 79 111 -3 155 -8 210 -26z"/>
<path d="M3750 1473 c-29 -11 -66 -38 -106 -77 -70 -71 -94 -126 -94 -221 0 -95 24 -150 94 -221 72 -71 126 -94 225 -94 168 0 311 143 311 311 0 99 -23 154 -94 225 -43 42 -76 66 -110 77 -61 21 -166 21 -226 0z"/>
</g>
</svg>
</a>
</div>
<div class="mediaContainer">
<a href="<%- lang('landing.mediaYouTubeURL') %>" class="mediaURL" id="youtubeURL">
<svg id="youtubeSVG" class="mediaSVG" viewBox="35.34 34.3575 70.68 68.71500">
<g>
<path d="M84.8,69.52,65.88,79.76V59.27Zm23.65.59c0-5.14-.79-17.63-3.94-20.57S99,45.86,73.37,45.86s-28,.73-31.14,3.68S38.29,65,38.29,70.11s.79,17.63,3.94,20.57,5.52,3.68,31.14,3.68,28-.74,31.14-3.68,3.94-15.42,3.94-20.57"/>
</g>
</svg>
</a>
</div>
<div class="mediaContainer">
<a href="<%- lang('landing.mediaDiscordURL') %>" class="mediaURL" id="discordURL">
<svg id="discordSVG" class="mediaSVG" viewBox="35.34 34.3575 70.68 68.71500">
<g>
<path d="M81.23,78.48a6.14,6.14,0,1,1,6.14-6.14,6.14,6.14,0,0,1-6.14,6.14M60,78.48a6.14,6.14,0,1,1,6.14-6.14A6.14,6.14,0,0,1,60,78.48M104.41,73c-.92-7.7-8.24-22.9-8.24-22.9A43,43,0,0,0,88,45.59a17.88,17.88,0,0,0-8.38-1.27l-.13,1.06a23.52,23.52,0,0,1,5.8,1.95,87.59,87.59,0,0,1,8.17,4.87s-10.32-5.63-22.27-5.63a51.32,51.32,0,0,0-23.2,5.63,87.84,87.84,0,0,1,8.17-4.87,23.57,23.57,0,0,1,5.8-1.95l-.13-1.06a17.88,17.88,0,0,0-8.38,1.27,42.84,42.84,0,0,0-8.21,4.56S37.87,65.35,37,73s-.37,11.54-.37,11.54,4.22,5.68,9.9,7.14,7.7,1.47,7.7,1.47l3.75-4.68a21.22,21.22,0,0,1-4.65-2A24.47,24.47,0,0,1,47.93,82S61.16,88.4,70.68,88.4c10,0,22.75-6.44,22.75-6.44a24.56,24.56,0,0,1-5.35,4.56,21.22,21.22,0,0,1-4.65,2l3.75,4.68s2,0,7.7-1.47,9.89-7.14,9.89-7.14.55-3.85-.37-11.54"/>
</g>
</svg>
</a>
</div>
</div>
</div>
</div>
@@ -100,13 +53,13 @@
<span id="player_count"><%- lang('landing.serverStatusPlaceholder') %></span>
</div>
<div class="bot_divider"></div>
<div id="mojangStatusWrapper">
<!-- <div id="mojangStatusWrapper">
<span class="bot_label"><%- lang('landing.mojangStatus') %></span>
<span id="mojang_status_icon">&#8226;</span>
<div id="mojangStatusTooltip">
<div id="mojangStatusTooltipTitle"><%- lang('landing.mojangStatusTooltipTitle') %></div>
<div id="mojangStatusEssentialContainer">
<!-- Essential Mojang services are populated here. -->
< !-- Essential Mojang services are populated here. -- >
</div>
<div id="mojangStatusNEContainer">
<div class="mojangStatusNEBar"></div>
@@ -114,10 +67,10 @@
<div class="mojangStatusNEBar"></div>
</div>
<div id="mojangStatusNonEssentialContainer">
<!-- Non Essential Mojang services are populated here. -->
< !-- Non Essential Mojang services are populated here. -- >
</div>
</div>
</div>
</div> -->
</div>
</div>
</div>

View File

@@ -3,17 +3,6 @@
<div class="loginOptionsMainContent">
<h2><%- lang('loginOptions.loginOptionsTitle') %></h2>
<div class="loginOptionActions">
<div class="loginOptionButtonContainer">
<button id="loginOptionMicrosoft" class="loginOptionButton">
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 23 23">
<path fill="#f35325" d="M1 1h10v10H1z" />
<path fill="#81bc06" d="M12 1h10v10H12z" />
<path fill="#05a6f0" d="M1 12h10v10H1z" />
<path fill="#ffba08" d="M12 12h10v10H12z" />
</svg>
<span><%- lang('loginOptions.loginWithMicrosoft') %></span>
</button>
</div>
<div class="loginOptionButtonContainer">
<button id="loginOptionMojang" class="loginOptionButton">
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 9.677 9.667">

BIN
authlib-injector-1.2.5.jar Normal file

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,3 +1,3 @@
owner: dscalzi
repo: HeliosLauncher
provider: github
owner: oier
repo: PatataLauncher
provider: gitea.fosil.eu

449
distribution.json Normal file
View File

@@ -0,0 +1,449 @@
{
"version": "1.0.0",
"rss": "<LINK TO RSS FEED>",
"discord": {
"clientId": "<FILL IN OR REMOVE DISCORD OBJECT>",
"smallImageText": "<FILL IN OR REMOVE DISCORD OBJECT>",
"smallImageKey": "<FILL IN OR REMOVE DISCORD OBJECT>"
},
"servers": [
{
"id": "PatataPack2-1.20.1",
"name": "PatataPack2 (Minecraft 1.20.1)",
"description": "PatataPack2 Running Minecraft 1.20.1 (Forge v47.3.7)",
"icon": null,
"version": "1.0.0",
"address": "patatapack.oier.ovh:25565",
"minecraftVersion": "1.20.1",
"discord": {
"shortId": "<FILL IN OR REMOVE DISCORD OBJECT>",
"largeImageText": "<FILL IN OR REMOVE DISCORD OBJECT>",
"largeImageKey": "<FILL IN OR REMOVE DISCORD OBJECT>"
},
"mainServer": true,
"autoconnect": false,
"modules": [
{
"id": "net.minecraftforge:lowcodelanguage:1.20.1-47.3.7",
"name": "Minecraft Forge (lowcodelanguage)",
"type": "ForgeHosted",
"classpath": true,
"artifact": {
"size": 7399,
"MD5": "040d351d606060d5b83fddd26e81705d",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/lowcodelanguage/1.20.1-47.3.7/lowcodelanguage-1.20.1-47.3.7.jar"
},
"subModules": [
{
"id": "1.20.1-47.3.7",
"name": "Minecraft Forge (version.json)",
"type": "VersionManifest",
"artifact": {
"size": 16542,
"MD5": "9a8ba2d460c39e7af1595566ece8d136",
"url": "https://distribution.oier.ovh/repo/versions/1.20.1-forge-47.3.7/1.20.1-forge-47.3.7.json"
}
},
{
"id": "net.minecraftforge:fmlcore:1.20.1-47.3.7",
"name": "Minecraft Forge (fmlcore)",
"type": "Library",
"classpath": true,
"artifact": {
"size": 118686,
"MD5": "b1c804dde01878dbcf9310c3bd04eea6",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/fmlcore/1.20.1-47.3.7/fmlcore-1.20.1-47.3.7.jar"
},
"subModules": []
},
{
"id": "net.minecraftforge:javafmllanguage:1.20.1-47.3.7",
"name": "Minecraft Forge (javafmllanguage)",
"type": "Library",
"classpath": true,
"artifact": {
"size": 16516,
"MD5": "e9db49e1ca0eee9fec499c3e9173a319",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/javafmllanguage/1.20.1-47.3.7/javafmllanguage-1.20.1-47.3.7.jar"
},
"subModules": []
},
{
"id": "net.minecraftforge:mclanguage:1.20.1-47.3.7",
"name": "Minecraft Forge (mclanguage)",
"type": "Library",
"classpath": true,
"artifact": {
"size": 5000,
"MD5": "6b2bda8e9f9047e54d0e0d925f89cdf7",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/mclanguage/1.20.1-47.3.7/mclanguage-1.20.1-47.3.7.jar"
},
"subModules": []
},
{
"id": "net.minecraftforge:forge:1.20.1-47.3.7:universal",
"name": "Minecraft Forge (universal jar)",
"type": "Library",
"classpath": false,
"artifact": {
"size": 2753823,
"MD5": "015c7a55def72696038352f56d741d32",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/forge/1.20.1-47.3.7/forge-1.20.1-47.3.7-universal.jar"
},
"subModules": []
},
{
"id": "net.minecraftforge:forge:1.20.1-47.3.7:client",
"name": "Minecraft Forge (client jar)",
"type": "Library",
"classpath": false,
"artifact": {
"size": 4793821,
"MD5": "8e4fb7202d94e3336ea097a8621e8733",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/forge/1.20.1-47.3.7/forge-1.20.1-47.3.7-client.jar"
},
"subModules": []
},
{
"id": "net.minecraft:client:1.20.1-20230612.114412:srg",
"name": "Minecraft Forge (client srg)",
"type": "Library",
"classpath": false,
"artifact": {
"size": 18842082,
"MD5": "8bfacfba4f54cda741019756165c5ecf",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraft/client/1.20.1-20230612.114412/client-1.20.1-20230612.114412-srg.jar"
},
"subModules": []
},
{
"id": "net.minecraft:client:1.20.1-20230612.114412:slim",
"name": "Minecraft Forge (client slim)",
"type": "Library",
"classpath": false,
"artifact": {
"size": 12592249,
"MD5": "28edebec7b5a007bc9961ee9bab4d764",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraft/client/1.20.1-20230612.114412/client-1.20.1-20230612.114412-slim.jar"
},
"subModules": []
},
{
"id": "net.minecraft:client:1.20.1-20230612.114412:extra",
"name": "Minecraft Forge (client extra)",
"type": "Library",
"classpath": false,
"artifact": {
"size": 10436626,
"MD5": "da6bb1a2c23108392fd6c103da40867c",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraft/client/1.20.1-20230612.114412/client-1.20.1-20230612.114412-extra.jar"
},
"subModules": []
},
{
"id": "cpw.mods:securejarhandler:2.1.10",
"name": "Minecraft Forge (securejarhandler)",
"type": "Library",
"artifact": {
"size": 88749,
"MD5": "d9ff48d1c68388270388b803fa42611e",
"url": "https://distribution.oier.ovh/repo/lib/cpw/mods/securejarhandler/2.1.10/securejarhandler-2.1.10.jar"
}
},
{
"id": "org.ow2.asm:asm:9.7",
"name": "Minecraft Forge (asm)",
"type": "Library",
"artifact": {
"size": 125428,
"MD5": "3957b18bf02a62edcb6726d074b90b08",
"url": "https://distribution.oier.ovh/repo/lib/org/ow2/asm/asm/9.7/asm-9.7.jar"
}
},
{
"id": "org.ow2.asm:asm-commons:9.7",
"name": "Minecraft Forge (asm-commons)",
"type": "Library",
"artifact": {
"size": 73426,
"MD5": "53a46610df6a8dbc4ff85b8fd4cdea66",
"url": "https://distribution.oier.ovh/repo/lib/org/ow2/asm/asm-commons/9.7/asm-commons-9.7.jar"
}
},
{
"id": "org.ow2.asm:asm-tree:9.7",
"name": "Minecraft Forge (asm-tree)",
"type": "Library",
"artifact": {
"size": 51934,
"MD5": "ea5cad3e0cbd2520688e4b0b5c4218e7",
"url": "https://distribution.oier.ovh/repo/lib/org/ow2/asm/asm-tree/9.7/asm-tree-9.7.jar"
}
},
{
"id": "org.ow2.asm:asm-util:9.7",
"name": "Minecraft Forge (asm-util)",
"type": "Library",
"artifact": {
"size": 93784,
"MD5": "e7d6e20888e6fd99605f4c5fe1dfa8b0",
"url": "https://distribution.oier.ovh/repo/lib/org/ow2/asm/asm-util/9.7/asm-util-9.7.jar"
}
},
{
"id": "org.ow2.asm:asm-analysis:9.7",
"name": "Minecraft Forge (asm-analysis)",
"type": "Library",
"artifact": {
"size": 34776,
"MD5": "910ac9c691023f1a9ff33c413ae9fbf6",
"url": "https://distribution.oier.ovh/repo/lib/org/ow2/asm/asm-analysis/9.7/asm-analysis-9.7.jar"
}
},
{
"id": "net.minecraftforge:accesstransformers:8.0.4",
"name": "Minecraft Forge (accesstransformers)",
"type": "Library",
"artifact": {
"size": 77756,
"MD5": "f0d3533f9437ba4428eaee9f28f7ecd9",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/accesstransformers/8.0.4/accesstransformers-8.0.4.jar"
}
},
{
"id": "org.antlr:antlr4-runtime:4.9.1",
"name": "Minecraft Forge (antlr4-runtime)",
"type": "Library",
"artifact": {
"size": 337868,
"MD5": "0dcc4b860d5d8d2852ab94d58c56ca2d",
"url": "https://distribution.oier.ovh/repo/lib/org/antlr/antlr4-runtime/4.9.1/antlr4-runtime-4.9.1.jar"
}
},
{
"id": "net.minecraftforge:eventbus:6.0.5",
"name": "Minecraft Forge (eventbus)",
"type": "Library",
"artifact": {
"size": 53985,
"MD5": "2a6245210b446b2144071e71ca13432b",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/eventbus/6.0.5/eventbus-6.0.5.jar"
}
},
{
"id": "net.minecraftforge:forgespi:7.0.1",
"name": "Minecraft Forge (forgespi)",
"type": "Library",
"artifact": {
"size": 29831,
"MD5": "bd34d20287dc95201fe9475a8bbc2540",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/forgespi/7.0.1/forgespi-7.0.1.jar"
}
},
{
"id": "net.minecraftforge:coremods:5.1.6",
"name": "Minecraft Forge (coremods)",
"type": "Library",
"artifact": {
"size": 24124,
"MD5": "4b4fe7e512819804660d621bf11c7381",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/coremods/5.1.6/coremods-5.1.6.jar"
}
},
{
"id": "cpw.mods:modlauncher:10.0.9",
"name": "Minecraft Forge (modlauncher)",
"type": "Library",
"artifact": {
"size": 130343,
"MD5": "07507d18d72661f8ae6a5da75bbf35be",
"url": "https://distribution.oier.ovh/repo/lib/cpw/mods/modlauncher/10.0.9/modlauncher-10.0.9.jar"
}
},
{
"id": "net.minecraftforge:unsafe:0.2.0",
"name": "Minecraft Forge (unsafe)",
"type": "Library",
"artifact": {
"size": 2834,
"MD5": "2d1016ebe4c1a63dd50a59d26bd12db1",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/unsafe/0.2.0/unsafe-0.2.0.jar"
}
},
{
"id": "net.minecraftforge:mergetool:1.1.5:api",
"name": "Minecraft Forge (mergetool)",
"type": "Library",
"artifact": {
"size": 2572,
"MD5": "8df9c5bf87d004ddb884eca99bc2a4b1",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/mergetool/1.1.5/mergetool-1.1.5-api.jar"
}
},
{
"id": "com.electronwill.night-config:core:3.6.4",
"name": "Minecraft Forge (core)",
"type": "Library",
"artifact": {
"size": 199834,
"MD5": "d83ab07267e402131fb93d899a57f5cd",
"url": "https://distribution.oier.ovh/repo/lib/com/electronwill/night-config/core/3.6.4/core-3.6.4.jar"
}
},
{
"id": "com.electronwill.night-config:toml:3.6.4",
"name": "Minecraft Forge (toml)",
"type": "Library",
"artifact": {
"size": 31816,
"MD5": "bc95d0709fff2164b01fd09fbc988be8",
"url": "https://distribution.oier.ovh/repo/lib/com/electronwill/night-config/toml/3.6.4/toml-3.6.4.jar"
}
},
{
"id": "org.apache.maven:maven-artifact:3.8.5",
"name": "Minecraft Forge (maven-artifact)",
"type": "Library",
"artifact": {
"size": 58077,
"MD5": "ce473b0d9fbfd10fe147f03fe8707d67",
"url": "https://distribution.oier.ovh/repo/lib/org/apache/maven/maven-artifact/3.8.5/maven-artifact-3.8.5.jar"
}
},
{
"id": "net.jodah:typetools:0.6.3",
"name": "Minecraft Forge (typetools)",
"type": "Library",
"artifact": {
"size": 18281,
"MD5": "d4a375bf382f726cf1a650ccb38a736c",
"url": "https://distribution.oier.ovh/repo/lib/net/jodah/typetools/0.6.3/typetools-0.6.3.jar"
}
},
{
"id": "net.minecrell:terminalconsoleappender:1.2.0",
"name": "Minecraft Forge (terminalconsoleappender)",
"type": "Library",
"artifact": {
"size": 15977,
"MD5": "679363fa893293791e55a21f81342f87",
"url": "https://distribution.oier.ovh/repo/lib/net/minecrell/terminalconsoleappender/1.2.0/terminalconsoleappender-1.2.0.jar"
}
},
{
"id": "org.jline:jline-reader:3.12.1",
"name": "Minecraft Forge (jline-reader)",
"type": "Library",
"artifact": {
"size": 150765,
"MD5": "a2e7b012cd9802f83321187409174a94",
"url": "https://distribution.oier.ovh/repo/lib/org/jline/jline-reader/3.12.1/jline-reader-3.12.1.jar"
}
},
{
"id": "org.jline:jline-terminal:3.12.1",
"name": "Minecraft Forge (jline-terminal)",
"type": "Library",
"artifact": {
"size": 211712,
"MD5": "3c52be5ab5e3847be6e62269de924cb0",
"url": "https://distribution.oier.ovh/repo/lib/org/jline/jline-terminal/3.12.1/jline-terminal-3.12.1.jar"
}
},
{
"id": "org.spongepowered:mixin:0.8.5",
"name": "Minecraft Forge (mixin)",
"type": "Library",
"artifact": {
"size": 1089277,
"MD5": "19b3a2ae9e445a6e626fd7d1648cfcb8",
"url": "https://distribution.oier.ovh/repo/lib/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar"
}
},
{
"id": "org.openjdk.nashorn:nashorn-core:15.3",
"name": "Minecraft Forge (nashorn-core)",
"type": "Library",
"artifact": {
"size": 2167288,
"MD5": "91e98c20afa1090c344229ce28b4c53f",
"url": "https://distribution.oier.ovh/repo/lib/org/openjdk/nashorn/nashorn-core/15.3/nashorn-core-15.3.jar"
}
},
{
"id": "net.minecraftforge:JarJarSelector:0.3.19",
"name": "Minecraft Forge (JarJarSelector)",
"type": "Library",
"artifact": {
"size": 17374,
"MD5": "2bb6cbe0e6c6fbcd8f92d2e6b1ea678e",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/JarJarSelector/0.3.19/JarJarSelector-0.3.19.jar"
}
},
{
"id": "net.minecraftforge:JarJarMetadata:0.3.19",
"name": "Minecraft Forge (JarJarMetadata)",
"type": "Library",
"artifact": {
"size": 15895,
"MD5": "9633546d299d4282ca68d10582be1c8f",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/JarJarMetadata/0.3.19/JarJarMetadata-0.3.19.jar"
}
},
{
"id": "cpw.mods:bootstraplauncher:1.1.2",
"name": "Minecraft Forge (bootstraplauncher)",
"type": "Library",
"artifact": {
"size": 8284,
"MD5": "48f5255aa337344c467c0150d347813d",
"url": "https://distribution.oier.ovh/repo/lib/cpw/mods/bootstraplauncher/1.1.2/bootstraplauncher-1.1.2.jar"
}
},
{
"id": "net.minecraftforge:JarJarFileSystems:0.3.19",
"name": "Minecraft Forge (JarJarFileSystems)",
"type": "Library",
"artifact": {
"size": 32195,
"MD5": "c2be1a88b63eb1b58b00ab6e498cd97d",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/JarJarFileSystems/0.3.19/JarJarFileSystems-0.3.19.jar"
}
},
{
"id": "net.minecraftforge:fmlloader:1.20.1-47.3.7",
"name": "Minecraft Forge (fmlloader)",
"type": "Library",
"artifact": {
"size": 264940,
"MD5": "23f0d0ea2c9b56938019c207363a1589",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/fmlloader/1.20.1-47.3.7/fmlloader-1.20.1-47.3.7.jar"
}
},
{
"id": "net.minecraftforge:fmlearlydisplay:1.20.1-47.3.7",
"name": "Minecraft Forge (fmlearlydisplay)",
"type": "Library",
"artifact": {
"size": 170425,
"MD5": "9866c86a40d79514f2fcfbf901788567",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/fmlearlydisplay/1.20.1-47.3.7/fmlearlydisplay-1.20.1-47.3.7.jar"
}
}
]
},
{
"id": "packwiz-installer-bootstrap.jar",
"name": "packwiz-installer-bootstrap.jar",
"type": "File",
"artifact": {
"size": 98989,
"url": "https://distribution.oier.ovh/servers/PatataPack2-1.20.1/files/packwiz-installer-bootstrap.jar",
"MD5": "51454da9ed9625bd3ca5cdc7a402b43b",
"path": "packwiz-installer-bootstrap.jar"
}
}
]
}
]
}

449
distribution_dev.json Normal file
View File

@@ -0,0 +1,449 @@
{
"version": "1.0.0",
"rss": "<LINK TO RSS FEED>",
"discord": {
"clientId": "<FILL IN OR REMOVE DISCORD OBJECT>",
"smallImageText": "<FILL IN OR REMOVE DISCORD OBJECT>",
"smallImageKey": "<FILL IN OR REMOVE DISCORD OBJECT>"
},
"servers": [
{
"id": "PatataPack2-1.20.1",
"name": "PatataPack2 (Minecraft 1.20.1)",
"description": "PatataPack2 Running Minecraft 1.20.1 (Forge v47.3.7)",
"icon": null,
"version": "1.0.0",
"address": "patatapack.oier.ovh:25565",
"minecraftVersion": "1.20.1",
"discord": {
"shortId": "<FILL IN OR REMOVE DISCORD OBJECT>",
"largeImageText": "<FILL IN OR REMOVE DISCORD OBJECT>",
"largeImageKey": "<FILL IN OR REMOVE DISCORD OBJECT>"
},
"mainServer": true,
"autoconnect": false,
"modules": [
{
"id": "net.minecraftforge:lowcodelanguage:1.20.1-47.3.7",
"name": "Minecraft Forge (lowcodelanguage)",
"type": "ForgeHosted",
"classpath": true,
"artifact": {
"size": 7399,
"MD5": "040d351d606060d5b83fddd26e81705d",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/lowcodelanguage/1.20.1-47.3.7/lowcodelanguage-1.20.1-47.3.7.jar"
},
"subModules": [
{
"id": "1.20.1-47.3.7",
"name": "Minecraft Forge (version.json)",
"type": "VersionManifest",
"artifact": {
"size": 16542,
"MD5": "9a8ba2d460c39e7af1595566ece8d136",
"url": "https://distribution.oier.ovh/repo/versions/1.20.1-forge-47.3.7/1.20.1-forge-47.3.7.json"
}
},
{
"id": "net.minecraftforge:fmlcore:1.20.1-47.3.7",
"name": "Minecraft Forge (fmlcore)",
"type": "Library",
"classpath": true,
"artifact": {
"size": 118686,
"MD5": "b1c804dde01878dbcf9310c3bd04eea6",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/fmlcore/1.20.1-47.3.7/fmlcore-1.20.1-47.3.7.jar"
},
"subModules": []
},
{
"id": "net.minecraftforge:javafmllanguage:1.20.1-47.3.7",
"name": "Minecraft Forge (javafmllanguage)",
"type": "Library",
"classpath": true,
"artifact": {
"size": 16516,
"MD5": "e9db49e1ca0eee9fec499c3e9173a319",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/javafmllanguage/1.20.1-47.3.7/javafmllanguage-1.20.1-47.3.7.jar"
},
"subModules": []
},
{
"id": "net.minecraftforge:mclanguage:1.20.1-47.3.7",
"name": "Minecraft Forge (mclanguage)",
"type": "Library",
"classpath": true,
"artifact": {
"size": 5000,
"MD5": "6b2bda8e9f9047e54d0e0d925f89cdf7",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/mclanguage/1.20.1-47.3.7/mclanguage-1.20.1-47.3.7.jar"
},
"subModules": []
},
{
"id": "net.minecraftforge:forge:1.20.1-47.3.7:universal",
"name": "Minecraft Forge (universal jar)",
"type": "Library",
"classpath": false,
"artifact": {
"size": 2753823,
"MD5": "015c7a55def72696038352f56d741d32",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/forge/1.20.1-47.3.7/forge-1.20.1-47.3.7-universal.jar"
},
"subModules": []
},
{
"id": "net.minecraftforge:forge:1.20.1-47.3.7:client",
"name": "Minecraft Forge (client jar)",
"type": "Library",
"classpath": false,
"artifact": {
"size": 4793821,
"MD5": "8e4fb7202d94e3336ea097a8621e8733",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/forge/1.20.1-47.3.7/forge-1.20.1-47.3.7-client.jar"
},
"subModules": []
},
{
"id": "net.minecraft:client:1.20.1-20230612.114412:srg",
"name": "Minecraft Forge (client srg)",
"type": "Library",
"classpath": false,
"artifact": {
"size": 18842082,
"MD5": "8bfacfba4f54cda741019756165c5ecf",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraft/client/1.20.1-20230612.114412/client-1.20.1-20230612.114412-srg.jar"
},
"subModules": []
},
{
"id": "net.minecraft:client:1.20.1-20230612.114412:slim",
"name": "Minecraft Forge (client slim)",
"type": "Library",
"classpath": false,
"artifact": {
"size": 12592249,
"MD5": "28edebec7b5a007bc9961ee9bab4d764",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraft/client/1.20.1-20230612.114412/client-1.20.1-20230612.114412-slim.jar"
},
"subModules": []
},
{
"id": "net.minecraft:client:1.20.1-20230612.114412:extra",
"name": "Minecraft Forge (client extra)",
"type": "Library",
"classpath": false,
"artifact": {
"size": 10436626,
"MD5": "da6bb1a2c23108392fd6c103da40867c",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraft/client/1.20.1-20230612.114412/client-1.20.1-20230612.114412-extra.jar"
},
"subModules": []
},
{
"id": "cpw.mods:securejarhandler:2.1.10",
"name": "Minecraft Forge (securejarhandler)",
"type": "Library",
"artifact": {
"size": 88749,
"MD5": "d9ff48d1c68388270388b803fa42611e",
"url": "https://distribution.oier.ovh/repo/lib/cpw/mods/securejarhandler/2.1.10/securejarhandler-2.1.10.jar"
}
},
{
"id": "org.ow2.asm:asm:9.7",
"name": "Minecraft Forge (asm)",
"type": "Library",
"artifact": {
"size": 125428,
"MD5": "3957b18bf02a62edcb6726d074b90b08",
"url": "https://distribution.oier.ovh/repo/lib/org/ow2/asm/asm/9.7/asm-9.7.jar"
}
},
{
"id": "org.ow2.asm:asm-commons:9.7",
"name": "Minecraft Forge (asm-commons)",
"type": "Library",
"artifact": {
"size": 73426,
"MD5": "53a46610df6a8dbc4ff85b8fd4cdea66",
"url": "https://distribution.oier.ovh/repo/lib/org/ow2/asm/asm-commons/9.7/asm-commons-9.7.jar"
}
},
{
"id": "org.ow2.asm:asm-tree:9.7",
"name": "Minecraft Forge (asm-tree)",
"type": "Library",
"artifact": {
"size": 51934,
"MD5": "ea5cad3e0cbd2520688e4b0b5c4218e7",
"url": "https://distribution.oier.ovh/repo/lib/org/ow2/asm/asm-tree/9.7/asm-tree-9.7.jar"
}
},
{
"id": "org.ow2.asm:asm-util:9.7",
"name": "Minecraft Forge (asm-util)",
"type": "Library",
"artifact": {
"size": 93784,
"MD5": "e7d6e20888e6fd99605f4c5fe1dfa8b0",
"url": "https://distribution.oier.ovh/repo/lib/org/ow2/asm/asm-util/9.7/asm-util-9.7.jar"
}
},
{
"id": "org.ow2.asm:asm-analysis:9.7",
"name": "Minecraft Forge (asm-analysis)",
"type": "Library",
"artifact": {
"size": 34776,
"MD5": "910ac9c691023f1a9ff33c413ae9fbf6",
"url": "https://distribution.oier.ovh/repo/lib/org/ow2/asm/asm-analysis/9.7/asm-analysis-9.7.jar"
}
},
{
"id": "net.minecraftforge:accesstransformers:8.0.4",
"name": "Minecraft Forge (accesstransformers)",
"type": "Library",
"artifact": {
"size": 77756,
"MD5": "f0d3533f9437ba4428eaee9f28f7ecd9",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/accesstransformers/8.0.4/accesstransformers-8.0.4.jar"
}
},
{
"id": "org.antlr:antlr4-runtime:4.9.1",
"name": "Minecraft Forge (antlr4-runtime)",
"type": "Library",
"artifact": {
"size": 337868,
"MD5": "0dcc4b860d5d8d2852ab94d58c56ca2d",
"url": "https://distribution.oier.ovh/repo/lib/org/antlr/antlr4-runtime/4.9.1/antlr4-runtime-4.9.1.jar"
}
},
{
"id": "net.minecraftforge:eventbus:6.0.5",
"name": "Minecraft Forge (eventbus)",
"type": "Library",
"artifact": {
"size": 53985,
"MD5": "2a6245210b446b2144071e71ca13432b",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/eventbus/6.0.5/eventbus-6.0.5.jar"
}
},
{
"id": "net.minecraftforge:forgespi:7.0.1",
"name": "Minecraft Forge (forgespi)",
"type": "Library",
"artifact": {
"size": 29831,
"MD5": "bd34d20287dc95201fe9475a8bbc2540",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/forgespi/7.0.1/forgespi-7.0.1.jar"
}
},
{
"id": "net.minecraftforge:coremods:5.1.6",
"name": "Minecraft Forge (coremods)",
"type": "Library",
"artifact": {
"size": 24124,
"MD5": "4b4fe7e512819804660d621bf11c7381",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/coremods/5.1.6/coremods-5.1.6.jar"
}
},
{
"id": "cpw.mods:modlauncher:10.0.9",
"name": "Minecraft Forge (modlauncher)",
"type": "Library",
"artifact": {
"size": 130343,
"MD5": "07507d18d72661f8ae6a5da75bbf35be",
"url": "https://distribution.oier.ovh/repo/lib/cpw/mods/modlauncher/10.0.9/modlauncher-10.0.9.jar"
}
},
{
"id": "net.minecraftforge:unsafe:0.2.0",
"name": "Minecraft Forge (unsafe)",
"type": "Library",
"artifact": {
"size": 2834,
"MD5": "2d1016ebe4c1a63dd50a59d26bd12db1",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/unsafe/0.2.0/unsafe-0.2.0.jar"
}
},
{
"id": "net.minecraftforge:mergetool:1.1.5:api",
"name": "Minecraft Forge (mergetool)",
"type": "Library",
"artifact": {
"size": 2572,
"MD5": "8df9c5bf87d004ddb884eca99bc2a4b1",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/mergetool/1.1.5/mergetool-1.1.5-api.jar"
}
},
{
"id": "com.electronwill.night-config:core:3.6.4",
"name": "Minecraft Forge (core)",
"type": "Library",
"artifact": {
"size": 199834,
"MD5": "d83ab07267e402131fb93d899a57f5cd",
"url": "https://distribution.oier.ovh/repo/lib/com/electronwill/night-config/core/3.6.4/core-3.6.4.jar"
}
},
{
"id": "com.electronwill.night-config:toml:3.6.4",
"name": "Minecraft Forge (toml)",
"type": "Library",
"artifact": {
"size": 31816,
"MD5": "bc95d0709fff2164b01fd09fbc988be8",
"url": "https://distribution.oier.ovh/repo/lib/com/electronwill/night-config/toml/3.6.4/toml-3.6.4.jar"
}
},
{
"id": "org.apache.maven:maven-artifact:3.8.5",
"name": "Minecraft Forge (maven-artifact)",
"type": "Library",
"artifact": {
"size": 58077,
"MD5": "ce473b0d9fbfd10fe147f03fe8707d67",
"url": "https://distribution.oier.ovh/repo/lib/org/apache/maven/maven-artifact/3.8.5/maven-artifact-3.8.5.jar"
}
},
{
"id": "net.jodah:typetools:0.6.3",
"name": "Minecraft Forge (typetools)",
"type": "Library",
"artifact": {
"size": 18281,
"MD5": "d4a375bf382f726cf1a650ccb38a736c",
"url": "https://distribution.oier.ovh/repo/lib/net/jodah/typetools/0.6.3/typetools-0.6.3.jar"
}
},
{
"id": "net.minecrell:terminalconsoleappender:1.2.0",
"name": "Minecraft Forge (terminalconsoleappender)",
"type": "Library",
"artifact": {
"size": 15977,
"MD5": "679363fa893293791e55a21f81342f87",
"url": "https://distribution.oier.ovh/repo/lib/net/minecrell/terminalconsoleappender/1.2.0/terminalconsoleappender-1.2.0.jar"
}
},
{
"id": "org.jline:jline-reader:3.12.1",
"name": "Minecraft Forge (jline-reader)",
"type": "Library",
"artifact": {
"size": 150765,
"MD5": "a2e7b012cd9802f83321187409174a94",
"url": "https://distribution.oier.ovh/repo/lib/org/jline/jline-reader/3.12.1/jline-reader-3.12.1.jar"
}
},
{
"id": "org.jline:jline-terminal:3.12.1",
"name": "Minecraft Forge (jline-terminal)",
"type": "Library",
"artifact": {
"size": 211712,
"MD5": "3c52be5ab5e3847be6e62269de924cb0",
"url": "https://distribution.oier.ovh/repo/lib/org/jline/jline-terminal/3.12.1/jline-terminal-3.12.1.jar"
}
},
{
"id": "org.spongepowered:mixin:0.8.5",
"name": "Minecraft Forge (mixin)",
"type": "Library",
"artifact": {
"size": 1089277,
"MD5": "19b3a2ae9e445a6e626fd7d1648cfcb8",
"url": "https://distribution.oier.ovh/repo/lib/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar"
}
},
{
"id": "org.openjdk.nashorn:nashorn-core:15.3",
"name": "Minecraft Forge (nashorn-core)",
"type": "Library",
"artifact": {
"size": 2167288,
"MD5": "91e98c20afa1090c344229ce28b4c53f",
"url": "https://distribution.oier.ovh/repo/lib/org/openjdk/nashorn/nashorn-core/15.3/nashorn-core-15.3.jar"
}
},
{
"id": "net.minecraftforge:JarJarSelector:0.3.19",
"name": "Minecraft Forge (JarJarSelector)",
"type": "Library",
"artifact": {
"size": 17374,
"MD5": "2bb6cbe0e6c6fbcd8f92d2e6b1ea678e",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/JarJarSelector/0.3.19/JarJarSelector-0.3.19.jar"
}
},
{
"id": "net.minecraftforge:JarJarMetadata:0.3.19",
"name": "Minecraft Forge (JarJarMetadata)",
"type": "Library",
"artifact": {
"size": 15895,
"MD5": "9633546d299d4282ca68d10582be1c8f",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/JarJarMetadata/0.3.19/JarJarMetadata-0.3.19.jar"
}
},
{
"id": "cpw.mods:bootstraplauncher:1.1.2",
"name": "Minecraft Forge (bootstraplauncher)",
"type": "Library",
"artifact": {
"size": 8284,
"MD5": "48f5255aa337344c467c0150d347813d",
"url": "https://distribution.oier.ovh/repo/lib/cpw/mods/bootstraplauncher/1.1.2/bootstraplauncher-1.1.2.jar"
}
},
{
"id": "net.minecraftforge:JarJarFileSystems:0.3.19",
"name": "Minecraft Forge (JarJarFileSystems)",
"type": "Library",
"artifact": {
"size": 32195,
"MD5": "c2be1a88b63eb1b58b00ab6e498cd97d",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/JarJarFileSystems/0.3.19/JarJarFileSystems-0.3.19.jar"
}
},
{
"id": "net.minecraftforge:fmlloader:1.20.1-47.3.7",
"name": "Minecraft Forge (fmlloader)",
"type": "Library",
"artifact": {
"size": 264940,
"MD5": "23f0d0ea2c9b56938019c207363a1589",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/fmlloader/1.20.1-47.3.7/fmlloader-1.20.1-47.3.7.jar"
}
},
{
"id": "net.minecraftforge:fmlearlydisplay:1.20.1-47.3.7",
"name": "Minecraft Forge (fmlearlydisplay)",
"type": "Library",
"artifact": {
"size": 170425,
"MD5": "9866c86a40d79514f2fcfbf901788567",
"url": "https://distribution.oier.ovh/repo/lib/net/minecraftforge/fmlearlydisplay/1.20.1-47.3.7/fmlearlydisplay-1.20.1-47.3.7.jar"
}
}
]
},
{
"id": "packwiz-installer-bootstrap.jar",
"name": "packwiz-installer-bootstrap.jar",
"type": "File",
"artifact": {
"size": 98989,
"url": "https://distribution.oier.ovh/servers/PatataPack2-1.20.1/files/packwiz-installer-bootstrap.jar",
"MD5": "51454da9ed9625bd3ca5cdc7a402b43b",
"path": "packwiz-installer-bootstrap.jar"
}
}
]
}
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,14 +1,14 @@
appId: 'helioslauncher'
productName: 'Helios Launcher'
artifactName: '${productName}-setup-${version}.${ext}'
appId: 'patatalauncher'
productName: 'PatataLauncher'
artifactName: '${productName}-${version}.${ext}'
copyright: 'Copyright © 2018-2022 Daniel Scalzi'
copyright: 'Copyright 2024 Daniel Scalzi'
asar: true
compression: 'maximum'
files:
- '!{dist,.gitignore,.vscode,docs,dev-app-update.yml,.nvmrc,.eslintrc.json}'
- '!{dist,.gitignore,.vscode,docs,dev-app-update.yml,.nvmrc,.eslintrc.json,authlib-injector-1.2.5.jar,patches,.gitea}'
extraResources:
- 'libraries'

9037
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "helioslauncher",
"version": "2.0.6",
"name": "patatalauncher",
"version": "1.0.0",
"productName": "Helios Launcher",
"description": "Modded Minecraft Launcher",
"author": "Daniel Scalzi (https://github.com/dscalzi/)",
@@ -17,35 +17,37 @@
"dist:win": "npm run dist -- -w",
"dist:mac": "npm run dist -- -m",
"dist:linux": "npm run dist -- -l",
"lint": "eslint --config .eslintrc.json ."
"lint": "eslint --config .eslintrc.json .",
"postinstall": "patch-package"
},
"engines": {
"node": "18.x.x"
"node": "20.x.x"
},
"dependencies": {
"@electron/remote": "^2.1.0",
"adm-zip": "^0.5.9",
"@electron/remote": "^2.1.2",
"adm-zip": "^0.5.12",
"discord-rpc-patch": "^4.0.1",
"ejs": "^3.1.9",
"ejs-electron": "^2.1.1",
"electron-updater": "^6.1.7",
"ejs": "^3.1.10",
"ejs-electron": "^3.0.0",
"electron-updater": "^6.1.8",
"fs-extra": "^11.1.1",
"github-syntax-dark": "^0.5.0",
"got": "^11.8.5",
"helios-core": "~2.1.0",
"helios-core": "~2.2.1",
"helios-distribution-types": "^1.3.0",
"jquery": "^3.7.1",
"lodash.merge": "^4.6.2",
"semver": "^7.5.4",
"patch-package": "^8.0.0",
"semver": "^7.6.0",
"toml": "^3.0.0"
},
"devDependencies": {
"electron": "^27.1.2",
"electron-builder": "^24.9.1",
"eslint": "^8.54.0"
"electron": "^30.0.1",
"electron-builder": "^24.13.3",
"eslint": "^8.57.0"
},
"repository": {
"type": "git",
"url": "git+https://github.com/dscalzi/HeliosLauncher.git"
"url": "git@git.fosil.eu:oier/PatataLauncher.git"
}
}

View File

@@ -0,0 +1,30 @@
diff --git a/node_modules/helios-core/dist/mojang/rest/MojangRestAPI.d.ts b/node_modules/helios-core/dist/mojang/rest/MojangRestAPI.d.ts
index 49f2b19..794b2f6 100644
--- a/node_modules/helios-core/dist/mojang/rest/MojangRestAPI.d.ts
+++ b/node_modules/helios-core/dist/mojang/rest/MojangRestAPI.d.ts
@@ -44,8 +44,8 @@ export interface UpptimeSummary {
export declare class MojangRestAPI {
private static readonly logger;
private static readonly TIMEOUT;
- static readonly AUTH_ENDPOINT = "https://authserver.mojang.com";
- static readonly STATUS_ENDPOINT = "https://raw.githubusercontent.com/AventiumSoftworks/helios-status-page/master/history/summary.json";
+ static readonly AUTH_ENDPOINT = "https://auth.oier.ovh/api/yggdrasil/authserver";
+ static readonly STATUS_ENDPOINT = "https:/patatapack.oier.ovh/status.json";
private static authClient;
private static statusClient;
static readonly MINECRAFT_AGENT: Agent;
diff --git a/node_modules/helios-core/dist/mojang/rest/MojangRestAPI.js b/node_modules/helios-core/dist/mojang/rest/MojangRestAPI.js
index 3fbc718..3f2009c 100644
--- a/node_modules/helios-core/dist/mojang/rest/MojangRestAPI.js
+++ b/node_modules/helios-core/dist/mojang/rest/MojangRestAPI.js
@@ -38,8 +38,8 @@ var MojangStatusColor;
class MojangRestAPI {
static logger = LoggerUtil_1.LoggerUtil.getLogger('Mojang');
static TIMEOUT = 2500;
- static AUTH_ENDPOINT = 'https://authserver.mojang.com';
- static STATUS_ENDPOINT = 'https://raw.githubusercontent.com/AventiumSoftworks/helios-status-page/master/history/summary.json';
+ static AUTH_ENDPOINT = 'https://auth.oier.ovh/api/yggdrasil/authserver';
+ static STATUS_ENDPOINT = 'https:/patatapack.oier.ovh/status.json';
static authClient = got_1.default.extend({
prefixUrl: MojangRestAPI.AUTH_ENDPOINT,
responseType: 'json',