Vägledning för IT
Matematik i Måneby körs i webbläsaren utan installation och utan inloggning. Fungerar spelet inte på skolans datorer beror det nästan alltid på en central inställning. Spelets felskärm visar en rad som börjar med Till IT: och en länk till rätt avsnitt här.
Kort sagt behöver maaneby.dk få:
- använda JavaScript JIT i Chrome:
JavaScriptJitAllowedForSites=[*.]maaneby.dk(WebAssembly) - hämta alla filer under
https://maaneby.dk/oförändrade (webbfilter) - rita med WebGL2, alltså med maskinvaruacceleration påslagen (WebGL)
- spara lokala data, om spelet ska kunna sparas (lagring)
WebAssembly är avstängt
Felskärmen säger Till IT: WebAssembly: slået fra (avstängt). Spelets motor är
WebAssembly, och Chrome stänger av WebAssembly när JavaScript JIT är blockerat. Det gör
policyn DefaultJavaScriptJitSetting med värdet 2 (Do not allow any site to run
JavaScript JIT), som vissa kommuner använder som härdning. Edge och telefoner fungerar
oftast, eftersom policyn bara är satt för Chrome.
Lösningen är ett undantag för webbplatsen, så att resten av härdningen ligger kvar:
JavaScriptJitAllowedForSites med värdet [*.]maaneby.dk. Google
tillämpar undantaget per webbplats, så just den formen täcker både maaneby.dk och
www.maaneby.dk.
Google Admin-konsolen (Chromebooks och hanterad Chrome)
- Logga in i Google Admin-konsolen med ett administratörskonto.
- Gå till Menu > Devices > Chrome > Settings. Sidan User & browser settings öppnas.
- Välj organisationsenheten med elevernas konton i sidopanelen.
- Hitta JavaScript JIT i gruppen Content (eller sök efter det).
- Låt standardvalet vara, och lägg till
[*.]maaneby.dki listan över webbadresser som får köra JavaScript JIT. - Klicka på Save. Enligt Google slår det oftast igenom inom några minuter, men det kan ta upp till 24 timmar.
Menynamnen är från Googles engelska vägledning och kan stå på svenska i er konsol.
Windows: grupprincip
- Installera Chromes ADMX-mallar (från Google Chrome Bundle) om de inte redan finns.
- Öppna Computer Configuration > Administrative Templates > Google > Google Chrome > Content settings.
- Öppna Allow JavaScript to use JIT on these sites, välj Enabled, klicka på Show och lägg till
[*.]maaneby.dk.
Intune
Importera Chromes ADMX-filer (först google.admx, sedan chrome.admx) under
Devices > Configuration profiles > Import ADMX, skapa en profil av typen
Templates > Imported Administrative templates och sätt samma inställning som
ovan. Google beskriver stegen i detalj (se källorna längst ner).
Registret
Policyn är en lista. Varje värde är en sträng (REG_SZ) med ett löpnummer som namn:
HKLM\SOFTWARE\Policies\Google\Chrome\JavaScriptJitAllowedForSites
1 REG_SZ [*.]maaneby.dk
Som kommando (använd nästa lediga nummer om 1 redan är upptaget):
reg add "HKLM\SOFTWARE\Policies\Google\Chrome\JavaScriptJitAllowedForSites" /v 1 /t REG_SZ /d "[*.]maaneby.dk" /f
Kontrollera att det fungerar
Öppna chrome://policy på en elevdator, klicka på Reload policies och
kontrollera att JavaScriptJitAllowedForSites visas med [*.]maaneby.dk.
Öppna sedan maaneby.dk/sv/spil/ i en ny flik.
Edge
Edge har samma två policyer, om även Edge är låst:
JavaScriptJitAllowedForSites under Administrative Templates > Microsoft Edge >
Content settings, i registret under
HKLM\SOFTWARE\Policies\Microsoft\Edge\JavaScriptJitAllowedForSites. Använder ni
Edges förbättrade säkerhetsläge (EnhanceSecurityMode), lägg då även till
maaneby.dk i EnhanceSecurityModeBypassListDomains.
Ett webbfilter blockerar spelets filer
Felskärmen nämner en fil, till exempel Till IT: main.dcr: HTTP 403,
(blokeret eller offline) (blockerad eller offline) eller ikke en film
(inte en film). Det sista betyder att filtret har svarat med en egen sida i stället för filen.
Tillåt:
| Adress | Innehåll | Content-Type |
|---|---|---|
https://maaneby.dk/ | Hela webbplatsen. www.maaneby.dk skickar bara vidare hit. | |
/game/** | Själva spelet, som /sv/spil/ visar i en iframe | |
/game/matematik-i-maaneby/*.dcr | Spelets 19 Director-filmer, upp till 22 MB per fil | application/octet-stream |
/game/polyfill-dist/*.wasm | Motorn (7,7 MB) och fyra små tillägg | application/wasm |
/game/polyfill-dist/*.js, /game/host/*.js, /game/fixes/*.js | Skript | application/javascript |
/game/sw.js | Service worker som sparar filmerna till nästa gång (se lagring) | application/javascript |
Filerna måste komma fram oförändrade: inte ersatta av en varningssida, inte avkortade och med
typen application/wasm kvar på .wasm. Om en proxy skannar stora filer
kan de första filmerna ta lång tid. Spelet hämtar inget från andra adresser. Webbläsaren kan
skicka Cloudflares egna nätverksfelrapporter till a.nel.cloudflare.com; dem behöver
ni inte tillåta.
WebGL2 eller maskinvaruacceleration är avstängd
Felskärmen säger Till IT: WebGL2: .... Spelet ritas med WebGL2. Utan det kan det
bara köras mycket långsamt, och vissa skärmar ritas fel. Kontrollera:
-
HardwareAccelerationModeEnabledfår inte vara satt till false (Windows, Mac, Linux). Den kräver omstart av webbläsaren. -
Disable3DAPIsfår inte vara satt till true. I Admin-konsolen heter den 3D content i gruppen Content. -
Gamla grafikdrivrutiner kan få Chrome att själv stänga av WebGL.
chrome://gpuvisar varför.
Lokal lagring eller service worker är blockerad
Spelet sparar i webbläsaren på varje dator (localStorage), och en service worker sparar de
hämtade filmerna i webbläsarens cache så att de inte behöver hämtas igen. Är lokala data
blockerade, till exempel med DefaultCookiesSetting = 2 (Do not allow any site to
set local data), startar spelet ändå, men det kan inte sparas till nästa gång, och filmerna
hämtas om varje gång. Tillåt lokala data för webbplatsen med CookiesAllowedForUrls =
[*.]maaneby.dk (i Admin-konsolen: Cookies i gruppen Content,
Allow cookies for URL patterns). Rensas webbläsardata vid utloggning försvinner
sparade spel också.
Spelet stannade under hämtningen
Felskärmen säger Till IT: tidsgrænse: ... (tidsgräns). Titelskärmen kom inte
inom en minut, och ingenting hämtades. Det beror oftast på ett filter eller en proxy som
håller tillbaka filerna (se webbfilter) eller ett mycket belastat nät
(se bandbredd).
Bandbredd
- Före första klicket hämtas ungefär 10 MB, varav 7,7 MB är motorn.
- En elev hämtar ungefär 70 MB från start till och med den första uppgiften. Varje ny uppgift är en film på 6 till 22 MB.
- Filerna ligger kvar i webbläsarens cache efteråt, så nästa gång på samma dator går det fortare.
Starta gärna spelet några minuter före lektionen och inte på 25 datorer i samma sekund. 25 elever samtidigt är runt 1,75 GB över skolans lina.
Integritet och säkerhet
- Gratis, utan inloggning och utan reklam.
- Webbplatsen samlar inte in några personuppgifter och har ingen spårning eller analysverktyg.
- Lokalt sparas bara spelets egna sparade spel och inställningar (språk) i webbläsaren, plus de hämtade filmerna i webbläsarens cache. Ingenting skickas tillbaka till servern.
- Webbplatsen är statisk och ligger hos Cloudflare (Cloudflare Pages).
- Spelet är originalet från 2005 och finns här med tillstånd från Bitfrost Interactive (om projektet).
Kontakt
Frågor från IT: skriv till [email protected]. Skicka gärna med raden Till IT från felskärmen, ett foto går bra.
Källor
- JavaScriptJitAllowedForSites och DefaultJavaScriptJitSetting (Chrome Enterprise)
- Set Chrome policies for users or browsers (Google, Admin-konsolen)
- Set Chrome browser policies on managed PCs (Google, grupprincip)
- Manage Chrome browser with Microsoft's Intune Import Administrative templates (Google)
- HardwareAccelerationModeEnabled, Disable3DAPIs, DefaultCookiesSetting, CookiesAllowedForUrls (Chrome Enterprise)
- JavaScriptJitAllowedForSites och EnhanceSecurityModeBypassListDomains (Microsoft Edge)