Add ru locale and i18n for site (#11)

* Config: add `ru` locale and locale dropdown in navbar

* Add `ru` docs

* Add `ru` blog

* Add `ru` locale for site
This commit is contained in:
Sergey Shorokhov 2024-12-13 15:05:34 +03:00 committed by GitHub
parent f04d5fe914
commit e03a19615e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 778 additions and 1 deletions

View File

@ -28,7 +28,7 @@ const config: Config = {
// may want to replace "en" with "zh-Hans".
i18n: {
defaultLocale: "en",
locales: ["en"],
locales: ["en", "ru"],
},
presets: [
@ -88,6 +88,10 @@ const config: Config = {
label: "Tutorial",
},
{ to: "/blog", label: "Blog", position: "left" },
{
type: 'localeDropdown',
position: 'right',
},
{
href: "https://github.com/rehlds",
label: "GitHub",

444
i18n/ru/code.json Normal file
View File

@ -0,0 +1,444 @@
{
"theme.ErrorPageContent.title": {
"message": "На странице произошёл сбой.",
"description": "The title of the fallback page when the page crashed"
},
"theme.BackToTopButton.buttonAriaLabel": {
"message": "Прокрутка к началу",
"description": "The ARIA label for the back to top button"
},
"theme.blog.archive.title": {
"message": "Архив",
"description": "The page & hero title of the blog archive page"
},
"theme.blog.archive.description": {
"message": "Архив",
"description": "The page & hero description of the blog archive page"
},
"theme.blog.paginator.navAriaLabel": {
"message": "Навигация по странице списка блогов",
"description": "The ARIA label for the blog pagination"
},
"theme.blog.paginator.newerEntries": {
"message": "Следующие записи",
"description": "The label used to navigate to the newer blog posts page (previous page)"
},
"theme.blog.paginator.olderEntries": {
"message": "Предыдущие записи",
"description": "The label used to navigate to the older blog posts page (next page)"
},
"theme.blog.post.paginator.navAriaLabel": {
"message": "Навигация по странице поста блога",
"description": "The ARIA label for the blog posts pagination"
},
"theme.blog.post.paginator.newerPost": {
"message": "Следующий пост",
"description": "The blog post button label to navigate to the newer/previous post"
},
"theme.blog.post.paginator.olderPost": {
"message": "Предыдущий пост",
"description": "The blog post button label to navigate to the older/next post"
},
"theme.tags.tagsPageLink": {
"message": "Посмотреть все теги",
"description": "The label of the link targeting the tag list page"
},
"theme.colorToggle.ariaLabel": {
"message": "Переключение между тёмным и светлым режимом (сейчас используется {mode})",
"description": "The ARIA label for the navbar color mode toggle"
},
"theme.colorToggle.ariaLabel.mode.dark": {
"message": "Тёмный режим",
"description": "The name for the dark color mode"
},
"theme.colorToggle.ariaLabel.mode.light": {
"message": "Светлый режим",
"description": "The name for the light color mode"
},
"theme.docs.breadcrumbs.navAriaLabel": {
"message": "Навигационная цепочка текущей страницы",
"description": "The ARIA label for the breadcrumbs"
},
"theme.docs.DocCard.categoryDescription.plurals": {
"message": "{count} элемент|{count} элемента|{count} элементов",
"description": "The default description for a category card in the generated index about how many items this category includes"
},
"theme.docs.paginator.navAriaLabel": {
"message": "Страница документа",
"description": "The ARIA label for the docs pagination"
},
"theme.docs.paginator.previous": {
"message": "Предыдущая страница",
"description": "The label used to navigate to the previous doc"
},
"theme.docs.paginator.next": {
"message": "Следующая страница",
"description": "The label used to navigate to the next doc"
},
"theme.docs.tagDocListPageTitle.nDocsTagged": {
"message": "Одна страница|{count} страницы|{count} страниц",
"description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
},
"theme.docs.tagDocListPageTitle": {
"message": "{nDocsTagged} с тегом \"{tagName}\"",
"description": "The title of the page for a docs tag"
},
"theme.docs.versionBadge.label": {
"message": "Версия: {versionLabel}"
},
"theme.docs.versions.unreleasedVersionLabel": {
"message": "Это документация для будущей версии {siteTitle} {versionLabel}.",
"description": "The label used to tell the user that he's browsing an unreleased doc version"
},
"theme.docs.versions.unmaintainedVersionLabel": {
"message": "Это документация {siteTitle} для версии {versionLabel}, которая уже не поддерживается.",
"description": "The label used to tell the user that he's browsing an unmaintained doc version"
},
"theme.docs.versions.latestVersionSuggestionLabel": {
"message": "Актуальная документация находится на странице {latestVersionLink} ({versionLabel}).",
"description": "The label used to tell the user to check the latest version"
},
"theme.docs.versions.latestVersionLinkLabel": {
"message": "последней версии",
"description": "The label used for the latest version suggestion link label"
},
"theme.common.editThisPage": {
"message": "Отредактировать эту страницу",
"description": "The link label to edit the current page"
},
"theme.common.headingLinkTitle": {
"message": "Прямая ссылка на {heading}",
"description": "Title for link to heading"
},
"theme.lastUpdated.atDate": {
"message": " {date}",
"description": "The words used to describe on which date a page has been last updated"
},
"theme.lastUpdated.byUser": {
"message": " от {user}",
"description": "The words used to describe by who the page has been last updated"
},
"theme.lastUpdated.lastUpdatedAtBy": {
"message": "Последнее обновление{atDate}{byUser}",
"description": "The sentence used to display when a page has been last updated, and by who"
},
"theme.NotFound.title": {
"message": "Страница не найдена",
"description": "The title of the 404 page"
},
"theme.navbar.mobileVersionsDropdown.label": {
"message": "Версии",
"description": "The label for the navbar versions dropdown on mobile view"
},
"theme.tags.tagsListLabel": {
"message": "Теги:",
"description": "The label alongside a tag list"
},
"theme.admonition.caution": {
"message": "предупреждение",
"description": "The default label used for the Caution admonition (:::caution)"
},
"theme.admonition.danger": {
"message": "осторожно",
"description": "The default label used for the Danger admonition (:::danger)"
},
"theme.admonition.info": {
"message": "к сведению",
"description": "The default label used for the Info admonition (:::info)"
},
"theme.admonition.note": {
"message": "примечание",
"description": "The default label used for the Note admonition (:::note)"
},
"theme.admonition.tip": {
"message": "подсказка",
"description": "The default label used for the Tip admonition (:::tip)"
},
"theme.admonition.warning": {
"message": "предупреждение",
"description": "The default label used for the Warning admonition (:::warning)"
},
"theme.AnnouncementBar.closeButtonAriaLabel": {
"message": "Закрыть",
"description": "The ARIA label for close button of announcement bar"
},
"theme.blog.sidebar.navAriaLabel": {
"message": "Навигация по последним постам в блоге",
"description": "The ARIA label for recent posts in the blog sidebar"
},
"theme.CodeBlock.copied": {
"message": "Скопировано",
"description": "The copied button label on code blocks"
},
"theme.CodeBlock.copyButtonAriaLabel": {
"message": "Скопировать в буфер обмена",
"description": "The ARIA label for copy code blocks button"
},
"theme.CodeBlock.copy": {
"message": "Скопировать",
"description": "The copy button label on code blocks"
},
"theme.CodeBlock.wordWrapToggle": {
"message": "Переключить перенос по строкам",
"description": "The title attribute for toggle word wrapping button of code block lines"
},
"theme.DocSidebarItem.expandCategoryAriaLabel": {
"message": "Expand sidebar category '{label}'",
"description": "The ARIA label to expand the sidebar category"
},
"theme.DocSidebarItem.collapseCategoryAriaLabel": {
"message": "Collapse sidebar category '{label}'",
"description": "The ARIA label to collapse the sidebar category"
},
"theme.NavBar.navAriaLabel": {
"message": "Main",
"description": "The ARIA label for the main navigation"
},
"theme.NotFound.p1": {
"message": "К сожалению, мы не смогли найти запрашиваемую вами страницу.",
"description": "The first paragraph of the 404 page"
},
"theme.NotFound.p2": {
"message": "Пожалуйста, обратитесь к владельцу сайта, с которого вы перешли на эту ссылку, чтобы сообщить ему, что ссылка не работает.",
"description": "The 2nd paragraph of the 404 page"
},
"theme.navbar.mobileLanguageDropdown.label": {
"message": "Языки",
"description": "The label for the mobile language switcher dropdown"
},
"theme.TOCCollapsible.toggleButtonLabel": {
"message": "Содержание этой страницы",
"description": "The label used by the button on the collapsible TOC component"
},
"theme.blog.post.readMore": {
"message": "Читать дальше",
"description": "The label used in blog post item excerpts to link to full blog posts"
},
"theme.blog.post.readMoreLabel": {
"message": "Подробнее о {title}",
"description": "The ARIA label for the link to full blog posts from excerpts"
},
"theme.blog.post.readingTime.plurals": {
"message": "{readingTime} мин. чтения|{readingTime} мин. чтения|{readingTime} мин. чтения",
"description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
},
"theme.docs.breadcrumbs.home": {
"message": "Главная страница",
"description": "The ARIA label for the home page in the breadcrumbs"
},
"theme.docs.sidebar.collapseButtonTitle": {
"message": "Свернуть сайдбар",
"description": "The title attribute for collapse button of doc sidebar"
},
"theme.docs.sidebar.collapseButtonAriaLabel": {
"message": "Свернуть сайдбар",
"description": "The title attribute for collapse button of doc sidebar"
},
"theme.docs.sidebar.navAriaLabel": {
"message": "Docs sidebar",
"description": "The ARIA label for the sidebar navigation"
},
"theme.docs.sidebar.closeSidebarButtonAriaLabel": {
"message": "Закрыть панель навигации",
"description": "The ARIA label for close button of mobile sidebar"
},
"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": {
"message": "← Перейти к главному меню",
"description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"
},
"theme.docs.sidebar.toggleSidebarButtonAriaLabel": {
"message": "Переключить навигационную панель",
"description": "The ARIA label for hamburger menu button of mobile navigation"
},
"theme.docs.sidebar.expandButtonTitle": {
"message": "Развернуть сайдбар",
"description": "The ARIA label and title attribute for expand button of doc sidebar"
},
"theme.docs.sidebar.expandButtonAriaLabel": {
"message": "Развернуть сайдбар",
"description": "The ARIA label and title attribute for expand button of doc sidebar"
},
"theme.SearchBar.seeAll": {
"message": "Посмотреть все результаты ({count})"
},
"theme.SearchPage.documentsFound.plurals": {
"message": "{count} документ|{count} документа|{count} документов",
"description": "Pluralized label for \"{count} documents found\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
},
"theme.SearchPage.existingResultsTitle": {
"message": "Результаты поиска по запросу \"{query}\"",
"description": "The search page title for non-empty query"
},
"theme.SearchPage.emptyResultsTitle": {
"message": "Поиск по сайту",
"description": "The search page title for empty query"
},
"theme.SearchPage.inputPlaceholder": {
"message": "Введите фразу для поиска",
"description": "The placeholder for search page input"
},
"theme.SearchPage.inputLabel": {
"message": "Поиск",
"description": "The ARIA label for search page input"
},
"theme.SearchPage.algoliaLabel": {
"message": "Поиск от Algolia",
"description": "The ARIA label for Algolia mention"
},
"theme.SearchPage.noResultsText": {
"message": "По запросу ничего не найдено",
"description": "The paragraph for empty search result"
},
"theme.SearchPage.fetchingNewResults": {
"message": "Загрузка новых результатов поиска...",
"description": "The paragraph for fetching new search results"
},
"theme.SearchBar.label": {
"message": "Поиск",
"description": "The ARIA label and placeholder for search button"
},
"theme.SearchModal.searchBox.resetButtonTitle": {
"message": "Очистить",
"description": "The label and ARIA label for search box reset button"
},
"theme.SearchModal.searchBox.cancelButtonText": {
"message": "Отменить",
"description": "The label and ARIA label for search box cancel button"
},
"theme.SearchModal.startScreen.recentSearchesTitle": {
"message": "Недавнее",
"description": "The title for recent searches"
},
"theme.SearchModal.startScreen.noRecentSearchesText": {
"message": "Нет истории поиска",
"description": "The text when no recent searches"
},
"theme.SearchModal.startScreen.saveRecentSearchButtonTitle": {
"message": "Сохранить поисковый запрос",
"description": "The label for save recent search button"
},
"theme.SearchModal.startScreen.removeRecentSearchButtonTitle": {
"message": "Удалить запись из историю",
"description": "The label for remove recent search button"
},
"theme.SearchModal.startScreen.favoriteSearchesTitle": {
"message": "Избранное",
"description": "The title for favorite searches"
},
"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": {
"message": "Удалить запись из избранное",
"description": "The label for remove favorite search button"
},
"theme.SearchModal.errorScreen.titleText": {
"message": "Невозможно загрузить результаты поиска",
"description": "The title for error screen of search modal"
},
"theme.SearchModal.errorScreen.helpText": {
"message": "Проверьте подключение к интернету.",
"description": "The help text for error screen of search modal"
},
"theme.SearchModal.footer.selectText": {
"message": "выбрать",
"description": "The explanatory text of the action for the enter key"
},
"theme.SearchModal.footer.selectKeyAriaLabel": {
"message": "Клавиша Enter",
"description": "The ARIA label for the Enter key button that makes the selection"
},
"theme.SearchModal.footer.navigateText": {
"message": "навигация",
"description": "The explanatory text of the action for the Arrow up and Arrow down key"
},
"theme.SearchModal.footer.navigateUpKeyAriaLabel": {
"message": "Клавиша стрелка вверх",
"description": "The ARIA label for the Arrow up key button that makes the navigation"
},
"theme.SearchModal.footer.navigateDownKeyAriaLabel": {
"message": "Клавиша стрелка вниз",
"description": "The ARIA label for the Arrow down key button that makes the navigation"
},
"theme.SearchModal.footer.closeText": {
"message": "закрыть",
"description": "The explanatory text of the action for Escape key"
},
"theme.SearchModal.footer.closeKeyAriaLabel": {
"message": "Клавиша Escape",
"description": "The ARIA label for the Escape key button that close the modal"
},
"theme.SearchModal.footer.searchByText": {
"message": "Поиск от",
"description": "The text explain that the search is making by Algolia"
},
"theme.SearchModal.noResultsScreen.noResultsText": {
"message": "Нет результатов по запросу",
"description": "The text explains that there are no results for the following search"
},
"theme.SearchModal.noResultsScreen.suggestedQueryText": {
"message": "Попробуйте",
"description": "The text for the suggested query when no results are found for the following search"
},
"theme.SearchModal.noResultsScreen.reportMissingResultsText": {
"message": "Нет подходящего результата поиска?",
"description": "The text for the question where the user thinks there are missing results"
},
"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": {
"message": "Сообщите нам.",
"description": "The text for the link to report missing results"
},
"theme.SearchModal.placeholder": {
"message": "Поиск",
"description": "The placeholder of the input of the DocSearch pop-up modal"
},
"theme.blog.post.plurals": {
"message": "{count} запись|{count} записи|{count} записей",
"description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
},
"theme.blog.tagTitle": {
"message": "{nPosts} с тегом \"{tagName}\"",
"description": "The title of the page for a blog tag"
},
"theme.blog.author.pageTitle": {
"message": "{authorName} - {nPosts}",
"description": "The title of the page for a blog author"
},
"theme.blog.authorsList.pageTitle": {
"message": "Authors",
"description": "The title of the authors page"
},
"theme.blog.authorsList.viewAll": {
"message": "View All Authors",
"description": "The label of the link targeting the blog authors page"
},
"theme.blog.author.noPosts": {
"message": "This author has not written any posts yet.",
"description": "The text for authors with 0 blog post"
},
"theme.contentVisibility.unlistedBanner.title": {
"message": "Unlisted page",
"description": "The unlisted content banner title"
},
"theme.contentVisibility.unlistedBanner.message": {
"message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.",
"description": "The unlisted content banner message"
},
"theme.contentVisibility.draftBanner.title": {
"message": "Draft page",
"description": "The draft content banner title"
},
"theme.contentVisibility.draftBanner.message": {
"message": "This page is a draft. It will only be visible in dev and be excluded from the production build.",
"description": "The draft content banner message"
},
"theme.ErrorPageContent.tryAgain": {
"message": "Попробуйте ещё раз",
"description": "The label of the button to try again rendering when the React error boundary captures an error"
},
"theme.common.skipToMainContent": {
"message": "Перейти к основному содержимому",
"description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation"
},
"theme.tags.tagsPageTitle": {
"message": "Теги",
"description": "The title of the tag list page"
}
}

View File

@ -0,0 +1,62 @@
---
title: "Станьте частью команды менеджеров сообщества ReHLDS"
description: "Сообщество ReHLDS ищет увлечённых менеджеров сообщества, чтобы создать дружелюбную атмосферу для всех участников. Присоединяйтесь и помогите в развитии нашего сообщества!"
keywords:
- ReHLDS
- управление сообществом
- открытое программное обеспечение
- GitHub
authors:
- wopox1337
tags:
- рекрутинг
- сообщество
- открытое ПО
- волонтёрство
---
# Станьте частью команды менеджеров сообщества ReHLDS
Сообщество ReHLDS активно растёт, и наша цель — сделать его более дружелюбным и вовлекающим для всех участников, будь то новички или опытные разработчики. Для поддержки этих целей мы ищем увлечённых менеджеров сообщества, которые хотят внести свой вклад в создание положительного воздействия.
{/* truncate */}
## Почему стоит присоединиться?
Как менеджер сообщества, вы сыграете ключевую роль в формировании опыта пользователей и разработчиков в нашем сообществе. От модерации обсуждений и помощи новичкам до организации ресурсов и поддержки создания контента — у вас будет множество возможностей внести значимый вклад.
## Что вам предстоит делать
У нас есть [🤝 Инициативы сообщества и UX](https://github.com/orgs/rehlds/projects/1/views/1), где содержится список задач и приоритетов для команды. Вы сможете выбрать задачи, которые вам наиболее интересны, или предложить идеи, которые соответствуют нашим целям.
**Основные обязанности**:
- Взаимодействие с участниками сообщества для создания дружелюбной и поддерживающей атмосферы.
- Организация, маркировка и управление задачами и пулл-запросами.
- Помощь в сборе обратной связи от сообщества и улучшении наших ресурсов.
- Совместная работа с другими участниками на инициативы сообщества.
## Гибкость в вкладе
Хотя у нас есть план задач, мы ценим гибкость. Если вам интересна определённая область, мы с радостью поддержим ваши идеи и усилия в этой сфере.
## Как подать заявку
Если вы хотите присоединиться к нам, заполните [эту форму Google](https://forms.gle/fhyrnhnSFu4g4Cmz8) с основной информацией о вашем опыте, контактных данных и интересах. Мы с нетерпением ждём знакомства с вами!
**Давайте вместе сделаем сообщество ReHLDS более дружелюбным и ярким!**
import styles from "./index.module.css";
<>
<div className={styles.wrapper}>
<iframe className={styles.iframe}
src="https://docs.google.com/forms/d/e/1FAIpQLSd3fFLzeEGKKOTOQFK3cl6EjgswXhm3SvPCvaYCbZz0PmGhfg/viewform?embedded=true"
frameborder="0"
marginheight="0"
marginwidth="0"
>
Загружается…
</iframe>
</div>
</>

View File

@ -0,0 +1,10 @@
.wrapper {
width: 100%;
max-width: 600px;
color: aqua;
}
.iframe {
width: 100%;
height: 100svh;
}

View File

@ -0,0 +1,8 @@
wopox1337:
name: Сергей Шорохов
title: Software Engineer
url: https://SergeyShorokhov.github.io
image_url: https://github.com/SergeyShorokhov.png
page: true
socials:
github: SergeyShorokhov

View File

@ -0,0 +1,14 @@
{
"title": {
"message": "Блог",
"description": "The title for the blog used in SEO"
},
"description": {
"message": "Блог",
"description": "The description for the blog used in SEO"
},
"sidebar.title": {
"message": "Недавние посты",
"description": "The label for the left sidebar"
}
}

View File

@ -0,0 +1,14 @@
{
"version.label": {
"message": "Следующая",
"description": "The label for version current"
},
"sidebar.tutorialSidebar.category.Core projects": {
"message": "Основные проекты",
"description": "The label for category Core projects in sidebar tutorialSidebar"
},
"sidebar.tutorialSidebar.category.Core projects.link.generated-index.description": {
"message": "Основные проекты организации ReHLDS, о которых вы можете прочитать.",
"description": "The generated-index page description for category Core projects in sidebar tutorialSidebar"
}
}

View File

@ -0,0 +1,30 @@
---
id: metamod-r
title: Metamod-r
description: Metamod-r — это оптимизированная версия оригинального Metamod, улучшающая производительность и совместимость для серверов Half-Life 1.
slug: /metamod-r
---
# Что такое Metamod-r?
Metamod-r — это улучшенная версия оригинального Metamod, менеджера плагинов/DLL, который функционирует как промежуточный слой между движком Half-Life и игровым модом. Такой подход позволяет динамически загружать и выгружать DLL-плагины, добавляя возможность кастомизации серверов Half-Life или любых игровых модов на этом движке.
Основанный на оригинальном Metamod, разработанном Уиллом Дэем, Metamod-r включает в себя значительные улучшения, такие как оптимизация кода и повышенная производительность, при полном сохранении совместимости со всеми плагинами, созданными для Metamod. Ключевые улучшения в Metamod-r включают оптимизации из Metamod-p, более ранней модифицированной версии от Юсси Кивилинны, а также дополнительные доработки.
## Основные преимущества Metamod-r
1. **Оптимизация производительности**
Metamod-r содержит высокооптимизированное ядро, реализованное с использованием компилятора Just-In-Time (JIT), что значительно улучшает производительность по сравнению с оригинальным Metamod. Это обеспечивает более плавную работу и уменьшенное использование ресурсов, особенно при высокой нагрузке на сервер.
2. **Улучшенный и чище организованный код**
В рамках проекта Metamod-r была проведена глубокая доработка кода, что привело к его большей читаемости и поддерживаемости. Это повышение качества кода способствует как производительности, так и стабильности, делая его идеальным выбором для современных серверов Half-Life 1.
3. **Расширенная совместимость с ReHLDS**
Metamod-r полностью совместим как с оригинальным HLDS (Half-Life Dedicated Server), так и с ReHLDS — переработанной версией HLDS. Использование Metamod-r с ReHLDS (API 3.1+) позволяет получить дополнительные преимущества производительности и улучшения, ещё больше улучшая работу серверов.
4. **Динамическое управление плагинами**
Как и в оригинальном Metamod, Metamod-r поддерживает динамическую загрузку и выгрузку плагинов, позволяя администраторам настраивать окружение сервера без перезапуска. Эта гибкость упрощает эксперименты с различными конфигурациями плагинов для поиска оптимальных решений.
## История и назначение
Metamod-r был разработан для устранения ограничений и устаревшего кода оригинального Metamod. Построенный на основе, заложенной Уиллом Дэем, а затем расширенной Юсси Кивилинной в Metamod-p, Metamod-r объединяет эти улучшения в одной, высоко оптимизированной версии. Основная цель проекта — модернизация Metamod при сохранении его ключевой функциональности и совместимости, делая его предпочтительным выбором для серверов Half-Life 1 сегодня.

View File

@ -0,0 +1,48 @@
---
id: regamedll_cs
title: ReGameDLL_CS
description: ReGameDLL_CS представляет собой реверс-инжинированную, улучшенную версию GameDLL для Counter-Strike, включающую расширенный функционал, оптимизации и новые возможности API.
slug: /regamedll-cs
---
# Что такое ReGameDLL_CS?
ReGameDLL_CS — это реверс-инжинированная версия оригинальной игровой библиотеки Counter-Strike (mp.dll / cs.so), созданная на базе HLDS (build 6153 beta) с использованием информации DWARF debug из Linux-версии HLDS (cs.so). Этот подход позволил создать более стабильную и функционально расширенную версию для серверов Counter-Strike 1.6 и Counter-Strike: Condition Zero.
## Основные возможности и улучшения
ReGameDLL_CS предназначен для обеспечения улучшенной, стабильной GameDLL с расширенным функционалом для модификаций и плагинов. Вот некоторые из ключевых возможностей и улучшений:
1. **Оптимизация производительности и сети**
GameDLL включает множество оптимизаций, особенно в части сетевой производительности, что снижает задержки и улучшает отклик сервера во время игры.
2. **Расширенные настройки и функции**
ReGameDLL_CS добавляет новые и улучшенные игровые настройки, позволяя администраторам серверов и моддерам иметь больший контроль над игровым процессом. Расширенная поддержка API позволяет создавать более гибкие и конфигурируемые моды и плагины.
3. **Улучшенная безопасность**
Реверс-инжинированный код содержит критические улучшения безопасности, устраняющие распространённые уязвимости и обеспечивающие более безопасную среду для игроков и администраторов серверов.
4. **Поддержка для разработчиков и создателей карт**
ReGameDLL_CS предоставляет дополнительные функции для разработчиков и дизайнеров карт, включая улучшенные опции для карт формата .bsp и расширенные возможности скриптинга. Это позволяет создавать более сложные и интересные игровые сценарии.
## Важное замечание о совместимости
:::warning
ReGameDLL_CS не является бинарно совместимым с оригинальным HLDS, так как он был скомпилирован с использованием других компиляторов, чем те, которые использовались для оригинального мода Counter-Strike. Плагины, которые зависят от бинарного анализа кода (например, Orpheu), могут работать некорректно с ReGameDLL_CS.
:::
## Установка и использование
ReGameDLL_CS полностью совместим с официальными модами Counter-Strike 1.6 и Condition Zero от Valve. Для установки ReGameDLL_CS необходимо скачать бинарные файлы и заменить оригинальные `mp.dll` или `cs.so` в вашей серверной конфигурации.
### Дополнительные опции
- **Установка zBot для CS 1.6**
- Распакуйте все файлы из архива zBot.
- Добавьте опцию `-bots` в командную строку запуска HLDS.
- **Включение улучшенного AI заложников из CSCZ для CS 1.6**
- Распакуйте все файлы из соответствующего архива.
- Добавьте опцию `-host-improv` в командную строку запуска HLDS.
ReGameDLL_CS объединяет стабильность, безопасность и расширенные возможности, делая его идеальным выбором для тех, кто хочет улучшить и поддерживать свои серверы Counter-Strike с помощью современных инструментов и настроек.

View File

@ -0,0 +1,42 @@
---
sidebar_position: 1
id: rehlds
title: ReHLDS
description: ReHLDS — это переработанная версия оригинального HLDS с улучшенной безопасностью, производительностью и возможностями моддинга для таких игр, как Half-Life и Counter-Strike 1.6.
slug: /rehlds
---
# Что такое ReHLDS?
ReHLDS (Reverse-engineered Half-Life Dedicated Server) — это переработанный и улучшенный серверный движок, основанный на оригинальном HLDS (Half-Life Dedicated Server) от Valve. Изначально построенный на основе версии build 6153, ReHLDS был разработан как проект с открытым исходным кодом для устранения многочисленных проблем и ограничений оригинального движка. Сегодня он служит стабильным и безопасным решением для серверов таких игр, как Half-Life и Counter-Strike 1.6, а также других игр, работающих на движке HLDS.
## Почему стоит использовать ReHLDS?
ReHLDS предлагает значительные преимущества как для администраторов серверов, так и для разработчиков. Проект поддерживается активным сообществом разработчиков, которые постоянно интегрируют последние улучшения безопасности, оптимизации производительности и расширенные настройки конфигурации. Ниже перечислены основные преимущества использования ReHLDS при управлении современными HLDS-серверами:
### Ключевые преимущества ReHLDS
1. **Улучшенная безопасность**
ReHLDS включает в себя множество исправлений и улучшений безопасности, защищая серверы от известных уязвимостей оригинального движка. Это делает его предпочтительным выбором для серверов, ориентированных на защиту от эксплойтов и потенциальных атак.
2. **Оптимизация производительности**
ReHLDS содержит различные оптимизации, которые улучшают производительность серверов и снижают нагрузку на оборудование, обеспечивая большую стабильность даже при большом количестве игроков.
3. **Расширенные лимиты**
В ReHLDS увеличены ограничения сервера, что обеспечивает большую гибкость и производительность, превышающую возможности оригинального HLDS.
4. **Расширенные возможности моддинга**
ReHLDS предоставляет широкий набор инструментов и улучшений для разработчиков, желающих создавать собственные плагины или модификации. Дополнительные улучшения делают моддинг и интеграцию пользовательского контента более гибкими и эффективными.
5. **Совместимость и стабильность**
Несмотря на множество улучшений, ReHLDS сохраняет полную совместимость с оригинальным HLDS, поддерживая все существующие моды и плагины, включая AMX Mod X и Metamod. Это гарантирует бесшовную миграцию для существующих проектов и плагинов без необходимости значительных изменений.
## Интеграция с ReHLTV
ReHLDS поставляется вместе с движком ReHLTV, который предлагает свои собственные улучшения, исправления и увеличенные лимиты для Half-Life Television (HLTV). ReHLTV создан для дополнения ReHLDS, обеспечивая оптимизированное и улучшенное решение для записи и трансляции игровых сессий.
## История и сообщество
ReHLDS был создан для устранения давних проблем и ограничений оригинального HLDS, которые оставались нерешёнными годами. С момента своего запуска ReHLDS значительно эволюционировал благодаря некоммерческому сообществу увлечённых разработчиков, которые продолжают улучшать, расширять и поддерживать проект. Сообщество ReHLDS сосредоточено на создании качественного опыта как для игроков, так и для администраторов серверов, постоянно развивая возможности движка.
ReHLDS не только сохраняет дух оригинального HLDS, но и предоставляет мощное решение для тех, кто ищет гибкость, стабильность и безопасность при управлении игровыми серверами.

View File

@ -0,0 +1,8 @@
{
"label": "Основные проекты",
"position": 2,
"link": {
"type": "generated-index",
"description": "Основные проекты организации ReHLDS, о которых вы можете узнать подробнее."
}
}

View File

@ -0,0 +1,37 @@
---
id: intro
sidebar_position: 1
title: Введение
description: Обзор экосистемы проекта ReHLDS, включая ReHLDS, Metamod-r и ReGameDLL_CS, предназначенной для улучшения работы серверов Half-Life Dedicated Server.
slug: /
---
# Добро пожаловать в документацию ReHLDS
Проект ReHLDS представляет собой коллекцию переработанных и оптимизированных компонентов, разработанных для улучшения работы серверов Half-Life Dedicated Server (HLDS), особенно для таких игр, как Counter-Strike 1.6 и других, основанных на HLDS. Эти проекты предлагают улучшения производительности, безопасности, возможностей настройки и расширяемости, предоставляя более современную и надёжную платформу для игровых серверов.
## Что входит в экосистему ReHLDS
Наша организация поддерживает несколько ключевых проектов, которые могут работать как вместе, так и по отдельности, улучшая стабильность, гибкость и функциональность серверов.
### ReHLDS
ReHLDS — это переработанная версия оригинального движка HLDS, направленная на обеспечение более безопасной, эффективной и настраиваемой работы серверов. Основанный на оригинальной сборке HLDS 6153, ReHLDS предлагает множество оптимизаций производительности, расширенные параметры конфигурации и улучшенную обработку сети.
### Metamod-r
Metamod-r — это оптимизированная версия оригинального Metamod, работающая как динамический менеджер плагинов между движком HLDS и игровыми модами. Он позволяет загружать и выгружать плагины без перезапуска сервера, делая настройку серверов более гибкой. Metamod-r разработан для работы как с HLDS, так и с ReHLDS, предоставляя улучшенное ядро с повышенной производительностью и компилятором Just-In-Time (JIT).
### ReGameDLL_CS
ReGameDLL_CS — это переработанная версия GameDLL для Counter-Strike, предоставляющая администраторам серверов и моддерам улучшенную, стабильную основу для работы серверов Counter-Strike 1.6 и Condition Zero. Она предлагает расширенные API, дополнительные игровые настройки и повышенную безопасность, позволяя реализовывать продвинутые модификации и улучшенный контроль над параметрами сервера.
## Почему стоит выбрать проекты ReHLDS?
Пакет ReHLDS предназначен для администраторов серверов, моддеров и разработчиков, которые хотят больше контроля, улучшенную стабильность и продвинутые возможности настройки для своих серверов на основе HLDS. С регулярными обновлениями и вкладом преданных разработчиков компоненты ReHLDS надёжны, совместимы и идеально подходят для поддержания высокопроизводительных серверов, соответствующих современным требованиям игровой индустрии.
## Начало работы
Каждый проект имеет свою документацию, чтобы помочь вам установить, настроить и максимально использовать предлагаемые возможности. Чтобы начать изучение, выберите проект в навигационном меню или посетите наш [репозиторий на GitHub](https://github.com/ReHLDS) для последних релизов и обновлений.
Окунитесь в мир возможностей ReHLDS и создавайте серверы следующего поколения на базе Half-Life!

View File

@ -0,0 +1,34 @@
{
"link.title.Docs": {
"message": "Документация",
"description": "The title of the footer links column with title=Docs in the footer"
},
"link.title.Community": {
"message": "Сообщество",
"description": "The title of the footer links column with title=Community in the footer"
},
"link.title.More": {
"message": "Ещё",
"description": "The title of the footer links column with title=More in the footer"
},
"link.item.label.Tutorial": {
"message": "Руководство",
"description": "The label of footer link with label=Tutorial linking to /docs/"
},
"link.item.label.Telegram": {
"message": "Telegram",
"description": "The label of footer link with label=Telegram linking to https://t.me/ReHLDS_Community"
},
"link.item.label.Blog": {
"message": "Блог",
"description": "The label of footer link with label=Blog linking to /blog"
},
"link.item.label.GitHub ": {
"message": "GitHub ",
"description": "The label of footer link with label=GitHub linking to https://github.com/rehlds"
},
"copyright": {
"message": "Авторские права © 2024 ReHLDS. Создано с помощью Docusaurus.",
"description": "The footer copyright"
}
}

View File

@ -0,0 +1,22 @@
{
"title": {
"message": "ReHLDS Документация",
"description": "The title in the navbar"
},
"logo.alt": {
"message": "ReHLDS Логотип",
"description": "The alt text of navbar logo"
},
"item.label.Tutorial": {
"message": "Учебник",
"description": "Navbar item with label Tutorial"
},
"item.label.Blog": {
"message": "Блог",
"description": "Navbar item with label Blog"
},
"item.label.GitHub": {
"message": "GitHub",
"description": "Navbar item with label GitHub"
}
}