dayz-ctl — นี่คือตัวเรียกใช้งานทดลอง (ตัวสำรวจเซิร์ฟเวอร์และตัวเรียกใช้งาน) DayZ บน Steam Proton สำหรับ Linux
เอกสารนี้มีให้บริการในภาษา: eng ??, rus ??, ua ??
ในช่วงเวลาของโปรเจ็กต์นี้ Bohemia Interactive ยังคงไม่สามารถสร้างตัวเรียกใช้งานสำหรับเกมที่สามารถติดตั้งการแก้ไขและเชื่อมต่อกับเซิร์ฟเวอร์เกมได้อย่างถูกต้อง นั่นคือสาเหตุที่โครงการนี้เกิดขึ้น
คุณสมบัติที่สำคัญ:
ขอขอบคุณเป็นพิเศษสำหรับ dayz-linux-cli-launcher สำหรับแนวคิดและ dayzsalauncher สำหรับ API
การสาธิตตัวเปิด
เมนูหลัก | เบราว์เซอร์เซิร์ฟเวอร์ |
ตัวกรองเซิร์ฟเวอร์ | กรองตามแผนที่ |
ใช้ตัวกรองที่เลือก | เบราว์เซอร์รายการโปรด |
เบราว์เซอร์ประวัติ | การค้นหาที่คลุมเครือ |
โหมดออฟไลน์ | Mods สำหรับออฟไลน์ |
ม็อดเซิร์ฟเวอร์ | ข้อมูลม็อด |
เมนูกำหนดค่า | เปิดตัวตัวเลือก |
เกี่ยวกับเมนู | ข่าวเดย์ซี |
ตัวเรียกใช้งานมีสองโหมดที่มีและไม่มีการใช้ SteamCMD เพื่อจัดการม็อดในโหมดกำหนดเอง
คุณสามารถรวมทั้งสองแนวทางได้ เช่น สมัครรับการแก้ไขที่คุณต้องการอย่างแน่นอนในอนาคตโดยคลิกที่ลิงก์ และตรวจสอบการอัปเดตหรือบังคับอัปเดตม็อดโดยใช้ตัวเรียกใช้งาน นอกจากนี้คุณไม่สามารถสมัครสมาชิก "สงสัย 50 mods" ของเซิร์ฟเวอร์ถัดไปและลบออกได้อย่างง่ายดายด้วยการดำเนินการเพียงครั้งเดียวจากตัวเรียกใช้งานในขณะที่ยังคงรักษา mod ทั้งหมดที่คุณสมัครสมาชิกไว้
เพื่อความสะดวกในการติดตั้ง มีสคริปต์เล็กๆ ที่จะทำทุกอย่างให้คุณ (อย่างน้อยก็ลองทำดู)
ดำเนินการนี้:
curl -sSfLA dayz-ctl bit.ly/3Vf2zz3 | bash
เพื่อให้ตัวเรียกใช้งานทำงานได้ คุณต้องตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งการอ้างอิงทั้งหมดแล้ว:
ping
( iputils-ping
) - ค้นหาการ ping ไปยังเซิร์ฟเวอร์ (โดยที่เปิดใช้งาน ICMP)geoiplookup
( geoip-bin
) - ค้นหาประเทศที่เซิร์ฟเวอร์ตั้งอยู่whois
- ทางเลือกสำรองสำหรับ geoiplookup แม่นยำน้อยกว่าและช้ากว่า แต่ไม่ใช่ทุกรายการที่อยู่ในฐานข้อมูล geoip มาตรฐานcurl
- ยูทิลิตี้สำหรับการสื่อสารกับ API ต่างๆ ผ่าน HTTP/Scut, tr, grep, pgrep, pkill, killal, timeout, sed, awk
( gawk
) - โดยที่ไม่มียูทิลิตี้คลาสสิกในสคริปต์จากนั้นคุณสามารถโคลนพื้นที่เก็บข้อมูลได้:
git clone [email protected]:WoozyMasta/dayz-ctl.git
# or
git clone https://github.com/WoozyMasta/dayz-ctl.git
# and run
cd dayz-ctl
./dayz-ctl
หรือดาวน์โหลดไฟล์สคริปต์เอง:
curl -sSfL -o ~ /.local/bin/dayz-ctl
https://raw.githubusercontent.com/WoozyMasta/dayz-ctl/master/dayz-ctl
chmod +x ~ /.local/bin/dayz-ctl
# and run
dayz-ctl
สามารถใช้อิโมจิเพื่อแสดงองค์ประกอบต่างๆ ได้อย่างถูกต้อง คุณอาจต้องติดตั้งองค์ประกอบเหล่านั้น เช่น คุณสามารถใช้แบบอักษร Noto จาก Google
ด้านล่างนี้เป็นรายการที่มีชื่อแพ็คเกจสำหรับการแจกแจงที่แตกต่างกัน:
fonts-noto-color-emoji
- เดเบียน / อูบุนตูgoogle-noto-emoji-color-fonts
- centosgoogle-noto-emoji-fonts
- fedoranoto-fonts-emoji
- ส่วนโค้งfont-noto-emoji
- อัลไพน์noto-coloremoji-fonts
- suseหรือหากคุณไม่ชอบอิโมจิหรือไม่สามารถใช้อิโมจิได้ด้วยเหตุผลบางประการ คุณสามารถใช้แพตช์เพื่อแทนที่อิโมจิด้วยสตริงได้:
sed -e ' s/▫️/•/g ' -e ' s/?/✕/g ' -e ' s/⬛/ /g ' -e ' s//time/g ' -e ' s/❔/?/g '
-e ' s/?/ok/g ' -e ' s/?/no/g ' -e ' s/?/night/g ' -e ' s/☀️/day/g '
-e ' s//yes/g ' -e ' s/?/no/g ' -e ' s/✅/ok/g ' -e ' s//no/g '
-i " $( which dayz-ctl ) "
เป็นการดีกว่าที่จะลบตัวเลือกการเปิดตัว DayZ ทั้งหมดใน Steam และจัดการตัวเลือกเหล่านั้นจากตัวเรียกใช้งานหรือในทางกลับกัน เนื่องจากคีย์สามารถทำซ้ำได้และอาจทำให้เกิดความสับสน หรือในกรณีที่เลวร้ายที่สุด ให้ตัดคีย์บางส่วนออก เนื่องจากสตริงอาร์กิวเมนต์มีการจำกัดความยาว และบนเซิร์ฟเวอร์ที่มี mod จำนวนมาก พารามิเตอร์การเปิดที่ยาวมากคือ ยังใช้
เหล่านั้น. ปล่อยตัวเลือกการเรียกใช้ให้ว่างไว้ หรือระบุเฉพาะชุดของยูทิลิตี้เสริมและตัวแปรที่คุณต้องการ เช่น:
MANGOHUD=1 ENABLE_VKBASALT=1 gamemoderun %command%
คุณสามารถป้อนคำค้นหาหลายคำโดยคั่นด้วยช่องว่าง เช่น ^namalsk DE !PVE !RP
โทเค็น | ประเภทการจับคู่ | คำอธิบาย |
---|---|---|
sbtrkt | การแข่งขันที่คลุมเครือ | รายการที่ตรงกับ sbtrkt |
wild | การทำงานแบบตรงทั้งหมด (ที่ยกมา) | รายการที่มี wild |
^music | คำนำหน้าตรงทั้งหมด | รายการที่ขึ้นต้นด้วย music |
.mp3$ | คำต่อท้ายที่ตรงทั้งหมด | รายการที่ลงท้ายด้วย .mp3 |
!fire | การจับคู่แบบผกผัน | รายการที่ไม่รวม fire |
!^music | ผกผันคำนำหน้าตรงทั้งหมด | รายการที่ไม่ได้ขึ้นต้นด้วย music |
!.mp3$ | ผกผันคำต่อท้ายตรงทั้งหมด | รายการที่ไม่ได้ลงท้ายด้วย .mp3 |
คำที่มีอักขระแท่งเดียวจะทำหน้าที่เป็นตัวดำเนินการ OR
P V E | R P
คุณสามารถปรับแต่งวิธีการทำงานของ Launcher ด้วยความช่วยเหลือของตัวแปรสภาพแวดล้อมที่คุณสามารถส่งผ่านไปยังสภาพแวดล้อมได้ตามปกติหรือเขียนลงในไฟล์การกำหนดค่า $HOME/.local/share/dayz-ctl/dayz-ctl.conf
(โดยค่าเริ่มต้น )
รายการตัวแปรที่มีอยู่:
DAYZ_CTL_VERSION
— เวอร์ชันของแอปพลิเคชันDAYZ_CTL_NAME
= dayz-ctl
— ชื่อแอปพลิเคชันDAYZ_GAME_ID
= 221100
— รหัสเกม SteamAPPLICATIONS_DIR
= $HOME/.local/share/applications
— ไดเร็กทอรีสำหรับจัดเก็บทางลัดของแอปพลิเคชันDAYZ_CTL_DIR
= $HOME/.local/share/dayz-ctl
— ไดเรกทอรีการทำงานของตัวเรียกใช้งานDAYZ_CTL_BIN_DIR
= $HOME/.local/share/dayz-ctl/bin
— ไดเร็กทอรีสำหรับจัดเก็บไฟล์ปฏิบัติการเพิ่มเติมDAYZ_REQUEST_TIMEOUT
= 10
— การหมดเวลามาตรฐานสำหรับคำขอ HTTP ในหน่วยวินาทีDAYZ_CONFIG_FILE
= $DAYZ_CTL_DIR/$DAYZ_CTL_NAME.conf
— ไฟล์การกำหนดค่า dayz-ctlDAYZ_SERVER_DB
= $DAYZ_CTL_DIR/servers.json
— ไฟล์ฐานข้อมูลเซิร์ฟเวอร์DAYZ_SERVER_DB_TTL
= 300
— TTL สำหรับฐานข้อมูลเซิร์ฟเวอร์ในไม่กี่วินาทีDAYZ_SERVER_REQUEST_TIMEOUT
= 30
— หมดเวลาสำหรับการรับรายการเซิร์ฟเวอร์ในไม่กี่วินาทีDAYZ_NEWS_DB
= $DAYZ_CTL_DIR/news.json
— ไฟล์ฐานข่าวDAYZ_NEWS_DB_TTL
= 3600
— TTL สำหรับฐานข้อมูลข่าวในไม่กี่วินาทีDAYZ_MODS_DB
= $DAYZ_CTL_DIR/mods.json
— ไฟล์ฐานข้อมูลการแก้ไขDAYZ_PROFILE
= $DAYZ_CTL_DIR/profile.json
— ไฟล์โปรไฟล์ผู้ใช้DAYZ_HISTORY_SIZE
= 10
- ขนาดประวัติเซิร์ฟเวอร์ explorerDAYZ_FZF_HISTORY
= $DAYZ_CTL_DIR/.$DAYZ_CTL_NAME-history
— ไฟล์ประวัติสำหรับการค้นหาแบบคลุมเครือDAYZ_USERAGENT
= "$DAYZ_CTL_NAME $DAYZ_CTL_VERSION"
— ตัวแทนผู้ใช้ที่ใช้สำหรับคำขอ HTTPDAYZ_API
= https://dayzsalauncher.com/api/v1
— ที่อยู่ API สำหรับรับรายการเซิร์ฟเวอร์DAYZ_STEAMCMD_ENABLED
= true
- สลับเพื่อเปิดหรือปิดการใช้งาน SteamCMDDAYZ_FILTER_MOD_LIMIT
= 10
- ค่าตัวกรองขีดจำกัด mod เริ่มต้นDAYZ_FILTER_PLAYERS_LIMIT
= 50
- ค่าตัวกรองขีดจำกัดผู้เล่นเริ่มต้นDAYZ_FILTER_PLAYERS_SLOTS
= 60
— ค่าตัวกรองขีดจำกัดสล็อตเริ่มต้นสำหรับผู้เล่น ตัวเลือกการเปิดตัว Steam โดยเปิดใช้งาน MangoHud, vkBasalt และโหมดเกม:
MANGOHUD=1 ENABLE_VKBASALT=1 gamemoderun %command%
นอกจากนี้ โดยไม่ต้องใช้ยูทิลิตี้ของบุคคลที่สาม คุณสามารถแสดงข้อมูลซ้อนทับพร้อมข้อมูลเกี่ยวกับทรัพยากรและจำกัด FPS โดยใช้เครื่องมือ DXVK มาตรฐานได้ เช่น:
DXVK_HUD=fps DXVK_FRAME_RATE=60 gamemoderun %command%
ความหมายของ DXVK_HUD=fps
... DXVK_HUD=full
:
devinfo
- แสดงชื่อของ GPU และเวอร์ชันไดรเวอร์fps
- แสดงอัตราเฟรมปัจจุบันframetimes
- แสดงกราฟเวลาเฟรมsubmissions
- แสดงจำนวนบัฟเฟอร์คำสั่งที่ส่งต่อเฟรมdrawcalls
- แสดงจำนวนการเรียกวาดและเรนเดอร์พาสต่อเฟรมpipelines
- แสดงจำนวนกราฟิกทั้งหมดและไปป์ไลน์การคำนวณdescriptors
- แสดงจำนวนของพูล descriptor และชุด descriptormemory
- แสดงจำนวนหน่วยความจำของอุปกรณ์ที่จัดสรรและใช้gpuload
- แสดงโหลด GPU โดยประมาณ อาจจะไม่ถูกต้อง.version
- แสดงเวอร์ชัน DXVKapi
- แสดงระดับคุณสมบัติ D3D ที่แอปพลิเคชันใช้cs
- แสดงสถิติเธรดของผู้ปฏิบัติงานcompiler
- แสดงกิจกรรมคอมไพเลอร์เชเดอร์samplers
- แสดงจำนวนคู่เครื่องเก็บตัวอย่างในปัจจุบันที่ใช้ [D3D9 เท่านั้น]scale=x
— ปรับขนาด HUD ด้วยปัจจัย x (เช่น 1.5) ขีดจำกัดอัตราเฟรม DXVK_FRAME_RATE=0