Ask Your Question

gigone.lee's profile - activity

2019-05-14 14:32:03 +0900 commented answer 이벤트 행 문제 질문드립니다.

AWS 에서 Ubuntu 16.04 버전으로 테스트했을 때도 동일한 이슈가 발생했다는 부분에 대해 자세한 설명을 부탁드려도 될까요? 테스트 환경에 Visual Studio 가 포함됐는지, 기존에는 Visual Studio IDE 를 어떻게 활용하셨는지 알려주신다면 저희 쪽에서 지원 플랫폼으로 고려하는 데 도움이 될 것 같습니다.

2019-05-14 09:31:26 +0900 commented answer 이벤트 행 문제 질문드립니다.

현재 ubuntu + visual studio(c#) 환경은 공식적으로 지원하고 있지 않아 해당 플랫폼에 대해서는 도움을 드리기 어려울 것 같습니다. MonoDevelop 에서 문제가 없다면 이 환경에서 개발을 진행해주실 수 있을까요?

이슈와 별개로 사용 중이신 개발 환경(ubuntu + visual studio)에 대해 자세히 알려주시면 감사하겠습니다. 윈도우 WSL 위에서 동작하는 건지, 또는 다른 환경을 구축하신 것인지 알려주시면 저희쪽에서 추후 해당 플랫폼도 지원할 수 있는지 검토해보겠습니다.

2019-05-13 16:10:53 +0900 commented answer 이벤트 행 문제 질문드립니다.

넵 불편을 드려 죄송합니다. 해당 내용은 원인 파악하고 수정하는대로 다시 알려드리겠습니다.

2019-05-13 15:55:17 +0900 commented answer 이벤트 행 문제 질문드립니다.

앞서 안내드린 플래그를 추가해도 문제가 지속되는 점에서 모노 버전과는 관련이 없을 것 같습니다. 문제가 생겼던 모노 버전은 5.16.xx 부터입니다(만약 버전 변경을 하신다면 5.15.xx 로 해야 합니다).

2019-05-13 11:59:12 +0900 commented answer 이벤트 행 문제 질문드립니다.

확인 감사합니다. 저희 쪽에서 몇 가지 관련 사항들을 확인해보고 답변 드리겠습니다. 테스트 환경은 단순하게 정수 값을 카운팅하는 핸들러를 등록한 후 호출한 걸로 이해하면 될까요?

2019-05-13 11:31:59 +0900 commented answer 이벤트 행 문제 질문드립니다.

서버를 실행하는 터미널에서 실행 전 export MONO_THREADS_SUSPEND=preemptive 를 입력한 후 실행해도 동일한 증상이 생기는지 확인이 가능할까요?

2019-05-13 11:24:17 +0900 commented answer 이벤트 행 문제 질문드립니다.

다음 사항들을 확인해보셔야 할 것 같습니다.

  1. apt list --installed | grep funapi1 로 확인했을 때 나오는 버전으로 업그레이드 확인이 필요합니다.

  2. 실제 이벤트 실행 시간이 30초를 넘었는지 확인이 필요합니다.

  3. 이후에도 안된다면 클린 빌드 후 테스트해주시면 감사하겠습니다.

2019-05-13 11:08:53 +0900 commented answer 이벤트 행 문제 질문드립니다.

funapi_select_repo 명령어 이후에 update 명령어도 실행해주셔야 합니다. 엔진 업데이트를 위한 전체 명령어는 다음과 같습니다.

$ sudo funapi_select_repo experimental

$ sudo apt-get update && sudo apt-get upgrade

2019-05-13 11:01:04 +0900 answered a question 이벤트 행 문제 질문드립니다.

안녕하세요 아이펀팩토리 입니다.

엔진에서 실행하는 모든 이벤트는 특정 시간(MANIFEST.json 에 있는 event_timeout_in_ms 값)동안 실행이 끝나지 않으면 강제로 종료합니다. 위 로그는 이벤트 실행 시간이 30초(elapsed_time_in_sec)가 지났기 때문에 출력하는 로그로, 로그가 출력되는 상황 자체는 정상적이라고 볼 수 있습니다.

전달 주신 코드를 봤을 때는 C# 개발 환경을 사용 중인 것으로 보이는데, 이는 엔진의 문제 보다는 모노 버전의 문제 같습니다. 현재 모노 특정 버전(5.16.xx) 이상에서 스레드가 멈추는 증상이 있어, 이로 인해 비슷한 증상이 발생할 수 있습니다.

이 문제는 1.0.0-4003 experimental 버전에서 수정됐으니 참고해주시면 감사하겠습니다.

2019-04-16 10:07:20 +0900 commented answer 외부 서비스 인증 관련해서 문의 드립니다.

안녕하세요. 아이펀팩토리입니다. 서버 쪽에서는 요청 시 출력하는 별다른 에러가 없는지 확인이 필요할 것 같습니다. 클라이언트 쪽은 사용하는 SDK에 따라 다르기 때문에 저희가 제공할 수 있는 내용이 많지 않지만, 설정 관련해서는 https://github.com/playgameservices/p... 문서를 참고하는 것도 도움이 되시리라 생각합니다.

2019-04-15 13:28:04 +0900 commented answer zookeeper 관련해서 문의드립니다.

/var/lib/zookeeper/version-2 디렉토리 안에 있는 파일들을 삭제한 후 다시 실행해볼 수 있을까요?

2019-04-15 11:36:45 +0900 answered a question zookeeper 관련해서 문의드립니다.

안녕하세요 아이펀팩토리입니다.

systemctl restart zookeeper

등으로 주키퍼 서비스를 재시작해도 실행이 되지 않는다면 /var/log/zookeeper/ 디렉토리에 있는 zookeeper.log 내용도 함께 볼 수 있을까요?

2019-04-12 12:15:56 +0900 commented answer Matchmaking 관련해서 문의드립니다.

네 Install() 시점에서는 타이밍에 따라 엔진 함수가 제대로 동작하지 않을 수 있습니다. Install() 안에서는 초기화만 진행하고 이벤트나 엔진 함수 호출은 Start() 안에서 하는것을 권장하고 있습니다.

2019-04-12 12:08:15 +0900 commented answer Matchmaking 관련해서 문의드립니다.

이벤트를 실행하는 곳이 서버의 Install() 함수 안인지 확인해주실 수 있나요?

2019-04-12 12:00:21 +0900 answered a question Matchmaking 관련해서 문의드립니다.

안녕하세요. 아이펀팩토리 입니다.

로그를 보니 매치메이킹 컴포넌트가 초기화되지 않은 것 같습니다. 매치메이킹 기능을 사용하는 서버의 MANIFEST.json 파일에 아래 내용이 있는지 확인해주실 수 있을까요? 이 부분은 저희 쪽에서 더 명확하게 알 수 있게 로그 내용을 변경하겠습니다.

....
"MatchmakingClient":{},
"MatchmakingServer":{
  "enable_match_progress_callback":true,
  "enable_dynamic_match":false
}
2019-03-26 10:21:08 +0900 commented answer ORM Map 사용시 문의 드립니다.

for 문 안에서 Map을 순회하면서 각 인덱스에 저장된 오브젝트 ID 로 Fetch() 를 호출하는 경우입니다. 이 경우 각 인덱스를 순회할 때마다 롤백이 발생할 수 있으므로 ID 를 모아 한 번에 Fetch() 하신 후 사용하는 것이 좋습니다.

이런 형태로 가져온 이후부터는 for 문 안에서 Map을 순회해도 이미 앞에서 ID 목록으로 Fetch()를 했기 때문에 성능 문제가 발생하지 않습니다.

2019-03-20 16:03:21 +0900 answered a question WallClock 시간 관련해서 문의 드립니다.

안녕하세요 아이펀팩토리 입니다.

WallClock 클래스에서 로컬 타임을 별도로 제공하지는 않고 있습니다. 대신 다음 코드(UTC+9 기준)를 사용하시면 로컬 타임 보정이 가능합니다.

#include "boost/date_time/local_time/local_time.hpp"

using namespace boost::gregorian;
using namespace boost::local_time;
using namespace boost::posix_time;

WallClock::Value t = WallClock::Now();
boost::local_time::time_zone_ptr
    time_zone(new boost::local_time::posix_time_zone("UTC+9"));

local_date_time adjusted_time =
    boost::local_time::local_date_time(t, time_zone);

WallClock::Value local_time = adjusted_time.local_time();

LOG(INFO) << "local time: " << local_time;
2019-03-19 12:20:07 +0900 answered a question 우분투 16.04 실행 문제

다음 그림을 참고하셔서 테스트를 진행해주시면 감사하겠습니다.

  • 솔루션 화면에서 두 번째 {프로젝트_이름} 을 오른 쪽 클릭 후 "Option" 클릭

image description

  • Run -> Configurations -> Custom Command 를 누르면 아래와 같은 그림을 볼 수 있습니다. 여기서 external program 이 ${TargetDir}/buildcpp/{프로젝트 이름}-local (그림의 경우 프로젝트 이름이 csorm_test 입니다) 인지 확인.

  • {프로젝트 이름}/mono/bin/Debug/buildcpp 안에 {프로젝트 이름}-local 파일이 있는지 확인 (없을 경우 make clean -> make 실행이 필요합니다)

image description

  • 이후에도 빌드가 실패하는지 확인해주시면 됩니다.
2019-03-19 11:58:20 +0900 received badge  Commentator
2019-03-19 11:58:20 +0900 commented answer 우분투 16.04 실행 문제

추가로 {프로젝트 이름}/mono/bin/Debug 안에 첫 코멘트에서 적어주신 로그에 해당하는 {프로젝트 이름}.dll 이 존재하는지도 한번 확인해주시면 감사하겠습니다.

2019-03-19 11:57:09 +0900 commented answer 우분투 16.04 실행 문제

https://ifunfactory.com/engine/docume... 항목을 참고하셔서 빌드 결과물이 저장된 디렉토리를 삭제한 후 다시 시도해주실 수 있을까요?

2019-03-19 11:43:53 +0900 commented answer 우분투 16.04 실행 문제

다음 두 가지 사항을 확인해주실 수 있을까요?

  1. 최신 버전의 mono-devel 설치 여부 (https://ifunfactory.com/engine/docume... 문서에 있는 절차를 따라주시면 됩니다)

  2. 사용 중이신 MonoDevelop IDE 버전 (상단에 있는 Help -> About)

2019-03-19 11:31:48 +0900 answered a question 우분투 16.04 실행 문제

안녕하세요 아이펀팩토리 입니다.

Monodevelop 좌측 상단에 보이는 화살표 버튼 옆에 체크 박스가 하나 있는데요.

그 체크 박스를 클릭하면 다음과 같은 두 가지 옵션을 볼 수 있습니다.

  • {project_name}
  • {project_name}-Custom Command

혹시 첫 번째 항목으로 설정된 경우라면 두 번째 항목으로 바꾼 후 다시 시도해주시면 감사하겠습니다.

2019-03-19 11:23:16 +0900 commented answer 기획데이터 관련해서 문의 드립니다.

자세한 정보 감사합니다. 컬럼 타입이 DATETIME/DATE 인 경우 문자열로 저장하고 있습니다. 해당 값을 boost::lexical_cast<int64_t> 로 변환하면 원하시는 형태로 사용이 가능할 것 같습니다.

2019-03-19 10:55:32 +0900 answered a question 기획데이터 관련해서 문의 드립니다.

안녕하세요 아이펀팩토리 입니다.

답변을 드리기 전에 사용하시려는 방향에 대해 질문드릴 게 있습니다. DATETIME 타입 값을 ORM 을 통해 가져와 사용하시려는 것인지, 별도로 MariaDB 객체를 만든 후 직접 데이터베이스로부터 가져와 사용하시려는 건지 알 수 있을까요?

2019-03-15 17:05:26 +0900 commented answer 외부 서비스 인증 관련해서 문의 드립니다.

안녕하세요. MANIFEST.json 안의 use_authentication_service 값을 확인해주실 수 있을까요? 이 값이 false 인 경우 테스트 모드로 동작하여 실제 페이스북 통신은 하지 않고 콜백만 호출합니다.

2019-03-13 11:11:29 +0900 commented answer 외부 서비스 인증 관련해서 문의 드립니다.

안녕하세요. 계정 ID는 클라이언트 SDK 에서 얻을 수 있는 playerId 를 사용하면 됩니다. 서버에서 account_id 를 임의로 생성할 경우에도 playerId와 매칭하여 사용하셔야 합니다(그렇지 않을 경우 서버는 클라이언트 데이터에 의존하게 되므로, 클라이언트 데이터가 삭제될 경우 서버가 클라이언트를 식별할 수 없게 됩니다).

참고로 현재 서버 쪽에서 클라이언트가 보낸 playerId와 발급한 토큰이 모두 같은 사용자의 것인지 확인하는 방법을 제공하지 않는데, 이 API 는 빠른 시일내로 추가할 예정입니다.

2019-03-06 17:35:54 +0900 received badge  Editor (source)
2019-03-06 17:30:39 +0900 answered a question orm 관련해서 문의드립니다.

안녕하세요 아이펀팩토리 입니다.

바이너리 값은 HEX(col_ObjectId_) 로 가져오거나 비교할 수 있습니다. 예를 들어 ObjectID 가 11111111-2222-3333-4444-555555555555 인 오브젝트를 조회하실 때는

select * FROM tb_Object_{오브젝트 이름} where col__ObjectId_ = 0x11111111222233334444555555555555;

와 같이 할 수 있습니다.

다른 궁금하신 점 있으시면 이 스레드로 답장 부탁드립니다.

감사합니다.

2019-02-13 09:09:35 +0900 answered a question Pong Game Server(C#) Caught signal: 6

안녕하세요. 아이펀팩토리 입니다.

해당 문제는 우분투 16.04 에서 모노 패키지를 실행할 때 발생하며 모노 패키지를 최신 버전으로 업그레이드하면 해결할 수 있습니다. 업그레이드 명령어는 다음과 같습니다.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/ubuntu xenial main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install mono-devel

C# 개발 환경 셋팅 중 궁금하신 점은 https://ifunfactory.com/engine/docume... 링크를 참고해주시거나 이 곳으로 문의 주시면 감사하겠습니다.

2019-02-12 09:18:20 +0900 answered a question Redis 접속 실패

Redis 서버 설치를 말씀드리기 전에, Redis를 반드시 사용해야 하는 경우가 아니라면 MANIFEST.json 파일 안에서 비활성화할 수 있습니다.

"Redis": {
   "enable_redis": false,
   ...
 }

Redis 서버가 필요한 경우에는 다음 명령어를 참고하셔서 설치할 수 있습니다.

$ sudo apt-get install redis-server

아래는 서버 시작 명령어 입니다.

$ sudo service redis-server start

Redis 서버를 다른 곳에 설치하신 경우에는 /etc/redis/redis.conf 파일을 편집기로 열어 다음 부분을 수정한 후 서비스를 재시작하면 됩니다.

# Examples:
#
# bind 192.168.1.100 10.0.0.1
# 아래 주소를 외부에서 접속 가능한 주소로 변경하면 됩니다.
bind 127.0.0.1

마지막으로, 우분투 14.04는 3월 이후로 엔진 업데이트를 중단할 예정에 있습니다. 가급적이면 16.04 로 사용해주시면 감사하겠습니다. 18.04는 곧 지원할 예정입니다.

2019-02-12 09:08:22 +0900 received badge  Enthusiast
2019-02-08 16:01:20 +0900 answered a question 패키지 설치 후 서비스 시작 중 Skipped signal handling.

안녕하세요. 아이펀 팩토리입니다.

Skipped signal handling 에러 메시지는 서버가 어떤 이유로 크래시하게 되기 전 시그널을 받을 때, 시그널을 여러번 받을 경우 출력합니다. 보내주신 로그만 봤을 때는 INFO 로그 뒷 부분이 보이지 않아 어떤 원인으로 서버가 충돌했는지 확인하기 어렵습니다. INFO 로그 전체를 보내주시면 정확한 원인을 파악할 수 있을 것 같습니다.

2018-12-14 15:38:11 +0900 commented answer crash 관련 문의 드립니다.

확인 결과 use_session_reliability 기능을 활성화한 상태에서 닫힌 세션을 리다이렉션 처리할 경우 발생하는 것으로 보입니다. 닫힌 세션을 리다이렉션 처리하지 않도록 설계했기 때문에 그렇습니다. 먼저, 리다이렉션 처리 전 세션이 열렸는지 확인한 후 닫힌 경우 리다이렉션을 하지 않는 방향으로 수정해주시면 감사하겠습니다. 이 부분은 추후 충돌 대신 에러를 출력하는 방향으로 수정할 예정입니다.

2018-12-14 12:13:32 +0900 answered a question crash 관련 문의 드립니다.

안녕하세요. 아이펀팩토리입니다. 보내주신 내용 토대로 확인해보고 알려드리겠습니다. 다음 내용도 함께 알려주시면 감사하겠습니다.

  1. 사용 중이신 클라이언트 버전
  2. MANIFEST.json 에 있는 use_session_reliability 기능 사용 유무 (true / false)
2018-08-07 09:59:47 +0900 commented answer [서포터즈] c# 프로젝트 실행시 raise.c 파일을 찾는현상 문의

네 양해해주셔서 감사합니다. C# 쪽 동작에만 문제가 있는 것으로 보아서는 설치된 Mono 패키지가 제대로 동작하지 않거나, 업데이트가 필요한 것으로 보입니다. 시간 되실 때 다음 문서를 참고하셔서 Mono를 최신 버전으로 교체하시거나, 서버를 새로 구성하시면 정상 동작할 것으로 보입니다. 저희 쪽에서도 지속적으로 유사한 증상이 발생할 수 있는지 확인해보겠습니다. https://ifunfactory.com/engine/docume...

2018-08-06 17:00:47 +0900 answered a question [서포터즈] c# 프로젝트 실행시 raise.c 파일을 찾는현상 문의

말씀 주신 내용을 토대로 확인해봤으나 재현하는데 어려움을 겪고 있습니다. 다음 사항들을 확인해주시면 원인을 찾는데 도움이 될 것 같습니다.

  1. C# 프로젝트를 새로 생성했을 때 에러 발생 유무

  2. 도구(Tool) -> Download iFunEngine headers, Download boost headers 및 Force to Re-Import From Server 실행 이후 에러 발생 유무

  3. 연결된 Hyper-V 서버에서 sudo apt-get install libc6-dbg 를 실행하여 패키지를 설치한 이후 에러 발생 유무

추가로 에러가 발생한 화면을 캡쳐해 첨부해주시면 참고하여 발생할만한 다른 원인이 있는지 확인해보겠습니다. 감사합니다.

2018-08-06 14:04:11 +0900 commented answer [서포터즈] c# 프로젝트 실행시 raise.c 파일을 찾는현상 문의

답변 감사합니다. 전달주신 내용 참고해서 확인되는 대로 알려 드리겠습니다.

2018-08-06 13:25:08 +0900 answered a question [서포터즈] c# 프로젝트 실행시 raise.c 파일을 찾는현상 문의

안녕하세요. 아이펀팩토리 입니다.

설정하신 Hyper-V 서버에서 C++로 했을 때는 정상적으로 되나, C#으로 설정한 프로젝트를 실행했을 때만 raise.c 파일을 찾는 현상이 발생하는지, 아니면 각각 다른 머신에서 확인했었는지 알려주실 수 있나요?

또한 소스 찾기가 VS 창에서 뜨는지, 빌드하는 서버에서 뜨는지도 알려주시면 감사하겠습니다. 참고로 말씀 주신 raise.c 파일은 아이펀팩토리 내부가 아닌 외부 라이브러리(libc6) 파일입니다. 일반적인 경우 엔진을 설치할 때 이 패키지도 함께 설치되기 때문에 프로젝트의 문제라기보다는 Hyper-V 서버 설정 문제일 가능성이 높습니다.

문의 주신 내용은 저희 쪽에서도 유사한 문제가 발생할 수 있는지 확인해보겠습니다.

감사합니다.

2017-12-15 12:31:25 +0900 answered a question GetResRoot() 함수를 어떻게 사용하나요?

안녕하세요 casper7609 님. 아이펀팩토리입니다.

말씀하신 함수는 현재 C++에서만 사용할 수 있습니다. C#쪽 함수는 다음 업데이트 버전에서 추가될 예정이며 추가되는대로 이 스레드를 통해 알려드리도록 하겠습니다.

다른 궁금하신 점 있으시면 언제든지 알려주세요. 감사합니다.

2017-11-21 08:53:33 +0900 answered a question ToJson 함수가 없어졌습니다.

안녕하세요 shkim 님. 아이펀팩토리 입니다.

해당 함수(ToJson())는 experimental 버전에만 있어서 stable로 변경할 경우 사용할 수 없는데요.

아래 명령어를 통해서 배포 버전을 변경해 보시기 바랍니다.

$ funapi_select_repo experimental

배포판 변경 후 패키지 업그레이드를 진행해 주시면 됩니다. 참고로 우분투의 경우 패키지 버전에 따라 upgrade 대신 dist-upgrade를 사용해야 할수도 있으니 참고 바랍니다.

지속적으로 동일한 현상이 발생하면 레파지토리 캐시를 제거한 후 다시 시도해 보시기 바랍니다.

캐시 제거 명령은 다음과 같습니다.

CentOS:

$ sudo yum clean all

Ubuntu:

$ sudo apt-get clean

문제가 수정되지 않으면 언제든지 다시 알려주세요.

감사합니다.

2017-11-06 11:41:14 +0900 commented answer dump as json

안녕하세요. 아이펀팩토리 입니다. 해당 기능은 Experimental 2430 버전 이후에서 사용할 수 있습니다.

JSON 덤프는 해당 ORM 오브젝트에 포함된 ToJson() 메서드를 호출하는 것으로 사용하실 수 있습니다.

다른 궁금하신 점 있으시면 언제든지 답변 주시기 바랍니다. 감사합니다.