CoolBasic & netti = cbNetwork
Re: CoolBasic & netti = cbNetwork
Pystyykö cbNetwork-funktioilla millään tavalla välittää php-ohjelmalle muuttujan ja sen arvon POST-taulukon kautta?
Re: CoolBasic & netti = cbNetwork
Muistan lukeneeni vanhojen foorumeiden puolelta, että tätä olisi jo kysytty. Marcoder, cbNetworkin luoja, sanoi ettei se ole mahdollista. Harmi vain.Trilobiitti wrote:Pystyykö cbNetwork-funktioilla millään tavalla välittää php-ohjelmalle muuttujan ja sen arvon POST-taulukon kautta?
Tarvittaessa voit kumminkin paloitella tiedot max. 100-kirjaimen pituisiksi GET-arvoiksi osoitteeseen ja käyt sitten php-puolella läpi jokaisen arvon ja lisäät ne samaan merkkijonoon. Hankalaa ja purkkaisaa, mutta pitäisi jotenkin saada toimimaan... tiedostojakin pystyisi näin ehkä lähettämään, mutta sitten koko kannattaisi olla melko pieni.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
-
- Active Member
- Posts: 106
- Joined: Wed Jul 30, 2008 5:04 pm
Re: CoolBasic & netti = cbNetwork
Toimiiko tässä evästeet? tai miten saisi toimimaan.
Re: CoolBasic & netti = cbNetwork
Evästeet ei liity tiedon siirtymiseen internetissä millään tavalla. Sori vain. Eli ei toimi.Someday coder wrote:Toimiiko tässä evästeet? tai miten saisi toimimaan.
Re: CoolBasic & netti = cbNetwork
Evästeet lähetetään normaalisti HTTP-headereiden mukana palvelimelle tarvittaessa. cbNetworkin avulla et voi vaikuttaa siihen, mitä headereita lähetät; joudut tyytymään pelkästään URLiin piilotettuihin tietoihin.Someday coder wrote:Toimiiko tässä evästeet? tai miten saisi toimimaan.
Katso vielä mikä EVÄSTE oikeasti on, niin ei tule sekaannuksia
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: CoolBasic & netti = cbNetwork
Onnistuuko siis luvun lähettäminen nettiin? Jos onnistuu, niin miten?
Projektit:
Jotain pientä (Ehkä vähän suurempaakin)
-Tuxi- (myös Tuxi4321)
Jotain pientä (Ehkä vähän suurempaakin)
-Tuxi- (myös Tuxi4321)
Re: CoolBasic & netti = cbNetwork
Helposti onnistuu. HTTPGet() funktiota apuna käyttäen nimittäin, laitat sivun osoitteeseen luvun mukaan. Sinulla täytyy olla palvelimella (siis nettisivulla) sitten jonkinlainen tapa ottaa tieto talteen URL:sta. Esim. PHP:n puolella $_GET[] taulukko saa automaagisesti arvoikseen osoitteessa olevat tiedotTuxi wrote:Onnistuuko siis luvun lähettäminen nettiin? Jos onnistuu, niin miten?
Tiedot voi laittaa osoitteeseen esimerkiksi näin:
Jos tätä tapaa käytetään esim. top10 listan ylläpitämisessä, kannattaa ottaa huomioon se, ettei tuloksia voida vääristää mielivaltaisesti kirjoittamalla itse osoitetta. Totuus on nimittäin, että ohjelman käyttäjä voi kaapata tiedon siitä, mistä URL:sta tietoa haetaan. Käytä siis jonkinlaista hashaus-menetelmää (esim. MD5 mistä löytyy koodikin CBKK:sta) apuna, siis jos siirrät jotain tietoa jota EI saa olla mahdollista vaihtaa mielivaltaisesti.
EDIT (17.5.10): Korjasin linkin, kun CBKK ei toimi enää.
EDIT (12.9.10): Korjasin linkin taas, kun jouluserver on kaatunut aikoja sitten.
Last edited by valscion on Sun Sep 12, 2010 1:07 pm, edited 2 times in total.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: CoolBasic & netti = cbNetwork
Onko hidasta suorittaa kaikki ampumiseen liittyvä tarkastu (osuma ym.) serverillä?
Re: CoolBasic & netti = cbNetwork
Ei, ja se on pakollista ellet halua että instant-kill-cheatterit valtaavat pelisi. Käytännössä lienee näppärintä, että pelaajan ruutu päivittyy normaalisti, ja clientti lähettääkin serverille tiedon missä oma pelaaja (omasta mielestään) sijaitsee. Palvelin laskee esim pelaajan maksimiliikkumanopeueden ja liikkumasuunnan perusteella pelaajan paikan(lähinnä siis varotoimi ettei pelaaja ole siirtynyt kauemmas kuin mitä on mahdollista), ja lähettää kaikille clienteille tiedon sen sijainnista. Kaikkien clienttien tulisi myös saada aika-ajoin tieto omasta sijainnistaan palvelimen mielestä, sillä muuten viivet vääristävät tilannetta. Sama ampumiselle.zHelmet wrote:Onko hidasta suorittaa kaikki ampumiseen liittyvä tarkastu (osuma ym.) serverillä?
Tiivistettynä: jokainen clientti laskee itse pelimekaaniset jutut sulavuuden takaamiseksi, mutta saavat silti palvelimelta ne oikeat tiedot tapahtumista ja korjaavat omia mallejaan sen mukaisesti.
Re: CoolBasic & netti = cbNetwork
niin mutta meinaankin että serverillä siis olisi kartat ja kaikki tarkistamiseen?? ja se tekisi sen siinä sivussa?m1c wrote:Ei, ja se on pakollista ellet halua että instant-kill-cheatterit valtaavat pelisi. Käytännössä lienee näppärintä, että pelaajan ruutu päivittyy normaalisti, ja clientti lähettääkin serverille tiedon missä oma pelaaja (omasta mielestään) sijaitsee. Palvelin laskee esim pelaajan maksimiliikkumanopeueden ja liikkumasuunnan perusteella pelaajan paikan(lähinnä siis varotoimi ettei pelaaja ole siirtynyt kauemmas kuin mitä on mahdollista), ja lähettää kaikille clienteille tiedon sen sijainnista. Kaikkien clienttien tulisi myös saada aika-ajoin tieto omasta sijainnistaan palvelimen mielestä, sillä muuten viivet vääristävät tilannetta. Sama ampumiselle.zHelmet wrote:Onko hidasta suorittaa kaikki ampumiseen liittyvä tarkastu (osuma ym.) serverillä?
Tiivistettynä: jokainen clientti laskee itse pelimekaaniset jutut sulavuuden takaamiseksi, mutta saavat silti palvelimelta ne oikeat tiedot tapahtumista ja korjaavat omia mallejaan sen mukaisesti.
Re: CoolBasic & netti = cbNetwork
Serverillä kannattaa kaikki tarkistukset suorittaa matemaattisesti. Törmäykset tarkistetaan koordinaattien ja kulmien avulla, eikä piirretä objekteja/kuvia palvelimen puolella. Server ei itse voi nopeuden huiman laskemisen takia piirtää/käyttää karttaa eikä muita objekteja, koska muuten clienttien pelaaminen hidastuu huomattavasti. Reaaliaikaista räiskintäpeliä tjsp. ei sillä tavalla ainakaan saisi aikaan.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: CoolBasic & netti = cbNetwork
Mahtava idea...
Entä jos serverille lähetettäisiin pelkästään tieto napin painalluksista. Silloin toinen tietokone pystyisi helposti piirtämään objecktit oikeille paikoilleen. Eli jos normaalisti serverille lähetettäisiin kokoajan tiedot objectejen sijainnista, niin minun ideassani tiedot lähetettäisiin vain jos nappeja painetaan.
Silloin serverille tarvitsisi lähettää tiedot vain 0-5 napin painalluksesta per frame tai napin painallukset voisi kerätä talteen ja lähettää kerralla vaikka 10 framen välein. Esim. ja toisessa päässä kone hakee serveriltä tiedot painalluksista ja esim.
. Tämän pitäisi toimia, koska fysiikoiden pitäisi olla samat.
(Korjatkaa jos olen väärässä)
Toivottavasti ideoistani on hyötyä.
Itse en ole käyttänyt cbNetWorkiä mutta kiinnostukseni heräsi luettuani tämän viestiketjun,
mutta vaikuttaa vaikealta. (kannattaako neuvoa toisia jos ei ole itse edes kokeillut?)
Entä jos serverille lähetettäisiin pelkästään tieto napin painalluksista. Silloin toinen tietokone pystyisi helposti piirtämään objecktit oikeille paikoilleen. Eli jos normaalisti serverille lähetettäisiin kokoajan tiedot objectejen sijainnista, niin minun ideassani tiedot lähetettäisiin vain jos nappeja painetaan.
Silloin serverille tarvitsisi lähettää tiedot vain 0-5 napin painalluksesta per frame tai napin painallukset voisi kerätä talteen ja lähettää kerralla vaikka 10 framen välein. Esim.
Code: Select all
if Keydown(cbkeyUp) then Ylöspäinnuolipohjassa+1
Code: Select all
moveobject vastustaja,Ylöspäinnuolipohjassa
Ylöspäinnuolipohjassa=0
moveobject vastustaja,-Alaspäinnuolipohjassa
Alaspäinnuolipohjassa=0
turnobject vastustaja,-vasennuolipohjassa
vasennuolipohjassa=0
turnobject vastustaja,oikeanuolipohjassa
oikeanuolipohjassa=0
(Korjatkaa jos olen väärässä)
Toivottavasti ideoistani on hyötyä.
Itse en ole käyttänyt cbNetWorkiä mutta kiinnostukseni heräsi luettuani tämän viestiketjun,
mutta vaikuttaa vaikealta. (kannattaako neuvoa toisia jos ei ole itse edes kokeillut?)
Re: CoolBasic & netti = cbNetwork
Tuo voisi toimiakkin. Tosin se riippuu siitä, että laskeeko Serveri vai Client pelaajien paikat. Järkevintä oli tietysti että serveri laskee objektien paikat. Näin pelissä huijaaminen tulee erittäin vaikeaksi ja Clientin puoli on helpompi toteuttaa. Vastaavasti Serveri olisi vaikea toteuttaa niin, että se ei lagaisi.
-On selkeästi impulsiivinen koodaaja joka...
Re: CoolBasic & netti = cbNetwork
Uskokaa nyt että yhtälö Clientside calculations = FAIL on validi.JATothrim wrote:Tuo voisi toimiakkin. Tosin se riippuu siitä, että laskeeko Serveri vai Client pelaajien paikat. Järkevintä oli tietysti että serveri laskee objektien paikat. Näin pelissä huijaaminen tulee erittäin vaikeaksi ja Clientin puoli on helpompi toteuttaa. Vastaavasti Serveri olisi vaikea toteuttaa niin, että se ei lagaisi.
[color=#40BF00][u]koodaaja[/u][/color] wrote:Täyden turvan takaamiseksi avain olisi myös kuljetettava offlinenä suoraan tulevien viestien lähettäjältä niiden vastaanottajalle laitakaupungin hämärissä yöneljältä ja varmistettava, ettei kumpaakaan osapuolta seurata. Popliinitakkia suositellaan.
Re: CoolBasic & netti = cbNetwork
Aloinpas minäkin opettelemaan netin käyttöä ja tuli tässä muuten mieleen, että miten kannattee tehdä kaksinpeli netin kautta? Kannattaisiko pitää yhtä serveriä, "ykköspelaajaa" ja yhtä clienttiä, "kakkospelaajaa" vai yhtä serveriä ja kahta clienttiä?
EDIT:
"netin käyttöä", hyvin sanottu, tarkoitin tietenkin cb:n kanssa
Re: CoolBasic & netti = cbNetwork
Hmm no periaatteessa voisit tehdä niin että teet vain yhden ohjelman. Se, kumpi ensiksi joinaa (tai voi myös laittaa alkuun valinnan) olisi vaikka palvelin ja ottaisi siis tiedot vastaan. Loppujen lopuksi se on vain makukysymys.
Mutta jos kaksinpeliä meinaa niin ei nyt kannata pakottaa pelaajaa pitämään kahta ohjelmaa auki samanaikaisesti (server ja client) vaan yhdistät tietenkin sen niin että servustakin voi pelata.
Mutta jos kaksinpeliä meinaa niin ei nyt kannata pakottaa pelaajaa pitämään kahta ohjelmaa auki samanaikaisesti (server ja client) vaan yhdistät tietenkin sen niin että servustakin voi pelata.
EDIT:
Katsokaa Valtzun viesti alta ja unohtakaa tämä
Last edited by valscion on Sat May 23, 2009 8:57 pm, edited 1 time in total.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: CoolBasic & netti = cbNetwork
Itse kokeilin joskus ilmakiekkopelissä tuota, että servulla voi pelata. Ei kannata. Jos peli on reaaliaikainen, eikä mikään kliksuttelustrategia, on lagi aivan hirmuinen. Asia on vaan niin, että DrawScreen loopissa ei sovi servun kanssa yhteen.VesQ wrote:Hmm no periaatteessa voisit tehdä niin että teet vain yhden ohjelman. Se, kumpi ensiksi joinaa (tai voi myös laittaa alkuun valinnan) olisi vaikka palvelin ja ottaisi siis tiedot vastaan. Loppujen lopuksi se on vain makukysymys.
Mutta jos kaksinpeliä meinaa niin ei nyt kannata pakottaa pelaajaa pitämään kahta ohjelmaa auki samanaikaisesti (server ja client) vaan yhdistät tietenkin sen niin että servustakin voi pelata.
Re: CoolBasic & netti = cbNetwork
Minulla on taas näitten kanssa ongelmia: Lähetän servusta inttinä numeron 10 ja luen sen intin clientistä, sitten tulostan luetun intin, mutta sinne tulostuukin jotain 221. Missä vika?
Re: CoolBasic & netti = cbNetwork
Kun serveri/client lukee dataa, muistipalan alussa on kokonaisluku, joka kertoo muistipalan koon. Lue se siis ensin pois, ja sen jälkeen lue toinen kokonaisluku, sen pitäisi olla se lähetetty 10.phons wrote:Minulla on taas näitten kanssa ongelmia: Lähetän servusta inttinä numeron 10 ja luen sen intin clientistä, sitten tulostan luetun intin, mutta sinne tulostuukin jotain 221. Missä vika?
Re: CoolBasic & netti = cbNetwork
Jos tekisi omat foorumit, siellä sitten pitäisi rekisteröityä pelin käyttäjäksi, niin miten tämä onnistuisi? Kun kirjoittaisi nimen ja salasanan ohjelmassa, niin pääsisi servu valikkoon ja sieltä joinimaan peliin. Miten asia tapahtuisi käytännössä, jos se on edes mahdollista cb:n networkilla?
Solar Eclipse
We're in a simulation, and God is trying to debug us.