mirror of
https://github.com/HMCL-dev/HMCL.git
synced 2025-09-12 13:26:53 -04:00
feat(multiplayer): join application.
This commit is contained in:
parent
a48336db4f
commit
ae8f67d507
@ -26,7 +26,7 @@ import java.io.*;
|
||||
import java.net.ConnectException;
|
||||
import java.net.InetAddress;
|
||||
import java.net.Socket;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import static org.jackhuang.hmcl.ui.multiplayer.MultiplayerChannel.*;
|
||||
import static org.jackhuang.hmcl.util.Logging.LOG;
|
||||
|
@ -210,8 +210,11 @@ public class MultiplayerPage extends Control implements DecoratorPage, PageAware
|
||||
int gamePort = result.getAd();
|
||||
try {
|
||||
MultiplayerManager.CatoSession session = MultiplayerManager.createSession(config().getMultiplayerToken(), result.getMotd(), gamePort);
|
||||
session.getServer().onClientAdding().register(event -> {
|
||||
|
||||
session.getServer().setOnClientAdding((client, resolveClient, rejectClient) -> {
|
||||
runInFX(() -> {
|
||||
Controllers.confirm(i18n("multiplayer.session.create.join.prompt", client.getUsername()), i18n("multiplayer.session.create.join"), MessageDialogPane.MessageType.INFO,
|
||||
resolveClient, () -> rejectClient.accept(""));
|
||||
});
|
||||
});
|
||||
session.getServer().onClientAdded().register(event -> {
|
||||
runInFX(() -> {
|
||||
|
@ -18,7 +18,6 @@
|
||||
package org.jackhuang.hmcl.ui.multiplayer;
|
||||
|
||||
import com.google.gson.JsonParseException;
|
||||
import org.jackhuang.hmcl.event.Event;
|
||||
import org.jackhuang.hmcl.event.EventManager;
|
||||
import org.jackhuang.hmcl.util.FutureCallback;
|
||||
import org.jackhuang.hmcl.util.Lang;
|
||||
@ -27,10 +26,8 @@ import org.jackhuang.hmcl.util.gson.JsonUtils;
|
||||
import java.io.*;
|
||||
import java.net.ServerSocket;
|
||||
import java.net.Socket;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.Future;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import static org.jackhuang.hmcl.ui.multiplayer.MultiplayerChannel.*;
|
||||
@ -106,7 +103,7 @@ public class MultiplayerServer extends Thread {
|
||||
|
||||
try {
|
||||
if (client.socket.isConnected()) {
|
||||
client.write(new KickResponse());
|
||||
client.write(new KickResponse(""));
|
||||
client.socket.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
|
@ -628,6 +628,8 @@ multiplayer.session.copy_room_code=Copy Invitation Code
|
||||
multiplayer.session.create=Create Room
|
||||
multiplayer.session.create.error=Failed to create multiplayer room.
|
||||
multiplayer.session.create.hint=Before creating multiplayer room, you must click "Open LAN Server" in running game, and type the port displayed in game in the blank below.
|
||||
multiplayer.session.create.join=Connection request
|
||||
multiplayer.session.create.join.prompt=Player %s wants to join the multiplayer session. Accept?
|
||||
multiplayer.session.create.members=Members
|
||||
multiplayer.session.create.members.kick=Kick
|
||||
multiplayer.session.create.members.kick.prompt=After kicking this player, the established connection with this player will be cut up.
|
||||
|
@ -628,6 +628,8 @@ multiplayer.session.copy_room_code=複製邀請碼
|
||||
multiplayer.session.create=創建房間
|
||||
multiplayer.session.create.error=創建聯機房間失敗。
|
||||
multiplayer.session.create.hint=創建聯機房間前,你需要先在正在運行的遊戲內的遊戲菜單中選擇 對區域網路開放 選項,然後在下方的輸入框中輸入遊戲內提示的埠號(通常是 5 位的數字)
|
||||
multiplayer.session.create.join=連接申請
|
||||
multiplayer.session.create.join.prompt=玩家 %s 申請加入多人聯機房間,是否接受?
|
||||
multiplayer.session.create.members=成員
|
||||
multiplayer.session.create.members.kick=踢出房間
|
||||
multiplayer.session.create.members.kick.prompt=是否踢出該玩家?踢出後該玩家不能再參與該聯機房間。
|
||||
|
@ -628,6 +628,8 @@ multiplayer.session.copy_room_code=复制邀请码
|
||||
multiplayer.session.create=创建房间
|
||||
multiplayer.session.create.error=创建联机房间失败。
|
||||
multiplayer.session.create.hint=创建联机房间前,你需要先在正在运行的游戏内的游戏菜单中选择 对局域网开放 选项,然后在下方的输入框中确认游戏内提示的端口号(通常是 5 位的数字)
|
||||
multiplayer.session.create.join=连接申请
|
||||
multiplayer.session.create.join.prompt=玩家 %s 申请加入多人联机房间,是否接受?
|
||||
multiplayer.session.create.members=成员
|
||||
multiplayer.session.create.members.kick=踢出房间
|
||||
multiplayer.session.create.members.kick.prompt=是否踢出该玩家?踢出后该玩家不能再参与该联机房间。
|
||||
|
Loading…
x
Reference in New Issue
Block a user