General FreeSpace > Multiplayer
Is a dedicated server possible ?
shodan:
Hi,
I'd like to setup a VM or LXC with a ready to go server
Something one click to start the first and second campaign in co-op with no fuss or errors
Something that will "just work"
Has anyone done such a thing ?
If so, how do you control this server (such as changing the map and seeing the map list etc.. basic dedi server commands)
taylor:
If you want it headless then it's a pretty manual process at the moment, both installing and updating, since there is no Knossos CLI client so you have to do things by hand. But it's quick and easily to bring up and down otherwise. For my Linux standalones on an Ubuntu VPS I just have a systemd unit file for each game to easily stop, start, and restart them.
I have a long term goal of making that a super simple process, since it directly affects me, but it's a long term goal. I can give some more detailed steps that I go through to install/update my servers and send you my systemd unit and multi.cfg files if it would be helpful.
But if you don't need it headless then just use Knossos.NET, go to the Multiplayer tab, and click the "Standalone Server Creator" button at the bottom then select the mod you want to play and the settings you want. Plus you still have the option of starting/stopping it outside of Knossos.NET, and just using Knossos.NET to install the mods/builds and keep things up to date. You can easily create a shortcut/systemd file to launch the standalone.
You don't need to do much to control or maintain it once it's running. There isn't much to control on the "server" part, which is all a standalone is in this case. The first client that connects to the server becomes the "host" and is the one that chooses the main settings, picks the level/map to play, kicks other players, etc.. Anyone else that connects is a standard "client" and is basically just along for the ride.
On Windows there is a standalone GUI for basic control and monitoring of the server. On Linux/Mac there is a web interface, though I personally just don't bother with it. However in either case you don't technically need to use it.
One note, if you set a password on your server (with Knossos.NET or manually with a multi.cfg file), it applies only to the host. That way you can restrict who the host is on your server as the first person to connect (and become host) must know the password. All of the clients connecting after that don't need to know the server password. However the host can also set a different type of password when they join the server, and in that case the clients would need to know what it is to connect.
I don't know if any of that would really fall into the category of "just work". But once you've overcome that initial hurdle of installation and basic setup, it really is easy to stop and start the server as you like and not really be forced to manage anything once it's running.
shodan:
Thanks for the guidance
My current goal is now to how a Freespace 1 & 2 back-to-back co-op playthrough for my next LAN party.
I started with two windows computer, each running knossos
I tried in multiplayer local mode (not pxo) to have one start FS1 COOP UP and the other join it.
They can't see each other, no matter which is server.
I made sure the executable is set to allow both private and public networks on both computers, still no go
Then I logged both of them into PXO, both tried to start a server, the other couldn't join.
I have forwarded UDP port 7808 to one and then the other. Sometimes the firewall probe succeed, often it fails I don't get why it is not reliable
I also so notice that sometimes in PXO mode, I cannot type text into the messagebox , see screenshot
I also started a ubuntu VM, downloaded knossos on it and tried to start a standalone server
I get this error when I press launch
"/tmp/.mount_fs2_opzkfWkh/bin/fs2_open_24_2 error while loading shared libraries: libopenal.so.1: cannot open shared object file: No such file or directory"
I think for the server I would like to make a plain debian headless server run the standalone server but I see I am far from reaching that !
Is there a way to know what is the full command line that the standalone server creator is trying to run ?
thanks !
taylor:
--- Quote from: shodan on December 04, 2024, 04:22:44 am ---Thanks for the guidance
My current goal is now to how a Freespace 1 & 2 back-to-back co-op playthrough for my next LAN party.
I started with two windows computer, each running knossos
I tried in multiplayer local mode (not pxo) to have one start FS1 COOP UP and the other join it.
They can't see each other, no matter which is server.
I made sure the executable is set to allow both private and public networks on both computers, still no go
--- End quote ---
For LAN games it uses mDNS to advertise server availability. This worked great in testing on multiple networks, however many people have had trouble with the games not being visible and I have so far been unable to figure out why.
A workaround is to manually give each client machine the address of a server to check for thereby forcing it to try a specific connection rather than relying on the mDNS advertisement. You can do this in two ways: 1) on the in-game the multi options screen for each client, click the Add button in the IP Address section on the left, or 2) create a text file named tcp.cfg with the address or addresses of the servers you want and copy it to each of the clients.
The tcp.cfg file is just plain text with one IP address and port per line. So if you had 3 possible machines running a server (even if they aren't all running at the same time) you could have a file that looks like this:
--- Code: ---192.168.1.10:7808
192.168.1.15:7808
192.168.1.25:7808
--- End code ---
And once you've got the file you can simply copy it to each of the clients, putting it in the "data" directory for the game.
--- Quote ---Then I logged both of them into PXO, both tried to start a server, the other couldn't join.
I have forwarded UDP port 7808 to one and then the other. Sometimes the firewall probe succeed, often it fails I don't get why it is not reliable
--- End quote ---
The firewall probe can actually fail several times and then start working. It keeps trying in regular intervals. I recommend waiting 4-5 minutes after the server is created on PXO before trying to connect from a client. If the failure was temporary then it should work itself out within that time period. If it still doesn't work after the wait then it probably isn't going to, even though PXO will keep trying.
Although for your LAN party I would definitely suggest avoiding the use of PXO unless you have no other way of connecting everyone.
--- Quote ---I also so notice that sometimes in PXO mode, I cannot type text into the messagebox , see screenshot
--- End quote ---
This is a known bug I'm afraid and we haven't worked up a proper solution yet. The issue is that after the PXO lobby screen is created you might sometimes be presented with a popup which takes text input. When that popup closes it disables text input and you're prevented from typing anything in the chat window. The only fix at the moment is to go to another screen, like the server list, and then pack to the lobby screen. Hopefully the troublesome popup isn't shown again and you can chat normally once again.
--- Quote ---I get this error when I press launch
"/tmp/.mount_fs2_opzkfWkh/bin/fs2_open_24_2 error while loading shared libraries: libopenal.so.1: cannot open shared object file: No such file or directory"
--- End quote ---
Yeah, sorry, this is a packaging glitch. That library is supposed to be included in the AppImage but it appears that the mechanism to do so isn't enabled in the official builds.
Make sure that the "libopenal1" package is installed via apt and hopefully it should start working.
--- Quote ---Is there a way to know what is the full command line that the standalone server creator is trying to run ?
--- End quote ---
Knossos.NET should use the command line that which ever mod you've selected has set (just like single player), but with the addition of the "-standalone" option which puts it in server mode. If you specify a port number then it will also add the "-port <num>" option. The Debug tab in Knossos.NET should log the full set of command line options that gets used.
The other options in that server creator window are used to populate the multi.cfg file. For a LAN game I recommend making sure that the PXO box is not checked, and in the "Extra options" box enter "+lan_update", which will make sure you have max network performance on the LAN games.
And that multi.cfg is also one that you can pre-populate and copy to your client machines along with the previously mentioned tcp.cfg. Some of the options apply to both servers and clients, and the server options will be ignored on clients so it's safe to include them.
shodan:
Thanks for your patience
I wrote a detailed response, but server ate my message :(
I am out of time before bed time, so I will be brief
fixed the mdns issue, but turning off all network adapters (usb network to my monitor, virtualbox virtual network, two zero tier adapters), now all 3 computers can see LAN servers
sudo apt install -y libopenal1 | fixed the library issue
I tried a 3 way game with ubuntu VM as server
It ran but stuttering and desync then crash, probably due to software 3d rendering
will -standalone still try to render ?
does -standalone require all game assets ?
When starting the game, server got a popup "ONE OR MORE PLAYERS HAS HACKED DATA FILES"
Each client also saw PILOTNAME HAS HACKED TABLES/DATA for all 3 other pilots
When I used standalone server creator on linux, seemingly nothing happenned, however the process was running (but could not be found by the client) It was unclear if the server had started or not, visually
What is the LOCK button for ? I could not change ship or loadout until it was pressed, this was confusing for a while
Lastly I tried running the standalone server manually with the command
./bin/FSO-24.2.0/linux/fs2_open_24_2_0_x64.AppImage -parse_cmdline_only -standalone -mod fs1coopup-1.1.1,fsport-mediavps-4.7.2,fsport-3.7.3,MVPS-4.7.3
This failed with message
Aborted (core dumped)
and what are
fsport-mediavps-4.7.2,
fsport-3.7.3,
MVPS-4.7.3
Are some of these redundant ?
How much of these assets are required for a standalone server ?
Thanks !
Navigation
[0] Message Index
[#] Next page
Go to full version