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

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

บทนำ

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

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

การตั้งค่า

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

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

โทเค็น GSL

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

GSL-Token

ประเภทเกม

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

  • Classic Casual
  • Classic Competitive
  • Deathmatch
  • Wingman

กลุ่มแมพ

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

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

แมพเริ่มต้น

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

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

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