nitrog0d / palworld-arm64

Palworld Arm64 Dedicated server with Docker and FEX
100 stars 5 forks source link

Can't connect to server (USER ERROR FORGOT TO OPEN PORT) #7

Closed armuell closed 6 months ago

armuell commented 7 months ago

Hello,

I followed all the steps in the readme and I'm running into issues. I can't seem to connect to my server.

I'm running a 4core24gb Canonical Ubuntu 22.04 aarch64 oracle cloud free tier server.

Here is what it looks like when I run docker compose up:

ubuntu@generation-v2:~/pwserver$ docker compose up
[+] Running 2/2
 ✔ Network pwserver_default   Created                                                                              0.1s
 ✔ Container palworld-server  Created                                                                              0.1s
Attaching to palworld-server
palworld-server  | Checking for SteamCMD updates...
palworld-server  | Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
palworld-server  | ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
palworld-server  | [  0%] Checking for available update...
palworld-server  | [----] Downloading update (0 of 59782 KB)...
palworld-server  | [  0%] Downloading update (0 of 59782 KB)...
palworld-server  | [  0%] Downloading update (0 of 59782 KB)...
palworld-server  | [  0%] Downloading update (3543 of 59782 KB)...
palworld-server  | [  5%] Downloading update (7381 of 59782 KB)...
palworld-server  | [ 12%] Downloading update (9907 of 59782 KB)...
palworld-server  | [ 16%] Downloading update (12658 of 59782 KB)...
palworld-server  | [ 21%] Downloading update (15166 of 59782 KB)...
palworld-server  | [ 25%] Downloading update (17701 of 59782 KB)...
palworld-server  | [ 29%] Downloading update (20195 of 59782 KB)...
palworld-server  | [ 33%] Downloading update (22681 of 59782 KB)...
palworld-server  | [ 37%] Downloading update (25433 of 59782 KB)...
palworld-server  | [ 42%] Downloading update (27938 of 59782 KB)...
palworld-server  | [ 46%] Downloading update (30448 of 59782 KB)...
palworld-server  | [ 50%] Downloading update (32959 of 59782 KB)...
palworld-server  | [ 55%] Downloading update (35453 of 59782 KB)...
palworld-server  | [ 59%] Downloading update (37957 of 59782 KB)...
palworld-server  | [ 63%] Downloading update (40562 of 59782 KB)...
palworld-server  | [ 67%] Downloading update (42562 of 59782 KB)...
palworld-server  | [ 71%] Downloading update (43835 of 59782 KB)...
palworld-server  | [ 73%] Downloading update (45098 of 59782 KB)...
palworld-server  | [ 75%] Downloading update (46352 of 59782 KB)...
palworld-server  | [ 77%] Downloading update (47741 of 59782 KB)...
palworld-server  | [ 79%] Downloading update (48982 of 59782 KB)...
palworld-server  | [ 81%] Downloading update (50233 of 59782 KB)...
palworld-server  | [ 84%] Downloading update (51504 of 59782 KB)...
palworld-server  | [ 86%] Downloading update (52907 of 59782 KB)...
palworld-server  | [ 88%] Downloading update (54161 of 59782 KB)...
palworld-server  | [ 90%] Downloading update (55426 of 59782 KB)...
palworld-server  | [ 92%] Downloading update (56668 of 59782 KB)...
palworld-server  | [ 94%] Downloading update (57911 of 59782 KB)...
palworld-server  | [ 96%] Downloading update (59275 of 59782 KB)...
palworld-server  | [ 99%] Downloading update (59782 of 59782 KB)...
palworld-server  | [100%] Download Complete.
palworld-server  | [----] Applying update...
palworld-server  | [----] Extracting package...
palworld-server  | [----] Extracting package...
palworld-server  | [----] Extracting package...
palworld-server  | [----] Extracting package...
palworld-server  | [----] Installing update...
palworld-server  | [----] Installing update...
palworld-server  | [----] Installing update...
palworld-server  | [----] Installing update...
palworld-server  | [----] Installing update...
palworld-server  | [----] Installing update...
palworld-server  | [----] Installing update...
palworld-server  | [----] Installing update...
palworld-server  | [----] Cleaning up...
palworld-server  | [----] Update complete, launching...
palworld-server  | CWorkThreadPool::~CWorkThreadPool: work processing queue not empty: 6 items discarded.
palworld-server  | tid(27) burning pthread_key_t == 0 so we never use it
palworld-server  | Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
palworld-server  | Logging directory: '/home/steam/Steam/logs'
palworld-server  | /tmp/dumps insufficient permissions - delete and recreate
palworld-server  | [  0%] Checking for available updates...
palworld-server  | [----] Verifying installation...
palworld-server  | [  0%] Downloading update...
palworld-server  | [  0%] Checking for available updates...
palworld-server  | [----] Download complete.
palworld-server  | [----] Extracting package...
palworld-server  | [----] Extracting package...
palworld-server  | [----] Extracting package...
palworld-server  | [----] Extracting package...
palworld-server  | [----] Installing update...
palworld-server  | [----] Installing update...
palworld-server  | [----] Installing update...
palworld-server  | [----] Installing update...
palworld-server  | [----] Installing update...
palworld-server  | [----] Installing update...
palworld-server  | [----] Installing update...
palworld-server  | [----] Installing update...
palworld-server  | [----] Cleaning up...
palworld-server  | [----] Update complete, launching Steamcmd...
palworld-server  | tid(39) burning pthread_key_t == 0 so we never use it
palworld-server  | Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
palworld-server  | Logging directory: '/home/steam/Steam/logs'
palworld-server  | [  0%] Checking for available updates...
palworld-server  | [----] Verifying installation...
palworld-server  | Steam Console Client (c) Valve Corporation - version 1705108307
palworld-server  | -- type 'quit' to exit --
palworld-server  | Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
palworld-server  | OK
palworld-server  | Checking for updates... (Do not panic if it looks stuck)
palworld-server  | tid(62) burning pthread_key_t == 0 so we never use it
palworld-server  | Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
palworld-server  | Logging directory: '/home/steam/Steam/logs'
palworld-server  | [  0%] Checking for available updates...
palworld-server  | [----] Verifying installation...
palworld-server  | Steam Console Client (c) Valve Corporation - version 1705108307
palworld-server  | -- type 'quit' to exit --
palworld-server  | Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
palworld-server  | OK
palworld-server  |
palworld-server  | Connecting anonymously to Steam Public...OK
palworld-server  | Waiting for client config...OK
palworld-server  | Waiting for user info...OK
palworld-server  |  Update state (0x3) reconfiguring, progress: 0.00 (0 / 0)
palworld-server  |  Update state (0x5) verifying install, progress: 1.03 (23068672 / 2248053389)
palworld-server  |  Update state (0x5) verifying install, progress: 16.21 (364453534 / 2248053389)
palworld-server  |  Update state (0x5) verifying install, progress: 31.08 (698635692 / 2248053389)
palworld-server  |  Update state (0x5) verifying install, progress: 46.03 (1034848931 / 2248053389)
palworld-server  |  Update state (0x5) verifying install, progress: 60.95 (1370177600 / 2248053389)
palworld-server  |  Update state (0x5) verifying install, progress: 75.74 (1702741499 / 2248053389)
palworld-server  |  Update state (0x5) verifying install, progress: 90.84 (2042096411 / 2248053389)
palworld-server  | Success! App '2394010' fully installed.
palworld-server  | Starting server... You can safely ignore Steam errors! (Also the server has pretty much 0 logging, so just try connecting to it)
palworld-server  | dlopen failed trying to load:
palworld-server  | steamclient.so
palworld-server  | with error:
palworld-server  | steamclient.so: cannot open shared object file: No such file or directory
palworld-server  | [S_API] SteamAPI_Init(): Loaded '/home/steam/.steam/sdk64/steamclient.so' OK.  (First tried local 'steamclient.so')
palworld-server  | Shutdown handler: initalize.
palworld-server  | - Existing per-process limit (soft=1048576, hard=1048576) is enough for us (need only 1048576)
palworld-server  | Increasing per-process limit of core file size to infinity.
palworld-server  | - Existing per-process limit (soft=18446744073709551615, hard=18446744073709551615) is enough for us (need only 18446744073709551615)
palworld-server  | CAppInfoCacheReadFromDiskThread took 26 milliseconds to initialize
palworld-server  | Setting breakpad minidump AppID = 2394010
palworld-server  | [S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded.
palworld-server  | [S_API FAIL] Tried to access Steam interface SteamFriends017 before SteamAPI_Init succeeded.
palworld-server  | [S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded.
palworld-server  | [S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.

Here is my docker-compose.yml:

version: '3.9'
services:
    palworld-server:
          image: 'nitrog0d/palworld-arm64:latest'
          container_name: 'palworld-server'
          ports:
            - '8211:8211/udp'
          environment:
            - ALWAYS_UPDATE_ON_START=true
            - MULTITHREAD_ENABLED=true
            - COMMUNITY_SERVER=false
          restart: 'unless-stopped'
          volumes:
            - './palworld:/palworld'

Here is my PalWorldSettings.ini (i edited it to remove the ip of the server):

[/Script/Pal.PalGameWorldSettings]
OptionSettings=(
Difficulty=None,
DayTimeSpeedRate=1.000000,
NightTimeSpeedRate=1.000000,
ExpRate=1.000000,
PalCaptureRate=1.000000,
PalSpawnNumRate=1.000000,
PalDamageRateAttack=1.000000,
PalDamageRateDefense=1.000000,
PlayerDamageRateAttack=1.000000,
PlayerDamageRateDefense=1.000000,
PlayerStomachDecreaceRate=1.000000,
PlayerStaminaDecreaceRate=1.000000,
PlayerAutoHPRegeneRate=1.000000,
PlayerAutoHpRegeneRateInSleep=1.000000,
PalStomachDecreaceRate=1.000000,
PalStaminaDecreaceRate=1.000000,
PalAutoHPRegeneRate=1.000000,
PalAutoHpRegeneRateInSleep=1.000000,
BuildObjectDamageRate=1.000000,
BuildObjectDeteriorationDamageRate=1.000000,
CollectionDropRate=1.000000,
CollectionObjectHpRate=1.000000,
CollectionObjectRespawnSpeedRate=1.000000,
EnemyDropItemRate=1.000000,
DeathPenalty=All,
bEnablePlayerToPlayerDamage=False,
bEnableFriendlyFire=False,
bEnableInvaderEnemy=True,
bActiveUNKO=False,
bEnableAimAssistPad=True,
bEnableAimAssistKeyboard=False,
DropItemMaxNum=3000,
DropItemMaxNum_UNKO=100,
BaseCampMaxNum=128,
BaseCampWorkerMaxNum=15,
DropItemAliveMaxHours=1.000000,
bAutoResetGuildNoOnlinePlayers=False,
AutoResetGuildTimeNoOnlinePlayers=72.000000,
GuildPlayerMaxNum=20,
PalEggDefaultHatchingTime=72.000000,
WorkSpeedRate=1.000000,
bIsMultiplay=True,
bIsPvP=False,
bCanPickupOtherGuildDeathPenaltyDrop=False,
bEnableNonLoginPenalty=True,
bEnableFastTravel=True,
bIsStartLocationSelectByMap=True,
bExistPlayerAfterLogout=False,
bEnableDefenseOtherGuildPlayer=False,
CoopPlayerMaxNum=4,
ServerPlayerMaxNum=32,
ServerName="Mules Palworld BAYBEE",
ServerDescription="",
AdminPassword="",
ServerPassword="",
PublicPort=8211,
PublicIP="my.server.ip.here",
RCONEnabled=False,
RCONPort=25575,
Region="",
bUseAuth=True,
BanListURL="https://api.palworldgame.com/api/banlist.txt"
)

Not sure if those dlopen errors are normal or what I'm doing wrong, any help would be greatly appreciated

armuell commented 7 months ago

Alright I figured it out, I forgot to add an Ingress rule for udp port 8211 in the oracle cloud web interface. For anyone else in the same boat do the following:

  1. Go to https://cloud.oracle.com
  2. In the top left hamburger menu, click "Networking" on the left and select "Virtual Cloud Networking"
  3. Click the name of the VCN your instance is using
  4. Click "Security Lists" on the left under Resources
  5. Click the name "Default Security List for vcn-xxxxxxxx-xxxx"
  6. Click the button that says "Add Ingress Rules"
  7. Set "Source CIDR" to 0.0.0.0/0 Set IP Protocol to UDP and then Set "Destination Port Range" to 8211
  8. Click the "Add Ingress Rules" button at the bottom

I think you also need to open udp port 8211 in Ubuntu (via ssh command line) but I was lazy and opened all ports which I don't think you are suppose to do so I suggest googling how to do it the right way I guess? Thanks Rodelkoenig for pointing out this is not required.

@nitrog0d You might want to considering adding a reminder for the above in the readme (additional linking to the default server config file or a slightly modified one that you would recommend would be helpful as well, here is the default I think: https://palworldforum.com/t/palworld-server-settings/91)

Rodelkoenig commented 7 months ago

@armuell actually had exactly the same process yesterday with my Oracle VM.

Adding the ingress rule was enough for me to be able to connect to my server. No need for any additional port opening on terminal.