Jason

Szerver és Kliens oldal

10 hozzászólás ebben a témában

Sziasztok!

Nagyon rég foglalkoztam már a LUA-val, akkor is max editeléssel "foglalkoztam", most azonban van több időm és szeretném normálisan megtanulni a LUA nyelvet. Kisebb scriptek írásával szeretném kezdeni, azonban nem tudom, hogy hogyan induljak el. Mármint nagyjából emlékszem dolgokra, de azt sose értettem, hogy egy scriptet miért kell cliens vagy épp server oldalra készíteni. Valaki tudna segíteni ebben, hogy mikor mit milyen oldalra kell írni ?

Előre is köszönöm a segítséget.

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Marci? :D Tulajdonképp szerver oldalra azt szokás írni, ami mindenkinek lefut, amit minden kliens lát, és befolyásolja a szervert, vagy nem is tudom hogy fejezzem ki magam. Kliens oldalra meg azt, ami a klienseknek/játékosoknak jelenik meg. Használni tudom, magyarázni nem, szóval ha nem érthető, bocsi. :D

1 személy kedveli ezt

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Haha :D Köszike az infót :D Igazából azzal nem vagyok tisztában, hogy egyes resource-okat melyik oldalra kellene írni..pl job systemben mit hova, ilyenek.

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Úgy hallottam, hogy a legtöbb dolgot amit tudsz, érdemesebb kliens oldalra írni, hogy ne a szervert terhelje. Nem tudom Job system alatt mit értesz, magát a munka felvételt, vagy a munkákat. De nézzünk csak egy alap CP-s melót. Ha kocsival mész, szerver oldalon lehívsz egy autót. Kliens oldalon lerakod a CP-ket, hogy csak az lássa, aki éppen a munkát végzi. Tulajdonképp szerver oldalon ilyen esetben csak a spawn-olásokat, a destroy-okat, és a mentéseket érdemes.

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Nem tom...szerintem ha az embernek bitang szervergépe van, felesleges mindennel a klienst terhelni. Van aki potato géppel MTA-zik, ha mindent kliens oldalra írsz, egy nagyobb, összetettebb (vagy akár szimplán igénytelen, optimalizálatlan) mód konkrétan játszhatatlan is tud lenni.

1 személy kedveli ezt

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Ebben is van igazság. De akinek nincs erős szervergépe, annak javasoltabb inkább kliens oldalra írni. Jobb az, hogy pár embernek szaggat a szerver, minthogy mindenkinek. :D

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Köszönöm mindenkinek a válaszát, zárható a téma!

1 személy kedveli ezt

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Ha egy szervert akarsz csinálni, akkor valószínűleg a közösségért, és az élményért teszed. Ha ezt az elvet követjük, akkor szerver van a kliensért, vagy a kliens a szerverért? Egyik sincs meg a másik nélkül.

Programozók első íratlan törvénye, hogy sose bízz a felhasználóban. Semmi olyan dolgot nem szabad a kliens oldalt tárolni, amiből esetleg plusz információhoz juthat, vagy esetleg felhasználhatja azokat. A szervergép azért szervergép, hogy lehessen terhelni, a kiszolgálókért van és nem fordítva.

Másrészről a kliens oldalt legtöbb esetben design elemek megjelenítésére és utasítások kiadására használatosak, de ettől függetlenül még szerver oldalon le kell kezelni minden eshetőséget (ha a játékos hamis adatokat adna meg valamely úton módon (bug, vagy valahogyan hackelt klienssel játszik)). Természetesen vannak kivételek, van amit jobb megírni kliens oldalon.

Sokan az SQL lekérdezéseket is félnek használni szerver oldalon, pedig azok aszinkron megoldással vannak tervezve, és egy bonyolultabb lekérdezés is lefut 0,3ms alatt.

 

Idézet

Úgy hallottam, hogy a legtöbb dolgot amit tudsz, érdemesebb kliens oldalra írni, hogy ne a szervert terhelje. Nem tudom Job system alatt mit értesz, magát a munka felvételt, vagy a munkákat. De nézzünk csak egy alap CP-s melót. Ha kocsival mész, szerver oldalon lehívsz egy autót. Kliens oldalon lerakod a CP-ket, hogy csak az lássa, aki éppen a munkát végzi. Tulajdonképp szerver oldalon ilyen esetben csak a spawn-olásokat, a destroy-okat, és a mentéseket érdemes.

Mi van akkor, ha a játékos hozzáfér a játék memóriájához, funkcióihoz, és áttudja rakni a CP-ket a saját pozíciójára, így érzékelve azt, hogy elvégezte a munkát? (nem sok az esély rá természetesen, de kitudja mikor lesz egy rosszakaró)

Szerkesztve DrAkE által

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Én nem foglalkoztam MTA-val, viszont sima logikával egy egyszerű példát hoznék SAMP ismeretekkel.

SA-MP-ben Lehet szerver oldalon létrehozni textdrawot ugye.

A játékosoknál mindnél van alap SA HUD ami tartalmaz pár infót: élet, pajzs, oxigén, fegyver, töltény, pénz, idő.

Na ha ezt SA-MP textdraw-al kell megoldani, akkor a szerver ezeket az infókat tárolhatja, de minek tárolja, hogy hol van egy a HUD, melyik csík mekkora?

A szerver tárolja a számokat, hogy miből mennyi van, esetleg mennyi a max, a kliens meg azt, hogy hol hogyan jelenik meg ez az infó.

Vagy például a chat. A szerver elküldi az üzenetet a kliensnek onnantól a kliens felel a megjelenítésért és a tárolásért. Gyorsan meg lehetne tölteni a szerver memóriáját, ha minden chat üzenetet tárolna.

Lehetnek kliens és szerver oldali parancsok. Például HUD bekapcsolás és kikapcsolás kliens oldali, de esetleg a szerver is elérheti ezt a funkciót, ha szükséges.

A kliens magától írhat ki chat üzenetet, vagy épp módosíthatja az üzenetet (lásd interaktív chat), viszont nem állíthatja a HP-t, pajzsot...

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon
Idézet Kovacs_Richard felhasználótól, 7 órája

Én nem foglalkoztam MTA-val, viszont sima logikával egy egyszerű példát hoznék SAMP ismeretekkel.

SA-MP-ben Lehet szerver oldalon létrehozni textdrawot ugye.

A játékosoknál mindnél van alap SA HUD ami tartalmaz pár infót: élet, pajzs, oxigén, fegyver, töltény, pénz, idő.

Na ha ezt SA-MP textdraw-al kell megoldani, akkor a szerver ezeket az infókat tárolhatja, de minek tárolja, hogy hol van egy a HUD, melyik csík mekkora?

A szerver tárolja a számokat, hogy miből mennyi van, esetleg mennyi a max, a kliens meg azt, hogy hol hogyan jelenik meg ez az infó.

Vagy például a chat. A szerver elküldi az üzenetet a kliensnek onnantól a kliens felel a megjelenítésért és a tárolásért. Gyorsan meg lehetne tölteni a szerver memóriáját, ha minden chat üzenetet tárolna.

Lehetnek kliens és szerver oldali parancsok. Például HUD bekapcsolás és kikapcsolás kliens oldali, de esetleg a szerver is elérheti ezt a funkciót, ha szükséges.

A kliens magától írhat ki chat üzenetet, vagy épp módosíthatja az üzenetet (lásd interaktív chat), viszont nem állíthatja a HP-t, pajzsot...

Hát igazság szerint SA-MPban a textdrawok értékei (hol legyen a maga a textdraw, szöveg, szín, stb) azt szerver oldalon tárolja ugyanúgy. Ettől eltekintve jól látod a dolgokat. A szerver tárolja a főbb adatokat, a kliens meg a megjelenítő. A chatnél természetesen a szerver ilyenkor csak közvetítő szerepet lát el, nem tárolja a chat szövegét, hiszen a szerverre nézve felesleges adatnak számít.

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Regisztrálj vagy jelentkezz be, hogy válaszolhass

Csak felhasználóként kommentelhetsz.

Regisztrálj

Légy közösségünk tagja még ma! Csak fél perc.


Regisztrálok

Jelentkezz be

Már van felhasználód? Lépj be!


Bejelentkezek