qMultiArena
qMultiArena to plugin do CounterStrikeSharp, który dzieli graczy na niezależne areny 1v1 i prowadzi równoległe pojedynki na jednym serwerze. Gracze mogą wybierać bronie, preferowane tryby rund i wracać do kolejki bez restartowania całego systemu.
Funkcje
- wiele aren 1v1 uruchomionych równolegle na jednej mapie
- automatyczne dobieranie graczy do wolnych aren
- obsługa kolejki graczy i ponownego dołączania do walk
- wybór karabinu, pistoletu i preferowanego trybu rundy
- konfigurowalne tryby rozgrywki, np.
Rifle,Pistol,AWP, losowe bronie - wsparcie dla tagów gracza, komunikatów i lokalizacji
- opcjonalne zapisywanie preferencji gracza w bazie MySQL
- gotowy pipeline
publishz wynikiem do kataloguObfuscated
Instalacja
- Skopiuj paczkę do folderu csgo
- Skonfiguruj plugin
- Zrestartuj serwer bądź przeładuj plugin
Komendy w grze
!gunslub aliasy z configu otwierają menu wyborucss_gunsotwiera menu wyboru broni i trybucss_afkprzenosi gracza na specta
Domyślne aliasy czatu są ustawiane w Settings.CommandsWeapons.
Konfiguracja
Główny plik konfiguracyjny:
addons/counterstrikesharp/configs/Qesik/MultiArena.json
Przykładowe sekcje configu:
Database
Sekcja odpowiedzialna za opcjonalne połączenie z MySQL.
"Database": {
"Hostname": "hostname",
"Database": "database",
"UserName": "username",
"Password": "password"
}
Jeżeli dane są poprawne, plugin może zapisywać preferencje graczy. Jeżeli nie chcesz używać bazy, pozostaw sekcję pustą lub nieuzupełnioną.
Settings
Najważniejsze ustawienia działania pluginu.
MenuType: typ menu używanego przez pluginRoundTime: czas rundy na arenieRoundInfoType: sposób pokazywania informacji o walceCenterHtmlDuration: czas wyświetlania komunikatów centralnychClanTagArena: czy plugin ustawia clan tagiHideCommands: czy komendy z czatu mają być ukrywaneBlockSpectacting: czy ograniczyć spectowanieCommandsWeapons: lista aliasów czatowych otwierających menuLoadCustomCfg: czy wykonaćexec multiarenaAntiRushTime: opóźnienie lub czas ochrony zależny od ustawień serweraQueueTag: tag dla graczy w kolejceSpectatorTag: tag dla spectatoraAfkTag: tag dla gracza AFK
Przykład:
"Settings": {
"MenuType": 1,
"RoundTime": 30,
"RoundInfoType": 3,
"CenterHtmlDuration": 10.0,
"ClanTagArena": true,
"HideCommands": true,
"BlockSpectacting": true,
"CommandsWeapons": ["guns", ".guns", "gun", ".gun"],
"LoadCustomCfg": false,
"AntiRushTime": 3.5,
"QueueTag": "[QUEUE]",
"SpectatorTag": "[SPECT]",
"AfkTag": "[AFK]"
}
Challenge
Sekcja obecna w przykładowym configu.
RoundCooldown: czas przerwy między akcjami challengeRequestTime: czas na akceptacjęBetEnable: czy włączone są zakładyBetMinValue: minimalna wartośćBetMaxValue: maksymalna wartość
Jeżeli Twój build pluginu nie korzysta z tej sekcji aktywnie, możesz traktować ją jako rezerwę pod dodatkowe funkcje.
PreferenceWeight
Wagi preferencji przypisywane do permissji.
"PreferenceWeight": [
{ "permission": "@qmultiarena/first", "weight": 3 },
{ "permission": "@qmultiarena/second", "weight": 2 },
{ "permission": null, "weigth": 1 }
]
To pozwala nadać różnym grupom graczy różny priorytet lub wpływ na dobór preferowanego trybu.
Uwaga: w przykładowym configu ostatni wpis ma pole weigth, a nie weight. Jeżeli chcesz zachować pełną spójność konfiguracji, najlepiej używać wszędzie weight.
Weapons
Lista dostępnych broni dla menu wyboru.
Rifle: lista karabinówPistol: lista pistoletów
Każdy wpis zawiera:
name: nazwa widoczna dla graczavalue: nazwa encji broni w CS2, np.weapon_ak47
Przykład:
{
"name": "AK47",
"value": "weapon_ak47"
}
Modes
Najważniejsza sekcja pluginu. Definiuje tryby rozgrywki dostępne na arenach.
Obsługiwane pola:
name: wewnętrzna nazwa trybutitle: nazwa wyświetlana w menudefault_enabled: czy tryb jest włączony domyślnieoptional: czy gracz może go wyłączyć w preferencjachchoice_rifle: czy gracz wybiera karabinchoice_pistol: czy gracz wybiera pistoletgive_knife: czy dawać nóżgive_weapons: lista konkretnych broni nadawanych przez pluginrandom_weapons: losowanie z listyhealth: ilość HParmor: ilość armoraspeed: mnożnik prędkościgravity: mnożnik grawitacjihelmet: czy gracz dostaje hełmnoscope: tryb bez scopeno_crosshair: tryb bez celownikaonetap: specjalny tryb jednego trafieniahegrenade_refresh: czas odświeżania HEmolotov_refresh: czas odświeżania mołotowaenemy_swap: czas lub logika zamiany przeciwnika, zależnie od ustawieńhitbox: ograniczenie do konkretnego hitboxa
Przykładowe zastosowania:
- klasyczny
Rifle - klasyczny
Pistol AWP only- losowy pistolet
- custom mode z własnym HP, speedem i zestawem broni
Plik językowy
Domyślna lokalizacja:
addons/counterstrikesharp/plugins/qMultiArena/lang/pl.json
Plik zawiera:
- tytuły menu
- opisy wyboru broni
- komunikaty czatowe
- komunikaty hint/html
Możesz dostosować teksty pod własny styl serwera, zachowując klucze JSON.
Dodatkowy config serwera
Jeżeli w Settings.LoadCustomCfg ustawisz true, plugin wykona:
exec multiarena
Wtedy warto utworzyć plik:
cfg/multiarena.cfg
Możesz tam umieścić własne ustawienia serwera pod tryb aren, np. czas freezetime, round restart, komendy HUD lub inne ustawienia gameplayowe.