ข้ามไปยังเนื้อหาหลัก

CS:GO: การตั้งค่าเซิร์ฟเวอร์

บทนำ

เซิร์ฟเวอร์เกม Counter-Strike สามารถตั้งค่าได้หลากหลาย การตั้งค่าพื้นฐานสามารถทำได้ผ่านไฟล์คอนฟิก server.cfg และผ่านหน้าการตั้งค่าในเว็บอินเทอร์เฟซ การตั้งค่าขั้นสูงจะทำผ่านไฟล์คอนฟิกโหมดเกม เช่น gamemode_competitive.cfg, gamemode_custom.cfg, gamemode_casual.cfg, gamemode_cooperative.cfg และอื่น ๆ

ในหน้าการตั้งค่าคุณสามารถเลือกโหมดเกมที่ต้องการใช้ คำสั่งของคอนฟิกนี้จะถูกโหลดตามนั้น ซึ่งสามารถจัดการได้ทั้งผ่านการดูแลเซิร์ฟเวอร์เกม หรือแก้ไขด้วยตนเองผ่าน FTP ที่ gXXXXXX/CS:GO/game/csgo/cfg/

การตั้งค่า

การตั้งค่าผ่านอินเทอร์เฟซ (Settings)

ที่หน้าการตั้งค่าคุณสามารถปรับแต่งการตั้งค่าพื้นฐานสำหรับโทเค็น GSL, ประเภทเกม/โหมดเกม, กลุ่มแมพ และอื่น ๆ

GSL Token

Gameserver Login Tokens (GSLTs) คือกระบวนการที่ Steam ใช้เป็นมาตรการป้องกัน เพื่อให้สามารถรันเซิร์ฟเวอร์เกมของ Steam บางเกม (ส่วนใหญ่เป็นเกมใน Source Engine) จำเป็นต้องสร้างโทเค็น รายละเอียดเพิ่มเติมดูได้ที่นี่:

GSL-Token

Gametype

มีโหมดเกมหลายแบบ ด้านล่างนี้คือรายการตัวเลือกทั้งหมดที่มี:

  • Classic Casual
  • Classic Competitive
  • Deathmatch
  • Wingman

Mapgroup

Mapgroups คือกลุ่มของแมพที่โดยปกติจะตรงกับหมวดหมู่บางอย่าง โดยค่าเริ่มต้นจะมี mg_active, mg_allclassic เป็นกลุ่มหลัก คุณสามารถสร้างกลุ่มของตัวเองได้ ซึ่งต้องเพิ่มเข้าไปในไฟล์ gamemodes_server.txt โครงสร้างของ mapgroup แบบนี้ง่ายและหน้าตาแบบนี้:

{	 	 	 	 
"mg_meine_mapgroup"
{
"name" "mg_meine_mapgroup"
"maps"
{
"de_map1" ""
"de_map2" ""
"de_map3" ""
"de_map4" ""
}
}
}

Startmap

แมพเริ่มต้นใช้กำหนดว่าแมพไหนจะถูกโหลดตอนเริ่มต้นเซิร์ฟเวอร์ สำคัญมากที่ชื่อแมพต้องเขียนให้ถูกต้องและครบถ้วน ไม่ต้องใส่นามสกุลไฟล์

Pingboost

Pingboost คือวิธีการปรับเปลี่ยนความรู้สึกของเกมด้วยวิธีต่าง ๆ เพื่อให้ได้พิงต่ำที่สุดเท่าที่จะเป็นไปได้

การตั้งค่าผ่าน server.cfg

ในไฟล์ server.cfg คุณสามารถเปลี่ยนการตั้งค่าชื่อเซิร์ฟเวอร์ รหัสผ่าน rcon และรหัสผ่านเซิร์ฟเวอร์ได้

hostname

ชื่อโฮสต์กำหนดชื่อของเซิร์ฟเวอร์ ชื่อนี้จะแสดงในรายการเซิร์ฟเวอร์และในสกอร์บอร์ด

rcon_password

รหัสผ่าน rcon จำเป็นสำหรับการสั่งงานเซิร์ฟเวอร์ผ่านในเกมหรือผ่านเครื่องมือ Rcon อย่าง HLSW ใช้คำสั่งดังนี้:

rcon_password YourPassword
rcon command // ตัวอย่าง: rcon changelevel de_dust2

sv_password

ถ้าคุณต้องการใช้เซิร์ฟเวอร์แบบส่วนตัว หรือจำกัดให้เฉพาะคนบางกลุ่มเข้าถึงได้ คุณสามารถตั้งรหัสผ่านเซิร์ฟเวอร์ได้ เมื่อเชื่อมต่อจะต้องใส่รหัสผ่านนี้

sv_cheats

คำสั่งบางอย่างถูกป้องกันและสามารถใช้ได้เฉพาะเมื่อเปิดใช้งานโหมดโกง คำสั่งนี้เปิดหรือปิดได้โดยใช้ค่า 0 (ปิด) หรือ 1 (เปิด) ตัวอย่างคำสั่งที่ถูกป้องกัน เช่น:

  • god, sv_infinite_ammo, noclip, r_drawothermodels 2, mat_wireframe 2, enable_skeleton_draw 1, mat_fullbright 3 และอื่น ๆ

การตั้งค่าเฉพาะโหมดเกม

ตามที่อธิบายไว้ตอนต้น คุณสามารถกำหนดโหมดเกม/ประเภทเกมที่ต้องการใช้ในหน้าการตั้งค่า หลังจากนั้นต้องปรับแต่งการตั้งค่าและแก้ไขไฟล์คอนฟิกที่เกี่ยวข้อง ในคอนฟิกโหมดเกมคุณสามารถปรับเปลี่ยนรายละเอียดการเล่นเกม พฤติกรรมบอท ฯลฯ

คำสั่งบอท

bot_chatter คำสั่งนี้กำหนดว่าบอทจะพูดอะไรในเกมได้บ้าง ตั้งค่าได้เป็น off, radio, minimal หรือ normal

bot_difficulty คำสั่งนี้กำหนดความยากของบอท ค่าที่ตั้งได้มีดังนี้:

  • 0 - ง่าย
  • 1 - ปกติ
  • 2 - ยาก
  • 3 - มือโปร

bot_quota คำสั่งนี้กำหนดจำนวนบอทสูงสุดที่เซิร์ฟเวอร์จะมี ค่าเริ่มต้นคือ 10

bot_quota_mode คำสั่งนี้กำหนดโหมดที่ใช้ควบคุมจำนวนบอท ตัวเลือกมี: normal, fill และ match โดย normal คือพฤติกรรมปกติ fill เติมบอทจนเต็มตามจำนวนที่ตั้งไว้ใน "bot_quota" ส่วน match เติมบอทเพื่อให้เต็มจำนวนผู้เล่น เช่น ถ้ามีผู้เล่น 3 คนและตั้งบอทไว้ 10 ตัว จะใช้บอทแค่ 7 ตัวเท่านั้น

คำสั่งเงินรางวัล

cash_player_bomb_defused คำสั่งนี้กำหนดจำนวนเงินที่ผู้เล่นได้รับเมื่อกู้ระเบิดสำเร็จ ไม่สามารถตั้งเกินจำนวนเงินสูงสุดที่เซิร์ฟเวอร์กำหนดได้

cash_player_bomb_planted คำสั่งนี้กำหนดจำนวนเงินที่ผู้เล่นได้รับเมื่อวางระเบิด

cash_player_damage_hostage คำสั่งนี้กำหนดจำนวนเงินที่ถูกหักหรือได้รับเมื่อทำร้ายตัวประกัน โดยค่าเริ่มต้นผู้เล่นจะถูกหัก $30 ทุกครั้งที่ตัวประกันได้รับบาดเจ็บ

cash_player_interact_with_hostage คำสั่งนี้กำหนดจำนวนเงินที่ได้รับหรือเสียเมื่อมีปฏิสัมพันธ์กับตัวประกัน

cash_player_killed_enemy_default คำสั่งนี้กำหนดจำนวนเงินที่ได้รับหรือเสียเมื่อฆ่าศัตรูด้วยอาวุธปกติ

cash_player_killed_enemy_factor คำสั่งนี้กำหนดจำนวนเงินที่ได้รับเมื่อฆ่าศัตรูด้วยอาวุธหลัก (ปืนพกมาตรฐาน ปืนไรเฟิลหลัก เช่น AK/M4 เป็นต้น)

cash_player_killed_hostage คำสั่งนี้กำหนดจำนวนเงินที่ได้รับหรือเสียเมื่อฆ่าตัวประกัน

cash_player_killed_teammate คำสั่งนี้กำหนดจำนวนเงินที่ได้รับหรือเสียเมื่อฆ่าทีมเมท

cash_player_rescued_hostage คำสั่งนี้กำหนดจำนวนเงินที่ได้รับหรือเสียเมื่อช่วยตัวประกันในโหมด Hostage ได้สำเร็จ

cash_team_elimination_bomb_map คำสั่งนี้กำหนดจำนวนเงินที่สมาชิกทีมแต่ละคนได้รับเมื่อฆ่าศัตรูครบทั้ง 5 คนในแมพวางระเบิด เช่น Mirage หรือ Dust II

cash_team_elimination_hostage_map_t คำสั่งนี้กำหนดจำนวนเงินที่ผู้ก่อการร้ายแต่ละคนได้รับเมื่อชนะรอบในแมพตัวประกันด้วยการกำจัดศัตรู

cash_team_elimination_hostage_map_ct คำสั่งนี้กำหนดจำนวนเงินที่สมาชิกทีม CT แต่ละคนได้รับเมื่อกำจัดผู้ก่อการร้ายครบทั้ง 5 คนในแมพตัวประกัน

cash_team_hostage_alive คำสั่งนี้กำหนดจำนวนเงินที่ได้รับหรือเสียเมื่อมีตัวประกันรอดชีวิตในรอบนั้น

cash_team_hostage_interaction คำสั่งนี้กำหนดจำนวนเงินที่ได้รับหรือเสียเมื่อผู้เล่นมีปฏิสัมพันธ์กับตัวประกัน

cash_team_loser_bonus คำสั่งนี้กำหนดเงินเริ่มต้นที่ทีมได้รับเมื่อแพ้รอบ เงินนี้จะเพิ่มขึ้นทีละขั้นตามคำสั่งแยกต่างหาก

cash_team_loser_bonus_consecutive_rounds คำสั่งนี้กำหนดจำนวนเงินที่เพิ่มขึ้นสำหรับการแพ้ต่อเนื่อง หากตั้งค่าเป็น $500 (ค่าเริ่มต้น) หมายความว่าทุกครั้งที่แพ้รอบติดต่อกัน ทีมที่แพ้จะได้รับเงินเพิ่มขึ้น $500 จากรอบก่อนหน้า สูงสุด 5 รอบติดต่อกัน

cash_team_planted_bomb_but_defused คำสั่งนี้กำหนดจำนวนเงินที่ทีมผู้ก่อการร้ายได้รับเมื่อวางระเบิดแต่ถูกกู้ได้สำเร็จ ซึ่งจะ ทับซ้อนกับโบนัสแพ้รอบ ค่าเริ่มต้นคือ $800

cash_team_rescued_hostage คำสั่งนี้กำหนดจำนวนเงินที่ ทั้งทีม ได้รับเมื่อผู้เล่นคนหนึ่งช่วยตัวประกันได้

cash_team_terrorist_win_bomb คำสั่งนี้กำหนดจำนวนเงินที่ผู้เล่นแต่ละคนในทีมผู้ก่อการร้ายได้รับเมื่อชนะรอบด้วยการให้ระเบิดระเบิด

cash_team_win_by_defusing_bomb คำสั่งนี้กำหนดจำนวนเงินที่ทีม CT ได้รับเมื่อชนะรอบด้วยการกู้ระเบิด

cash_team_win_by_hostage_rescue คำสั่งโกงนี้กำหนดจำนวนเงินที่สมาชิกทีมได้รับเมื่อชนะรอบด้วยการช่วยตัวประกัน

cash_team_win_by_time_running_out_hostage คำสั่งนี้กำหนดจำนวนเงินที่ทีมปกป้องตัวประกันได้รับเมื่อชนะรอบโดยไม่ให้ตัวประกันถูกช่วยภายในเวลาที่กำหนด

cash_team_win_by_time_running_out_bomb คำสั่งนี้กำหนดจำนวนเงินที่ผู้เล่นทีม CT ได้รับเมื่อชนะรอบโดยเวลาหมดลงโดยที่ผู้ก่อการร้ายไม่วางระเบิดหรือกำจัด CT ครบ

คำสั่งการเล่นเกม

mp_afterroundmoney คำสั่งนี้กำหนดจำนวนเงินที่ผู้เล่นแต่ละคนในแต่ละทีมได้รับหลังจบรอบ ไม่ว่าจะชนะหรือแพ้ ค่าเริ่มต้นคือ 0 (โบนัสชนะ/แพ้ตั้งด้วยคำสั่งอื่น)

mp_buytime คำสั่งนี้กำหนดเวลาที่ผู้เล่นมีเพื่อซื้ออุปกรณ์หลังเริ่มรอบ (วินาที)

mp_buy_anywhere คำสั่งนี้กำหนดว่าผู้เล่นสามารถเปิดเมนูซื้อของนอกโซนซื้อได้หรือไม่ โดยเวลาซื้อยังคงมีผล

mp_death_drop_defuser คำสั่งนี้กำหนดว่าชุดกู้ระเบิดจะถูกปล่อยเมื่อผู้เล่นตายหรือไม่

mp_death_drop_grenade คำสั่งนี้กำหนดว่าระเบิดชนิดไหน (ถ้ามี) จะถูกปล่อยเมื่อผู้เล่นถูกฆ่า:

  • ค่า: 0 - ไม่ปล่อยระเบิดเมื่อเสียชีวิต
  • ค่า: 1 - ปล่อยระเบิดที่มีมูลค่าสูงสุดเมื่อเสียชีวิต

mp_death_drop_gun คำสั่งนี้กำหนดว่าอาวุธใดจะถูกปล่อยเมื่อผู้เล่นถูกฆ่า ค่าเริ่มต้นคือ 1 (อาวุธที่ดีที่สุด) เลือกได้ดังนี้:

  • ค่า: 0 - ไม่ปล่อยอาวุธเมื่อเสียชีวิต
  • ค่า: 1 - ปล่อยอาวุธที่ดีที่สุดเมื่อเสียชีวิต
  • ค่า: 2 - ถ้ามีอาวุธในมือผู้เล่นตอนตาย ปล่อยอาวุธนั้น ถ้าไม่มี ปล่อยอาวุธที่มีมูลค่าสูงสุด

mp_defuser_allocation คำสั่งนี้กำหนดว่าผู้เล่นจะได้รับชุดกู้ระเบิดฟรีตอนเริ่มรอบหรือไม่ และใครจะได้รับ:

  • ค่า: 1 - ไม่มีชุดกู้ระเบิดฟรี
  • ค่า: 2 - ผู้เล่นสุ่มได้รับชุดกู้ระเบิด
  • ค่า: 3 - ผู้เล่นทุกคนได้รับชุดกู้ระเบิด

mp_force_pick_time

คำสั่งนี้กำหนดเวลาที่ผู้เล่นต้องเลือกทีม (วินาที) หลังเวลานี้จะเลือกทีมให้อัตโนมัติ ค่าเริ่มต้นคือ 15 วินาที

mp_forcecamera

คำสั่งนี้กำหนดขอบเขตที่ผู้ชมสามารถดูได้ (เช่น ใครที่ผู้เล่นจะดูได้เมื่อเสียชีวิต) ดูรายละเอียดขอบเขตได้ดังนี้:

  • ค่า: 0 - ผู้เล่นที่ตายแล้วดูผู้เล่นทุกคนได้
  • ค่า: 1 - ผู้เล่นที่ตายแล้วดูทีมเมทได้เท่านั้น
  • ค่า: 2 - หน้าจอจะเป็นสีดำจนกว่าจะเริ่มรอบใหม่

mp_free_armor

คำสั่งนี้กำหนดว่าผู้เล่นจะได้รับเกราะและหมวกฟรีตอนเริ่มรอบหรือไม่:

  • ค่า: 0 - ปิด
  • ค่า: 1 - เปิด

mp_freezetime

คำสั่งนี้กำหนดเวลาที่ผู้เล่นถูกแช่แข็งตอนเริ่มรอบ เพื่อให้ซื้อของและวางแผนก่อนเริ่มเล่น ค่าเริ่มต้นคือ 15 วินาที

mp_friendlyfire

คำสั่งนี้กำหนดว่าเปิดหรือปิดการยิงทีมเมท เมื่อเปิดผู้เล่นสามารถทำความเสียหายกับทีมเมทได้ ค่าเริ่มต้นขึ้นกับโหมดเกม ในโหมดแข่งขันเปิดใช้งาน แต่ในโหมด Casual ปิด

mp_win_panel_display_time

คำสั่งนี้กำหนดเวลาที่สกอร์บอร์ดจะแสดงระหว่างรอบ (วินาที) ค่าเริ่มต้นคือ 3 วินาที

mp_respawn_immunitytime

คำสั่งนี้กำหนดเวลาที่ผู้เล่นจะได้รับภูมิคุ้มกันหลังเกิดใหม่ ใช้ในโหมด Deathmatch

mp_halftime

คำสั่งนี้กำหนดว่าจะสลับทีมตอนพักครึ่งหรือไม่ ค่าเริ่มต้นคือ 1

mp_maxmoney

คำสั่งนี้กำหนดจำนวนเงินสูงสุดที่ผู้เล่นสามารถมีได้

mp_maxrounds

คำสั่งนี้กำหนดจำนวนรอบสูงสุดที่เซิร์ฟเวอร์จะเล่น

mp_roundtime

คำสั่งนี้กำหนดเวลาสูงสุดของรอบเป็นนาที ก่อนจะตัดสินผลชนะ/แพ้ ถ้ารอบหมดเวลาจะชนะให้ทีม CT วินาทีระบุเป็นเลขทศนิยม เช่น 1.92 = 1 นาที 55 วินาที

mp_solid_teammates

คำสั่งนี้กำหนดว่าผู้เล่นจะชนกับทีมเมทได้หรือไม่:

  • ค่า: 0 - ปิดการชน
  • ค่า: 1 - เปิดการชน

mp_startmoney

คำสั่งนี้กำหนดจำนวนเงินที่ผู้เล่นได้รับตอนเริ่มครึ่งเกม ค่าเริ่มต้นคือ $800

mp_timelimit

คำสั่งนี้กำหนดเวลาสูงสุดของเกมแต่ละแมตช์เป็นนาที ค่าเริ่มต้นคือปิด (ตั้งเป็น 0)

mp_warmuptime

คำสั่งนี้กำหนดเวลาช่วงวอร์มอัพก่อนเกมจริงเริ่ม (วินาที)

sv_allow_votes

คำสั่งนี้กำหนดว่าจะอนุญาตให้โหวต (เช่น โหวตขอเวลาหยุด) หรือไม่:

  • ค่า: 0 - ปิด
  • ค่า: 1 - เปิด

sv_infinite_ammo

คำสั่งนี้กำหนดว่าผู้เล่นจะได้รับกระสุนไม่จำกัดหรือไม่:

  • ค่า: 1 - กระสุนไม่จำกัด ยิงได้โดยไม่ต้องรีโหลด
  • ค่า: 2 - กระสุนไม่จำกัดแต่ต้องรีโหลดเมื่อแม็กกาซีนหมด

ammo_grenade_limit_flashbang

คำสั่งนี้กำหนดจำนวนระเบิดแฟลชที่ผู้เล่นถือได้

ammo_grenade_limit_total

คำสั่งนี้กำหนดจำนวนระเบิดทั้งหมดที่ผู้เล่นถือได้