Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
ka3ant1p

объединение серверо

возникла грандиозная идея делать объпдиненные сервера. При чем самая соль в том что бы картыбыли разными, таким образом игрок может переходить с 1 сервера на другой. Примерно представляю как это сделать но не знаю как реализовать. Сперва предполагал делать общую базу черектер дата но там координаты.

Вот думаю по другому можно. Делается запрос из базы в базу на получение всего кроме координат по уиду игрока.

То есть нужно что то вроде скрипта синхронизации, то есть все параметры обновляются кроме координат по последнему конекту.

В иделе было бы сделать этот переход без выхода в лобби а типо скрипт в игре на реконект к другому адрессу

Вот только как избежать клонирования? Скажем перешел я в другой сервак побегал потом вышел и в ручную зашел на другой.

Пишу с телефона потому н совсем удобно более детально и подробно смысл передать задумки.

Ну надеюсь суть уловили. Это игрокам ласт больше разнообразия и фактически объедиит онлайны нескольких серверов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

Тут как бэ понимаеешь, - на серверах должны быть правила одинаковые и предметы и одинаковый процент лута, - ибо на одном есть в луте винтовка А, а на другом нету, на одном процент лута винтовки Б - 50%, а на другом 1%.....

Ну ты понял_)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах





  • 0

ну это уже мелочи, понятное дело что на серверах это должно быть одинаково, в идеале и скрипты тоже должны одинковые стоять, но вот к примеру сейчас на сервере которым я занимаюсь планируется открытие еще и сервера напф вот и подумал что было бы неплохо организовать такой себе переход.
Чисто теорретичски это возможно, только нужно учесть много нюансов.
Вот есть разные игроки которые отдают предпочтение в какой то карте, можно просто конечно открывать 2-3 сервера но так онлайн везде падает, а при возможности перехода это будет более интересно, т.к. 100% игроки будут переходить с 1 сервака на другой т.к. не придется на каждом по отдельности все наживать.
Позаимствовал идею из сталкера =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Ну на вскидку -

По сути переписать ~3 файла(или 2, точно не помню) сетап, логин, и дисконнект на сервере.

В БД добавить поля last_pos_chernorus, last_pos_napf и last_map

Когда юзер конектится, и получает данные - плеер логин вроде файл, -

Пишем кусок кода, который идет в БД, и проверяет карту - last_map

Если она сходится с текущей - все норм, и как обычно.

Если нет - читаем last_pos_... координаты, и заменяем ими полученные из стандартного поля БД.

 

Забыл - при дисконнекте, ессесно координаты писать в поле last_pos_имякарты и last_map обновлять

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
 

стоит учесть что игрок может одновременно зайти на оба сервера. сразу появляются варианты с дюпом и т.д.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

P.S.  И получается, поставить аномалию и при заходе в аномалию телепортируются на другой сервер

 

- Скрипты такого не умеют.

Изменено пользователем NoNameUltima (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

я думал сделать немного по другому, но опять таки нужен скрипт на реконект к другому серверу без участия игрока, хотя на самом деле и так можно.

Значит в каждый сервер добавляется переменная Server_map = Chernorus | Napf

База делается для каждого сервера отдельная, в таблицу с игроком добавляются столбцы:
current_map, last_map
При входе на сервер выполняются проверки:

Проверка 1:
Если  current_map пустая тогда current_map = Server_map  ну и естественно это заносится в базу.

Проверка 2.0:
Если current_map = Server_map  тогда все ок и можно переходить к следующей проверке:

Проверка 2.1

Если last_map = 0 тогда просто присваивается значения current_map 
Проверка 2.2
Если last_map != 0 и !=current_map  тогда идет копирование из базы другого сервера параметров инвентаря, хуманити, состояния здоровья.

Else для проверки 2.0:
Если current_map != Server_map тогда вызов скрипта на редирект ну или просто дисконект

Функция перехода:
Приходит в обозначеное место для перехода и там задействуем скрипт скажем change_server:
Если change_server тогда
присвоить значению current_map значение отличное от Server_map  то бишь если чернорусь то присваиваем напф и наоборот.
Далее следует вызов скрипта перехода или дисконект.
Так же думаю значения current_map и last_map нужно обнулять при смерти игрока

Таким образом игрок единажды зайдя на какой то из сервер уже не сможет выбрать другой, сможет перейти только внутри игры. 
Получается заходим мы к примеру в черно кепкой после обновы, получили значения current_map = чернорусь, last_map = чернорусь. 
Выходим с сервера пытаемся зайти на другой - нас либо реконектит на другой сервак (если кто то умный напишет такой скрипт) или дисконектит а точнее выкидывает наверное в лобби и там игрок получит сообщение типо твой герой не на том сервере дружок.
Заходим обратно в чернорусь, прошли проверку все гуд, бежим в локацию активируем скрипт перехода, нам меняется значение current_map и теперь на чернорусь мы зайти не можем, только на напф.
Ну заходим мы на напф сервер видет не совпадения значений last_map и current_map и заменяет нам наш инвентарь скин итд с базы чернорусии, ну и после этого меняет значение last_map на текущее.
При переходе обратно, произойдет то же самое и я повялюсь в тех координатах где перед этим делал переход.
Единственный нюанс это сделать еще проверку что если у игрока при заходе координаты отсутсвуют а значения last_map  и current_map не пустые то тогда выставляются координаты заданные в скрипте. Иначе получится так что человек который бегал по чернорусии при первом переходе на напф пофвится не в точке перехода а там где кепки появляются.
Ну типо как то так.
Тут и не обязателен скрипт на редирект, игроков будет дисконектить и они могут в ручную перезайти на другой сервер, но богемнее было бы что бы это происходило автоматически =)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Ну так посмотри скрипт на кик игрока с сервера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Что бы написать такой код и без глюков надо безбашенно умные мозги, и где их взять?

 

я думал сделать немного по другому, но опять таки нужен скрипт на реконект к другому серверу без участия игрока, хотя на самом деле и так можно.


Значит в каждый сервер добавляется переменная Server_map = Chernorus | Napf

База делается для каждого сервера отдельная, в таблицу с игроком добавляются столбцы:
current_map, last_map
При входе на сервер выполняются проверки:

Проверка 1:
Если  current_map пустая тогда current_map = Server_map  ну и естественно это заносится в базу.

Проверка 2.0:
Если current_map = Server_map  тогда все ок и можно переходить к следующей проверке:

Проверка 2.1

Если last_map = 0 тогда просто присваивается значения current_map 
Проверка 2.2
Если last_map != 0 и !=current_map  тогда идет копирование из базы другого сервера параметров инвентаря, хуманити, состояния здоровья.

Else для проверки 2.0:
Если current_map != Server_map тогда вызов скрипта на редирект ну или просто дисконект

Функция перехода:
Приходит в обозначеное место для перехода и там задействуем скрипт скажем change_server:
Если change_server тогда
присвоить значению current_map значение отличное от Server_map  то бишь если чернорусь то присваиваем напф и наоборот.
Далее следует вызов скрипта перехода или дисконект.
Так же думаю значения current_map и last_map нужно обнулять при смерти игрока

Таким образом игрок единажды зайдя на какой то из сервер уже не сможет выбрать другой, сможет перейти только внутри игры. 
Получается заходим мы к примеру в черно кепкой после обновы, получили значения current_map = чернорусь, last_map = чернорусь. 
Выходим с сервера пытаемся зайти на другой - нас либо реконектит на другой сервак (если кто то умный напишет такой скрипт) или дисконектит а точнее выкидывает наверное в лобби и там игрок получит сообщение типо твой герой не на том сервере дружок.
Заходим обратно в чернорусь, прошли проверку все гуд, бежим в локацию активируем скрипт перехода, нам меняется значение current_map и теперь на чернорусь мы зайти не можем, только на напф.
Ну заходим мы на напф сервер видет не совпадения значений last_map и current_map и заменяет нам наш инвентарь скин итд с базы чернорусии, ну и после этого меняет значение last_map на текущее.
При переходе обратно, произойдет то же самое и я повялюсь в тех координатах где перед этим делал переход.
Единственный нюанс это сделать еще проверку что если у игрока при заходе координаты отсутсвуют а значения last_map  и current_map не пустые то тогда выставляются координаты заданные в скрипте. Иначе получится так что человек который бегал по чернорусии при первом переходе на напф пофвится не в точке перехода а там где кепки появляются.
Ну типо как то так.
Тут и не обязателен скрипт на редирект, игроков будет дисконектить и они могут в ручную перезайти на другой сервер, но богемнее было бы что бы это происходило автоматически =)

 

Но полюбому что бы переходить из нутри игры надо место для траспортировки, на мой взгляд это намного лучше чем выходить в лобби

Изменено пользователем Alex39 (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Ну так посмотри скрипт на кик игрока с сервера.

 

Ну а реально сделать автоматизированный реконнект к другому серверу, в смысле минуя стадию выбора сервера и лобби

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Что бы написать такой код и без глюков надо безбашенно умные мозги, и где их взять?

 

Если кто то объяснит как организовать копирование данных при выполнении скрипта из одной базы в другую, все остальное я напишу, ну кроме разве что автоматического реконнекта

 

Можно конечно общей сделать таблицу черектер дата, и просто обновлять позиции, просто всего лишь пару тройку действий нужно будет в скрипт добавить

Изменено пользователем ka3ant1p (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

 

Что бы написать такой код и без глюков надо безбашенно умные мозги, и где их взять?

 

Если кто то объяснит как организовать копирование данных при выполнении скрипта из одной базы в другую, все остальное я напишу, ну кроме разве что автоматического реконнекта

Ну к примеру вот так:

 

host=192.168.0.100
port=2306
 
 
 
 
// The interval at which the online player are checked (in milliseconds, 1 second = 1000)
interval=1000
 
// MYSQL info:
sqlHost=localhost
sqlPort=3306
sqlDatabase=napf
sqlTable=Нужная таблица для лута
sqlUser=napf
sqlPassword=123456
 
 
 
 
 
 
 
// MYSQL info:
sqlHost=localhost
sqlPort=3306
sqlDatabase=Chernarus
sqlTable=Нужная таблица
sqlUser=Chernarus
sqlPassword=123456
Изменено пользователем Alex39 (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Вот примерно так из рабочего сервера

 

sqlTable=Нужная таблица пишем сюда таблицу где сохраняется лут

 

[Time]
Type = Local
Offset = 0

[Database]
Host = localhost
Type = MySQL
Port = 3306
Database = napf
Username = napf
Password = 123456

CleanupPlacedAfterDays = 14

[ObjectDB]
Type = MySQL
Host = localhost
Port = 3306
Database = dayz
sqlTable=Нужная таблица
Username = root
Password = dayz
Изменено пользователем Alex39 (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

ну это уже мелочи, понятное дело что на серверах это должно быть одинаково, в идеале и скрипты тоже должны одинковые стоять, но вот к примеру сейчас на сервере которым я занимаюсь планируется открытие еще и сервера напф вот и подумал что было бы неплохо организовать такой себе переход.

Чисто теорретичски это возможно, только нужно учесть много нюансов.

Вот есть разные игроки которые отдают предпочтение в какой то карте, можно просто конечно открывать 2-3 сервера но так онлайн везде падает, а при возможности перехода это будет более интересно, т.к. 100% игроки будут переходить с 1 сервака на другой т.к. не придется на каждом по отдельности все наживать.

Позаимствовал идею из сталкера =)

Как я понимаю есть возможность обьединить сервера? Идея в том чтобы было к примеру три хоста делили между собой бд и игроков, а в игре они все спавнились и играли в одном игровом мире. Реально ли это? и Как осуществить?

Причина - серверная часть игры одного хоста не пускает больше 60ти человек, пишет вы находитесь не рядом с горой чтобы добывать руду или типо того после чего  зависает. И в игре начинает творится магия, плавают дороги и игроки аидят клонов

Пример реализованных: WoW пиратки все русские. У них много хостов а игроки все в одном игроков мире находятся

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

В hiveext.ini есть настройка на 2 сервера, Тут уже писали пример. Даже задумывался сделать напф+чернарусь, разобралс как настроить, но возник вопрос - выходит игрок на краю карты напф из игры и потом заходит в игру на чернарусь-где  он окажется? Будет барахтаться километров пять в воде? Не вариант. А вот как на офсерверах дэйза - один перс, разные сервера

 -  уже можно сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

 

ну это уже мелочи, понятное дело что на серверах это должно быть одинаково, в идеале и скрипты тоже должны одинковые стоять, но вот к примеру сейчас на сервере которым я занимаюсь планируется открытие еще и сервера напф вот и подумал что было бы неплохо организовать такой себе переход.

Чисто теорретичски это возможно, только нужно учесть много нюансов.

Вот есть разные игроки которые отдают предпочтение в какой то карте, можно просто конечно открывать 2-3 сервера но так онлайн везде падает, а при возможности перехода это будет более интересно, т.к. 100% игроки будут переходить с 1 сервака на другой т.к. не придется на каждом по отдельности все наживать.

Позаимствовал идею из сталкера =)

Как я понимаю есть возможность обьединить сервера? Идея в том чтобы было к примеру три хоста делили между собой бд и игроков, а в игре они все спавнились и играли в одном игровом мире. Реально ли это? и Как осуществить?

Причина - серверная часть игры одного хоста не пускает больше 60ти человек, пишет вы находитесь не рядом с горой чтобы добывать руду или типо того после чего  зависает. И в игре начинает творится магия, плавают дороги и игроки аидят клонов

Пример реализованных: WoW пиратки все русские. У них много хостов а игроки все в одном игроков мире находятся

А можешь подробней описать как настроить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

ну я с некоторыми людьми все обмозговал и тут 2 варианта, или через лаунчер или саму игру нужно ковырять... по другому только через дисконект, т.к. как только скрипт выкинет из сервера сразу все остальные скрипты перестанут на стороне клиента выполнятся, а сам сервер не сможет никак перенаправить игрока.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

В hiveext.ini есть настройка на 2 сервера, Тут уже писали пример. Даже задумывался сделать напф+чернарусь, разобралс как настроить, но возник вопрос - выходит игрок на краю карты напф из игры и потом заходит в игру на чернарусь-где  он окажется? Будет барахтаться километров пять в воде? Не вариант. А вот как на офсерверах дэйза - один перс, разные сервера

 -  уже можно сделать.

И такой еще вопрос, сколько вообще сама игра может потянуть игроков с одного хоста? Есть ли точные цифры?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

 

 

ну это уже мелочи, понятное дело что на серверах это должно быть одинаково, в идеале и скрипты тоже должны одинковые стоять, но вот к примеру сейчас на сервере которым я занимаюсь планируется открытие еще и сервера напф вот и подумал что было бы неплохо организовать такой себе переход.

Чисто теорретичски это возможно, только нужно учесть много нюансов.

Вот есть разные игроки которые отдают предпочтение в какой то карте, можно просто конечно открывать 2-3 сервера но так онлайн везде падает, а при возможности перехода это будет более интересно, т.к. 100% игроки будут переходить с 1 сервака на другой т.к. не придется на каждом по отдельности все наживать.

Позаимствовал идею из сталкера =)

Как я понимаю есть возможность обьединить сервера? Идея в том чтобы было к примеру три хоста делили между собой бд и игроков, а в игре они все спавнились и играли в одном игровом мире. Реально ли это? и Как осуществить?

Причина - серверная часть игры одного хоста не пускает больше 60ти человек, пишет вы находитесь не рядом с горой чтобы добывать руду или типо того после чего  зависает. И в игре начинает творится магия, плавают дороги и игроки аидят клонов

Пример реализованных: WoW пиратки все русские. У них много хостов а игроки все в одном игроков мире находятся

А можешь подробней описать как настроить?

Т.е. на сколько я понял, только реализация через лаунчер, выбор сервера на какой хочешь зайти и всё? Ну это слишком просто и к сожалению  не еффектно, хочется добиться стабильной игры в 100+ человек в одном игром мире. Всё таки если есть возможность опишите пожалуйста

Изменено пользователем Frost (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

нет в арме такой возможности нет, нужно не просто лаунчер, там долго обїяснять, ну корочее в таком клише нужно что бі в игру заходил сам лаунчер и между серверами прігал, и игроку именно лаунчер відавал загрузочній єкран

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

 

 

 

ну это уже мелочи, понятное дело что на серверах это должно быть одинаково, в идеале и скрипты тоже должны одинковые стоять, но вот к примеру сейчас на сервере которым я занимаюсь планируется открытие еще и сервера напф вот и подумал что было бы неплохо организовать такой себе переход.

Чисто теорретичски это возможно, только нужно учесть много нюансов.

Вот есть разные игроки которые отдают предпочтение в какой то карте, можно просто конечно открывать 2-3 сервера но так онлайн везде падает, а при возможности перехода это будет более интересно, т.к. 100% игроки будут переходить с 1 сервака на другой т.к. не придется на каждом по отдельности все наживать.

Позаимствовал идею из сталкера =)

Как я понимаю есть возможность обьединить сервера? Идея в том чтобы было к примеру три хоста делили между собой бд и игроков, а в игре они все спавнились и играли в одном игровом мире. Реально ли это? и Как осуществить?

Причина - серверная часть игры одного хоста не пускает больше 60ти человек, пишет вы находитесь не рядом с горой чтобы добывать руду или типо того после чего  зависает. И в игре начинает творится магия, плавают дороги и игроки аидят клонов

Пример реализованных: WoW пиратки все русские. У них много хостов а игроки все в одном игроков мире находятся

А можешь подробней описать как настроить?

Т.е. на сколько я понял, только реализация через лаунчер, выбор сервера на какой хочешь зайти и всё? Ну это слишком просто и к сожалению  не еффектно, хочется добиться стабильной игры в 100+ человек в одном игром мире. Всё таки если есть возможность опишите пожалуйста

Но даже при таком расскладе я смутно представляю, чтобы игроки были в одном игровом мире... На это нужно охеренное оборудование) да и мне кажется всё равно не факт что  получится, но спасибо за идею) Поробовать то можно)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.