Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Blokada tickerate


  • Zamknięty Temat jest zamknięty
15 odpowiedzi w tym temacie

#1 radek_b11

    Hero

  • Zbanowany

Reputacja: 29
Życzliwy

  • Postów:1 019
  • Lokalizacja:Rajowo
Offline

Napisano 18.06.2009 21:58

Witam

Macie jakąś komendę czy coś żeby zablokować na dedyku żeby każdy serwer nie miał więcej niż 66 tickrate ? lub jakiś plugin ??

#2 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 18.06.2009 22:23

a nie możesz skorzystać z sys_ticrate 66 w server.cfg ?
poza tym 66 to bardzo mała wartość.
  • +
  • -
  • 0

#3 Misiaczek ;c

    /dev/null

  • Moderator

Reputacja: 1 678
Godlike

  • Postów:2 496
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Halemba
Offline

Napisano 19.06.2009 02:27

radek_b11, w komendzie startowej +sys_tickrate 66 i po sprawie :P
  • +
  • -
  • 0

#4 DB

    Wszechwidzący

  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:230
Offline

Napisano 19.06.2009 09:35

no na bank po sprawie, jak ktoś sobie do cfg dopisze np. 1000 ;>
  • +
  • -
  • 0

#5 radek_b11

    Hero

  • Autor tematu
  • Zbanowany

Reputacja: 29
Życzliwy

  • Postów:1 019
  • Lokalizacja:Rajowo
Offline

Napisano 19.06.2009 10:14

Właśnie nie chcę dodawać w server.cfg gdyż ktoś może to zmienić na inną wartość.

Czyli gdy dam przy odpalaniu serwera w komendzie sys_tickrate 66 (lub więcej) to już nie zmieni tego w żaden inny sposób tak??

#6 DB

    Wszechwidzący

  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:230
Offline

Napisano 19.06.2009 12:14

właśnie zmieni...

parametry z "+" oddawane do linni stratowej są "zmienialne" (chyba z wyjątkiem maxplayers) wystarczy sobie w cfg wpisać inną wartość, albo zmienić w grze

co innego parametry z "-" np. pingboost binary i inne, tych w trakcie gry zmienić nie można
  • +
  • -
  • 0

#7 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 19.06.2009 12:26

DB, jeśli do parametrów startowych dopisane będzie +sys_ticrate 66 to ustawienia nie zmienią się, wartość ta będzie forsowana, więc nawet dodanie tych dwóch parametrów server.cfg nie oznacza odpalenie na nich serwera.

Jak się domyślam chodzi tutaj o niejako ograniczenie obciążenie dedyka, sam ticrate nic nie da, do tego trzeba dodać jeszcze komende, +max_fps 150
  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#8 DB

    Wszechwidzący

  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:230
Offline

Napisano 19.06.2009 13:30

Mylisz się, fps_max nie jest komendą serwera i nie ma żadnego wpływu na jego pracę (za fps odpowiada właścnie liczba ticków) portek to po pierwsze a po drugie czy dasz do linni +sys_ticrate 100 czy taką wartość dasz do server.cf nie ma żadnego znaczenia. Na pewno nic nie będzie forsowane (żeby się upewnić właśnie to sprawdziłem), parametry z + służa jedynie do uruchomienia serwera, później można je dowolnie zmieniać. Polecam lekturę http://hlds.pl/Parametry_Startowe


Co do problemu, jeśli to maszyna wielordzeniowa możesz ustawić tasksetem przydział procesów na poszczególne procesory, wtedy jeden serwer nie będzie miał wpływu na drugi. Jedyne proste rozwiązanie jakie do glowy mi przychodzi. Chyba że wrzucić na serwery plugin który ustawia co jakiś czas sys_ticrate porządany, ale to można zawsze zastopować więc rozumiem że coś takiego odpada
  • +
  • -
  • 0

#9 bakul. <3

    Wszechmogący

  • Użytkownik

Reputacja: 88
Zaawansowany

  • Postów:612
  • GG:
  • Imię:Przemek
  • Lokalizacja:Warszawa
Offline

Napisano 19.06.2009 17:20

Witam

Macie jakąś komendę czy coś żeby zablokować na dedyku żeby każdy serwer nie miał więcej niż 66 tickrate ? lub jakiś plugin ??

Są na to skrypty pisane przez programistów, które nie są udostępnione do użytku publicznego. Polegają one na tym, że dedyk co 5 minut wymusza sprawdzenie wartości sys_ticrate i zmienia ją na prawidłową lub wyłącza serwer.
  • +
  • -
  • 0

#10 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 20.06.2009 09:32

Są na to skrypty pisane przez programistów, które nie są udostępnione do użytku publicznego. Polegają one na tym, że dedyk co 5 minut wymusza sprawdzenie wartości sys_ticrate i zmienia ją na prawidłową lub wyłącza serwer.

#!/bin/bash
TICRATE=66

function ticrate
{
screen -x Serwer_Jana | sys_ticrate $TICRATE;
exit 0;
}
:)

Oczywiście w tym przypadku zakładamy iż mamy tylko jeden serwer, postawiony na screenie o nazwie "Serwer_Jana". Skrypt zapisujesz jako np. ticrate.sh i dodajesz do crontaba. Tak naprawdę nie testowałem tego, ale znając życie zadziała, swoją drogą bash jest prostszy od PHP ;P

Nie jestem pewien, czy polecenie exit 0 nie zabije screena, nie miałem jak sprawdzić bo wysypał mi się GRUB i nie mam czasu go przeinstalować więc działam na windzie.
  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#11 DB

    Wszechwidzący

  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:230
Offline

Napisano 20.06.2009 09:41

może prościej ? Wysyła do procesu serwer jana polecenie sys_ticrate

screen -S serwer_jana -X sys_ticrate 66
  • +
  • -
  • 0

#12 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 20.06.2009 09:50

Oraz otworzy screen z którego albo się wyloguje albo zabije po wydaniu procesu ;) Poza tym o ile się nie mylę to screen -S tworzy screen, tylko po co? Skoro do screena mamy się zalogować?
  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#13 DB

    Wszechwidzący

  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:230
Offline

Napisano 20.06.2009 10:02

W takim kształcie jak napisałem nic się nie tworzy, -S określa jedynie nazwę procesu (to czy on się utworzy czy co się z nim stanie zależy od tego co jest dalej) w tym wypadku -X polecenie.

Co do tego czy zabije to nie wiem bo właśnie używam tego wysyłając polecenie wyłączające usługę :].

Zdaje się że jest różnica między -x a -X hm ? :>

screen -X polecenie
w tym wypadku określamy nie PIDem a nazwą procesu stąd -S

Autorowi tematu krok po kroku wpisać polecenia:

crontab -e
wciskasz "insert"
wpisujesz:

*/2 * * * * screen -S nazwa_procesu -X sys_ticrate 66

wciskasz esc następnie shift+z+z

gotowe

Później sam sprawdzę
  • +
  • -
  • 0

#14 radek_b11

    Hero

  • Autor tematu
  • Zbanowany

Reputacja: 29
Życzliwy

  • Postów:1 019
  • Lokalizacja:Rajowo
Offline

Napisano 22.06.2009 17:32

Słuchajcie dla testu chcę sprawdzić lecz nie wiem czy w lini komend SSH mam wpisać -sys_tickrate 66, -sys_ticrate 66, tickrate 66 czy ticrate 66

??

#15 Wujek

    Wszechwidzący

  • Użytkownik

Reputacja: 14
Początkujący

  • Postów:279
Offline

Napisano 22.06.2009 20:34

sys_ticrate 66
  • +
  • -
  • 0

Reksio FFA, najstarszy serwer CS 1.6 w Polsce - 193.33.177.14:27051

SRU :)


#16 DB

    Wszechwidzący

  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:230
Offline

Napisano 22.06.2009 21:42

Sprawdziłem u siebie i chyba jednak nie da się tak zrobić. Zadje się że wysyła się w ten sposób komendę do screena a nie do procesu który na nim siedzi. Nie pomyślałem o tym. Da się to rozwiązać chyba - popróbuję i jak sie uda to napiszę.

[ Dodano: 22-06-2009, 23:58 ]
No i się udało :) Poniższe działanie wywołuje taki sam efekt jakbyśmy sami wpisywali polecenie w konsoli serwera

tworzymy plik w domowym katalogu np. o nazwie komendy

wpisujemy do niego zawartość którą chcemy wysłać w tym wypadku
sys_ticrate 66

Uwaga. Ważne aby dodać jedną pustą linijkę pod komendą ! Bez tego efekt będzie taki jakbyśmy wpisali ręcznie ale nie zatwierdzili enterem.

Następnie żeby było wygodniej, zrobimy sobie skrypcik w którym wpiszemy komendy niezbędne do wysłania polecenia do HLDS'a. Powiedzmy plik o nazwie ticrate.sh wpisujemy do niego tak:

screen -S nazwa_procesu -X readreg 1 $HOME/komendy
screen -S nazwa_procesu -X paste 1

nadajemu mu chmody aby można było go uruchomić

chmod +x ticrate.sh

Możemy go odpalić aby sprawdzić czy działa. Jeśli ticrate ustawi się na 66 wtedy zostaje tylko dodać wpisy do crona

*/2 * * * * ./ticrate.sh




SPRAWDZONE


  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych