Результаты опроса: Нужен ли бесплатный аналог GameKeeper

Голосовавшие
17. Вы ещё не участвовали в этом опросе
  • Да, это интересно

    10 58.82%
  • Нет, GameKeeper всем устраивает

    7 41.18%
Страница 4 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 31 по 40 из 42

Тема: Бесплатный аналог GameKeeper

  1. #31
    Разбирающийся Аватар для VampireKB
    Регистрация
    27.03.2007
    Адрес
    Moscow City
    Сообщений
    2,854
    Поблагодарил(а)
    0
    Благодарностей: 17 (сообщений: 11)
    Шато Д'Икем 76 года и полкило черной икры будет вполне достаточно.
    Да запросто ! Их прям тут в подвале бодяжат !
    Хотите БЕСПЛАТНЫЙ кипер ? http://www.techrk.ru/?cat=17
    Также доступен ФТП !! ftp://techrk.ru
    Теперь возможно произвести покупку ПО через терминалы Qiwi.Подробности на сайте

  2. #32
    Разбирающийся Аватар для NeiroN
    Регистрация
    30.01.2015
    Адрес
    Ижевск
    Сообщений
    119
    Поблагодарил(а)
    0
    Благодарностей: 5 (сообщений: 3)
    Почитал сайт и так и не понял какие задачи решает ваше ПО "ЦПДСС"...

    Сейчас смотрю обмен пакетами контроллеров и сервера. Можете ли вы что-либо подсказать по этому вопросу?
    Вот какие пакеты нарыл:
    Код:
    Контроллер отправляет(discovery):
    ('\x00\x02\x00\x23\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x6C\x00\x00\x00\x00', ('172.31.32.1', 18251))
    Сервер отправляет(discovery):
    ('\x00\x01\x00\x03\x00\x04\x00\x01\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00', ('172.31.0.2', 18251))
    Контроллер отвечает на discovery:
    ('\x03\x00\xff\x01\x00\x00\x09\x01', ('172.31.32.1', 18251))
    так-как там где я сижу нет сети контроллеров - приходится бегать.

  3. #33
    Разбирающийся Аватар для VampireKB
    Регистрация
    27.03.2007
    Адрес
    Moscow City
    Сообщений
    2,854
    Поблагодарил(а)
    0
    Благодарностей: 17 (сообщений: 11)
    Почитал сайт и так и не понял какие задачи решает ваше ПО "ЦПДСС"
    если вы так сайт читаете,то боюсь с данным кодом вам также не разобраться ) Учитывая его хитрую натуру (мои до неё 4 часа доходили )
    Хотите БЕСПЛАТНЫЙ кипер ? http://www.techrk.ru/?cat=17
    Также доступен ФТП !! ftp://techrk.ru
    Теперь возможно произвести покупку ПО через терминалы Qiwi.Подробности на сайте

  4. #34
    Разбирающийся Аватар для NeiroN
    Регистрация
    30.01.2015
    Адрес
    Ижевск
    Сообщений
    119
    Поблагодарил(а)
    0
    Благодарностей: 5 (сообщений: 3)
    Шестой набросок сервера:
    Весь основной функционал работы с игровыми аппаратами
    Поддержка нескольких контроллеров сразу, ведение лога событий, эмуляция текстовых сообщений на диспле.
    Код:
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import socket
    from datetime import *
    
    client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    server.bind(('',18251))
    devices = {}
    log = "info.txt"#путь к файлу логов, к началу добавим "Год_месяц_день_"
    #дата,ип адрес,событие,код карты, количество
    def tolog(s):
            logfile = open(datetime.now().strftime("%Y_%m_%d_")+log, "a+")
            logfile.write(s)
            logfile.close()
    def display(data,s):
        global devices
        client.sendto("\x03%c\x00\x01\xff\xa1%32.32s"%((devices[data[1][0]]['request_num']),s.decode("UTF-8").encode("cp866")), (data[1][0],18251))
    def relay(data):
        global devices
        client.sendto("\x03%c\x00\x01\xff\x82\x01"%(devices[data[1][0]]['request_num']), (data[1][0],18251))
    while 1:
            data = server.recvfrom(1024)
            #print data
            if data[0][0] == "\x00" and data[0][1] == "\x02":
                client.sendto("\x01\x01\x00\x03\x00\x04\x00\x01\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00", (data[1][0],18251))
                try:
                    devices[data[1][0]]['info_count'] += 1
                    if devices[data[1][0]]['info_count'] > 60:
                        devices[data[1][0]]['info_count'] = 1
                        display(data,"Проведите КАРТОЙЦена игры: 50руб")
                except:
                    devices[data[1][0]] = {}
                    devices[data[1][0]]['info_count'] = 0
                    devices[data[1][0]]['card'] = ""
                    devices[data[1][0]]['request_num'] = 1
                    devices[data[1][0]]['reply_num'] = 0
            elif data[0][0] == "\x04":
                print "Recived ANS from %s "%data[1][0]
                if devices[data[1][0]]['request_num'] == ord(data[0][1]):
                    print "OK %d"%devices[data[1][0]]['request_num']
                    if devices[data[1][0]]['request_num'] < 254:
                        devices[data[1][0]]['request_num'] += 1
                    else:
                        devices[data[1][0]]['request_num'] = 0
            elif data[0][0] == "\x03":#Обработка ответов о готовности
                devices[data[1][0]]['reply_num'] = ord(data[0][1])
                if data[0][5] == "\x00" and data[0][6] == "\x09" and data[0][7] == "\x01":#Рукопожатие
                    client.sendto("\x03\x01\x00\x00\x00\x00\x00\x20", (data[1][0],18251))
                    client.sendto("\x04%c"%(devices[data[1][0]]['reply_num']), (data[1][0],18251))
                    display(data,"Вас приветствует                ")
                elif data[0][5] == "'":#Обработка карты
                    str = ""
                    for i in range(6,22):
                        str +="%2.2x"%ord(data[0][i])
                    str = str.replace("a","=").replace("f","")
                    devices[data[1][0]]['card'] = str
                    print "Card 2 track: %s"%str
                    client.sendto("\x04%c"%(devices[data[1][0]]['reply_num']), (data[1][0],18251))
                    if len(str.split("=")) > 2:
                        relay(data)
                    else:
                        display(data,"Ошибка карты")
                        devices[data[1][0]]['info_count'] = 60
                elif data[0][5] == "\x08" and data[0][6] == "A":#Обработка ответа о включении реле
                    print "relay OK"
                    client.sendto("\x04%c"%(devices[data[1][0]]['reply_num']), (data[1][0],18251))
                    display(data,"Карта %s   Игра запущена"%devices[data[1][0]]['card'].split("=")[2])
                    devices[data[1][0]]['info_count'] = 60
                    tolog("%s;%s;1;%s;1\r\n"%(datetime.now().strftime("%d-%m-%Y %H:%M:%S"),data[1][0],devices[data[1][0]]['card']))
                elif data[0][5] == "\x08" and data[0][6] == "\x05":#Обработка ответов от счетчика
                    count = ord(data[0][7])*0xff + ord(data[0][8])
                    client.sendto("\x04%c"%(devices[data[1][0]]['reply_num']), (data[1][0],18251))
                    display(data,"Выдано %d купонов                           "%count)
                    devices[data[1][0]]['info_count'] = 60
                    tolog("%s;%s;2;%s;%d\r\n"%(datetime.now().strftime("%d-%m-%Y %H:%M:%S"),data[1][0],devices[data[1][0]]['card'],count))
                    print "Counter EVENT: %d"%count
            else:
                print data
    данный код будет запускать игры и считать купоны записывая это все в ежеденевный лог файл в папке с программой(или другой папке выбранной как рабочей) - этого вполне достаточно для запуска игр "в кредит", когда основная система лежит.
    Скриншот: https://yadi.sk/i/rRygdFFOfG9Wq
    Скомпилированный через py2exe для win32: https://yadi.sk/d/IdS0z8j_fGE6c

    базу наверно PostgreSQL возьму - хз как она по быстродействию и наворотам в языке SQL...
    Также надо продумать структуру таблиц - у GK она не совсем продуманна.
    Последний раз редактировалось NeiroN; 15.03.2015 в 13:27. Причина: обновил код

  5. #35
    Разбирающийся Аватар для VampireKB
    Регистрация
    27.03.2007
    Адрес
    Moscow City
    Сообщений
    2,854
    Поблагодарил(а)
    0
    Благодарностей: 17 (сообщений: 11)
    Цитата Сообщение от NeiroN Посмотреть сообщение
    Первый набросок сервера:
    Нде...а потом будешь долго думать над.... ))

    Первая и основная ошибка: использолвание UCS-овского говнокода.
    Хотите БЕСПЛАТНЫЙ кипер ? http://www.techrk.ru/?cat=17
    Также доступен ФТП !! ftp://techrk.ru
    Теперь возможно произвести покупку ПО через терминалы Qiwi.Подробности на сайте

  6. #36
    Разбирающийся Аватар для NeiroN
    Регистрация
    30.01.2015
    Адрес
    Ижевск
    Сообщений
    119
    Поблагодарил(а)
    0
    Благодарностей: 5 (сообщений: 3)
    Цитата Сообщение от VampireKB Посмотреть сообщение
    использолвание UCS-овского говнокода.
    Обижаешь - весь код мой, и сделан он чтобы просто хоть как то запустить контроллер. Написан путем анализа пакетов через tcpdump, даже прошивки не ковырял ибо лень.

    Если все получится то - я сделаю ПО платным. Основная фишка будет в поддержке(частичной или полной) сторонних контроллеров, потому что переоборудовать центр недешевое удовольствие.

    Конечно свои контроллеры я подключу по TCP(с этим UDP не так удобно), а точнее по http.

    А пока получилась прикольная заглушка - проводишь картой, запускается игра.
    Пришол в центр конкурентов, выдернул аплинк из свича и в свой "сервер" который даже на телефоне можно запустить

  7. #37
    Разбирающийся Аватар для VampireKB
    Регистрация
    27.03.2007
    Адрес
    Moscow City
    Сообщений
    2,854
    Поблагодарил(а)
    0
    Благодарностей: 17 (сообщений: 11)
    Написан путем анализа пакетов через tcpdump, даже прошивки не ковырял ибо лень.
    использолвание UCS-овского говнокода.
    в чем я не прав ?
    основная ошибка УКСА - использование широковещательного канала и СПАМ UDP пакетами.
    Хотите БЕСПЛАТНЫЙ кипер ? http://www.techrk.ru/?cat=17
    Также доступен ФТП !! ftp://techrk.ru
    Теперь возможно произвести покупку ПО через терминалы Qiwi.Подробности на сайте

  8. #38
    ТВОРЕЦ СЧАСТЬЯ Аватар для SH
    Регистрация
    29.11.2006
    Сообщений
    18,069
    Поблагодарил(а)
    481
    Благодарностей: 192 (сообщений: 165)
    выдернул аплинк из свича и в свой "сервер"
    Начинаю догадываться, где здесь монетизация.
    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке - напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru

  9. #39
    Разбирающийся Аватар для NeiroN
    Регистрация
    30.01.2015
    Адрес
    Ижевск
    Сообщений
    119
    Поблагодарил(а)
    0
    Благодарностей: 5 (сообщений: 3)
    С основным функционалом контроллера разобрался:текст выводит, карту читает, реле щелкает, тикеты считает.
    Для реализации полной заглушки - можно подцепить его к MSSQL и запускать игры со списанием денег, а можно просто по некоторым номерам карт включать игры - может быть полезно если основная система накрылась и нужно чтобы вот щас все работало.
    Но основная цель не в этом.

    Теперь нужно выбрать базу. Если у вас есть дельные советы, то буду рад их выслушать.

  10. #40
    Разбирающийся Аватар для VampireKB
    Регистрация
    27.03.2007
    Адрес
    Moscow City
    Сообщений
    2,854
    Поблагодарил(а)
    0
    Благодарностей: 17 (сообщений: 11)
    Теперь нужно выбрать базу. Если у вас есть дельные советы, то буду рад их выслушать.

    Эмм ,кто пишет, тот и музыку заказывает.
    Хотите БЕСПЛАТНЫЙ кипер ? http://www.techrk.ru/?cat=17
    Также доступен ФТП !! ftp://techrk.ru
    Теперь возможно произвести покупку ПО через терминалы Qiwi.Подробности на сайте

Похожие темы

  1. GameKeeper документация
    от Hendehog в разделе GameKeeper
    Ответов: 24
    Последнее сообщение: 15.10.2014, 08:00
  2. Ответов: 6
    Последнее сообщение: 17.09.2008, 09:22

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •