LAX1DUDE_SIGNATURE.txt
เพื่อดูคำแนะนำในการตรวจสอบว่านี่เป็นสำเนาต้นฉบับ หากไม่มีไฟล์อยู่ โปรดอย่าใช้สำเนาของโครงการนี้Eaglercraft เป็น Minecraft 1.5.2 จริงๆ ที่คุณสามารถเล่นได้บนเว็บเบราว์เซอร์ทั่วไป ซึ่งรวมถึง Chromebook ของโรงเรียนด้วย และใช้ได้กับ Chromebook ทุกรุ่น รองรับทั้งผู้เล่นเดี่ยวและผู้เล่นหลายคน |
ปัจจุบันดูแลโดย ayunami2000
หากมีคำถามใดๆ คุณสามารถเข้าร่วมเซิร์ฟเวอร์ discord และติดต่อเราได้ที่ https://discord.gg/Ekzcgs3DKZ
(คลิกขวาที่ลิงค์แล้วกด 'บันทึกลิงค์เป็น...' เพื่อดาวน์โหลดไฟล์)
ผู้เล่นคนเดียว | ผู้เล่นหลายคน | คนอื่น |
---|---|---|
การนำเข้าและส่งออกโลก | ไคลเอนต์และเซิร์ฟเวอร์สาธารณะ | การพัฒนาปลั๊กอิน |
แลน เวิลด์ | การสร้างเซิร์ฟเวอร์ - Bukkit | การรวบรวม |
รีเลย์ LAN สาธารณะ | การสร้างเซิร์ฟเวอร์ - EaglercraftBungee | การสร้างชุดทรัพยากร |
การสร้างรีเลย์ LAN | การสร้างลูกค้า | มีส่วนร่วม |
การกำหนดค่า EaglercraftBungee | ||
การสร้างพร็อกซีย้อนกลับ - NGINX | ||
การกำหนดค่า NGINX |
เพียงกดปุ่ม 'ผู้เล่นคนเดียว' บนเมนูหลัก คุณสามารถสร้างวานิลลามายคราฟและเล่นได้ทุกเมื่อ
โลกต่างๆ จะถูกจัดเก็บไว้ในที่จัดเก็บในเบราว์เซอร์ของคุณ คุณสามารถส่งออกเป็นไฟล์ EPK และนำเข้าอีกครั้งบนไซต์ Eaglercraft อื่นๆ ทั้งหมดที่สนับสนุนการเล่นคนเดียวด้วย คุณยังสามารถคัดลอกโลกที่ส่งออกไปยังคอมพิวเตอร์เครื่องอื่นหรือส่งให้เพื่อน และนำเข้าและเล่นต่อโดยบันทึกความคืบหน้าทั้งหมดของคุณไว้
โลก LAN จะทำงานระหว่างอุปกรณ์สองเครื่องที่เชื่อมต่อกับอินเทอร์เน็ต คุณไม่ จำกัด เฉพาะผู้เล่นที่เชื่อมต่อกับเครือข่าย Wi-Fi ของคุณ
หากต้องการเปิดโลกของคุณสู่ LAN ให้ไปที่เมนูหยุดชั่วคราวแล้วคลิก 'เปิดสู่ LAN' คุณสามารถกำหนดค่าโหมดเกมและสูตรโกงได้ และหากคุณต้องการซ่อนโลก LAN ของคุณ เมื่อคุณไม่ได้ซ่อนโลก LAN ของคุณ โลกนั้นจะปรากฏบนหน้าจอผู้เล่นหลายคนจากเมนูหลักไปยังคนอื่นๆ ในเครือข่าย Wi-Fi ของคุณด้วย สร้างโลกที่ซ่อนเร้นหากคุณอยู่ที่โรงเรียนหรืออะไรบางอย่างและไม่ต้องการให้ทุกคนในชั้นเรียนของคุณเข้าร่วมและเริ่มโศกเศร้า
เมื่อคุณเปิดโลกสู่ LAN มันจะให้ 'รหัสเข้าร่วม' แก่คุณ เพียงแชร์รหัสกับเพื่อนของคุณ พวกเขาสามารถไปที่หน้าจอผู้เล่นหลายคนจากเมนูหลักและคลิก 'เชื่อมต่อโดยตรง' และป้อนรหัส จากนั้นพวกเขาจะสามารถเข้าร่วมโลกของคุณได้
ตรวจสอบให้แน่ใจว่าพวกเขาเพิ่มเซิร์ฟเวอร์รีเลย์ที่เกมของคุณเปิดโลก LAN ไว้ในเมนู "การตั้งค่าเครือข่าย" ที่สามารถเข้าถึงได้จากหน้าจอผู้เล่นหลายคน คุณเพียงแค่ต้องส่ง URL ที่ระบุในเมนูหยุดชั่วคราวไปให้พวกเขาเมื่อโลกเปิดขึ้น และพวกเขาสามารถใช้ตัวเลือก "เพิ่มรีเลย์" เพื่อเพิ่ม URL ลงในรายการได้
wss://relay.deev.is/
wss://relay.lax1dude.net/
wss://relay.shhnowisnottheti.me/
java -jar sp-relay.jar
เรียกใช้ java -jar sp-relay.jar --debug
เพื่อดูข้อมูลการดีบักเช่น IP ทั้งหมดของการเชื่อมต่อขาเข้า เนื่องจากจะไม่แสดงตามค่าเริ่มต้นเนื่องจากการบันทึกข้อมูลทั้งหมดนั้นจะลดประสิทธิภาพเมื่อรีเลย์ถูก ping หลายครั้งต่อวินาทีขึ้นอยู่กับ ในเรื่องความนิยม
แก้ไขไฟล์ relayConfig.ini
ที่สร้างขึ้นในการเปิดตัวครั้งแรกเพื่อเปลี่ยนพอร์ตและกำหนดค่าการจำกัดอัตราและอื่นๆ และ relays.txt
เพื่อเปลี่ยนรายการรีเลย์ STUN และ TURN ที่รายงานไปยังไคลเอนต์ที่เชื่อมต่อกับรีเลย์ ซึ่งจำเป็นในการสร้าง P2P LAN อย่างถูกต้อง การเชื่อมต่อโลกในเบราว์เซอร์
ตัวแปรการกำหนดค่า origin-whitelist
คือรายการโดเมนที่คั่นด้วยเครื่องหมายอัฒภาค ( ;
) ซึ่งใช้เพื่อจำกัดไซต์ที่ได้รับอนุญาตให้ใช้รีเลย์ของคุณ เมื่อเว้นว่างไว้จะอนุญาตทุกไซต์ เพิ่ม offline
เพื่ออนุญาตให้ไคลเอนต์ดาวน์โหลดออฟไลน์ใช้รีเลย์ของคุณเช่นกัน และ null
เพื่ออนุญาตการเชื่อมต่อที่ไม่ได้ระบุส่วนหัว Origin:
ใช้ *
เป็นไวด์การ์ด เช่น *.deev.is
อนุญาตให้โดเมนทั้งหมดที่ลงท้ายด้วย "deev.is" ใช้รีเลย์ได้
ฟังก์ชั่นผู้เล่นหลายคนเช่นวานิลลา Minecraft ช่วยให้คุณสามารถเข้าร่วมเซิร์ฟเวอร์ Minecraft ตามปกติได้เหมือนกับไคลเอนต์ทั่วไป
เซิร์ฟเวอร์ มี หลายส่วน โดยส่วนใหญ่ประกอบด้วย เซิร์ฟเวอร์ Bukkit 1.5.2 ปกติ และ Bungeecord เวอร์ชันแก้ไข ที่เรียกว่า EaglercraftBungee ซึ่งนอกเหนือจากฟังก์ชัน Bungeecord ปกติแล้ว ยังแปลการเชื่อมต่อ WebSocket เป็นการเชื่อมต่อ TCP แบบ Raw ซึ่ง Bukkit สามารถเข้าใจได้
คุณอาจต้องการตั้ง ค่าไคลเอ็นต์ ของคุณเอง ซึ่งช่วยให้คุณสามารถ ควบคุมรายชื่อเซิร์ฟเวอร์เริ่มต้น ชุดทรัพยากร และการเชื่อมต่อโดยรวมที่เร็วขึ้นเนื่องจากมีภาระงานน้อยลง
หากคุณต้องการใช้โดเมนสำหรับเซิร์ฟเวอร์ของคุณ คุณสามารถตั้ง ค่าพร็อกซีย้อนกลับ เพื่อเปิดใช้งานฟังก์ชันพิเศษภายใน EaglercraftBungee ได้ แนะนำให้ใช้ NGINX และมีบทช่วยสอนรวม อยู่ที่นี่ นี่เป็นทางเลือกและสามารถข้ามได้โดยเพียงแค่เชื่อมต่อกับ IP
java/bukkit_command
run.bat
ควรเปิดหน้าต่างเทอร์มินัลใหม่cd
เพื่อนำทางไปยัง java/bukkit_command
chmod +x run_unix.sh
แล้วรัน ./run_unix.sh
ควรเริ่มต้นเซิร์ฟเวอร์เดียวกันjava/bukkit_command/plugins
(ดู https://github.com/lax1dude/eaglercraft-plugins/ เพื่อดาวน์โหลดปลั๊กอินที่รองรับบางส่วน) java/bungee_command
run.bat
ควรเปิดหน้าต่างเทอร์มินัลที่สองjava/bungee_command
java/bungee_command/plugins
มีการกำหนดค่าเพิ่มเติมมากมายใน bungeecord แต่สิ่งนี้ควรตั้งค่าให้คุณ
เซิร์ฟเวอร์ของคุณพร้อมแล้ว เยี่ยมชมไคลเอนต์ใดก็ได้ และไปที่ 'ผู้เล่นหลายคน' จากเมนูหลัก เลือก 'เชื่อมต่อโดยตรง' พิมพ์ 127.0.0.1:25565
แล้วกด 'เข้าร่วมเซิร์ฟเวอร์' ควรอนุญาตให้คุณเชื่อมต่อได้ หากไม่เป็นเช่นนั้น ให้ตรวจสอบหน้าต่างเทอร์มินัลทั้งสองเพื่อหาข้อผิดพลาด
ในการติดตั้ง ให้อัปโหลดเนื้อหาของ stable-download/web
ไปยังเว็บเซิร์ฟเวอร์
/var/www/html
และอัปโหลดเนื้อหาของ stable-download/web
ที่นั่นhttps://eaglercraft.example.com/server
โฟลเดอร์ 'เว็บ' จะไม่ทำงานหากคุณเปิดมันในเบราว์เซอร์ในเครื่อง! หากคุณเห็น 'file:///' ใน URL แสดงว่าคุณทำผิด คุณต้องอัปโหลดโฟลเดอร์ไปยังเซิร์ฟเวอร์ HTTP หรือ HTTPS และเข้าถึงได้ผ่านทางอินเทอร์เน็ตผ่าน http:// หรือ https:// เกมจะไม่โหลด มิฉะนั้น นี่ไม่ใช่ข้อบกพร่อง
หากต้องการแก้ไขรายการเซิร์ฟเวอร์เริ่มต้น ให้แก้ไขตัวแปร window.eaglercraftOpts
ใน index.html
คำแนะนำฉบับสมบูรณ์เกี่ยวกับวิธีกำหนดค่า eaglercraftOpts
จะออกมาในเร็วๆ นี้ แต่ควรเข้าใจได้ง่ายพอสมควรในการหาวิธีตั้งค่าโดยพิจารณาจากค่าเริ่มต้นที่มีอยู่แล้วเมื่อคุณดูในการดาวน์โหลดที่เสถียร
หากต้องการสร้างลิงก์ไปยังไซต์ของคุณที่จะเข้าร่วมเซิร์ฟเวอร์โดยอัตโนมัติ ให้เพิ่มตัวแปร ?server=
ให้กับ URL เช่น (ตัวอย่าง): https://g.deev.is/eaglercraft/?server=127.0.0.1:25565 จะ เข้าร่วม ws://127.0.0.1:25565/
โดยอัตโนมัติ ทันทีที่ผู้เล่นตั้งชื่อผู้ใช้และสกินเสร็จ
motd1:
ของการกำหนดค่า Listener ใน java/bungee_command/config.yml
และแทนที่ server-icon.png
ในโฟลเดอร์ที่มีไฟล์กำหนดค่าอยู่ ใช้ &
เพื่อเพิ่มโค้ดสี/การจัดรูปแบบ รายการเซิร์ฟเวอร์จะลดขนาดไอคอนของคุณเป็น 64x64 พิกเซลmotd2:
เพื่อกำหนดบรรทัดที่สองหากต้องการเปิดใช้งานคำสั่ง /login และ /register ใน EaglercraftBungee คุณสามารถแก้ไขส่วนนี้ของ config.yml
authservice :
authfile : auths.db
register_enabled : true
ip_limit : 0
join_messages :
- ' &3Welcome to my &aEaglercraftBungee &3server! '
login_timeout : 30
enabled : false
authfile
ตั้งค่าไฟล์ฐานข้อมูลการรับรองความถูกต้องซึ่ง เข้ากันได้กับ AuthMe
register_enabled
เปิดและปิดคำสั่ง register
ip_limit
ตั้งค่าจำนวนการลงทะเบียนสูงสุดต่อ IP, 0 = ไม่จำกัด
join_messages
รายการข้อความที่จะแสดงให้ผู้เล่นเห็นเมื่อพวกเขาเข้าร่วม
login_timeout
กำหนดจำนวนวินาทีที่ผู้เล่นต้องเข้าสู่ระบบก่อนที่จะถูกเตะ
enable
เปิดและปิดคำสั่งการเข้าสู่ระบบ
หากคุณใช้ /op บนเซิร์ฟเวอร์ของคุณ โปรดจำไว้ว่าหากคุณ "/op LAX1DUDE" ผู้เล่นที่เข้าร่วมเป็น 'laX1DUDE' หรือ 'LaX1dUdE' หรือ 'lax1dude' ก็จะมี /op ด้วยเช่นกัน เพื่อแก้ไขปัญหานี้ ให้บังคับให้โอเปอเรเตอร์ทั้งหมดสามารถรวมเฉพาะตัวอักษรตัวพิมพ์เล็ก ('lax1dude') ในชื่อผู้ใช้ของตนได้โดยการย้าย 'BitchFilterPlugin.jar' ไปที่ "java/bukkit_command/plugins" จากนั้นลงทะเบียนชื่อผู้ใช้ op ตัวพิมพ์เล็กทั้งหมด
หากต้องการปิดใช้งานการแชทด้วยเสียง ให้ตั้งค่า voice_enabled: false
ใน bungeecord config.yml
eag-ban
eag-ban-regex
พร้อมด้วยนิพจน์ทั่วไปเพื่อให้ตรงกับชื่อผู้ใช้เป็น ตัวพิมพ์เล็ก เพื่อให้การแบน IP ทำงานได้ จำเป็นต้องมี พร็อกซีย้อนกลับ และ จำเป็นต้องกำหนดค่า forward_ip
ไม่เช่นนั้นจะไม่สามารถแบน IP ของผู้ใช้ได้
eag-ban-ip
หรือ eag-ban-ip
เพื่อแบน IP ของผู้เล่นโดยอัตโนมัติeag-ban-ip 192.168.0.0/8
eag-ban-wildcard *
หรือ eag-ban-wildcard *
หรือ eag-ban-wildcard **
enable_web_origin_blacklist : false
origin_blacklist_block_replit_clients : true
origin_blacklist_block_offline_download : true
origin_blacklist_block_missing_origin_header : true
หากต้องการเพิ่มโดเมนที่ขึ้นบัญชีดำของคุณเอง ให้สร้างไฟล์ชื่อ origin_blacklist.txt
ในไดเร็กทอรี bungeecord ของคุณ และใส่นิพจน์ทั่วไปไว้ข้างใน หนึ่งรายการในแต่ละบรรทัด นอกจากนี้ยังมีคำสั่ง domain
ในคอนโซลเพื่อดูโดเมนของผู้เล่นและคำสั่ง block-domain
และ block-domain-name
และ unblock-domain
เพื่อจัดการ origin_blacklist.txt
ในเครื่องจากคอนโซลบันจี้จัม (หากคุณไม่ทราบ วิธีแก้ไขไฟล์ด้วยตัวเอง) รายการจะโหลดซ้ำโดยอัตโนมัติเมื่อตรวจพบการเปลี่ยนแปลงในไฟล์
origin_blacklist_use_simple_whitelist : true
จากนั้น เพิ่มโดเมนของคุณไปที่ origin_blacklist_simple_whitelist
ดังนี้:
origin_blacklist_simple_whitelist :
- type the name of your client's domain here
จากนั้น เว้นแต่คุณต้องการให้มันเป็นตัวเลือกสำหรับผู้เล่นของคุณ ให้ปิดการใช้งานการดาวน์โหลดออฟไลน์ เพื่อให้แฮกเกอร์ไม่ใช้มันเพื่อเลี่ยงผ่านไวท์ลิสต์ เนื่องจากไม่ถูกบล็อกในโหมดไวท์ลิสต์ตามค่าเริ่มต้น:
origin_blacklist_block_offline_download : true
เซิร์ฟเวอร์มีการป้องกัน DoS ในตัว รีเซ็ตได้โดยการพิมพ์ 'eag-ratelimit Reset' ในคอนโซลบันจี้จัม**
การจำกัดอัตราสามารถทำได้ แต่จำเป็นต้องมี พร็อกซีย้อนกลับ และ จำเป็นต้องกำหนด forward_ip
เพื่อใช้การจำกัดอัตรา มิฉะนั้นจะถูกปิดใช้งานตามค่าเริ่มต้น
ratelimit :
ip :
enable : true
period : 90
limit : 60
limit_lockout : 80
lockout_duration : 1200
exceptions : []
enable
ใช้งานการจำกัดอัตรา
period
และ limit
กำหนดจำนวนคำขอ ( limit
) สามารถทำได้ใน ( period
) จำนวนวินาที
limit_lockout
และ lockout_duration
กำหนดจำนวนคำขอ ( limit_lockout
) ที่สามารถทำได้ใน ( period
) วินาทีก่อนที่ IP จะถูกบล็อกสำหรับ lockout_duration
จำนวนวินาที
exceptions
รายการที่อยู่ IP ที่ไม่ควรได้รับการจำกัดอัตรา IP ภายในเครื่อง เช่น 127.0.0.1 และ 192.168.*.* และ IP ดังกล่าวจะถูกตั้งค่าเป็นข้อยกเว้นตามค่าเริ่มต้น
หากคุณต้องการส่งสัญญาณให้ไคลเอ็นต์ตัดการเชื่อมต่อจากบันจี้คอร์ดของคุณและเชื่อมต่อกับบันจี้คอร์ดอื่นอีกครั้ง ให้กำหนดค่ารายการในส่วน servers
ของ config.yml ดังนี้:
test :
redirect : wss://ServerHere/
restricted : false
ในตัวอย่างนี้ การส่งผู้เล่นไปที่เซิร์ฟเวอร์ test
เช่น เมื่อพวกเขาเข้าสู่พอร์ทัลหรือพิมพ์ /server test
จะกระตุ้นให้ไคลเอนต์ตัดการเชื่อมต่อจากบันจี้คอร์ดของคุณ จากนั้นเชื่อมต่อใหม่โดยอัตโนมัติกับ wss://ServerHere/
ราวกับว่ามันถูกป้อนเข้าไปแล้ว ผ่าน "การเชื่อมต่อโดยตรง"
ต่อไปนี้เป็นหลักสูตรเร่งด่วนในการตั้งค่า NGINX บน Linux โดยเฉพาะบนการกระจาย Debian
นี่คือการค้นหาของ Google สำหรับการแจกแจงอื่น ๆ :
เปิดเทอร์มินัลของคุณแล้วเรียกใช้
sudo apt update
และ sudo apt install nginx
เปิดเว็บเบราว์เซอร์ใดก็ได้ และค้นหา localhost
ในแถบค้นหาของคุณ คุณควรเห็นสิ่งนี้:
ไปที่การกำหนดค่าของ NGINX ด้วย cd /etc/nginx/sites-enabled
สร้างไฟล์การกำหนดค่าใหม่ด้วยชื่อโดเมนของคุณ เช่น nano eaglercraft.example.com
วางรหัสต่อไปนี้ลงในไฟล์ แทนที่ example.com
ด้วยโดเมนของคุณเอง และ app_server_address
เป็น ip:port
ของเซิร์ฟเวอร์ EaglercraftBungee ที่คุณต้องการให้ URL เชื่อมต่อ
server {
listen 80;
listen [::]:80;
server_name example.com eaglercraft.example.com;
location / {
proxy_pass app_server_address;
include proxy_params;
}
}
sudo service nginx restart
และคุณควรจะดีไป! proxy_pass
add_header X-Frame-Options "SAMEORIGIN";
add_header Referrer-Policy "strict-origin";
add_header X-XSS-Protection "1; mode=block";
add_header Content-Security-Policy "default-src 'self' 'unsafe-inline'; img-src 'self' 'unsafe-inline' data: blob:; connect-src 'self' ws: wss:; upgrade-insecure-requests";
proxy_set_header X-Real-IP $remote_addr
ในการกำหนดค่าพร็อกซีของคุณหากต้องการพัฒนาปลั๊กอิน ให้ดาวน์โหลด stable-download/java/bungee_command/bungee_dist.jar และเพิ่มลงใน Build Path ของ Java IDE ของคุณ พัฒนาปลั๊กอินเช่นเดียวกับปลั๊กอิน BungeeCord ทั่วไป ดูตัวอย่าง EaglerMOTD
ทดสอบปลั๊กอินของคุณโดยส่งออกเป็นไฟล์ jar และวางไว้ในไดเร็กทอรี '/plugins' ของ EaglercraftBungee จากนั้นคลิก 'run.bat'
net.md_5.bungee.api.event.WebsocketMOTDEvent : ทริกเกอร์เมื่อไคลเอ็นต์หรือเว็บไซต์ร้องขอ MOTD
net.md_5.bungee.api.event.WebsocketQueryEvent : ทริกเกอร์เมื่อไคลเอนต์หรือเว็บไซต์ร้องขอแบบสอบถาม สิ่งนี้เกิดขึ้นเมื่อไซต์เปิดข้อความ WebSocket ไปยังผู้ฟังและส่งสตริงเดียว Accept:
แพ็กเก็ต สามารถใช้เพื่อจัดเตรียมสถิติที่กำหนดเองเพิ่มเติมให้กับไซต์รายการเซิร์ฟเวอร์ที่รองรับการสืบค้น WebSocket แบบรวม
ลงทะเบียนตัวจัดการเหตุการณ์โดยใช้คำอธิบายประกอบ BungeeCord @EventHandler
มาตรฐาน ใน คลาส Listener
ของคุณ
หากต้องการคอมไพล์สำหรับเว็บ ให้รันเป้าหมายการคอมไพล์ gradle 'teavm' เพื่อสร้างไฟล์ class.js
ไม่รองรับรันไทม์ LWJGL อีกต่อไป แต่รวมไว้เพื่อการอ้างอิงเท่านั้น
run.bat
รอให้หน้าต่างแจ้งว่า Press any key to continue...
แล้วปิด จากนั้น ไปที่ ../javascript
ในพื้นที่เก็บข้อมูล และคัดลอก javascript/assets.epk
ไปยัง assets.epk
บนเว็บไซต์ของคุณcd
และเรียกใช้ chmod +x run_unix.sh
จากนั้นตามด้วย ./run_unix.sh
เพื่อดำเนินการนี้ จากนั้นคัดลอก javascript/assets.epk
เดียวกันไปยัง assets.epk
บน เว็บไซต์ของคุณ ทั้งหมดที่ฉันต้องพูดจริงๆ คือ แท็บไม่ใช่ช่องว่าง และจัดรูปแบบโค้ดให้เหมือนกับเครื่องมือจัดรูปแบบอัตโนมัติ eclipse ในการตั้งค่าจากโรงงาน แต่ยังรันโค้ดบนบรรทัดที่ยาวพอที่จะออกจากหน้าจอและบรรทัดเดียวหากคำสั่งและอื่น ๆ เรายินดีรับการละเมิดรูปแบบในหมวดหมู่นั้น หากช่วยเพิ่มความแตกต่างระหว่างโค้ดที่สำคัญน้อยกว่าและโค้ดที่สำคัญกว่าในไฟล์ อย่ากระทำการเปลี่ยนแปลงกับ javascript/classes.js
หรือ javascript/classes_server.js
หรือ javascript/assets.epk
หรืออะไรก็ตามใน stable-download/
ฉันจะคอมไพล์สิ่งเหล่านั้นใหม่ด้วยตัวเองเมื่อฉันรวมคำขอดึง
รายการเซิร์ฟเวอร์สาธารณะได้ถูกเพิ่มเข้าไปในไคลเอนต์อย่างเป็นทางการ ↩ แล้ว
ขณะนี้รายชื่อเซิร์ฟเวอร์กำลังถูกสร้างขึ้นใหม่ โปรดใช้ไคลเอนต์อย่างเป็นทางการในตอนนี้ ↩