
Lightweight launcher helper handling Mpay and 4399 authentication, launcher protocol, cloud saves, matchmaking, content components, image uploads, account/skin utilities, device registration and server address retrieval.
WPLauncherHelper 是一个使用 Kotlin/JVM 轻量的实现
您必须合理地使用它, 项目贡献者及所有者 不会承担 使用者 滥用造成的责任
这是一个简单的示范 适用于 kotlin/jvm
fun main(vararg args: String) {
val username = System.getenv("USERNAME")
val password = System.getenv("PASSWORD")
runBlocking {
val state = when (username.contains("@")) {
true -> {
// mpay (aka. 163) login
val api = UniSdkMpay()
val device = api.registerDevice()
api.login(device, username, password).toCookie(device)
}
false -> {
// 4399 mixed login
val api = I4399GameSDKAPI(CONFIG_NET_EASE_MC)
api.registerDevice()
api.login(
username = System.getenv("USERNAME"),
password = System.getenv("PASSWORD"),
onCaptcha = { raw ->
File("captcha.png").writeBytes(raw)
println("Input captcha code(captcha.png):")
readln()
},
onRealName = { error("当前账号尚未完成认证") }
)
}
}
println("Cookie:")
println(state.toWrappedCookie())
// x19 protocol
val x19 = WPLauncherAPI.login(state)
val self = x19.getSelfDetail()
println("WPLauncher profile: ${self.name} (${x19.session.id})")
val details = x19.getItemDetails(4661334467366178884UL)
val connection = x19.getNetworkServerAddress(4661334467366178884UL)
println("Heypixel name: ${details.name}") // 布吉岛·新玩法上线
println("Heypixel online: ${details.currentOnline}")
println("Heypixel address: ${connection.address}") // pc.bjdmc.net:25565
}
}Q: 为什么要使用kotlin编写, 有其它语言编写的版本吗?
A: 很遗憾我们并没有相关时间去编写, 但您可以参考我们的代码用别的语言实现
Q: 为什么不能通过 4399pc 登录?
A: 请看这里
如果你发现了 bug 或者需要新的功能, 你可以创建一个新的 issue
我们也欢迎您提交 pull request
WPLauncherHelper 是一个使用 Kotlin/JVM 轻量的实现
您必须合理地使用它, 项目贡献者及所有者 不会承担 使用者 滥用造成的责任
这是一个简单的示范 适用于 kotlin/jvm
fun main(vararg args: String) {
val username = System.getenv("USERNAME")
val password = System.getenv("PASSWORD")
runBlocking {
val state = when (username.contains("@")) {
true -> {
// mpay (aka. 163) login
val api = UniSdkMpay()
val device = api.registerDevice()
api.login(device, username, password).toCookie(device)
}
false -> {
// 4399 mixed login
val api = I4399GameSDKAPI(CONFIG_NET_EASE_MC)
api.registerDevice()
api.login(
username = System.getenv("USERNAME"),
password = System.getenv("PASSWORD"),
onCaptcha = { raw ->
File("captcha.png").writeBytes(raw)
println("Input captcha code(captcha.png):")
readln()
},
onRealName = { error("当前账号尚未完成认证") }
)
}
}
println("Cookie:")
println(state.toWrappedCookie())
// x19 protocol
val x19 = WPLauncherAPI.login(state)
val self = x19.getSelfDetail()
println("WPLauncher profile: ${self.name} (${x19.session.id})")
val details = x19.getItemDetails(4661334467366178884UL)
val connection = x19.getNetworkServerAddress(4661334467366178884UL)
println("Heypixel name: ${details.name}") // 布吉岛·新玩法上线
println("Heypixel online: ${details.currentOnline}")
println("Heypixel address: ${connection.address}") // pc.bjdmc.net:25565
}
}Q: 为什么要使用kotlin编写, 有其它语言编写的版本吗?
A: 很遗憾我们并没有相关时间去编写, 但您可以参考我们的代码用别的语言实现
Q: 为什么不能通过 4399pc 登录?
A: 请看这里
如果你发现了 bug 或者需要新的功能, 你可以创建一个新的 issue
我们也欢迎您提交 pull request