Use better randomseed for Lua too

see e985b7a0bf

This solves a concrete issue with async workers generating the same
random numbers (as discovered in #14518).
This commit is contained in:
sfan5 2024-04-05 15:34:52 +02:00
parent ef0c19477c
commit f87994edc7
1 changed files with 9 additions and 1 deletions

View File

@ -26,7 +26,15 @@ do
core.print = nil -- don't pollute our namespace
end
end
math.randomseed(os.time())
do
-- Note that PUC Lua just calls srand() which is already initialized by C++,
-- but we don't want to rely on this implementation detail.
local seed = 1048576 * (os.time() % 1048576)
seed = seed + core.get_us_time() % 1048576
math.randomseed(seed)
end
minetest = core
-- Load other files