Skip to content

bugfix: Принудительное удаление мира в конце раунда в режиме выключения Dreamdaemon при рестарте#9366

Open
Vladisvell wants to merge 17 commits into
ss220-space:master220from
Vladisvell:bugfix/world-end

Conversation

@Vladisvell

@Vladisvell Vladisvell commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

Что этот ПР делает

Добавляет возможность принудительно закрывать инстанс DreamDaemon/DreamSeeker при выключении сервера в обход игровой логики.

Почему это хорошо для игры

Принудительное закрывание средствами Windows/Linux позволяет управлять выключениями/рестартами сервера даже если удаление мира столкнулось с ошибкой.

Список изменений

🆑
bugfix: Добавлена возможность принудительного отключения мира через средства Windows/Linux при рестарте
/:cl:

@github-actions github-actions Bot added the Fix PR содержит исправления ошибок. label Jun 12, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new helper procedure TerminateWorld() to handle guaranteed world shutdown and replaces direct del(world) calls with it. It also ensures world.sleep_offline is explicitly set to FALSE if offline sleeping is disabled after initializations. A critical issue was identified in TerminateWorld() where a synchronous infinite loop blocks the calling thread, preventing subsequent shutdown processes (like TgsEndProcess()) from executing. It is recommended to make the procedure asynchronous using set waitfor = FALSE and to remove a redundant variable assignment.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread code/game/world.dm Outdated
@github-actions github-actions Bot added the Изменение конфига PR изменяет конфигурационные файлы сервера или клиента. label Jun 14, 2026
@Vladisvell Vladisvell requested a review from Bizzonium as a code owner June 14, 2026 14:44
@Vladisvell Vladisvell changed the title bugfix: Гарантированное удаление мира в конце раунда в режиме выключения Dreamdaemon при рестарте bugfix: Принудительное удаление мира в конце раунда в режиме выключения Dreamdaemon при рестарте Jun 14, 2026
@github-actions github-actions Bot added the Merge Conflict PR содержит изменения, конфликтующие с master-веткой. label Jun 18, 2026
@github-actions github-actions Bot added Merge Conflict PR содержит изменения, конфликтующие с master-веткой. and removed Merge Conflict PR содержит изменения, конфликтующие с master-веткой. labels Jun 18, 2026
@github-actions github-actions Bot added Merge Conflict PR содержит изменения, конфликтующие с master-веткой. and removed Merge Conflict PR содержит изменения, конфликтующие с master-веткой. labels Jun 18, 2026
@dageavtobusnick dageavtobusnick added Testmerge PR в данный момент проходит тестирование на серверах. Testmerge Candidate PR скоро будет в тестмёрже. labels Jun 18, 2026
github-actions Bot pushed a commit that referenced this pull request Jun 19, 2026
github-actions Bot pushed a commit that referenced this pull request Jun 21, 2026
github-actions Bot pushed a commit that referenced this pull request Jun 22, 2026
Comment thread code/game/world.dm
Comment on lines 355 to +357
/world/Del()
PrepareShutdown()
..()

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/world/Del()
PrepareShutdown()
..()
/world/Del()
PrepareShutdown()
return ..()

github-actions Bot pushed a commit that referenced this pull request Jun 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Fix PR содержит исправления ошибок. Testmerge Candidate PR скоро будет в тестмёрже. Testmerge PR в данный момент проходит тестирование на серверах. Изменение конфига PR изменяет конфигурационные файлы сервера или клиента.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants