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

Prawdopodobny Overflow


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

#1 Kameha

    Początkujący

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:14
  • Lokalizacja:Assambler
Offline

Napisano 17.01.2013 22:33

Witam,

Otóż napotkał mnie dzisiaj niemiły problem po kilku godzinach pisania. Zazwyczaj testując poprawność działania pluginów+ew. luki używałem hlds, lecz po pewnym czasie dostrzegłem nieco szybszą opcję jaką była "new game".

Niemiła niespodzianka mnie spotkała jak się okazało że coś działa normalnie na "lokalnej grze", a już na hostowanym serwerze przez hlds nie chce :(

Problem podejrzewam w przepełnieniu bufora, jednakże dziwi mnie fakt że na lokalnej grze ten problem nie występuje.

Może trochę opowiem o miejscu kiedy problem się pojawia i możliwe że będziecie w stanie mi pomóc, przynajmniej mam taką nadzieję :)

Mam zarejestrowane komendy konsolowe, które wywołuję za pomocą messagemode:
register_concmd("jakis_komunikat","moja_jakas_funkcja");

Wszystko działa sprawnie do tego momentu, podczas gdy zostanie wykonana "moja_funkcja", która ma za zadanie przechwycić podane argumenty i wykonać na niej pewne działania. W moim przypadku wygląda to tak:
public moja_jakas_funkcja(id)
{
new TmpArray[33]
read_args(TmpArray,32)
replace_all(TmpArray, 32, "^"", "")
// [...]
// Jakieś czynności z podanym argumentem, przejście do kolejnej funkcji która łączy się z MySql.

Używam replace_all ze względu bezpieczeństwa, ponieważ argument zawarty w zmiennej używam następnie przy zapytaniu do MySql (Co mogło by się skończyć nie miło :()
Dodam że to nie jest pierwsza taka funkcja z wykorzystaniem tego rozwiązania podawania danych (wcześniej działało bez zarzutu). Jednakże od tego momentu coś musiało się stać w kodzie czego kompilator nie jest w stanie wykazać (kod kompiluje się bez żadnych błędów bądź ostrzeżeń).

Drugą opcją jaką przypuszczam w moim problemie jest fakt że z jakiegoś powodu forward plugin_init(), omija moje zarejestrowane komendy które pobierają argumenty (kolejny powód przypuszczenia przepełnienia buffora), bądź też celowe omijanie tych wpisów (raczej mało prawdopodobne).

Żeby nie robić osobnego tematu od razu zapytam tutaj, jak już dotarliście do tego momentu poprzez tonę tekstu :)
Jaki może być powód, że forward na plugin_cfg() dla konkretnego pluginu nie jest wykonany przy aktywowaniu serwera HLDS i trzeba ładować go ręcznie z plugin_ini małym set_taskiem (Dodam że po zmianie mapy, plugin_cfg ładuje się już poprawnie w tym pluginie co powoduje wyświetlenie się dwóch wiadomości w konsoli, które zostawiłem w celu sprawdzania czy połączenie z DB się powiodło)

Liczę że znajdzie się kilku chętnych, którzy będą w stanie pomóc mi z tym zapewne banalnym problemem :)
W spoilerze załączam także aktywowane moduły.
Spoiler

Pozdrawiam,
Kameha
  • +
  • -
  • 0

#2 Kameha

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:14
  • Lokalizacja:Assambler
Offline

Napisano 18.01.2013 14:29

Problem rozwiązany można zamknąć.

Przeładowanie buffora wynikało z błędnym działaniem bazy MySql, która zaczęła się sypać i wystarczyło przeinstalowanie i stworzenia osobnego użytkownika dla hlds'a, by nie wykorzystywał samego roota.

Pozdrawiam,
Kameha
  • +
  • -
  • 0

#3 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 18.01.2013 14:39

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

If you can dream it, you can do it.





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

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