Добавлен ScorpioT1000,
не публикуется
Глобальный чат с системой авторизации, личными сообщениями, информации о игроках и играх, который можно встроить в любую одиночную или мультиплеерную карту Warcraft 3
Что это даёт
- глобальный межкартовый чат
- контроль аккаунтов
- удобные личные сообщения
- кто сейчас онлайн, в какой игре (!) и на сколько игроков
- карты не требуют запуска никаких сторонних приложений, работают как в баттл.нет, так и в гарене, как в сингле, так и в мультиплеере
Как это работает
логику сервера см. на картинке
логика примерно такая у клиента:
крутится хендлер приема и отправки
ктото хочет чето-то отправить (какойто модуль)
он вызывает пуш и добавляет ключ-значение (в кеш)
это может происходить откуда угодно сколько угодно раз
потом в какой-то момент хендлер блокирует пуш (цикл вейтов) и отправляет накопившееся сообщение из кеша и очищает его
после чего пуш разблокируется
отдельно от этого хендлер грузит в отдельный кеш входящее (если есть)
ну и доступ к входящим тоже открытый, только там доступ дается по флагу "загружено полностью" - да или нет
ктото хочет чето-то отправить (какойто модуль)
он вызывает пуш и добавляет ключ-значение (в кеш)
это может происходить откуда угодно сколько угодно раз
потом в какой-то момент хендлер блокирует пуш (цикл вейтов) и отправляет накопившееся сообщение из кеша и очищает его
после чего пуш разблокируется
отдельно от этого хендлер грузит в отдельный кеш входящее (если есть)
ну и доступ к входящим тоже открытый, только там доступ дается по флагу "загружено полностью" - да или нет
у сервера всё проще - там просто блокировки и фврайт
кстати стоит заметить - весь сервер написан на юникоде
кстати стоит заметить - весь сервер написан на юникоде
Клиент
Сервер ScorpioT1000 остановлен и врятли ещё запустится
SMB - плохой способ обмена данных по интернету =) провайдеры и прокси блокируют его порты
SMB - плохой способ обмена данных по интернету =) провайдеры и прокси блокируют его порты
Для начала попробуйте открыть в проводнике windows путь: \\xgm.gameemu.com\warcraft-server
- Качаем ScCommunicator.w3x
- 2.2. Если вы используете свой сервер (т.к. мой остановлен), введите .retry IP, причем вместо ip может быть домен
- После запуска вводим .login НИКНЕЙМ
- Она уже должна запросить доступ к моей папке, потом предложить ввести пароль (первый раз пароль создается, потом - проверяется)
- Чатиться - написать текст, начиная с точки '.', либо сначала ввести две точки "..", потом можно вводить без точек
- Личные сообщения: .л никнейм текст или .m nickname text
- Продолжить личную переписку: .п текст или .r text
- Кто сейчас онлайн и в какой игре: .online
- Выйти из системы: .logout
Если у вас что-то не сработало, проблема может быть с локал файлами: xgm.ru/p/wc3/localfiles
Также в карте почитайте доп. помощь по команде .issue
Также в карте почитайте доп. помощь по команде .issue
Сервер
Процессс разработки можно посмотреть в теме Preload + SMB = ScCommunicator.
Приложение для собственного сервера, инструкция к нему и Source code
Как поднять свой сервер, инструкция:
Исходный код:
<<
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Zetox
попробуй написать вместо логин сначала
.retry тут-айпи-сервера
он должен попробовать подключиться к указанному адресу вместо заданного домена" c ScorpioT1000
p.s. Отличная штука!
Как я понял, у тебя БД на локальном? Пфф :DD Скорп мощный (шутка :)).