Kom med ind i en spilleautomat: Open source i plomberet pc

Illustration:
En spilleautomat skal være bundsolid og sikker, så Gamblify valgte selv at designe hardware og egen Linux-distribution. Men spillene er udviklet på Windows-maskiner.

Da spilfirmaet Gamblify så dagens lys for to et halvt år siden, valgte de at starte fra bunden. Der skulle ikke bare laves nye slags spil til de spilleautomater, der står i kiosker og spillehaller landet rundt - der var også brug for en ny teknisk platform.

Resultatet er blevet en hjemmelavet Linux-maskine, som firmaets selv mener er en klar forbedring, i forhold til den typiske løsning i branchen.

»Mange af vores konkurrenter kører det hele som én stor Flash-applikation, på en Windows CE-maskine. Jeg mener, vi har en god platform i forhold til, og vi har den fordel, at vi kan skifte spilmotor og teknologi hen ad vejen, hvis der kommer noget nyere og federe,« fortæller Christian Uldall Pedersen, direktør for det fem mand store spilfirma.

Læs også: It-afløseren for den enarmede tyveknægt: Lok sekretæren op på kopimaskinen

I dag bruger Gamblify den danske succes-spilmotor Unity, som de tre spiludviklere kører på Windows-maskiner. Selve værktøjet til spiludvikling findes nemlig ikke til Linux, som ellers er i høj kurs i firmaet. De to første spil fra Gamblify blev dog udviklet i Ogre3D, et andet værktøj til formålet, men det blev altså erstattet af Unity, fordi Ogre3D var for ’besværligt’.

Der er altså to forskellige spilmotorer i brug, men det giver ikke problemer. Hovedmenuen er nemlig skrevet i det Javascript-baserede Qt Modelling Language, QML, som Nokia i sin tid stod bag, da fremtiden hed Meego og ikke Windows Phone. Dermed kan Gamblify i fremtiden nemt skifte til helt nye spilmotorer, så længe det kan køre på en Linux-computer, fordi menuen så bare kalder en ny afspiller.

Plomberet computer uden mekanik

Selve spilleautomaten bliver købt af firmaet Leonardo i Italien, som producerer hardwaren efter Gamblifys opskrift. Af hensyn til sikkerhed og driftsstabilitet kan man nemlig ikke bare bruge en standardcomputer.

»Vi designede en computer og fik lavet en prototype hos en smed i Jylland. Den bliver plomberet af myndighederne, når den bliver taget i brug, for at man ikke kan ændre på spillet, så vi har designet den uden mekaniske dele inde i kabinettet,« fortæller direktøren.

Det er sket med passive kølere på grafikchip og processor og med en 40 gigabyte SSD i stedet for harddisk. Fire store blæsere er monteret på ydersiden af kabinettet, så de let kan skiftes - uden at bryde plomben.

Grafikkortet er et Nvidia GTS-450, i den høje mellemklasse, mens processoren er en Intel Core i3-model. De otte gigabyte RAM er valgt, så alle spillene kan være indlæst i hukommelsen samtidigt.

»Vi loader det hele ind i RAM, så vi kan skifte lynhurtigt mellem spil. Hvert spil fylder cirka en gigabyte. Men spillet skal ikke bruge andre resurser, når det ikke bliver spillet, for eksempel processorkraft, så vi suspender spillet, når det ikke bliver brugt,« siger Christian Uldall Pedersen.

Mere kontrol over sikkerheden med Linux

Den slags tricks var nemmest at styre i Linux, som han også kendte godt i forvejen, så det var en af grundene til, at styresystemet blev Linux.

»Det giver os mere kontrol. Vi vil gerne vide præcist, hvad der kører på maskinen, og min erfaring med Windows siger mig, at du har mindre kontrol. Vi går meget op i sikkerhed, og der skal ikke køre alt muligt på, som kan have sikkerhedshuller,« forklarer han.

Læs også: Sådan simulerer spilfirma gamblernes jagt på jackpot

Af samme grund er det ikke en standard-Linux-distribution, der bliver brugt, men en som Gamblify-folkene selv har sat sammen. Målet var at have færrest mulige processer kørende.

»På den måde er der kun det, vi selv har valgt, samt vores egne programmer. Havde vi brugt for eksempel Ubuntu, skulle vi fjerne alt muligt fra distributionen,« siger Christian Uldall Pedersen.

Sikkerheden spiller ind på mange andre områder, for så længe maskinerne bliver brugt til pengespil, vil der være forsøg på at snyde sig til at spille gratis eller ændre softwaren. For nogle uger siden blev to spilsvindlere for eksempel grebet på fersk gerning i Vestjylland, da de skaffede sig gratis spil på en spilautomat med en elektronisk jammer. Det var dog en ældre model, fra et andet firma, og det kan ikke lade sig gøre på nye maskiner, fortæller Jesper Bækdahl fra Gamblify.

Spilleautomaterne er koblet på spillehallernes netværk med en almindelig ethernet-forbindelse, så der er også arbejdet med sikkerheden her.

»Der er ikke nogen åbne porte på spilleautomaterne, så hvis man får tilsluttet en bærbar computer med et kabel, kan man ikke få adgang til noget. Den kommunikation, vi har mellem vores servere og automaterne, er push, altså fra automaten til serveren, og automaten initialiserer selv al kommunikation,« fortæller han.

Dermed er det svært at komme til at sende noget den anden vej, selvom det godt kan lade sig gøre, hvis hackere på en-eller-anden måde fik kontrol over Gamblifys servere. Det er nemlig muligt for Gamblify at opdatere spilleautomaterne via internettet med nye spil.

Udover forsøg på snyd har spilleautomater også meget opmærksomme brugere, som bruger mange timer med samme brugergrænseflade. Så er der en lille fejl et sted, bliver det opdaget. For eksempel at man ved at trykke mange gange på en knap i et spil med et lykkehjul kunne høre, om der var gevinst eller ej, før hjulet var stoppet. Det havde dog ingen indflydelse på spillets resultat.

»Vi har arbejdet meget med at adskille grafik og selve spillets motor i arkitekturen. Der er jo fejl i al software, så det må ikke påvirke spillet, hvis der er en fejl i grafikken,« siger Christian Uldall Pedersen.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (7)
Torben Jensen

Har lige været en tur i Vegas på et stort casino-hotel. Det er præcist samme trend: der er reelt ikke en eneste "træk-i-håndtaget" tyveknægt mere, alt er med store skærme og trykknapper. Gevinsten kan udbetales i form af en stregkode (id i en gevinstdatabase), og denne kan naturligvis indlæses i andre automater.

Alt er på netværk så man kan bruge et rabat/medlemskort og få (eller /og bruge!) gevinsten med det samme.

Tit er flere automater sat sammen med flere kæmpe skærme så forskellige events udløser en form for "fælles spil" - eksempelvis en simuleret fisketur hvor flere spillere konkurrerer om at fange fisk.

Der er også flere tematiserede spil, f.eks. om Desparate Housewifes eller lignende.

Savnede lidt lyden af ægte quaters som faldt og en skralde fra armen samt et "klonk" fra hjulene som stopper. I dag er det kun trykknapper samt lyden af en dollarseddel som indlæses i en maskine.

Har lidt svært ved at tro at odds er tilfældige. Min indbyggede skepsis siger at gevinst-tidspunkter styres, så gevinst automatisk udløser lavere odds. Alt kan jo modificeres løbende undervejs, helt uden mulighed for kontrol.

Mvh T (som spillede for i alt $1 og vandt $14).

Christian Uldall Pedersen

Hej Johnny,

Vi har salgsaftaler med en række "opstillere" i Danmark (virkomheder der sørger for videresalg, support og vedligeholdelse), hvorfor vi ikke sælger dem enkeltvis. Automaterne kan for eksempel findes i en lang række Jack-Pot butikker i Københavns området.

Med venlig hilsen,
Christian Uldall Pedersen
Gamblify

Kræn Hansen

Hedder det ikke en pull (og ikke push) forbindelse når klienten forbinder til serveren?
Har Gamify også husket at hardcode deres DNS servers IP-addresse i de maskiner de sender ud? Hvis den blot finder DNS server fra den lokale DHCP er de lige vidt.
I øvrigt vil man vel egentligt kunne ændre IP pakkers destination (og source) adresse hvis man har adgang til netværket (via fx forgiftning af ARP tabellen på spillemaskinen).

Har man fra Gamblifys side lyst til at fortælle hvordan man omgår den slags? Er den udgående forbindelse fx sikret ved en to-vejs ssl forstærket forbindelse?

Christian Uldall Pedersen

Hej Kræn,

Forbindelsen mellem server og klient er beskyttet af envejs-SSL. Klienten autentificeres ved hjælp af et unikt kodeord som hver klient er udstyret med. Vi er meget interesserede i at høre fra folk, hvis de kan se problemer i denne fremgangsmåde. Vi gør brug af DNS fra den lokale DHCP.

Med hensyn til om det er "push" eller "pull", så er pointen med dette mere at TCP forbindelsen oprettes fra klient mod server således at klienten ikke selv skal lytte på forbindelser med server software der kan indeholde potentielle fejl.

Med venlig hilsen,
Christian

Log ind eller Opret konto for at kommentere
Pressemeddelelser

Welcome to the Cloud Integration Enablement Day (Bring your own laptop)

On this track, we will give you the chance to become a "Cloud First" data integration specialist.
15. nov 2017

Silicom i Søborg har fået stærk vind i sejlene…

Silicom Denmark arbejder med cutting-edge teknologier og er helt fremme hvad angår FPGA teknologien, som har eksisteret i over 20 år.
22. sep 2017

Conference: How AI and Machine Learning can accelerate your business growth

Can Artificial Intelligence (AI) and Machine Learning bring actual value to your business? Will it supercharge growth? How do other businesses leverage AI and Machine Learning?
13. sep 2017
Jobfinder Logo
Job fra Jobfinder