Kirjoittaja Aihe: Ohjelma tiedostojen linkitys  (Luettu 3435 kertaa)

karvanoppa

  • Käyttäjä
  • Viestejä: 51
    • Profiili
Ohjelma tiedostojen linkitys
« : 15.12.10 - klo:21.10 »
Kavereiden kesken meillä on Arma2 pelipalvelin ja törmäsin tällaiseen ongelmaan. Ajamme samassa ohjelma hakemistossa kahta eri palvelua eri porteissa toisessa siis toiset peli lisäosat ja taas toisessa toiset lisäosat. Molemmat lisäosat hakevat varmistus avaimet sekä karttatiedostot samasta hakemistosta (keys ja mpmissions).
Muiden tiedostojen osalta homma klaaraa loistavasti, mutta juurikin noi kaksi hakemistoa joita ei pysty conffi tiedostoista muuttamaan niin ärsyttävät. Esim kaikki kartat näkyvät molemmissa lisäosissa jolloin serveri crashaa jos valikoit toisen lisäosan kartan toisella lisäosalla.
Pelin päivitys on taas tähän asti toiminut ihan niin, että olen vain clienttiin (win7) päivittänyt pelin jonka jälkeen olen siirtänyt pelin kaikki muuttuvat tiedostot palvelimelle ja käynnistänyt palvelimen uudelleen. Myös mahdollisten lisäkarttojen lisäys on tapahtunut vaan raahamalla clientistä tiedosto palvelimelle tuonne mpmissions kansioon ja valmis.

Tähän kuitenkin kuulin olevan ratkaisu linkittämällä tiedostot. Eli ajamalla kaikki tiedostot yhteen peli kansioon sitten vaan luo molemmille palvelimille omat hakemistot johon linkittää muuten kaikki mutta juurikin keys ja mpmissionit vain niiltä osin kumpaisellekkin jotka toimivat.

Eli itse ongelma:
Miten saisin rakennettua järjestelmän jolla saisin toimimaan linkitykset automaattisesti? Eli juurikin päivityksen tulessa linkit räpsähtäisi automaattisesti oikein itse "palvelin" hakemistoihin ja juurikin jos pudotan vaikka mpmissions kansioon uuden kartan niin se linkittyisi oikeaan paikkaan?
En ole juurikaan koskaan käyttänyt ln komentoa joten juurikaan siitä mitään tiedä, mutta jos tästä voisi olla apua niin toisessa palvelimessa pyörii vain karttoja missä lukee diipadaapa.ace.pbo ja toisessa vapaasti mitävaan. Eli jos tota ace sanaa voisi käyttää hyväksi esim.?

Pahoittelen jos on vähän sekavasti kirjoitettua, mutta yritän selvittää lisää tarvittaessa?

Kiitos jo etukäteen.

retu

  • Käyttäjä
  • Viestejä: 949
    • Profiili
Vs: Ohjelma tiedostojen linkitys
« Vastaus #1 : 16.12.10 - klo:12.48 »
Pitää kertoa aluksi etten kyllä tiedä tuosta arma2 jutusta mitään, mutta todennäköisesti symboliset linkit ovat ratkaisu.

Jos käytät hard linkkejä, linkki katkeaa helposti. Jos päivityksessä tiedosto poistetaan ensin ja luodaan sitten uudestaan, muiden kopioiden sisältö jää ennalleen.

Symbolinen linkki menee rikki kun kohdetiedosto poistetaan, mutta toimii taas kun tiedosto luodaan uudestaan. Lisäksi symbolisen linkin avulla voi "kloonata" vaikka koko hakemiston toiseen paikkaan. Ehkäpä sillä saa mpmissions hakemistot ruotuun.

Esim.:
Koodia: [Valitse]
ln -s peli1/mpmissions peli2/mpmissionsLuo hakemistoon peli2 linkin nimeltä mpmissions, joka viittaa hakemistoon peli1/mpmissions. Näiden sisältö näkyy siis identtisenä.

Toivottavasti tuo selvitti jotain. ::)

karvanoppa

  • Käyttäjä
  • Viestejä: 51
    • Profiili
Vs: Ohjelma tiedostojen linkitys
« Vastaus #2 : 16.12.10 - klo:18.58 »
Juu jelppas. Luulin jotenkin että linkit tarvii jotenkin aina päivittää, tiedostojen muutosten jälkeen, mutta tosiaan noin toi voisi toimia loistavasti. Eli jos laittaisin vaikka
Koodia: [Valitse]
ln -s ~/pelitiedostot/ ~/peli1/
ln -s ~/peli1misot/ ~/peli1/mpmissions/
ln -s ~/peli1keys/ ~/peli1/keys/

ln -s ~/pelitiedostot/ ~/peli2/
ln -s ~/peli2misot/ ~/peli2/mpmissions/
ln -s ~/peli2keys/ ~/peli2/keys/

Noi miso ja keys kansiot periaatteessa on turhat linkitykset kun voisi tietty laittaa suoraanaankin tuonne pelien sisälle.

SuperOscar

  • Käyttäjä
  • Viestejä: 4000
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Ohjelma tiedostojen linkitys
« Vastaus #3 : 16.12.10 - klo:19.03 »
Luulin jotenkin että linkit tarvii jotenkin aina päivittää, tiedostojen muutosten jälkeen,

Juu ei. Symbolinen linkki on vain mitä nimi sanookin: linkki tiettyyn tiedostonimeen. Ei ole mitään väliä, mitä viitattu tiedosto sisältää, siinähän sen hienous onkin.
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

karvanoppa

  • Käyttäjä
  • Viestejä: 51
    • Profiili
Vs: Ohjelma tiedostojen linkitys
« Vastaus #4 : 02.01.11 - klo:17.55 »
dodii tätä tässä nyt koittanut räpeltää, mutta tuli tämmöinen ongelma, että sanoo ettei pysty linkittämään hakemisto :o eli jos vaikka laitan.
Koodia: [Valitse]
ln -s ~/a2oadatabase/* ~/a2oaACE niin tämä ei linkkaa alihakemistoja mitä löytynee tuolta a2oadatabase kansion alta tuonne a2oaACE hakemistoon.

yritin lueskella man ln, mutta ei oikeen aennut tämä :(

SuperOscar

  • Käyttäjä
  • Viestejä: 4000
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Ohjelma tiedostojen linkitys
« Vastaus #5 : 02.01.11 - klo:18.22 »
Koodia: [Valitse]
ln -s ~/a2oadatabase/* ~/a2oaACE niin tämä ei linkkaa alihakemistoja mitä löytynee tuolta a2oadatabase kansion alta tuonne a2oaACE hakemistoon.

Totta mooses. Ennen kuin ln-komento saa komentorivin haltuunsa, tähdykkä (*) on lavennettu niin, että komentorivillä lukeekin:

Koodia: [Valitse]
ln -s ~/a2oadatabase/tiedosto1 ... ~/a2oadatabase/tiedostoN ~/a2oaACE
Ilmeisesti tarkoitat sanoa:

Koodia: [Valitse]
ln -s ~/a2oadatabase ~/a2oaACE
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

karvanoppa

  • Käyttäjä
  • Viestejä: 51
    • Profiili
Vs: Ohjelma tiedostojen linkitys
« Vastaus #6 : 02.01.11 - klo:18.41 »
Olimpas hölmö tosiaan.

Ei mikään jäätävä ongelma, mutta tosiaan tuo komento teki a2oaACE kansion sisälle a2oadatabase kansion jolloin kaikki tiedostot ovat väärässä osoitteessa :o mutta tosiaan saan näin linkitettyä database kansion sisältä kaikki alihakemistot erikseen tuonne ACE kansiion ja sitten vain tiedostot mitkä ovat database kansion juuressa niin ne sitten vielä erikseen kun linkittää niin lopputulos pitäis olla toivottavasti toimiva. :)