Battlefield 4: Настройка сервера: различия между версиями
Slawter (обсуждение | вклад) (Новая страница: «'''В данном гайде рассмотрим как управлять сервером Battlefield 4 через панель управления TCAdmin''...») |
Slawter (обсуждение | вклад) |
||
Строка 12: | Строка 12: | ||
[[File:bf4-3.png|Пароль админа от сервера Battlefield 4 / 3]]<br> | [[File:bf4-3.png|Пароль админа от сервера Battlefield 4 / 3]]<br> | ||
<br> | <br> | ||
− | [ | + | [CODE] |
− | + | Описание: | |
− | |||
− | |||
− | |||
− | |||
− | |||
# максимальное кол-во игроков на сервере (от 1 до 70) можно установить не больше, чем оплачено на хостинге | # максимальное кол-во игроков на сервере (от 1 до 70) можно установить не больше, чем оплачено на хостинге | ||
− | |||
vars.maxPlayers 10 | vars.maxPlayers 10 | ||
− | |||
− | |||
#RCON пароль доступа к вашему серверу, например для управления сервером через ProCon или RCONnet | #RCON пароль доступа к вашему серверу, например для управления сервером через ProCon или RCONnet | ||
− | |||
admin.password "passwdord" | admin.password "passwdord" | ||
− | |||
− | |||
#Античит системы | #Античит системы | ||
− | |||
# включение отключение PunkBuster (возможно только на не рейтинговых серверах) для отключения удалите эту строку | # включение отключение PunkBuster (возможно только на не рейтинговых серверах) для отключения удалите эту строку | ||
− | |||
punkBuster.activate | punkBuster.activate | ||
#включение отключение FairFight (возможно только на не рейтинговых серверах) для отключения удалите эту строку | #включение отключение FairFight (возможно только на не рейтинговых серверах) для отключения удалите эту строку | ||
− | |||
fairFight.activate | fairFight.activate | ||
− | |||
− | |||
#Название сервера | #Название сервера | ||
− | |||
vars.serverName "XLGAMES.PRO" | vars.serverName "XLGAMES.PRO" | ||
#Описание сервера | #Описание сервера | ||
− | |||
vars.serverDescription "Welcome to XLGAMES.PRO Battlefield 4 server" | vars.serverDescription "Welcome to XLGAMES.PRO Battlefield 4 server" | ||
#Приветствие при входе на сервер | #Приветствие при входе на сервер | ||
− | |||
vars.serverMessage "Welcome to XLGAMES.PRO Battlefield 4 server" | vars.serverMessage "Welcome to XLGAMES.PRO Battlefield 4 server" | ||
− | |||
− | |||
− | |||
− | |||
#Геймплей | #Геймплей | ||
− | |||
− | |||
− | |||
# true (ВКЛ), false (ВЫКЛ) огонь по своим | # true (ВКЛ), false (ВЫКЛ) огонь по своим | ||
− | |||
vars.friendlyFire "false" | vars.friendlyFire "false" | ||
− | |||
− | |||
# true (ВКЛ), false (ВЫКЛ) камера смерти КИЛЛКАМ | # true (ВКЛ), false (ВЫКЛ) камера смерти КИЛЛКАМ | ||
− | |||
vars.killCam - true | vars.killCam - true | ||
− | |||
− | |||
# true (ВКЛ), false (ВЫКЛ) миникарта | # true (ВКЛ), false (ВЫКЛ) миникарта | ||
vars.miniMap "true" | vars.miniMap "true" | ||
− | |||
− | |||
# true (ВКЛ), false (ВЫКЛ) | # true (ВКЛ), false (ВЫКЛ) | ||
− | |||
vars.3dSpotting "true" | vars.3dSpotting "true" | ||
− | |||
− | |||
# true (ВКЛ), false (ВЫКЛ) споттинг (пометка, жетлые маркеры) врагов на миникарте | # true (ВКЛ), false (ВЫКЛ) споттинг (пометка, жетлые маркеры) врагов на миникарте | ||
− | |||
vars.miniMapSpotting "true" | vars.miniMapSpotting "true" | ||
− | |||
− | |||
# true (ВКЛ), false (ВЫКЛ) вид от третьего лица в технике | # true (ВКЛ), false (ВЫКЛ) вид от третьего лица в технике | ||
− | |||
vars.3pCam "true" | vars.3pCam "true" | ||
− | |||
− | |||
# true (ВКЛ), false (ВЫКЛ) техника на карте | # true (ВКЛ), false (ВЫКЛ) техника на карте | ||
− | |||
vars.vehicleSpawnAllowed "true" | vars.vehicleSpawnAllowed "true" | ||
− | |||
− | |||
# время появления техники после уничтожения, значение от 25 до 100 на ранговых сервера, и почти любое на не ранговых | # время появления техники после уничтожения, значение от 25 до 100 на ранговых сервера, и почти любое на не ранговых | ||
− | |||
vars.vehicleSpawnDelay 100 | vars.vehicleSpawnDelay 100 | ||
− | |||
− | |||
# урон пули, на ранговых серверах не меняется, на не ранговых можно менять | # урон пули, на ранговых серверах не меняется, на не ранговых можно менять | ||
− | |||
vars.bulletDamage 100 | vars.bulletDamage 100 | ||
− | |||
− | |||
# true (ВКЛ), false (ВЫКЛ) ник врага над головой | # true (ВКЛ), false (ВЫКЛ) ник врага над головой | ||
− | |||
vars.nameTag "true" | vars.nameTag "true" | ||
− | |||
− | |||
# true (ВКЛ), false (ВЫКЛ) регенирация здоровья | # true (ВКЛ), false (ВЫКЛ) регенирация здоровья | ||
− | |||
vars.regenerateHealth "true" | vars.regenerateHealth "true" | ||
− | |||
− | |||
# true (ВКЛ), false (ВЫКЛ) возрождение только на лидере отряда | # true (ВКЛ), false (ВЫКЛ) возрождение только на лидере отряда | ||
− | |||
vars.onlySquadLeaderSpawn "true" | vars.onlySquadLeaderSpawn "true" | ||
− | |||
− | |||
# stats, all, common - разблокировка оружия (меняется только на не ранговых серверах) к примеру на не ранговом сервере, вы можете указать all, | # stats, all, common - разблокировка оружия (меняется только на не ранговых серверах) к примеру на не ранговом сервере, вы можете указать all, | ||
− | |||
# и у игроков будет открыто всё доступное в игре оружие, то, которое у них даже не разблокировано | # и у игроков будет открыто всё доступное в игре оружие, то, которое у них даже не разблокировано | ||
− | |||
vars.unlockMode stats | vars.unlockMode stats | ||
− | |||
− | |||
# процент здровья (HP) значение от 60 до 100 на ранговых серверах, и почти любое на не ранговых | # процент здровья (HP) значение от 60 до 100 на ранговых серверах, и почти любое на не ранговых | ||
− | |||
vars.soldierHealth 100 | vars.soldierHealth 100 | ||
− | |||
− | |||
# true (ВКЛ), false (ВЫКЛ) включение и отключение дополнительного интерфейса в игре, к примеру он отключен на серверах Хардкор, и включен на Нормальном сервере | # true (ВКЛ), false (ВЫКЛ) включение и отключение дополнительного интерфейса в игре, к примеру он отключен на серверах Хардкор, и включен на Нормальном сервере | ||
− | |||
vars.hud "true" | vars.hud "true" | ||
− | |||
− | |||
# количество тикетов в процентах (от 50 до 400 на ранговых серверах) к примеру на Большом Захвате 100 - это 800 тикетов в BF4 | # количество тикетов в процентах (от 50 до 400 на ранговых серверах) к примеру на Большом Захвате 100 - это 800 тикетов в BF4 | ||
− | |||
vars.gameModeCounter 100 | vars.gameModeCounter 100 | ||
− | |||
− | |||
# процент уменьшения тикетов | # процент уменьшения тикетов | ||
− | |||
vars.ticketBleedRate 100 | vars.ticketBleedRate 100 | ||
− | |||
− | |||
# true (ВКЛ), false (ВЫКЛ) индикатор попадания пули по врагу | # true (ВКЛ), false (ВЫКЛ) индикатор попадания пули по врагу | ||
− | |||
vars.hitIndicatorsEnabled "true" | vars.hitIndicatorsEnabled "true" | ||
− | |||
− | |||
# первая цифра, это команда 1 (как правило 2 команды участвую в одном раунде), вторая это фракция, 0 - США, 1 - РФ, 2 - Китай, | # первая цифра, это команда 1 (как правило 2 команды участвую в одном раунде), вторая это фракция, 0 - США, 1 - РФ, 2 - Китай, | ||
− | |||
# раньше (в БФ3 к примеру, обычно все карты игрались по два раунда, чтобы каждая команда сыграла за каждую сторону, но БФ4 так сложилось, | # раньше (в БФ3 к примеру, обычно все карты игрались по два раунда, чтобы каждая команда сыграла за каждую сторону, но БФ4 так сложилось, | ||
− | |||
# что обычно играется один раунд на каждой карте, но так как в Бф4 была добавлена 3-я фракция КИТАЙ, разработчики дали возможность | # что обычно играется один раунд на каждой карте, но так как в Бф4 была добавлена 3-я фракция КИТАЙ, разработчики дали возможность | ||
− | |||
# переключать фракции и настраивать их для каждого рануда, если вы выставите игру на каждой карте по два раунда. | # переключать фракции и настраивать их для каждого рануда, если вы выставите игру на каждой карте по два раунда. | ||
− | |||
# Мы не рекомендую менять эти настройки, так как они будут применены (без дополнительных плагинов) ко всем картам, | # Мы не рекомендую менять эти настройки, так как они будут применены (без дополнительных плагинов) ко всем картам, | ||
− | |||
# поэтому просто удалите эту перменную или не добавляйте | # поэтому просто удалите эту перменную или не добавляйте | ||
− | |||
# но если у вас на сервере одна карта, только голмуд, или локер, то можно использовать для разнообразия. | # но если у вас на сервере одна карта, только голмуд, или локер, то можно использовать для разнообразия. | ||
− | |||
vars.teamFactionOverride | vars.teamFactionOverride | ||
− | |||
− | |||
#Настройки сервера | #Настройки сервера | ||
− | |||
− | |||
− | |||
# RANKED - рановый, OFFICAL - офицальный, UNRANKED - не рановый, PRIVATE - приватный (по идее, тоже самое что и не ранговый). | # RANKED - рановый, OFFICAL - офицальный, UNRANKED - не рановый, PRIVATE - приватный (по идее, тоже самое что и не ранговый). | ||
− | |||
# На офицальном сервере вы не сможете исключать, перемещать игроков на сервере, так же не сможете менять ни какие настройки кроме карт, и некоторых других. | # На офицальном сервере вы не сможете исключать, перемещать игроков на сервере, так же не сможете менять ни какие настройки кроме карт, и некоторых других. | ||
− | |||
vars.serverType Ranked | vars.serverType Ranked | ||
− | |||
− | |||
# разрешить наблюдателей для всех | # разрешить наблюдателей для всех | ||
− | |||
vars.alwaysAllowSpectators "True" | vars.alwaysAllowSpectators "True" | ||
− | |||
− | |||
# колличество наблюдателей (максимальное 4 на ранговых серверах) на приватных можно установить больше | # колличество наблюдателей (максимальное 4 на ранговых серверах) на приватных можно установить больше | ||
− | |||
vars.maxSpectators 0 | vars.maxSpectators 0 | ||
− | |||
− | |||
# true (ВКЛ), false (ВЫКЛ) включить или отключить командира, работает только в режиме захват (большой, малый) истребление, штурм авианосца | # true (ВКЛ), false (ВЫКЛ) включить или отключить командира, работает только в режиме захват (большой, малый) истребление, штурм авианосца | ||
− | |||
vars.commander false | vars.commander false | ||
− | |||
− | |||
# время бездействия, после которого игрок будет автоматически исключён (300 значение по умолчанию) максимальное 86400, в BF4 лучше не менять, так как когда | # время бездействия, после которого игрок будет автоматически исключён (300 значение по умолчанию) максимальное 86400, в BF4 лучше не менять, так как когда | ||
− | |||
# сервер пустой, исключать вас не будет всё равно | # сервер пустой, исключать вас не будет всё равно | ||
− | |||
vars.idleTimeout "300" | vars.idleTimeout "300" | ||
− | |||
− | |||
# true (ВКЛ), false (ВЫКЛ) автобаланс (размещает игроков по команда после захода, не дает часто менять команду) | # true (ВКЛ), false (ВЫКЛ) автобаланс (размещает игроков по команда после захода, не дает часто менять команду) | ||
− | |||
vars.autoBalance "true" | vars.autoBalance "true" | ||
− | |||
− | |||
# кол-во игроков, требуемое для начала раунда (например установив 4, вы увидите "требуется 1\4 игрока для начала раунда" (минимальное 4, на ранговых серверах) | # кол-во игроков, требуемое для начала раунда (например установив 4, вы увидите "требуется 1\4 игрока для начала раунда" (минимальное 4, на ранговых серверах) | ||
− | |||
vars.roundStartPlayerCount 4 | vars.roundStartPlayerCount 4 | ||
− | |||
− | |||
# перезагрузить раунд, после того как на сервере останется игроков (0 - ни когда, 4 - к примеру было 30 игроков, осталось 3 и раунд перейдет в режим ожидания требуемых для начала раунда игроков | # перезагрузить раунд, после того как на сервере останется игроков (0 - ни когда, 4 - к примеру было 30 игроков, осталось 3 и раунд перейдет в режим ожидания требуемых для начала раунда игроков | ||
− | |||
vars.roundRestartPlayerCount 0 | vars.roundRestartPlayerCount 0 | ||
− | |||
− | |||
# время респауна игроков | # время респауна игроков | ||
− | |||
vars.playerRespawnTime 100 | vars.playerRespawnTime 100 | ||
− | |||
− | |||
# true (ВКЛ), false (ВЫКЛ) включить или отключить агрессивное соединение, например если на сервер очередь, а вы установили true, | # true (ВКЛ), false (ВЫКЛ) включить или отключить агрессивное соединение, например если на сервер очередь, а вы установили true, | ||
− | |||
# игроки, которые находятся в списке reserverdslot.txt смогут тут же войти на сервер, для них будет освобожден слот, | # игроки, которые находятся в списке reserverdslot.txt смогут тут же войти на сервер, для них будет освобожден слот, | ||
− | |||
# путем исключения рандомно другого игрока с сервере (не состоящего в reservedslot.txt) | # путем исключения рандомно другого игрока с сервере (не состоящего в reservedslot.txt) | ||
− | |||
reservedSlotsList.aggressiveJoin "true" | reservedSlotsList.aggressiveJoin "true" | ||
− | |||
− | |||
# 30 по умолчанию, отсчет до начала раунда, после того как набралось требуемое кол-во "ГОТОВ" к игре | # 30 по умолчанию, отсчет до начала раунда, после того как набралось требуемое кол-во "ГОТОВ" к игре | ||
− | |||
vars.roundLockdownCountdown 30 | vars.roundLockdownCountdown 30 | ||
− | |||
− | |||
− | |||
vars.roundPlayersReadyBypassTimer | vars.roundPlayersReadyBypassTimer | ||
− | |||
− | |||
# минимальный процент готовых игроков к раунда | # минимальный процент готовых игроков к раунда | ||
− | |||
vars.roundPlayersReadyMinCount | vars.roundPlayersReadyMinCount | ||
− | |||
− | |||
# требуемый процент игроков нажавших "ГОТОВО" для начала игры | # требуемый процент игроков нажавших "ГОТОВО" для начала игры | ||
− | |||
vars.roundPlayersReadyPercent | vars.roundPlayersReadyPercent | ||
− | |||
− | |||
# лимит времени раунда (от 50 до 300 на ранговом сервере) к примеру 100 - это 1 час в режиме Захват большой | # лимит времени раунда (от 50 до 300 на ранговом сервере) к примеру 100 - это 1 час в режиме Захват большой | ||
− | |||
vars.roundTimeLimit 300 | vars.roundTimeLimit 300 | ||
− | |||
− | |||
# частота обновления сервера (от 30 до 144) так называемая герцовка сервера, как правило, чем выше, тем лучше, | # частота обновления сервера (от 30 до 144) так называемая герцовка сервера, как правило, чем выше, тем лучше, | ||
− | |||
# но и как правило, за сервер выше 30 герц, нужно дополнительно платить. Максимально рекомендуемая настройка | # но и как правило, за сервер выше 30 герц, нужно дополнительно платить. Максимально рекомендуемая настройка | ||
− | |||
# (при аренде сервера с высокой частотой) для серверов в 64 слота - 60, 48 - 90, 32 - 120, 20 - 144. | # (при аренде сервера с высокой частотой) для серверов в 64 слота - 60, 48 - 90, 32 - 120, 20 - 144. | ||
− | |||
vars.OutHighFrequency 30 | vars.OutHighFrequency 30 | ||
− | |||
− | |||
# NORMAL - нормально, HARDCORE - реалистично, CUSTOM - индивидуально | # NORMAL - нормально, HARDCORE - реалистично, CUSTOM - индивидуально | ||
− | |||
vars.preset NORMAL | vars.preset NORMAL | ||
− | |||
[/CODE] | [/CODE] | ||
− | |||
− |
Версия 11:15, 3 декабря 2020
В данном гайде рассмотрим как управлять сервером Battlefield 4 через панель управления TCAdmin
И так, после оплаты сервера, вы получите логин и пароль для входа в панель управления, переёдите по ссылке, установите русский язык, затем введите выданный логин и пароль
И вот что мы видим
Для начала нажмите на вкладку "Конфигурационные файлы и выберете файл Startup.txt, нажмите на "Редактор текста"
Пароль админа выделен желтым на Рисунке номер 3 (ниже)
Так же вы этом файле вы можете настроить название сервера, описание, приветсвенное сообщение, пресет сервера НОРМАЛЬНО, ХАРДКОР, и всё остальное. Ниже будет пример.
[CODE]
Описание:
- максимальное кол-во игроков на сервере (от 1 до 70) можно установить не больше, чем оплачено на хостинге
vars.maxPlayers 10
- RCON пароль доступа к вашему серверу, например для управления сервером через ProCon или RCONnet
admin.password "passwdord"
- Античит системы
- включение отключение PunkBuster (возможно только на не рейтинговых серверах) для отключения удалите эту строку
punkBuster.activate
- включение отключение FairFight (возможно только на не рейтинговых серверах) для отключения удалите эту строку
fairFight.activate
- Название сервера
vars.serverName "XLGAMES.PRO"
- Описание сервера
vars.serverDescription "Welcome to XLGAMES.PRO Battlefield 4 server"
- Приветствие при входе на сервер
vars.serverMessage "Welcome to XLGAMES.PRO Battlefield 4 server"
- Геймплей
- true (ВКЛ), false (ВЫКЛ) огонь по своим
vars.friendlyFire "false"
- true (ВКЛ), false (ВЫКЛ) камера смерти КИЛЛКАМ
vars.killCam - true
- true (ВКЛ), false (ВЫКЛ) миникарта
vars.miniMap "true"
- true (ВКЛ), false (ВЫКЛ)
vars.3dSpotting "true"
- true (ВКЛ), false (ВЫКЛ) споттинг (пометка, жетлые маркеры) врагов на миникарте
vars.miniMapSpotting "true"
- true (ВКЛ), false (ВЫКЛ) вид от третьего лица в технике
vars.3pCam "true"
- true (ВКЛ), false (ВЫКЛ) техника на карте
vars.vehicleSpawnAllowed "true"
- время появления техники после уничтожения, значение от 25 до 100 на ранговых сервера, и почти любое на не ранговых
vars.vehicleSpawnDelay 100
- урон пули, на ранговых серверах не меняется, на не ранговых можно менять
vars.bulletDamage 100
- true (ВКЛ), false (ВЫКЛ) ник врага над головой
vars.nameTag "true"
- true (ВКЛ), false (ВЫКЛ) регенирация здоровья
vars.regenerateHealth "true"
- true (ВКЛ), false (ВЫКЛ) возрождение только на лидере отряда
vars.onlySquadLeaderSpawn "true"
- stats, all, common - разблокировка оружия (меняется только на не ранговых серверах) к примеру на не ранговом сервере, вы можете указать all,
- и у игроков будет открыто всё доступное в игре оружие, то, которое у них даже не разблокировано
vars.unlockMode stats
- процент здровья (HP) значение от 60 до 100 на ранговых серверах, и почти любое на не ранговых
vars.soldierHealth 100
- true (ВКЛ), false (ВЫКЛ) включение и отключение дополнительного интерфейса в игре, к примеру он отключен на серверах Хардкор, и включен на Нормальном сервере
vars.hud "true"
- количество тикетов в процентах (от 50 до 400 на ранговых серверах) к примеру на Большом Захвате 100 - это 800 тикетов в BF4
vars.gameModeCounter 100
- процент уменьшения тикетов
vars.ticketBleedRate 100
- true (ВКЛ), false (ВЫКЛ) индикатор попадания пули по врагу
vars.hitIndicatorsEnabled "true"
- первая цифра, это команда 1 (как правило 2 команды участвую в одном раунде), вторая это фракция, 0 - США, 1 - РФ, 2 - Китай,
- раньше (в БФ3 к примеру, обычно все карты игрались по два раунда, чтобы каждая команда сыграла за каждую сторону, но БФ4 так сложилось,
- что обычно играется один раунд на каждой карте, но так как в Бф4 была добавлена 3-я фракция КИТАЙ, разработчики дали возможность
- переключать фракции и настраивать их для каждого рануда, если вы выставите игру на каждой карте по два раунда.
- Мы не рекомендую менять эти настройки, так как они будут применены (без дополнительных плагинов) ко всем картам,
- поэтому просто удалите эту перменную или не добавляйте
- но если у вас на сервере одна карта, только голмуд, или локер, то можно использовать для разнообразия.
vars.teamFactionOverride
- Настройки сервера
- RANKED - рановый, OFFICAL - офицальный, UNRANKED - не рановый, PRIVATE - приватный (по идее, тоже самое что и не ранговый).
- На офицальном сервере вы не сможете исключать, перемещать игроков на сервере, так же не сможете менять ни какие настройки кроме карт, и некоторых других.
vars.serverType Ranked
- разрешить наблюдателей для всех
vars.alwaysAllowSpectators "True"
- колличество наблюдателей (максимальное 4 на ранговых серверах) на приватных можно установить больше
vars.maxSpectators 0
- true (ВКЛ), false (ВЫКЛ) включить или отключить командира, работает только в режиме захват (большой, малый) истребление, штурм авианосца
vars.commander false
- время бездействия, после которого игрок будет автоматически исключён (300 значение по умолчанию) максимальное 86400, в BF4 лучше не менять, так как когда
- сервер пустой, исключать вас не будет всё равно
vars.idleTimeout "300"
- true (ВКЛ), false (ВЫКЛ) автобаланс (размещает игроков по команда после захода, не дает часто менять команду)
vars.autoBalance "true"
- кол-во игроков, требуемое для начала раунда (например установив 4, вы увидите "требуется 1\4 игрока для начала раунда" (минимальное 4, на ранговых серверах)
vars.roundStartPlayerCount 4
- перезагрузить раунд, после того как на сервере останется игроков (0 - ни когда, 4 - к примеру было 30 игроков, осталось 3 и раунд перейдет в режим ожидания требуемых для начала раунда игроков
vars.roundRestartPlayerCount 0
- время респауна игроков
vars.playerRespawnTime 100
- true (ВКЛ), false (ВЫКЛ) включить или отключить агрессивное соединение, например если на сервер очередь, а вы установили true,
- игроки, которые находятся в списке reserverdslot.txt смогут тут же войти на сервер, для них будет освобожден слот,
- путем исключения рандомно другого игрока с сервере (не состоящего в reservedslot.txt)
reservedSlotsList.aggressiveJoin "true"
- 30 по умолчанию, отсчет до начала раунда, после того как набралось требуемое кол-во "ГОТОВ" к игре
vars.roundLockdownCountdown 30 vars.roundPlayersReadyBypassTimer
- минимальный процент готовых игроков к раунда
vars.roundPlayersReadyMinCount
- требуемый процент игроков нажавших "ГОТОВО" для начала игры
vars.roundPlayersReadyPercent
- лимит времени раунда (от 50 до 300 на ранговом сервере) к примеру 100 - это 1 час в режиме Захват большой
vars.roundTimeLimit 300
- частота обновления сервера (от 30 до 144) так называемая герцовка сервера, как правило, чем выше, тем лучше,
- но и как правило, за сервер выше 30 герц, нужно дополнительно платить. Максимально рекомендуемая настройка
- (при аренде сервера с высокой частотой) для серверов в 64 слота - 60, 48 - 90, 32 - 120, 20 - 144.
vars.OutHighFrequency 30
- NORMAL - нормально, HARDCORE - реалистично, CUSTOM - индивидуально
vars.preset NORMAL [/CODE]