GTA Közösség - A magyar GTA fórum
San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: hegdavid95 - 2011. január 28. - 13:48:14
-
Szasztok!
Már jó ideje dolgozok egy szerveren ami azóta mióta elkezdtem megcsinálni elérte az átlag 20 player számot.
Ezért hostoltam. Ez egy idelyig ment is szépen, de tegnapelõtt szoltak a hostosok, hogy lekapcsoljáka szerót, mert tulsokat eszik (100% ban kihasználja a CPU t amikor fut) nem egy ótvar host ez tehát nem hinném hogy nálluk van a baj.
A kérdésem tehát, hogyan csökkentsem a gépigényét és hogyan tudnám kicsit felgyorsitani?
Adatok:
-Nem használok PVar okat
-Sok tömböt használok
-Timerekbõl van 15 nagyja 1000 miniszekundum fölötti
-Fájlrendszer dini
-ja és mostanában elõjött ez a hiba:
Header size: 7092 bytes
Code size: 607700 bytes
Data size: 390436 bytes
Stack/heap size: 16384 bytes; estimated max. usage=4459 cells (17836 bytes)
Total requirements: 1021612 bytes
-
Ez általában azért van, mert túl nagy értéket adsz meg egy tárolónak (pl string, ami 120 karaktert használ, de te 500as méretre hozod létre)
Timereket, ha gamemode/filterscript initnél használod, azaz ott indítod el, és 1 funkciót használsz bennük, akkor megpróbálhatod összevonni
dini szerintem tökéletes [sokak szerint lassú, kipróbáltam a \"leggyorsabb\" cache rendszert, a Fini-t, de az amx fájlom métere 3x akkora lett tõle -.-\"]
pvarok nélkül is lehet jó egy szerver, én se használok.
a 100% CPU használta nem tudom h mitól lehet.. [Warningok, ilyenek?!]
-
Köszönöm a biztatást de nem értem igazábol miért sziv el ekkora helyet a szervergépben hogy 100% és szeretném lejjebb venni. Amugy semmi warning nincs, alapbol nem tekintem jónak ha warning van. Nincs ötletetek hogy miért lehet ez?
-
esetleg OnPlayerUpdatenél vmi ciklus?
-
nem nincs ott ciklus nem is nagyon használom
-
Próbáld meg levenni a timerek számát, mást nemtudok már tanácsolni xD és az a lenti szerintem nem hiba.
Ha már megemlítettük a dini-t, én MySQL-et használok a logokra, játékosokra. De az aka-ra dinit. Próbáltam rá egy másik cache rendszert, szokás szerint azoknál megvan adva hogy egyszerre mennyi sort olvashat be. Erre szerintem is a legjobb a dini, nembaj hogy lassú.
Ha nem használsz PVar-t, és ragaszkodsz a rendes változókhoz, akkor használhatod azokat is spórolósan.
Elõször is aminek csak 2 értéke van bool-ként használd.
És ha az értéke nem nagyobb, mint 255 ( bool-nak természetesen nem nagyobb). Akkor használd így, mert egy csomó memóriát megtakarít: new bool:IsGod[MAX_PLAYERS char]
Használata ha char-os
IsGod{playerid} = true;
----------------------------
if(IsGod{playerid} == true)
Ezt itt olvastam
-
Köszi kurta te aztán mindig meg tudsz lepni :)
-
PVarokat ajánlatos használni. ;)
-
PVarokat ajánlatos használni. ;)
Sztem a sima változó nem oszt nem szoroz.. nekem 1 pvar sincs szerómban és van vagy 500 változó és nem használ sok CPU-t
-
Kurta borat tanácsára elkezdtem átirni a boolokat és kész is lettem :D de ettöl függetlenül még van pár tömb
Most várok a webadminos csávora hogy megmondja nekem a tutit átmentem e vagy nem :D de szerintem kizárt hogy nállam van a gond mostmár
-
Megszabad kérdezni, hogy kitõl bérelsz?
Hány soros a mód? :D
-
Happygametöl bérelem az s1 gépröl
12359 soros a mode (objekteket és jármûveket külön scriptben)
-
Nem is ismerem ezt a hostot :mistrust:
Az én RP módom 45000 sor körül van, és annyi hogy az elején várni kell míg betölt egy picit...
Aztán lagg nélkül viszi a 30-40 playert.