Core
การกำหนดค่าหลักของทรัพยากรนี้
locale
ภาษาที่ต้องการใช้งาน
locale = 'th'
- locale:
string
- เส้นทางไฟล์
./locales/<langcode>.json
- เส้นทางไฟล์
authMethod
ประเภทการตรวจสอบสิทธิ์การเชื่อมต่อที่ต้องการใช้งาน
authMethod = AUTH_METHOD.EXTERNAL_API
- authMethod:
integer
- AUTH_METHOD: ข้อมูลการกำหนดค่าเกี่ยวกับประเภทการตรวจสอบสิทธิ์การเชื่อมต่อ (ถูกกำหนดมาจากภายในสคริปต์)
- DISABLE: ปิดใช้งานการตรวจสอบสิทธิ์การเชื่อมต่อ
- DATABASE: การตรวจสอบสิทธิ์จากตัวระบุ (identifier) ในฐานข้อมูลของเซิร์ฟเวอร์ที่ตาราง azael_playpass คอลัมน์ identifier
- EXTERNAL_API: การตรวจสอบสิทธิ์ผ่าน API ภายนอก เช่น Discord API หรือ Custom API โดยใช้ HTTP Request เพื่อร้องขอข้อมูล (กำหนดค่าที่ไฟล์
./config/external_api.lua
)
- AUTH_METHOD: ข้อมูลการกำหนดค่าเกี่ยวกับประเภทการตรวจสอบสิทธิ์การเชื่อมต่อ (ถูกกำหนดมาจากภายในสคริปต์)
maintenanceMode
เปิดใช้งานโหมดปิดปรับปรุงเซิร์ฟเวอร์ โดยผู้เล่นที่ไม่มีสิทธิ์จะไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ได้
maintenanceMode = false
- maintenanceMode:
boolean
- กำหนดสิ ทธิ์ให้บทบาทที่อนุญาตได้ที่การกำหนค่า permissions สำหรับ skipRules ประเภท
maintenance_mode
- กำหนดสิ ทธิ์ให้บทบาทที่อนุญาตได้ที่การกำหนค่า permissions สำหรับ skipRules ประเภท
userProfileCard
เปิดใช้งานการแสดงโปรไฟล์ข้อมูลบัญชีของผู้เล่นเมื่อเชื่อมต่อ
userProfileCard = true
- userProfileCard:
boolean
- กำหนดค่าเพิ่มเติมที่ไฟล์
./config/profile.lua
และปรับเเต่ง Adaptive Cards ได้ที่./modules/profile/templates
- กำหนดค่าเพิ่มเติมที่ไฟล์
connectionQueue
เปิดใช้งานระบบคิวการเชื่อมต่อ
connectionQueue = true
- connectionQueue:
boolean
- กำหนดค่าเพิ่มเติมที่ไฟล์
./config/queue.lua
- กำหนดค่าเพิ่มเติมที่ไฟล์
identifierType
ตัวระบุของผู้เล่นที่ต้องการใช้งาน
identifierType = 'discord'
จำเป็นจะต้องกำหนดตัวระบุ discord หากคุณใช้งานการตรวจสอบสิทธิ์อนุญาตให้เข้าร่วมกับเซิร์ฟเวอร์โดย Discord API
bindIdentifier
ผูกตัวระบุที่ต้องการเข้ากับตัวระบุที่กำหนดใน identifierType
เพื่อป้องกันการใช้บัญชีซ้ำหรือแจกจ่ายสิทธิ์ในการเชื่อมต่อกับเซิร์ฟเวอร์
bindIdentifier = {
enable = true,
type = 'steam'
}
- enable:
boolean
- เปิดใช้งานการผูกตัวระบุ (แนะนำให้เปิดใช้งานเพื่ อป้องกันการแจกจ่ายสิทธิ์เชื่อมต่อกับเซิร์ฟเวอร์)
- type:
string
โปรดหลีกเลี่ยงการใช้งานประเภทตัวระบุเดียวกันกับที่กำหนดใน identifierType
เพราะอาจเกิดข้อผิดพลาดได้
maxPingLimit
กำหนดค่า Ping สูงสุดที่อนุญาตให้ผู้เล่นเชื่อมต่อกับเซิร์ฟเวอร์
maxPingLimit = 500
- maxPingLimit:
integer
connectionAttemptLimit
ป้องกันการเชื่อมต่อบ่อยและเร็วเกินกำหนด
connectionAttemptLimit = {
enable = true,
maxAttempts = 3,
cooldownTime = 10,
blockDuration = 300
}
- enable:
boolean
- เปิดใช้งานป้องกันการเชื่อมต่อบ่อยและเร็วเกินกำหนด
- maxAttempts:
integer
- จำนวนครั้งที่ผู้เล่นพยายามเชื่อมต่อสูงสุดที่อนุญาตก่อนที่จะถูกบล็อกชั่วคราว
- cooldownTime:
integer
- ระยะเวลาคูลดาวน์ที่ต้องรอก่อนที่จะสามารถเชื่อมต่อใหม่ได้ (หน่วยเป็น วินาที)
- blockDuration:
integer
- ระยะเวลาที่ผู้เล่นจะถูกบล็อกหลังจากพยายามเชื่อมต่อเกินจำนวนที่อนุญาต (หน่วยเป็น วินาที)
banPlayerHwids
การแบน HWIDs ของผู้เล่น (Player Tokens)
banPlayerHwids = {
enable = true,
strict = true,
matches = 2
}
- enable:
boolean
- เปิดใช้งานระบบแบน HWIDs ผู้เล่น (Player Tokens)
- strict:
boolean
- เปิดใช้งานการจับคู่ HWID แบบเข้มงวด เมื่อตรวจพบ HWID ที่ถูกแบนตั้งเเต่ 2 Tokens ขึ้นไป และ Tokens ที่ตรวจพบจะต้องมาจากผู้เล่นเดียวกัน
- matches:
integer
- จำนวนการจับคู่ HWID ที่ต้องตรงกับ HWID ที่ถูกแบน หากจับคู่ครบตามจำนวนจะถือว่าผู้เล่นถูกแบน
- ผู้เล่นส่วนใหญ่จะมี HWID Tokens ประมาณ 3 ถึง 6 รายการ
- จำนวนการจับคู่ HWID ที่ต้องตรงกับ HWID ที่ถูกแบน หากจับคู่ครบตามจำนวนจะถือว่าผู้เล่นถูกแบน
HWID Tokens อาจไม่ถูกต้อง 100% ซึ่งอาจทำให้ Tokens จากผู้เล่นสองคนตรงกันโดยไม่เกี่ยวข้องกัน จึงแนะนำให้กำหนด matches เป็น 2 หรือ 3 เพื่อป้องกันการแบนผิดพลาด
autoBanAssociated
โหมดการแบนผู้เล่นที่เกี่ยวข้องกับผู้เล่นที่ถูกแบน จะทำการแบนอัตโนมัติเมื่อพบข้อมูลที่ตรงกับผู้เล่นที่ถูกแบนในฐานข้อม ูลของเซิร์ฟเวอร์
autoBanAssociated = {
boundId = true,
hwids = true
}
- boundId:
boolean
- เปิดใช้งานการตรวจสอบ Bound Id สำหรับการแบนผู้เล่นอัตโนมัติเมื่อพบข้อมูลที่ตรงกับผู้เล่นที่ถูกแบน
- ⚠️ ไม่ทำงานหากปิดใช้งาน
bindIdentifier
- ⚠️ ไม่ทำงานหากปิดใช้งาน
- เปิดใช้งานการตรวจสอบ Bound Id สำหรับการแบนผู้เล่นอัตโนมัติเมื่อพบข้อมูลที่ตรงกับผู้เล่นที่ถูกแบน
- hwids:
boolean
- เปิดใช้งานการตรวจสอบ HWID Tokens สำหรับการแบนผู้เล่นอัตโนมัติเมื่อพบข้อมูลที่ตรงกับผู้เล่นที่ถูกแบน
- ⚠️ ไม่ทำงานหากปิดใช้งาน
banPlayerHwids
- ⚠️ ไม่ทำงานหากปิดใช้งาน
- เปิดใช้งานการตรวจสอบ HWID Tokens สำหรับการแบนผู้เล่นอัตโนมัติเมื่อพบข้อมูลที่ตรงกับผู้เล่นที่ถูกแบน
inactivePlayers
กำหนดค่าการตรวจสอบผู้เล่นที่ไม่ได้เข้าร่วมเซิร์ฟเวอร์ตามระยะเวลาที่กำหนด ผู้เล่นจะถูกระงับการใช้งานเมื่อครบระยะเวลาที่กำหนด
inactivePlayers = {
enable = true,
limitDays = 14
}
- enable:
boolean
- เปิดใช้งานการตรวจสอบผู้เล่นที่ไม่ได้เข้าร่วมเซิร์ฟเวอร์นานเกินวันที่กำหนด
- limitDays:
integer
- จำนวนวันที่ผู้เล่นไม่ได้เข้าร่วมเซิร์ฟเวอร์ก่อนที่จะถูกระงับ (หน่วยเป็น วัน)
airTimeServer
ระบบจำกัดเวลาในการเล่น โดยผู้เล่นจะต้องเติม Airtime เพื่อเพิ่มเวลาในการเล่น
airTimeServer = {
enable = false,
addTime = 86400 * 7,
kickTimeout = true
}
- enable:
boolean
- เปิดใช้งานระบบแอร์ไทม์เซิฟเวอร์
- addTime:
integer
- จำนวนเวลาที่จะเพิ่มให้กับผู้เล่นเมื่อเชื่อมต่อกับเซิร์ฟเวอร์ครั้งแรก (หน่วยเป็น วินาที และค่าเริ่มต้นคือ 7 วัน)
- kickTimeout:
boolean
- เปิดใช้งานเตะผู้เล่นออกจากเซิร์ฟเวอร์หากหมดเวลาเล่น
newPlayerLabel
ป้ายกำกับผู้เล่นใหม่ โดยจะแสดงข้อความบนส่วนหัวของผู้เล่น
newPlayerLabel = {
enable = true,
durationDays = 7
}
- enable:
boolean
- เปิดใช้งานป้ายกำกับผู้เล่นใหม่
- durationDays:
integer
- ระยะเวลาที่ผู้เล่นจะถูกนับเป็นผู้เล่นใหม่นับตั้งแต่เข้าร่วมเซิร์ฟเวอร์ครั้งแรก (หน่วยเป็น วัน)
คุณสามารถแก้ไขรหัสได้ที่ไฟล์ ./modules/player/client.lua
ฟังก์ชัน Player.initNewbieLabel
communityLink
ลิงก์ของชุมชนจะถูกแสดงให้ผู้เล่นทราบเมื่อไม่มีสิทธิ์เข้าร่วมเซิร์ฟเวอร์หรือเกิดปัญหาอื่นๆ
communityLink = {
enable = true,
mainUrl = 'https://example.com',
registerUrl = 'https://example.com/register',
supportUrl = 'https://example.com/support'
}
- enable:
boolean
- เปิดใช้งานแสดงลิงก์ของชุมชน
- mainUrl:
string
- URL หลักของเว็บไซต์หรือชุมชน
- registerUrl:
string
- URL สำหรับลงทะเบียนหากผู้เล่นไม่มีสิทธิ์เข้าร่วมเซิร์ฟเวอร์
- supportUrl:
string
- URL สำหรับติดต่อฝ่ายสนับสนุนหากพบปัญหาในการเชื่อมต่อกับเซิร์ฟเวอร์
resourceBlocks
บล็อกทรัพยากรที่ส่งผลต่อการทำงาน เช่น การควบคุมระบบคิว หรือ การตรวจสอบสิทธิ์การเชื่อมต่อกับเซิร์ฟเวอร์
resourceBlocks = {
'azael_dc-whitelisted',
'hardcap'
}
string
: ชื่อทรัพยากรที่ต้องการบล็อก- azael_dc-whitelisted ทรัพยากรนี้ในเวอร์ชันเก่า (ล้าสมัย)
- hardcap ทรัพยากรเกี่ยวกับระบบคิวเชื่อมต่อกับเซิร์ฟเวอร์
permissions
กำหนดสิทธิ์ในการเข้าถึงและการข้ามข้อจำกัดต่างๆ
permissions = {
skipRules = { ... }
}
- skipRules:
table
- กำหนดสิทธิ์ที่อนุญาตให้ผู้เล่นข้ามการตรวจสอบและข้อจำกัดตามบทบาท
skipRules
กำหนดสิทธิ์ที่อนุญาตให้ผู้เล่นข้ามการตรวจสอบและข้อจำกัดตามบทบาท
skipRules = {
['full_queue_limit'] = {
PLAYER_ROLES.MODERATOR,
PLAYER_ROLES.ADMIN,
PLAYER_ROLES.DEVELOPER
},
['conn_attempt_limit'] = {
PLAYER_ROLES.MODERATOR,
PLAYER_ROLES.ADMIN,
PLAYER_ROLES.DEVELOPER
},
['max_ping_limit'] = {
PLAYER_ROLES.VIP,
PLAYER_ROLES.STAFF,
PLAYER_ROLES.MODERATOR,
PLAYER_ROLES.ADMIN,
PLAYER_ROLES.DEVELOPER
},
['ban_hwids'] = {
PLAYER_ROLES.MODERATOR,
PLAYER_ROLES.ADMIN,
PLAYER_ROLES.DEVELOPER
},
['ban_identifiers'] = {
PLAYER_ROLES.MODERATOR,
PLAYER_ROLES.ADMIN,
PLAYER_ROLES.DEVELOPER
},
['inactive_players'] = {
PLAYER_ROLES.VIP,
PLAYER_ROLES.STAFF,
PLAYER_ROLES.MODERATOR,
PLAYER_ROLES.ADMIN,
PLAYER_ROLES.DEVELOPER
},
['airtime_server'] = {
PLAYER_ROLES.MODERATOR,
PLAYER_ROLES.ADMIN,
PLAYER_ROLES.DEVELOPER
},
['bind_identifier'] = {
PLAYER_ROLES.MODERATOR,
PLAYER_ROLES.ADMIN,
PLAYER_ROLES.DEVELOPER
},
['maintenance_mode'] = {
PLAYER_ROLES.MODERATOR,
PLAYER_ROLES.ADMIN,
PLAYER_ROLES.DEVELOPER
}
}
string
:table<{ [index]: integer }>
- รายการสิทธิ์ที่อนุญาตให้ผู้เล่นข้ามการตรวจสอบและข้อจำกัดตามบทบาท
full_queue_limit
: สามารถเข้าร่วมคิวได้หากจำนวนผู้เล่นในคิวเต็มconn_attempt_limit
: สามารถเชื่อมต่อได้หากพยายามเชื่อมต่อบ่อยหรือเร็วเกินกำหนดmax_ping_limit
: สามารถเชื่อมต่อได้หากค่า Ping สูงเกินกำหนดban_hwids
: สามารถเชื่อมต่อได้หากถูกแบน HWID Tokensban_identifiers
: สามารถเชื่อมต่อได้หากถูกแบน Identifiersinactive_players
: สามารถเชื่อมต่อได้หากไม่ได้เชื่อมต่อมานานเกินกำหนดairtime_server
: สามารถเชื่อมต่อได้หากไม่มีเวลาในการเล่น (ระบบ Airtime จำกัดเวลาในการเ ล่น)bind_identifier
: สามารถเชื่อมต่อได้หากใช้ตัวระบุที่ไม่ตรงกับตัวระบุที่ผูกไว้ในฐานข้อมูลmaintenance_mode
: สามารถเชื่อมต่อได้หากเซิร์ฟเวอร์อยู่ในโหมดปิดปรับปรุงเซิร์ฟเวอร์ (โหมดบำรุงรักษา)
- รายการสิทธิ์ที่อนุญาตให้ผู้เล่นข้ามการตรวจสอบและข้อจำกัดตามบทบาท
ตัวแปร PLAYER_ROLES คือข้อมูลการกำหนดค่าเกี่ยวกับบทบาทของผู้เล่น โดยอ้างอิงการกำหนดค่าที่ไฟล์ ./config/setup.lua