futurebeat.pl NEWSROOM Przez 25 lat nikt tego nie zauważył. Dopiero aktualizacja Windowsa 11 ujawniła błąd w tej kultowej grze Przez 25 lat nikt tego nie zauważył. Dopiero aktualizacja Windowsa 11 ujawniła błąd w tej kultowej grze Najnowsze aktualizacje systemów operacyjnych potrafią niekiedy ujawnić ukryte od dawna wady w starszym oprogramowaniu. Przekonali się o tym fani kultowej strategii Sid Meier's Alpha Centauri, której dodatek zaczął ulegać awarii po instalacji nowej wersji Windows 11. gamingKrystian Łukasik4 czerwca 2025 1 Źrodło fot. WifieandHubster | YouTube / Sid Meier's Alpha Centaurii Spis treści:Tajemnicze awarie w klasyku sci-fiDochodzenie w skompilowanym kodzieStworzenie łatki i szerszy kontekst problemu Czasem bywa, że gry sprzed dekad wciąż gromadzą wokół siebie wierne grono fanów. Czasami jednak przejście ze starego oprogramowania na najnowszy systemem operacyjny prowadzi do nieoczekiwanych problemów. Tak właśnie stało się w przypadku tytułu Sid Meier's Alpha Centauri, a konkretnie jego dodatku Alien Crossfire, gdzie aktualizacja Windows 11 24H2 ujawniła błąd, który pozostawał ukryty przez ćwierć wieku. Tajemnicze awarie w klasyku sci-fiSid Meier's Alpha Centauri to strategiczna gra turowa z końca lat 90., która do dziś cieszy się statusem kultowej. Dostępna na platformach takich jak GOG, objęta jest programem gwarantującym jej działanie na współczesnych komputerach. Jednak pod koniec 2024 roku gracze, którzy zaktualizowali system do Windows 11 24H2, zaczęli masowo zgłaszać problemy. Awarie dotyczyły wyłącznie dodatku Alien Crossfire i objawiały się na różne sposoby – od komunikatów o błędach, przez natychmiastowe podniesienie się poziomu mórz w grze, aż po całkowite zawieszaenie się programu tuż po rozpoczęciu rozgrywki. Sprawą zainteresował się youtuber Nathan Baggs, który postanowił zbadać źródło problemu. Dochodzenie w skompilowanym kodzieAnaliza okazała się niezwykle skomplikowana, ponieważ wymagała pracy na skompilowanym kodzie, bez dostępu do jego źródła. Nathan Baggs, porównując działanie tgrytułu na Windows 10 i 11, odkrył, że kluczowe różnice pojawiają się w momencie automatycznego zapisu stanu gry. Na nowszym systemie plik zapisu był nienaturalnie duży i wypełniony losowymi danymi, co prowadziło do awarii. Śledztwo doprowadziło go do fragmentu kodu odpowiedzialnego za operacje na plikach. Okazało się, że gra w pewnym momencie podejmuje decyzję na podstawie wartości znajdującej się w pamięci podręcznej – tyle że ta wartość nigdy nie została celowo zainicjalizowana przez programistów. Przez 25 lat gra po prostu „miała szczęście”. Pamięć w tym konkretnym miejscu – będąca pozostałością po wcześniejszych operacjach – przypadkowo miała wartość, która sprawiała, że wadliwy fragment kodu nigdy nie był uruchamiany. Zmieniła to jednak aktualizacja Windows 11 24H2, modyfikując wewnętrzne działanie funkcji systemowej LeaveCriticalSection. Ta, kończąc swoje działanie, zaczęła nadpisywać wspomniany fragment pamięci inną wartością. W efekcie gra zaczęła uruchamiać ścieżkę kodu, która nigdy nie miała prawa działać poprawnie – a to nieuchronnie prowadziło do awarii. Jak podkreśla autor wideo, wina leży po stronie gry, a nie systemu operacyjnego. Żeby było jasne, to jest błąd w grze, a nie w Windowsie. Microsoft ma swobodę zmiany wewnętrznej implementacji dowolnej ze swoich funkcji, kiedy tylko zechce, a aplikacje nie powinny polegać na wartości niezainicjowanej pamięci. Stworzenie łatki i szerszy kontekst problemuPo zidentyfikowaniu przyczyny Nathan stworzył łatkę, która naprawiała błąd. Co ciekawe, jego pierwsza próba okazała się zbyt powierzchowna i gra zawieszała się na dalszym etapie. Dopiero druga, bardziej radykalna poprawka, polegająca na całkowitym wyłączeniu wadliwego fragmentu kodu, przyniosła pożądany efekt. Swoją pracę udostępnił w formie prostego narzędzia na GitHubie. Warto zaznaczyć, że społeczność graczy już wcześniej opracowała własną modyfikację, która również rozwiązuje ten problem. Jednak praca wykonana przez Nathan'a jest cenną alternatywą dla osób pragnących grać w „czystą”, niezmienioną wersję gry. Co również ciekawe, Alpha Centauri nie jest jedyną ofiarą tej konkretnej aktualizacji Windows 11. Identyczna przyczyna – poleganie na niezainicjowanej pamięci, której stan został zmieniony przez funkcję LeaveCriticalSection – spowodowała błędy także w innej kultowej produkcji, Grand Theft Auto: San Andreas. POWIĄZANE TEMATY: gaming Windows 11 patche i aktualizacje Krystian Łukasik Krystian Łukasik Zawodowo skupia się na pisaniu wiadomości ze świata elektroniki oraz tłumaczeń opisów i instrukcji produktów specjalistycznych. Pasja do nowoczesnych technologii komputerowych oraz gamingu pozwala mu być ciągle na bieżąco z ewoluującymi trendami w tych dziedzinach. Jego zamiłowanie do języka angielskiego stało się fundamentem decyzji o podjęciu i ukończeniu studiów z filologii angielskiej. Premiera AMD Radeon RX 9060 XT w polskich sklepach. Co z dostępnością? Premiera AMD Radeon RX 9060 XT w polskich sklepach. Co z dostępnością? Brak OLED-a boli, ale ekran Switcha 2 pozytywnie zaskakuje. Porównanie wyświetlaczy konsol Nintendo Brak OLED-a boli, ale ekran Switcha 2 pozytywnie zaskakuje. Porównanie wyświetlaczy konsol Nintendo To już nie jest zabawka; Switch 2 zaskoczył mnie jakością. Unboxing, pierwsze uruchomienie i nasze wrażenia To już nie jest zabawka; Switch 2 zaskoczył mnie jakością. Unboxing, pierwsze uruchomienie i nasze wrażenia Sprawdziliśmy, co potrafi Switch 2 w boju. Cyberpunk 2077 i The Legend of Zelda: Tears of the Kingdom na nowej konsoli Nintendo Sprawdziliśmy, co potrafi Switch 2 w boju. Cyberpunk 2077 i The Legend of Zelda: Tears of the Kingdom na nowej konsoli Nintendo Najnowsza aktualizacja oprogramowania PS5 najwyraźniej rozwiązała problem z VRR, tylko dlaczego po cichu? Najnowsza aktualizacja oprogramowania PS5 najwyraźniej rozwiązała problem z VRR, tylko dlaczego po cichu?