GD - always close D2GS first as this will send the save signal. Then close in this order, D2CS -> D2DBS -> BNETD. That said, with your multi-d2gs setup, who knows how this will go and would require further investigation to see what happens if a user jumps GS.
We simply just load them as a service on Linux and restart/start/stop whenever it is required. It essentially just kills the process.
sudo service d2cs restart && sudo service d2dbs restart && sudo service bnetd restart
Owner of
SlashDiablo - One of the oldest and most well known Diablo II servers
Admin of
Resurgence - Vanilla++ mod
Co-Founder of
Hellforged - Diablo 09 built on 1.13 engine (current work in progress)
Founder of
Diablo2.org - Dedicated Discord server for PvPGN/D2GS questions