Hekanje igre SuperTuxKart
SuperTuxKart je preprosta igrica v kateri vozimo avtomobilček in tekmujemo z drugimi (računalniškimi ali človeškimi) igralci. Igrica je na voljo za operacijske sisteme Linux, Windows, MacOS in Android.
V skladiščih programske opreme Ubuntu je trenutno aktualna različica 0.8.2, kjer so določene dirkaške proge zaklenjene - odklenemo jih lahko samo, če na turnirju predhodno preigramo različne izzive.
Seveda je to problem, saj bi otroci avtomobilček radi vozili na bolj zanimivih prograh, ki pa so (na začetku) zaklenjene. Ampak z nekaj malega “hekanja”, je problem enostavno rešljiv…
Odklepanje SuperTuxKart 0.8.2
Najprej si ogledamo lokacijo konfiguracijskih datotek. Z nekaj ugibanja hitro pridemo do ustrezne mape:
cd ~/.config/supertuxkart/0.8.2
V njej se nahaja datoteka players.xml, kjer vidimo, da so posamezne proge označene kot solved=”none”.
Vse kar je treba storiti je, da “none” zamenjamo z “easy”. A ko datoteko odpremo z urejevalnikom nano, nas pričaka neprijetno presenečenje:
Datoteka je videti okvarjena ali “šifrirana”. Očitno so se razvijalci igrice potrudili igro vsaj malo zaščititi pred “goljufanjem”. A z ukazom file hitro ugotovimo za kakšno “zaščito” gre (na to sicer namigujeta dva “čudna” znaka na začetku omenjene datoteke):
file players.xml players.xml: Unicode text, UTF-32, little-endian
Datoteka je zapisana v UTF-32 kodiranju. Ko to vemo, je ustrezno spreminjanje njene vsebine trivialno.
Datoteko najprej preimenujemo:
mv players.xml.old
Nato pa v njej vse pojavitve “none” spremenimo v “easy” in jo prepišemo nazaj v njeno originalno ime:
iconv -f utf-32 -t us-ascii <players.xml.old | sed 's/none/easy/' | iconv -f us-ascii -t utf-32 >players.xml
Po ponovnem zagonu igrice so vse proge odklenjene, in igranje se lahko začne.
Nameščanje različice 1.0 s podporo več igralcem
Igra SuperTuxKart je že dlje časa omogočala nekakšen večigralski način, in sicer tako, da je lahko več igralcev uporabljalo isto tipkovnico na (istem računalniku). Seveda takšno igranje ni preveč udobno, in razvijalci igre so že dlje časa obljubljali pravo večigralsko podporo igranju preko lokalnega omrežja (LAN) ali preko interneta. V različici 1.0 (izdana je bila aprila letos) smo končno dočakali podporo igranju preko omrežja.
Ker v Ubuntu skladiščih programske opreme najnovejše različice še ni na voljo, moramo igrico najprej namestiti preko PPA skladišča razvijalcev:
sudo add-apt-repository ppa:stk/dev sudo apt-get update sudo apt install supertuxkart
V nastavitvah igrice (Online - Local Networking - Create Server / Povezano - Krajevno omrežje - Ustvari strežnik) na enem izmed računalnikov ustvarimo igralski strežnik.
Pred tem je seveda potrebno odpreti požarni zid (vrata 2759):
sudo ufw allow 2759
Na ostalih računalnikih znotraj istega lokalnega omrežja se nato povežemo na ta strežnik (Online - Local Networking - Find Server / Povezano - Krajevno omrežje - Najdi strežnik). Če samodejno iskanje strežnika ne deluje, se lahko nanj povežemo neposredno (Online - Enter server address / Povezano - Vnesite naslov strežnika):
Ko so vsi igralci povezani na igralski strežnik (le-ta omogoča tudi klepet), se igranje lahko začne. Upravitelj strežnika začne dirko, igralci si izberejo svoja vozila in označijo katere proge bi radi vozili, aktivira pa se tista proga, ki jo je izbralo največje število igralcev.
Igra se sedaj lahko začne.
Mimogrede, ob namestitvi različice 1.0, se seveda znajdemo pred podobnim problemom kot prej - tudi v tej različici so določene proge zaklenjene.
In kako odklenemo te? No, to pa lahko ugotovite sami. Namig: različica 1.0 ne vsebuje “zaščite”.
“Hvala oči!” :)
Ključne besede: igre, Linux