JoeJoeTV / AstroTuxLauncher

Launcher and management utility for running an Astroneer Dedicated Server on Linux using WINE
GNU General Public License v3.0
23 stars 4 forks source link

Error when install into default directory #9

Closed ChidaoDouyu closed 3 weeks ago

ChidaoDouyu commented 3 weeks ago

Code:

$ python3 AstroTuxLauncher.py install
/usr/lib/python3/dist-packages/requests/__init__.py:87: RequestsDependencyWarning: urllib3 (1.26.5) or chardet (5.1.0) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "

    ___         __           ______          
   /   |  _____/ /__________/_  __/_  ___  __
  / /| | / ___/ __/ ___/ __ \/ / / / / / |/_/
 / ___ |(__  ) /_/ /  / /_/ / / / /_/ />  <  
/_/  |_/____/\__/_/   \____/_/  \__,_/_/|_|  
               L a u n c h e r               

Unofficial Astroneer Dedicated Server Launcher for Linux
v1.1.8

[23:32:14] [Launcher/INFO] Configuration file path: /opt/AstroTuxLauncher/launcher.toml
[23:32:14] [Launcher/ERROR] Error while loading config file (TypeError): Object of type <enum 'EventType'> is not TOML serializable
[23:32:14] [Launcher/ERROR] Please check the config path parameter and/or config file
[23:32:14] [Launcher/INFO] Quitting...

p.s. sorry, it should be correct right now

Config:

[launcher]
AutoUpdateServer = true
CheckNetwork = true
OverwritePublicIP = false
LogDebugMessages = false
AstroServerPath = "./AstroneerServer"
WinePrefixPath = "./winepfx"
LogPath = "./logs"
PlayfabAPIInterval = 2
ServerStatusInterval = 3.0
DisableEncryption = true

[launcher.notifications]
method = "ntfy"
name = "Chidao_DouyuServer"

Environments:

x86_64 Debian11 wine-8.0 (Debian 8.0~repack-4) python3.11 Python Packages:

Sorry if I did anything wrong, I don't understand python and TOML a lot.

Requirement:

Thanks!

ChidaoDouyu commented 3 weeks ago

Thank you about all things! If there's no other problems I'll close this issue and delete chats unrelated to the topic. Hope you have a nice day!

ChidaoDouyu commented 3 weeks ago

I can't join the server. Connecting Failure to connect to server AstroServerSettings.ini Engine.ini

Is there any limit to the player to join the server? My steam name is Chinese.

JoeJoeTV commented 3 weeks ago

Limit is 8 people I believe. Setting the Max Count higher will not change anything.

For the connection problems: Whast does AstroTuxLauncher tell you?

ChidaoDouyu commented 3 weeks ago

It put out nothing. Silence as I didn't join in the server.

JoeJoeTV commented 3 weeks ago

Not as you joined the server. Did it mention any network issues when starting? Any warnings in the output?

ChidaoDouyu commented 3 weeks ago

There are 3 possible output about the port 7777.

[15:01:53] [Launcher/WARNING] The server can be reached locally, but not from outside of the local network
[15:01:53] [Launcher/WARNING] Make sure the Server Port (7777) is forwarded for UDP traffic
[15:15:33] [Launcher/WARNING] The Server is completely unreachable
[15:15:33] [Launcher/WARNING] Make sure the Server Port (7777) is forwarded for UDP traffic and check firewall settings

or

[15:06:51] [Launcher/INFO] Network configuration looks good

BUT my firewall config is correct. image

JoeJoeTV commented 3 weeks ago

did you also forward the ports in your router's settings? The server needs to be reachable poublically under the public IP and port you entered into the config files. Also, make sure NAT loopback/hairpinning/reflection (has many names) is enabled in your router's settings, or you won't be able to connect to the server from the same PC/network. Additionally, since this is running on Linux, you need to disable encryption on every client thatwants to connect to the server.

ChidaoDouyu commented 3 weeks ago

Umm, I'm trying to understand all you said. But...

  1. the linux server is from a Cloud Server Provider and it's not a separate machine. So I can't config the router of that.
  2. I also have a minecraft server on this server and it is reachable after I allow 25565 in the panel.
  3. As I know that NAT is also used to economize dedicated public IP? But my server has a public IP.
  4. I didn't find any settings about encryption in the client. Is that set in server-side config? I truly saw a config about client config. It is as default to enforce disable encryption. But I can't join the server. So I changed it to not enforce and test.
ChidaoDouyu commented 3 weeks ago

Also, the server is in the server center. So I always set it by Internet. Maybe I won't need to connect to it from the save network?

ChidaoDouyu commented 3 weeks ago

I abandoned. Thank you about reply.

JoeJoeTV commented 3 weeks ago

@ChidaoDouyu Sorry that I didn't respond sooner, I was not at home and couldn't answer.

  1. the linux server is from a Cloud Server Provider and it's not a separate machine. So I can't config the router of that.

Alright, I thought you hosted it locally on the same PC or in the same network. In that case, you just need the server's public IPv4 address (no IPv6 support sadly)

  1. As I know that NAT is also used to economize dedicated public IP? But my server has a public IP.

I did not mean NAT itself, but NAT loopback, which just means that requests to the public IP of the network are reflected back into the network. This is only required, if your game client is in the same network as your server.

  1. I didn't find any settings about encryption in the client. Is that set in server-side config? I truly saw a config about client config. It is as default to enforce disable encryption. But I can't join the server. So I changed it to not enforce and test.

If either the game client or the server is run using Wine on Linux, you will have to disable encryption on both the server and any client that wants to connect to the server because of something not currently working there. This is done using a config file and AstroTuxLauncher already handles this by default for the server (you need to keep it disabled).

For the client see the following guide:

Step 1: Stop the Game/Server if it is currently running

Step 2: Locate the Engine.ini config file

Step 3: Edit the Engine.ini config file

Open the Engine.ini config file in a text editor (On Windows you can simply use Notepad) and append the following text to the end of the file in a new line, ==if it is not already present==:

[SystemSettings]
net.AllowEncryption=False

If the text is already present in the config file, simply replace the False(disabled)/True(enabled) with the setting you want.

Then, save the file and close the text editor and folder you opened.

Step 4: Start the Game/Server

Now you should have successfully disabled encryption, and you can start your game/server to test it out.

Re-enabling Encryption

In case you want to re-enable encryption, because you want to play on a server that also has encryption enabled, simply re-open the Engine.ini config file and go to the lines you appended previously. Then, replace the False(disabled) with True(enabled).