Рейтинг темы:
  • 4 Голос(ов) - 5 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Ghost++ , GhostOne - Скачать - Установить - Настроить
VoltVolt Написал:PeKeS,
В твоём конфиге:

bot_hostport = 6113
admingame_port = 6113
bot_reconnectport = 6114

Поменяй на

bot_hostport = 6113
admingame_port = 6114
bot_reconnectport = 6115


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

на 2 гхосте где все готова вот такая вешь выходит
[Fri Jan 21 09:36:24 2011] [GAME: GHost++ Admin Game] loading IP blacklist file [ipblacklist.txt]
[Fri Jan 21 09:36:24 2011] [GAME: GHost++ Admin Game] loaded 635 lines from IP blacklist file
[Fri Jan 21 09:36:24 2011] [GAME: GHost++ Admin Game] attempting to bind to all available addresses
[Fri Jan 21 09:36:24 2011] [GAME: GHost++ Admin Game] listening on port 6114
[Fri Jan 21 09:36:24 2011] [GHOST] GHost++ Version 17.1 (with MySQL support)
Ответ
[quote=Array]Deshrefresh, в чём проблема, какая ошибка то?

Я же написал,что у меня не получается зайти в battle.net одновременно с ботом,как это сделать??
Ответ
Deshrefresh Написал:[quote=Array]Deshrefresh, в чём проблема, какая ошибка то?

Я же написал,что у меня не получается зайти в battle.net одновременно с ботом,как это сделать??

имелось ввиду какую ошибку пишет бот в своём логе, чтоб легче было разобраться
Ответ
TeHeK, честно, сам так и не смог настроить loopback. Насколько я понял, не дружит буржуйский "loopback" с "адаптером замыкания на себя".

Я сам переключился с режима роутер на мост не так давно, доволен Smile Может и тебе стоит попробовать.

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

Deshrefresh, на сколько я понимаю, речь идёт о заходе через LAN игру. Бот коннектится под лицензионными ключами, а ты заходишь в созданную им локальную игру.
Jedem das seine.
Каждому своё.
Ответ
Вот это выдает:

BNET: Europe] refreshed ban list (0 -> 0 bans)
[ BNET: Europe] connecting to server [europe.battle.net] on port 6112
[ BNET: Europe] resolved and cached server IP address 213.248.106.65
[ BNET: Europe] connected
[ BNET: Europe] attempting to auth as Warcraft III: The Frozen Throne
[ BNET: Europe] creating BNLS client
[ BNLSC: 127.0.0.1:9367:C33521] connecting to server [127.0.0.1] on port 9367
[ BNET: Europe] logon failed - ROC CD key in use by user [bob], disconnecting
[ BNET: Europe] disconnected from battle.net
[ BNET: Europe] waiting 90 seconds to reconnect
Ответ
Deshrefresh, я же тебе написал что делать.
Твой бот пытается зайти под теми ключами, которые уже используются, о чём он тебе недвусмысленно, чёрным по белому, намекает.
Некто "bob" уже использует твои ключи.
Jedem das seine.
Каждому своё.
Ответ
Пожалуйста помогите!
В настройках все настроил вроде..
Бот зашел на батл..
Но почему то не чего не вписывается в ghostone
как только пишу какую нибудь команду в ответ получаю UDPCMDSOCK] Could not relay cmd [!start] to server []: server unknown
Пожалуйста подскажите
Ответ
Punklife, конфиг давайте - так ничего не понятно.
Ответ
Код:
[GHOST]
###########################################################
# PLEASE EDIT CONFIG IN GHOST ONE UNDER GHOST OPTIONS TAB #
###########################################################
### Управление банами по ip: 0 = ничего не делать, 1 = кик, 2 = только оповещение(не кикать).
bot_ipbanning = 1

### оповещение о бане в одну строку( = 0) (если возможно) или в две строки ( = 1)
bot_twolinesbanannouncement = 1

### текст, который добавляется к версии
bot_customversiontext =

### автоматически банить игроков, которые выходят во время отсчета начала игры
bot_autobancountdown = 0

### автоматически банить игроков, которые выходят во время загрузки игры
bot_autobangameloading = 1

### запрещенные страны при использовании автохоста
bot_autohostdeniedcountries =

### разрешенные страны при использовании автохоста
bot_autohostallowedcountries =

### UDP порт, по которому консоль общается с оболчкой GHost One GUI, по умолчанию 5868
udp_guiport = 5868

# в LAN/GArena показывать реальное количество игроков (текущее/общее) в игре, при использовании команды !pubg он автоматически включается
lan_showrealslotcount = 1

# LIST OF SETTINGS NOT IN GHOST OPTIONS TAB
#bot_language
#bot_mapcfgpath
#bot_savegamepath
#bot_spoofchecks
#bot_refreshmessages
#bot_autolock
#bot_autosave
#bot_allowdownloads
#bot_pingduringdownloads
#bot_lcpings
#bot_autokickping
#bot_latency
#bot_synclimit
#bot_votekickallowed
#bot_votekickpercentage
#bot_udpconsole
#bot_virtualhostname
#udp_cmdbindip
#udp_cmdspooftarget
#admingame_password
#db_sqlite3_file
#bnet_holdfriends
#bnet_holdclan

########################
# Actual Config Below  #
########################

# путь к файлу логов и его название
bot_log = log.txt

# показывать сообщение когда safe/admin/rootadmin/chieftain/shaman заходят на канал
bot_channeljoingreets = 1

# админы могут удалять только те баны, которые сделали они
bot_adminslimitedunban = 0

# Оповещение +1 и +2 (игроков осталось до фулла) в лобби (не используется при автохосте)
bot_lobbyannounceunoccupied = 1

# автоматическая установка режима HCL(бот будет сам прописывать игровой мод) , основанная на названии игры(пример: -arso EU pros установит мод -arso)(только если определен параметр map_defaulthcl, пример: map_defaulthcl=ar). Установит пустой режим HCL если в названии игры не обнаружит мод
bot_autohclfromgamename = 1

# включить молчанку игроку, который использовал запрещенные слова, на X секунд
bot_censormute = 3
# также автоматически ставить молчанку админам
bot_censormuteadmins = 0
# молчанка игроку на X секунд при первом нарушении
bot_censormutefirstseconds = 60
# молчанка игроку на X секунд при втором нарушении
bot_censormutesecondseconds = 180
# молчанка игроку на X секунд при 3 и более нарушениях
bot_censormuteexcessiveseconds = 360

lan_war3version = 24

# Отключить алгоритм nagle (алгоритмы TCPIP могут снижать скорость и вызывать лаги в игре) - может улучшить latency
tcp_nodelay = 1

# путь к вашему WC3TVRecorder, пример: c:\Program Files\waaaghTV Recorder\
wtv_path = C:\Program Files\WaaaghTV Recorder\
# использование WC3TVRecorder, "1", чтобы включить
wtv_enabled = 0
# WaaaghTV Observer Name
wtv_playername = Waaagh!TV

# для примера: RO, только этим странам разрешено подсоединяться к игре
bot_allowedcountries =
# для примера: RO, этим странам запрещено подсоединяться к игре
bot_deniedcountries =

# ждать Х мс до отправки пакета среднего размера бнету, когда используется PVPGN
bot_bnetpacketdelaymediumpvpgn = 2000
# ждать Х мс до отправки пакета большого размера бнету, когда используется PVPGN
bot_bnetpacketdelaybigpvpgn = 2500
# ждать Х мс до отправки пакета среднего размера бнету(офф)
bot_bnetpacketdelaymedium = 3200
# ждать Х мс до отправки пакета большого размера бнету(офф)
bot_bnetpacketdelaybig = 4000

# Формула для расчета статистики
# Разрешенные переменные: totgames, kills, deaths, assists, creepkills, creepdenies, neutralkills,
# towerkills, raxkills, courierkills, wins, losses, killstotal, deathstotal, creepkillstotal,
# creepdeniestotal,assiststotal, neutralkillstotal, towerkillstotal, raxkillstotal, courierkillstotal
# Формула по умолчанию:
# (((wins-losses)/totgames)+(kills-deaths+assists/2)+(creepkills/100+creepdenies/10+neutralkills/50)+(raxkills/6)+(towerkills/11))
# Альтернативная формула:
# (((kills-deaths+assists*0.7)*0.6+towerkills*0.8+raxkills+creepkills*0.02+creepdenies*0.08+neutralkills*0.03+courierkills*0.04)*0.5+(wins/totgames*2)+(totgames*0.002))

bot_scoreformula = (((wins-losses)/totgames)+(kills-deaths+assists/2)+(creepkills/100+creepdenies/10+neutralkills/50)+(raxkills/6)+(towerkills/11))

# Счет будет высчитываться только для тех игроков, которые сыграли Х игр
bot_scoremingames = 1

# Доступ владельца игры по умолчанию (используйте панель доступа чтобы сменить уровень доступа админов на ваше усмотрение и посмотреть коды доступа для этих команд)
bot_owneraccess = 3965

# Доступ админов по умолчанию
bot_adminaccess = 1903

# состояние игры для домашних игр
bot_gamestateinhouse = 999

#  автоматически банить только тех игроков, которые нарушают баланс команд(пример: игра 5-5. при 5-4 банить ливера, при 4-4 не банить, если этот параметр равен 1)
bot_autobanteamdiffmax = 1

# Банить игроков, которые покинули игру за Х минут до конца игры
bot_autobangameendmins = 0

# Банить игроков до Х минут игры
bot_autobantimer = 0

# Банить всех ливеров вне зависимости от карты
bot_autobanall = 0

# Автоматически банить первых Х ливеров
bot_autobanfirstxleavers = 0

# бот автоматически пересоздаст игру с названием [название#номер] если прошло Х секунд с момента присоединения последнего игрока, 0=отключить
bot_autorehostdelay = 120

# бот автоматически пересоздаст игру с названием [название#номер] если имя занято
bot_rehostifnametaken = 1

# если счетчик игр превысит этот предел, то автоматически сбросится до 1. 0=отключить
bot_maxhostcounter = 30

# эти слова будут запрещены в игре
bot_censorwords = fuck idiot retarded dick cunt pussy asshole suck shit penis vagina

# load in game feature will be enabled for every map (if set to 1)
bot_forceloadingame = 1

# после окончания игры при использовании мускула бот запустит update_dota_elo.exe (НЕ ИСПОЛЬЗОВАТЬ ВМЕСТЕ)
bot_updatedotaeloaftergame = 0

# после окончания игры при использовании мускула бот пересчитает очки (score)  (НЕ ИСПОЛЬЗОВАТЬ ВМЕСТЕ)
bot_updatedotascoreaftergame = 0

# "1", если вы используете патч версии 1.23 или выше
bot_patch23ornewer = 1

# "1", если используется патч 1.21
bot_patch21 = 0

# показывать счет каждого вошедшего игрока и игравшего на этом боте раньше
bot_showscoresonjoin = 0

# установка значения bot_autohostmaximumgames > 0 приведет к автозапуску автохоста(извиняюсь за тавтологию)
bot_autohostmaximumgames = 0
bot_autohostautostartplayers = 10
bot_autohostallowstart = 0
bot_autohostlocal = 0
bot_autohostowner = one
bot_autohostmapcfg = map.cfg
bot_autohostgamename = auto -sd EU pros

# при автохосте включает автобан игрокам нарушившим равновесие игры в картах с 2 командами. Не банит админов и главных админов.
#     0 = off   1 = on
bot_autoban = 0

# делать ли всех игроков, заходящих с локальной сети, алминами?
bot_lanadmins = 0

# делать ли локальных игроков админами автоматически (например игроков с гарены)
bot_localadmins = 0

# языковой файл

bot_language = russian.cfg

### укажите путь к папке warcraft
### эта папка должна содержать следующие файлы: war3.exe, storm.dll и game.dll
### для того, чтобы бот автоматически высчитывал значения для карт, в этой папке также должен находиться файл War3Patch.mpq, из которого бот попытается вытащить "Scripts\common.j" and "Scripts\blizzard.j" при загрузке, и положит их в bot_mapcfgpath (который определен в этом конфиге ниже)

bot_war3path = D:\Games\Warcraft III.folder\Warcraft III

### порт, на котором GHost++ будет хостить игры в battle.net (должен отличаться от стандартного порта warcraft и порта админ игры(прописан ниже))

bot_hostport = 6113

### максимальное количество игр, которые могут хоститься одновременно

bot_maxgames = 5

### триггер, используемый в игре (триггер battle.net определен ниже в этом конфиге)
### Триггер - специальный символ, который позволяет боту определять, что данное предложение после триггера должно обработаться как команда(если такая существует)

bot_commandtrigger = !

### путь к директории, в которой лежат ваш конфиги для карт
###  эта папка также может содержать файлы common.j и blizzard.j (извленченные из War3Patch.mpq)
###  Файлы common.j and blizzard.j требуются только для автоматического расчета map_crc ваших карт

bot_mapcfgpath = mapcfgs\

### путь к директории, в которой лежат ваши сохраненные игры

bot_savegamepath = savegames\

### путь к директории, в которой лежат ваши карты
###  GHost++ не требует наличия карт, но если он имеет доступ к ним, то может отправить их игрокам и автоматически расчитать значения большинства карт
###  GHost++ ищет карту в директориях, прописанных в следующих параметрах [bot_mappath + map_localpath] (map_localpath определено в каждом конфиге карты)

bot_mappath = D:\Games\Warcraft III.folder\Warcraft III\Maps

### сохранять реплеи или нет

bot_savereplays = 0

### директория для сохранения реплеев

bot_replaypath = replays\

### версия Warcraft 3, для которой бот будет сохранять реплеи

replay_war3version = 24

### номер билда Warcraft 3 для сохранения реплеев
###  patch 1.23:  war3version 23, buildnumber 6058
###  patch 1.24:  war3version 24, buildnumber 6059
###  patch 1.24b: war3version 24, buildnumber 6059

replay_buildnumber = 6059

### проводить автоматическую проверку на подмену ника или нет
###  0 отключает проверку
###  1 производит проверку автоматически для всех игроков
###  2 производит проверку только для потенциальных администраторов.

bot_spoofchecks = 2

### Требуется ли для игры автоматическая проверка ника или нет ?
###  Данная настройка контролируется нужно-ли перед началом игры игрокам пройти проверку на подмену ника
###  если данная настройка включена (1) то для начала игры, если не включена автоматическая проверка игроки должны будут отправить боту команду вида /r !spoofcheck
### иначе игрок не прошедший проверку через 20 секунд будет выкинут.
### Если же автоматическая проверка включена, то бот автоматически проверит и толлько после проверки всех игроков начнет игру.

bot_requirespoofchecks = 0

### Отображать ли сообщение об обновлении игры

bot_refreshmessages = 0

### блокировать ли автоматически игру когда подключился владелец игры (только админ и владелец смогут вводить команды боту)

bot_autolock = 0

### проводить ли автоматическое сохранение игры при отключении игры

bot_autosave = 0

### разрешить скачивание карты или нет
###  0 запрещает скачивание карты
###  1 разрешает скачивание карты
###  2 разрешает скачивание карты по указке администратора (администратор должен прописать !download или !dl )

bot_allowdownloads = 1

### Пинговать ли игроков при закачке игроком карты ?
###  если да то при скачивании игроки пинговатся не будут

bot_pingduringdownloads = 0

# кикать забаненных игроков с канала
bot_kickbannedfromchannel = 0

# банить на канале забаненных игроков
bot_banbannedfromchannel = 0

# ### использовать ли стиль пинга LC? (делит актуальный пинг на 2)

bot_lcpings = 1

### Автоматический кик игроков пинг которых выше

bot_autokickping = 200

### игровая задержка ( у Battle.net по умолчанию стоит 250 в LAN играх 100)
###  также может быть установлена для каждой игры через !latency команду (в пределах от 50 до максимума в 500)

bot_latency = 110

### максимальное число пакетов которое не дошло до игрока прежде чем появится лагскрин ( экран после которого игрока выкинет из игры)
###  ниже 8.0 версии GHost++ не имел лагскрина и эта опция имела максимальное значения
###  также значение можно изменить во время игры используя !synclimit команду (в пределах от  10 до максимума в 10000)

bot_synclimit = 90

# whether votekicks are allowed or not

bot_votekickallowed = 1

### процент голосов нужный для срабатывания votekick
###  предпологается что игрок стартовавший Голосование проголосовал ДА и если он стартовал Голосование опять то предпологается что он проголосовал НЕТ
###  формула для расчета количества необходимых голосов votes_needed = ceil( ( num_players - 1 ) * bot_votekickpercentage / 100 )
###  это значит что он будет округлять нужное число голосов в высшую сторону
###  если вы установите 100 это требует 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, 9/10, 10/11, и 11/12 голосов для результата
###  если вы установите 90 это требует 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, 9/10, 9/11, и 10/12 голосов для результата
###  если вы установите 80 это требует 2/3, 3/4, 4/5, 4/6, 5/7, 6/8, 7/9, 8/10, 8/11, и 9/12 голосов для результата
###  если вы установите 70 это требует 2/3, 3/4, 3/5, 4/6, 5/7, 5/8, 6/9, 7/10, 7/11, и 8/12 голосов для результата
###  если вы установите 60 это требует 2/3, 2/4, 3/5, 3/6, 4/7, 5/8, 5/9, 6/10, 6/11, и 7/12 голосов для результата

bot_votekickpercentage = 100

# "1" - на время игры бот добавляет создателя в друзья и удаляет его после окончания игры
bot_addcreatorasfriendonhost = 0

# показывать команды, направленные боту, в лобби/игре или нет
bot_relaychatcommands = 1

# показывать информацию о текущих загрузках карт или нет(скорость, процент загрузки)
bot_showdownloadsinfo = 0

# интервал между сообщениями о загрузках
bot_showdownloadsinfotime = 5

# максимум одновременных скачиваний
bot_maxdownloaders = 3

# общая максимальная скорость загрузки
bot_totaldownloadspeed = 1024

# макс скорость загрузки дял каждого игрока
bot_clientdownloadspeed = 512

# иницировать таймер завершения игры если количество игроков меньше указанного  - 0 выключить завершение игры
bot_gameoverminplayers = 0

# иницировать таймер завершения игры если процент оставшихся игроков составляет меньше указанного  - 0 выключить завершение игры
bot_gameoverminpercent = 0

#  иницировать таймер завершения игры если разница между количеством игроков разных команд больше указанного  - 0 выключить завершение игры
bot_gameovermaxteamdifference = 0

# перенаправление вывода консоли на порт UDP
bot_udpconsole = 1

# резервировать ли игроков из прошлой игры?
bot_holdplayersforrmk = 1

# включить ли не админ комманды? 1 включить, 0 отключить
bot_nonadmincommands = 1

# требовать ли от рутадминов проверку ника или нет
bot_rootadminsspoofcheck = 0

# требовать ли от рутадминов проверку ника или нет
bot_adminsspoofcheck = 0

# если 1, забаненные игроки будут оповещены о бане
bot_notifybannedplayers = 0

# бот будет искать внешний ip при загрузке. отключите если хотите играть только по сети
bot_findexternalip = 1

# впишите свой внешний IP если не хотите, чтобы бот его искал при загрузке
bot_externalip =

# использовать ли альтернативный сайт для поиска внешнего IP? (при наличии > 30 сек задержки при запуске бота)
bot_altfindip = 0

# Рутадмины(вписывать через пробел: userone usertwo userthree)
bot_rootadmins = Polny_gg

# UDP пароль бота
bot_udppassword =

# показывать ли сообщения автоматического удаления игроков забаненных или из запрещенных стран
bot_verbose = 0

# виртуальное имя бота
bot_virtualhostname = |cFF483D8BHost

# игнорировать лаг скрин в первые X секунд игры
bot_dropvotetime = 30

# автоматически закрывает игровую прихожую если не подключается необходимое количество игроков или админ за указаное кол. минут
bot_lobbytimelimit = 10

# udp ip
udp_cmdbindip = 0.0.0.0

# udp port
udp_cmdport = 6969

# udp spoof target
udp_cmdspooftarget =

###############################
# ADMIN GAME CONFIGURATION #
###############################

### Создание админ игры

admingame_create = 0

### порт админ игры

admingame_port = 6114

### пароль админ игры

admingame_password =

##########################
# DATABASE CONFIGURATION #
##########################

### тип БД
###  "sqlite3" для локальной БД SQLite
###  "mysql" для БД MySQL

db_type = sqlite3

### конфигурация БД SQLite

db_sqlite3_file = ghost.dbs

### конфигурация БД MySQL

db_mysql_server = localhost
db_mysql_database = ghost
db_mysql_user = YOUR_USERNAME
db_mysql_password = YOUR_PASSWORD
db_mysql_port = 3306

############################
#  Конфигурация Battle.Net     #
############################

### Адрес подключения к сервреру BATTLE.NET

bnet_server = Rubattle.net

### Синоним сервера для отображения в логах и на консоли бота

bnet_serveralias = Gus

### ваш Warcraft III: Reign of Chaos CD key
### внимание если вы играете на оффициальном сервере, то вы не сможете одновременно с ботом подключатся к сервреру по одному и тому-же ключу.

bnet_cdkeyroc = FFFFFFFFFFFFFFFFFFFFFFFFFF

### ваш Warcraft III: The Frozen Throne CD key
### внимание если вы играете на оффициальном сервере, то вы не сможете одновременно с ботом подключатся к сервреру по одному и тому-же ключу.

bnet_cdkeytft = FFFFFFFFFFFFFFFFFFFFFFFFFF

### Ваш логин подключения к батл нет

bnet_username = [Gus]He_Dypak

### пароль для входа на батл нет

bnet_password = 66677798

### исходный канал на который подключится ваш бот после входа на сервер
### в данном месте убедительно хотелось бы , чтобы не указывали общие каналы, ибо срачь получается страшный, смотреть тошно(Comment by Tsukasa-mixer)

bnet_firstchannel = Gus

### Ник Самого главного админа )

bnet_rootadmin = Polny_gg

### тригер распознавания команд для данного battle.net сервера

bnet_commandtrigger = !

### добавлять ли ваших друзей в сейф лист(даст вашим друзьям заходить, даже если в лобби набран фул) ?

bnet_holdfriends = 1

### добавлять ли ваших соклановцев в сейф лист(даст вашим друзьям заходить, даже если в лобби набран фул) ?

bnet_holdclan = 1

### позволить ли игрокам(не админам) использовать некоторые команды, такие как !stats and !statsdota в этом соединении батл нет?

bnet_publiccommands = 1

### BNLS сервер (подробности в readme.txt)
###  вам необходим реальный BNLS сервер еслы вы хотите подключится к оффициальному battle.net серверу , в противном случае вас выкинут через 2 минуты

bnet_bnlsserver = localhost
bnet_bnlsport = 9367
bnet_bnlswardencookie = 1

### вы должны отредактировать данную секцию для подключения к PvPGN сервреру
###  спрашивайте информацию у администрации =) PvPGN сервера =) - если не забанят раньше.(comment by Tsukasa-mixer)

bnet_custom_war3version = 24
bnet_custom_exeversion =
bnet_custom_exeversionhash =
bnet_custom_passwordhashtype = pvpgn
bnet_custom_pvpgnrealmname = PvPGN Realm

###
### пример настройки второго соединения батл нет
###

# bnet2_server = uswest.battle.net
# bnet2_serveralias = USWest
# bnet2_cdkeyroc = FFFFFFFFFFFFFFFFFFFFFFFFFF
# bnet2_cdkeytft = FFFFFFFFFFFFFFFFFFFFFFFFFF
# bnet2_username =
# bnet2_password =
# bnet2_firstchannel = The Void
# bnet2_rootadmin =
# bnet2_commandtrigger = !
# bnet2_holdfriends = 1
# bnet2_holdclan = 1
# bnet2_publiccommands = 1
# bnet2_bnlsserver = localhost
# bnet2_bnlsport = 9367
# bnet2_bnlswardencookie = 2

//Когда пост получается длинным, его надо помещать в тег CODE или SPOILER.
Ответ
Так всё-таки бот зашёл на rubattle.net ? Это в логе написано?
to server []: server unknown // бот определил сервер как [] .
Попробуй Rubattle с "r" написать.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Где скачать варик для battele.net? Gambit_J 24 9,400 01-31-2012, 01:54 PM
Последний пост: Steep_0

Перейти к форуму:


Пользователи, просматривающие эту тему: 8 Гость(ей)