No known bugs to date. I had problems hosting a linux dedi on WSL2. It works, but drops from the the steam multiplayer list of games after a while. So I tested hosting from Windows, no problems at all. I will spin up a VM and test from Ubuntu.
From Windows:
Here are all the commands you will need for a headless server on Windows.
1) download the .zip button on https://factorio.com/download site
2) make a new folder called headless, I put mine here: %appdata%\Factorio\headless
3) Unzipped factorio, you can run from your installed factorio but then you won't be able to run the game while hosting a dedi.
4) Add a folder for a specific game. In there I add a mod folder, a save file. Normal save files will be in your factorio\saves folder.
5) Create two batch files: start.bat, and latest.bat.
6) copy your server-settings.json file into this headless folder
7) I use full file paths, not relying on anything in the windows path or relative paths for start.bat:
"<path>\factorio" --mod-directory "<path>\modsFolder" --start-server "<path>\TheSaveGameYouWantToRun.zip" --server-settings "<Path>\Server-settings.json"
8) For latest.bat - example:
"%AppData%\Factorio\WindowsHeadless\Factorio_1.1.74\bin\x64\factorio" --mod-directory "%AppData%\Factorio\WindowsHeadless\mods" --start-server-load-latest --server-settings "%AppData%\Factorio\WindowsHeadless\server-settings-BNO.json"
I use a different mod folder than the one installed in the factorio\mods folder since I may want different mods for each dedi.
As you can see I install a second copy of Factorio in my Factorio\WindowsHeadless folder.
Note that Linux uses forward slash and Windows backslash. The server-settings file is the same one you run in linux.
For mods you can just copy the ones you want from "%AppData%\Factorio\mods" folder into "%AppData%\Factorio\WindowsHeadless\mods"
Access the help info from the factorio exe that you can also access by running factorio -h