Jump to content

Help me please with Ark dedicated server on linux.


DragoKing

Recommended Posts

Help me please with Ark dedicated server on linux.

Hello guys. I ran into a problem, cannot start the server. I did everything according to the instructions. the process starts, but, the process reserves only one port 27015. and freezes. No logs, nothing. I tried everything that is possible and everything that is impossible, and did not get the result. What could be the problem, and whether the server has advanced logging options in the console or debug mode.

What i have.

Launch scrypt 
#! /bin/bash
cd /home/gus21rus/arksrv/server/ShooterGame/Binaries/Linux/
./ShooterGameServer Valguero_P?listen?SessionName=MyArk?ServerPassword=?GameModIDs=842913750,633215081,821530042,807201415,731604991,1136125765?ServerAdminPassword=EncryptedPswd -ForceAllowCaveFlyers -lowmemory -server -log -servergamelog

 

Console output
:~/arksrv$ sh arkstart.sh
Using binned.
4.5.1-0+UE4 7038 3077 404 10
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 346110

 

image.thumb.png.3ba531659e1afa8bcae7950ccda64760.png

And that's all. The server can wait for hours in this state.

Where could the problem be? Thanks.

Link to comment
Share on other sites

I was able to reach the point where the server started the game. the server indicates that the server is not responding. although a search by address indicates the presence of an ark server.

image.thumb.png.caf971626bf48df65d599a52c63848e7.png

but after add to fav i see next:

image.thumb.png.19aeabdb2cb86a3a6eab2b952009959a.png

translate : not responding.

 

ufw status verbose - output
Состояние: активен   (State:Active)
Журналирование: on (low) (logging)
Default: deny (incoming), allow (outgoing), disabled (routed)
Новые профили: skip (new profiles)

В                          Действие    Из
-                          --------    --
28015                      ALLOW IN    Anywhere
28016                      ALLOW IN    Anywhere
80                         ALLOW IN    Anywhere
22                         ALLOW IN    Anywhere
445                        ALLOW IN    Anywhere
137                        ALLOW IN    Anywhere
138                        ALLOW IN    Anywhere
139                        ALLOW IN    Anywhere
25580                      ALLOW IN    Anywhere
28018                      ALLOW IN    Anywhere
5900                       ALLOW IN    Anywhere
7777                       ALLOW IN    Anywhere
27015:27020/udp            ALLOW IN    Anywhere
37015:37020/udp            ALLOW IN    Anywhere
27020:27050/udp            ALLOW IN    Anywhere
27020:27050/tcp            ALLOW IN    Anywhere
7777:7790/udp              ALLOW IN    Anywhere
27016                      ALLOW IN    Anywhere
27016/tcp                  ALLOW IN    Anywhere
27016/udp                  ALLOW IN    Anywhere
27015/tcp                  ALLOW IN    Anywhere
27015/udp                  ALLOW IN    Anywhere
7777/udp                   ALLOW IN    Anywhere
7777/tcp                   ALLOW IN    Anywhere
7778/udp                   ALLOW IN    Anywhere
7778/tcp                   ALLOW IN    Anywhere
27020/tcp                  ALLOW IN    Anywhere
27030/udp                  ALLOW IN    Anywhere
27030/tcp                  ALLOW IN    Anywhere
7779/udp                   ALLOW IN    Anywhere
7779/tcp                   ALLOW IN    Anywhere
7776/udp                   ALLOW IN    Anywhere
7776/tcp                   ALLOW IN    Anywhere
7780/udp                   ALLOW IN    Anywhere
7780/tcp                   ALLOW IN    Anywhere
28015 (v6)                 ALLOW IN    Anywhere (v6)
28016 (v6)                 ALLOW IN    Anywhere (v6)
80 (v6)                    ALLOW IN    Anywhere (v6)
22 (v6)                    ALLOW IN    Anywhere (v6)
445 (v6)                   ALLOW IN    Anywhere (v6)
137 (v6)                   ALLOW IN    Anywhere (v6)
138 (v6)                   ALLOW IN    Anywhere (v6)
139 (v6)                   ALLOW IN    Anywhere (v6)
25580 (v6)                 ALLOW IN    Anywhere (v6)
28018 (v6)                 ALLOW IN    Anywhere (v6)
5900 (v6)                  ALLOW IN    Anywhere (v6)
7777 (v6)                  ALLOW IN    Anywhere (v6)
27015:27020/udp (v6)       ALLOW IN    Anywhere (v6)
37015:37020/udp (v6)       ALLOW IN    Anywhere (v6)
27020:27050/udp (v6)       ALLOW IN    Anywhere (v6)
27020:27050/tcp (v6)       ALLOW IN    Anywhere (v6)
7777:7790/udp (v6)         ALLOW IN    Anywhere (v6)
27016 (v6)                 ALLOW IN    Anywhere (v6)
27016/tcp (v6)             ALLOW IN    Anywhere (v6)
27016/udp (v6)             ALLOW IN    Anywhere (v6)
27015/tcp (v6)             ALLOW IN    Anywhere (v6)
27015/udp (v6)             ALLOW IN    Anywhere (v6)
7777/udp (v6)              ALLOW IN    Anywhere (v6)
7777/tcp (v6)              ALLOW IN    Anywhere (v6)
7778/udp (v6)              ALLOW IN    Anywhere (v6)
7778/tcp (v6)              ALLOW IN    Anywhere (v6)
27020/tcp (v6)             ALLOW IN    Anywhere (v6)
27030/udp (v6)             ALLOW IN    Anywhere (v6)
27030/tcp (v6)             ALLOW IN    Anywhere (v6)
7779/udp (v6)              ALLOW IN    Anywhere (v6)
7779/tcp (v6)              ALLOW IN    Anywhere (v6)
7776/udp (v6)              ALLOW IN    Anywhere (v6)
7776/tcp (v6)              ALLOW IN    Anywhere (v6)
7780/udp (v6)              ALLOW IN    Anywhere (v6)
7780/tcp (v6)              ALLOW IN    Anywhere (v6)

and

sudo netstat -tulpen

image.thumb.png.6c4f1451e2b181cfbcf85238ecd86722.png

 

but it dosent's work. im lost all day on this. and i can't find solution. Help please guys.

Link to comment
Share on other sites

@DragoKing Define your ports in your command line

Launch scrypt 
#! /bin/bash
cd /home/gus21rus/arksrv/server/ShooterGame/Binaries/Linux/
./ShooterGameServer Valguero_P?listen?SessionName=MyArk?Port=7777?QueryPort=27015?ServerPassword=?GameModIDs=842913750,633215081,821530042,807201415,731604991,1136125765?ServerAdminPassword=EncryptedPswd -ForceAllowCaveFlyers -lowmemory -server -log -servergamelog

If you were to define the above ports, you will need to make sure the following is open on the firewall:

7777/udp
7778/udp
27015/udp

If your last screen, it says it's listening on 7780 but both 7780 and 7781 are not listed on your iptables.

Link to comment
Share on other sites

5 hours ago, Zhandroid said:

@DragoKing Define your ports in your command line


Launch scrypt 
#! /bin/bash
cd /home/gus21rus/arksrv/server/ShooterGame/Binaries/Linux/
./ShooterGameServer Valguero_P?listen?SessionName=MyArk?Port=7777?QueryPort=27015?ServerPassword=?GameModIDs=842913750,633215081,821530042,807201415,731604991,1136125765?ServerAdminPassword=EncryptedPswd -ForceAllowCaveFlyers -lowmemory -server -log -servergamelog

If you were to define the above ports, you will need to make sure the following is open on the firewall:

7777/udp
7778/udp
27015/udp

If your last screen, it says it's listening on 7780 but both 7780 and 7781 are not listed on your iptables.

this is all opened.

DMZ turned off ports routed manuality.

image.thumb.png.a84ff2c91d5a15bf3153912ea660027f.png

now 2 ports opened 27015 and 7778 (7777 is closed anyway)
now i started raw (fresh) server no mods or etc with command:
 

./ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?QueryPort=27015?Port=7777?SessionName=Testing?Listen?MaxPlayers=10 -server -log

and i can find server on steam servers. and sever updating sucefull (latency changed) but i try to click connect button. the server should also be updated in the next window.

image.thumb.png.ab82fe021ede6f857b5ff68783bc10be.png

server is not responding.

                      ALLOW IN    Anywhere
27016/tcp                  ALLOW IN    Anywhere
27016/udp                  ALLOW IN    Anywhere
27015/tcp                  ALLOW IN    Anywhere
27015/udp                  ALLOW IN    Anywhere
7777/udp                   ALLOW IN    Anywhere
7777/tcp                   ALLOW IN    Anywhere
7778/udp                   ALLOW IN    Anywhere
7778/tcp                   ALLOW IN    Anywhere
27020/tcp                  ALLOW IN    Anywhere
27030/udp                  ALLOW IN    Anywhere
27030/tcp                  ALLOW IN    Anywhere
7779/udp                   ALLOW IN    Anywhere
7779/tcp                   ALLOW IN    Anywhere
7776/udp                   ALLOW IN    Anywhere
7776/tcp                   ALLOW IN    Anywhere
7780/udp                   ALLOW IN    Anywhere
7780/tcp                   ALLOW IN    Anywhere
28015 (v6)                 ALLOW IN    Anywhere (v6)
28016 (v6)                 ALLOW IN    Anywhere (v6)
80 (v6)                    ALLOW IN    Anywhere (v6)
22 (v6)                    ALLOW IN    Anywhere (v6)
445 (v6)                   ALLOW IN    Anywhere (v6)
137 (v6)                   ALLOW IN    Anywhere (v6)
138 (v6)                   ALLOW IN    Anywhere (v6)

its all ports is opened. 7777 udp tcp. i dont know what need to do. now i try make socket on C++ and make echo sever. Will my socket start and will it work? I will check all possible ports.

offtopic:

I'd like to say a few words to the wildcard studios. I bought your game a license in the incentive, and you do this to customers by limiting their support in the official community in the form of: 4 posts per day. This is outrageous and makes you wonder if you should buy your games and DLC in the future. if you have such an attitude towards customers.

Link to comment
Share on other sites

Guys. i writed small porttester for ubuntu. ALL ports is passed test.

image.thumb.png.d73005d95ccebe0169e099b884f5612d.png

#include <iostream>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

#include <cstdio>
#include <errno.h>

#include <unistd.h>
#include <fcntl.h>

#include <sys/time.h>

using namespace std;

unsigned int testPorts[]= {27015,27016,27017,27018,27019,27020,7777,7778,7779,7780,7781};
char mode=0;  // 0 - server // 1 - socket.
const char address[]="176.193.71.247";
const char sendString[] = "ARK's port is alive!";
const unsigned int portsCount = (sizeof(testPorts)/4);
int socks[portsCount];

int sockMax()
{
    int maxFd=0;
    for(int i=0; i < portsCount; i++)
        if(maxFd<socks[i])
            maxFd=socks[i];
    return maxFd;
}

socklen_t *uintToSocklen(unsigned int x)
{
    static socklen_t val=(socklen_t)x;
    return &val;
}

int main()
{
    struct sockaddr_in addr[portsCount];
    fd_set serverRecvFd;
    FD_ZERO(&serverRecvFd);
    memset(&addr,0,(sizeof(addr)*portsCount));
    cout<<"Set mode: 0 server / 1 client :";
    cin>>mode; mode = mode-48; cout<<endl;
    cout<<"Initalizing sockets... ";
    for(int i = 0; i<portsCount; i++)
    {
        socks[i]=socket(AF_INET,SOCK_DGRAM,0);
        fcntl(socks[i], F_SETFL, O_NONBLOCK);
        if(mode == 0)  //Make server nonblock && fill FD struct
        {
            FD_SET(socks[i],&serverRecvFd);
        }
        if(socks[i]<0)
        {
            cout<<"[Initializing error]"<<endl;
            return -1;
        }
    }
    cout<<" [done]"<<endl;
    cout<<"Setting socket structures"<<endl;
    for(int i=0; i<portsCount; i++)
    {
        addr[i].sin_family = AF_INET;
        addr[i].sin_port = htons(testPorts[i]);
        if(mode == 0)
            addr[i].sin_addr.s_addr =INADDR_ANY;
        else if(mode == 1)
            //addr[i].sin_addr.s_addr = htonl(INADDR_LOOPBACK);
            //inet_aton(&address[0],&addr[i].sin_addr);
            addr[i].sin_addr.s_addr = inet_addr(&address[0]);
        if(mode == 0)
            if(bind(socks[i],(sockaddr *)&addr[i],sizeof(sockaddr))<0)
            {
                cout<<"Socket["<<i<<"] error binding. port["<<testPorts[i]<<"] is busy ? errno="<<errno<<endl;
               perror("reason: ");
            }

    }
    if(mode == 0)
    {
        cout<<"starting echo server..."<<endl;
        fd_set fdcopy;
        timeval timeoutSec{1,0};
        while(1)
        {
            FD_ZERO(&fdcopy);
            fdcopy=serverRecvFd;
            int retval = select(sockMax()+1,&fdcopy,NULL,NULL,&timeoutSec);
            if(retval == 0)
                continue; //Offset detected.
            for(int i =0; i<portsCount; i++)
            {
                if(FD_ISSET(socks[i],&fdcopy))
                {
                    char buffer[1024];
                    int bytesRead=recvfrom(socks[i],buffer,1024,0,(sockaddr *)&addr[i],uintToSocklen(sizeof addr[i]));
                    cout<<"Received="<<bytesRead<<" bytes."<<endl;
                    sendto(socks[i],buffer,bytesRead,0,(sockaddr *)&addr[i],sizeof(addr[i]));
                }
            }
        }
    }

    if(mode == 1)
    {
        cout<<"Starting client check. make sure echo server tured on"<<endl;
        for(int i=0; i<portsCount; i++)
        {
            fd_set recvExcept;
            timeval sendTimeout= {1,0};
            int passed=0,missed=0,dataCorrupt=0;
            for(int y=0; y<10; y++)
            {
                FD_ZERO(&recvExcept);
                FD_SET (socks[i],&recvExcept);
                sendTimeout= {1,0};
                sendto(socks[i],&sendString,sizeof(sendString),0,(sockaddr *)&addr[i],sizeof(addr[i]));
                int retval=select(socks[i]+1,&recvExcept,NULL,NULL,&sendTimeout);
                if(retval==0)
                    missed++;
                if(FD_ISSET(socks[i],&recvExcept))
                {
                    char buffer[1024];
                    int recvlen = recvfrom(socks[i],&buffer,1024,0,(sockaddr *)&addr[i],uintToSocklen(sizeof(addr[i])));
                    cout<<"CLIENT RECEIVED "<<recvlen<<" bytes."<<endl;
                    if(sizeof(sendString)!=recvlen){
                        dataCorrupt++;
                    }
                    passed++;
                }
                cout<<'\r';
                cout<<"Test port ="<<testPorts[i]<<" stage "<<y+1<<" of 10. Passed ="<<passed<<" Missed ="<<missed<<" dataCorrupted ="<<dataCorrupt<<endl;
            }
            cout<<endl;
        }
    }
    cout << "Check end." << endl;
    cin.get();
    cin.get();
    return 0;
}

Sorry for trashcode but i need to check ports. and this tester is 100% packet passed.

Link to comment
Share on other sites

image.thumb.png.6c615376cef2adba9d380c279012bd3e.png

Why its happened? ?? Server list is update but if im trying connect server not responding.

my soft checked all possible ports. and all ports is opened. and data transfered. why this happend?

P.s Dear administration, please, remove the limit of 4 messages per day. I can’t get the full support of YOUR product.

Link to comment
Share on other sites

@DragoKing Do you happen to be on the same local network as the server? I've seen instances where some residential / low end commercial routers can not nat traffic from inside the network. Have someone from outside your network try to connect. If you don't have anyone, PM your info and I'd be glad to help.

Also, I'd assume that as you use the forums more, your limit will be lifted. That's typical in these types of situations. You can blame the spammers!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...