Skip to content
  • English
  • Polski
Digital Karabela
Digital Karabela
Primary Navigation Menu
Menu
  • Strona główna
  • Produkty
  • DevBlog
  • Castle Engine
  • Kurs bash
  • O firmie

Nowe wydanie Godota (3.0.6 i 2.1.5)

Godot logo (CC-BY 3.0)

Deserializacja danych za pomocą bytes2var() w poprzednich wersjach Godota miała kilka usterek umożliwiających wyciek danych lub zawieszenie silnika. Błąd dotyczy przede wszystkim obsługi sieci i zapisów stanu gry.

Główne okno Godot 3.0.6
Główne okno Godot 3.0.6

Problem został znaleziony przez Fabia Alessandrelli, który natrafił na przypadek tablicy zawieszającej silnik:

[python]
bytes2var(PoolByteArray([20, 0, 0, 0, 0, 0, 0, 255]))
[/python]

Po dalszych badaniach znalazł więcej podatności takich jak:

  • niepoprawne alokacje pamięci ze względu na porównywanie wartości bez znaku z wartościami ze znakiem;
  • potencjalne przepełnienie bufora;
  • ewentualny wyciek danych.

Najprostszym sposobem odtworzenia tego błędu jest uruchomienie skryptu, który uruchomi poniższy kod (GDscript):

[python]
bytes2var(PoolByteArray([20, 0, 0, 0, 0, 0, 0, 255]))
[/python]

Na githubie dostępny jest także projekt testowy.

Nowości

Wprowadzono nowy typ kompilacji Godota headless będący czymś pośrednim między zwykłą kompilacją, a wersją serwer. Wersja serwerowa z powodu optymalizacji została pozbawiona możliwości importowania asetów i eksportowania gry. Do tego celu należy użyć właśnie kompilacji headless (w przypadku tworzenia potoku ciągłej integracji).

OpenSSL został zaktualizowany do wersji 1.0.2o.

Inne poprawki

Wersja 3.0.6 wprowadza kolejne poprawki do eksperymentalnej obsługi skryptów w .NET (mono). Naprawiono także zdarzenia dotyku na platformie Windows i kilka innych błędów powodujących zawieszenie edytora silnika.

Pełna lista zmian dostępna jest tutaj.

Silnik można pobrać na stronie projektu.

 

2018-07-31
31 lipca, 2018
W Godot, Tworzenie gier
Tagi: godot, godotengine
Poprzedni wpis: Przenoszenie prostej gry z silnika Godot 2 do Godot 3
Następny wpis: Narzędzie budowania make – krótki tutorial

Wypróbuj moją nową grę! Zupełnie za darmo!

Logo Bricks Color Pick

Bricks Color Pick to zupełnie nowe podejscie do klasycznego arkanoida! Brak dolnej belki! Zasady gry są bardzo proste: Twoim zadaniem jest zmienianie koloru piłki na kolor cegły, z którą piłka się zderzy. Gdy kolor będzie taki sam cegła zostanie zniszczona, w przeciwnym wypadku stracisz życie.

Pobierz z Google Play

Zrzut ekranu pozimu 37/40 5-6 kolorów

Dodatkowo można zmienić kierunek ruchu piłki, przez co nie musimy czekać wieczność aż trafi w ostatni blok.

QR Code Google Play Bricks Color Pick

Zrzut ekranu poziom 62/80 (Tryb relaks)

Ostatnie wpisy

  • Jak skompilować bibliotekę OpenAL z Oboe dla systemu Android
  • Lazarus 2.0.12 wydany
  • Jak naprawić zamrażanie GUI LMMS w systemie Linux?
  • Jak zaktualizować wine do wersji 5.0.0 w Linux Mint 19 / Ubuntu 18
  • Agile Commander 1.2.3 wydany!

Kategorie

  • DevBlog
  • Linux
    • Kurs bash
    • Narzędzie WoeUSB
  • Programowanie
    • Język D (dlang)
      • Kontrolki DlangUI
    • Język Object Pascal
      • Lazarus (pl)
    • Narzędzie make
  • Promocja
  • Tworzenie gier
    • Castle Engine (pl)
    • Godot
  • Windows 10
    • Narzędzie WoeUSB

Produkty:
Agile Commander
Bricks Color Pick

 

 

Digital Karabela – Andrzej Kilijański
76-015 Wyszebórz 32, Poland
https://digitalkarabela.com
Kontakt
Polityka prywatności