Ask Your Question

Jinuk's profile - activity

2020-02-19 17:28:21 +0900 answered a question 아이펀 엔진 업데이트 후 빌드 오류

오류 메시지가 정상적으로 출력되어야하나 그렇지 않은 부분이 있어서 불편을 드려 죄송하게 생각합니다.

위의 log 상으로 확인한 바로는 (근 시일에) 소스 디렉터리 이하의 src/object_model 밑에 있는 JSON 파일을 수정한 것 같습니다. 수정 후 결과로,

  • 해당 파일을 UTF-8 형식이 아닌 것으로 저장한 경우
  • (주석을 제외한) 해당 파일의 내용이 JSON 포맷에 맞지 않는 부분이 있는 경우

위의 문제가 생긴 것 같습니다. 위 내용 확인 부탁드리겠습니다. 오류 메시지 출력은 이후 릴리즈에서 수정할 예정입니다.

2020-02-19 13:18:50 +0900 edited answer visualstudio to Linux(centos7 on Vmware)

File "my_projcet-source/setup_build_environment", line 346, in <module> main(sys.argv) File "my_projcet-source/setup_build_environment", line 333, in main build_for_makefile(pname, compo_name, build_dir, debug_dir, release_dir) File "my_projcet-source/setup_build_environment", line 189, in build_for_makefile run_command_or_crash_with_error(cmd) File "my_projcet-source/setup_build_environment", line 109, in run_command_or_crash_with_error subprocess.check_call(args, stdout=dev_null) File "/usr/lib64/python2.7/subprocess.py", line 537, in check_call retcode = call(popenargs, *kwargs) File "/usr/lib64/python2.7/subprocess.py", line 524, in call return Popen(popenargs, *kwargs).wait() File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__ errread, errwrite) File "/usr/lib64/python2.7/subprocess.py", line 1327, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory

위와 같은 문제가 나오는데 이거 왜 발생하는건가요?

2020-02-06 12:18:34 +0900 answered a question 데디케이디트 서버 스폰 문의

로그 상으로 추측했을 때, funapi1-dedicated-server 가 redis에 쓴 정보를 아이펀엔진 게임 서버 쪽에서 읽지 못하는 것처럼 보입니다. 서버들이 같은 redis 서버를 사용 중인지 확인해보시는게 좋을 것 같습니다.

2020-02-06 12:17:25 +0900 edited question 데디케이디트 서버 스폰 문의

안녕하세요. 데디케이트 서버 스폰을 테스트 중인다 다음과 같은 로그가 발생하며 데디케이트 서버가 실행되지 않습니다.

I0206 11:09:40.106835 20369 dedicated_server_manager.cc:2473] 데디케이티드 서버 마스터로 실행합니다
I0206 11:09:40.106892 20369 dedicated_server_list_manager.cc:674] Refreshing server list from Redis
I0206 11:09:40.107270 20370 dedicated_server_manager.cc:3008] 요청을 처리 중입니다: request={"peer_id":"08002782-da7c-4f1f-0000-000000000000","match_id":"b32977d4-5041-4d5b-9315-d56e65120388"}
W0206 11:09:40.107307 20370 dedicated_server_list_manager.cc:165] There's no available servers to select
E0206 11:09:40.107333 20370 dedicated_server_manager.cc:2962] 호스트 매니저 선택 실패: result code=2, message=Not enough capacity, match request={"peer_id":"08002782-da7c-4f1f-0000-000000000000","match_id":"b32977d4-5041-4d5b-9315-d56e65120388"}
W0206 11:09:40.107487 20370 dedicated_server_manager.cc:3028] 호스트 매니저 선택 실패. 이 매치를 처리할 호스트 서버가 존재하지 않습니다: request={"peer_id":"08002782-da7c-4f1f-0000-000000000000","match_id":"b32977d4-5041-4d5b-9315-d56e65120388"}
I0206 11:09:40.107501 20370 dedicated_server_manager.cc:3061] 사용할 수 있는 서버가 없습니다. 잠시 후 다시 시도합니다: seconds=3
I0206 11:09:40.107679 20371 dedicated_server_list_manager.cc:600] There's no dedicated servers in Redis.
I0206 11:09:43.107983 20371 dedicated_server_manager.cc:3008] 요청을 처리 중입니다: request={"peer_id":"08002782-da7c-4f1f-0000-000000000000","match_id":"b32977d4-5041-4d5b-9315-d56e65120388"}
W0206 11:09:43.108026 20371 dedicated_server_list_manager.cc:165] There's no available servers to select
E0206 11:09:43.108052 20371 dedicated_server_manager.cc:2962] 호스트 매니저 선택 실패: result code=2, message=Not enough capacity, match request={"peer_id":"08002782-da7c-4f1f-0000-000000000000","match_id":"b32977d4-5041-4d5b-9315-d56e65120388"}
W0206 11:09:43.108067 20371 dedicated_server_manager.cc:3028] 호스트 매니저 선택 실패. 이 매치를 처리할 호스트 서버가 존재하지 않습니다: request={"peer_id":"08002782-da7c-4f1f-0000-000000000000","match_id":"b32977d4-5041-4d5b-9315-d56e65120388"}
I0206 11:09:43.108078 20371 dedicated_server_manager.cc:3061] 사용할 수 있는 서버가 없습니다. 잠시 후 다시 시도합니다: seconds=3
I0206 11:09:46.114279 20371 dedicated_server_manager.cc:3008] 요청을 처리 중입니다: request={"peer_id":"08002782-da7c-4f1f-0000-000000000000","match_id":"b32977d4-5041-4d5b-9315-d56e65120388"}

우분투 16.04 가상 머신 환경에서 테스트중이며 데디케이트 서버는 유니티로 빌드했습니다. 레퍼런스 문서를 참고하여 MANIFEST 파일 수정하였으며, funapi1-dedicated-server-host 설치 및 실행하고 .flag 파일도 수정하였습니다.

2020-02-05 17:43:45 +0900 answered a question 엔진 업데이트후 발생한 문제.

문제 원인 파악했으며, 다음 릴리즈에 수정된 내용이 포함될 예정입니다.

현재 릴리즈 버전에서는 funapi1-runtime 1.0.0-4488 혹은 그 이하의 버전 사용하면 해당 문제가 없습니다.

2020-01-02 10:00:13 +0900 answered a question biller 실행시 에러에 대해 문의드립니다.

아이펀엔진과 빌러의 버전이 맞지 않는 버전인 것으로 추측됩니다.

dpkg -l | grep funapi 결과로 나오는 아이펀엔진 파일들의 정보를 보내주시면 수정 방법을 전달드리겠습니다.

2019-11-04 18:00:26 +0900 edited question server가 종료되는 현상 문의

유니티 에디터상에서 실행중일때 바로 종료해버리면 서버가 종료되버리는데 에디터에서 게임을 바로 종료하더라도 서버가 종료되지않도록 따로 서버에서 처리해줘야되는 부분이 있을까요?

F1104 17:39:11.233403  9156 service.cc:169] Assert failed: session3: 
*** Check failure stack trace: ***
I1104 17:39:11.234345  9156 fault.cc:295] Caught signal: 6 (Aborted)
E1104 17:39:11.322736  9156 fault.cc:430] Crashdump written to /home/yongjupark/sfrserver-build/debug/dumps/9655b2ea-7179-4bea-ee184692-6bd0feda.dmp
E1104 17:39:11.322845  9156 fault.cc:345] Waiting for finalization.
E1104 17:39:11.322867  9091 framework.cc:90] System has been crashed. (Thread=event, 1.0.0-4339bionic)
E1104 17:39:11.322906  9091 framework.cc:103] Shutdown SessionService.
E1104 17:39:11.322953  9091 framework.cc:103] Shutdown EventDispatcher.
I1104 17:39:11.322945  9137 socket.cc:524] TCP 소켓 서버(acceptor)가 요청을 받을 수 없어 무시합니다(error::operation_aborted).
E1104 17:39:11.323029  9091 framework.cc:103] Shutdown ObjectLeaser.
E1104 17:39:11.323047  9091 framework.cc:103] Shutdown ObjectTransaction.
E1104 17:39:11.323112  9091 framework.cc:103] Shutdown ObjectDatabase.
I1104 17:39:11.323137  9091 object_database.cc:4086] Flushing 0 update queries
E1104 17:39:11.323144  9091 framework.cc:103] Shutdown RpcService.
I1104 17:39:11.323189  9104 socket.cc:524] TCP 소켓 서버(acceptor)가 요청을 받을 수 없어 무시합니다(error::operation_aborted).
E1104 17:39:11.323745  9091 framework.cc:103] Shutdown ZookeeperClient.
I1104 17:39:12.323869  9091 zookeeper_client.cc:140] Finalizing zookeeper client. Disconnecting the zookeeper session. session_id=0x16e342253250054, state=CONNECTED_STATE
I1104 17:39:12.324477  9091 zookeeper_client.cc:161] The zookeeper session disconnected. session_id=0x16e342253250054, state=CLOSED_STATE
I1104 17:39:12.325009  9091 zookeeper_client.cc:140] Finalizing zookeeper client. Disconnecting the zookeeper session. session_id=0x16e342253250055, state=CONNECTED_STATE
I1104 17:39:12.325631  9091 zookeeper_client.cc:161] The zookeeper session disconnected. session_id=0x16e342253250055, state=CLOSED_STATE
I1104 17:39:12.326134  9091 zookeeper_client.cc:140] Finalizing zookeeper client. Disconnecting the zookeeper session. session_id=0x16e342253250056, state=CONNECTED_STATE
I1104 17:39:12.326587  9091 zookeeper_client.cc:161] The zookeeper session disconnected. session_id=0x16e342253250056, state=CLOSED_STATE
I1104 17:39:12.326987  9091 zookeeper_client.cc:140] Finalizing zookeeper client. Disconnecting the zookeeper session. session_id=0x16e342253250057, state=CONNECTED_STATE
I1104 17:39:12.327551  9091 zookeeper_client.cc:161] The zookeeper session disconnected. session_id=0x16e342253250057, state=CLOSED_STATE
[ERROR] sfrserver_server@yongjupark-XPS-8700 termianted with 134.

Analyzing crashdump /home/yongjupark/sfrserver-build/debug/dumps/9655b2ea-7179-4bea-ee184692-6bd0feda.dmp

OS Linux 0.0.0 Linux 5.0.0-32-generic #34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019 x86_64 
CPU amd64 family 6 model 60 stepping 3 1 
Crash DUMP_REQUESTED 0x5584a44e3b6a 42 

0 funapi_runner: google_breakpad::ExceptionHandler::WriteMinidump() (+0x6a)
1 funapi_runner: fun::SignalHandlerWrapper(int, siginfo_t*, void*) (+0x149e)
2 libmonosgen-2.0.so.1.0.0 (+0x176be9)
3 libmonosgen-2.0.so.1.0.0 (+0x176c76)
4 libpthread-2.27.so (+0x12890)
5 libpthread-2.27.so (+0x12727)
6 libpthread-2.27.so (+0x12727)
7 ld-2.27.so (+0xaf5f)
8 libglog.so.0.0.0 (+0x1507e)
9 libpthread-2.27.so (+0x2f58)
10 libstdc++.so.6.0.25 (+0xbbe6b)
2019-10-29 19:30:55 +0900 commented answer 분산서버 클라이언트 서버 이동 관련 문의

서버 A에서 서버 B로 보내는 상황일 때,

AccountManager.RegisterRedirectionHandler (OnClientRedirected);

위와 같이 핸들러를 등록하는 코드가 서버 B 쪽에 존재하는지 확인해주실 수 있을까요? 서버의 Install 시점에 호출되어야 합니다.

2019-10-29 19:11:22 +0900 commented answer 분산서버 클라이언트 서버 이동 관련 문의

IP 주소가 제대로 인식되고 있지 않은 것으로 보입니다. 매뉴얼을 참고하시어 아래 두 가지 중 하나를 실행해주세요:

  • nic:eth0 에서 eth0 대신 실제로 서버에 있는 네트워크 인터페이스를 입력. ifconfig 혹은 ip link 명령으로 확인가능합니다.
  • nat:192.0.2.113 에서 192.0.2.113 대신 실제 IP 주소를 입력
2019-10-29 19:06:36 +0900 edited answer 분산서버 클라이언트 서버 이동 관련 문의

각 서버 ip는 222.238.29.175이고 바꾼후 로그는 파일 첨부가 안되어 아래에 적습니다..

I1029 18:52:14.797628 13521 session_impl.cc:2210] [C->S] TCP/JSON: type=, length=0, session=00000000-0000-0000-0000-000000000000 
I1029 18:52:14.797857 13521 session_impl.cc:2210] [S->C] TCP/JSON: type=_session_opened, length=76, session=eec2854d-e7c3-408e-b894-aecde9dca8f0 {}
I1029 18:52:14.797922 13521 session_service.cc:2841] 새 세션을 생성했습니다: sid=eec2854d-e7c3-408e-b894-aecde9dca8f0, protocol=TCP, encoding=application/json, address=127.0.0.1:58426
I1029 18:52:14.826689 13537 (Mono)lobbyserver.cs:54] OPEN : eec2854d-e7c3-408e-b894-aecde9dca8f0
I1029 18:52:16.498343 13519 session_impl.cc:2210] [C->S] TCP/JSON: type=login, length=84, session=eec2854d-e7c3-408e-b894-aecde9dca8f0 {"id":"Dragonfly2"}
I1029 18:52:16.514413 13534 (Mono)lobbyserver.cs:136] Client_ip_address : 127.0.0.1
I1029 18:52:16.545423 13535 (Mono)lobbyserver.cs:211] Succeed to login: id=Dragonfly2
I1029 18:52:16.562081 13535 session_impl.cc:2210] [S->C] TCP/JSON: type=login, length=105, session=eec2854d-e7c3-408e-b894-aecde9dca8f0 {"result":"successed","id":"Dragonfly2"}
I1029 18:52:20.919066 13521 session_impl.cc:2210] [C->S] TCP/JSON: type=match, length=66, session=eec2854d-e7c3-408e-b894-aecde9dca8f0 {}
I1029 18:52:20.920627 13537 (Mono)lobbyserver.cs:241] Match ID : Dragonfly2
I1029 18:52:26.482100 13518 transport.cc:478] 클라이언트 플러그인 버전: 313
I1029 18:52:26.482142 13518 session_impl.cc:2210] [C->S] TCP/JSON: type=, length=0, session=00000000-0000-0000-0000-000000000000 
I1029 18:52:26.482198 13518 session_impl.cc:2210] [S->C] TCP/JSON: type=_session_opened, length=76, session=07509a98-0f84-4e4d-9fa4-466684637707 {}
I1029 18:52:26.482237 13518 session_service.cc:2841] 새 세션을 생성했습니다: sid=07509a98-0f84-4e4d-9fa4-466684637707, protocol=TCP, encoding=application/json, address=127.0.0.1:58428
I1029 18:52:26.482475 13534 (Mono)lobbyserver.cs:54] OPEN : 07509a98-0f84-4e4d-9fa4-466684637707
I1029 18:52:27.210862 13520 session_impl.cc:2210] [C->S] TCP/JSON: type=login, length=83, session=07509a98-0f84-4e4d-9fa4-466684637707 {"id":"Dragonfly"}
I1029 18:52:27.211390 13536 (Mono)lobbyserver.cs:136] Client_ip_address : 127.0.0.1
I1029 18:52:27.235199 13537 (Mono)lobbyserver.cs:211] Succeed to login: id=Dragonfly
I1029 18:52:27.235304 13537 session_impl.cc:2210] [S->C] TCP/JSON: type=login, length=104, session=07509a98-0f84-4e4d-9fa4-466684637707 {"result":"successed","id":"Dragonfly"}
I1029 18:52:28.492265 13521 session_impl.cc:2210] [C->S] TCP/JSON: type=match, length=66, session=07509a98-0f84-4e4d-9fa4-466684637707 {}
I1029 18:52:28.492528 13534 (Mono)lobbyserver.cs:241] Match ID : Dragonfly
I1029 18:52:28.529528 13536 (Mono)lobbyserver.cs:250] Successed in MatchMaking => id : Dragonfly2
I1029 18:52:28.530947 13536 (Mono)Common.cs:23] account_id : Dragonfly2
I1029 18:52:28.539615 13536 (Mono)Common.cs:40] Client redirecting: account_id=Dragonfly2, server_tag=game
I1029 18:52:28.542541 13536 session_impl.cc:2210] [S->C] TCP/JSON: type=match, length=222, session=eec2854d-e7c3-408e-b894-aecde9dca8f0 {"result":"successed","team_A":"Dragonfly2","team_B":"Dragonfly","teamA_x":0.0,"teamA_y":-17.3,"teamA_z":-30.0,"teamB_x":0.0,"teamB_y":-17.3,"teamB_z":-38.0}
I1029 18:52:28.543035 13537 session_impl.cc:2210] [S->C] TCP/JSON: type=_sc_redirect, length=456, session=eec2854d-e7c3-408e-b894-aecde9dca8f0 {"host":"192.0.2.113","token":"CA24XZiQlsJkrzcjAAAAAAAAAAAKAAAARHJhZ29uZmx5MnsiaWQiOiJEcmFnb25mbHkyIiwib3Bwb25lbnQiOiJEcmFnb25mbHkiLCJtYXRjaGluZyI6ImRvbmUiLCJyZWFkeSI6MH0i46rhOGMQ417UoYRr35ZwYnZu8NxVdhkNQMqqe7heMg==","flavor":"game","target_tags":["game"],"current_tags":["_multicast","lobby"],"ports":[{"port":9012,"protocol":1 ...
(more)
2019-10-29 18:13:59 +0900 edited answer 분산서버 클라이언트 서버 이동 관련 문의

using System; using System.Collections.Generic; using funapi; using Newtonsoft.Json.Linq; using Sfrserver;

namespace Sfrserver
{   
    public class gameserver
    {
        public static bool Install()
        {
            NetworkHandlerRegistry.RegisterSessionHandler(
                new NetworkHandlerRegistry.SessionOpenedHandler(OnSessionOpened),
                new NetworkHandlerRegistry.SessionClosedHandler(OnSessionClosed));            

            AccountManager.RegisterRedirectionHandler(OnClientRedirected);

            Log.Info("game Server Install Complete");


            return true;
        }


        public static void OnClientRedirected(string account_id, Session session, bool success, string extra_data)
        {         
            if (!success)
            {
                Log.Error("Failed to redirect client: account_id={0}", account_id);
                return;
            }

            JObject session_context = JObject.Parse(extra_data);
            Log.Assert(session_context != null);

            lock (session)
            {
                session.Context = session_context;
            }

            Log.Info("Client redirected: account_id={0}", account_id);
        }


        public static void OnSessionOpened(Session session)
        {
            ActivityLog.SessionOpened(session.Id.ToString(), WallClock.Now);

            Log.Info("GameServer SessionOpened");

        }

        public static void OnSessionClosed(Session session, Session.CloseReason reason)
        {
            ActivityLog.SessionClosed(session.Id.ToString(), WallClock.Now);
            Log.Info("GameServer SessionClosed");
            // 세션을 초기화 합니다.
            //FreeUser(session);
        }       
    }
}

위 와 같이 이동될 서버에다가 붙였음에도 불구하고 호출이 안되네요..

2019-10-29 17:34:58 +0900 edited question 분산서버 클라이언트 서버 이동 관련 문의

안녕하세요 lobby에서 매칭을 통해 성공 후 gameserver로 보내려고 하는데요

예제 내용을 토대로 작성하였습니다만


I1029 16:38:18.987327  4681 (Mono)lobbyserver.cs:54] OPEN : c6a4187e-fb22-42ff-bf9f-67c06b8f3e7b
I1029 16:38:19.802197  4679 (Mono)lobbyserver.cs:136] Client_ip_address : 127.0.0.1
I1029 16:38:19.833319  4678 (Mono)lobbyserver.cs:211] Succeed to login: id=Dragonfly
I1029 16:38:20.989431  4681 (Mono)lobbyserver.cs:241] Match ID : Dragonfly
I1029 16:38:21.022915  4679 (Mono)lobbyserver.cs:250] Successed in MatchMaking => id : Dragonfly2
I1029 16:38:21.023471  4679 (Mono)Common.cs:23] account_id : Dragonfly2
I1029 16:38:21.034225  4679 (Mono)Common.cs:40] Client redirecting: account_id=Dragonfly2, server_tag=game
I1029 16:38:21.035562  4679 (Mono)lobbyserver.cs:250] Successed in MatchMaking => id : Dragonfly
I1029 16:38:21.035706  4679 (Mono)Common.cs:23] account_id : Dragonfly
I1029 16:38:21.035969  4679 (Mono)Common.cs:40] Client redirecting: account_id=Dragonfly, server_tag=game
I1029 16:38:21.039695  4680 session_service.cc:2090] session closed: sid=ff0673c2-72f9-4ba5-9232-ae178f94f19b, reason=ServerDid
I1029 16:38:21.040525  4678 (Mono)lobbyserver.cs:60] Close : ff0673c2-72f9-4ba5-9232-ae178f94f19b
I1029 16:38:21.047808  4681 session_service.cc:2090] session closed: sid=c6a4187e-fb22-42ff-bf9f-67c06b8f3e7b, reason=ServerDid
I1029 16:38:21.048065  4681 (Mono)lobbyserver.cs:60] Close : c6a4187e-fb22-42ff-bf9f-67c06b8f3e7b

로그를 보시면 Client redirecting 이라고 나옵니다. 아래는 해당 코드이구요 즉, AccountManager.RedirectClient 가 정상적으로 되고있는것같은데...


 if (AccountManager.RedirectClient(session, target, session_context))
 {
    Log.Info("Client redirecting: account_id={0}, server_tag={1}", account_id, server_tag_to_redirect);

  }
  else
   {
       Log.Error("Client redirecting failure: account_id={0}, server_tag={1}", account_id, server_tag_to_redirect);
   }

AccountManager.RedirectClient 는 되는데 메뉴얼에 나와있는 OnClientRedirected 는 호출이 안되는데 이건 어떤식으로 호출이 되는건지 궁금하네요

결론은 현재 로비서버에 접속해 있는 2명의 유저를 매칭 성공하여 게임서버로 보내는 로직을 구현하고 있는데, 매칭까지 성공해서 AccountManager.RedirectClient 까지 정상적으로 실행되지만 그 이후 OnClientRedirected 가 호출이 되지 않아서 게임서버로 정상적으로 이동 됬는지 이동이 되었다면 정보는 어떤식으로 가져오는지 잘 모르겠네요...

2019-10-21 16:58:50 +0900 edited question 모노 패키지 오류 관련 정보입니다.

안녕하세요. 현재 설치되어 있는 Mono 관련 패키지들의 의존성이 문제인 것 같습니다. cat /etc/apt/sources.list.d/mono-xamarin.list 명령과 dpkg --list | grep mono | awk '{print $2, $3}' 명령의 결과를 올려주시면 확인 해 보겠습니다.

  1. deb http://download.mono-project.com/repo... stable-xenial/snapshots/5.10.1 main

  2. ca-certificates-mono 6.4.0.198-0xamarin3+ubuntu1804b1 fonts-noto-mono 20171026-2 fonts-tlwg-mono 1:0.6.4-2 fonts-tlwg-mono-ttf 1:0.6.4-2 libmono-2.0-1 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-2.0-dev 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-accessibility4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-btls-interface4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-cairo4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-cecil-private-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-cil-dev 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-codecontracts4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-compilerservices-symbolwriter4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-corlib4.5-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-cscompmgd0.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-csharp4.0c-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-custommarshalers4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-data-tds4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-db2-1.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-debugger-soft4.0a-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-http4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-i18n-cjk4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-i18n-mideast4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-i18n-other4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-i18n-rare4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-i18n-west4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-i18n4.0-all 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-i18n4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-ldap4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-management4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-messaging-rabbitmq4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-messaging4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-microsoft-build-engine4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-microsoft-build-framework4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-microsoft-build-tasks-v4.0-4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-microsoft-build-utilities-v4.0-4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-microsoft-build4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-microsoft-csharp4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-microsoft-visualc10.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-microsoft-web-infrastructure1.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-oracle4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-parallel4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-peapi4.0a-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-posix4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-profiler 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-rabbitmq4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-relaxng4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-security4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-sharpzip4.84-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-simd4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-smdiagnostics0.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-sqlite4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-system-componentmodel-composition4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-system-componentmodel-dataannotations4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-system-configuration-install4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-system-configuration4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-system-core4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-system-data-datasetextensions4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-system-data-entity4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-system-data-linq4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-system-data-services-client4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-system-data-services4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-system-data4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-system-deployment4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-system-design4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-system-drawing-design4.0-cil 6.4.0.198-0xamarin3+ubuntu1804b1 libmono-system-drawing4.0-cil 6 ...

(more)
2019-10-21 16:58:19 +0900 edited question pongcs(예제) 실행 오류 문의

lobby server 빌드 시 아래와 같은 오류가 발생하여 문의 드립니다.

yongjupark@yongjupark-XPS-8700:~/pongcs-build/debug$ ./pongcs.lobby-local
[INFO] pongcs_server@yongjupark-XPS-8700 is starting.
I1021 16:45:39.405472 18749 main.cc:545] Engine version: 1.0.0-4339bionic
I1021 16:45:39.405624 18749 main.cc:551] Command line arguments: [pongcs_server.lobby]
I1021 16:45:39.405632 18749 main.cc:552] Server flavor: lobby
I1021 16:45:40.013236 18749 main.cc:574] License info: {"production":false,"expires":"2019-Nov-15 06:00:04"}
I1021 16:45:40.018029 18749 manifest_handler.cc:687] libpongcs.so loaded.
I1021 16:45:40.018136 18749 main.cc:627] Loading Mono runtime and managed app: mono_dll_path=/home/yongjupark/pongcs-source/mono/bin/Debug/Pongcs.dll
I1021 16:45:40.021787 18749 runtime.cc:149] Mono assembly loaded: Pongcs, Version=1.0.7233.30147
I1021 16:45:40.021867 18749 runtime.cc:149] Mono assembly loaded: Newtonsoft.Json, Version=9.0.0.0
I1021 16:45:40.021930 18749 runtime.cc:149] Mono assembly loaded: protobuf-net, Version=2.0.0.668
I1021 16:45:40.021989 18749 runtime.cc:149] Mono assembly loaded: funapi, Version=1.0.7222.19569
I1021 16:45:40.021997 18749 runtime.cc:123] Mono assembly loaded: mscorlib, Version=4.0.0.0
I1021 16:45:40.022089 18749 runtime.cc:123] Mono assembly loaded: System, Version=4.0.0.0
I1021 16:45:40.029943 18749 manifest_handler.cc:766] Initializing Framework
I1021 16:45:40.029959 18749 manifest_handler.cc:766] Initializing IoService
W1021 16:45:40.029964 18749 io_service.cc:66] 'IoService/io_service_threads_size' is deprecated. Use 'SessionService/network_io_threads_size' instead.
I1021 16:45:40.030175 18749 manifest_handler.cc:766] Initializing Curl
I1021 16:45:40.030218 18749 manifest_handler.cc:766] Initializing RawTimer
I1021 16:45:40.030249 18749 manifest_handler.cc:766] Initializing Logging
I1021 16:45:40.030426 18749 manifest_handler.cc:766] Initializing HardwareInfo
I1021 16:45:40.030581 18749 hardware_info.cc:161] loop-back 이 아닌 AF_INET 형태의 네트워크 카드를 찾았습니다: enp3s0, 222.238.29.175/255.255.255.128, 98:90:96:c2:64:af
I1021 16:45:40.030761 18749 hardware_info.cc:348] AWS API 를 통해 공인 IP 주소를 얻어내고 있습니다.
I1021 16:45:40.030776 18749 hardware_info.cc:224] RESETful API 롤 호출합니다: http://169.254.169.254/latest/meta-data/public-ipv4/
W1021 16:45:42.032510 18749 hardware_info.cc:238] AWS 의 API 를 호출하는데 실패했습니다. 스킵합니다.Timeout was reached
I1021 16:45:42.032670 18749 hardware_info.cc:351] 네트워크 카드로부터 공인 IP 주소를 얻어내고 있습니다.
W1021 16:45:42.032711 18749 hardware_info.cc:357] 네트워크 인터페이스 카드가 존재하지 않습니다. 무시합니다: eth0
I1021 16:45:42.032781 18749 hardware_info.cc:363] 주어진 NAT 정보로부터 공인 IP 를 얻어내고 있습니다.
I1021 16:45:42.032836 18749 hardware_info.cc:413] 공인 IP 주소를 얻어냈습니다: 93.184.216.34 (nat:93.184.216.34:tcp+pbuf=8012:http+json=8018)
I1021 16:45:42.032889 18749 manifest_handler.cc:766] Initializing RandomGenerator
I1021 16:45:42.032927 18749 manifest_handler.cc:766] Initializing AppInfo
I1021 16:45:42 ...
(more)
2019-10-17 12:30:30 +0900 answered a question 예제 pongserver using문이 적용안되는 현상

using 이 C++에서 사용하는 using 구문인가요? (혹은 C++11 이후의 using TypeAlias = AnotherType; 구문인가요?)

다운받은 예제의 GitHub 주소를 질문에 포함시켜주시면 확인이 쉬울 것 같습니다.

2019-10-17 11:18:29 +0900 commented answer 새 프로젝트 생성 시 cs파일을 찾을 수 없음 에러 현상

해당 파일은 프로젝트 생성 직후에는 존재하지 않는 파일입니다. 한 번이라도 빌드를 실행하면 설정에 따라서 파일이 생성됩니다. (예를 들어 hello_loggers.json 설정으로 hello_loggers.cs 가 생깁니다) 그리고 이후에 설정이 바뀌면 다시 변경된 파일이 생성됩니다.

한 번 빌드하고나서 해당 파일이 생기고, 설정 파일을 바꾼 뒤에도 파일이 다시 생성된다면 정상으로 보입니다.

2019-10-16 18:15:10 +0900 edited question pong server 빌드 시 오류

Traceback (most recent call last): File "/usr/bin/funapi_launcher_generator", line 181, in <module> main(sys.argv) File "/usr/bin/funapi_launcher_generator", line 173, in main output_content = t.render(params) File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 1008, in render return self.environment.handle_exception(exc_info, True) File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 780, in handle_exception reraise(exc_type, exc_value, tb) File "<template>", line 59, in top-level template code UnicodeDecodeError: 'ascii' codec can't decode byte 0xeb in position 17: ordinal not in range(128) make[2]: * [pongcs.matchmaker-local] Error 1 make[2]: Deleting file 'pongcs.matchmaker-local' CMakeFiles/Makefile2:141: recipe for target 'CMakeFiles/internal_create_launchers.dir/all' failed make[1]: [CMakeFiles/internal_create_launchers.dir/all] Error 2 Makefile:151: recipe for target 'all' failed make: * [all] Error 2

    ========== 빌드: 0개 성공, 1개 실패, 0개 최신 상태, 0개 건너뜀 ==========

사용자 지정 명령 실패(종료 코드: 2)

빌드하면 위 에러가 발생하는 이유를 알 수 있을까요? 다른 설정을 해줘야되는게 있는지 궁금합니다.

2019-09-23 14:37:53 +0900 edited question pong server 테스트중 failed to connect to authenticator 에러 나옵니다.

안녕하세요.

바로전에 답변해주신 authenticator는 이제는 포함된다고해서 설치하지 않고 바로 퐁서버를 컴파일해서 실행했는데 다음과 같은 에러가 나옵니다.

에러 내용상 failed to connect to authenticator 나온것 봐서는 서버에 포함된 authenticator 와 연동이 안된듯 한데 어떻게 하면 되나요?

ubuntu@ubuntu-System-Product-Name:~/game-pong-server/pong-build/debug$ ./pong.lobby-local
[INFO] pong_server@ubuntu-System-Product-Name is starting.
I0923 14:22:16.815762  7535 main.cc:545] Engine version: 1.0.0-4269bionic
I0923 14:22:16.815920  7535 main.cc:551] Command line arguments: [pong_server.lobby]
I0923 14:22:16.815933  7535 main.cc:552] Server flavor: lobby
I0923 14:22:17.473232  7535 main.cc:574] License info: {"production":false,"trial":true,"expires":"2020-Feb-02 08:46:39"}
I0923 14:22:17.483345  7535 manifest_handler.cc:687] libpong.so loaded.
I0923 14:22:17.483824  7535 manifest_handler.cc:766] Initializing AppInfo
I0923 14:22:17.483858  7535 manifest_handler.cc:766] Initializing IoService
W0923 14:22:17.483870  7535 io_service.cc:66] 'IoService/io_service_threads_size' is deprecated. Use 'SessionService/network_io_threads_size' instead.
I0923 14:22:17.484119  7535 manifest_handler.cc:766] Initializing RawTimer
I0923 14:22:17.484181  7535 manifest_handler.cc:766] Initializing Logging
I0923 14:22:17.484403  7535 manifest_handler.cc:766] Initializing HardwareInfo
I0923 14:22:17.484520  7535 hardware_info.cc:161] loop-back 이 아닌 AF_INET 형태의 네트워크 카드를 찾았습니다: enp6s0, 27.125.95.214/255.255.255.128, 48:5b:39:86:17:b7
I0923 14:22:17.484710  7535 hardware_info.cc:360] AWS API 를 통해 공인 IP 주소를 얻어내고 있습니다.
I0923 14:22:17.484728  7535 hardware_info.cc:236] RESETful API 롤 호출합니다: http://169.254.169.254/latest/meta-data/public-ipv4/
W0923 14:22:19.486162  7535 hardware_info.cc:250] AWS 의 API 를 호출하는데 실패했습니다. 스킵합니다.Timeout was reached
I0923 14:22:19.486224  7535 hardware_info.cc:363] 네트워크 카드로부터 공인 IP 주소를 얻어내고 있습니다.
W0923 14:22:19.486248  7535 hardware_info.cc:369] 네트워크 인터페이스 카드가 존재하지 않습니다. 무시합니다: eth0
I0923 14:22:19.486284  7535 hardware_info.cc:375] 주어진 NAT 정보로부터 공인 IP 를 얻어내고 있습니다.
I0923 14:22:19.486313  7535 hardware_info.cc:427] 공인 IP 주소를 얻어냈습니다: 93.184.216.34 (nat:93.184.216.34:tcp+pbuf=8012:http+json=8018)
I0923 14:22:19.486376  7535 manifest_handler.cc:766] Initializing RandomGenerator
I0923 14:22:19.486398  7535 manifest_handler.cc:766] Initializing WallClock
I0923 14:22:19.486424  7535 manifest_handler.cc:766] Initializing ZookeeperClient
I0923 14:22:19.486544  7535 manifest_handler.cc:766] Initializing RpcService
I0923 14:22:19.486596  7535 rpc_service.cc:1640] Using NIC 'enp6s0' for RPC
I0923 14:22:19.486935  7535 manifest_handler.cc:766] Initializing ObjectDirectoryService
I0923 14:22:19.487062  7535 manifest_handler.cc:766] Initializing Object
I0923 14:22:19.487424  7535 object_database.cc:955] Key shard: address(tcp://127.0.0.1:3306), id(funapi), database(funapi)
I0923 14:22:19.487452  7535 object_database.cc:960] Object shard: range(00000000-0000-0000-0000-000000000000~ffffffff-ffff-ffff-ffff-ffffffffffff), address(tcp://127.0.0.1:3306), id(funapi), database(funapi)
I0923 14:22:19.489647  7535 manifest_handler.cc:766] Initializing EventDispatcher
I0923 14:22:19 ...
(more)
2019-06-05 15:14:00 +0900 commented answer Funapi Dashboard 설치 질문 드립니다.3

--publish=0.0.0.0:8000:8000 부분을 --publish={IP}:{port}:8000 으로 변경하면 됩니다.

2019-05-29 11:04:06 +0900 commented answer 패킷 관련해서 문의드립니다.

서버에서 무한정 메시지를 보내는게 아니라고 치면, 대부분의 경우 문제가 안될 정도의 양입니다. 게임 서버가 클라이언트 요청없이 보내는 메시지는 전체 전송하는 메시지나, 다른 클라이언트로 부터의 메시지며, 해당 양은 많아봐야 수십 - 수백 KiB 정도일 것으로 보입니다. 문제가 될 수 있다고 판단된다면 적절한 길이의 heartbeat (ping 기능 이용) 을 사용해서 해당 클라이언트를 구분하고 연결을 끊을 수 있을 것 같습니다.

2019-05-28 17:37:45 +0900 answered a question 패킷 관련해서 문의드립니다.

두 가지를 완벽히 구분할 방법은 없습니다. 두 가지를 구분하려면 패킷 캡쳐를 해서 실제로 전송했는지를 확인하셔야 합니다.

  1. 캡쳐결과 서버에서 보낸 메시지가 실제로 전송된 경우, 해당 메시지는 안드로이드 OS의 TCP 스택에서 대기하게 됩니다. (클라이언트가 백그라운드인 경우)
  2. 안드로이드가 충분히 많은 수의 메시지를 처리하지 않은 경우, TCP window가 부족해서 서버가 보내지 않는 경우도 가능합니다. (이 경우 패킷 캡쳐에서 서버가 메시지를 보낸 로그가 없습니다)

다만 위 두 경우 모두 클라이언트가 어느 쪽인지 스스로 인지하기는 어려우며, 구현 상으로도 별 차이 없을 것으로 보입니다.

어떤 이유에서 위 내용이 필요한지 알려주시면 답변드리기 쉬울 듯 합니다.

2019-04-18 15:14:57 +0900 commented answer 외부 서비스 인증 관련해서 문의 드립니다.
  1. 구글 개발자 콘솔에서 찾아서 입력하는게 가장 정확합니다.
  2. 1이 어려우시다면, 권장하지는 않지만 차선책으로 게임 서버 로그의 값을 입력해도 됩니다. 이 때 클라이언트는 변조되지 않았다고 확신할 수 있어야 합니다.
2019-04-18 14:32:16 +0900 commented answer 외부 서비스 인증 관련해서 문의 드립니다.

서버 응답으로 돌아온 값을 사용하시면 됩니다. 저 위의 azp, aud 로 넣은 내용에 해당합니다.

다만 이 방법은 임시 방편이며, 정식으로는 구글 개발자 콘솔의 안드로이드 앱과 연결된 프로젝트 계정의 OAuth Client ID에 해당하는 값을 넣어 주셔야 합니다. (해당 값이 옳바른 클라이언트 요청을 게임 서버가 받아서 구글 서버에 인증한 경우, 해당 응답에 적절한 azp, aud 로 오기 때문에 그 azp, aud 값을 써도 된다고 김인근님이 답변했습니다)

2019-04-18 12:08:10 +0900 edited answer 외부 서비스 인증 관련해서 문의 드립니다.

Google Play Game 인증시 정확한 로그는 아래와 같습니다.

W0418 10:54:21.489495 28075 google_play_game_authentication.cc:335] JWT key kid=3782d3f0bc89008d9d2c01730f765cfb19d3b70e does not found in preloaded JWKS
[New Thread 0x7fffd8fff700 (LWP 28181)]
[New Thread 0x7fffd87fe700 (LWP 28182)]
[Thread 0x7fffd8fff700 (LWP 28181) exited]
'CurlIoGroup' (0x6e15) 스레드가 종료되었습니다(코드: 0 (0x0)).
[Thread 0x7fffd87fe700 (LWP 28182) exited]
'CurlIoGroup' (0x6e16) 스레드가 종료되었습니다(코드: 0 (0x0)).
I0418 10:54:21.719036 28076 google_play_game_authentication.cc:287] Google JWKS: added a new key (kid=6f6781ba71199a658e760aa5aa93e5fc3dc752b5)
I0418 10:54:21.719355 28076 google_play_game_authentication.cc:287] Google JWKS: added a new key (kid=3782d3f0bc89008d9d2c01730f765cfb19d3b70e)
E0418 10:54:21.742616 28076 google_play_game_authentication.cc:167] Failed to authenticate google play. invalid app id: {"iss":"https://accounts.google.com","azp":"518278299668-gas35tgmlnrnh95a76atjkiskciqkrdr.apps.googleusercontent.com","aud":"518278299668-vh67rn9bfan7helm0dbs7159qmq3a1tf.apps.googleusercontent.com","sub":"118092920621741853644","iat":"1555551891","exp":"1555555491","alg":"RS256","kid":"3782d3f0bc89008d9d2c01730f765cfb19d3b70e","typ":"JWT"}
[Switching to Thread 0x7fffdeff8700 (LWP 28075)]
2019-04-12 12:00:44 +0900 edited question Matchmaking 관련해서 문의드립니다.

매치매이킹 요청시 크래쉬가 나는데요.
F0412 11:39:05.065615 25815 matchmaking.cc:645] Assert failed: started: 해당 부분 원인을 알수 있을까요?

디버깅 해보니 각각 다른 event 쓰레드에서 동시에 MatchmakingClient::StartMatchmaking 함수를 호출하고 있는 상황이며

콜스택은 아래 같습니다.

[Unknown/Just-In-Time compiled code]     
libglog.so.0!google::LogMessage::SendToLog()     
libglog.so.0!google::LogMessage::Flush()     
libglog.so.0!google::LogMessage::~LogMessage()   
fun::MatchmakingClient::StartMatchmaking2(long const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, fun::Json const&, boost::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, fun::MatchmakingClient::Match const&, fun::MatchmakingClient::MatchResult)> const&, boost::uuids::uuid const&, boost::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, fun::MatchmakingClient::Match const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> const&, boost::posix_time::time_duration const&)  
fun::MatchmakingClient::StartMatchmaking(long const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, fun::Json const&, boost::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, fun::MatchmakingClient::Match const&, fun::MatchmakingClient::MatchResult)> const&, fun::MatchmakingClient::TargetServerSelection const&, boost::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::uuids::uuid const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> const&, boost::posix_time::time_duration const&)

...... .... .. .

2019-04-05 14:18:53 +0900 commented answer Funapi Dashboard 설치 질문 드립니다.

-v /path/to/override:/etc/funapi_dashboard/override 에서 /path/to/override 에 해당하는 디렉터리를 설정 파일이 있는 디렉터리로 지정하셨는지 확인 부탁 드립니다.

{/path/to/override}/settings.py 란 파일이 존재해야 동작합니다. 해당 파일을 설정하는 부분은 링크하신 매뉴얼에 있습니다.

2019-04-05 10:05:41 +0900 answered a question Funapi Dashboard 설치 질문 드립니다.

컨테이너가 실행 중이 아닌 경우 나올 수 있는 오류 메시지입니다.

sudo systemctl status funapi-dashboard 로 서비스가 실행 중인지 확인해주시고, 실행되어 있지 않다면 sudo systemctl start funapi-dashboard 로 서비스를 실행한 후에 위 명령으로 진행하시면 됩니다.

2019-03-15 14:14:33 +0900 answered a question 서버 엔진 프레임 관련 질문입니다.

https://ifunfactory.com/engine/docume... 링크한 문서에서 설명하는 형태로 연동할 수 있을 것 같습니다.

2019-02-13 08:53:08 +0900 edited question Pong Game Server(C#) Caught signal: 6

아래와 같이 죽네요. 혹시 원인이나 조치방법이 짐작가시는게 있을까요? 필요하시면 서버를 열어드릴수도 있습니다만.

아래

Time Elapsed 00:00:01.3174070
[100%] Built target mono_dll_build
root@ubuntu:/game-pong-server-csharp/pongcs-build/debug# ./pongcs.lobby-local
[INFO] pongcs_server@ubuntu is starting.
I0213 00:22:36.836694 20824 main.cc:595] Engine version: 1.0.0-3837xenial
I0213 00:22:36.836931 20824 main.cc:601] Command line arguments: [pongcs_server.lobby]
I0213 00:22:36.836946 20824 main.cc:602] Server flavor: lobby
I0213 00:22:36.837049 20824 main.cc:616] Crashreporter initialized; .dmp will be written to /game-pong-server-csharp/pongcs-build/debug/dumps
I0213 00:22:36.880657 20824 capability.cc:261] Checking license for funapi1-runtime 1.0.0-3837xenial
I0213 00:22:37.611420 20824 main.cc:638] License info: {"production":false,"expires":"2019-Mar-12 14:51:59"}
I0213 00:22:37.627940 20824 manifest_handler.cc:682] libpongcs.so loaded.
I0213 00:22:37.628072 20824 main.cc:688] Loading Mono runtime and managed app: mono_dll_path=/game-pong-server-csharp/pongcs-source/mono/bin/Debug/Pongcs.dll
* Assertion at sgen-alloc.c:558, condition `tlab_next_addr_offset != -1' not met

I0213 00:22:37.629060 20824 fault.cc:198] Caught signal: 6 (Aborted)
2019-02-12 11:19:12 +0900 edited question Redis 접속 실패

AWS 인스턴스에 패키지 풀고 실행중 실행이 안되는 부분 로그입니다.

Redis 접속을 실패한다고 로그가 떠있어서 6370 포트가 닫혀있나 확인 해보니


I0211 16:07:07.366623  3228 manifest_handler.cc:751] Initializing Redis
E0211 16:07:07.366822  3228 redis_connection.cc:100] 1000 connection: Failed to connect to redis server: 127.0.0.1:6379, error code: 1, error description: Connection refused
E0211 16:07:07.367228  3228 redis_impl.cc:1035] Failed to connect to master server: 127.0.0.1:6379
E0211 16:07:07.367457  3228 redis_connection.cc:100] 0 connection: Failed to connect to redis server: 127.0.0.1:6379, error code: 1, error description: Connection refused
E0211 16:07:07.367661  3228 redis_impl.cc:1050] 0 connection: Failed to connect to redis server: 127.0.0.1:6379, Retrying.
E0211 16:07:07.367875  3228 redis_connection.cc:100] 1 connection: Failed to connect to redis server: 127.0.0.1:6379, error code: 1, error description: Connection refused
E0211 16:07:07.368062  3228 redis_impl.cc:1050] 1 connection: Failed to connect to redis server: 127.0.0.1:6379, Retrying.
E0211 16:07:07.368276  3228 redis_connection.cc:100] 2 connection: Failed to connect to redis server: 127.0.0.1:6379, error code: 1, error description: Connection refused
E0211 16:07:07.368468  3228 redis_impl.cc:1050] 2 connection: Failed to connect to redis server: 127.0.0.1:6379, Retrying.
E0211 16:07:07.368664  3228 redis_connection.cc:100] 3 connection: Failed to connect to redis server: 127.0.0.1:6379, error code: 1, error description: Connection refused
E0211 16:07:07.368842  3228 redis_impl.cc:1050] 3 connection: Failed to connect to redis server: 127.0.0.1:6379, Retrying.
E0211 16:07:07.369161  3228 redis_connection.cc:100] 500 connection: Failed to connect to redis server: 127.0.0.1:6379, error code: 1, error description: Connection refused
E0211 16:07:07.369352  3228 redis_impl.cc:104] RedisSubImpl::Initialize: Failed to connect to redis server: 127.0.0.1:6379

$ netstat -tupln
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
tcp6       0      0 ::1:6010                :::*                    LISTEN      -               
tcp6       0      0 :::2181                 :::*                    LISTEN      -               
tcp6       0      0 :::33513                :::*                    LISTEN      -               
tcp6       0      0 :::22                   :::*                    LISTEN      -               
udp        0      0 0.0.0.0:68              0.0.0.0:*                           -

zookeeper.service     loaded active running   LSB: centralized coordination service

주키퍼의 경우 서비스가 실행되고 있고 2181 포트가 열려있는걸로 보입니다.

질문) 6379 포트가 열려 있지 않은데 어떻게하면 열수 있는건가요? (Redis 설치에 대해 궁금합니다)


I0211 16:07:07.976095  3228 manifest_handler.cc:780] Starting ZookeeperClient
I0211 16:07:07.976105  3228 zookeeper ...
(more)
2019-02-11 14:19:35 +0900 edited answer 패키지 설치 후 서비스 시작 중 Skipped signal handling.

aws 인스턴스 서버 INFO 로그 뒷부분이 없습니다. 기존 개발 서버에서는 다음과같이 정상적으로 실행됩니다.


Log file created at: 2019/02/08 03:31:39
Running on machine: Doublestroke-SeverCom
Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg
I0208 03:31:39.286231  6052 main.cc:595] Engine version: 1.0.0-3820xenial
I0208 03:31:39.286366  6052 main.cc:601] Command line arguments: [ccg_server_server.lobby]
I0208 03:31:39.286370  6052 main.cc:602] Server flavor: lobby
I0208 03:31:39.286401  6052 main.cc:616] Crashreporter initialized; .dmp will be written to /var/crash/funapi/ccg_server.lobby
I0208 03:31:39.737685  6052 main.cc:638] License info: {"production":false,"trial":true,"expires":"2019-Jun-02 04:38:26"}
I0208 03:31:39.747105  6052 manifest_handler.cc:682] libccg_server.so loaded.
I0208 03:31:39.747164  6052 main.cc:688] Loading Mono runtime and managed app: mono_dll_path=/usr/lib/ccg_server/lobby/CcgServer.dll //  **aws 인스턴스 서버는 이부분 까지 진행됩니다.**
I0208 03:31:39.752806  6052 runtime.cc:149] Mono assembly loaded: CcgServer, Version=1.0.6978.2355
I0208 03:31:39.752879  6052 runtime.cc:149] Mono assembly loaded: protobuf-net, Version=2.0.0.668
I0208 03:31:39.752940  6052 runtime.cc:149] Mono assembly loaded: funapi, Version=1.0.6977.25952
I0208 03:31:39.753011  6052 runtime.cc:149] Mono assembly loaded: Newtonsoft.Json, Version=9.0.0.0
I0208 03:31:39.753020  6052 runtime.cc:123] Mono assembly loaded: mscorlib, Version=4.0.0.0
I0208 03:31:39.753123  6052 runtime.cc:123] Mono assembly loaded: System, Version=4.0.0.0
I0208 03:31:39.762521  6052 manifest_handler.cc:751] Initializing HardwareInfo
I0208 03:31:39.762670  6052 hardware_info.cc:161] Found non-loopback AF_INET NIC: eno1, 192.168.0.---/255.255.255.0, dc:4a:3e:95:f3:42
I0208 03:31:39.762751  6052 hardware_info.cc:360] Trying to resolve an external IP through AWS API
I0208 03:31:39.762754  6052 hardware_info.cc:236] Invoking RESETful API: http://169.254.169.254/latest/meta-data/public-ipv4/
W0208 03:31:41.764416  6052 hardware_info.cc:250] Failed to invoke AWS API. Skipping: Timeout was reached
I0208 03:31:41.764508  6052 hardware_info.cc:363] Trying to resolve an external IP from NIC
W0208 03:31:41.764511  6052 hardware_info.cc:369] No NIC found. Skipping: eth0
I0208 03:31:41.764518  6052 hardware_info.cc:375] Trying to resolve a specified NAT info
I0208 03:31:41.764529  6052 hardware_info.cc:427] Resolved an external IP: 192.168.0.--- (nat:192.168.0.---:tcp+pbuf=7016:http+json=7012)0
W0208 03:31:41.764535  6052 hardware_info.cc:431] You specified how to get an external IP, but it seems the address is private. If your are running the server on your internal network for internal development, it would be OK. But if your server is deployed and should handle clients from any IP address, this server would not work.
I0208 03 ...
(more)
2019-02-08 16:15:56 +0900 edited question 패키지 설치 후 서비스 시작 중 Skipped signal handling.

서버개발 OS는 Ubuntu 14.04입니다.

서버 패키징 후 AWS 인스턴스에 서비스 환경 구축 후 패키지 설치까지 완료 했습니다.

서비스는 실행 중인데 아래와 같은 로그를 확인 해본결과

Skipped signal handling 으로 정상적인 실행이 안 되는 것 같은데 어떤 문제 인가요?


$ ubuntu@ip-172-31-43----:/var/log/funapi/ccg_server.lobby/glog$ vi ccg_server_server.lobby.INFO    
Log file created at: 2019/02/08 06:24:54    
Running on machine: ip-172-31-43----    
Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg    
I0208 06:24:54.608649  1249 main.cc:595] Engine version: 1.0.0-3820xenial    
I0208 06:24:54.608847  1249 main.cc:601] Command line arguments: [ccg_server_server.lobby]    
I0208 06:24:54.608853  1249 main.cc:602] Server flavor: lobby    
I0208 06:24:54.608896  1249 main.cc:616] Crashreporter initialized; .dmp will be written to /var/crash/funapi/ccg_server.lobby    
I0208 06:24:55.899564  1249 main.cc:638] License info: {"production":false,"trial":true,"expires":"2019-Jun-02 04:38:26"}    
I0208 06:24:56.033735  1249 manifest_handler.cc:682] libccg_server.so loaded.    
I0208 06:24:56.033849  1249 main.cc:688] Loading Mono runtime and managed app:     
mono_dll_path=/usr/lib/ccg_server/lobby/CcgServer.dll

$ ubuntu@ip-ip-172-31-43----:/var/log/funapi/ccg_server.lobby/glog$ vi ccg_server_server.lobby.ERROR

Log file created at: 2019/02/08 06:23:13

Running on machine:  ip-172-31-43----

Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg

**E0208 06:23:13.785326  1693 fault.cc:202] Skipped signal handling.**

ubuntu@ip-ip-172-31-43----:/var/log/funapi/ccg_server.lobby/glog$ vi ccg_server_server.lobby.WARNING

Log file created at: 2019/02/08 06:23:13

Running on machine:  ip-172-31-43----

Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg

**E0208 06:23:13.785326  1693 fault.cc:202] Skipped signal handling.**

2019-01-31 15:26:50 +0900 commented answer 대시보드 관련해서 문의드립니다.

매뉴얼을 따라 했다면, https://ifunfactory.com/engine/docume... 아래 부분을 서버 내의 디렉터리로 지정했는지 확인이 필요합니다.

  • /path/to/override: 서버 설정 디렉터리에 해당하는 디렉터리로 변경
  • /path/to/whisper: 통계 데이터를 저장할 디렉터리로 변경
2019-01-30 21:07:17 +0900 commented answer 대시보드 관련해서 문의드립니다.

위에서 sudo docker ps 해서 나오는 항목이 없다면, sudo systemctl start funapi-dashboard 중간 절차의 이 부분이 실행되지 않은 것으로 보입니다. 이 부분부터 다시 진행 해주시면 될 것 같습니다.

2019-01-30 10:33:11 +0900 commented answer 대시보드 관련해서 문의드립니다.

sudo docker ps | grep funapi-dashboard 로 나오는 컨테이너가 있는지 확인 바랍니다. 없다면 sudo docker ps 해서 나오는 목록을 알려주시면 확인해보겠습니다.

2019-01-29 14:23:29 +0900 answered a question 대시보드 관련해서 문의드립니다.
sudo docker exec \
    --env FUNAPI_DASHBOARD_SETTINGS=/etc/funapi_dashboard/override/settings.py \
    -it $(sudo docker ps | grep funapi-dashboard | cut -d' ' -f1) \
    python /etc/funapi_dashboard/manage.py syncdb

위 명령으로 실행 부탁 드리겠습니다. (중간의 funapi_dashboard 를 funapi-dashboard 로 변경했습니다) 해당 내용은 이후 릴리즈에서 문서에 반영하도록 하겠습니다.

2019-01-29 13:37:57 +0900 answered a question 대시보드 관련해서 문의드립니다.

해당 파일은 docker 이미지 내에 존재합니다.

docker images ifunfactory/funapi-dashboard 명령으로 사용 중인 이미지를 확인해주시면, 해당 이미지에 문제가 없는지 확인해드리겠습니다.

2019-01-29 13:22:59 +0900 edited question 대시보드 관련해서 문의드립니다.

Funapi Dashboard 설정 부분에서

$ sudo docker exec \
    --env FUNAPI_DASHBOARD_SETTINGS=/etc/funapi_dashboard/override/settings.py \
    -it $(sudo docker ps | grep funapi_dashboard | cut -d' ' -f1) \
    python /etc/funapi_dashboard/manage.py syncdb

입력시

/etc/funapi_dashboard/manage.py 파일이 없다고 나오는데요. 어떤 부분을 설치해야 해당 경로에 manage.py 파일이 생성되는지 문의 드립니다.

2018-12-14 13:40:46 +0900 edited question crash 관련 문의 드립니다.

서버 크래쉬와 함께아래 처럼 로그가 남았는데요.
원인 을 알수 있으까요.?

I1214 11:34:47.038450 23341 session_impl.cc:1149] SendMessage ignored. closed session: sid=dab35b64-2005-45eb-afec-aebccee0705c, msgtype=_sc_redirect
F1214 11:34:47.038494 23341 session_impl.cc:1276] Assert failed: state_ == kOpened:
E1214 11:34:47.039716 23341 framework.cc:58] System has been crashed. (Event=, 1.0.0-3624trusty)
2018-12-10 14:45:02 +0900 answered a question ORM 오브젝트 관련 문의 드립니다.

KEY 로 지정한 컬럼은 자동으로 인덱스가 생성됩니다.

2018-11-28 18:53:07 +0900 edited answer flavor 사용시 패키징 문의

안녕하세요. 아이펀팩토리입니다. 위에서 올려주셨던 문제를 수정(C# 환경에서 flavor 를 설정한 deb 패키지를 설치할 수 없는 문제 수정) 을 포함한 1.0.0-3714 experimental 버전이 배포되었습니다. 엔진 업데이트 이후에도 동일한 증상이 발생하는지 확인부탁드립니다.

엔진 업데이트 방법은 쉘 상에서 아래 명령어를 입력해주시면 됩니다.

sudo apt-get update

sudo apt-get install funapi1-dev

위 수정사항을 포함한 변경 내역은 빠른 시일 내에 체인지 로그에 반영될 예정입니다. 불편을 드려 죄송합니다.

2018-11-20 20:52:01 +0900 received badge  Commentator (source)
2018-11-20 20:52:01 +0900 commented answer 패키징 시 MANIFEST 설정 문의

external_ip_resolversnat:... 부분을 쓸 때 IP 주소만 지정한 경우 -- 예를 들어 "external_ip_resolvers": "nat:147.46.123.45" 처럼 지정한 경우 -- 포트는 tcp_protobuf_... 등에서 지정한 값을 외부에 노출된 값으로 인식하고 사용합니다.