Просмотр полной версии : Связка Rkeeper6 + GK
Не могу разобраться, вроде делаю всё правильно.
Ситуация следующая...Есть необходимость объединить rk6+gk для оплаты очками гейма столов ркипер.Версия rk 6.95.
Делаю вроде по инструкции, сделал выделенный сервер,настроил фаркардс 4.06 тип 1.
Подсунул gkfarcards.dll 1.6.9.0.Прописал в ркипер.ини на кассовом сервере apserver=gserv(с соблюдением регистра).
gkfarcards.ini
[MSSQL]
ConnectionString = Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=gkArcade;Data Source=GK_LOCAL
[log]
Name= gkFarCards.log
Level = 5
DebugLevel = 0
[gkFarCards]
Coupons =0
OnlyCash=0
:Use temporaly level for sell card operations
:OnlyCash=1 не оплачивать бонусами
[discount]
usage=1
field=1
usage=1
field=0
[B]FARCARDS.INI
[FarServer]
Type = 1
DLL = gkFarcards
Gate = 1
[LinkDLL]
1 = RNBOpen
2 = RLocal
3=RTCP
[RTcp]
Client1 = CardInfo
Server1 = 127.0.0.1
Port1 = 2222
[RNBOpen]
Server = GServ
[RLocal]
Port = 2
Лог farcards
** Start Card Retranslator 4.06 04.06.2013 13:08:10 **
Type: 1
External DLL: gkFarcards
Лог gkfarcards.dll
========== LOGGING SESSION STARTED (5/0/49) at 04.06.2013 13:08:10 ============
MODULE: D:\FarCards\gkFarcards.dll, file version: 1.06.9.000
MAIN THREAD ID: 00000F7C
MESSAGE LEVEL SET TO 5
DEBUG LEVEL SET TO 0
STAMP KIND SET TO 49: (Level,Date,Time)
5 04.06.2013 13:39:32> BEGIN GetCardInfo(98728 15661371)
5 04.06.2013 13:39:32> END GetCardInfo: 0
5 04.06.2013 13:40:22> BEGIN GetCardInfo(12345 15661371)
5 04.06.2013 13:40:22> END GetCardInfo: 0
CardInfo данные от sql гейма получает, те остаток карт видит онлайн.Проблема в том, что на кассе при прокатке картой ничего не происходит, gamekeep.dll на кассу подложил.
Сервер кипера выделенный?
В сервер вы подкинули gkLink.dll и настроили ее?
Сервер выделенный.Да gklink.dll засунул в корень rkserver. Настроить это как? Имеется в виду ини?
Да. К нему должен быть файл gkLink.ini
Примерно такой:
[MSSQL]
ConnectionString = Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=gkArcade;Data Source=GK_LOCAL
[log]
Name= gkLink.log
Level = 5
DebugLevel = 1
[RKLink]
Restaurant = 0
Unit = 21
CancelTimeout = 30
В папке сервера должен появиться gkLink.log
Этого у меня и не было...) Ок в принципе всё понятно, но небольшое уточнение по ветке rklink
Restaurant - это что за значение?
Unit - нетбиос имя станции?
Cancel Timeout - таймаут до ответа базы?
Расшифровку не нашел, по памяти:
Restaurant - 0 всегда канало :)
Unit - нетбиос имя какой нибудь существующей станции
Cancel Timeout - таймаут после которого выдавать на кассе сообщение что нет связи с сервером
Версия GK какая? Для разных версий нужны разные gkLink
да похоже в длл косячина.версия 3.14.причём забавный момент связь напополнение карт через gkiface работает...буду очень благодарен если кинете в ветку нужную длл
Пополнение кажется работает через другую длл (которую надо класть на кассу)
под 3,14 у меня сборки рабочей нет уже (давно это было). У вас она должна быть в дистрибутиве GK. Но не факт что она будет рабочая, я помню мы в свое время много их перебрали пока нужную нашли...
В том то и дело пополнение работает отлично...Снять не могу очки с карты гейма...единственный момент меня напрягает, в ркипер.ини прописано имя apserver=GServ, в моём случае.Когда прокатываешь картой гейма обращения до ретранслятора не проходит, но когда катаешь картой старой пдс кардсервера он цепляется к базе и видит через фаркардс, хотя имя у него совершенно другое, чем у старого кардсервера
На кассу кладётся gamekeep.dll, я смотрел в сборках со всех версий, он одинаковый везде.Менялся только gklink.dll и gkfarcards.dll
Может кто ещё подключиться в тему, вообщем на данный момент ситуация такова.
1.Farcards походу рабочий, объясняю тем что приложение cardinfo к нему подключается и благополучно отправляет и принимает ответ от базы sql геймкипера.(получает баланс карты онлайн)
2.Поднял интерфейс gkiface.exe для пополнения карт гейма на кассе ркипер.Прописал в ини параметры кода товаров, который при оплате будет обращаться на службу gkiface, а та в свою очередь на скуль гейма.Это Работает.
Основная загвоздка на данный момент заключается в том, что касса не реагирует на карту гейма при оплате, не проходит сигнал до farcards.Такое ощущение нужна другая длл на самой кассе.Подкладывал gamekeep.dll.Смотрел они вроде все одной редакции(подкладывал несколько раз разные).Думал на gklink.dll, которая кладётся в корень выделенного рксервера, но тут момент в том, что с кассы сигнал до farcards не доходит, в логах нет подключения unita.
Да и ещё вопросы, gamekeep.dll кладётся в корень rkclient на кассе или в extens? Может fixlen нужно настроить?ttttttt
Как то так...будут мнения, буду рад прочитать...может просто не туда смотрю?
gamekeep.dll нужна только для пополнения на кассе. Если пополнение через RK не делается - выкиньте ее нафиг. Где она должна лежать - не помню. Просто попробуйте сперва в корень, потом в Extens. В одном случае будет работать в другом нет - чего проще то.
касса не реагирует на карту гейма при оплате, не проходит сигнал до farcards.Такое ощущение нужна другая длл на самой кассе.
1. Можно тестить не в оплате, а просто в режиме кассира в списке столов. Катаете карту - видите номер и остаток.
2. То что FC "походу рабочий" - это хорошо. Но он пока нам вообще не нужен. Логика работы это связки такая:
Катаем карту на кассе - касса (просто клиент) видит что карта подходящая (префикс 790) - касса передает запрос с номером карты (полным номером, с включающем проверочное число и контрольную сумму) Кассовому серверу - кассовый сервер через gkLink.dll (которая лежит в корне кассового сервера) проверяет что это правильная карта - если все Ок и контрольная сумма у карты верная - то Кассовый сервер обращается к FC (передает номер карты) - FC работает с БД GK.
Возможен затык в 2-х местах:
а. касса не распознает карту и не передает ее на кассовый сервер. У Вас там может быть fix len стоит который ее перебивает? Можно собрать кассу начисто (что бы никаких лишний длл и настроек не было) и проверить.
б. От кассы до кассового сервера инфа доходит - а дальше не отрабатывает gklink. Проверяем так: сидим на машине где крутится кассовый сервер и смотрим в окно кассового сервера. В это же время на кассе катаем карту и смотрим на статус обмена м/у кассой и сервером. Что там проскочит?
В логах gklink что?
Можно (теоретически) попробовать исключить из этой цепочки gklink. На кассе настраиваем FIXLen на маску карты GK. И тогда карта GK будет восприниматься как обычная карта ПДС и ее номер будет передаваться на прямую в FC. Но если это заработает, то вы потеряете проверку карты GK на валидность, и тогда любая карта на которой написано 790=111=59428=1111111=1 или 790=222=59428=2222222=2 будет привязываться к счету 59428 в GK.
:):):):):) Заработало!
Оказывается gamekeep.dll всё таки нужна кидать в extens на кассе.
Для списания с карты она как раз и используется.
sibgaba, Спасибо большое за посильную помощь!Сразу чувствуется рука мастера или дилера)))Спасибо ещё раз
Оказывается gamekeep.dll всё таки нужна кидать в extens на кассе.
Хммм... а я был на 100% уверен что она нужна только для пополнения...
На да бог с ним, теперь, как говорится, работает - не тронь!!!
Powered by vBulletin® Version 4.2.6 LTS Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot