Server should be restarted on crash. Extra points if extension can remember number of times the server has crashed, stops restarting it after some threshold and displays a meaningful user message.
This is already handled by VSCode's lsp implementation. This is implicitely mentioned in vscode-languageserver-node:
3.5.0 Server and Client
allow the client to start the server in detached mode. If the server is running detached the client will not monitor the server process and kill it on shutdown.
Server should be restarted on crash. Extra points if extension can remember number of times the server has crashed, stops restarting it after some threshold and displays a meaningful user message.