From 97a7aaf643f0ee657444295ad58d6d85dea7ece1 Mon Sep 17 00:00:00 2001 From: Starystars67 Date: Tue, 16 Jun 2026 12:31:19 +0100 Subject: [PATCH] New VitePress and design look + little work on update to work with. --- .gitignore | 189 +- Removed Pages/xindex.md | 2 +- docs/.vitepress/config.mts | 234 ++ .../.vitepress/theme/components/AppFooter.vue | 146 ++ docs/.vitepress/theme/custom.css | 407 ++++ docs/.vitepress/theme/index.ts | 18 + docs/de/FAQ/Clearing-mods.md | 10 +- docs/de/FAQ/Defender-exclusions.md | 6 +- docs/de/FAQ/How-to-check-for-CGNAT.md | 4 +- docs/de/FAQ/How-to-deactivate-mods.md | 6 +- docs/de/beamng/dev/content/maps.md | 3 +- docs/de/beamng/dev/content/props.md | 3 +- docs/de/beamng/dev/content/vehicles.md | 3 +- docs/de/beamng/dev/index.md | 3 +- docs/de/beamng/snippets.md | 3 +- docs/de/community/index.md | 18 +- docs/de/community/rules.md | 6 +- docs/de/game/getting-started.md | 16 +- docs/de/index.md | 59 +- docs/de/nav-translations.json | 57 + docs/de/server/create-a-server.md | 14 +- docs/de/server/error-codes.md | 2 +- docs/de/server/port-forwarding.md | 20 +- docs/en/FAQ/Clearing-mods.md | 2 +- docs/en/FAQ/Defender-exclusions.md | 4 +- docs/en/FAQ/How-to-check-for-CGNAT.md | 4 +- docs/en/FAQ/Update-launcher.md | 2 +- docs/en/beamng/cef-snippets.md | 2 +- docs/en/beamng/css-snippets.md | 2 +- docs/en/beamng/dev/content/maps.md | 2 +- docs/en/beamng/dev/content/props.md | 2 +- docs/en/beamng/dev/content/vehicles.md | 2 +- docs/en/beamng/dev/index.md | 10 +- .../dev/modding/imgui-window-tutorial.md | 2 +- docs/en/beamng/imgui-snippets.md | 13 +- docs/en/beamng/lua-snippets.md | 14 +- docs/en/community/index.md | 36 +- docs/en/community/rules.md | 4 +- docs/en/game/getting-started.md | 64 +- docs/en/game/multiplayer-settings.md | 14 +- docs/en/guides/index.md | 2 +- .../mod-creation/server/getting-started.md | 7 +- docs/en/index.md | 74 +- docs/en/nav-translations.json | 1 + docs/en/scripting/mod-reference.md | 2 +- .../server/latest-server-reference.md | 2 +- .../scripting/server/v2-server-reference.md | 4 +- docs/en/server/create-a-server.md | 14 +- docs/en/server/error-codes.md | 2 +- docs/en/server/port-forwarding.md | 12 +- docs/es/beamng/dev/content/maps.md | 2 +- docs/es/beamng/dev/content/props.md | 2 +- docs/es/beamng/dev/content/vehicles.md | 2 +- docs/es/beamng/dev/index.md | 2 +- docs/es/beamng/snippets.md | 2 +- docs/es/game/tailoring.md | 2 +- docs/es/guides/index.md | 2 +- .../mod-creation/server/getting-started.md | 2 +- docs/es/index.md | 60 +- docs/es/nav-translations.json | 57 + docs/es/scripting/mod-reference.md | 2 +- docs/fr/FAQ/Clearing-mods.md | 6 +- docs/fr/FAQ/How-to-check-for-CGNAT.md | 4 +- docs/fr/FAQ/How-to-deactivate-mods.md | 6 +- docs/fr/beamng/dev/index.md | 2 +- docs/fr/beamng/snippets.md | 2 +- docs/fr/game/getting-started.md | 10 +- docs/fr/guides/index.md | 2 +- docs/fr/index.md | 59 +- docs/fr/nav-translations.json | 57 + docs/fr/server/create-a-server.md | 12 +- docs/fr/server/error-codes.md | 2 +- docs/index.md | 15 + docs/it/beamng/dev/content/maps.md | 2 +- docs/it/beamng/dev/content/props.md | 2 +- docs/it/beamng/dev/content/vehicles.md | 2 +- docs/it/beamng/dev/index.md | 2 +- docs/it/beamng/snippets.md | 2 +- docs/it/community/index.md | 2 +- docs/it/community/rules.md | 4 +- docs/it/guides/beammp-dev/beammp-dev.md | 2 +- docs/it/guides/index.md | 2 +- .../mod-creation/server/getting-started.md | 2 +- docs/it/index.md | 59 +- docs/it/nav-translations.json | 57 + docs/it/scripting/mod-reference.md | 2 +- docs/it/server/create-a-server.md | 2 +- docs/it/server/error-codes.md | 2 +- docs/navigation-structure-proposal.md | 255 ++ docs/ru/FAQ/Defender-exclusions.md | 4 +- docs/ru/FAQ/How-to-check-for-CGNAT.md | 4 +- docs/ru/FAQ/How-to-deactivate-mods.md | 6 +- docs/ru/FAQ/Update-launcher.md | 2 +- docs/ru/FAQ/march-28-outage.md | 4 +- docs/ru/beamng/cef-snippets.md | 2 +- docs/ru/beamng/dev/content/maps.md | 2 +- docs/ru/beamng/dev/content/props.md | 2 +- docs/ru/beamng/dev/content/vehicles.md | 2 +- docs/ru/beamng/dev/index.md | 2 +- docs/ru/community/index.md | 12 +- docs/ru/community/rules.md | 4 +- docs/ru/game/getting-started.md | 14 +- docs/ru/game/multiplayer-settings.md | 14 +- docs/ru/guides/index.md | 2 +- .../mod-creation/server/getting-started.md | 2 +- docs/ru/index.md | 60 +- docs/ru/nav-translations.json | 57 + docs/ru/scripting/mod-reference.md | 2 +- .../server/latest-server-reference.md | 2 +- .../scripting/server/v2-server-reference.md | 4 +- docs/ru/server/create-a-server.md | 16 +- docs/ru/server/error-codes.md | 4 +- docs/ru/server/port-forwarding.md | 20 +- docs/zh/FAQ/Clearing-mods.md | 4 +- docs/zh/FAQ/Defender-exclusions.md | 2 +- docs/zh/FAQ/How-to-check-for-CGNAT.md | 4 +- docs/zh/FAQ/How-to-deactivate-mods.md | 4 +- docs/zh/FAQ/Update-launcher.md | 2 +- docs/zh/FAQ/march-28-outage.md | 7 +- docs/zh/beamng/cef-snippets.md | 2 +- docs/zh/beamng/css-snippets.md | 2 +- docs/zh/beamng/dev/content/vehicles.md | 2 +- .../dev/modding/imgui-window-tutorial.md | 2 +- docs/zh/beamng/imgui-snippets.md | 2 +- docs/zh/beamng/lua-snippets.md | 12 +- docs/zh/beamng/snippets.md | 16 +- docs/zh/community/index.md | 12 +- docs/zh/game/getting-started.md | 19 +- docs/zh/game/multiplayer-settings.md | 31 +- docs/zh/guides/index.md | 2 +- .../mod-creation/server/getting-started.md | 2 +- docs/zh/index.md | 60 +- docs/zh/nav-translations.json | 57 + docs/zh/scripting/mod-reference.md | 2 +- .../server/latest-server-reference.md | 2 +- .../scripting/server/v2-server-reference.md | 4 +- docs/zh/server/create-a-server.md | 18 +- docs/zh/server/error-codes.md | 2 +- docs/zh/server/port-forwarding.md | 20 +- package-lock.json | 2105 +++++++++++++++++ package.json | 16 + 141 files changed, 4356 insertions(+), 539 deletions(-) create mode 100644 docs/.vitepress/config.mts create mode 100644 docs/.vitepress/theme/components/AppFooter.vue create mode 100644 docs/.vitepress/theme/custom.css create mode 100644 docs/.vitepress/theme/index.ts create mode 100644 docs/de/nav-translations.json create mode 100644 docs/en/nav-translations.json create mode 100644 docs/es/nav-translations.json create mode 100644 docs/fr/nav-translations.json create mode 100644 docs/index.md create mode 100644 docs/it/nav-translations.json create mode 100644 docs/navigation-structure-proposal.md create mode 100644 docs/ru/nav-translations.json create mode 100644 docs/zh/nav-translations.json create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.gitignore b/.gitignore index 4c49209d..b8babc78 100644 --- a/.gitignore +++ b/.gitignore @@ -1,70 +1,147 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* -# C extensions -*.so +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json -# Distribution / packaging -.Python -env/ -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories node_modules/ -parts/ -sdist/ -var/ -package*.json -*.egg-info/ -.installed.cfg -*.egg +jspm_packages/ -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ -# Installer logs -pip-log.txt -pip-delete-this-directory.txt +# TypeScript cache +*.tsbuildinfo -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.* +!.env.example + +# parcel-bundler cache (https://parceljs.org/) .cache -nosetests.xml -coverage.xml -*,cover -.hypothesis/ +.parcel-cache -# Translations -*.mo +# Next.js build output +.next +out -# Scrapy stuff: -.scrapy +# Nuxt.js build / generate output +.nuxt +dist +.output -# PyBuilder -target/ +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public -# IPython Notebook -.ipynb_checkpoints +# vuepress build output +.vuepress/dist -# pyenv -.python-version +# vuepress v2.x temp directory +.temp -# virtualenv -venv/ -ENV/ +# Sveltekit cache directory +.svelte-kit/ -# MkDocs documentation -site*/ \ No newline at end of file +# vitepress build output +**/.vitepress/dist + +# vitepress cache directory +**/.vitepress/cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# Firebase cache directory +.firebase/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# pnpm +.pnpm-store + +# yarn v3 +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions + +# Vite files +vite.config.js.timestamp-* +vite.config.ts.timestamp-* +.vite/ + +# Vitepress files +docs/.vitepress/dist +docs/.vitepress/cache \ No newline at end of file diff --git a/Removed Pages/xindex.md b/Removed Pages/xindex.md index e83509cc..76ca6a87 100644 --- a/Removed Pages/xindex.md +++ b/Removed Pages/xindex.md @@ -1,4 +1,4 @@ -!!! warning "This site is under construction!" +::: warning "This site is under construction!" This site is being actively worked on. diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts new file mode 100644 index 00000000..4b8a2b99 --- /dev/null +++ b/docs/.vitepress/config.mts @@ -0,0 +1,234 @@ +import { defineConfig, type DefaultTheme } from 'vitepress' +import { tabsMarkdownPlugin } from 'vitepress-plugin-tabs' +import container from 'markdown-it-container' +import type Token from 'markdown-it/lib/token.mjs' +import enTranslations from '../en/nav-translations.json' +import deTranslations from '../de/nav-translations.json' +import frTranslations from '../fr/nav-translations.json' +import esTranslations from '../es/nav-translations.json' +import itTranslations from '../it/nav-translations.json' +import ruTranslations from '../ru/nav-translations.json' +import zhTranslations from '../zh/nav-translations.json' + +type LocaleKey = 'root' | 'de' | 'fr' | 'es' | 'it' | 'ru' | 'zh' + +type NavItem = { + text: string + link?: string + items?: NavItem[] +} + +type TranslationMap = Record + +const localeBasePath: Record = { + root: '', + de: '/de/', + fr: '/fr/', + es: '/es/', + it: '/it/', + ru: '/ru/', + zh: '/zh/' +} + +const translations: Record = { + root: enTranslations as TranslationMap, + de: deTranslations as TranslationMap, + fr: frTranslations as TranslationMap, + es: esTranslations as TranslationMap, + it: itTranslations as TranslationMap, + ru: ruTranslations as TranslationMap, + zh: zhTranslations as TranslationMap +} + +const localizeLink = (locale: LocaleKey, link?: string) => { + if (!link || link.startsWith('http')) { + return link + } + + if (locale === 'root') { + return `/en/${link === '/' ? '' : link.replace(/^\//, '')}` + } + + return `${localeBasePath[locale]}${link === '/' ? '' : link.replace(/^\//, '')}` +} + +const localizeItems = (locale: LocaleKey, items: NavItem[]): DefaultTheme.NavItem[] => { + return items.map((item) => { + const localized: Record = { + text: translations[locale][item.text] ?? item.text + } + + if (item.link) { + localized.link = localizeLink(locale, item.link) + } + + if (item.items) { + localized.items = localizeItems(locale, item.items) + } + + return localized as unknown as DefaultTheme.NavItem + }) +} + +const baseNav: NavItem[] = [ + { text: 'Home', link: '/' }, + { + text: 'Support', + items: [ + { text: 'Playing BeamMP', link: '/game/getting-started' }, + { text: 'Running a BeamMP-Server', link: '/server/create-a-server' }, + { text: 'Mod & Resource Creation', link: '/guides/mod-creation/server/getting-started' } + ] + }, + { + text: 'FAQ', + items: [ + { text: 'How to check for CGNAT?', link: '/FAQ/How-to-check-for-CGNAT' }, + { text: 'Where can I find my IP address?', link: '/FAQ/where-to-find-my-IP' }, + { text: 'How to remove mods?', link: '/FAQ/Clearing-mods' }, + { text: 'Manually updating the Launcher', link: '/FAQ/Update-launcher' }, + { text: 'Changing the Launcher port', link: '/FAQ/Change-launcher-port' }, + { text: 'Creating Exclusions (Defender)', link: '/FAQ/Defender-exclusions' }, + { text: 'Player FAQ', link: '/FAQ/player-faq' }, + { text: 'Game FAQ', link: '/FAQ/game-faq' }, + { text: 'Server FAQ', link: '/FAQ/server-faq' } + ] + }, + { + text: 'Development Guides', + items: [ + { text: 'Development Environment Setup', link: '/guides/beammp-dev/beammp-dev' }, + { + text: 'Mod Creation', + items: [{ text: 'Client Scripting Reference', link: '/scripting/mod-reference' }] + }, + { + text: 'Resource Creation', + items: [{ text: 'Server Resources', link: '/guides/mod-creation/server/getting-started' }] + }, + { + text: 'Scripting Reference', + items: [ + { text: 'Mod (In-Game)', link: '/scripting/mod-reference' }, + { + text: 'Server', + link: '/scripting/server/latest-server-reference', + items: [ + { text: 'Version 3.X (Latest)', link: '/scripting/server/latest-server-reference' }, + { text: 'Version 2.X (Deprecated)', link: '/scripting/server/v2-server-reference' } + ] + } + ] + } + ] + }, + { + text: 'BeamNG Documentation', + items: [ + { + text: 'Content Development', + items: [ + { text: 'Introduction', link: '/beamng/dev/index' }, + { + text: 'Programming', + items: [ + { text: 'UI Apps (HTML)', link: '/beamng/dev/modding/ui-apps' }, + { text: 'ImGui Window Tutorial', link: '/beamng/dev/modding/imgui-window-tutorial' }, + { text: 'Lua Mods (Scripts)', link: '/beamng/dev/modding/lua-mods' } + ] + }, + { + text: 'Content', + items: [ + { text: 'Maps', link: '/beamng/dev/content/maps' }, + { text: 'Props', link: '/beamng/dev/content/props' }, + { text: 'Vehicles', link: '/beamng/dev/content/vehicles' } + ] + } + ] + }, + { text: 'Lua Code Snippets', link: '/beamng/lua-snippets' }, + { text: 'CSS Code Snippets', link: '/beamng/css-snippets' }, + { text: 'ImGui Code Snippets', link: '/beamng/imgui-snippets' }, + { text: 'CEF Code Snippets', link: '/beamng/cef-snippets' } + ] + }, + { + text: 'Community', + items: [ + { text: 'General Information', link: '/community/index' }, + { text: 'Rules', link: '/community/rules' }, + { text: 'Contributing', link: '/contributing' } + ] + } +] + +const localeNav = (locale: LocaleKey) => localizeItems(locale, baseNav) + +const localeSidebar = (locale: LocaleKey) => localizeItems(locale, baseNav) + +const makeLocale = (locale: LocaleKey, label: string, lang: string, link?: string) => ({ + label, + lang, + ...(link ? { link } : {}), + themeConfig: { + nav: localeNav(locale) as DefaultTheme.NavItem[], + sidebar: localeSidebar(locale) as DefaultTheme.SidebarItem[] + } +}) + +// https://vitepress.dev/reference/site-config +export default defineConfig({ + title: 'BeamMP Docs', + description: + 'This website serves as the new BeamMP Documentation site for general self serve support, guides and documentation.', + lastUpdated: true, + locales: { + root: makeLocale('root', 'English', 'en', '/en/'), + de: makeLocale('de', 'Deutsch', 'de', '/de/'), + fr: makeLocale('fr', 'Français', 'fr', '/fr/'), + es: makeLocale('es', 'Español', 'es', '/es/'), + it: makeLocale('it', 'Italiano', 'it', '/it/'), + ru: makeLocale('ru', 'Pусский', 'ru', '/ru/'), + zh: makeLocale('zh', '中文', 'zh', '/zh/') + }, + markdown: { + config(md) { + md.use(tabsMarkdownPlugin) + + const makeContainer = (type: string, defaultTitle: string) => [ + container, + type, + { + render(tokens: Token[], idx: number) { + const token = tokens[idx] + const info = token.info.trim().slice(type.length).trim() + const title = info || defaultTitle + if (token.nesting === 1) { + return `

${title}

\n` + } + return '
\n' + } + } + ] as const + + md.use(...makeContainer('note', 'NOTE')) + md.use(...makeContainer('quote', 'QUOTE')) + }, + }, + sitemap: { + hostname: 'https://example.com' + }, + themeConfig: { + editLink: { + pattern: 'https://github.com/beammp/docs/edit/main/docs/:path' + }, + logo: { + light: '/assets/core/beammp_dark.png', + dark: '/assets/core/beammp_light.png' + }, + search: { + provider: 'local' + } + } +}) diff --git a/docs/.vitepress/theme/components/AppFooter.vue b/docs/.vitepress/theme/components/AppFooter.vue new file mode 100644 index 00000000..9638d8bb --- /dev/null +++ b/docs/.vitepress/theme/components/AppFooter.vue @@ -0,0 +1,146 @@ + + + diff --git a/docs/.vitepress/theme/custom.css b/docs/.vitepress/theme/custom.css new file mode 100644 index 00000000..5820d7bd --- /dev/null +++ b/docs/.vitepress/theme/custom.css @@ -0,0 +1,407 @@ +:root { + /* BeamMP brand tokens */ + --beammp-orange: #F36D24; + --beammp-orange-hover: #c7571a; + --beammp-white: #FFFFFF; + --beammp-black: #000000; + --beammp-gray: #333333; + --beammp-green: #1D9749; + --beammp-blue: #4470B6; + --beammp-neutral: #6B7280; + + /* Radius scale */ + --radius: 0.5rem; + --radius-lg: var(--radius); + --radius-md: calc(var(--radius) - 2px); + --radius-sm: calc(var(--radius) - 4px); + + /* Semantic HSL tokens (values only) */ + --background: 0 0% 100%; + --foreground: 0 0% 12%; + --card: 0 0% 100%; + --card-foreground: 0 0% 12%; + --popover: 0 0% 100%; + --popover-foreground: 0 0% 12%; + --primary: 23 90% 55%; + --primary-foreground: 0 0% 100%; + --secondary: 220 43% 49%; + --secondary-foreground: 0 0% 100%; + --muted: 0 0% 96%; + --muted-foreground: 0 0% 35%; + --accent: 139 67% 35%; + --accent-foreground: 0 0% 100%; + --destructive: 0 84% 60%; + --destructive-foreground: 0 0% 100%; + --border: 0 0% 88%; + --input: 0 0% 88%; + --ring: 23 90% 55%; + + --chart-1: 23 90% 55%; + --chart-2: 217 45% 49%; + --chart-3: 139 67% 35%; + --chart-4: 32 95% 53%; + --chart-5: 262 83% 58%; + + /* Mapped color aliases from requested theme object */ + --color-background: hsl(var(--background)); + --color-foreground: hsl(var(--foreground)); + --color-card: hsl(var(--card)); + --color-card-foreground: hsl(var(--card-foreground)); + --color-popover: hsl(var(--popover)); + --color-popover-foreground: hsl(var(--popover-foreground)); + --color-primary: hsl(var(--primary)); + --color-primary-foreground: hsl(var(--primary-foreground)); + --color-secondary: hsl(var(--secondary)); + --color-secondary-foreground: hsl(var(--secondary-foreground)); + --color-muted: hsl(var(--muted)); + --color-muted-foreground: hsl(var(--muted-foreground)); + --color-accent: hsl(var(--accent)); + --color-accent-foreground: hsl(var(--accent-foreground)); + --color-destructive: hsl(var(--destructive)); + --color-destructive-foreground: hsl(var(--destructive-foreground)); + --color-border: hsl(var(--border)); + --color-input: hsl(var(--input)); + --color-ring: hsl(var(--ring)); + --color-chart-1: hsl(var(--chart-1)); + --color-chart-2: hsl(var(--chart-2)); + --color-chart-3: hsl(var(--chart-3)); + --color-chart-4: hsl(var(--chart-4)); + --color-chart-5: hsl(var(--chart-5)); + + /* VitePress theme mapping */ + --vp-c-brand-1: var(--beammp-orange); + --vp-c-brand-2: var(--beammp-orange); + --vp-c-brand-3: var(--beammp-orange-hover); + + --vp-c-bg: var(--color-background); + --vp-c-bg-alt: var(--color-card); + --vp-c-bg-elv: var(--color-popover); + --vp-c-text-1: var(--color-foreground); + --vp-c-text-2: var(--color-muted-foreground); + --vp-c-text-3: hsl(0 0% 50%); + --vp-c-border: var(--color-border); + --vp-c-divider: var(--color-border); + + --vp-button-brand-bg: var(--beammp-orange); + --vp-button-brand-hover-bg: var(--beammp-orange-hover); + --vp-button-brand-active-bg: var(--beammp-orange-hover); + --vp-button-brand-text: var(--beammp-white); + --vp-button-brand-border: transparent; + + /* Custom block border colours (bg & title overridden by direct CSS below) */ + --vp-custom-block-tip-border: var(--beammp-blue); + --vp-custom-block-warning-border: var(--beammp-orange); + --vp-custom-block-danger-border: hsl(var(--destructive)); + + --vp-nav-height: 64px; +} + +.dark { + --beammp-neutral: #9CA3AF; + --background: 0 0% 7%; + --foreground: 0 0% 96%; + --card: 0 0% 10%; + --card-foreground: 0 0% 96%; + --popover: 0 0% 10%; + --popover-foreground: 0 0% 96%; + --muted: 0 0% 15%; + --muted-foreground: 0 0% 70%; + --border: 0 0% 22%; + --input: 0 0% 22%; + + --vp-c-bg: var(--color-background); + --vp-c-bg-alt: var(--color-card); + --vp-c-bg-elv: var(--color-popover); + --vp-c-text-1: var(--color-foreground); + --vp-c-text-2: var(--color-muted-foreground); + --vp-c-border: var(--color-border); + --vp-c-divider: var(--color-border); +} + +.VPButton.medium.brand, +.VPButton.brand { + border-radius: var(--radius-md); +} + +.VPDoc .VPDocAside .content, +.VPDoc .VPDocOutlineDropdown, +.vp-doc div[class*='language-'] { + border-radius: var(--radius-lg); +} + +/* ============================================================ + Admonitions / Custom Blocks — MkDocs Material style + ============================================================ */ + +/* Strip default VitePress padding; layout is managed per-element */ +.vp-doc .custom-block { + padding: 0; + border-left-width: 4px; + border-left-style: solid; + border-radius: var(--radius-lg); + overflow: hidden; +} + +/* Header band */ +.vp-doc .custom-block .custom-block-title { + display: flex; + align-items: center; + gap: 0.5em; + margin: 0; + padding: 0.45rem 0.75rem; + font-size: 0.75rem; + font-weight: 700; + letter-spacing: 0.05em; + text-transform: uppercase; + line-height: 1.4; +} + +/* Icon via ::before mask */ +.vp-doc .custom-block .custom-block-title::before { + content: ''; + display: inline-block; + flex-shrink: 0; + width: 1rem; + height: 1rem; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-size: contain; + mask-size: contain; +} + +/* Body: pad all direct children that aren't the title */ +.vp-doc .custom-block > *:not(.custom-block-title) { + padding-left: 1rem; + padding-right: 1rem; + margin-top: 0; + margin-bottom: 0; +} + +.vp-doc .custom-block > .custom-block-title + * { + padding-top: 0.75rem; +} + +.vp-doc .custom-block > *:not(.custom-block-title):last-child { + padding-bottom: 0.75rem; +} + +/* details: hide native disclosure triangle; animate chevron icon */ +.vp-doc .custom-block.details > summary { + cursor: pointer; + list-style: none; +} + +.vp-doc .custom-block.details > summary::-webkit-details-marker, +.vp-doc .custom-block.details > summary::marker { + display: none; +} + +.vp-doc .custom-block.details > summary.custom-block-title::before { + transition: transform 0.2s ease; +} + +.vp-doc .custom-block.details[open] > summary.custom-block-title::before { + transform: rotate(90deg); +} + +/* ---- info (blue) ---- */ +.vp-doc .custom-block.info { + border-color: var(--beammp-blue); + background-color: color-mix(in srgb, var(--beammp-blue) 5%, transparent); +} + +.vp-doc .custom-block.info .custom-block-title { + background-color: color-mix(in srgb, var(--beammp-blue) 14%, transparent); + color: var(--beammp-blue); +} + +.vp-doc .custom-block.info .custom-block-title::before { + background-color: var(--beammp-blue); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2z'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2z'/%3E%3C/svg%3E"); +} + +/* ---- tip (green) ---- */ +.vp-doc .custom-block.tip { + border-color: var(--beammp-green); + background-color: color-mix(in srgb, var(--beammp-green) 5%, transparent); +} + +.vp-doc .custom-block.tip .custom-block-title { + background-color: color-mix(in srgb, var(--beammp-green) 14%, transparent); + color: var(--beammp-green); +} + +.vp-doc .custom-block.tip .custom-block-title::before { + background-color: var(--beammp-green); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7z'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7z'/%3E%3C/svg%3E"); +} + +/* ---- warning (orange) ---- */ +.vp-doc .custom-block.warning { + border-color: var(--beammp-orange); + background-color: color-mix(in srgb, var(--beammp-orange) 5%, transparent); +} + +.vp-doc .custom-block.warning .custom-block-title { + background-color: color-mix(in srgb, var(--beammp-orange) 14%, transparent); + color: var(--beammp-orange); +} + +.vp-doc .custom-block.warning .custom-block-title::before { + background-color: var(--beammp-orange); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2L1 21z'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2L1 21z'/%3E%3C/svg%3E"); +} + +/* ---- danger (red) ---- */ +.vp-doc .custom-block.danger { + border-color: hsl(var(--destructive)); + background-color: color-mix(in srgb, hsl(var(--destructive)) 5%, transparent); +} + +.vp-doc .custom-block.danger .custom-block-title { + background-color: color-mix(in srgb, hsl(var(--destructive)) 14%, transparent); + color: hsl(var(--destructive)); +} + +.vp-doc .custom-block.danger .custom-block-title::before { + background-color: hsl(var(--destructive)); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2v11h3v9l7-12h-4l4-8z'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2v11h3v9l7-12h-4l4-8z'/%3E%3C/svg%3E"); +} + +/* ---- details (neutral, collapsible) ---- */ +.vp-doc .custom-block.details { + border-color: var(--vp-c-border); + background-color: var(--vp-c-bg-alt); +} + +.vp-doc .custom-block.details .custom-block-title { + background-color: var(--vp-c-bg-elv); + color: var(--vp-c-text-2); +} + +.vp-doc .custom-block.details .custom-block-title::before { + background-color: var(--vp-c-text-2); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.59 16.58L13.17 12L8.59 7.41L10 6l6 6l-6 6l-1.41-1.42z'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.59 16.58L13.17 12L8.59 7.41L10 6l6 6l-6 6l-1.41-1.42z'/%3E%3C/svg%3E"); +} + +/* ---- note (gray) ---- */ +.vp-doc .custom-block.note { + border-color: var(--beammp-neutral); + background-color: color-mix(in srgb, var(--beammp-neutral) 5%, transparent); +} + +.vp-doc .custom-block.note .custom-block-title { + background-color: color-mix(in srgb, var(--beammp-neutral) 14%, transparent); + color: var(--beammp-neutral); +} + +.vp-doc .custom-block.note .custom-block-title::before { + background-color: var(--beammp-neutral); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zm-1 1.5L18.5 9H13V3.5zM6 20V4h5v7h7v9H6z'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zm-1 1.5L18.5 9H13V3.5zM6 20V4h5v7h7v9H6z'/%3E%3C/svg%3E"); +} + +/* ---- quote (gray) ---- */ +.vp-doc .custom-block.quote { + border-color: var(--beammp-neutral); + background-color: color-mix(in srgb, var(--beammp-neutral) 5%, transparent); +} + +.vp-doc .custom-block.quote .custom-block-title { + background-color: color-mix(in srgb, var(--beammp-neutral) 14%, transparent); + color: var(--beammp-neutral); +} + +.vp-doc .custom-block.quote .custom-block-title::before { + background-color: var(--beammp-neutral); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z'/%3E%3C/svg%3E"); +} + +.bm-footer { + border-top: 1px solid var(--vp-c-divider); + margin-top: 2rem; +} + +.bm-footer__inner { + max-width: 1152px; + margin: 0 auto; + padding: 1.25rem 1rem; +} + +.bm-footer__socials { + display: flex; + flex-wrap: wrap; + gap: 0.75rem; + align-items: center; + justify-content: center; +} + +.bm-footer__social-link { + color: var(--vp-c-text-2); + transition: color 0.2s ease; +} + +.bm-footer__social-link:hover { + color: var(--beammp-blue); +} + +.bm-footer__social-link svg { + width: 1.15rem; + height: 1.15rem; + display: block; +} + +.bm-footer__divider { + color: var(--vp-c-text-3); +} + +.bm-footer__patreon { + color: var(--beammp-orange); + font-size: 0.8rem; + text-decoration: none; +} + +.bm-footer__patreon:hover { + text-decoration: underline; + color: var(--beammp-orange-hover); +} + +.bm-footer__legal { + margin-top: 0.85rem; + display: flex; + flex-direction: column; + align-items: center; + gap: 0.35rem; + color: var(--vp-c-text-2); + font-size: 0.78rem; +} + +.bm-footer__copyright { + margin: 0; + text-align: center; +} + +.bm-footer__links { + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: center; + gap: 0.45rem; +} + +.bm-footer__legal-link { + color: var(--vp-c-text-2); + text-decoration: none; +} + +.bm-footer__legal-link:hover { + color: var(--beammp-blue); +} diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts new file mode 100644 index 00000000..f1bdde01 --- /dev/null +++ b/docs/.vitepress/theme/index.ts @@ -0,0 +1,18 @@ +import type { Theme } from 'vitepress' +import DefaultTheme from 'vitepress/theme' +import { h } from 'vue' +import { enhanceAppWithTabs } from 'vitepress-plugin-tabs/client' +import AppFooter from './components/AppFooter.vue' +import './custom.css' + +export default { + extends: DefaultTheme, + Layout: () => { + return h(DefaultTheme.Layout, null, { + 'layout-bottom': () => h(AppFooter) + }) + }, + enhanceApp({ app }) { + enhanceAppWithTabs(app) + }, +} satisfies Theme diff --git a/docs/de/FAQ/Clearing-mods.md b/docs/de/FAQ/Clearing-mods.md index eb4c9a06..a4e0adfe 100644 --- a/docs/de/FAQ/Clearing-mods.md +++ b/docs/de/FAQ/Clearing-mods.md @@ -2,14 +2,15 @@ In BeamMP stellt der Server, mit dem du dich verbindest, die notwendigen Mods bereit. Diese werden beim Verbinden automatisch heruntergeladen und aktiviert. Sind lokale Mods installiert und aktiviert, funktioniert BeamMP oft nicht richtig, selbst wenn du nur einen zusätzlichen Mod neben BeamMP hast. -!!! warning +::: warning Entferne alle Mods, die du im Ordner BeamNG.Drive\content\ oder in Unterordnern abgelegt hast. Dieser Speicherort ist NICHT für die Installation von Mods vorgesehen und kann zu Problemen führen, wie in der Datei `DO_NOT_INSTALL_MODS_HERE.txt` im selben Verzeichnis beschrieben. - !!! quote "DO_NOT_INSTALL_MODS_HERE.txt" + ::: quote "DO_NOT_INSTALL_MODS_HERE.txt" Kopiere KEINE Mods in diesen Ordner: Dies kann zu beschädigten Mods, einer langsameren Installation von Updates, einem beschädigten Mod-Manager, einem beschädigten abgesicherten Modus und anderen Problemen führen. - + ::: +::: ## Wie deaktiviere/entferne ich meine Mods? Es gibt drei Möglichkeiten, mögliche Probleme bei der Verwendung von BeamMP zu lösen. @@ -32,7 +33,8 @@ Starte anschließend BeamNG.Drive über den BeamMP-Launcher. Im Repository sollt Um zwischengespeicherte Mods aus den BeamMP-Verzeichnissen zu entfernen, gehe zum Installationsort deines BeamMP-Launchers. Standardmäßig lautet der Pfad „C:\Benutzer\AppData\BeamMP-Launcher“. Dort findest du den Ordner „Ressourcen“. Lösche diesen Ordner, um alle zwischengespeicherten Mods zu löschen. Dies kann hilfreich sein, wenn du mehr Speicherplatz auf deiner Festplatte benötigst oder veraltete BeamNG-Mods entfernen möchtest. -!!! question "Meine Einstellungen und Konfigurationen sind weg! Wie kann ich sie wiederherstellen?" +::: question "Meine Einstellungen und Konfigurationen sind weg! Wie kann ich sie wiederherstellen?" Wenn du den Benutzerordner umbenannt hast, wurde das Spiel gezwungen, einen neuen, sauberen Benutzerordner zu erstellen. Du kannst die beiden Ordner „Einstellungen“ und „Fahrzeuge“ aus dem umbenannten Ordner (z. B. 0.34_OLD) in den neu erstellten Ordner kopieren. Stelle sicher, dass BeamNG.Drive geschlossen ist, und ersetze alle Elemente am Zielort. Alle Konfigurationen und Einstellungen sollten nun wiederhergestellt sein. +::: \ No newline at end of file diff --git a/docs/de/FAQ/Defender-exclusions.md b/docs/de/FAQ/Defender-exclusions.md index b2363dff..a4b84f34 100644 --- a/docs/de/FAQ/Defender-exclusions.md +++ b/docs/de/FAQ/Defender-exclusions.md @@ -1,18 +1,18 @@ # Wie erstelle ich Ausnahmen für Windows Defender Firewall und Antivirus? -!!! info +::: info ``` Bevor Änderungen an der Firewall vorgenommen werden, sollte sichergestellt werden, dass das aktive Netzwerk in den Windows Netzwerk-Einstellungen als "privat" gekennzeichnet ist (vorausgesetzt, das Netzwerk ist tatsächlich ein privates). -!!! danger ":material-scale-balance: ACHTUNG:" +::: danger ":material-scale-balance: ACHTUNG:" **Firewall-/Defender-Ausnahmen stellen ein Sicherheitsrisiko dar**. Es wird vorausgesetzt, dass der/die Leser*in die Risiken versteht, die mit dem Deaktivieren des Virenschutzes für ein Programm und dem Öffnen von Firewall-Ports in seinem/ihrem Heimnetzwerk einhergehen. BeamMP kann für keine daraus resultierenden Schäden jeglicher Art zur Verantwortung gezogen werden. Für externe, auf dieser Webseite verlinkte Inhalte wird keine Haftung übernommen. -``` +::: ## 1. Firewall-Ausnahme für den BeamMP-Launcher diff --git a/docs/de/FAQ/How-to-check-for-CGNAT.md b/docs/de/FAQ/How-to-check-for-CGNAT.md index bc5ebdd6..e7939e2a 100644 --- a/docs/de/FAQ/How-to-check-for-CGNAT.md +++ b/docs/de/FAQ/How-to-check-for-CGNAT.md @@ -16,7 +16,7 @@ Für eine detaillierte Erklärung, was CGNAT ist und warum es dich am heim-hosti Öffne ein Command Prompt, führe `tracert -4 beammp.com` aus. Das wird eine Reihe von Netzwerk-Hops ausgeben. Warte, bis die Operation abgeschlossen ist (kann bis zu 30 Hops dauern). Prüfe die ersten paar IP Adressen nach deinem Router/Modem/Gateway. Wenn mehrere IP Adressen im Block `100.64.x.x`-`100.127.x.x` oder `10.xx.xx.xx` nach dem ersten Hop erscheinen, bist du sehr wahrscheinlich hinter einem CGNAT. -!!! note +::: note Der erste Hop wird dein Router/Modem/Gateway sein und kann sich zwischen Modellen unterscheiden. Die offiziellen Adressblöcke für lokale Netzwerke lauten wie folgt: ``10.0.0.xxx`` - ``192.168.xxx.xxx`` - ```172.16.xxx.xxx`` @@ -29,7 +29,7 @@ Finde die WAN IP auf dem Web-Interface deines Routers. Vergleiche diese mit der Rufe deinen Internet Anbieter an für Hilfe. Abhängig von deinem Anbieter, bieten diese möglicherweise garkeine *dynamischen* IP Adressen an. Behalte im Kopf, dass eine statische IP nicht nötig ist. -!!! warning +::: warning Internet Anbieter bieten eine dedizierte IP Adresse eventuell nur als **bezahlte Option** an. Bitte prüfe die Preise unserer Hosting-Partner, weil diese billiger sein könnten als eine statische IP. diff --git a/docs/de/FAQ/How-to-deactivate-mods.md b/docs/de/FAQ/How-to-deactivate-mods.md index eb4c9a06..a8dac923 100644 --- a/docs/de/FAQ/How-to-deactivate-mods.md +++ b/docs/de/FAQ/How-to-deactivate-mods.md @@ -2,11 +2,11 @@ In BeamMP stellt der Server, mit dem du dich verbindest, die notwendigen Mods bereit. Diese werden beim Verbinden automatisch heruntergeladen und aktiviert. Sind lokale Mods installiert und aktiviert, funktioniert BeamMP oft nicht richtig, selbst wenn du nur einen zusätzlichen Mod neben BeamMP hast. -!!! warning +::: warning Entferne alle Mods, die du im Ordner BeamNG.Drive\content\ oder in Unterordnern abgelegt hast. Dieser Speicherort ist NICHT für die Installation von Mods vorgesehen und kann zu Problemen führen, wie in der Datei `DO_NOT_INSTALL_MODS_HERE.txt` im selben Verzeichnis beschrieben. - !!! quote "DO_NOT_INSTALL_MODS_HERE.txt" + ::: quote "DO_NOT_INSTALL_MODS_HERE.txt" Kopiere KEINE Mods in diesen Ordner: Dies kann zu beschädigten Mods, einer langsameren Installation von Updates, einem beschädigten Mod-Manager, einem beschädigten abgesicherten Modus und anderen Problemen führen. @@ -32,7 +32,7 @@ Starte anschließend BeamNG.Drive über den BeamMP-Launcher. Im Repository sollt Um zwischengespeicherte Mods aus den BeamMP-Verzeichnissen zu entfernen, gehe zum Installationsort deines BeamMP-Launchers. Standardmäßig lautet der Pfad „C:\Benutzer\AppData\BeamMP-Launcher“. Dort findest du den Ordner „Ressourcen“. Lösche diesen Ordner, um alle zwischengespeicherten Mods zu löschen. Dies kann hilfreich sein, wenn du mehr Speicherplatz auf deiner Festplatte benötigst oder veraltete BeamNG-Mods entfernen möchtest. -!!! question "Meine Einstellungen und Konfigurationen sind weg! Wie kann ich sie wiederherstellen?" +::: question "Meine Einstellungen und Konfigurationen sind weg! Wie kann ich sie wiederherstellen?" Wenn du den Benutzerordner umbenannt hast, wurde das Spiel gezwungen, einen neuen, sauberen Benutzerordner zu erstellen. Du kannst die beiden Ordner „Einstellungen“ und „Fahrzeuge“ aus dem umbenannten Ordner (z. B. 0.34_OLD) in den neu erstellten Ordner kopieren. Stelle sicher, dass BeamNG.Drive geschlossen ist, und ersetze alle Elemente am Zielort. Alle Konfigurationen und Einstellungen sollten nun wiederhergestellt sein. diff --git a/docs/de/beamng/dev/content/maps.md b/docs/de/beamng/dev/content/maps.md index 6ede94a6..340cb417 100644 --- a/docs/de/beamng/dev/content/maps.md +++ b/docs/de/beamng/dev/content/maps.md @@ -1,10 +1,11 @@ -!!! warning "Diese Seite befindet sich im Aufbau!" +::: warning "Diese Seite befindet sich im Aufbau!" An dieser Seite wird aktiv gearbeitet. Haben Sie das Gefühl, Sie könnten helfen? Bitte klicken Sie dazu auf das Blatt-mit-Bleistift Symbol auf der rechten Seite! Dies kann auch auf jeder anderen Seite erfolgen. +::: # BeamNG.drive-Kartenerstellung diff --git a/docs/de/beamng/dev/content/props.md b/docs/de/beamng/dev/content/props.md index 5118cc03..7f8f2056 100644 --- a/docs/de/beamng/dev/content/props.md +++ b/docs/de/beamng/dev/content/props.md @@ -1,10 +1,11 @@ -!!! warning "Diese Seite befindet sich im Aufbau!" +::: warning "Diese Seite befindet sich im Aufbau!" An dieser Seite wird aktiv gearbeitet. Haben Sie das Gefühl, Sie könnten helfen? Bitte klicken Sie dazu auf das Blatt-mit-Bleistift Symbol auf der rechten Seite! Dies kann auch auf jeder anderen Seite erfolgen. +::: # Erstellung von BeamNG.drive-Requisiten diff --git a/docs/de/beamng/dev/content/vehicles.md b/docs/de/beamng/dev/content/vehicles.md index c9fe3065..c7495de6 100644 --- a/docs/de/beamng/dev/content/vehicles.md +++ b/docs/de/beamng/dev/content/vehicles.md @@ -1,10 +1,11 @@ -!!! warning "Diese Seite befindet sich im Aufbau!" +::: warning "Diese Seite befindet sich im Aufbau!" An dieser Seite wird aktiv gearbeitet. Haben Sie das Gefühl, Sie könnten helfen? Bitte klicken Sie dazu auf das Blatt-mit-Bleistift Symbol auf der rechten Seite! Dies kann auch auf jeder anderen Seite erfolgen. +::: # BeamNG.drive Fahrzeugerstellung diff --git a/docs/de/beamng/dev/index.md b/docs/de/beamng/dev/index.md index 85fe268c..953e2974 100644 --- a/docs/de/beamng/dev/index.md +++ b/docs/de/beamng/dev/index.md @@ -1,9 +1,10 @@ -!!! warning "Diese Seite befindet sich im Aufbau!" +::: warning "Diese Seite befindet sich im Aufbau!" An dieser Seite wird aktiv gearbeitet. Haben Sie das Gefühl, Sie könnten helfen? Bitte klicken Sie dazu auf das Blatt-mit-Bleistift Symbol auf der rechten Seite! Dies kann auch auf jeder anderen Seite erfolgen. +::: # Einführung in die BeamNG.drive Entwicklungsumgebung diff --git a/docs/de/beamng/snippets.md b/docs/de/beamng/snippets.md index a028b620..569a7c93 100644 --- a/docs/de/beamng/snippets.md +++ b/docs/de/beamng/snippets.md @@ -1,10 +1,11 @@ -!!! warning "Diese Seite befindet sich im Aufbau!" +::: warning "Diese Seite befindet sich im Aufbau!" An dieser Seite wird aktiv gearbeitet. Haben Sie das Gefühl, Sie könnten helfen? Bitte klicken Sie dazu auf das Blatt-mit-Bleistift Symbol auf der rechten Seite! Dies kann auch auf jeder anderen Seite erfolgen. +::: # BeamNG.drive Code Ausschnitte diff --git a/docs/de/community/index.md b/docs/de/community/index.md index 41789747..2b2c9ebb 100644 --- a/docs/de/community/index.md +++ b/docs/de/community/index.md @@ -9,41 +9,47 @@ hide: ## Unsere Social Media-Links -!!!failure "" +:::failure "" ``` BeamMP Forum - [https://forum.beammp.com](https://forum.beammp.com) ``` +::: -!!!quote "" +:::quote "" ``` X (Twitter) - [https://x.com/BeamMPOfficial](https://x.com/BeamMPOfficial) ``` +::: -!!!danger "" +:::danger "" ``` YouTube - [https://www.youtube.com/@BeamMPOfficial](https://www.youtube.com/@BeamMPOfficial) ``` +::: -!!!warning "" +:::warning "" ``` Patreon - [https://www.patreon.com/c/BeamMP](https://www.patreon.com/c/BeamMP) ``` +::: -!!!note "" +:::note "" ``` Discord - [https://discord.com/invite/beammp](https://discord.com/invite/beammp) ``` +::: -!!!info "" +:::info "" ``` BlueSky - [https://bsky.app/profile/beammpofficial.bsky.social](https://bsky.app/profile/beammpofficial.bsky.social) ``` +::: ## Regeln diff --git a/docs/de/community/rules.md b/docs/de/community/rules.md index 8565f667..19a98087 100644 --- a/docs/de/community/rules.md +++ b/docs/de/community/rules.md @@ -5,7 +5,8 @@ hide: # BeamMP Gemeinschafts-Regeln -!!! info Die Mitwirkenden von BeamMP sind nicht an die strikte Einhaltung dieser Regeln gebunden und können nach eigenem Ermessen handeln. Zusätzlich zu diesen Regeln gelten [die Community-Richtlinien](https://discord.com/guidelines/) und [Nutzungsbedingungen](https://discord.com/terms/) von Discord und werden durchgesetzt. +::: info Die Mitwirkenden von BeamMP sind nicht an die strikte Einhaltung dieser Regeln gebunden und können nach eigenem Ermessen handeln. Zusätzlich zu diesen Regeln gelten [die Community-Richtlinien](https://discord.com/guidelines/) und [Nutzungsbedingungen](https://discord.com/terms/) von Discord und werden durchgesetzt. +::: ## Allgemeine BeamMP-Regeln (gilt für Discord, Forum und im Spiel) @@ -48,4 +49,5 @@ hide: Alle Einsprüche gegen Sperren werden gründlich untersucht, wobei mindestens zwei (2) Mitglieder des Personals/Moderationsteams, die nicht in den vorliegenden Fall involviert waren, hinzugezogen werden. Der ausstellende Mitarbeiter darf Stellung nehmen, ist aber ansonsten nicht an der Entscheidung über den Einspruch beteiligt. Die Ergebnisse des Einspruchs sind endgültig. BeamMP behält sich das Recht vor, Mitglieder nach eigenem Ermessen gemäß den BeamMP-Community-Regeln (siehe oben), [den Discord-Nutzungsbedingungen](https://discord.com/terms) und anderen Faktoren zuzulassen oder abzulehnen. -!!! warning: Im Falle von Maßnahmen gegen dich, ist es untersagt, ein neues Discord- oder BeamMP-Konto zu erstellen, um die Sperre zu umgehen. +::: warning: Im Falle von Maßnahmen gegen dich, ist es untersagt, ein neues Discord- oder BeamMP-Konto zu erstellen, um die Sperre zu umgehen. +::: \ No newline at end of file diff --git a/docs/de/game/getting-started.md b/docs/de/game/getting-started.md index 820c51b0..54a2ed49 100644 --- a/docs/de/game/getting-started.md +++ b/docs/de/game/getting-started.md @@ -4,7 +4,7 @@ BeamMP ist vollständig kompatibel mit Windows und Linux, an der Kompatibilität mit MacOS noch wird gearbeitet. Da es sich bei Linux und MacOS jedoch um sekundäre Plattformen handelt, sind Fehler zu erwarten. -!!! warning "Warnung" +::: warning "Warnung" BeamMP funktioniert nicht mit Raubkopien oder veralteten Versionen von BeamNG.drive. Das BeamMP-Support Team bietet keinen Support für Probleme mit Raubkopien / veralteten Kopien. @@ -23,9 +23,9 @@ BeamMP ist vollständig kompatibel mit Windows und Linux, an der Kompatibilität 8. Du wirst aufgefordert, dich anzumelden oder als Gast zu spielen (nicht alle Server erlauben Gäste). Du kannst in unserem [Forum](https://forum.beammp.com) ein Konto erstellen und dich dann mit denselben Anmeldeinformationen bei BeamMP anmelden. 9. Wählen einen beliebigen Server aus und drücken `Connect` . Viel Spaß! -!!! note "" - - Wenn du in eine Sitzung mit mehreren bereits gespawnten Autos beitrittst, könnte das Laden eventuell etwas länger dauern. +::: note +Wenn du in eine Sitzung mit mehreren bereits gespawnten Autos beitrittst, könnte das Laden eventuell etwas länger dauern. +::: ### **2b. Linux Installation** @@ -77,15 +77,15 @@ cmake . -B bin -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cma cmake --build bin --parallel ``` -!!!note "" +:::note "" Sollte dir während des Erstellens der RAM ausgehen, kannst du die Anweisung --parallel weglassen. Dann wird weniger RAM verwendet, da das Erstellen nur auf einem CPU-Thread erfolgt. -!!!note "" +:::note "" Wenn du -DCMAKE_BUILD_TYPE=Release nicht spezifizierst, erstellst du eine Debug-Version, die zwar eine größere Dateigröße hat, aber nicht den Fehler „Launcher kann sich nur einmal mit einem Server verbinden" enthält. -!!!note "Fedora Benutzer" +:::note "Fedora Benutzer" Wenn vcpkg während der OpenSSL-Kompilierung aufgrund von Kernel-Header-Fehlern fehlschlägt, stelle sicher, dass alle Abhängigkeiten installiert sind: ```bash sudo dnf install kernel-headers kernel-devel gcc gcc-c++ make perl @@ -126,7 +126,7 @@ Wenn der symbolische Link zwischen den Benutzerordnern und dem kompilierten Laun Beachte, dass hierbei davon ausgegangen wird, dass die Binärdatei des Launchers, die Sie zuvor kompiliert wurde, in `/home/user/BeamMP/` abgelegt wurde. Ändere diese daher so, dass sie mit der Stelle übereinstimmt, an der du die fertige Binärdatei abgelegt hast. Außerdem musst du den Launcher jedes Mal mit dem richtigen Git-Zweig neu kompilieren, wenn ein Launcher-Update veröffentlicht wird. -!!! tip "Hinzufügen von emoji-font um in-text emojis zu erhalten" +::: tip "Hinzufügen von emoji-font um in-text emojis zu erhalten" Damit Emojis entweder in der Serverliste (als Teil eines benutzerdefinierten Servernamens) oder im Ingame-Chat angezeigt werden, benötigst du eine Schriftart, die Emojis enthält. diff --git a/docs/de/index.md b/docs/de/index.md index 967a5afa..552ce8cd 100644 --- a/docs/de/index.md +++ b/docs/de/index.md @@ -1,23 +1,48 @@ --- -hide: - - Navigation +layout: home + +hero: + name: BeamMP Dokumentation + text: Alles was du wissen musst + tagline: Komplette Anleitungen für Spieler, Serverbetreiber und Entwickler + image: + src: /assets/core/beammp_dark.png + alt: BeamMP + actions: + - theme: brand + text: Erste Schritte + link: /de/game/getting-started + - theme: alt + text: View on GitHub + link: https://github.com/beammp/docs + +features: + - icon: 🎮 + title: Für Spieler + details: Erfahren Sie, wie Sie BeamMP installieren, sich mit Servern verbinden und das Beste aus Ihrem Multiplayer-Erlebnis herausholen + link: /de/game/getting-started + - icon: 🖥️ + title: Für Serverbetreiber + details: Richten Sie Ihren eigenen BeamMP-Server ein und verwalten Sie ihn mit unseren umfassenden Leitfäden und Fehlerbehebungsressourcen + link: /de/server/create-a-server + - icon: 💻 + title: Für Entwickler + details: Erstellen Sie Mods, Ressourcen und UI-Apps mit detaillierter API-Dokumentation und Codebeispielen + link: /de/guides/index + - icon: ❓ + title: FAQ + details: Finden Sie schnelle Antworten auf häufig gestellte Fragen zu Setup, Fehlerbehebung und Best Practices + link: /de/FAQ/player-faq + - icon: 📋 + title: Gemeinschaftsregeln + details: Erfahren Sie mehr über unsere Community-Richtlinien und wie Sie Probleme melden oder Entscheidungen anfechten können + link: /de/community/rules + - icon: 🔗 + title: Gemeinschaft + details: Treten Sie unserem Discord bei, folgen Sie auf sozialen Medien und verbinden Sie sich mit anderen BeamMP-Spielern und Entwicklern + link: /de/community/index --- -!!! warning "Diese Seite befindet sich im Aufbau!" - - Diese Seite steht unter aktiver Bearbeitung. - Denkst du, dass du helfen könntest? Das kannst du tun, indem du auf das Editier Symbol auf der rechten Seite klickst! - Das trifft auch auf alle anderen Seiten zu. - - -# Willkommen bei BeamMP Docs! :tada: - -Willkommen im neuen und verbesserten Dokumentationszentrum für BeamMP! Egal, ob du Spieler, Serverbesitzer oder Entwickler bist, wir haben die Ressourcen, die du benötigst, um dein Mehrspielererlebnis in BeamNG.drive zu optimieren. - -## Für Spieler - -Neu bei BeamMP? Schau dir unsere [Erste Schritte](../game/getting-started.md) -Seite an, um sofort loszulegen und das Beste aus deinen Multiplayer-Abenteuern herauszuholen. Bei allgemeinen Fragen und Problemen schau dir bitte die [Spieler-FAQ](../FAQ/player-faq.md) an. - ## Für Serverbesitzer Du möchtest deinen eigenen BeamMP-Server erstellen? Unsere umfassende Anleitung [hier](../server/create-a-server.md) führt dich durch den Prozess und stellt sicher, dass du alle notwendigen Werkzeuge und Kenntnisse für die effiziente Konfiguration deines Servers zur Verfügung hast. diff --git a/docs/de/nav-translations.json b/docs/de/nav-translations.json new file mode 100644 index 00000000..972677c6 --- /dev/null +++ b/docs/de/nav-translations.json @@ -0,0 +1,57 @@ +{ + "Home": "Hauptseite", + "Support": "Support", + "Playing BeamMP": "BeamMP spielen", + "Installing BeamMP": "BeamMP Installation", + "Error Codes": "Fehlercodes", + "Multiplayer Settings": "Einstellungen anpassen", + "Running a BeamMP-Server": "Server ausführen", + "Server Installation": "Server Installation", + "Port Forwarding": "Portweiterleitung", + "Server Maintenance": "Server Wartung", + "Server Manual": "Server Handbuch", + "Mod & Resource Creation": "Mod- & Ressourcenerstellung", + "Client Side": "Clientseite", + "Server Side": "Serverseite", + "FAQ": "FAQ", + "How to check for CGNAT?": "Wie überprüft man auf CGNAT?", + "Where can I find my IP address?": "Wo finde ich meine IP Adresse?", + "How to remove mods?": "Wie entferne ich Mods?", + "Manually updating the Launcher": "Den Launcher manuell updaten", + "Changing the Launcher port": "Ändern des Launcher Ports", + "Creating Exclusions (Defender)": "Ausnahmen erstellen (Defender)", + "Player FAQ": "Spieler-FAQ", + "Game FAQ": "Spiel FAQ", + "Server FAQ": "Server FAQ", + "Development Guides": "Entwicklungsanleitungen", + "Development Environment Setup": "Entwicklungsumgebung einrichten", + "Mod Creation": "Mod-Erstellung", + "Resource Creation": "Ressourcenerstellung", + "Client Scripting Reference": "Client-Scripting-Referenz", + "Server Resources": "Server-Ressourcen", + "BeamNG Documentation": "BeamNG-Dokumentation", + "Content Development": "Inhaltsentwicklung", + "Introduction": "Einführung", + "Programming": "Programmierung", + "UI Apps (HTML)": "UI-Apps (HTML)", + "ImGui Window Tutorial": "ImGui-Fenster-Tutorial", + "Lua Mods (Scripts)": "Lua-Mods (Skripte)", + "Content": "Inhalt", + "Maps": "Karten", + "Props": "Objekte", + "Vehicles": "Fahrzeuge", + "Lua Code Snippets": "Lua-Code-Snippets", + "CSS Code Snippets": "CSS-Code-Snippets", + "ImGui Code Snippets": "ImGui-Code-Snippets", + "CEF Code Snippets": "CEF-Code-Snippets", + "Scripting Reference": "Scripting-Referenz", + "Mod (In-Game)": "Mod (Im Spiel)", + "Server": "Server", + "Version 3.X (Latest)": "Version 3.X (Aktuell)", + "Version 2.X (Deprecated)": "Version 2.X (Veraltet)", + "Contributing": "Mitwirken", + "Getting Started": "Erste Schritte", + "Community": "Gemeinschaft", + "General Information": "Allgemeine Informationen", + "Rules": "Regeln" +} \ No newline at end of file diff --git a/docs/de/server/create-a-server.md b/docs/de/server/create-a-server.md index fe3477da..24dab02f 100644 --- a/docs/de/server/create-a-server.md +++ b/docs/de/server/create-a-server.md @@ -26,13 +26,13 @@ Das Aufsetzen besteht aus folgenden Schritten. Du solltest alle davon durchgehen ### **1. Port Weiterleitung** -!!! info +::: info ``` Wenn du einen VPS (Virtual Private Server), einen Rootserver nutzt oder planst, diesen Server lokal zu hosten (mit Spielern im selben Haus wie du), kannst du diesen Schritt überspringen. Dieser Schritt ist notwendig, wenn, jemand **außerhalb** des Haushalts einem selbst gehosteten Server beitreten soll (außerhalb Ihres lokalen Netzwerks). -!!! danger :material-scale-balance: HAFTUNGSAUSSCHLUSS:" +::: danger ":material-scale-balance: HAFTUNGSAUSSCHLUSS:" **Portweiterleitung birgt Risiken.** @@ -74,7 +74,7 @@ Eine detailliertere Anleitung findest du unter [dieser Dokumentationsseite](http Der Authentifizierungsschlüssel, auch “Authentication Key” oder “AuthKey” genannt, ist nötig, um einen Öffentlichen Server zu erstellen. Für einen privaten Server benötigst du nicht zwingend einen offiziellen Schlüssel, jedoch darf das Feld in der Konfigurationsdatei nicht leer gelassen werden. Du hast eine limitierte Anzahl an Schlüssel. Ein Schlüssel kann nur für einen Server auf einmal verwendet werden, also kannst du nicht 2 Server mitdemselben Schlüssel starten. Mehr Schlüssel können durch das Unterstützen des Projektes erworben werden. Lies [diesen Artikel](https://docs.beammp.com/support/player-faq/) für mehr Informationen. -!!! warning "WARNUNG" +::: warning "WARNUNG" ``` TEILE ODER ZEIGE DEN SCHLÜSSEL NICHT. BEHANDLE IHN WIE EIN PASSWORT. @@ -187,7 +187,7 @@ Description = "Total Random Beam MP Server" ResourceFolder = "Resources" ``` -!!! info +::: info ``` Dies ist deine Konfigurationsdatei. Sie verwendet das Format TOML. Weitere Informationen zu dieser Datei und den Variablen findest du im Abschnitt [Serverwartung](server-maintenance.md). @@ -216,7 +216,7 @@ Nun führe den Server erneut aus und sieh nach, ob weitere `[ERROR]` oder `[WARN Fahrzeug- und Karten-Mods werden unterschiedlich installiert, müssen aber beide im Serverordner ( `Resources/Client` ) abgelegt werden. Ziehe einfach die gewünschten Mods in diesen Ordner. -!!! warning +::: warning ``` Solltest du beim Versuch, deinem Server nach dem Hinzufügen von Mods beizutreten, die Meldung „Fertig“ oder „Start“ erhalten, hast du wahrscheinlich eine inkompatible oder fehlerhafte Mod dem Server hinzugefügt. @@ -279,12 +279,12 @@ Gib unten die öffentliche IPv4-Adresse und den Port des Servers ein und klicke -!!! warning "Ich möchte einen VPN wie RadminVPN, Hamachi oder ähnlich verwenden" +::: warning "Ich möchte einen VPN wie RadminVPN, Hamachi oder ähnlich verwenden" ``` BeamMP unterstützt diese VPNs nicht, weil diese oft Probleme verursachen. Eines davon ist das blockieren von UDP Verkehr. Um dies zu beheben, siehe Sektion 1. - !!! question "Aber warum hat es vorher funktioniert?" + ::: question "Aber warum hat es vorher funktioniert?" Das passiert, weil die Entwickler dieser Applikationen updaten und Änderungen implementiere, über welche BeamMP keine Kontroll hat. Es liegt an den Entwicklern diesen Applikationen, um Support für spezifische Fälle wie eines BeamMP-Servers zu unterstützen. diff --git a/docs/de/server/error-codes.md b/docs/de/server/error-codes.md index 6ab22015..d2a65d27 100644 --- a/docs/de/server/error-codes.md +++ b/docs/de/server/error-codes.md @@ -17,5 +17,5 @@ Code | Beschreibung | Mögliche Lösung 10064 | Host nicht verfügbar | Unwahrscheinlicher Fehler, aber bedeutet, der Server ist nicht erreichbar.
Entweder weil der Server abgeschaltet ist, oder weil die Ports geschlossen wurden. 10065 | Host nicht erreichbar | Kein Internet oder schlechtes Port Forwarding. Sieh dir die [Anleitung](create-a-server.md#1-port-forwarding) an. -!!! note +::: note Für codes, welche nicht in der Liste vorkommen, siehe [https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2](https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2) wenn du dich etwas mit Netzwerke / Sockets auskennst. diff --git a/docs/de/server/port-forwarding.md b/docs/de/server/port-forwarding.md index 3ce0192d..b5d0188b 100644 --- a/docs/de/server/port-forwarding.md +++ b/docs/de/server/port-forwarding.md @@ -1,13 +1,13 @@ # Port Weiterleitung -!!! danger ":material-scale-balance: ACHTUNG" +::: danger ":material-scale-balance: ACHTUNG" **Das weiterleiten von Ports ist ein Risiko**. Durch die Portweiterleitung bist du dir den Risiken bewusst, die mit der Öffnung von Ports in das öffentliche Netz verbunden sind. Daher verlierst du das Recht, BeamMP für **alle** Schäden haftbar zu machen, die dir oder deinem Haushalt entstehen können. Wir übernehmen keine Verantwortung für Inhalte auf extern verlinkten Diensten oder Websites. **Wenn du diese Anleitung nicht verstehst, ziehe die Nutzung eines unserer Hosting Partner in Betracht.** - !!! warning "Warnung" + ::: warning "Warnung" Bitte stelle sicher, dass dein Router kein 4G/5G-exklusives Gerät ist. Wenn es sich um ein Hybridgerät handelt, wähle später in Abschnitt 3 dieser Anleitung unbedingt den kabelgebundenen Adapter aus! @@ -100,7 +100,11 @@ Nachfolgend findest du Beispiele für lokale IPv4-Adressen, die mindestens einer Subnetzmaske (höchstwahrscheinlich 255.255.255.0) Standard-Gateway (höchstwahrscheinlich 192.168.0.1 oder 192.168.1.1) -!!! Info „Beachte“ BeamMP unterstützt derzeit kein IPv6 zum Hosten eines Servers. +::: info "Beachte" + +BeamMP unterstützt derzeit kein IPv6 zum Hosten eines Servers. + +::: #### 1.2. Adaptereinstellungen ändern @@ -181,7 +185,11 @@ Sobald du den Bereich für die Portweiterleitung gefunden hast, kannst du die er BeamMP erfordert sowohl UDP- als auch TCP-Port 30814 (es sei denn, du hast diesen in deiner [ServerConfig.toml](create-a-server.md#4-configuration) geändert). -!!!! info "Hinweis" Der **Standardport** ist **30814.** Du kannst aber auch andere Ports größer als 1024 und kleiner als 65535 wählen. Notiere dir deine Wahl, falls diese nicht 30814 ist. Du musst sowohl **TCP** als auch **UDP** weiterleiten. Es wird empfohlen, den Standardport beizubehalten, da dieser höchstwahrscheinlich nicht von einem anderen Dienst auf Ihrem PC verwendet wird. Wenn du jedoch mehrere Server auf einem Rechner hostest, benötigt jeder Server einen anderen Port. Server 1: 30814, Server 2: 30815 zum Beispiel. +::: info "Hinweis" + +Der **Standardport** ist **30814.** Du kannst aber auch andere Ports größer als 1024 und kleiner als 65535 wählen. Notiere dir deine Wahl, falls diese nicht 30814 ist. Du musst sowohl **TCP** als auch **UDP** weiterleiten. Es wird empfohlen, den Standardport beizubehalten, da dieser höchstwahrscheinlich nicht von einem anderen Dienst auf Ihrem PC verwendet wird. Wenn du jedoch mehrere Server auf einem Rechner hostest, benötigt jeder Server einen anderen Port. Server 1: 30814, Server 2: 30815 zum Beispiel. + +::: Auf einigen Routern muss man möglicherweise zwei Regeln erstellen, eine für UDP und eine für TCP, während andere praktisch sind und dir beides mit einer einzigen Regel ermöglichen! @@ -205,13 +213,13 @@ Dies kann durch die Abfrage deiner öffentlichen IPv4-Adresse erfolgen. Auch hie Besuche den folgenden Link und ersetzen Sie "IP" durch deine tatsächliche IPv4-Adresse und "Port" durch den Port deines Servers. Achte darauf, keine Leerzeichen zu hinterlassen. https://check.beammp.com/api/v2/beammp/ip/port -!!! success "status: ok" +::: success "status: ok" Wenn du die obige Ausgabe erhältst, kannst du des jetzt deinem Server beitreten! Es gibt zwei Möglichkeiten, beizutreten: entweder direkt mit den Daten, die du in probablyup eingegeben hast, oder, wenn dein Server auf „öffentlich“ eingestellt ist, über die Serverliste. Da du einen Server vor Ort hostest, verwenden 127.0.0.1 (localhost), wenn der Server auf demselben PC läuft, auf dem du spielst, oder die LAN-IPv4 des lokalen Computers, auf dem der Server läuft. -!!! failure "status: error" +::: failure "status: error" Wenn die Verbindung vollständig fehlschlägt, verwendet dein Anbieter möglicherweise CGNAT (Carrier Grade Network Address Translation). Weitere Informationen findest du unter [Wie kann ich auf CGNAT prüfen?](../FAQ/How-to-check-for-CGNAT.md), oder öffne ein Server-Support-Ticket auf unserem [Discord-Server](https://discord.gg/beammp) im Kanal „#support“ und einer unserer Mitarbeiter wird sich um dein Ticket kümmern! diff --git a/docs/en/FAQ/Clearing-mods.md b/docs/en/FAQ/Clearing-mods.md index 78828314..64ca3f73 100644 --- a/docs/en/FAQ/Clearing-mods.md +++ b/docs/en/FAQ/Clearing-mods.md @@ -20,7 +20,7 @@ The result should be a clean new userfolder. If you have renamed the userfolder, you forced the game to create a new, clean userfolder. You may copy the 'settings' and 'vehicles' folder from the folder you renamed (e.g. `current_old`) to the new folder it created. Make sure BeamNG.Drive is closed and replace all elements in the location you want to copy the folders to. You should now have all configs and settings as they were before. - !!! warning "Be careful when moving back files/folders to the new userfolder. + ::: warning "Be careful when moving back files/folders to the new userfolder. If you resolved any issues by renaming the userfolder, moving back the old files may cause any issues you had to possibly re-occur. diff --git a/docs/en/FAQ/Defender-exclusions.md b/docs/en/FAQ/Defender-exclusions.md index aebde919..1b7752e8 100644 --- a/docs/en/FAQ/Defender-exclusions.md +++ b/docs/en/FAQ/Defender-exclusions.md @@ -1,10 +1,10 @@ # How to create exclusions in the Windows Defender Firewall and Antivirus? -!!! info +::: info Before tampering with the firewall, make sure that your network within the windows networking settings is set to private (assuming you are in a private network). - !!! danger ":material-scale-balance: DISCLAIMER:" + ::: danger ":material-scale-balance: DISCLAIMER:" **Firewall / Defender exclsuions are a risk**. diff --git a/docs/en/FAQ/How-to-check-for-CGNAT.md b/docs/en/FAQ/How-to-check-for-CGNAT.md index 54d547fa..a35dc49e 100644 --- a/docs/en/FAQ/How-to-check-for-CGNAT.md +++ b/docs/en/FAQ/How-to-check-for-CGNAT.md @@ -16,7 +16,7 @@ For a detailed explanation, on what CGNAT is and why it's an issue when trying t Open a command prompt, run ``tracert -4 beammp.com``. This will output a series of network hops. Wait for the operation to finish (may take up to 30 hops). Check the first few IP addresses after the IP of your Router/Modem/Gateway. If multiple IP addresses within the range of ``100.64.x.x``-``100.127.x.x`` or ``10.xx.xx.xx`` appear after the first hop, you are most likely behind a CGNAT. -!!! note +::: note The first hop will be your Router/Modem/Gateway and differs between Devices. The official ranges for local networks are as follows: ``10.0.0.xxx`` - ``192.168.xxx.xxx`` - ```172.16.xxx.xxx`` @@ -28,7 +28,7 @@ Find out the WAN IP on your router by looking it up on its interface. Compare it Call your Internet Service Provider for assistance. Depending on your ISP, they might not offer dedicated *dynamic* IP adresses. Keep in mind, that a static IP is not necessary. -!!! warning +::: warning Internet Service Providers may only offer dedicated IP addresses as a **paid option**. Please check the prices of our partnered hosting services as they could be cheaper than this fee! diff --git a/docs/en/FAQ/Update-launcher.md b/docs/en/FAQ/Update-launcher.md index c2c3e232..984495e7 100644 --- a/docs/en/FAQ/Update-launcher.md +++ b/docs/en/FAQ/Update-launcher.md @@ -3,7 +3,7 @@ The Launcher can't update or shows a blank screen? This quick guide explains how to manually update the Launcher. -!!! note +::: note You should have already used or installed BeamMP using the installer provided by [our website](https://beammp.com) before continuing. diff --git a/docs/en/beamng/cef-snippets.md b/docs/en/beamng/cef-snippets.md index 680d0713..1de5fe2f 100644 --- a/docs/en/beamng/cef-snippets.md +++ b/docs/en/beamng/cef-snippets.md @@ -1,4 +1,4 @@ -!!! warning "This site is under construction!" +::: warning "This site is under construction!" This site is being actively worked on. diff --git a/docs/en/beamng/css-snippets.md b/docs/en/beamng/css-snippets.md index a941961c..38ef912d 100644 --- a/docs/en/beamng/css-snippets.md +++ b/docs/en/beamng/css-snippets.md @@ -1,4 +1,4 @@ -!!! warning "This site is under construction!" +::: warning "This site is under construction!" This site is being actively worked on. diff --git a/docs/en/beamng/dev/content/maps.md b/docs/en/beamng/dev/content/maps.md index 2a0e00aa..c4c42487 100644 --- a/docs/en/beamng/dev/content/maps.md +++ b/docs/en/beamng/dev/content/maps.md @@ -1,4 +1,4 @@ -!!! warning "This site is under construction!" +::: warning "This site is under construction!" This site is being actively worked on. diff --git a/docs/en/beamng/dev/content/props.md b/docs/en/beamng/dev/content/props.md index 3eddc91a..079ae163 100644 --- a/docs/en/beamng/dev/content/props.md +++ b/docs/en/beamng/dev/content/props.md @@ -1,4 +1,4 @@ -!!! warning "This site is under construction!" +::: warning "This site is under construction!" This site is being actively worked on. diff --git a/docs/en/beamng/dev/content/vehicles.md b/docs/en/beamng/dev/content/vehicles.md index f8a9a749..cb2ff3c6 100644 --- a/docs/en/beamng/dev/content/vehicles.md +++ b/docs/en/beamng/dev/content/vehicles.md @@ -1,4 +1,4 @@ -!!! warning "This site is under construction!" +::: warning "This site is under construction!" This site is being actively worked on. diff --git a/docs/en/beamng/dev/index.md b/docs/en/beamng/dev/index.md index bef3fd12..40ee5068 100644 --- a/docs/en/beamng/dev/index.md +++ b/docs/en/beamng/dev/index.md @@ -1,9 +1,7 @@ -!!! warning "This site is under construction!" +::: warning This site is under construction! +This site is being actively worked on. - This site is being actively worked on. - - Feel you could help? Please do by clicking on the page with a pencil on the right! - - This can be done any page too. +Feel you could help? Please do by clicking "Edit this page" at the bottom! +::: # BeamNG.drive Development Introduction \ No newline at end of file diff --git a/docs/en/beamng/dev/modding/imgui-window-tutorial.md b/docs/en/beamng/dev/modding/imgui-window-tutorial.md index 6b707491..ca2f0841 100644 --- a/docs/en/beamng/dev/modding/imgui-window-tutorial.md +++ b/docs/en/beamng/dev/modding/imgui-window-tutorial.md @@ -1,4 +1,4 @@ -!!! warning "This site is under construction!" +::: warning "This site is under construction!" This site is being actively worked on. diff --git a/docs/en/beamng/imgui-snippets.md b/docs/en/beamng/imgui-snippets.md index 15524201..5fb3ac5e 100644 --- a/docs/en/beamng/imgui-snippets.md +++ b/docs/en/beamng/imgui-snippets.md @@ -1,11 +1,12 @@ -!!! warning "This site is under construction!" +::: warning "This site is under construction!" - This site is being actively worked on. - - Feel you could help? Please do by clicking on the page with a pencil on the right! +This site is being actively worked on. + +Feel you could help? Please do by clicking on the page with a pencil on the right! + +This can be done any page too. +::: - This can be done any page too. - # BeamNG.drive ImGui Code Snippets ## Setup diff --git a/docs/en/beamng/lua-snippets.md b/docs/en/beamng/lua-snippets.md index a4c0ccc4..ce8ab7e3 100644 --- a/docs/en/beamng/lua-snippets.md +++ b/docs/en/beamng/lua-snippets.md @@ -1,4 +1,4 @@ -!!! warning "This site is under construction!" +::: warning "This site is under construction!" This site is being actively worked on. @@ -205,11 +205,11 @@ HTML is supported and can be used to add images/icons, for example. Multiple can be displayed at once, displayed sequentially. -!!! bug +::: bug Providing no buttons prevents the player from escaping the dialog without using the console. -!!! bug +::: bug The SDF parts of the Minimap UI app remain visible while a ConfirmationDialog is active. @@ -249,7 +249,7 @@ guihooks.trigger("introPopupClose") * `noButtons` * Provides no buttons -!!! warning +::: warning When using the noButtons flavour on the page, providing no extra JavaScript in the page content to close the popup causes a softlock. Pages are not combined into one popup in this flavour. It is not recommended to use this flavour. @@ -293,7 +293,7 @@ guihooks.trigger("introPopupClose") If multiple pages are provided, or the hook is triggered multiple times, then the pages are combined into the same popup. If the hook is triggered while a introPopup is active, or when a different introPopup type has already been triggered, then it is displayed in a separate popup after the existing popup is closed. -!!! bug +::: bug The background blur has a minimum height, causing popups with short content to have excess blur below its window. Two main workarounds exist: @@ -338,7 +338,7 @@ guihooks.trigger("introPopupClose") If multiple pages are provided, or the hook is triggered multiple times, then the pages are combined into the same popup. If the hook is triggered while a introPopup is active, or when a different introPopup type has already been triggered, then it is displayed in a separate popup after the existing popup is closed. -!!! bug +::: bug The background blur has a minimum height, causing popups with short content to have excess blur below its window. Two main workarounds exist: @@ -374,7 +374,7 @@ ui_missionInfo.closeDialogue() Only one Dialogue can be displayed at once. Any existing Dialogue is overridden. -!!! info +::: info `#!lua ui_missionInfo.closeDialogue()` must be used to close a dialogue. diff --git a/docs/en/community/index.md b/docs/en/community/index.md index 5d8bad7f..07a9e6c2 100644 --- a/docs/en/community/index.md +++ b/docs/en/community/index.md @@ -9,29 +9,29 @@ hide: ## Our social media links -!!!failure "" +:::warning {{''}} +BeamMP Forum - [https://forum.beammp.com](https://forum.beammp.com) +::: - BeamMP Forum - [https://forum.beammp.com](https://forum.beammp.com) +:::quote {{''}} +X (Twitter) - [https://x.com/BeamMPOfficial](https://x.com/BeamMPOfficial) +::: -!!!quote "" +:::danger {{''}} +YouTube - [https://www.youtube.com/@BeamMPOfficial](https://www.youtube.com/@BeamMPOfficial) +::: - X (Twitter) - [https://x.com/BeamMPOfficial](https://x.com/BeamMPOfficial) +:::warning {{''}} +Patreon - [https://www.patreon.com/c/BeamMP](https://www.patreon.com/c/BeamMP) +::: -!!!danger "" +:::note {{''}} +Discord - [https://discord.com/invite/beammp](https://discord.com/invite/beammp) +::: - YouTube - [https://www.youtube.com/@BeamMPOfficial](https://www.youtube.com/@BeamMPOfficial) - -!!!warning "" - - Patreon - [https://www.patreon.com/c/BeamMP](https://www.patreon.com/c/BeamMP) - -!!!note "" - - Discord - [https://discord.com/invite/beammp](https://discord.com/invite/beammp) - -!!!info "" - - BlueSky - [https://bsky.app/profile/beammpofficial.bsky.social](https://bsky.app/profile/beammpofficial.bsky.social) +:::info {{''}} +BlueSky - [https://bsky.app/profile/beammpofficial.bsky.social](https://bsky.app/profile/beammpofficial.bsky.social) +::: ## Our Rules You can find our rules [here](rules.md) \ No newline at end of file diff --git a/docs/en/community/rules.md b/docs/en/community/rules.md index 28c01897..5ed56d42 100644 --- a/docs/en/community/rules.md +++ b/docs/en/community/rules.md @@ -4,7 +4,7 @@ hide: --- # BeamMP Community Rules -!!! info +::: info BeamMP Staff are not bound to moderate strictly by these rules and may operate at their own discretion. In addition to these rules, Discord's [Community Guidelines](https://discord.com/guidelines/) and [Terms of Service](https://discord.com/terms/) apply, and are enforced. ## BeamMP General Rules (Applies to Discord, Forum and In-Game) @@ -50,5 +50,5 @@ hide: All ban appeals are investigated thoroughly, involving at least two (2) members of the staff/moderation team that were not involved in the case-at-hand. The issuing staff member will be allowed to comment, but will not be otherwise involved in the appeal decision. These appeal outcomes are final. BeamMP reserves the right to allow or not allow members as they deem appropriate according to the BeamMP Community Rules (as above), [Discord ToS](https://discord.com/terms), and other factors. -!!! warning +::: warning In the event of action taken against you, you are prohibited from creating a new Discord or BeamMP account to circumvent the ban. diff --git a/docs/en/game/getting-started.md b/docs/en/game/getting-started.md index 14367ee6..5878218e 100644 --- a/docs/en/game/getting-started.md +++ b/docs/en/game/getting-started.md @@ -5,30 +5,29 @@ BeamMP is fully compatible with Windows and Linux, compatibility with MacOS is being worked on. However, both Linux and MacOS are secondary platforms, this means bugs are to be expected. -!!!warning - - BeamMP will not work with pirated or outdated versions of BeamNG.drive. - The BeamMP support team does not offer support for issues with pirated / outdated copies. - +::: warning +BeamMP will not work with pirated or outdated versions of BeamNG.drive. +The BeamMP support team does not offer support for issues with pirated / outdated copies. +::: --- ## **2. Installation** ### **2a. Windows Installation** -!!!note +::: note +As of April 1st, 2026, the MSI installer is an "unrecognized app" according to Windows Defender SmartScreen. - As of April 1st, 2026, the MSI installer is an "unrecognized app" according to Windows Defender SmartScreen. - - To bypass this warning, click 'More info', then click 'Run anyway'. +To bypass this warning, click 'More info', then click 'Run anyway'. +::: 1. Go to [beammp.com](https://beammp.com/) and click the 'Download Now' button. 2. Run the `BeamMP_Installer.msi` installer and follow the instructions. 3. The BeamMP Launcher icon should appear on your desktop. If not, just search for “BeamMP” in the Windows search bar. -!!!note - - As you are loading into a map with multiple vehicles spawned it might take longer than expected to join. +::: note +As you are loading into a map with multiple vehicles spawned it might take longer than expected to join. +::: ### **2b. Linux Installation** @@ -83,24 +82,25 @@ cmake . -B bin -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cma cmake --build bin --parallel ``` -!!!note "" +::: note +Should you run out of RAM while building, you can ommit the --parallel instruction, it will then use less RAM due to building only on one CPU thread. +::: - Should you run out of RAM while building, you can ommit the --parallel instruction, it will then use less RAM due to building only on one CPU thread. +:::note "" +By not specifying `-DCMAKE_BUILD_TYPE=Release` you are building a debug version, which is larger in filesize but does not contain the launcher-can-only-connect-to-a-server-once bug +::: -!!!note "" - - By not specifying `-DCMAKE_BUILD_TYPE=Release` you are building a debug version, which is larger in filesize but does not contain the launcher-can-only-connect-to-a-server-once bug - -!!!note "Fedora Users" - If vcpkg fails during OpenSSL compilation with kernel headers errors, ensure all dependencies are installed: - ```bash - sudo dnf install kernel-headers kernel-devel gcc gcc-c++ make perl - ``` - Then clean the vcpkg cache: - ```bash - rm -rf $VCPKG_ROOT/buildtrees/openssl - ``` - And retry the cmake configuration command. +:::note Fedora Users +If vcpkg fails during OpenSSL compilation with kernel headers errors, ensure all dependencies are installed: +```bash +sudo dnf install kernel-headers kernel-devel gcc gcc-c++ make perl +``` +Then clean the vcpkg cache: +```bash +rm -rf $VCPKG_ROOT/buildtrees/openssl +``` +And retry the cmake configuration command. +::: Move the finished application out of the `/bin` folder into its own folder and run it from there: ```bash @@ -132,11 +132,11 @@ With the symlink in place between the userfolders and the launcher compiled, you Note that this assumes you put the launcher's binary you compiled earlier into `/home/user/BeamMP/`, so change it to match where you put the finished binary, and you will need to re-compile the launcher with the correct git branch each time a launcher update is released. -!!! tip "Adding an emoji-font to get in-text emojis" +::: tip "Adding an emoji-font to get in-text emojis" +In order to get emojis to show up in either the serverlist (As part of a servers customised name) or in the ingame chat, you need to have a font that contains emojis. - In order to get emojis to show up in either the serverlist (As part of a servers customised name) or in the ingame chat, you need to have a font that contains emojis. - - This can be done for example by adding the [Linux-port of the Windows Segoe-UI emoji font](https://github.com/mrbvrz/segoe-ui-linux) +This can be done for example by adding the [Linux-port of the Windows Segoe-UI emoji font](https://github.com/mrbvrz/segoe-ui-linux) +::: ### **2d. Updating the Launcher** diff --git a/docs/en/game/multiplayer-settings.md b/docs/en/game/multiplayer-settings.md index 759ba06f..06f11ea4 100644 --- a/docs/en/game/multiplayer-settings.md +++ b/docs/en/game/multiplayer-settings.md @@ -20,7 +20,7 @@ If disabled, physics instabilities will cause your game to pause - !!! note "" + ::: note "" Its advised to leave disabled, since repeated instabilities can cause the game to crash @@ -36,7 +36,7 @@ If disabled, the ingame chat will be displayed in the UI app - !!! note "" + ::: note "" Dragging IMGUI windows out of the main game window can cause performance issues, as well as trick screen recording software into recording the chat window instead of the main game window @@ -76,7 +76,7 @@ If disbaled, other vehicles will stay fully visible regardless of distance - !!! note "" + ::: note "" This only affects the visible 3d mesh of a vehicle, not its physics node-beam-mesh. In order to also disable physics, you need to enable `Simplified collision physics` in the Gameplay settings @@ -190,13 +190,13 @@ ??? setting "Fade distance/Invert nametag fade direction" - !!! setting "Fade out" + ::: setting "Fade out" Nametags are getting less visible the further away a player is `Fade distance` defines the distance at which a nametag will be drawn at minimal opacity - !!! setting "Fade in" + ::: setting "Fade in" Nametags are getting more visible the further away a player is @@ -234,7 +234,7 @@ If disabled, no further network activity will be shown in the console - !!! danger "" + ::: danger "" Be careful with this setting, since all the console output gets also written into the log files @@ -248,7 +248,7 @@ Dont forget to also change it on the launcher side, by modifying `launcher.cfg` - !!! tip "" + ::: tip "" The port specified is only the first of two, the second port being used is directly following, set port + 1 diff --git a/docs/en/guides/index.md b/docs/en/guides/index.md index 693bbbb0..d2ada5c1 100644 --- a/docs/en/guides/index.md +++ b/docs/en/guides/index.md @@ -3,7 +3,7 @@ title: Guides description: This set of pages provides some basic guides for BeamMP status: new --- -!!! warning "This site is under construction!" +::: warning "This site is under construction!" This site is being actively worked on. diff --git a/docs/en/guides/mod-creation/server/getting-started.md b/docs/en/guides/mod-creation/server/getting-started.md index 619e3ce1..507976a0 100644 --- a/docs/en/guides/mod-creation/server/getting-started.md +++ b/docs/en/guides/mod-creation/server/getting-started.md @@ -1,6 +1,6 @@ # Multiplayer mod creation -## Folderstructure and file basics +## Folder structure and file basics The basic folder and file structure needs to look like this: @@ -31,8 +31,9 @@ The Client folder contains the zip files that are sent to a client, which then w Any other files in the Client folder will cause an error on server startup, but apart from that will be ignored by the server. The modScript.lua will be read by BeamNG and instructs the game which plugin to load. -!!!example "" - [Download the examplePlugin.zip](../../../../assets/content/ResourcesForExamplePlugin.zip) +:::example "" +[Download the examplePlugin.zip](../../../../assets/content/ResourcesForExamplePlugin.zip) +::: ## Serverside lua diff --git a/docs/en/index.md b/docs/en/index.md index da7d6a09..b019e6b3 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -1,34 +1,44 @@ --- -hide: - - navigation +layout: home + +hero: + name: BeamMP Documentation + text: Everything you need to know + tagline: Complete guides for players, server owners, and developers + image: + src: /assets/core/beammp_dark.png + alt: BeamMP + actions: + - theme: brand + text: Get Started + link: /en/game/getting-started + - theme: alt + text: View on GitHub + link: https://github.com/beammp/docs + +features: + - icon: 🎮 + title: For Players + details: Learn how to install BeamMP, connect to servers, and get the most out of your multiplayer experience + link: /en/game/getting-started + - icon: 🖥️ + title: For Server Owners + details: Set up and manage your own BeamMP server with our comprehensive guides and troubleshooting resources + link: /en/server/create-a-server + - icon: 💻 + title: For Developers + details: Create mods, resources, and UI apps with detailed API documentation and code examples + link: /en/guides/index + - icon: ❓ + title: FAQ + details: Find quick answers to common questions about setup, troubleshooting, and best practices + link: /en/FAQ/player-faq + - icon: 📋 + title: Community Rules + details: Learn about our community guidelines and how to report issues or appeal decisions + link: /en/community/rules + - icon: 🔗 + title: Community + details: Join our Discord, follow on social media, and connect with other BeamMP players and developers + link: /en/community/index --- -!!! warning "This site is under construction!" - - This site is being actively worked on. - - Feel you could help? Please do by clicking on the page with a pencil on the right! - - This can be done on any page, too. - -# Welcome to BeamMP Docs! :tada: - -Welcome to the new and improved documentation hub for BeamMP! Whether you're a player, server owner, or developer, we have the resources you need to enhance your BeamNG.drive multiplayer experience. - -## For Players - -New to BeamMP? Check out our [Getting Started](../game/getting-started.md) page to help you hit the road running and make the most out of your multiplayer adventures. -For general questions and issues please check out the [Players FAQ](../FAQ/player-faq.md). - -## For Server Owners - -Thinking about creating your own BeamMP server? Our comprehensive guide [here](../server/create-a-server.md) will walk you through the process, ensuring you have all the tools and knowledge to set up your server efficiently. - -## For Developers - -Discover the ins and outs of creating resources for the BeamMP Server in our [Resource Development Guide](../guides/mod-creation/server/getting-started.md). - -Exciting updates are on the horizon, including a brand-new homepage designed to enhance your browsing experience. Stay tuned for more! :slight_smile: - -## Community Rules - -Read through the BeamMP [Community rules](https://docs.beammp.com/community/rules/) and how to appeal bans. diff --git a/docs/en/nav-translations.json b/docs/en/nav-translations.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/docs/en/nav-translations.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/docs/en/scripting/mod-reference.md b/docs/en/scripting/mod-reference.md index 5cb02ebc..b55e104f 100644 --- a/docs/en/scripting/mod-reference.md +++ b/docs/en/scripting/mod-reference.md @@ -1,4 +1,4 @@ -!!! warning "This site is under construction!" +::: warning "This site is under construction!" This site is being actively worked on. diff --git a/docs/en/scripting/server/latest-server-reference.md b/docs/en/scripting/server/latest-server-reference.md index e5d81a8a..b5801df8 100644 --- a/docs/en/scripting/server/latest-server-reference.md +++ b/docs/en/scripting/server/latest-server-reference.md @@ -1,4 +1,4 @@ -!!! warning "This site is under construction!" +::: warning "This site is under construction!" This site is being actively worked on. diff --git a/docs/en/scripting/server/v2-server-reference.md b/docs/en/scripting/server/v2-server-reference.md index ec2e4f69..49a2f5b5 100644 --- a/docs/en/scripting/server/v2-server-reference.md +++ b/docs/en/scripting/server/v2-server-reference.md @@ -1,4 +1,4 @@ -!!! warning "This site is under construction!" +::: warning "This site is under construction!" This site is being actively worked on. @@ -8,7 +8,7 @@ # Server Scripting Reference ## Server Version 2.X -!!! warning +::: warning BeamMP server version 2.X is now unsupported. This documentation is provided as a reference only. Please update to the latest version for maintenance and support. diff --git a/docs/en/server/create-a-server.md b/docs/en/server/create-a-server.md index 143f988f..505f56f1 100644 --- a/docs/en/server/create-a-server.md +++ b/docs/en/server/create-a-server.md @@ -24,12 +24,12 @@ The setup consists of the following steps, you should follow all of them. ### **1. Port forwarding** -!!! info +::: info If you are on a VPS (Virtual Private Server), Rootserver, or plan on hosting this server locally (with players in the same house as you), you can skip this step. This step is necessary if you want someone **outside** of your household to join your home-hosted server (outside of your local network). - !!! danger ":material-scale-balance: DISCLAIMER:" + ::: danger ":material-scale-balance: DISCLAIMER:" **Port forwarding is a risk**. @@ -74,7 +74,7 @@ The “Authentication Key”, often called “AuthKey”, is necessary for makin You have a limited number of keys. One key can be used on one server at a time, so you cannot start two servers at the same time with the same key. More keys can be obtained by supporting the project. Read [this article](https://docs.beammp.com/support/player-faq/) for more information. -!!! warning +::: warning DO NOT EVER SHARE THIS KEY OR SHOW IT TO ANYONE. TREAT THIS LIKE A PASSWORD. @@ -192,7 +192,7 @@ Description = "Total Random Beam MP Server" ResourceFolder = "Resources" ``` -!!! info +::: info This is your configuration file. It uses a format called TOML. Refer to the [Server Maintenance](server-maintenance.md) section for more info on this file and the variables. Your server will **NOT** show in the server list as long as `Private = true`. _If_ you want it to show in the list, set that to **`Private = false`**. @@ -217,7 +217,7 @@ Now run your server again, and see if it spits out any more `[ERROR]` or `[WARN] Vehicle mods and map mods are different to install, but both require you to put them in your server's (`Resources/Client`) folder. Simply slide any mod you want to add in that folder. -!!! warning +::: warning Should you receive a "done" or "start" message when trying to join your server after adding mods, you likely added an incompatible or broken mod to your server. Mod incompatibilities can also occur between 2 or more mods. If you have client mods installed, check [this guide](../../FAQ/How-to-deactivate-mods.md) about removing mods from your game. @@ -282,11 +282,11 @@ Enter the servers public IPv4 and Port below, then click "CheckBeamMP". -!!! warning "I want to use a VPN such as RadminVPN, Hamachi, or similar." +::: warning "I want to use a VPN such as RadminVPN, Hamachi, or similar." BeamMP does not support these VPNs, as they often cause issues. One of these issues is UDP traffic not being forwarded. To resolve this, refer to section 1. - !!! question "But why has it worked in the past?" + ::: question "But why has it worked in the past?" This is due to the developers of these applications updating their software and implementing changes which BeamMP has no control over. It is up to the developers of these applications to provide support for specific use cases like a BeamMP-Server. diff --git a/docs/en/server/error-codes.md b/docs/en/server/error-codes.md index ff505f42..aef6b5c0 100644 --- a/docs/en/server/error-codes.md +++ b/docs/en/server/error-codes.md @@ -17,6 +17,6 @@ This page contains all the error codes that the server may display. | 10064 | Host down | Unlikely error, but it means that the host is down because either it's shutdown or ports were closed. | | 10065 | Host not reachable | No internet or bad port forwarding, please refer to the [guide steps](create-a-server.md#1-port-forwarding). | -!!! note +::: note For any other code not in this list, you can refer to if you know a bit how networks / sockets work. diff --git a/docs/en/server/port-forwarding.md b/docs/en/server/port-forwarding.md index e7aa943c..8627a5b9 100644 --- a/docs/en/server/port-forwarding.md +++ b/docs/en/server/port-forwarding.md @@ -1,6 +1,6 @@ # Port Forwarding -!!! danger ":material-scale-balance: DISCLAIMER:" +::: danger ":material-scale-balance: DISCLAIMER:" **Port forwarding is a risk**. @@ -10,7 +10,7 @@ **If you do not understand this guide, please consider using one of our partners.** -!!! warning +::: warning Please make sure your Router is not a 4G/5G exclusive device. If it is a hybrid device, make sure to select the cable connected adapter later in section 3 of this guide! @@ -116,7 +116,7 @@ Subnet Mask (most likely 255.255.255.0)
Default Gateway (most likely 192.168.0.1 or 192.168.1.1) -!!! info "Please Note" +::: info "Please Note" BeamMP currently does not support IPv6 for hosting a server. #### 1.2. Modify Adapter Settings @@ -208,7 +208,7 @@ Your router will have a place to enter the ports to be forwarded and the destina BeamMP requires both UDP and TCP port 30814 (Unless you have changed this in your [ServerConfig.toml](create-a-server.md#4-configuration)). -!!! info "Note" +::: info "Note" While the default **Port** is **30814**, you can choose any other number greater than 1024 but less than 65535, but you need to note down what you picked if it's not 30814\. You need to forward both **TCP** and **UDP**.
It is recommended to stick to the default port as that one is very unlikely to be used by another service on your PC. @@ -238,13 +238,13 @@ This can be done by getting your public IPv4 Address, this once again can be don Visit the following Link and replace "IP" with your actual IPv4 address, and the "Port" with your servers port. Be sure to leave no spaces. https://check.beammp.com/api/v2/beammp/ip/port -!!! success "status: ok" +::: success "status: ok" If you get the output above you can now join your server! There are 2 ways to join, either directly with the details you entered into Probably UP, or, if your server is set to 'public', through the server-list. Since you are hosting a server on-premise, use 127.0.0.1 (localhost) if the Server is running on the same PC as you play, or the LAN IPv4 of the local machine that is running the server. -!!! failure "status: error" +::: failure "status: error" If the connection fails entirely, your ISP could be using CGNAT (Carrier Grade Network Address Translation). For more details, please check [How to check for CGNAT?](../FAQ/How-to-check-for-CGNAT.md), or open a Server Support ticket on our [Discord server](https://discord.gg/beammp) in the `#support` channel and one of our staff will get to your ticket! diff --git a/docs/es/beamng/dev/content/maps.md b/docs/es/beamng/dev/content/maps.md index 9d10a13a..1891d8d3 100644 --- a/docs/es/beamng/dev/content/maps.md +++ b/docs/es/beamng/dev/content/maps.md @@ -1,4 +1,4 @@ -¡¡¡ ADVERTENCIA !!! "¡Esta página está bajo construcción!" +::: warning "¡Esta página está bajo construcción!" ``` Se está trabajando en este sitio. diff --git a/docs/es/beamng/dev/content/props.md b/docs/es/beamng/dev/content/props.md index 05f8a39c..39f54123 100644 --- a/docs/es/beamng/dev/content/props.md +++ b/docs/es/beamng/dev/content/props.md @@ -1,4 +1,4 @@ -¡¡¡ ADVERTENCIA !!! "¡Esta página está bajo construcción!" +::: warning "¡Esta página está bajo construcción!" ``` Se está trabajando en este sitio. diff --git a/docs/es/beamng/dev/content/vehicles.md b/docs/es/beamng/dev/content/vehicles.md index 6c4a5a96..a98f044a 100644 --- a/docs/es/beamng/dev/content/vehicles.md +++ b/docs/es/beamng/dev/content/vehicles.md @@ -1,4 +1,4 @@ -¡¡¡ ADVERTENCIA !!! "¡Esta página está bajo construcción!" +::: warning "¡Esta página está bajo construcción!" ``` Se está trabajando en este sitio. diff --git a/docs/es/beamng/dev/index.md b/docs/es/beamng/dev/index.md index cd58ee30..803c7607 100644 --- a/docs/es/beamng/dev/index.md +++ b/docs/es/beamng/dev/index.md @@ -1,4 +1,4 @@ -¡¡¡ ADVERTENCIA !!! "¡Esta página está bajo construcción!" +::: warning "¡Esta página está bajo construcción!" ``` Se está trabajando en este sitio. diff --git a/docs/es/beamng/snippets.md b/docs/es/beamng/snippets.md index cb09cef1..8b531c27 100644 --- a/docs/es/beamng/snippets.md +++ b/docs/es/beamng/snippets.md @@ -1,4 +1,4 @@ -¡¡¡ ADVERTENCIA !!! "¡Esta página está bajo construcción!" +::: warning "¡Esta página está bajo construcción!" ``` Se está trabajando en este sitio. diff --git a/docs/es/game/tailoring.md b/docs/es/game/tailoring.md index cb0c6438..2c1d0f5a 100644 --- a/docs/es/game/tailoring.md +++ b/docs/es/game/tailoring.md @@ -1,4 +1,4 @@ -¡¡¡ ADVERTENCIA !!! "¡Esta página está bajo construcción!" +::: warning "¡Esta página está bajo construcción!" ``` Se está trabajando en este sitio. diff --git a/docs/es/guides/index.md b/docs/es/guides/index.md index 75e50b06..c7a62f94 100644 --- a/docs/es/guides/index.md +++ b/docs/es/guides/index.md @@ -4,7 +4,7 @@ description: Este conjunto de páginas ofrece algunas guías básicas para BeamM status: nuevo --- -¡¡¡ ADVERTENCIA !!! "¡Esta página está bajo construcción!" +::: warning "¡Esta página está bajo construcción!" ``` Se está trabajando en este sitio. diff --git a/docs/es/guides/mod-creation/server/getting-started.md b/docs/es/guides/mod-creation/server/getting-started.md index 37c17379..4e849c4e 100644 --- a/docs/es/guides/mod-creation/server/getting-started.md +++ b/docs/es/guides/mod-creation/server/getting-started.md @@ -1,4 +1,4 @@ -¡¡¡ ADVERTENCIA !!! "¡Esta página está bajo construcción!" +::: warning "¡Esta página está bajo construcción!" ``` Se está trabajando en este sitio. diff --git a/docs/es/index.md b/docs/es/index.md index 1fcf6a38..22fb5e4c 100644 --- a/docs/es/index.md +++ b/docs/es/index.md @@ -1,24 +1,48 @@ --- -hide: - - navegación +layout: home + +hero: + name: Documentación de BeamMP + text: Todo lo que necesitas saber + tagline: Guías completas para jugadores, propietarios de servidores y desarrolladores + image: + src: /assets/core/beammp_dark.png + alt: BeamMP + actions: + - theme: brand + text: Comenzar + link: /es/game/getting-started + - theme: alt + text: Ver en GitHub + link: https://github.com/beammp/docs + +features: + - icon: 🎮 + title: Para Jugadores + details: Aprende cómo instalar BeamMP, conectarte a servidores y aprovechar al máximo tu experiencia multijugador + link: /es/game/getting-started + - icon: 🖥️ + title: Para Propietarios de Servidores + details: Configura y administra tu propio servidor BeamMP con nuestras guías completas y recursos de solución de problemas + link: /es/server/create-a-server + - icon: 💻 + title: Para Desarrolladores + details: Crea mods, recursos y aplicaciones de interfaz de usuario con documentación detallada de API y ejemplos de código + link: /es/guides/index + - icon: ❓ + title: Preguntas Frecuentes + details: Encuentra respuestas rápidas a preguntas frecuentes sobre configuración, solución de problemas y mejores prácticas + link: /es/FAQ/player-faq + - icon: 📋 + title: Reglas de la Comunidad + details: Aprende sobre nuestras directrices de la comunidad y cómo reportar problemas o apelar decisiones + link: /es/community/rules + - icon: 🔗 + title: Comunidad + details: Únete a nuestro Discord, síguenos en redes sociales y conecta con otros jugadores y desarrolladores de BeamMP + link: /es/community/index --- -¡¡¡ ADVERTENCIA !!! "¡Esta página está bajo construcción!" - -``` -Se está trabajando en este sitio. - -¿Crees que puedes ayudar? Por favor, hazlo haciendo clic en la página con un lápiz a la derecha. - -Esto puede ser hecho en cualquier página. -``` - -# ¡Bienvenido a BeamMP Docs! :tada: - -¡Bienvenido al nuevo y mejorado centro de documentación para BeamMP! Ya seas jugador, propietario de un servidor o desarrollador, tenemos los recursos que necesitas para mejorar tu experiencia multijugador en BeamNG.drive. - -## Para Jugadores - ¿Nuevo en BeamMP? Échale un vistazo [Cómo Empezar](../game/getting-started.md) para ayudarte a tocar la carretera y hacer la mayoría de tus aventuras en multijugador. Para preguntas generales y problemas, por favor échale un ojo a [Players FAQ](../support/player-faq.md). ## Para Propietarios de Servidor diff --git a/docs/es/nav-translations.json b/docs/es/nav-translations.json new file mode 100644 index 00000000..8003d7ba --- /dev/null +++ b/docs/es/nav-translations.json @@ -0,0 +1,57 @@ +{ + "Home": "Inicio", + "Support": "Soporte", + "Playing BeamMP": "Jugando a BeamMP", + "Installing BeamMP": "Instalación de BeamMP", + "Error Codes": "Códigos de error", + "Multiplayer Settings": "Ajustes multijugador", + "Running a BeamMP-Server": "Ejecutando un Servidor", + "Server Installation": "Instalación del Servidor", + "Port Forwarding": "Redirección de puertos", + "Server Maintenance": "Manutención del Servidor", + "Server Manual": "Manual del Servidor", + "Mod & Resource Creation": "Creación de Mods y Recursos", + "Client Side": "Lado del Cliente", + "Server Side": "Lado del Servidor", + "FAQ": "FAQ", + "How to check for CGNAT?": "Cómo comprobar si hay CGNAT?", + "Where can I find my IP address?": "¿Dónde puedo encontrar mi dirección IP?", + "How to remove mods?": "¿Cómo se eliminan los mods?", + "Manually updating the Launcher": "Actualizar manualmente el Launcher", + "Changing the Launcher port": "Cambiar el puerto del Launcher", + "Creating Exclusions (Defender)": "Creación de exclusiones (Defender)", + "Player FAQ": "Preguntas frecuentes del jugador", + "Game FAQ": "Preguntas Frecuentes del Juego", + "Server FAQ": "Preguntas Frecuentes del Servidor", + "Development Guides": "Guías de Desarrollo", + "Development Environment Setup": "Configuración del entorno de desarrollo", + "Mod Creation": "Creación de Mods", + "Resource Creation": "Creación de Recursos", + "Client Scripting Reference": "Referencia de scripting del cliente", + "Server Resources": "Recursos del servidor", + "BeamNG Documentation": "Documentación de BeamNG", + "Content Development": "Desarrollo de contenido", + "Introduction": "Introducción", + "Programming": "Programación", + "UI Apps (HTML)": "Aplicaciones de IU (HTML)", + "ImGui Window Tutorial": "Tutorial de ventana ImGui", + "Lua Mods (Scripts)": "Mods Lua (scripts)", + "Content": "Contenido", + "Maps": "Mapas", + "Props": "Objetos", + "Vehicles": "Vehículos", + "Lua Code Snippets": "Fragmentos de código Lua", + "CSS Code Snippets": "Fragmentos de código CSS", + "ImGui Code Snippets": "Fragmentos de código ImGui", + "CEF Code Snippets": "Fragmentos de código CEF", + "Scripting Reference": "Referencia de scripting", + "Mod (In-Game)": "Mod (En el Juego)", + "Server": "Servidor", + "Version 3.X (Latest)": "Versión 3.X (Última)", + "Version 2.X (Deprecated)": "Versión 2.X (Obsoleta)", + "Contributing": "Contribuir", + "Getting Started": "Primeros Pasos", + "Community": "Comunidad", + "General Information": "Información general", + "Rules": "Normas" +} \ No newline at end of file diff --git a/docs/es/scripting/mod-reference.md b/docs/es/scripting/mod-reference.md index 8574ad51..ae419903 100644 --- a/docs/es/scripting/mod-reference.md +++ b/docs/es/scripting/mod-reference.md @@ -1,4 +1,4 @@ -¡¡¡ ADVERTENCIA !!! "¡Esta página está bajo construcción!" +::: warning "¡Esta página está bajo construcción!" ``` Se está trabajando en este sitio. diff --git a/docs/fr/FAQ/Clearing-mods.md b/docs/fr/FAQ/Clearing-mods.md index 386325e7..7cc183d0 100644 --- a/docs/fr/FAQ/Clearing-mods.md +++ b/docs/fr/FAQ/Clearing-mods.md @@ -2,11 +2,11 @@ Dans BeamMP, le serveur auquel vous vous connectez fournit les mods nécessaires. Ceux-ci sont téléchargés et activés automatiquement lors de la connexion. L'installation et l'activation de mods locaux peuvent souvent entraîner un dysfonctionnement de BeamMP, même avec un seul mod supplémentaire. -!!! warning +::: warning Supprimez tous les mods placés dans le dossier BeamNG.Drive\content\ ou ses sous-dossiers. Cet emplacement n'est PAS destiné à l'installation de mods et peut entraîner des problèmes, comme indiqué dans le fichier « DO_NOT_INSTALL_MODS_HERE.txt », situé dans le même répertoire. -!!! quote 'DO_NOT_INSTALL_MODS_HERE.txt" +::: quote 'DO_NOT_INSTALL_MODS_HERE.txt" NE copiez PAS les mods dans ce dossier : cela peut entraîner des mods cassés, une installation plus lente des mises à jour, un gestionnaire de mods cassé, un mode sans échec cassé et autres. @@ -32,7 +32,7 @@ Une fois terminé, lancez BeamNG.Drive via le lanceur BeamMP. Le seul mod activ Pour nettoyer les mods en cache des répertoires BeamMP, accédez à l'emplacement d'installation de votre lanceur BeamMP. Par défaut, le chemin est « C:\Users\AppData\BeamMP-Launcher ». Vous y trouverez un dossier « Resources ». Supprimez ce dossier pour supprimer tous les mods en cache. Cela peut être utile si vous avez besoin de plus d'espace disque ou si vous souhaitez supprimer des mods BeamNG obsolètes. -!!! question "Mes paramètres et configurations ont disparu ! Comment puis-je les restaurer ?" +::: question "Mes paramètres et configurations ont disparu ! Comment puis-je les restaurer ?" Si vous avez renommé le dossier utilisateur, vous avez forcé le jeu à créer un nouveau dossier utilisateur propre. Vous pouvez copier les dossiers « paramètres » et « véhicules » du dossier renommé (par exemple, 0.34_OLD) vers le nouveau dossier créé. Assurez-vous que BeamNG.Drive est fermé et remplacez tous les éléments à l'emplacement où vous souhaitez copier les dossiers. Toutes les configurations et tous les paramètres devraient maintenant être identiques. diff --git a/docs/fr/FAQ/How-to-check-for-CGNAT.md b/docs/fr/FAQ/How-to-check-for-CGNAT.md index 38d88efc..ce25e913 100644 --- a/docs/fr/FAQ/How-to-check-for-CGNAT.md +++ b/docs/fr/FAQ/How-to-check-for-CGNAT.md @@ -16,7 +16,7 @@ Pour une explication détaillée de ce qu'est CGNAT et pourquoi c'est un problè Ouvrez une invite de commande et exécutez `tracert -4 beammp.com` . Cela affichera une série de sauts réseau. Attendez la fin de l'opération (jusqu'à 30 sauts peuvent être nécessaires). Vérifiez les premières adresses IP après celle de votre routeur/modem/passerelle. Si plusieurs adresses IP comprises entre `100.64.xx` et `100.127.xx` ou `10.xx.xx.xx` apparaissent après le premier saut, vous êtes probablement derrière un CGNAT. -!!! note +::: note Le premier saut sera votre routeur/modem/passerelle et diffère selon les appareils. Les plages officielles pour les réseaux locaux sont les suivantes : « 10.0.0.xxx » - « 192.168.xxx.xxx » - « 172.16.xxx.xxx » @@ -29,7 +29,7 @@ Trouvez l'adresse IP WAN de votre routeur en la consultant sur son interface. Co Contactez votre fournisseur d'accès Internet pour obtenir de l'aide. Selon votre fournisseur d'accès, il se peut qu'il ne propose pas d'adresses IP *dynamiques* dédiées. N'oubliez pas qu'une adresse IP statique n'est pas nécessaire. -!!! warning +::: warning Les fournisseurs de services Internet ne peuvent proposer des adresses IP dédiées qu'en tant qu'**option payante**. Veuillez vérifier les prix de nos services d'hébergement partenaires car ils pourraient être moins chers que ces frais ! diff --git a/docs/fr/FAQ/How-to-deactivate-mods.md b/docs/fr/FAQ/How-to-deactivate-mods.md index 386325e7..7cc183d0 100644 --- a/docs/fr/FAQ/How-to-deactivate-mods.md +++ b/docs/fr/FAQ/How-to-deactivate-mods.md @@ -2,11 +2,11 @@ Dans BeamMP, le serveur auquel vous vous connectez fournit les mods nécessaires. Ceux-ci sont téléchargés et activés automatiquement lors de la connexion. L'installation et l'activation de mods locaux peuvent souvent entraîner un dysfonctionnement de BeamMP, même avec un seul mod supplémentaire. -!!! warning +::: warning Supprimez tous les mods placés dans le dossier BeamNG.Drive\content\ ou ses sous-dossiers. Cet emplacement n'est PAS destiné à l'installation de mods et peut entraîner des problèmes, comme indiqué dans le fichier « DO_NOT_INSTALL_MODS_HERE.txt », situé dans le même répertoire. -!!! quote 'DO_NOT_INSTALL_MODS_HERE.txt" +::: quote 'DO_NOT_INSTALL_MODS_HERE.txt" NE copiez PAS les mods dans ce dossier : cela peut entraîner des mods cassés, une installation plus lente des mises à jour, un gestionnaire de mods cassé, un mode sans échec cassé et autres. @@ -32,7 +32,7 @@ Une fois terminé, lancez BeamNG.Drive via le lanceur BeamMP. Le seul mod activ Pour nettoyer les mods en cache des répertoires BeamMP, accédez à l'emplacement d'installation de votre lanceur BeamMP. Par défaut, le chemin est « C:\Users\AppData\BeamMP-Launcher ». Vous y trouverez un dossier « Resources ». Supprimez ce dossier pour supprimer tous les mods en cache. Cela peut être utile si vous avez besoin de plus d'espace disque ou si vous souhaitez supprimer des mods BeamNG obsolètes. -!!! question "Mes paramètres et configurations ont disparu ! Comment puis-je les restaurer ?" +::: question "Mes paramètres et configurations ont disparu ! Comment puis-je les restaurer ?" Si vous avez renommé le dossier utilisateur, vous avez forcé le jeu à créer un nouveau dossier utilisateur propre. Vous pouvez copier les dossiers « paramètres » et « véhicules » du dossier renommé (par exemple, 0.34_OLD) vers le nouveau dossier créé. Assurez-vous que BeamNG.Drive est fermé et remplacez tous les éléments à l'emplacement où vous souhaitez copier les dossiers. Toutes les configurations et tous les paramètres devraient maintenant être identiques. diff --git a/docs/fr/beamng/dev/index.md b/docs/fr/beamng/dev/index.md index b60d6dda..335ae9a0 100644 --- a/docs/fr/beamng/dev/index.md +++ b/docs/fr/beamng/dev/index.md @@ -1,4 +1,4 @@ -!!! warning "Ce site est en construction !" +::: warning "Ce site est en construction !" Ce site est en cours de développement actif. diff --git a/docs/fr/beamng/snippets.md b/docs/fr/beamng/snippets.md index 2963539d..bece227e 100644 --- a/docs/fr/beamng/snippets.md +++ b/docs/fr/beamng/snippets.md @@ -1,4 +1,4 @@ -!!! warning "Ce site est en construction !" +::: warning "Ce site est en construction !" Ce site est en cours de développement actif. diff --git a/docs/fr/game/getting-started.md b/docs/fr/game/getting-started.md index cb470af8..36fb31a5 100644 --- a/docs/fr/game/getting-started.md +++ b/docs/fr/game/getting-started.md @@ -5,7 +5,7 @@ BeamMP est entièrement compatible avec Windows et Linux, la compatibilité avec MacOS est en cours de développement. Cependant, puisque Linux et MacOS sont des systèmes d'opération secondaire plusieurs problèmes (bug) sont à prévoir. -!!!warning "Attention" +:::warning "Attention" Aucune version piratée ou dépassée de BeamNG.drive ne sera compatible avec BeamMP. L'équipe de support de BeamMP ne fournit aucun soutien pour les versions piratées ou défectueuses. @@ -23,7 +23,7 @@ Cependant, puisque Linux et MacOS sont des systèmes d'opération secondaire plu 8. On va vous demander si vous voulez vous connecter ou si vous voulez jouer en teant qu'invité (guest) (Certains serveurs bloque les joueur invités (guest)). Vous pouvez créer un compte sur notre [forum](https://forum.beammp.com) et vous connecter à BeamMP avec les mêmes informations par la suite. 9. Choisissez n'importe quel serveur de votre choix et appuyer sur `Connect`. Amusez-vous! -!!!note +:::note Lorsque vous vous connectez à un serveur avec plusieurs joueurs et/ou véhicules, les temps de chargement peuvent être prolongés. @@ -58,11 +58,11 @@ cmake . -B bin -DCMAKE_TOOLCHAIN_FILE=~/vcpkg/scripts/buildsystems/vcpkg.cmake - cmake --build bin --parallel ``` -!!!note "" +:::note "" Si vous manquer de RAM lorsque vous construisez, vous pouvez ignorer --parallel instruction, cela va utiliser moin s de RAM puisque la construction n'utilisera qu'un fil (thread) du CPU. -!!!note "" +:::note "" Si vous ne spécifiez pas `-DCMAKE_BUILD_TYPE=Release`, vous allez construire la version debug qui est plus volumineuse, mais ne contient pas le problème (bug): launcher-can-only-connect-to-a-server-once (Lanceur-peut-se-connecter-seulement-unefois-à-un-serveur) @@ -91,7 +91,7 @@ Avec le symlink configuré antre le lanceur compilé et les userfolders, vous po Notez que ceci assume que vous avez mis, les binairies du lanceur que vous avez compilé plus tôt, dans `/home/user/BeamMP/`, donc changez l'emplacement pour qu'il corresponde à où vous avez mis les binairies terminées et vous allez avoir besoin de recompiler le lanceur avec la bonne branche git à chaque fois qu'une nouvelle mise à jour sera disponible. -!!! tip "Ajoutez une police d'écriture pour les emojis pour avoir les emojis en jeu" +::: tip "Ajoutez une police d'écriture pour les emojis pour avoir les emojis en jeu" Pour avoir accès aux emojis soit dans la liste des serveurs (certains serveurs utilisent des emojis dans leur nom personalisé), soit dans le chat en jeu, vous avez besoin d'une police d'écriture qui contient certains emojis. diff --git a/docs/fr/guides/index.md b/docs/fr/guides/index.md index 9cf42f0a..82f5f052 100644 --- a/docs/fr/guides/index.md +++ b/docs/fr/guides/index.md @@ -4,7 +4,7 @@ description: Cet ensemble de pages fournit quelques guides de base pour BeamMP status: nouveau --- -!!! warning "Ce site est en construction !" +::: warning "Ce site est en construction !" Ce site est en cours de développement actif. diff --git a/docs/fr/index.md b/docs/fr/index.md index 9b1c7e78..a375fd42 100644 --- a/docs/fr/index.md +++ b/docs/fr/index.md @@ -1,22 +1,47 @@ --- -hide: - - navigation +layout: home + +hero: + name: Documentation BeamMP + text: Tout ce que vous devez savoir + tagline: Guides complets pour les joueurs, propriétaires de serveurs et développeurs + image: + src: /assets/core/beammp_dark.png + alt: BeamMP + actions: + - theme: brand + text: Commencer + link: /fr/game/getting-started + - theme: alt + text: View on GitHub + link: https://github.com/beammp/docs + +features: + - icon: 🎮 + title: Pour les Joueurs + details: Apprenez comment installer BeamMP, vous connecter aux serveurs et tirer le meilleur parti de votre expérience multijoueur + link: /fr/game/getting-started + - icon: 🖥️ + title: Pour les Propriétaires de Serveur + details: Configurez et gérez votre propre serveur BeamMP avec nos guides complets et ressources de dépannage + link: /fr/server/create-a-server + - icon: 💻 + title: Pour les Développeurs + details: Créez des mods, des ressources et des applications UI avec la documentation API détaillée et des exemples de code + link: /fr/guides/index + - icon: ❓ + title: FAQ + details: Trouvez des réponses rapides aux questions fréquemment posées sur la configuration, le dépannage et les meilleures pratiques + link: /fr/FAQ/player-faq + - icon: 📋 + title: Règles de la Communauté + details: Découvrez nos directives communautaires et comment signaler des problèmes ou contester des décisions + link: /fr/community/rules + - icon: 🔗 + title: Communauté + details: Rejoignez notre Discord, suivez-nous sur les réseaux sociaux et connectez-vous avec d'autres joueurs et développeurs BeamMP + link: /fr/community/index --- -!!! warning "Ce site est en construction !" - - Ce site est actuellement en cours de travail. - - Pensez-vous pouvoir nous aider ? N'hésitez pas à cliquer sur la page avec un crayon à droite! - - Cela peut également être fait sur n'importe quelle page. - -# Bienvenue sur BeamMP Docs ! :tada: - -Bienvenue sur le centre de documentation amélioré pour BeamMP ! Que vous soyez un joueur, un propriétaire de serveur ou un développeur, nous disposons des ressources nécessaires pour améliorer votre expérience multijoueur sur BeamNG.drive. - -## Pour les Joueurs - -Nouveau sur BeamMP ? Consultez notre [Guide de Démarrage](../game/getting-started.md) pour vous aider à commencer et profiter au maximum de vos aventures multijoueurs. ## Pour les Propriétaires de Serveur diff --git a/docs/fr/nav-translations.json b/docs/fr/nav-translations.json new file mode 100644 index 00000000..9bd07f2c --- /dev/null +++ b/docs/fr/nav-translations.json @@ -0,0 +1,57 @@ +{ + "Home": "Accueil", + "Support": "Support", + "Playing BeamMP": "Jouer à BeamMP", + "Installing BeamMP": "Installation de BeamMP", + "Error Codes": "Codes d'erreur", + "Multiplayer Settings": "Paramètres multijoueurs", + "Running a BeamMP-Server": "Exécution d'un serveur", + "Server Installation": "Installation du serveur", + "Port Forwarding": "Redirection de port", + "Server Maintenance": "Maintenance du serveur", + "Server Manual": "Manuel du serveur", + "Mod & Resource Creation": "Création de mods et de ressources", + "Client Side": "Côté client", + "Server Side": "Côté serveur", + "FAQ": "FAQ", + "How to check for CGNAT?": "Comment puis-je vérifier cgnat?", + "Where can I find my IP address?": "Où puis-je trouver mon adresse IP?", + "How to remove mods?": "Comment supprimer des mods ?", + "Manually updating the Launcher": "Mise à jour manuelle du lanceur", + "Changing the Launcher port": "Changer le port du lanceur", + "Creating Exclusions (Defender)": "Création d'exclusions (Defender)", + "Player FAQ": "FAQ du joueur", + "Game FAQ": "FAQ du jeu", + "Server FAQ": "FAQ du serveur", + "Development Guides": "Guides de développement", + "Development Environment Setup": "Configuration de l’environnement de développement", + "Mod Creation": "Création de mods", + "Resource Creation": "Création de ressources", + "Client Scripting Reference": "Référence de script client", + "Server Resources": "Ressources serveur", + "BeamNG Documentation": "Documentation BeamNG", + "Content Development": "Développement de contenu", + "Introduction": "Introduction", + "Programming": "Programmation", + "UI Apps (HTML)": "Applications UI (HTML)", + "ImGui Window Tutorial": "Tutoriel de fenêtre ImGui", + "Lua Mods (Scripts)": "Mods Lua (scripts)", + "Content": "Contenu", + "Maps": "Cartes", + "Props": "Objets", + "Vehicles": "Véhicules", + "Lua Code Snippets": "Extraits de code Lua", + "CSS Code Snippets": "Extraits de code CSS", + "ImGui Code Snippets": "Extraits de code ImGui", + "CEF Code Snippets": "Extraits de code CEF", + "Scripting Reference": "Référence de script", + "Mod (In-Game)": "Mod (en jeu)", + "Server": "Serveur", + "Version 3.X (Latest)": "Version 3.X (Dernière)", + "Version 2.X (Deprecated)": "Version 2.X (Obsolète)", + "Contributing": "Contribution", + "Getting Started": "Premiers pas", + "Community": "Communauté", + "General Information": "Informations générales", + "Rules": "Règles" +} \ No newline at end of file diff --git a/docs/fr/server/create-a-server.md b/docs/fr/server/create-a-server.md index e6cce3d4..1e471e50 100644 --- a/docs/fr/server/create-a-server.md +++ b/docs/fr/server/create-a-server.md @@ -26,7 +26,7 @@ La configuration comprend les étapes suivantes, vous devez toutes les suivre. ### **1. Redirection de port** -!!! info +::: info Si vous êtes sur un VPS (Virtual Private Server), un Rootserver, ou si vous prévoyez d'héberger ce serveur localement (avec des joueurs dans la même maison que vous), vous pouvez sauter cette étape. Cette étape est nécessaire si vous voulez que quelqu'un **en dehors** de votre foyer rejoigne votre serveur hébergé localement (en dehors de votre réseau local). @@ -70,7 +70,7 @@ Si vous rencontrez des problèmes, n'hésitez pas à les poser également sur no La clé d'authentification, souvent appelée « AuthKey », est nécessaire pour rendre un serveur **public** accessible à la liste des serveurs. Il est toutefois recommandé d'ajouter également la clé d'authentification aux serveurs privés. Le nombre de clés est limité. Une clé peut être utilisée sur un serveur à la fois ; vous ne pouvez donc pas démarrer deux serveurs simultanément avec la même clé. Vous pouvez obtenir davantage de clés en soutenant le projet. Consultez [cet article](https://docs.beammp.com/support/player-faq/) pour plus d'informations. -!!! warning +::: warning NE PARTAGEZ JAMAIS CETTE CLÉ ET NE LA MONTREZ À PERSONNE. TRAITEZ CECI COMME UN MOT DE PASSE. @@ -184,7 +184,7 @@ Donnez également un nom à votre serveur dans le champ `Name` . Vous pouvez le Si vous avez choisi un **port** différent de **30814** , assurez-vous de le remplacer ici sous `Port` . -!!! info +::: info Votre serveur n'apparaîtra **PAS** dans la liste des serveurs tant que le champ `Private = true` à comme option "True. _Si_ vous souhaitez qu'il apparaisse dans la liste, définissez-le sur **`Private = false`**. @@ -198,7 +198,7 @@ Redémarrez votre serveur et vérifiez s'il affiche d'autres messages `[ERROR]` L'installation des mods de véhicules et de cartes est différente, mais ils doivent tous deux être placés dans le dossier `Resources/Client` de votre serveur. Il vous suffit de glisser le mod souhaité dans ce dossier. -!!! warning +::: warning Si vous recevez un message « terminé » ou « démarrer » lorsque vous essayez de rejoindre votre serveur après avoir ajouté des mods, vous avez probablement ajouté un mod incompatible ou cassé à votre serveur. Des incompatibilités de mods peuvent également survenir entre deux ou plusieurs mods. Si vous avez installé des mods clients, consultez ce guide pour savoir comment les supprimer de votre jeu. @@ -259,11 +259,11 @@ Saisissez l'IPv4 publique et le port des serveurs ci-dessous, puis cliquez sur -!!! warning "Je souhaite utiliser un VPN tel que RadminVPN, Hamachi ou similaire." +::: warning "Je souhaite utiliser un VPN tel que RadminVPN, Hamachi ou similaire." BeamMP ne prend pas en charge ces VPN, car ils posent souvent problème. L'un de ces problèmes est le non-transfert du trafic UDP. Pour résoudre ce problème, consultez la section 1. -!!! question "Mais pourquoi cela a-t-il fonctionné dans le passé ?" +::: question "Mais pourquoi cela a-t-il fonctionné dans le passé ?" Cela est dû au fait que les développeurs de ces applications mettent à jour leurs logiciels et mettent en œuvre des modifications sur lesquelles BeamMP n'a aucun contrôle. Il appartient aux développeurs de ces applications de fournir un support pour des cas d'utilisation spécifiques comme un serveur BeamMP. diff --git a/docs/fr/server/error-codes.md b/docs/fr/server/error-codes.md index 546ae1ac..57d64cae 100644 --- a/docs/fr/server/error-codes.md +++ b/docs/fr/server/error-codes.md @@ -17,4 +17,4 @@ Code | Description | Solution possible 10064 | Hôte en panne | Erreur peu probable, mais cela signifie que l'hôte est en panne parce qu'il est arrêté ou que les ports ont été fermés. 10065 | Hôte non joignable | Pas d'Internet ou mauvaise redirection de port, veuillez vous référer aux [étapes de ce guide](create-a-server.md#1-port-forwarding) . -!!! note Pour tout autre code ne figurant pas dans cette liste, vous pouvez vous référer à [https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2](https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2) si vous savez un peu comment fonctionnent les réseaux / sockets. +::: note Pour tout autre code ne figurant pas dans cette liste, vous pouvez vous référer à [https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2](https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2) si vous savez un peu comment fonctionnent les réseaux / sockets. diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000..0eae8b8a --- /dev/null +++ b/docs/index.md @@ -0,0 +1,15 @@ +--- +layout: false +--- + + diff --git a/docs/it/beamng/dev/content/maps.md b/docs/it/beamng/dev/content/maps.md index a92596ac..a1071866 100644 --- a/docs/it/beamng/dev/content/maps.md +++ b/docs/it/beamng/dev/content/maps.md @@ -1,4 +1,4 @@ -!!! Attenzione "Questo sito è ancora in costruzione" +::: warning "Questo sito è ancora in costruzione" Questo sito è in fase di lavorazione. diff --git a/docs/it/beamng/dev/content/props.md b/docs/it/beamng/dev/content/props.md index 799297fb..54f52345 100644 --- a/docs/it/beamng/dev/content/props.md +++ b/docs/it/beamng/dev/content/props.md @@ -1,4 +1,4 @@ -!!! Attenzione "Questo sito è ancora in costruzione" +::: warning "Questo sito è ancora in costruzione" Questo sito è in fase di lavorazione. diff --git a/docs/it/beamng/dev/content/vehicles.md b/docs/it/beamng/dev/content/vehicles.md index b9773f16..7317ec3f 100644 --- a/docs/it/beamng/dev/content/vehicles.md +++ b/docs/it/beamng/dev/content/vehicles.md @@ -1,4 +1,4 @@ -!!! Attenzione "Questo sito è ancora in costruzione" +::: warning "Questo sito è ancora in costruzione" Questo sito è in fase di lavorazione. diff --git a/docs/it/beamng/dev/index.md b/docs/it/beamng/dev/index.md index a54b5630..9b0c0929 100644 --- a/docs/it/beamng/dev/index.md +++ b/docs/it/beamng/dev/index.md @@ -1,4 +1,4 @@ -!!! Attenzione "Questo sito è ancora in costruzione" +::: warning "Questo sito è ancora in costruzione" Questo sito è in fase di lavorazione. diff --git a/docs/it/beamng/snippets.md b/docs/it/beamng/snippets.md index 9848df09..d83a5e21 100644 --- a/docs/it/beamng/snippets.md +++ b/docs/it/beamng/snippets.md @@ -1,4 +1,4 @@ -!!! Attenzione "Questo sito è ancora in costruzione" +::: warning "Questo sito è ancora in costruzione" Questo sito è in fase di lavorazione. diff --git a/docs/it/community/index.md b/docs/it/community/index.md index a1ce84cb..ff212537 100644 --- a/docs/it/community/index.md +++ b/docs/it/community/index.md @@ -2,7 +2,7 @@ hide: - navigation --- -!!! Attenzione "Questo sito è ancora in costruzione" +::: warning "Questo sito è ancora in costruzione" Questo sito è in fase di lavorazione. diff --git a/docs/it/community/rules.md b/docs/it/community/rules.md index bc53b748..ebf66bc9 100644 --- a/docs/it/community/rules.md +++ b/docs/it/community/rules.md @@ -4,7 +4,7 @@ hide: --- # Regole della comunità di BeamMP -!!! info +::: info I moderatori non sono strettamente legati a queste regole e applicano queste ultime secondo loro discrezioni. In aggiunta a queste regole, si applicano anche le regole delle [community di Discord](https://discord.com/guidelines/) e i [Termini di Servizio](https://discord.com/terms/). ## Regole generali di BeamMP (applicate al Discord, forum e in gioco): @@ -43,5 +43,5 @@ hide: Tutti gli appelli sono investigati scrupolosamente, da almeno due (2) membri dello staff/moderatori che non erano coinvolti nel caso in questione. Il membro dello staff che ha emesso il ban potrà commentare, ma non potrà decidere il risultato dell'appello. Il risultato dell'appello al ban è definitivo e non può essere controbattuto. BeamMP si riserva il diritto di ammettere o meno i membri come ritiene opportuno in base alle [Linee guida della comunità BeamMP](https://forum.beammp.com/t/beammp-rules/282059), ai [ToS di Discord](https://discord.com/terms) e ad [altri fattori](https://forum.beammp.com/category/28/ban-appeal). -!!! warning +::: warning Nel caso il tuo account (Discord o BeamMP) sia stato bannato, non puoi crearne uno nuovo per aggirare il ban. \ No newline at end of file diff --git a/docs/it/guides/beammp-dev/beammp-dev.md b/docs/it/guides/beammp-dev/beammp-dev.md index e1aa0ede..201ea6c6 100644 --- a/docs/it/guides/beammp-dev/beammp-dev.md +++ b/docs/it/guides/beammp-dev/beammp-dev.md @@ -1,4 +1,4 @@ -!!! warning "Questo sito è in costruzione!" +::: warning "Questo sito è in costruzione!" Questo sito è attualmente in fase di lavorazione. diff --git a/docs/it/guides/index.md b/docs/it/guides/index.md index 594ad013..fdb325e2 100644 --- a/docs/it/guides/index.md +++ b/docs/it/guides/index.md @@ -3,7 +3,7 @@ title: Guides description: This set of pages provides some basic guides for BeamMP status: new --- -!!! Attenzione "Questo sito è ancora in costruzione" +::: warning "Questo sito è ancora in costruzione" Questo sito è in fase di lavorazione. diff --git a/docs/it/guides/mod-creation/server/getting-started.md b/docs/it/guides/mod-creation/server/getting-started.md index 4ff70076..5e4356d8 100644 --- a/docs/it/guides/mod-creation/server/getting-started.md +++ b/docs/it/guides/mod-creation/server/getting-started.md @@ -1,4 +1,4 @@ -!!! warning "Questo sito è in costruzione!" +::: warning "Questo sito è in costruzione!" Questo sito è attualmente in fase di lavorazione. diff --git a/docs/it/index.md b/docs/it/index.md index 18b5cc3a..c86d2ea4 100644 --- a/docs/it/index.md +++ b/docs/it/index.md @@ -1,22 +1,47 @@ --- -hide: - - navigation +layout: home + +hero: + name: Documentazione BeamMP + text: Tutto quello che devi sapere + tagline: Guide complete per giocatori, proprietari di server e sviluppatori + image: + src: /assets/core/beammp_dark.png + alt: BeamMP + actions: + - theme: brand + text: Inizia + link: /it/game/getting-started + - theme: alt + text: Visualizza su GitHub + link: https://github.com/beammp/docs + +features: + - icon: 🎮 + title: Per i Giocatori + details: Scopri come installare BeamMP, connettersi ai server e ottenere il massimo dalla tua esperienza multiplayer + link: /it/game/getting-started + - icon: 🖥️ + title: Per i Proprietari di Server + details: Configura e gestisci il tuo server BeamMP con le nostre guide complete e risorse di risoluzione dei problemi + link: /it/server/create-a-server + - icon: 💻 + title: Per gli Sviluppatori + details: Crea mod, risorse e app UI con documentazione API dettagliata ed esempi di codice + link: /it/guides/index + - icon: ❓ + title: Domande Frequenti + details: Trova risposte rapide alle domande più frequenti su configurazione, risoluzione dei problemi e best practice + link: /it/FAQ/player-faq + - icon: 📋 + title: Regole della Comunità + details: Scopri le nostre linee guida sulla comunità e come segnalare problemi o contestare decisioni + link: /it/community/rules + - icon: 🔗 + title: Comunità + details: Unisciti al nostro Discord, seguici sui social media e connettiti con altri giocatori e sviluppatori BeamMP + link: /it/community/index --- -!!! warning "Questo sito è in costruzione!" - - Questo sito è attualmente in fase di lavorazione. - - Pensate di poter aiutare? Per favore, fatelo cliccando sulla pagina con una matita a destra! - - Questo può essere fatto anche su qualsiasi altra pagina. - -# Benvenuti su BeamMP Docs! :tada: - -Benvenuti nel centro documentazione rinnovato per BeamMP! Che tu sia un giocatore, un proprietario di server o uno sviluppatore, abbiamo le risorse di cui hai bisogno per migliorare la tua esperienza multiplayer su BeamNG.drive. - -## Per i Giocatori - -Sei nuovo su BeamMP? Dai un'occhiata alla nostra [Guida Introduttiva](../game/getting-started.md) per aiutarti a iniziare e trarre il massimo dalle tue avventure multiplayer. Se hai delle domande guarda le [FAQ del giocatore](../support/player-faq.md). ## Per i Proprietari di Server diff --git a/docs/it/nav-translations.json b/docs/it/nav-translations.json new file mode 100644 index 00000000..5796b0f9 --- /dev/null +++ b/docs/it/nav-translations.json @@ -0,0 +1,57 @@ +{ + "Home": "Home", + "Support": "Supporto", + "Playing BeamMP": "Giocare a BeamMP", + "Installing BeamMP": "Installazione di BeamMP", + "Error Codes": "Codici di errore", + "Multiplayer Settings": "Impostazioni multigiocatore", + "Running a BeamMP-Server": "Eseguire un server", + "Server Installation": "Installazione del server", + "Port Forwarding": "Reindirizzamento delle porte", + "Server Maintenance": "Manutenzione del server", + "Server Manual": "Manuale del server", + "Mod & Resource Creation": "Creazione di Mod e Risorse", + "Client Side": "Lato client", + "Server Side": "Lato server", + "FAQ": "FAQ", + "How to check for CGNAT?": "Come verificare la presenza di CGNAT?", + "Where can I find my IP address?": "Dove posso trovare il mio indirizzo IP?", + "How to remove mods?": "Come si rimuovono le mod?", + "Manually updating the Launcher": "Aggiornamento manuale del Launcher", + "Changing the Launcher port": "Cambiare la porta del Launcher", + "Creating Exclusions (Defender)": "Creazione di esclusioni (Defender)", + "Player FAQ": "FAQ del giocatore", + "Game FAQ": "FAQ del gioco", + "Server FAQ": "FAQ del server", + "Development Guides": "Guide allo Sviluppo", + "Development Environment Setup": "Configurazione dell’ambiente di sviluppo", + "Mod Creation": "Creazione di Mod", + "Resource Creation": "Creazione di Risorse", + "Client Scripting Reference": "Riferimento allo scripting client", + "Server Resources": "Risorse del server", + "BeamNG Documentation": "Documentazione BeamNG", + "Content Development": "Sviluppo dei contenuti", + "Introduction": "Introduzione", + "Programming": "Programmazione", + "UI Apps (HTML)": "App UI (HTML)", + "ImGui Window Tutorial": "Tutorial finestra ImGui", + "Lua Mods (Scripts)": "Mod Lua (script)", + "Content": "Contenuti", + "Maps": "Mappe", + "Props": "Oggetti", + "Vehicles": "Veicoli", + "Lua Code Snippets": "Snippet di codice Lua", + "CSS Code Snippets": "Snippet di codice CSS", + "ImGui Code Snippets": "Snippet di codice ImGui", + "CEF Code Snippets": "Snippet di codice CEF", + "Scripting Reference": "Riferimento allo scripting", + "Mod (In-Game)": "Mod (In gioco)", + "Server": "Server", + "Version 3.X (Latest)": "Versione 3.X (Più recente)", + "Version 2.X (Deprecated)": "Versione 2.X (Deprecata)", + "Contributing": "Contribuire", + "Getting Started": "Primi passi", + "Community": "Comunità", + "General Information": "Informazioni generali", + "Rules": "Regole" +} \ No newline at end of file diff --git a/docs/it/scripting/mod-reference.md b/docs/it/scripting/mod-reference.md index 354999e4..85963cc9 100644 --- a/docs/it/scripting/mod-reference.md +++ b/docs/it/scripting/mod-reference.md @@ -1,4 +1,4 @@ -!!! warning "Questo sito è ancora in costruzione" +::: warning "Questo sito è ancora in costruzione" Questo sito è in fase di lavorazione. diff --git a/docs/it/server/create-a-server.md b/docs/it/server/create-a-server.md index 23227113..25bce16d 100644 --- a/docs/it/server/create-a-server.md +++ b/docs/it/server/create-a-server.md @@ -29,7 +29,7 @@ La configurazione consiste di pochi passi che sono obbligatori da seguire. Questo passo è necessario se vuoi che qualcuno all'esterno della tua casa ("all'esterno del tuo network locale o LAN") possa accedere al server. #### -!!! danger ":material-scale-balance: LIMITAZIONE DI RESPONSABILITA':" +::: danger ":material-scale-balance: LIMITAZIONE DI RESPONSABILITA':" **Port forward è rischioso** diff --git a/docs/it/server/error-codes.md b/docs/it/server/error-codes.md index 4b2141dc..b80cc565 100644 --- a/docs/it/server/error-codes.md +++ b/docs/it/server/error-codes.md @@ -17,6 +17,6 @@ Questa pagina contiene tutti i possibili errori del server. | 10064 | Host inattivo | Errore non comune, significa che l'host è inattivo perché è spento o perché ha le porte chiuse. | | 10065 | Host non raggiungibile | Nessuna connessione ad internet oppure port forward non corretto, guarda la [guida di installazione](create-a-server.md#1-port-forwarding). | -!!! note +::: note Altri codici non riportati in tabella sono disponibili qui se sai un po' come funzionano le reti e i socket. diff --git a/docs/navigation-structure-proposal.md b/docs/navigation-structure-proposal.md new file mode 100644 index 00000000..839e82f7 --- /dev/null +++ b/docs/navigation-structure-proposal.md @@ -0,0 +1,255 @@ +--- +title: Navigation Structure Proposal +description: Proposed information architecture and navigation for BeamMP Docs +status: draft +--- + +# BeamMP Docs Navigation Proposal + +## Goal +Make docs easier to navigate for first-time users while still supporting advanced/server/developer workflows. + +## Key Problems in Current Nav +- Audience types are mixed together (players, server owners, developers). +- BeamMP-specific docs and BeamNG/game docs are split in ways that are not obvious to new users. +- FAQ and troubleshooting content is scattered. +- Sidebar mirrors global nav, making in-section navigation noisy. + +## Proposed Top-Level Navigation +1. Get Started +2. Players +3. Server Owners +4. Developers +5. Game Documentation +6. Troubleshooting +7. Community + +## Full Proposed Navigation Tree (At a Glance) + +```text +Home +├─ Get Started +│ ├─ Install BeamMP +│ ├─ Join Your First Server +│ └─ First-Time Multiplayer Settings +├─ Players +│ ├─ Gameplay Basics +│ ├─ Multiplayer Settings +│ ├─ Player FAQ +│ └─ Mod Safety & Local Mod Management +├─ Server Owners +│ ├─ Host a Server +│ ├─ Port Forwarding +│ ├─ Check for CGNAT +│ ├─ Server Maintenance +│ ├─ Server FAQ +│ └─ Server Error Codes +├─ Developers (BeamMP) +│ ├─ Development Environment Setup +│ ├─ Mod & Resource Creation +│ └─ BeamMP Scripting Reference +│ ├─ Mod (In-Game) +│ └─ Server +│ ├─ v3 (Latest) +│ └─ v2 (Legacy) +├─ Game Documentation (BeamNG) +│ ├─ Content Development Introduction +│ ├─ Programming +│ │ ├─ UI Apps (HTML/CEF) +│ │ ├─ Lua +│ │ └─ ImGui +│ ├─ Content Creation +│ │ ├─ Maps +│ │ ├─ Props +│ │ └─ Vehicles +│ └─ Code Snippets +│ ├─ Lua +│ ├─ CSS +│ ├─ ImGui +│ └─ CEF +├─ Troubleshooting +│ ├─ Launcher Update Issues +│ ├─ Connection / Networking Issues +│ ├─ Error Codes (Game + Server) +│ └─ Defender / Firewall Exclusions +└─ Community + ├─ Community Info + ├─ Rules + └─ Contributing +``` + +## Proposed File & Folder Structure (Markdown) + +The navigation changes above can be supported by restructuring content into audience-first sections. + +### Canonical source structure (English) + +```text +docs/ +└─ en/ + ├─ index.md + ├─ get-started/ + │ ├─ index.md + │ ├─ install-beammp.md + │ ├─ join-first-server.md + │ └─ multiplayer-settings-quickstart.md + ├─ players/ + │ ├─ index.md + │ ├─ gameplay-basics.md + │ ├─ multiplayer-settings.md + │ ├─ faq.md + │ └─ mod-safety.md + ├─ server-owners/ + │ ├─ index.md + │ ├─ host-a-server.md + │ ├─ port-forwarding.md + │ ├─ cgnat.md + │ ├─ maintenance.md + │ ├─ faq.md + │ └─ error-codes.md + ├─ developers/ + │ ├─ index.md + │ ├─ dev-environment-setup.md + │ ├─ mod-and-resource-creation.md + │ └─ beammp-scripting/ + │ ├─ index.md + │ ├─ mod-in-game.md + │ └─ server/ + │ ├─ latest.md + │ └─ legacy-v2.md + ├─ game-documentation/ + │ ├─ index.md + │ ├─ content-development/ + │ │ ├─ index.md + │ │ ├─ maps.md + │ │ ├─ props.md + │ │ └─ vehicles.md + │ ├─ programming/ + │ │ ├─ ui-apps-html-cef.md + │ │ ├─ lua.md + │ │ └─ imgui.md + │ └─ snippets/ + │ ├─ lua-snippets.md + │ ├─ css-snippets.md + │ ├─ imgui-snippets.md + │ └─ cef-snippets.md + ├─ troubleshooting/ + │ ├─ index.md + │ ├─ launcher-update.md + │ ├─ connection-networking.md + │ ├─ defender-exclusions.md + │ └─ error-codes.md + └─ community/ + ├─ index.md + ├─ rules.md + └─ contributing.md +``` + +### Localized content structure + +Each locale mirrors the same section layout to keep URLs and nav predictable: + +```text +docs/ +├─ de/ +├─ es/ +├─ fr/ +├─ it/ +├─ ru/ +└─ zh/ + (same folder pattern as /en) +``` + +### Migration notes +- Start with nav/URL aliases first; avoid breaking links immediately. +- Move files incrementally by section (Get Started -> Players -> Server Owners -> etc.). +- Keep redirects for old paths during transition. +- Treat `/en` as canonical; localizations can follow as translated pages are ready. + +## Proposed Section Structure + +### 1) Get Started +- Install BeamMP +- Join your first server +- First-time multiplayer settings + +### 2) Players +- Gameplay basics +- Multiplayer settings +- Player FAQ +- Mod safety and local mod management + +### 3) Server Owners +- Create a server +- Port forwarding +- CGNAT +- Server maintenance +- Server FAQ +- Server error codes + +### 4) Developers (BeamMP-focused) +- Dev environment setup +- Mod & resource creation +- BeamMP scripting reference + - Mod (in-game) + - Server v3 (primary) + - Server v2 (legacy) + +### 5) Game Documentation (BeamNG-focused) +- Content development intro +- Programming + - UI apps (HTML/CEF) + - Lua + - ImGui +- Content creation + - Maps + - Props + - Vehicles +- Code snippets + - Lua + - CSS + - ImGui + - CEF + +### 6) Troubleshooting +- Launcher update issues +- Connection/network issues +- Error code hubs (game + server) +- Defender/firewall exclusions + +### 7) Community +- Community info +- Rules +- Contributing + +## Design Principles +- Audience-first labels over technical labels. +- Task-oriented wording (e.g., “Host a Server” instead of “Running a BeamMP-Server”). +- Keep BeamMP docs separate from BeamNG/game docs, but cross-link both directions. +- Keep legacy content available but visually de-emphasized. +- Section-specific sidebars instead of global sidebar duplication. + +## Suggested Naming Changes +- “Support” -> “Players” +- “Development Guides” -> “Developers” +- “BeamNG Documentation” -> “Game Documentation” +- “FAQ” -> split into section-owned FAQ + central Troubleshooting hub + +## Rollout Plan (Recommended) +1. Align on IA and labels (this proposal). +2. Update global nav only (no URL changes). +3. Introduce section-specific sidebars. +4. Add cross-links and “Start here” blocks on section index pages. +5. Optionally reorganize URLs later if needed. + +## Open Questions for Team +1. Should “Troubleshooting” be a top-level item or integrated into each audience section? +2. Should “Game Documentation” appear before “Developers” for visibility? +3. Do we keep one shared FAQ area, or split FAQ by audience entirely? +4. Should v2 server scripting be moved under an explicit “Legacy” section? + +## Success Criteria +- New users can find installation/joining content in <= 2 clicks. +- Server owners can find hosting/networking docs in <= 2 clicks. +- Developers can find BeamMP API docs and BeamNG docs without ambiguity. +- Lower bounce rate from index pages and fewer support questions for discoverability. diff --git a/docs/ru/FAQ/Defender-exclusions.md b/docs/ru/FAQ/Defender-exclusions.md index 77dc3825..330cb431 100644 --- a/docs/ru/FAQ/Defender-exclusions.md +++ b/docs/ru/FAQ/Defender-exclusions.md @@ -1,11 +1,11 @@ # Как создать исключения в брандмауэре и антивирусе Защитника Windows? -!!! информация +::: info ``` Перед изменением настроек брандмауэра убедитесь, что ваша сеть в параметрах Windows настроена как частная (при условии, что вы действительно находитесь в частной сети). -!!! danger ":material-scale-balance: DISCLAIMER:" +::: danger ":material-scale-balance: DISCLAIMER:" **Исключения в Firewall / Defender представляют собой риск**. diff --git a/docs/ru/FAQ/How-to-check-for-CGNAT.md b/docs/ru/FAQ/How-to-check-for-CGNAT.md index 0071408e..7977dad2 100644 --- a/docs/ru/FAQ/How-to-check-for-CGNAT.md +++ b/docs/ru/FAQ/How-to-check-for-CGNAT.md @@ -16,7 +16,7 @@ Откройте командную строку, запустите `tracert -4 beammp.com`. Это выведет серию сетевых переходов. Дождитесь завершения операции (может занять до 30 переходов). Проверьте первые несколько IP-адресов после IP вашего маршрутизатора/модема/шлюза. Если после первого перехода появляется несколько IP-адресов в диапазоне `100.64.xx` - `100.127.xx` или `10.xx.xx.xx`, скорее всего, вы находитесь за CGNAT. -!!!примечание +:::примечание ``` Первый переход будет вашим роутером/модемом/шлюзом и отличается в зависимости от устройства. @@ -32,7 +32,7 @@ Обратитесь за помощью к своему интернет-провайдеру. В зависимости от вашего интернет-провайдера, они могут не предлагать выделенные *динамические* IP-адреса. Помните, что статический IP-адрес не является обязательным. -!!! предупреждение +::: warning ``` Интернет-провайдеры могут предлагать выделенные IP-адреса только как платную услугу. diff --git a/docs/ru/FAQ/How-to-deactivate-mods.md b/docs/ru/FAQ/How-to-deactivate-mods.md index d7a708fd..351b7e44 100644 --- a/docs/ru/FAQ/How-to-deactivate-mods.md +++ b/docs/ru/FAQ/How-to-deactivate-mods.md @@ -2,12 +2,12 @@ В BeamMP сервер, к которому вы решили подключиться, предоставляет необходимые моды. Они загружаются и активируются автоматически при подключении. Наличие установленных и активных локальных модов часто приводит к тому, что BeamMP не работает должным образом, даже если у вас есть всего один дополнительный мод помимо BeamMP. -!!! предупреждение +::: warning ``` Удалите все моды, которые вы разместили в папке BeamNG.Drive\content\ или её подпапках. Это место не предназначено для установки модов и может вызвать проблемы, как указано в файле `DO_NOT_INSTALL_MODS_HERE.txt`, находящемся в той же директории. -!!! quote "DO_NOT_INSTALL_MODS_HERE.txt" +::: quote "DO_NOT_INSTALL_MODS_HERE.txt" Ни в коем случае не копируйте моды в эту папку: это может привести к повреждению модов, замедлению установки обновлений, неправильной работе менеджера модов, нарушению работы безопасного режима и другим проблемам. ``` @@ -34,7 +34,7 @@ Чтобы очистить кэшированные моды из каталогов BeamMP, перейдите в место установки вашего BeamMP-Launcher. По умолчанию путь будет C:\Users\AppData\BeamMP-Launcher. Там вы найдете папку 'Resources'. Удалите папку, чтобы удалить все кэшированные моды. Это может быть полезно, если вам нужно больше места на диске или вы хотите очистить устаревшие моды BeamNG. -!!! вопрос "Мои настройки и конфигурации пропали! Как их восстановить?" +::: question "Мои настройки и конфигурации пропали! Как их восстановить?" ``` Если вы переименовали папку пользователя, вы заставили игру создать новую, чистую папку пользователя. Вы можете скопировать папки "settings" и "vehicles" из папки, которую вы переименовали (например, `current_old`), в новую созданную папку. diff --git a/docs/ru/FAQ/Update-launcher.md b/docs/ru/FAQ/Update-launcher.md index 3a37e1a5..dcaef199 100644 --- a/docs/ru/FAQ/Update-launcher.md +++ b/docs/ru/FAQ/Update-launcher.md @@ -2,7 +2,7 @@ Launcher не может обновиться или показывает пустой экран? Это краткое руководство объясняет, как вручную обновить Launcher. -!!! примечание +::: note ``` Ты должен был уже установить или использовать BeamMP с помощью установщика, предоставленного на [нашем сайте](https://beammp.com), прежде чем продолжить. diff --git a/docs/ru/FAQ/march-28-outage.md b/docs/ru/FAQ/march-28-outage.md index 60802310..27f444ad 100644 --- a/docs/ru/FAQ/march-28-outage.md +++ b/docs/ru/FAQ/march-28-outage.md @@ -7,7 +7,7 @@ === Помогите! Мой лаунчер BeamMP не работает! Попробуйте переустановить лаунчер BeamMP. Для этого выполните следующие действия: 1. Перейдите на [сайт beammp.com](https://beammp.com/) 2. Нажмите *«Скачать сейчас»* 3. Запустите установщик и следуйте инструкциям ``` -!!! примечание +::: примечание По состоянию на 1 апреля 2026 года, согласно Windows Defender SmartScreen, установщик MSI является «неопознанным приложением». @@ -17,7 +17,7 @@ === Помогите! Мои ключи авторизации больше не работают! С 1 апреля 2026 года системы управления ключами и авторизации отключены. Это означает, что ваши ключи авторизации работать не будут. Чтобы обойти это, выполните следующие действия: 1. Откройте файл `ServerConfig.toml` или любой другой файл конфигурации вашего сервера. 2. Установите значение `Private` в `true` . Должно получиться примерно так: `Private = true` 3. Это должно решить проблему с ключами авторизации. ``` -!!! примечание +::: примечание С 1 апреля 2026 года системы аутентификации BeamMP отключены. Доступны только гостевые учетные записи. diff --git a/docs/ru/beamng/cef-snippets.md b/docs/ru/beamng/cef-snippets.md index 89d26b5e..026fb831 100644 --- a/docs/ru/beamng/cef-snippets.md +++ b/docs/ru/beamng/cef-snippets.md @@ -1,4 +1,4 @@ -!!! Внимание! "Сайт находится в стадии разработки!" +::: warning "Сайт находится в стадии разработки!" ``` Работа над этим сайтом активно ведётся. diff --git a/docs/ru/beamng/dev/content/maps.md b/docs/ru/beamng/dev/content/maps.md index 89f21a6e..2646d75f 100644 --- a/docs/ru/beamng/dev/content/maps.md +++ b/docs/ru/beamng/dev/content/maps.md @@ -1,4 +1,4 @@ -!!! внимание "Этот сайт находится в стадии разработки!" +::: warning "Этот сайт находится в стадии разработки!" ``` Над этим сайтом ведется активная работа. diff --git a/docs/ru/beamng/dev/content/props.md b/docs/ru/beamng/dev/content/props.md index 8e7d4816..d52383cb 100644 --- a/docs/ru/beamng/dev/content/props.md +++ b/docs/ru/beamng/dev/content/props.md @@ -1,4 +1,4 @@ -!!! внимание "Этот сайт находится в стадии разработки!" +::: warning "Этот сайт находится в стадии разработки!" ``` Над этим сайтом ведется активная работа. diff --git a/docs/ru/beamng/dev/content/vehicles.md b/docs/ru/beamng/dev/content/vehicles.md index e5eeac0f..6036f576 100644 --- a/docs/ru/beamng/dev/content/vehicles.md +++ b/docs/ru/beamng/dev/content/vehicles.md @@ -1,4 +1,4 @@ -!!! внимание "Этот сайт находится в стадии разработки!" +::: warning "Этот сайт находится в стадии разработки!" ``` Над этим сайтом ведется активная работа. diff --git a/docs/ru/beamng/dev/index.md b/docs/ru/beamng/dev/index.md index e19e72af..fcce7435 100644 --- a/docs/ru/beamng/dev/index.md +++ b/docs/ru/beamng/dev/index.md @@ -1,4 +1,4 @@ -!!! внимание "Этот сайт находится в стадии разработки!" +::: warning "Этот сайт находится в стадии разработки!" ``` Над этим сайтом ведется активная работа. diff --git a/docs/ru/community/index.md b/docs/ru/community/index.md index 4c782d74..5c2b0738 100644 --- a/docs/ru/community/index.md +++ b/docs/ru/community/index.md @@ -9,37 +9,37 @@ hide: ## Наши страницы в социальных сетях -!!!сбой "" +:::сбой "" ``` BeamMP Форум - [https://forum.beammp.com](https://forum.beammp.com) ``` -!!!цитата "" +:::цитата "" ``` X (Twitter) - [https://x.com/BeamMPOfficial](https://x.com/BeamMPOfficial) ``` -!!!опасность "" +:::опасность "" ``` YouTube - [https://www.youtube.com/@BeamMPOfficial](https://www.youtube.com/@BeamMPOfficial) ``` -!!!внимание "" +:::внимание "" ``` Patreon - [https://www.patreon.com/c/BeamMP](https://www.patreon.com/c/BeamMP) ``` -!!!примечание "" +:::примечание "" ``` Discord - [https://discord.com/invite/beammp](https://discord.com/invite/beammp) ``` -!!!информация "" +:::информация "" ``` BlueSky - [https://bsky.app/profile/beammpofficial.bsky.social](https://bsky.app/profile/beammpofficial.bsky.social) diff --git a/docs/ru/community/rules.md b/docs/ru/community/rules.md index c60c1b6c..f6bf16df 100644 --- a/docs/ru/community/rules.md +++ b/docs/ru/community/rules.md @@ -5,7 +5,7 @@ hide: # Правила сообщества BeamMP -!!! info BeamMP Персонал не обязан строго модерировать эти правила и может действовать по своему усмотрению. В дополнение к этим правилам применяются и соблюдаются [Правила Сообщества](https://discord.com/guidelines/) и [Условия Обслуживания](https://discord.com/terms/) Discord. +::: info BeamMP Персонал не обязан строго модерировать эти правила и может действовать по своему усмотрению. В дополнение к этим правилам применяются и соблюдаются [Правила Сообщества](https://discord.com/guidelines/) и [Условия Обслуживания](https://discord.com/terms/) Discord. ## Общие Правила BeamMP (Применяются к Discord, Форуму и Игре) @@ -50,4 +50,4 @@ hide: Все апелляции на бан тщательно расследуются с участием как минимум двух (2) членов команды персонала/модераторов, которые не были вовлечены в рассматриваемое дело. Выдавший апелляцию сотрудник будет иметь право комментировать, но не будет иным образом участвовать в принятии решения по апелляции. Эти результаты апелляции являются окончательными. BeamMP оставляет за собой право разрешать или не разрешать членам, как они сочтут нужным, в соответствии с Правилами Сообщества BeamMP (см. выше), [Discord ToS](https://discord.com/terms) и другими факторами. -!!! warning В случае принятия мер против вас запрещено создавать новую учётную запись Discord или BeamMP для обхода бана. +::: warning В случае принятия мер против вас запрещено создавать новую учётную запись Discord или BeamMP для обхода бана. diff --git a/docs/ru/game/getting-started.md b/docs/ru/game/getting-started.md index 591a63cd..d17546f6 100644 --- a/docs/ru/game/getting-started.md +++ b/docs/ru/game/getting-started.md @@ -4,7 +4,7 @@ BeamMP полностью совместим с Windows и Linux, совместимость с MacOS находится в разработке. Однако Linux и MacOS являются вторичными платформами, поэтому следует ожидать ошибок. -!!!предупреждение +:::предупреждение ``` BeamMP не будет работать с пиратскими или устаревшими версиями BeamNG.drive. @@ -17,7 +17,7 @@ BeamMP не будет работать с пиратскими или уста ### **2а. Установка Windows** -!!!примечание +:::примечание ``` По состоянию на 1 апреля 2026 года, согласно Windows Defender SmartScreen, установщик MSI является «неопознанным приложением». @@ -29,7 +29,7 @@ BeamMP не будет работать с пиратскими или уста 2. Запустите установщик `BeamMP_Installer.msi` и следуйте инструкциям. 3. Значок BeamMP Launcher должен появиться на рабочем столе. Если нет, просто введите «BeamMP» в строку поиска Windows. -!!!примечание +:::примечание ``` Поскольку при загрузке на карту с множеством созданных транспортных средств подключение может занять больше времени, чем ожидалось. @@ -88,19 +88,19 @@ cmake . -B bin -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cma cmake --build bin --parallel ``` -!!!примечание "" +:::примечание "" ``` Если во время сборки не хватит оперативной памяти, можно исключить параметр --parallel — в этом случае сборка будет выполняться только в одном потоке процессора, что позволит сократить объем используемой оперативной памяти. ``` -!!!примечание "" +:::примечание "" ``` Не указывая `-DCMAKE_BUILD_TYPE=Release`, вы создаете отладочную версию, которая больше по размеру файла, но не содержит ошибки, из-за которой программа запуска может подключиться к серверу только один раз. ``` -!!!примечание "Пользователи Fedora" Если vcpkg выдаёт ошибку при компиляции OpenSSL из-за заголовков ядра, убедитесь, что все зависимости установлены: `bash sudo dnf install kernel-headers kernel-devel gcc gcc-c++ make perl` Затем очистите кэш vcpkg: `bash rm -rf $VCPKG_ROOT/buildtrees/openssl` И повторите команду конфигурации cmake. +:::примечание "Пользователи Fedora" Если vcpkg выдаёт ошибку при компиляции OpenSSL из-за заголовков ядра, убедитесь, что все зависимости установлены: `bash sudo dnf install kernel-headers kernel-devel gcc gcc-c++ make perl` Затем очистите кэш vcpkg: `bash rm -rf $VCPKG_ROOT/buildtrees/openssl` И повторите команду конфигурации cmake. Переместите готовое приложение из папки `/bin` в отдельную папку и запустите его оттуда: @@ -133,7 +133,7 @@ cd ~/beammp-launcher Обратите внимание, что это предполагает, что вы поместили скомпилированный ранее двоичный файл лаунчера в `/home/user/BeamMP/`, поэтому измените его так, чтобы он соответствовал месту, куда вы поместили готовый двоичный файл, и вам придется перекомпилировать лаунчер с правильной веткой git каждый раз при выпуске обновления лаунчера. -!!! совет "Добавление шрифта эмодзи для получения эмодзи в тексте" +::: tip "Добавление шрифта эмодзи для получения эмодзи в тексте" ``` Для того чтобы эмодзи отображались в списке серверов (как часть пользовательского имени сервера) или во внутриигровом чате, вам нужен шрифт, содержащий эмодзи. diff --git a/docs/ru/game/multiplayer-settings.md b/docs/ru/game/multiplayer-settings.md index 56b8aac6..0f116b5f 100644 --- a/docs/ru/game/multiplayer-settings.md +++ b/docs/ru/game/multiplayer-settings.md @@ -25,7 +25,7 @@ Если выключено, нестабильности будут вызывать паузу -!!! note "" +::: note "" Рекомендуется оставить выключенным, так как повторяющиеся нестабильности могут привести к крашу игры ``` @@ -45,7 +45,7 @@ Если выключено, чат отображается в стандартном UI приложении -!!! note "" +::: note "" Перетаскивание IMGUI окон может снизить производительность и сбивать программы записи экрана, записывая окно чата вместо основного окна игры ``` @@ -97,7 +97,7 @@ Если выключено, другие машины будут полностью видимы независимо от расстояния -!!! note "" +::: note "" Это влияет только на видимую 3D-модель машины, а не на физическую mesh-сетку. Чтобы также отключить физику, необходимо включить `Упрощённая физика столкновений` в настройках игры ``` @@ -245,13 +245,13 @@ ??? setting "Дистанция исчезновения ников/Инвертировать направление исчезновения" ``` -!!! setting "Исчезновение" +::: info "Исчезновение" Ники становятся менее видимыми, чем дальше находится игрок `Дистанция исчезновения ников` определяет расстояние, на котором ник отображается с минимальной непрозрачностью -!!! setting "Появление" +::: info "Появление" Ники становятся более видимыми, чем дальше находится игрок @@ -299,7 +299,7 @@ Если выключено, активность сети не будет отображаться -!!! danger "" +::: danger "" Будьте осторожны с этой настройкой, так как весь вывод консоли также записывается в лог-файлы @@ -315,7 +315,7 @@ Не забудьте также изменить его в конфигурации лаунчера `launcher.cfg` -!!! tip "" +::: tip "" Указанный порт — первый из двух. Второй порт используется сразу после него, то есть порт + 1 diff --git a/docs/ru/guides/index.md b/docs/ru/guides/index.md index 4a75a0ec..a89f59ed 100644 --- a/docs/ru/guides/index.md +++ b/docs/ru/guides/index.md @@ -4,7 +4,7 @@ description: Этот набор страниц содержит некотор status: новый --- -!!! внимание "Этот сайт находится в стадии разработки!" +::: warning "Этот сайт находится в стадии разработки!" ``` Над этим сайтом ведется активная работа. diff --git a/docs/ru/guides/mod-creation/server/getting-started.md b/docs/ru/guides/mod-creation/server/getting-started.md index 1d17e04b..72ea91f3 100644 --- a/docs/ru/guides/mod-creation/server/getting-started.md +++ b/docs/ru/guides/mod-creation/server/getting-started.md @@ -27,7 +27,7 @@ Resources/ Папка Client содержит zip-файлы, которые отправляются клиенту, который затем загружает их как мод. Любые другие файлы в папке Client вызовут ошибку при запуске сервера, но за исключением этого будут игнорироваться сервером. ModScript.lua будет прочитан BeamNG и укажет игре, какой плагин загружать. -!!!example "" [Загрузите examplePlugin.zip](../../../../assets/content/ResourcesForExamplePlugin.zip) +:::example "" [Загрузите examplePlugin.zip](../../../../assets/content/ResourcesForExamplePlugin.zip) ## Серверный lua diff --git a/docs/ru/index.md b/docs/ru/index.md index 29abcbb8..13b4b4f6 100644 --- a/docs/ru/index.md +++ b/docs/ru/index.md @@ -1,24 +1,48 @@ --- -hide: - - навигация +layout: home + +hero: + name: Документация BeamMP + text: Всё, что вам нужно знать + tagline: Полные руководства для игроков, владельцев серверов и разработчиков + image: + src: /assets/core/beammp_dark.png + alt: BeamMP + actions: + - theme: brand + text: Начало работы + link: /ru/game/getting-started + - theme: alt + text: Посмотреть на GitHub + link: https://github.com/beammp/docs + +features: + - icon: 🎮 + title: Для Игроков + details: Узнайте, как установить BeamMP, подключиться к серверам и получить максимум от вашего многопользовательского опыта + link: /ru/game/getting-started + - icon: 🖥️ + title: Для Владельцев Серверов + details: Установите и управляйте своим собственным сервером BeamMP с помощью наших полных руководств и ресурсов по устранению неполадок + link: /ru/server/create-a-server + - icon: 💻 + title: Для Разработчиков + details: Создавайте моды, ресурсы и UI-приложения с подробной документацией API и примерами кода + link: /ru/guides/index + - icon: ❓ + title: Часто Задаваемые Вопросы + details: Найдите быстрые ответы на часто задаваемые вопросы о настройке, устранении неполадок и лучших практиках + link: /ru/FAQ/player-faq + - icon: 📋 + title: Правила Сообщества + details: Узнайте о наших рекомендациях сообщества и как сообщать о проблемах или оспаривать решения + link: /ru/community/rules + - icon: 🔗 + title: Сообщество + details: Присоединитесь к нашему Discord, следите за нами в социальных сетях и общайтесь с другими игроками и разработчиками BeamMP + link: /ru/community/index --- -!!! внимание "Этот сайт находится в стадии разработки!" - -``` -Над этим сайтом ведется активная работа. - -Чувствуете, что можете помочь? Пожалуйста, сделайте это, нажав на страницу с карандашом справа! - -Это можно сделать на любой странице. -``` - -# Добро пожаловать в BeamMP Docs! :tada: - -Добро пожаловать в новый и улучшенный центр документации для BeamMP! Независимо от того, являетесь ли вы игроком, владельцем сервера или разработчиком, у нас есть ресурсы, необходимые для улучшения вашего опыта многопользовательской игры BeamNG.drive. - -## Для игроков - Впервые в BeamMP? Ознакомьтесь с нашей страницей [Начало работы](../game/getting-started.md), которая поможет вам быстро начать и получить максимум от игры по сети. По общим вопросам и проблемам, пожалуйста, ознакомьтесь с [Часто задаваемыми вопросами игроков](../FAQ/player-faq.md). ## Для владельцев серверов diff --git a/docs/ru/nav-translations.json b/docs/ru/nav-translations.json new file mode 100644 index 00000000..79ff32e6 --- /dev/null +++ b/docs/ru/nav-translations.json @@ -0,0 +1,57 @@ +{ + "Home": "Главная", + "Support": "Поддержка", + "Playing BeamMP": "Игра в BeamMP", + "Installing BeamMP": "Установка BeamMP", + "Error Codes": "коды ошибок", + "Multiplayer Settings": "Настройки мультиплеера", + "Running a BeamMP-Server": "Запуск сервера", + "Server Installation": "Установка сервера", + "Port Forwarding": "Переадресация портов", + "Server Maintenance": "Обслуживание сервера", + "Server Manual": "Руководство по серверу", + "Mod & Resource Creation": "Создание модов и ресурсов", + "Client Side": "Сторона клиента", + "Server Side": "Сторона сервера", + "FAQ": "FAQ", + "How to check for CGNAT?": "Как проверить наличие CGNAT?", + "Where can I find my IP address?": "Где я могу найти свой IP-адрес?", + "How to remove mods?": "Как удалить моды?", + "Manually updating the Launcher": "Обновление лаунчера вручную", + "Changing the Launcher port": "Изменение порта лаунчера", + "Creating Exclusions (Defender)": "Создание исключений (Defender)", + "Player FAQ": "Игроки ЧаВо", + "Game FAQ": "Часто задаваемые вопросы об игре", + "Server FAQ": "Часто задаваемые вопросы о сервере", + "Development Guides": "Руководства по разработке", + "Development Environment Setup": "Настройка среды разработки", + "Mod Creation": "Создание модов", + "Resource Creation": "Создание ресурсов", + "Client Scripting Reference": "Справочник по скриптингу клиента", + "Server Resources": "Ресурсы сервера", + "BeamNG Documentation": "Документация BeamNG", + "Content Development": "Разработка контента", + "Introduction": "Введение", + "Programming": "Программирование", + "UI Apps (HTML)": "UI-приложения (HTML)", + "ImGui Window Tutorial": "Руководство по окну ImGui", + "Lua Mods (Scripts)": "Lua-моды (скрипты)", + "Content": "Контент", + "Maps": "Карты", + "Props": "Объекты", + "Vehicles": "Транспорт", + "Lua Code Snippets": "Фрагменты кода Lua", + "CSS Code Snippets": "Фрагменты кода CSS", + "ImGui Code Snippets": "Фрагменты кода ImGui", + "CEF Code Snippets": "Фрагменты кода CEF", + "Scripting Reference": "Справочник по скриптингу", + "Mod (In-Game)": "Мод (в игре)", + "Server": "Сервер", + "Version 3.X (Latest)": "Версия 3.X (Последняя)", + "Version 2.X (Deprecated)": "Версия 2.X (Устаревшая)", + "Contributing": "Участие", + "Getting Started": "Начало работы", + "Community": "Сообщество", + "General Information": "Общая информация", + "Rules": "Правила" +} \ No newline at end of file diff --git a/docs/ru/scripting/mod-reference.md b/docs/ru/scripting/mod-reference.md index 63a7ddbd..5d22f3eb 100644 --- a/docs/ru/scripting/mod-reference.md +++ b/docs/ru/scripting/mod-reference.md @@ -1,4 +1,4 @@ -!!! предупреждение "Этот сайт находится в стадии разработки!" +::: warning "Этот сайт находится в стадии разработки!" ``` This site is being actively worked on. diff --git a/docs/ru/scripting/server/latest-server-reference.md b/docs/ru/scripting/server/latest-server-reference.md index 970908ce..fa4dcb3c 100644 --- a/docs/ru/scripting/server/latest-server-reference.md +++ b/docs/ru/scripting/server/latest-server-reference.md @@ -1,4 +1,4 @@ -!!! предупреждение "Этот сайт находится в стадии разработки!" +::: warning "Этот сайт находится в стадии разработки!" ``` Над этим сайтом ведется активная работа. diff --git a/docs/ru/scripting/server/v2-server-reference.md b/docs/ru/scripting/server/v2-server-reference.md index a6f103be..371fd03c 100644 --- a/docs/ru/scripting/server/v2-server-reference.md +++ b/docs/ru/scripting/server/v2-server-reference.md @@ -1,4 +1,4 @@ -!!! предупреждение "Этот сайт находится в стадии разработки!" +::: warning "Этот сайт находится в стадии разработки!" ``` This site is being actively worked on. @@ -12,7 +12,7 @@ This can be done any page too. ## Версия сервера 2.X -!!! предупреждение +::: предупреждение ``` BeamMP server version 2.X is now unsupported. This documentation is provided as a reference only. diff --git a/docs/ru/server/create-a-server.md b/docs/ru/server/create-a-server.md index e03d21dd..dec41d45 100644 --- a/docs/ru/server/create-a-server.md +++ b/docs/ru/server/create-a-server.md @@ -26,13 +26,13 @@ ### **1. Переадресация портов** -!!! информация +::: информация ``` Если вы используете VPS (виртуальный частный сервер), корневой сервер или планируете разместить этот сервер локально (с игроками в одном доме с вами), вы можете пропустить этот шаг. Этот шаг необходим, если вы хотите, чтобы кто-то **вне** вашего домохозяйства присоединился к вашему домашнему серверу (за пределами вашей локальной сети). -!!! опасность ":material-scale-balance: ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ:" +::: danger ":material-scale-balance: ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ:" **Переадресация портов — это риск**. @@ -74,12 +74,14 @@ «Ключ аутентификации», часто называемый «AuthKey», необходим для того, чтобы сделать **общедоступный** сервер доступным для списка серверов. Хотя рекомендуется добавлять authkey и к частным серверам. У вас есть ограниченное количество ключей. Один ключ может использоваться на одном сервере одновременно, поэтому вы не можете запустить два сервера одновременно с одним и тем же ключом. Дополнительные ключи можно получить, поддержав проект. Прочитайте [эту статью](https://docs.beammp.com/support/player-faq/) для получения дополнительной информации. -!!! предупреждение +::: warning ``` НИКОГДА НЕ ДЕЛИТЕСЬ ЭТИМ КЛЮЧОМ И НЕ ПОКАЗЫВАЙТЕ ЕГО НИКОМУ. ОТНОСИТЕСЬ К НЕМУ КАК К ПАРОЛЮ. ``` +::: + Для этого шага вам понадобится учетная запись [Discord](https://discord.com). Это необходимо для предотвращения спама. #### 2.1. Доступ к странице ключей @@ -187,7 +189,7 @@ Description = "Total Random Beam MP Server" ResourceFolder = "Resources" ``` -!!! информация +::: информация ``` Это ваш файл конфигурации. Он использует формат TOML. Дополнительную информацию об этом файле и переменных см. в разделе [Обслуживание сервера](server-maintenance.md). @@ -216,7 +218,7 @@ AuthKey = '3173a2e-6az0-4542-a3p0-ddqq5ff95558' Моды транспортных средств и моды карт устанавливаются по-разному, но оба требуют, чтобы вы поместили их в папку вашего сервера (`Resources/Client`). Просто перетащите любой мод, который вы хотите добавить, в эту папку. -!!! предупреждение +::: предупреждение ``` Если вы получили сообщение «Готово» или «Начало» при попытке присоединиться к серверу после добавления модов, скорее всего, вы добавили на сервер несовместимый или сломанный мод. @@ -279,12 +281,12 @@ Map = '/levels/myawesomedriftmap2021/info.json' -!!! предупреждение «Я хочу использовать VPN, например RadminVPN, Hamachi или аналогичный». +::: warning "Я хочу использовать VPN, например RadminVPN, Hamachi или аналогичный." ``` BeamMP не поддерживает эти VPN, так как они часто вызывают проблемы. Одна из этих проблем — непереадресация трафика UDP. Чтобы решить эту проблему, обратитесь к разделу 1. -!!! вопрос «Но почему это работало в прошлом?» +::: question "Но почему это работало в прошлом?" Это происходит из-за того, что разработчики этих приложений обновляют свое программное обеспечение и вносят изменения, которые BeamMP не контролирует. Разработчики этих приложений должны обеспечить поддержку конкретных вариантов использования, таких как BeamMP-Server. diff --git a/docs/ru/server/error-codes.md b/docs/ru/server/error-codes.md index 6150e8f9..fc10b99e 100644 --- a/docs/ru/server/error-codes.md +++ b/docs/ru/server/error-codes.md @@ -17,4 +17,6 @@ 10064 | Хост недоступен | Маловероятная ошибка, но она означает, что хост вышел из строя из-за его отключения или закрытия портов. 10065 | Хост недостижим | Нет интернета или плохая переадресация портов, пожалуйста, следуйте [инструкциям руководства](create-a-server.md#1-port-forwarding) . -!!! Примечание. Если вы немного знаете, как работают сети/сокеты, для любого другого кода, не указанного в этом списке, вы можете обратиться к [https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2](https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2) . +::: note + +Если вы немного знаете, как работают сети / сокеты, для любого другого кода, не указанного в этом списке, вы можете обратиться к [https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2](https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2) . diff --git a/docs/ru/server/port-forwarding.md b/docs/ru/server/port-forwarding.md index ff17fb36..d4712e94 100644 --- a/docs/ru/server/port-forwarding.md +++ b/docs/ru/server/port-forwarding.md @@ -1,6 +1,6 @@ # Переадресация Портов -!!! опасность ":material-scale-balance: ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ:" +::: danger ":material-scale-balance: ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ:" ``` **Переадресация портов — это риск**. @@ -12,7 +12,7 @@ **Если вы не понимаете это руководство, рассмотрите возможность обращения к одному из наших партнеров.** ``` -!!! предупреждение +::: warning ``` Пожалуйста, убедитесь, что ваш маршрутизатор не является устройством исключительно 4G/5G. Если это гибридное устройство, обязательно выберите адаптер с кабельным подключением далее в разделе 3 этого руководства! @@ -106,7 +106,11 @@ ipconfig /all Маска подсети (скорее всего 255.255.255.0) Основной шлюз (скорее всего 192.168.0.1 или 192.168.1.1) -!!! info "Обратите внимание" BeamMP в настоящее время не поддерживает IPv6 для хостинга сервера. +::: info "Обратите внимание" + +BeamMP в настоящее время не поддерживает IPv6 для хостинга сервера. + +::: #### 1.2.Изменение настроек адаптера @@ -187,7 +191,11 @@ ipconfig /all Для BeamMP требуются как UDP-, так и TCP-порт 30814 (если вы не изменили это в [ServerConfig.toml](create-a-server.md#4-configuration) ). -!!! info "Примечание" Хотя **порт** по умолчанию - **30814** , вы можете выбрать любой другой номер больше 1024, но меньше 65535, но вам нужно записать, что вы выбрали, если это не 30814. Вам нужно перенаправить как **TCP** , так и **UDP** . Рекомендуется придерживаться порта по умолчанию, так как он вряд ли будет использоваться другой службой на вашем ПК. Однако, если вы размещаете несколько серверов на одной машине, каждому серверу нужен свой порт. Например, сервер 1: 30814, сервер 2: 30815. +::: info "Примечание" + +Хотя **порт** по умолчанию - **30814** , вы можете выбрать любой другой номер больше 1024, но меньше 65535, но вам нужно записать, что вы выбрали, если это не 30814. Вам нужно перенаправить как **TCP** , так и **UDP** . Рекомендуется придерживаться порта по умолчанию, так как он вряд ли будет использоваться другой службой на вашем ПК. Однако, если вы размещаете несколько серверов на одной машине, каждому серверу нужен свой порт. Например, сервер 1: 30814, сервер 2: 30815. + +::: На некоторых маршрутизаторах вам может потребоваться создать два правила: одно для UDP и одно для TCP, в то время как другие удобны и позволяют сделать и то, и другое с помощью одного правила! @@ -211,7 +219,7 @@ ipconfig /all Перейдите по следующей ссылке и замените «IP» на ваш реальный адрес IPv4, а «Port» на порт вашего сервера. Не оставляйте пробелов. https://check.beammp.com/api/v2/beammp/ip/port -!!! успех "статус:ok" +::: success "статус:ok" ``` Если вы получили результат, аналогичный приведенному выше, то теперь вы можете присоединиться к своему серверу! @@ -219,7 +227,7 @@ ipconfig /all Поскольку вы размещаете сервер локально, используйте 127.0.0.1 (localhost), если сервер работает на том же компьютере, что и вы, или LAN IPv4 локальной машины, на которой работает сервер. ``` -!!! сбой "статус:ошибка" +::: failure "статус:ошибка" ``` Если соединение полностью отсутствует, ваш интернет-провайдер может использовать CGNAT (трансляцию сетевых адресов операторского класса). Для получения более подробной информации, пожалуйста, проверьте [Как проверить наличие CGNAT?](../FAQ/How-to-check-for-CGNAT.md), diff --git a/docs/zh/FAQ/Clearing-mods.md b/docs/zh/FAQ/Clearing-mods.md index 74378f70..c4e5a357 100644 --- a/docs/zh/FAQ/Clearing-mods.md +++ b/docs/zh/FAQ/Clearing-mods.md @@ -2,7 +2,7 @@ 在BeamMP中,您决定连接的服务器提供了必要的模块。这些会在连接时被下载并自动启用。安装本地模组并启用通常会导致BeamMP不能正常工作,即使您除了BeamMP之外只有一个额外的模组。 -!!! 警告 +::: warning ``` 移除你安装在BeamNG.Drive\content\或子文件夹的任何模组。这个位置不是用来安装mod的,可能会导致位于同一目录下的“DO_NOT_INSTALL_MODS_HERE.txt”文件中所述的问题。 @@ -34,7 +34,7 @@ 要从BeamMP目录中清除缓存的模组,请转到BeamMP- launcher的安装位置。默认情况下,路径为“C:\Users\AppData\BeamMP-Launcher”。在那里,你会发现一个“Resources”文件夹。删除这个文件夹来删除所有缓存的mod。如果您需要更多磁盘空间或想要删除过时的BeamNG模组,这将非常有用。 -!!! 问题 "我的设置和配置文件都不见了! 我怎样才能恢复呢?" +::: question "我的设置和配置文件都不见了! 我怎样才能恢复呢?" ``` 如果你重命名了用户文件夹,你就会让游戏创建一个新的、干净的用户文件夹。你可以从你重命名的文件夹中复制“settings”和“vehicles”文件夹。‘ current_old ’)到它创建的新文件夹。 diff --git a/docs/zh/FAQ/Defender-exclusions.md b/docs/zh/FAQ/Defender-exclusions.md index b1979c8a..cb86aa50 100644 --- a/docs/zh/FAQ/Defender-exclusions.md +++ b/docs/zh/FAQ/Defender-exclusions.md @@ -1,6 +1,6 @@ # 如何在Windows Defender防火墙和防病毒软件中创建白名单? -!!! info +::: info ``` 在修改防火墙之前,请确保将windows网络设置中的网络设置为专用(假设您在私有网络中)。 diff --git a/docs/zh/FAQ/How-to-check-for-CGNAT.md b/docs/zh/FAQ/How-to-check-for-CGNAT.md index ff3fb171..f1a2a9f1 100644 --- a/docs/zh/FAQ/How-to-check-for-CGNAT.md +++ b/docs/zh/FAQ/How-to-check-for-CGNAT.md @@ -16,7 +16,7 @@ 打开命令提示符,运行`tracert -4 beammp.com`。这将输出一系列网络跳数。等待操作完成(可能需要30跳)。检查路由器/调制解调器/网关IP后的前几个IP地址。如果有多个IP地址在`100.64.x.x`—`100.127.x。X `或`10.xx.xx。xx`出现在第一跳之后,您很可能在CGNAT后面。 -!!! 注意 +::: note ``` 第一跳将是你的路由器/调制解调器/网关,不同的设备不同。 @@ -31,7 +31,7 @@ 请致电互联网服务提供商寻求帮助。根据您的ISP,他们可能不提供专用的*动态* IP地址。请记住,静态IP不是必需的。 -!!! 警告 +::: warning ``` 互联网服务提供商可能只提供专用IP地址作为**付费选项**。 diff --git a/docs/zh/FAQ/How-to-deactivate-mods.md b/docs/zh/FAQ/How-to-deactivate-mods.md index 74378f70..c4e5a357 100644 --- a/docs/zh/FAQ/How-to-deactivate-mods.md +++ b/docs/zh/FAQ/How-to-deactivate-mods.md @@ -2,7 +2,7 @@ 在BeamMP中,您决定连接的服务器提供了必要的模块。这些会在连接时被下载并自动启用。安装本地模组并启用通常会导致BeamMP不能正常工作,即使您除了BeamMP之外只有一个额外的模组。 -!!! 警告 +::: warning ``` 移除你安装在BeamNG.Drive\content\或子文件夹的任何模组。这个位置不是用来安装mod的,可能会导致位于同一目录下的“DO_NOT_INSTALL_MODS_HERE.txt”文件中所述的问题。 @@ -34,7 +34,7 @@ 要从BeamMP目录中清除缓存的模组,请转到BeamMP- launcher的安装位置。默认情况下,路径为“C:\Users\AppData\BeamMP-Launcher”。在那里,你会发现一个“Resources”文件夹。删除这个文件夹来删除所有缓存的mod。如果您需要更多磁盘空间或想要删除过时的BeamNG模组,这将非常有用。 -!!! 问题 "我的设置和配置文件都不见了! 我怎样才能恢复呢?" +::: question "我的设置和配置文件都不见了! 我怎样才能恢复呢?" ``` 如果你重命名了用户文件夹,你就会让游戏创建一个新的、干净的用户文件夹。你可以从你重命名的文件夹中复制“settings”和“vehicles”文件夹。‘ current_old ’)到它创建的新文件夹。 diff --git a/docs/zh/FAQ/Update-launcher.md b/docs/zh/FAQ/Update-launcher.md index 8fc0ce26..398925e0 100644 --- a/docs/zh/FAQ/Update-launcher.md +++ b/docs/zh/FAQ/Update-launcher.md @@ -2,7 +2,7 @@ 启动器无法更新或显示空白屏幕?这个快速指南解释了如何手动更新启动器。 -!!! 注意 +::: note ``` 请确保您已通过官网(https://beammp.com)提供的安装程序完成BeamMP的安装及运行,然后再继续后续操作。 diff --git a/docs/zh/FAQ/march-28-outage.md b/docs/zh/FAQ/march-28-outage.md index d6aecb91..9fbef301 100644 --- a/docs/zh/FAQ/march-28-outage.md +++ b/docs/zh/FAQ/march-28-outage.md @@ -7,7 +7,7 @@ === 我需要帮助!我的 BeamMP 启动器无法运行!
请尝试重新安装 BeamMP 启动器。具体操作步骤如下:

1. 访问 [beammp.com](https://beammp.com/)
2. 点击 *Download Now(立即下载)*
3. 运行安装程序并按照提示进行操作 ``` -!!! 注意 +::: 注意 截至 2026 年 4 月 1 日,Windows Defender SmartScreen 会将该 MSI 安装程序识别为“未知应用”。 @@ -16,10 +16,11 @@ === 我需要帮助!我的授权密钥 (authkey) 失效了!

截至 2026 年 4 月 1 日,Keymaster 和认证系统处于离线状态。这意味着您的 authkeys 将无法正常工作。若要解决此问题,请按照以下步骤操作:

1. 打开您的 ``ServerConfig.toml`` 文件,或任何存放服务器配置的地方。
2. 将 ``Private`` 设置为 ``true``。设置后应如下所示:``Private = true``。
3. 这应该能解决 authkey 的失效问题。 -``` -!!! 注意 +::: note 截至 2026 年 4 月 1 日,BeamMP 的认证系统处于离线状态。目前仅支持游客账号(Guest accounts)登录。 请确保您的服务器已开启游客访问权限。 + +::: ``` diff --git a/docs/zh/beamng/cef-snippets.md b/docs/zh/beamng/cef-snippets.md index 8dc6d15f..fdc1ba4f 100644 --- a/docs/zh/beamng/cef-snippets.md +++ b/docs/zh/beamng/cef-snippets.md @@ -1,4 +1,4 @@ -!!! warning "本页面正在建设中!" +::: warning "本页面正在建设中!" ``` 本站点目前正处于积极开发与维护阶段。 diff --git a/docs/zh/beamng/css-snippets.md b/docs/zh/beamng/css-snippets.md index d9d0ac06..a40b4e98 100644 --- a/docs/zh/beamng/css-snippets.md +++ b/docs/zh/beamng/css-snippets.md @@ -1,4 +1,4 @@ -!!! warning "本页面正在建设中!" +::: warning "本页面正在建设中!" ``` 本站点目前正处于积极开发与维护阶段。 diff --git a/docs/zh/beamng/dev/content/vehicles.md b/docs/zh/beamng/dev/content/vehicles.md index b86ed313..9d73f1f9 100644 --- a/docs/zh/beamng/dev/content/vehicles.md +++ b/docs/zh/beamng/dev/content/vehicles.md @@ -1,4 +1,4 @@ -!!!警告“此网站正在建设中!” +:::警告“此网站正在建设中!” ``` 这个网站正在积极建设中。 diff --git a/docs/zh/beamng/dev/modding/imgui-window-tutorial.md b/docs/zh/beamng/dev/modding/imgui-window-tutorial.md index 3c247fd1..f5e5535b 100644 --- a/docs/zh/beamng/dev/modding/imgui-window-tutorial.md +++ b/docs/zh/beamng/dev/modding/imgui-window-tutorial.md @@ -1,4 +1,4 @@ -!!! warning "本页面正在建设中!" +::: warning "本页面正在建设中!" ``` 本站点目前正处于积极开发与维护阶段。 diff --git a/docs/zh/beamng/imgui-snippets.md b/docs/zh/beamng/imgui-snippets.md index 240ba72a..3a2b9d03 100644 --- a/docs/zh/beamng/imgui-snippets.md +++ b/docs/zh/beamng/imgui-snippets.md @@ -1,4 +1,4 @@ -!!! warning "本页面正在建设中!" +::: warning "本页面正在建设中!" ``` 本站点目前正处于积极开发与维护阶段。 diff --git a/docs/zh/beamng/lua-snippets.md b/docs/zh/beamng/lua-snippets.md index b27349dd..2555261f 100644 --- a/docs/zh/beamng/lua-snippets.md +++ b/docs/zh/beamng/lua-snippets.md @@ -1,4 +1,4 @@ -!!! warning "本页面正在建设中!" +::: warning "本页面正在建设中!" ``` 本站点目前正处于积极开发与维护阶段。 @@ -199,13 +199,13 @@ guihooks.trigger("ConfirmationDialogClose", "示例标题") 可以同时显示多个,并将按顺序排列显示。 -!!! bug +::: bug ``` 如果不提供任何按钮,玩家将无法在不使用控制台的情况下关闭或退出该对话框。 ``` -!!! bug +::: bug ``` 当 ConfirmationDialog(确认对话框)处于活动状态时,迷你地图UI应用的 SDF 部分仍然保持可见。 @@ -243,7 +243,7 @@ guihooks.trigger("introPopupClose") - `noButtons` - 不提供任何按钮 -!!! 警告 +::: warning ``` 如果在页面中使用noButtons类型,且页面内容中没有提供额外的 JavaScript 来关闭该弹出窗口,则会导致游戏出现Softlock。在此类型下,多个页面不会合并到同一个弹出窗口中。因此,不建议使用此类型。 @@ -287,7 +287,7 @@ guihooks.trigger("introPopupClose") 如果提供了多个页面,或者该Hook被多次触发,这些页面将被合并到同一个弹出窗口中。
如果在一个introPopup处于活动状态时触发了该钩子,或者已经触发了另一种不同类型的introPopup,那么它将在当前窗口关闭后,通过一个独立的弹出窗口进行显示。 -!!! bug +::: bug ``` 背景模糊具有最小高度限制,这会导致内容较少的弹出窗口在其窗口下方出现多余的模糊区域。目前主要有两种解决方法: @@ -332,7 +332,7 @@ guihooks.trigger("introPopupClose") 如果提供了多个页面,或者该Hook被多次触发,这些页面将合并到同一个弹出窗口中。
如果在一个introPopup处于活动状态时触发了该钩子,或者已经触发了另一种不同类型的 introPopup,则它会在当前窗口关闭后,通过一个独立的弹出窗口进行显示。 -!!! bug +::: bug ``` 背景模糊具有最小高度限制,这会导致内容较少的弹出窗口在其窗口下方出现多余的模糊区域。目前主要有两种解决方法: diff --git a/docs/zh/beamng/snippets.md b/docs/zh/beamng/snippets.md index 2e9df7bf..e1db5442 100644 --- a/docs/zh/beamng/snippets.md +++ b/docs/zh/beamng/snippets.md @@ -1,4 +1,4 @@ -!!!警告“该网站正在建设当中!“ +::: warning "该网站正在建设当中!" ``` 该网站仍在积极开发中。 @@ -8,6 +8,8 @@ 这也可以在任何页面上完成。 ``` +::: + # BeamNG.drive 代码的片段 ## Lua代码片段 @@ -197,13 +199,13 @@ guihooks.trigger("ConfirmationDialogClose", "Example Title") 可以同时显示多个,并将按顺序依次呈现。 -!!! bug +::: bug ``` 不提供任何按钮会导致玩家在不使用控制台的情况下无法退出该对话框。 ``` -!!! bug +::: bug ``` 当 **ConfirmationDialog**(确认对话框)处于活动状态时,小地图 (Minimap) UI 插件的 **SDF 部分** 依然保持可见。 @@ -241,7 +243,7 @@ Flavours控制显示的按钮类型。共有四种预设模式: - `noButtons` - Provides no buttons -!!! 警告 +::: warning ``` 当页面使用noButtons模式时,如果页面内容中未提供用于关闭弹出窗口的额外 JavaScript 代码,则会导致软锁定。在这种模式下,多个页面不会合并到同一个弹出窗口中。因此,不建议使用该模式。 @@ -285,7 +287,7 @@ guihooks.trigger("introPopupClose") 如果提供了多个页面,或者该hook被多次触发,这些页面将合并到同一个弹出窗口中。
如果在introPopup处于活动状态时触发了hook,或者已经触发了另一种类型的introPopup,则新内容将在当前弹出窗口关闭后,以独立的弹出窗口形式显示。 -!!! bug +::: bug ``` 背景模糊具有最小高度限制,这会导致内容较短的弹出窗口下方出现多余的模糊区域。目前主要有两种规避方案: @@ -330,7 +332,7 @@ guihooks.trigger("introPopupClose") 如果提供了多个页面,或者该hook被多次触发,这些页面将合并到同一个弹出窗口中。
如果在introPopup处于活动状态时触发了hook,或者已经触发了另一种类型的introPopup,则新内容将在当前弹出窗口关闭后,以独立的弹出窗口形式显示。 -!!! bug +::: bug ``` 背景模糊具有最小高度限制,这会导致内容较短的弹出窗口在其窗口下方出现多余的模糊区域。目前主要有两种规避方案: @@ -366,7 +368,7 @@ ui_missionInfo.closeDialogue() 同时只能显示一个Dialogue。任何现有的Dialogue都会被直接覆盖。 -!!! info +::: info ``` `#!lua ui_missionInfo.closeDialogue()` 必须使用该函数来关闭对话框。 diff --git a/docs/zh/community/index.md b/docs/zh/community/index.md index c77d2699..3eb3d094 100644 --- a/docs/zh/community/index.md +++ b/docs/zh/community/index.md @@ -9,37 +9,37 @@ hide: ## 我们的社交媒体链接 -!!!failure "" +:::failure "" ``` BeamMP Forum - [https://forum.beammp.com](https://forum.beammp.com) ``` -!!!quote "" +:::quote "" ``` X (Twitter) - [https://x.com/BeamMPOfficial](https://x.com/BeamMPOfficial) ``` -!!!danger "" +:::danger "" ``` YouTube - [https://www.youtube.com/@BeamMPOfficial](https://www.youtube.com/@BeamMPOfficial) ``` -!!!warning "" +:::warning "" ``` Patreon - [https://www.patreon.com/c/BeamMP](https://www.patreon.com/c/BeamMP) ``` -!!!note "" +:::note "" ``` Discord - [https://discord.com/invite/beammp](https://discord.com/invite/beammp) ``` -!!!info "" +:::info "" ``` BlueSky - [https://bsky.app/profile/beammpofficial.bsky.social](https://bsky.app/profile/beammpofficial.bsky.social) diff --git a/docs/zh/game/getting-started.md b/docs/zh/game/getting-started.md index 7115a102..04041ed5 100644 --- a/docs/zh/game/getting-started.md +++ b/docs/zh/game/getting-started.md @@ -4,9 +4,8 @@ BeamMP与Windows和Linux完全兼容,与MacOS的兼容性正在研究中。然而,Linux和MacOS都是次要平台,这意味着bug在所难免。 -!!!警告 +::: warning -``` BeamMP将无法与盗版或过时版本的BeamNG.drive一起工作。 BeamMP支持团队不提供盗版/过期副本问题的支持。 ``` @@ -17,9 +16,8 @@ BeamMP支持团队不提供盗版/过期副本问题的支持。 ### **2a. Windows 安装** -!!!注意 +::: note -``` 截至 2026 年 4 月 1 日,Windows Defender SmartScreen 会将该 MSI 安装程序识别为“未知应用”。 若要跳过此警告,请点击“更多信息”,然后点击“仍要运行”。 @@ -29,9 +27,8 @@ BeamMP支持团队不提供盗版/过期副本问题的支持。 2. 运行 `BeamMP_Installer.msi`安装程序并按照提示进行操作。 3. BeamMP启动器的图标应该会出现在您的桌面上。如果没有出现,只需在 Windows 搜索栏中搜索“BeamMP”即可。 -!!!注意 +::: note -``` 当你加载到一个有多个车辆的地图时,它可能需要比预期更长的时间才能加入。 ``` @@ -88,19 +85,17 @@ cmake . -B bin -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cma cmake --build bin --parallel ``` -!!!注意 "" +::: note -``` 如果在编译时内存耗尽,可以提交——parallel指令,由于只在一个CPU线程上编译,它将使用更少的RAM。 ``` -!!!注意 "" +::: note -``` 通过不指定‘ -DCMAKE_BUILD_TYPE=Release ’,您正在编译一个调试版本,该版本的文件大小较大,但不包含launcher-can-only-connect-to- server-once错误 ``` -!!!注意 "Fedora 用户" 如果 vcpkg 在编译 OpenSSL 时因内核头文件(kernel headers)错误而失败,请确保已安装所有依赖项: `bash sudo dnf install kernel-headers kernel-devel gcc gcc-c++ make perl ` 然后清理 vcpkg 缓存:`bash rm -rf $VCPKG_ROOT/buildtrees/openssl `最后重新运行 cmake 配置命令。 +:::注意 "Fedora 用户" 如果 vcpkg 在编译 OpenSSL 时因内核头文件(kernel headers)错误而失败,请确保已安装所有依赖项: `bash sudo dnf install kernel-headers kernel-devel gcc gcc-c++ make perl ` 然后清理 vcpkg 缓存:`bash rm -rf $VCPKG_ROOT/buildtrees/openssl `最后重新运行 cmake 配置命令。 将已编译完成的应用程序从`/bin`移出,放到它自己的文件夹中,然后从该文件夹运行它: @@ -133,7 +128,7 @@ cd ~/beammp-launcher 请注意:此配置默认假设您已将编译完成的启动器二进制文件存放于`/home/user/BeamMP/`。请根据实际二进制文件存放路径调整配置,且每次启动器版本更新时需切换至官方Git仓库对应分支重新执行编译流程。 -!!! 提示 "安装表情符号字体实现文本内嵌表情" +::: 提示 "安装表情符号字体实现文本内嵌表情" ``` 若需在服务器列表(作为服务器自定义名称组成部分)或游戏内聊天中显示表情符号,您需部署包含表情符号的字形库。例如,可通过安装Windows Segoe UI 表情符号字体的 Linux 移植版实现。 diff --git a/docs/zh/game/multiplayer-settings.md b/docs/zh/game/multiplayer-settings.md index cd768c85..3f89ad64 100644 --- a/docs/zh/game/multiplayer-settings.md +++ b/docs/zh/game/multiplayer-settings.md @@ -25,10 +25,11 @@ 如果禁用,物理不稳定性将导致游戏暂停 -!!! 注意 "" +::: note 建议设置为禁用,因为反复的不稳定会导致游戏崩溃 -``` + +::: ??? 设置 “可用时使用简化车辆” @@ -45,10 +46,11 @@ 如果禁用,游戏内聊天将显示在UI应用程序中 -!!! 注意 "" +::: note 将IMGUI窗口拖出主游戏窗口可能会导致性能问题,还会诱使屏幕录制软件录制聊天窗口而不是主游戏窗口 -``` + +::: ??? 设置 “启用车辆位置平滑” @@ -97,10 +99,11 @@ 如果禁用,其他车辆将保持完全可见,无论距离 -!!! 注意 "" +::: note -这只会影响车辆的可见3d网格,而不会影响其物理节点-光束网格。为了禁用物理,你需要在游戏设置中启用“简化碰撞物理” -``` +这只会影响车辆的可见3d网格,而不会影响其物理节点-光束网格。为了禁用物理,你需要在游戏设置中启用"简化碰撞物理" + +::: ??? 设置 “显示玩家ID” @@ -241,13 +244,13 @@ ??? 设置 "淡出距离/反转标签淡出方向" ``` -!!! 设置 "淡出" +::: info "淡出" 玩家离得越远,标签就越不显眼 '渐变距离'定义了标签在最小不透明度下绘制的距离 -!!! 设置 "淡入" +::: info "淡入" 玩家离得越远,标签就越显眼 @@ -294,23 +297,23 @@ 如果启用,则将在控制台中显示beamMP网络活动 如果禁用,则控制台中不会显示进一步的网络活动 -!!! 风险 "" +::: danger 要小心这个设置,因为所有控制台输出也会写入日志文件 启用此设置后,它们可以在几分钟内增长数百MB -``` + +::: ??? 设置 "启动器端口" -``` 此设定值定义用于与启动器通信的端口 只有标准端口4444不能使用时才需要更改吗 -不要忘记在启动器侧修改它,通过修改‘ launcher.cfg ’ +不要忘记在启动器侧修改它,通过修改' launcher.cfg ' -!!! 提示 "" +::: info 指定的端口只是两个中的第一个,第二个正在使用的端口紧随其后,设置port + 1 diff --git a/docs/zh/guides/index.md b/docs/zh/guides/index.md index 822546e5..b5810f86 100644 --- a/docs/zh/guides/index.md +++ b/docs/zh/guides/index.md @@ -4,7 +4,7 @@ description: 这组页面为BeamMP提供了一些基本指南 status: 新的 --- -!!! 警告"这个网站正在建设中!" +::: warning "这个网站正在建设中!" ``` This site is being actively worked on. diff --git a/docs/zh/guides/mod-creation/server/getting-started.md b/docs/zh/guides/mod-creation/server/getting-started.md index 29a29609..3d081e45 100644 --- a/docs/zh/guides/mod-creation/server/getting-started.md +++ b/docs/zh/guides/mod-creation/server/getting-started.md @@ -27,7 +27,7 @@ Server目录需创建多个子文件夹存放各服务端模组。推荐只在 Client目录专门存放将发送给客户端的ZIP格式模组包,当客户端接收后会自动以模组形式加载。该目录若存在其他类型文件会导致服务器启动时报错(但不会阻断服务运行),不过这些无关文件仅会被服务端忽略。核心配置脚本modScript.lua由BeamNG游戏引擎解析,用于指引游戏加载指定插件模块。 -!!!范例 "" [Download the examplePlugin.zip](../../../../assets/content/ResourcesForExamplePlugin.zip) +:::范例 "" [Download the examplePlugin.zip](../../../../assets/content/ResourcesForExamplePlugin.zip) ## 服务器端 lua diff --git a/docs/zh/index.md b/docs/zh/index.md index e0adbc8c..fc9a2c47 100644 --- a/docs/zh/index.md +++ b/docs/zh/index.md @@ -1,24 +1,48 @@ --- -hide: - - 导航 +layout: home + +hero: + name: BeamMP 文档 + text: 你需要知道的一切 + tagline: 为玩家、服务器所有者和开发者提供的完整指南 + image: + src: /assets/core/beammp_dark.png + alt: BeamMP + actions: + - theme: brand + text: 开始 + link: /zh/game/getting-started + - theme: alt + text: 在 GitHub 上查看 + link: https://github.com/beammp/docs + +features: + - icon: 🎮 + title: 对于玩家 + details: 了解如何安装 BeamMP、连接到服务器并充分享受您的多人游戏体验 + link: /zh/game/getting-started + - icon: 🖥️ + title: 对于服务器所有者 + details: 通过我们全面的指南和故障排除资源来设置和管理您自己的 BeamMP 服务器 + link: /zh/server/create-a-server + - icon: 💻 + title: 对于开发者 + details: 使用详细的 API 文档和代码示例创建 mod、资源和 UI 应用 + link: /zh/guides/index + - icon: ❓ + title: 常见问题 + details: 找到关于设置、故障排除和最佳实践的常见问题的快速答案 + link: /zh/FAQ/player-faq + - icon: 📋 + title: 社区规则 + details: 了解我们的社区指南以及如何报告问题或上诉决定 + link: /zh/community/rules + - icon: 🔗 + title: 社区 + details: 加入我们的 Discord、在社交媒体上关注我们并与其他 BeamMP 玩家和开发者连接 + link: /zh/community/index --- -!!!警告“该网站正在建设当中!“ - -``` -这个网站正在积极建设中。 - -觉得你能帮上忙吗?请用铅笔在右侧点击页面! - -这也可以在任何页面上完成。 -``` - -# 欢迎来到BeamMP文档!:tada: - -欢迎来到全新改进的BeamMP文档中心!无论您是玩家,服主,还是开发者,我们都能为您提供增强BeamNG.drive多人游戏体验所需的资源。 - -## 对于玩家 - 首次体验BeamMP联机模组?请访问我们的[新手启航指南](../game/getting-started.md),助您迅速完成配置部署,畅享多人模式下的高拟真驾驶盛宴。若遇基础性问题,建议优先查阅[玩家常见问题解答](../FAQ/player-faq.md)中的故障排查方案 ## 对于服主 diff --git a/docs/zh/nav-translations.json b/docs/zh/nav-translations.json new file mode 100644 index 00000000..f29af434 --- /dev/null +++ b/docs/zh/nav-translations.json @@ -0,0 +1,57 @@ +{ + "Home": "首页", + "Support": "支持", + "Playing BeamMP": "游玩 BeamMP", + "Installing BeamMP": "安装 BeamMP", + "Error Codes": "错误代码", + "Multiplayer Settings": "多人模式设置", + "Running a BeamMP-Server": "运行服务器", + "Server Installation": "服务器端的安装", + "Port Forwarding": "端口转发", + "Server Maintenance": "服务器维护", + "Server Manual": "服务器手册", + "Mod & Resource Creation": "模组与资源制作", + "Client Side": "客户端", + "Server Side": "服务器端", + "FAQ": "常见问题解答", + "How to check for CGNAT?": "如何检查CGNAT?", + "Where can I find my IP address?": "我怎样才能找到我服务器的IP?", + "How to remove mods?": "如何删除模组?", + "Manually updating the Launcher": "手动更新启动器", + "Changing the Launcher port": "更改启动器端口", + "Creating Exclusions (Defender)": "创建 Defender 排除项", + "Player FAQ": "面向玩家的疑难解答", + "Game FAQ": "游戏常见问题", + "Server FAQ": "服务器常见问题", + "Development Guides": "开发指南", + "Development Environment Setup": "开发环境设置", + "Mod Creation": "模组制作", + "Resource Creation": "资源制作", + "Client Scripting Reference": "客户端脚本参考", + "Server Resources": "服务器资源", + "BeamNG Documentation": "BeamNG.drive 文档", + "Content Development": "内容开发", + "Introduction": "介绍", + "Programming": "编程", + "UI Apps (HTML)": "图形界面应用程序(HTML)", + "ImGui Window Tutorial": "ImGui 窗口教程", + "Lua Mods (Scripts)": "Lua 模组(脚本)", + "Content": "内容", + "Maps": "地图", + "Props": "道具", + "Vehicles": "车辆", + "Lua Code Snippets": "Lua 代码片段", + "CSS Code Snippets": "CSS 代码片段", + "ImGui Code Snippets": "ImGui 代码片段", + "CEF Code Snippets": "CEF 代码片段", + "Scripting Reference": "脚本参考", + "Mod (In-Game)": "游戏内模组", + "Server": "服务器", + "Version 3.X (Latest)": "版本 3.X(最新)", + "Version 2.X (Deprecated)": "版本 2.X(已弃用)", + "Contributing": "参与贡献", + "Getting Started": "快速开始", + "Community": "社区", + "General Information": "一般信息", + "Rules": "规则" +} \ No newline at end of file diff --git a/docs/zh/scripting/mod-reference.md b/docs/zh/scripting/mod-reference.md index 40c032d7..b804eb9c 100644 --- a/docs/zh/scripting/mod-reference.md +++ b/docs/zh/scripting/mod-reference.md @@ -1,4 +1,4 @@ -!!! 警告 "这个网站正在建设中!" +::: warning "这个网站正在建设中!" ``` 这个网站正在积极建设中。 diff --git a/docs/zh/scripting/server/latest-server-reference.md b/docs/zh/scripting/server/latest-server-reference.md index ed0758e2..5381cbc5 100644 --- a/docs/zh/scripting/server/latest-server-reference.md +++ b/docs/zh/scripting/server/latest-server-reference.md @@ -1,4 +1,4 @@ -!!! 警告 "这个网站正在建设中!" +::: warning "这个网站正在建设中!" ``` 这个网站正在积极建设中。 diff --git a/docs/zh/scripting/server/v2-server-reference.md b/docs/zh/scripting/server/v2-server-reference.md index 2d64f1e3..c6180d89 100644 --- a/docs/zh/scripting/server/v2-server-reference.md +++ b/docs/zh/scripting/server/v2-server-reference.md @@ -1,4 +1,4 @@ -!!! 警告 "这个网站正在建设中!" +::: warning "这个网站正在建设中!" ``` 这个网站正在积极建设中。 @@ -12,7 +12,7 @@ ## 服务器端版本 2.X -!!! 警告 +::: warning ``` BeamMP 服务器版本 2.X 已不再提供支持。 diff --git a/docs/zh/server/create-a-server.md b/docs/zh/server/create-a-server.md index 1772ef13..ae067b2c 100644 --- a/docs/zh/server/create-a-server.md +++ b/docs/zh/server/create-a-server.md @@ -26,13 +26,13 @@ ### **1. 端口转发** -!!! info +::: info ``` 如果你使用的是 VPS(虚拟专用服务器)、Rootserver,或者计划在本地托管服务器(与家里其他玩家在同一屋檐下),可以跳过此步骤。 如果你希望家外的人加入你本地托管的服务器(即在本地网络之外),则必须执行此步骤。 -!!! danger ":material-scale-balance: 免责声明:" +::: danger ":material-scale-balance: 免责声明:" **端口转发存在风险**. @@ -74,11 +74,11 @@ ‘认证密钥’,通常称为 ‘AuthKey’,是使 **公共** 服务器可以通过服务器列表访问所必需的。虽然也建议将 AuthKey 添加到私人服务器。你拥有的密钥数量有限。一个密钥一次只能用于一台服务器,因此不能用同一个密钥同时启动两台服务器。通过支持该项目可以获得更多密钥。更多信息请参阅 [这篇文章](https://docs.beammp.com/support/player-faq/)。 -!!! 警告 +::: warning -``` 千万不要把密钥给别人看,把它当作密码! -``` + +::: 此步骤需要一个 [Discord](https://discord.com) 账号。此举是为了防止垃圾信息。 @@ -181,7 +181,7 @@ Description = "Total Random Beam MP Server" ResourceFolder = "Resources" ``` -!!! info +::: info ``` 这是您的配置文件。它采用了一种名为 TOML的格式。有关该文件及其变量的更多信息,请参考 [Server Maintenance(服务器维护)](server-maintenance.md) 章节。 @@ -211,7 +211,7 @@ AuthKey = '3173a2e-6az0-4542-a3p0-ddqq5ff95558' 车辆模组和地图模组的安装方式不同,但都需要将它们放入服务器的 (`Resources/Client`) 文件夹中。只需将你想添加的模组放入该文件夹即可。 -!!! 警告 +::: 警告 ``` 如果在添加模组后尝试加入服务器时收到“done”或“start”消息,很可能是因为你向服务器添加了不兼容或损坏的模组。 @@ -275,12 +275,12 @@ Map = '/levels/myawesomedriftmap2021/info.json' -!!! warning "我想使用 RadminVPN、Hamachi 或类似的 VPN。" +::: warning "我想使用 RadminVPN、Hamachi 或类似的 VPN。" ``` BeamMP 不支持这些 VPN,因为它们经常引发问题。其中一个问题是 UDP 流量无法转发。要解决此问题,请参考第 1 节。 -!!! question "那为什么以前可以用?" +::: question "那为什么以前可以用?" 这是因为这些应用程序的开发者更新了软件并实施了 BeamMP 无法控制的更改。 是否支持像 BeamMP-Server 这样的特定使用场景,由这些应用程序的开发者决定。 diff --git a/docs/zh/server/error-codes.md b/docs/zh/server/error-codes.md index 41d68b34..d2586378 100644 --- a/docs/zh/server/error-codes.md +++ b/docs/zh/server/error-codes.md @@ -17,4 +17,4 @@ 10064 | 主机宕机 | 罕见错误,但表示主机已宕机,可能是因为主机已关闭或端口被关闭。 10065 | 无法访问主机 | 无网络或端口转发错误,请参考 [指南步骤](create-a-server.md#1-port-forwarding)。 -!!! note “对于本列表中未包含的任何其他错误代码,如果你对网络/套接字有一定了解,可以参考 [https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2](https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2)。 +::: note “对于本列表中未包含的任何其他错误代码,如果你对网络/套接字有一定了解,可以参考 [https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2](https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2)。 diff --git a/docs/zh/server/port-forwarding.md b/docs/zh/server/port-forwarding.md index a0d27500..2b374ff6 100644 --- a/docs/zh/server/port-forwarding.md +++ b/docs/zh/server/port-forwarding.md @@ -1,6 +1,6 @@ # 端口转发 -!!! 风险 ":material-scale-balance: 免责声明:" +::: danger ":material-scale-balance: 免责声明:" ``` “端口转发存在风险”。 @@ -12,7 +12,7 @@ 如果你不理解本指南,请考虑使用我们的合作伙伴提供的服务。 ``` -!!! 警告 +::: warning ``` 请确保你的路由器不是仅支持 4G/5G 的设备。如果是混合设备,请在本指南第 3 节中选择有线连接的适配器! @@ -104,7 +104,11 @@ ipconfig /all 子网掩码(常见取值为255.255.255.0)
默认路由地址(典型配置为192.168.0.1或192.168.1.1) -!!! info "请注意" BeamMP 目前不支持使用 IPv6 协议托管服务器。 +::: info "请注意" + +BeamMP 目前不支持使用 IPv6 协议托管服务器. + +::: #### 1.2. 修改适配器设置 @@ -181,7 +185,11 @@ admin | password BeamMP 需要同时开放 UDP 和 TCP 协议的 30814 端口(除非您已在 [ServerConfig.toml](create-a-server.md#4-configuration) 配置文件中修改过此端口)。 -!!! info "注意"
虽然默认端口为 **30814**,您也可以选择1024至65535之间的其他端口号(若使用非默认端口需自行记录)。需要同时转发 **TCP** 和 **UDP** 协议。
建议保持使用默认端口,因此端口被本机其他服务占用的可能性极低。若需在同一台机器上部署多个服务器,则每个服务器需使用不同端口(例如:服务器1使用30814,服务器2使用30815)。 +::: info "注意" + +虫然默认端口为 **30814**,您也可以选择1024至20敓5之间的其他端口号(若使用非默认端口需自行记录)。需要同时转发 **TCP** 和 **UDP** 协议。建议保持使用默认端口,因此端口被本机其他服务占用的可能性极低。若需在同一台机器上部署多个服务器,则每个服务器需使用不同端口(例如:服务器ᴄ1使用30814,服务器ᴄ2使用30815). + +::: 在某些路由器中,您可能需要创建两条规则(一条用于UDP,另一条用于TCP),而有些路由器则更便捷,允许您通过单条规则同时设置两种协议! @@ -205,13 +213,13 @@ BeamMP 需要同时开放 UDP 和 TCP 协议的 30814 端口(除非您已在 [ 访问以下链接,并将“IP”替换为您的实际IPv4地址,“Port”替换为您的服务器端口。请确保不留空格。https://check.beammp.com/api/v2/beammp/ip/port -!!! 成功 "status: ok" +::: success "status: ok" ``` 若获得上述输出结果,即可加入您的服务器! 有两种连接方式:既可通过在端口转发工具中配置的详细信息直接连接,也可在服务器设置为"公开"状态下通过服务器列表加入。 由于您采用的是本地托管服务器,若服务器与游戏运行在同一台电脑上,请使用 127.0.0.1(本地主机);若服务器运行在局域网内的其他机器上,则使用该服务器的局域网IPv4地址。 ``` -!!! 失败 "status: error" +::: failure "status: error" ``` diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..e4eb9376 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2105 @@ +{ + "name": "Docs", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "lucide-vue-next": "^1.0.0" + }, + "devDependencies": { + "@types/markdown-it-container": "^4.0.0", + "markdown-it-container": "^4.0.0", + "vitepress": "^2.0.0-alpha.17", + "vitepress-plugin-tabs": "^0.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@docsearch/css": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-4.6.3.tgz", + "integrity": "sha512-nlOwcXcsNAptQl4vlL4MA78qNJKO0Qlds5GuBjCoePgkebTXLSf8Qt1oyZ3YBshYupKXG9VRGEsk1zr23d+bzQ==", + "dev": true + }, + "node_modules/@docsearch/js": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-4.6.3.tgz", + "integrity": "sha512-qUIX2b4Apew3tv4F0qhmgShsl/Lfw4m6mqv/5/5dWNxwTcDdLMp2s3YwZ+NMGh3IKCg0pBaXm7Q5VdyU5Rj+cQ==", + "dev": true + }, + "node_modules/@docsearch/sidepanel-js": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/@docsearch/sidepanel-js/-/sidepanel-js-4.6.3.tgz", + "integrity": "sha512-grGSmvXzG0if+mrzdIKykvpIAuEQ9u0sEJ2eLRRCaQfJvsWqh2C2/aY04bIzWvDh7myi5rvl8D+tUNsVrjYQ3A==", + "dev": true + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@iconify-json/simple-icons": { + "version": "1.2.86", + "resolved": "https://registry.npmjs.org/@iconify-json/simple-icons/-/simple-icons-1.2.86.tgz", + "integrity": "sha512-t3jck5qPQuK1qy+bRn9eCoDQhIB7XSazKz1Fjp8hcan3XOAsTI5Mq/s3F0ekOKSvMQqkVORYK6ns6o6T9f5EMA==", + "dev": true, + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "dev": true + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==" + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "dev": true + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.61.1.tgz", + "integrity": "sha512-JnBB8MdXj45cajvTuO5FmPlvFVJRQgvrz1uSEl3NwqFnReAPGwb8EanbGi4z2nRaqLzjJSv5/JmycoTKlRZxHA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.61.1.tgz", + "integrity": "sha512-Jx2g7iSjw4AOT0HDPHM9RV3GNjRXwybWtSFZiZAYUTjUwjVrYIwq3kBf+LnhqJlzXFAqTAh2F7IGI+O568exPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.61.1.tgz", + "integrity": "sha512-0F1L/Z3Eqv8mT2n3dCpeO8GcTvHvVqkP5/t6DMsn0KzhYVcg+s7Ncl5DS8qjKYEeio6Az0Gt6nyBORay5qIlCA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.61.1.tgz", + "integrity": "sha512-qLttcH871ujY4YcVfUSShhOw+CsoTatYz8gRbHO7Bb92QH059/P0y5do1KMs41fY0BpD2x4AJH/gID0zFiqVKQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.61.1.tgz", + "integrity": "sha512-fUI4RapGE0Oh3mb8mgfvC1O2nU1RpDZUKnDQm3xB1Ipg7C2wTs5Kstz7G2uWK99a8S2yTMq8/P4uycwNa0nJyw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.61.1.tgz", + "integrity": "sha512-H5YrdvJaDtI/U9/emrD4b++xkvp3y/JvOe4rizHbxvkyMfRS/CiRYdji+Pl8D0brEaNFWUh1drQxgAGIl6Xudw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.61.1.tgz", + "integrity": "sha512-Q8CBCCQtDFrYtXoeUXSrnFXKOnyUhx6bz+SkL6A0E7V8kAiCJ5pamq1WtbfpVGhR5TSpXY6ak3avmDc5fHTyJA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.61.1.tgz", + "integrity": "sha512-nwnhk1581l0FBVellGcVCAT0Oi06onEA3WB53sf01VO3I0UPBkMH9sXONYME2K0ovXcNayJfNtHfm6mpJElatQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.61.1.tgz", + "integrity": "sha512-x5Xr49hwt3hdW75UOZm3395YwwzPyauktslv29KpWL/T+vVAzoT3azLcTWv0eMciBNrx+DYjH4paehHoLpPvpg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.61.1.tgz", + "integrity": "sha512-unMS3H73DpaoPyyEVPjGKleM/s0mkmsauTENpw4INQY8y4+IuLNjkueQ5QCtC0D3N38Y38yhAU8OoZ20S2Tm6w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.61.1.tgz", + "integrity": "sha512-zNZzGRnAhwjFEYmvphJRV5XaQGjs62cCmeYYHUT//NbvEnHauw+I85nGG+SiVg5ld4GX8D1IbKIX+ozITQnhMQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.61.1.tgz", + "integrity": "sha512-LdpWGL8X209B2SIvWjqlc8VZgM6PKfontSerGepuldQmHYrAOtnMCXeJkxXGbC+PPZVOuu5czJo7fNV6aeW8rQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.61.1.tgz", + "integrity": "sha512-EC5kTtNaNGOmbMGqar8dvJy6y/hg99GAwjfBz++pxZhQATXGcRjd6c5en5wcbru0vkRmiMGsQKdMJOOf6sza4g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.61.1.tgz", + "integrity": "sha512-8hiwp6D4acEcNK78I4rP0/XtS1sknWIAMJBPdR4l6zUtyTm5KiTDr5bXmWt4foY7nAN7AThDHgkLIEZOWKbzWw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.61.1.tgz", + "integrity": "sha512-10dh/h/BqA7DuMPWSxkR8uks18FRwnwOEqr5zOTEl+NOwP/OMzKX8OFR/Of9xxDA7D5qef1Nzar5WDD2kCCr1g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.61.1.tgz", + "integrity": "sha512-YKJ5lg35DP17gcAOggnihe+APw9HLyj1Xn7gsmGumBJAUDa6NGXNixJzmkWLhcK9TOuuyQjdamzvJefkO7qHZQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.61.1.tgz", + "integrity": "sha512-Mlil5G2Jj6a7B3LWGctg+XPL9vdXYuzCtNXfxOQ0nPjc2m6ueUktocPGH9bnAM0bNRKb/bAWTujUU7IJQdQA+g==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.61.1.tgz", + "integrity": "sha512-bVWIOIk6pV01p4CdUbPP7CJ/434z+OooYjDuFcR+44N35YvKUC66G8MGnvcWx5mWKW3g61J+t74l3Kj15Kwn2Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.61.1.tgz", + "integrity": "sha512-qy5pBvZbqNFheBz61R1rzsezjm0J7O2oNGoWtGoY89SZYLUfxAJTBAqDChqAIdB4rCiIbi9nF7yZ83GnNiLwSw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.61.1.tgz", + "integrity": "sha512-E83TXjI4zm0+5f2qO+UOudaCYIhYwpJ5jq6YCZNIZ+6CbfhKrkAGezeiASBL9ElxAxFsRS9ZhESv8mfnj6TKeg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.61.1.tgz", + "integrity": "sha512-fbWnKqVkjrJN38vNe3ahkbk6iejS/3b0Nt7EEtPpE6RBacZcGXNKbzfHN3GUUlXOPghUg0j6XUGrtjX9z1sIvA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.61.1.tgz", + "integrity": "sha512-ArMl38iVAbk0New1ogihQNY6iphLi4ZaRsa037gUzv5yeKPY8TD3Dmy4x2RNC1VztU/uqm+G+/RwFrSka3Oy2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.61.1.tgz", + "integrity": "sha512-0mYtjHS9ucAbcATycCNK9IGBk/cCe/ma7EmSLGZdsxnOA8cjRIyU04wDpVAD9NiOfLUR9KTxdiO53uOkherqjQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.61.1.tgz", + "integrity": "sha512-gK1iCEPfpoSG9wfBihXxvBMi8ZfcWffYkEsC/Eih+iFENTaewvNcrEQ69lIOWYO5pePHKLHHO7nq5AILGO/HQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.61.1.tgz", + "integrity": "sha512-X+zaP2x+j4RXGfbp/seSoRHWnPxzApilDszisZxbYH5C/jTxFhCtDNdPGZb9lJyYPs24wGxruPF7Y+sIXt9Gzw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.23.0.tgz", + "integrity": "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==", + "dev": true, + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.23.0.tgz", + "integrity": "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==", + "dev": true, + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.4" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz", + "integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==", + "dev": true, + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.23.0.tgz", + "integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==", + "dev": true, + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.23.0.tgz", + "integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==", + "dev": true, + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/transformers": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-3.23.0.tgz", + "integrity": "sha512-F9msZVxdF+krQNSdQ4V+Ja5QemeAoTQ2jxt7nJCwhDsdF1JWS3KxIQXA3lQbyKwS3J61oHRUSv4jYWv3CkaKTQ==", + "dev": true, + "dependencies": { + "@shikijs/core": "3.23.0", + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/types": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.23.0.tgz", + "integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==", + "dev": true, + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "dev": true + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", + "dev": true + }, + "node_modules/@types/markdown-it": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", + "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", + "dev": true, + "dependencies": { + "@types/linkify-it": "^5", + "@types/mdurl": "^2" + } + }, + "node_modules/@types/markdown-it-container": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/markdown-it-container/-/markdown-it-container-4.0.0.tgz", + "integrity": "sha512-GmD8OECLfzPHv8VyvFRzslqdwXoDBJ2H40fxXFjrarbqvJZSB/BJKZXN5e3k7Mx7GQanSNzTYhzeS3H9o0gAOw==", + "dev": true, + "dependencies": { + "@types/markdown-it": ">=14" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", + "dev": true + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.21", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", + "dev": true + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz", + "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-vue": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.7.tgz", + "integrity": "sha512-km+p+XdSz9Sxm5rqUbqcSfZYaAniKxWBj1KURl+Jr7UaPvvX7BmaWMdP69I5rrFDeQGyxAG7NXdc57vz+snhWg==", + "dev": true, + "dependencies": { + "@rolldown/pluginutils": "^1.0.1" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.35", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.35.tgz", + "integrity": "sha512-BUmHaR1J+O+CKZ9uJucdVTEr1LHsdyvv7vG3eNRhK3CczEHeMd/LtsHAuD7PbrxvI2envCY2v7HI1vC1aBRzKw==", + "dependencies": { + "@babel/parser": "^7.29.3", + "@vue/shared": "3.5.35", + "entities": "^7.0.1", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.35", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.35.tgz", + "integrity": "sha512-k+bprkXxuqhVajgTx5mUHuir7TwQzUKOWR40ng1ncAqQRPnrLngGGgqVEEhOnTMlc8btHYVKmrP8s5Qyg0hvYA==", + "dependencies": { + "@vue/compiler-core": "3.5.35", + "@vue/shared": "3.5.35" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.35", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.35.tgz", + "integrity": "sha512-G5VPMcXTSywXBgtFOZOnHKBxKSrwXUcvY1iaF5/hRcy7t0J6CH/d8ha9F4nzi00Fax1eLV0QHM7v4mQu68jydw==", + "dependencies": { + "@babel/parser": "^7.29.3", + "@vue/compiler-core": "3.5.35", + "@vue/compiler-dom": "3.5.35", + "@vue/compiler-ssr": "3.5.35", + "@vue/shared": "3.5.35", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.15", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.35", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.35.tgz", + "integrity": "sha512-rGhAeXgdM7/ffTJGXT69rCCdTmjDewnFuUZfBQQHTdcEBeWdT5HCGY60y2ytLJr9/Dsu7IntUi5z/w0h6Rjnzw==", + "dependencies": { + "@vue/compiler-dom": "3.5.35", + "@vue/shared": "3.5.35" + } + }, + "node_modules/@vue/devtools-api": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-8.1.2.tgz", + "integrity": "sha512-vA0O112YqyDuNA1s7Yb2gCgToQ/OxOWiFDO5ThLCcDy0ldHnSd1dUTaSYhOldbqoNgumE4dxtGAoAaSUKUD1Zg==", + "dev": true, + "dependencies": { + "@vue/devtools-kit": "^8.1.2" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.1.2.tgz", + "integrity": "sha512-f75/upc+GCyjXErpgPGz4582ujS0L/adAltGy+tqXMGUJpgAcfGr6CxnnhpZY8BHuMYt6KpbF8uaFrrQG66rGQ==", + "dev": true, + "dependencies": { + "@vue/devtools-shared": "^8.1.2", + "birpc": "^2.6.1", + "hookable": "^5.5.3", + "perfect-debounce": "^2.0.0" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.1.2.tgz", + "integrity": "sha512-X9RyVFYAdkBe4IUf5v48TxBF/6QPmF8CmWrDAjXzfUHrgQ/HGfTC1A6TqgXqZ03ye66l3AD51BAGD69IvKM9sw==", + "dev": true + }, + "node_modules/@vue/reactivity": { + "version": "3.5.35", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.35.tgz", + "integrity": "sha512-tVc+SsHConvh/Lz64qq1pP3rYArBmK42xonovEcxY74SQtvctZodG/zhq54P5dr38cVuw25d27cPNRdlMidpGQ==", + "dependencies": { + "@vue/shared": "3.5.35" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.35", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.35.tgz", + "integrity": "sha512-A/xFNX9loIcWDygeQuNCfKuh0CoYBzxhqEMNah5TSFg9Z53DrFYEN2qi5CU9necjM1OWYegYREUTHmXTmhfXtg==", + "dependencies": { + "@vue/reactivity": "3.5.35", + "@vue/shared": "3.5.35" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.35", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.35.tgz", + "integrity": "sha512-odrJ1C391dbGnyDRh8U+rnP7J2amIEzfmRk5vXy7xi3aZhEXofTvpi0T4HJb6jlNqQZTNPR5MPHSB3RHNkIORA==", + "dependencies": { + "@vue/reactivity": "3.5.35", + "@vue/runtime-core": "3.5.35", + "@vue/shared": "3.5.35", + "csstype": "^3.2.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.35", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.35.tgz", + "integrity": "sha512-NkebSOYdB97wi8OQcO3HqzZSlymJi/aWsN/7h74OSVhRTm6qGs3Jp3e0rCXynmWwSlKeRrnlIug+ilYoHBmQDA==", + "dependencies": { + "@vue/compiler-ssr": "3.5.35", + "@vue/shared": "3.5.35" + }, + "peerDependencies": { + "vue": "3.5.35" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.35", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.35.tgz", + "integrity": "sha512-zSbjL7gRXwks2ZQLRGCajBtBXEOXW9Ddhn/HvSdrGkE2dqGnumzW8XtusRrxrE9LvqtiqDXQ+A60Hp6mvdYxfA==" + }, + "node_modules/@vueuse/core": { + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-14.3.0.tgz", + "integrity": "sha512-aHfz47g0ZhMtTVHmIzMVpJy8ePhhOy68GY5bv110+5DVtZ+W7BsOx+m61UNQqfrWyPztIHIanWa3E2tib3NFIw==", + "dev": true, + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "14.3.0", + "@vueuse/shared": "14.3.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/@vueuse/integrations": { + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-14.3.0.tgz", + "integrity": "sha512-76I5FT2ESvCmCaSwapI+a/u/CFtNXmzl9f9lNp1hRtx8vKB8hfiokJr8IvQqcQG5ckGXElyXK516b54ozV3MvA==", + "dev": true, + "dependencies": { + "@vueuse/core": "14.3.0", + "@vueuse/shared": "14.3.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "async-validator": "^4", + "axios": "^1", + "change-case": "^5", + "drauu": "^0.4", + "focus-trap": "^7 || ^8", + "fuse.js": "^7", + "idb-keyval": "^6", + "jwt-decode": "^4", + "nprogress": "^0.2", + "qrcode": "^1.5", + "sortablejs": "^1", + "universal-cookie": "^7 || ^8", + "vue": "^3.5.0" + }, + "peerDependenciesMeta": { + "async-validator": { + "optional": true + }, + "axios": { + "optional": true + }, + "change-case": { + "optional": true + }, + "drauu": { + "optional": true + }, + "focus-trap": { + "optional": true + }, + "fuse.js": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "jwt-decode": { + "optional": true + }, + "nprogress": { + "optional": true + }, + "qrcode": { + "optional": true + }, + "sortablejs": { + "optional": true + }, + "universal-cookie": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-14.3.0.tgz", + "integrity": "sha512-BwxmbAzwAVF50+MW57GXOUEV61nFBGnlBvrTqj49PqWJu3uw7hdu72ztXeZ33RdZtDY6kO+bfCAE1PCn88Tktw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-14.3.0.tgz", + "integrity": "sha512-bZpge9eSXwa4ToSiqJ7j6KRwhAsneMFoSz3LMWKQDkqimm3D/tbFlrklrs/IOqC8tEcYmXQZJ6N0UrjhBirVCg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/birpc": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz", + "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dev": true, + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/focus-trap": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-8.2.1.tgz", + "integrity": "sha512-6CxwrrFRquH7pDXb1mWxudkU9LSfYBMRZutpgddb2o6iwCk7cIRrBhyY3c8SGKcmIKdeMTrGSNg4Bedh2RSF/w==", + "dev": true, + "dependencies": { + "tabbable": "^6.4.0" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "dev": true + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lucide-vue-next": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lucide-vue-next/-/lucide-vue-next-1.0.0.tgz", + "integrity": "sha512-V6SPvx1IHTj/UY+FrIYWV5faISsPSb8BnWSFDxAtezWKvWc9ZZ40PDrdu1/Qb5vg4lHWr1hs1BAMGVGm6V1Xdg==", + "deprecated": "Package deprecated. Please use @lucide/vue instead.", + "peerDependencies": { + "vue": ">=3.0.1" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "dev": true + }, + "node_modules/markdown-it-container": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-4.0.0.tgz", + "integrity": "sha512-HaNccxUH0l7BNGYbFbjmGpf5aLHAMTinqRZQAEQbMr2cdD3z91Q6kIo1oUn1CQndkT03jat6ckrdRYuwwqLlQw==", + "dev": true + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/minisearch": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-7.2.0.tgz", + "integrity": "sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/oniguruma-parser": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", + "dev": true + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", + "dev": true, + "dependencies": { + "oniguruma-parser": "^0.12.2", + "regex": "^6.1.0", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/perfect-debounce": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.1.0.tgz", + "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "dev": true, + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "dev": true, + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "dev": true + }, + "node_modules/rollup": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.61.1.tgz", + "integrity": "sha512-I4KW6iuRpuu2uHBLraZ1wNZe0DP7lnRha+VJ9tNaYVaVgKhW0aI3h4RYnoRPeql0flHm/Co55b7snEDcOfOJrA==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.61.1", + "@rollup/rollup-android-arm64": "4.61.1", + "@rollup/rollup-darwin-arm64": "4.61.1", + "@rollup/rollup-darwin-x64": "4.61.1", + "@rollup/rollup-freebsd-arm64": "4.61.1", + "@rollup/rollup-freebsd-x64": "4.61.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.61.1", + "@rollup/rollup-linux-arm-musleabihf": "4.61.1", + "@rollup/rollup-linux-arm64-gnu": "4.61.1", + "@rollup/rollup-linux-arm64-musl": "4.61.1", + "@rollup/rollup-linux-loong64-gnu": "4.61.1", + "@rollup/rollup-linux-loong64-musl": "4.61.1", + "@rollup/rollup-linux-ppc64-gnu": "4.61.1", + "@rollup/rollup-linux-ppc64-musl": "4.61.1", + "@rollup/rollup-linux-riscv64-gnu": "4.61.1", + "@rollup/rollup-linux-riscv64-musl": "4.61.1", + "@rollup/rollup-linux-s390x-gnu": "4.61.1", + "@rollup/rollup-linux-x64-gnu": "4.61.1", + "@rollup/rollup-linux-x64-musl": "4.61.1", + "@rollup/rollup-openbsd-x64": "4.61.1", + "@rollup/rollup-openharmony-arm64": "4.61.1", + "@rollup/rollup-win32-arm64-msvc": "4.61.1", + "@rollup/rollup-win32-ia32-msvc": "4.61.1", + "@rollup/rollup-win32-x64-gnu": "4.61.1", + "@rollup/rollup-win32-x64-msvc": "4.61.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/shiki": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.23.0.tgz", + "integrity": "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==", + "dev": true, + "dependencies": { + "@shikijs/core": "3.23.0", + "@shikijs/engine-javascript": "3.23.0", + "@shikijs/engine-oniguruma": "3.23.0", + "@shikijs/langs": "3.23.0", + "@shikijs/themes": "3.23.0", + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dev": true, + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tabbable": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz", + "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==", + "dev": true + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.5.tgz", + "integrity": "sha512-KuOaNhcnGFN2zIPGA7wRmzF+lJA1sea7rHq17aiJ++9lzY1WWG6Jpwqwe1KNbRVPIqHmr8GLYx7jbrQcN/7/ww==", + "dev": true, + "dependencies": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vitepress": { + "version": "2.0.0-alpha.17", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-2.0.0-alpha.17.tgz", + "integrity": "sha512-Z3VPUpwk/bHYqt1uMVOOK1/4xFiWQov1GNc2FvMdz6kvje4JRXEOngVI9C+bi5jeedMSHiA4dwKkff1NCvbZ9Q==", + "dev": true, + "dependencies": { + "@docsearch/css": "^4.5.3", + "@docsearch/js": "^4.5.3", + "@docsearch/sidepanel-js": "^4.5.3", + "@iconify-json/simple-icons": "^1.2.69", + "@shikijs/core": "^3.22.0", + "@shikijs/transformers": "^3.22.0", + "@shikijs/types": "^3.22.0", + "@types/markdown-it": "^14.1.2", + "@vitejs/plugin-vue": "^6.0.4", + "@vue/devtools-api": "^8.0.5", + "@vue/shared": "^3.5.27", + "@vueuse/core": "^14.2.0", + "@vueuse/integrations": "^14.2.0", + "focus-trap": "^8.0.0", + "mark.js": "8.11.1", + "minisearch": "^7.2.0", + "shiki": "^3.22.0", + "vite": "^7.3.1", + "vue": "^3.5.27" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "peerDependencies": { + "markdown-it-mathjax3": "^4", + "oxc-minify": "*", + "postcss": "^8" + }, + "peerDependenciesMeta": { + "markdown-it-mathjax3": { + "optional": true + }, + "oxc-minify": { + "optional": true + }, + "postcss": { + "optional": true + } + } + }, + "node_modules/vitepress-plugin-tabs": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/vitepress-plugin-tabs/-/vitepress-plugin-tabs-0.9.0.tgz", + "integrity": "sha512-OB+/T6SkwGIQHIQi1NLl011kWCMzfsVEx0/q+NfF6EmvvpcfDzRClc/iEwUlq8TkQnFxANu+GTdmvtXEjJM2Lg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/sapphi-red" + }, + "peerDependencies": { + "vitepress": "^1.0.0 || ^2.0.0-alpha.17", + "vue": "^3.5.0" + } + }, + "node_modules/vue": { + "version": "3.5.35", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.35.tgz", + "integrity": "sha512-cx89fnr+0kVGHiNFG6y6s0bdjypJRFNZn6x3WPstNdQR1bi1mbB7h4v5IBGTsPJU3nK1+0Iqj3Zf+hZWMieR4Q==", + "dependencies": { + "@vue/compiler-dom": "3.5.35", + "@vue/compiler-sfc": "3.5.35", + "@vue/runtime-dom": "3.5.35", + "@vue/server-renderer": "3.5.35", + "@vue/shared": "3.5.35" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..037a400b --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "devDependencies": { + "@types/markdown-it-container": "^4.0.0", + "markdown-it-container": "^4.0.0", + "vitepress": "^2.0.0-alpha.17", + "vitepress-plugin-tabs": "^0.9.0" + }, + "scripts": { + "dev": "vitepress dev docs", + "build": "vitepress build docs", + "preview": "vitepress preview docs" + }, + "dependencies": { + "lucide-vue-next": "^1.0.0" + } +}