What a battle...
So my server is showing up on the launcher now AND the mods are actually showing. This is a huge improvement from where I stood a week ago and I would like to point out a few things I did that ended up allowing the server to start and be seen by A3Launcher when running on a Linux server (ubuntu 16.04 specifically).
Starting with a fresh install, I used symlinks to a sibling directory of my Arma 3 install to make updating easier. This is optional, but will probably help in the long run
Ommit the "keys", "battleye", and "mpmissions" directory if going this route. Also, copy the arma3server file rather than linking it.
I have read that linux servers require the mod names be lowercase, however using the standard camel case naming worked for me. For consistency, I recommend you do the same.
In your start command, do not use any quotations. Instead, use a backslash before the semi-colon to prevent it from terminating the command before it is supposed to. This is my example start command that worked for me.
./arma3server [email protected]/basic.cfg [email protected]/config.cfg -autoinit [email protected]\; [email protected]\; >> serverlog.rpt
I'm not sure if the order of options in the start command is important, however the server could not be queried by a3launcher when the -autoinit was after the -mod and -servermod options. For consistency, I would recommend you keep them in this order.
As always, make sure your ports are open on your router, and if you are using iptables on your machine, you can open the ports with the following command
iptables -I INPUT 1 -p tcp -m multiport --dports 2300:2310 -j ACCEPT
This will open ports 2300 to 2310 on your machine and insert this as the first rule in your chain. If you have a more complex setup, you may want to adjust these to your configuration.
If anyone else has issues running an arma server on linux, I'd be more than happy to assist.
If anyone notices something blatantly wrong in this post, please correct me. I'm no expert on arma server hosting but I'm learning the ropes.