From 4d8c474a12d8b5ef7654df4c0a2ea944b7445c72 Mon Sep 17 00:00:00 2001 From: ninelore Date: Fri, 29 Dec 2023 00:46:51 +0000 Subject: [PATCH] deploy: ee133df9ea15642ece50153fe79047c70930bf46 --- 404.html | 2 +- about/index.html | 2 +- blog/index.html | 2 +- ...e84fdb5f3c3c765744b9f5bbaf43cf5a027910be07ee39a9c12a1.js | 2 +- index.html | 4 ++-- posts/001-my-first-post/index.html | 2 +- posts/002-why-i-stopped-using-linux/index.html | 2 +- posts/003-lets-talk-politics/index.html | 2 +- posts/004-manjaro/index.html | 2 +- posts/005/index.html | 2 +- posts/index.html | 2 +- project/aaps-term-build/index.html | 2 +- project/armaonlinux/index.html | 6 +++--- project/index.html | 2 +- projects/index.html | 2 +- series/index.html | 2 +- tags/index.html | 2 +- twitter/index.html | 2 +- 18 files changed, 21 insertions(+), 21 deletions(-) rename bundle.min.0931a358499291afca6f741478e9fc9fa973a9fbd7aeb3390f3b10463966dc8195daf98a0e33685a1fbfb9d7578631c3f31fc8e558eaf6e2c30c4c3e14df4931.js => bundle.min.46e438bd2eca7eb6358c700b40f6f56b22ab0b92503ecc11a2d8e4bcc610b8b4da83e5ea3d3e84fdb5f3c3c765744b9f5bbaf43cf5a027910be07ee39a9c12a1.js (96%) diff --git a/404.html b/404.html index 10651f3..0d6ba2b 100644 --- a/404.html +++ b/404.html @@ -2,4 +2,4 @@

\ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file diff --git a/about/index.html b/about/index.html index f187fef..3eb3186 100644 --- a/about/index.html +++ b/about/index.html @@ -10,4 +10,4 @@ I lived a very rough childhood with, I dare to say, abuse.">

About me

Many know me as ninelore, but my real name is Ingo. This is my personal Blog, and you should treat everything that you read in my blog posts as opinions if not stated otherwise.

Childhood

Born in the German State of Hesse, I got my first PC at the age of five, and my first contact with Linux with seven years.
I lived a very rough childhood with, I dare to say, abuse. Not only I had my own problems, but I had to witness the sorrow and depression of others too. I wont go into details here.

What i am today

I believe these expeiences made me very wise, astute and perfectionist. I have a constant dissatisfaction with politics and corporations that abuse their might. For example from October 2018 until March 2021 I mainly used Linux because I refused to use Windows. This time teached me alot about not only the importance of open source, but also of real life topics like climate change, manipulation of politics by lobbying, the dangers of might monopoly and other things.

I’ve started a software engineering Job in 2022.

My Interests

  • Coding
  • Cloud Computing
  • Gaming
    • Final Fantasy XIV, World of Warcraft
    • Digital Combat Simulator: World
    • Warframe
    • Monster Hunter World
  • Cycling
  • Metal music
  • Diabetes Technology

I may have or will post(ed) blogposts about any topic mentioned here. Be sure to check them out :)


\ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file diff --git a/blog/index.html b/blog/index.html index 448296c..c989686 100644 --- a/blog/index.html +++ b/blog/index.html @@ -1,4 +1,4 @@ Blog :: Hi, Im ninelore! — Just a human being...

Blog

\ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file diff --git a/bundle.min.0931a358499291afca6f741478e9fc9fa973a9fbd7aeb3390f3b10463966dc8195daf98a0e33685a1fbfb9d7578631c3f31fc8e558eaf6e2c30c4c3e14df4931.js b/bundle.min.46e438bd2eca7eb6358c700b40f6f56b22ab0b92503ecc11a2d8e4bcc610b8b4da83e5ea3d3e84fdb5f3c3c765744b9f5bbaf43cf5a027910be07ee39a9c12a1.js similarity index 96% rename from bundle.min.0931a358499291afca6f741478e9fc9fa973a9fbd7aeb3390f3b10463966dc8195daf98a0e33685a1fbfb9d7578631c3f31fc8e558eaf6e2c30c4c3e14df4931.js rename to bundle.min.46e438bd2eca7eb6358c700b40f6f56b22ab0b92503ecc11a2d8e4bcc610b8b4da83e5ea3d3e84fdb5f3c3c765744b9f5bbaf43cf5a027910be07ee39a9c12a1.js index 41e69a6..24c8f21 100644 --- a/bundle.min.0931a358499291afca6f741478e9fc9fa973a9fbd7aeb3390f3b10463966dc8195daf98a0e33685a1fbfb9d7578631c3f31fc8e558eaf6e2c30c4c3e14df4931.js +++ b/bundle.min.46e438bd2eca7eb6358c700b40f6f56b22ab0b92503ecc11a2d8e4bcc610b8b4da83e5ea3d3e84fdb5f3c3c765744b9f5bbaf43cf5a027910be07ee39a9c12a1.js @@ -1,4 +1,4 @@ -const themeToggle=document.querySelector(".theme-toggle"),chosenTheme=window.localStorage&&window.localStorage.getItem("theme"),chosenThemeIsDark=chosenTheme=="dark",chosenThemeIsLight=chosenTheme=="light";function detectOSColorTheme(){chosenThemeIsDark?document.documentElement.setAttribute("data-theme","dark"):chosenThemeIsLight?document.documentElement.setAttribute("data-theme","light"):window.matchMedia("(prefers-color-scheme: dark)").matches?document.documentElement.setAttribute("data-theme","dark"):document.documentElement.setAttribute("data-theme","light")}function switchTheme(){chosenThemeIsDark?localStorage.setItem("theme","light"):chosenThemeIsLight?localStorage.setItem("theme","dark"):document.documentElement.getAttribute("data-theme")=="dark"?localStorage.setItem("theme","light"):localStorage.setItem("theme","dark"),detectOSColorTheme(),window.location.reload()}themeToggle?(themeToggle.addEventListener("click",switchTheme,!1),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>e.matches&&detectOSColorTheme()),window.matchMedia("(prefers-color-scheme: light)").addEventListener("change",e=>e.matches&&detectOSColorTheme()),detectOSColorTheme()):localStorage.removeItem("theme");const menuTrigger=document.querySelector(".menu-trigger"),menu=document.querySelector(".menu"),mobileQuery=getComputedStyle(document.body).getPropertyValue("--phoneWidth"),isMobile=()=>window.matchMedia(mobileQuery).matches,isMobileMenu=()=>{menuTrigger&&menuTrigger.classList.toggle("hidden",!isMobile()),menu&&menu.classList.toggle("hidden",isMobile())};isMobileMenu(),menuTrigger&&menuTrigger.addEventListener("click",()=>menu&&menu.classList.toggle("hidden")),window.addEventListener("resize",isMobileMenu);const language=document.getElementsByTagName("html")[0].lang,logo=document.querySelector(".logo__pathname");logo&&(window.onload=()=>{let e=window.location.pathname.substring(1);e=e.replace(language+"/",""),logo.textContent+=e.substring(0,e.indexOf("/"))});var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){var s,r,o=/\blang(?:uage)?-([\w-]+)\b/i,l=0,t={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof n?new n(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);f+=h.value.length,h=h.next){if(b=h.value,o.length>s.length)return;if(!(b instanceof n)){if(O=1,F){if(!(g=c(z,f,s,A)))break;var C=g.index,N=g.index+g[0].length,p=f;for(p+=h.value.length;p<=C;)h=h.next,p+=h.value.length;if(p-=h.value.length,f=p,h.value instanceof n)continue;for(j=h;j!==o.tail&&(pd.reach&&(d.reach=E),w=h.prev,k&&(w=i(o,w,k),f+=k.length),u(o,w,O),D=new n(_,S?t.tokenize(x,S):x,L,x),h=i(o,w,D),T&&i(o,h,T),1"+o.content+""},!e.document)return e.addEventListener&&(t.disableWorkerMessageHandler||e.addEventListener("message",function(n){var s=JSON.parse(n.data),o=s.language,i=s.code,a=s.immediateClose;e.postMessage(t.highlight(i,t.languages[o],o)),a&&e.close()},!1)),t;s=t.util.currentScript();function a(){t.manual||t.highlightAll()}return(s&&(t.filename=s.src,s.hasAttribute("data-manual")&&(t.manual=!0)),!t.manual)&&(r=document.readyState,"loading"===r||"interactive"===r&&s&&s.defer?document.addEventListener("DOMContentLoaded",a):window.requestAnimationFrame?window.requestAnimationFrame(a):window.setTimeout(a,16)),t}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism),Prism.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/,name:/[^\s<>'"]+/}},cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>/=$<%]+(?:\s(?:\s*[^\s>/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>/]+/,inside:{namespace:/^[^\s>/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(e,t){var s,o,n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[t]},n.cdata=/^$/i,s={"included-cdata":{pattern://i,inside:n}},s["language-"+t]={pattern:/[\s\S]+/,inside:Prism.languages[t]},o={},o[e]={pattern:RegExp("(<__[^>]*>)(?:))*\\]\\]>|(?!)".replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:s},Prism.languages.insertBefore("markup","cdata",o)}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml,!function(e){var n,t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+`|(?:[^\\\\ +const themeToggle=document.querySelector(".theme-toggle"),chosenTheme=window.localStorage&&window.localStorage.getItem("theme"),chosenThemeIsDark=chosenTheme=="dark",chosenThemeIsLight=chosenTheme=="light";function detectOSColorTheme(){chosenThemeIsDark?document.documentElement.setAttribute("data-theme","dark"):chosenThemeIsLight?document.documentElement.setAttribute("data-theme","light"):window.matchMedia("(prefers-color-scheme: dark)").matches?document.documentElement.setAttribute("data-theme","dark"):document.documentElement.setAttribute("data-theme","light")}function switchTheme(){chosenThemeIsDark?localStorage.setItem("theme","light"):chosenThemeIsLight?localStorage.setItem("theme","dark"):document.documentElement.getAttribute("data-theme")=="dark"?localStorage.setItem("theme","light"):localStorage.setItem("theme","dark"),detectOSColorTheme(),window.location.reload()}themeToggle?(themeToggle.addEventListener("click",switchTheme,!1),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>e.matches&&detectOSColorTheme()),window.matchMedia("(prefers-color-scheme: light)").addEventListener("change",e=>e.matches&&detectOSColorTheme()),detectOSColorTheme()):localStorage.removeItem("theme");const menuTrigger=document.querySelector(".menu-trigger"),menu=document.querySelector(".menu"),mobileQuery=getComputedStyle(document.body).getPropertyValue("--phoneWidth"),isMobile=()=>window.matchMedia(mobileQuery).matches,isMobileMenu=()=>{menuTrigger&&menuTrigger.classList.toggle("hidden",!isMobile()),menu&&menu.classList.toggle("hidden",isMobile())};isMobileMenu(),menuTrigger&&menuTrigger.addEventListener("click",()=>menu&&menu.classList.toggle("hidden")),window.addEventListener("resize",isMobileMenu);const language=document.getElementsByTagName("html")[0].lang,logo=document.querySelector(".logo__pathname");logo&&(window.onload=()=>{let e=window.location.pathname.substring(1);e=e.replace(language+"/",""),logo.textContent+=e.substring(0,e.indexOf("/"))});var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){var s,r,o=/\blang(?:uage)?-([\w-]+)\b/i,l=0,t={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof n?new n(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);f+=h.value.length,h=h.next){if(b=h.value,o.length>s.length)return;if(!(b instanceof n)){if(O=1,F){if(!(g=c(z,f,s,A)))break;var C=g.index,N=g.index+g[0].length,p=f;for(p+=h.value.length;p<=C;)h=h.next,p+=h.value.length;if(p-=h.value.length,f=p,h.value instanceof n)continue;for(j=h;j!==o.tail&&(pd.reach&&(d.reach=E),w=h.prev,k&&(w=i(o,w,k),f+=k.length),u(o,w,O),D=new n(_,S?t.tokenize(x,S):x,L,x),h=i(o,w,D),T&&i(o,h,T),1"+o.content+""},!e.document)return e.addEventListener&&(t.disableWorkerMessageHandler||e.addEventListener("message",function(n){var s=JSON.parse(n.data),o=s.language,i=s.code,a=s.immediateClose;e.postMessage(t.highlight(i,t.languages[o],o)),a&&e.close()},!1)),t;s=t.util.currentScript();function a(){t.manual||t.highlightAll()}return(s&&(t.filename=s.src,s.hasAttribute("data-manual")&&(t.manual=!0)),!t.manual)&&(r=document.readyState,"loading"===r||"interactive"===r&&s&&s.defer?document.addEventListener("DOMContentLoaded",a):window.requestAnimationFrame?window.requestAnimationFrame(a):window.setTimeout(a,16)),t}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism),Prism.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/,name:/[^\s<>'"]+/}},cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>/=$<%]+(?:\s(?:\s*[^\s>/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>/]+/,inside:{namespace:/^[^\s>/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(e,t){var s,o,n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[t]},n.cdata=/^$/i,s={"included-cdata":{pattern://i,inside:n}},s["language-"+t]={pattern:/[\s\S]+/,inside:Prism.languages[t]},o={},o[e]={pattern:RegExp("(<__[^>]*>)(?:))*\\]\\]>|(?!)".replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:s},Prism.languages.insertBefore("markup","cdata",o)}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml,!function(e){var n,t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+`|(?:[^\\\\ ()"']|\\\\[^])*)\\)`,"i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:RegExp(`[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,n=e.languages.markup,n&&(n.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/(^|["'\s])style\s*=\s*(?:"[^"]*"|'[^']*')/i,lookbehind:!0,inside:{"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{style:{pattern:/(["'])[\s\S]+(?=["']$)/,lookbehind:!0,alias:"language-css",inside:e.languages.css},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},"attr-name":/^style/i}}},n.tag))}(Prism),Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[[$\w\xA0-\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-flags":/[a-z]+$/,"regex-delimiter":/^\/|\/$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.js=Prism.languages.javascript,Prism.languages.ada={comment:/--.*/,string:/"(?:""|[^"\r\f\n])*"/i,number:[{pattern:/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[+-]?\d(?:_?\d)*)?/i},{pattern:/\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[+-]?\d(?:_?\d)*)?\b/i}],"attr-name":/\b'\w+/i,keyword:/\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|new|return|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|not|null|of|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\b/i,boolean:/\b(?:true|false)\b/i,operator:/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[&+-]/,punctuation:/\.\.?|[,;():]/,char:/'.'/,variable:/\b[a-z](?:[_a-z\d])*\b/i},Prism.languages.apacheconf={comment:/#.*/,"directive-inline":{pattern:/(^\s*)\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|Type|UserFile|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferSize|BufferedLogs|CGIDScriptTimeout|CGIMapExtension|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DTracePrivileges|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtFilterDefine|ExtFilterOptions|ExtendedStatus|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|KeepAlive|KeepAliveTimeout|KeptBodySize|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|LanguagePriority|Limit(?:InternalRecursion|Request(?:Body|FieldSize|Fields|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|MMapFile|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|ModMimeUsePathInfo|ModemStandard|MultiviewsMatch|Mutex|NWSSLTrustedCerts|NWSSLUpgradeable|NameVirtualHost|NoProxy|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|RLimitCPU|RLimitMEM|RLimitNPROC|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|SSIETag|SSIEndTag|SSIErrorMsg|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|SRPUnknownUserSeed|SRPVerifierFile|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UseStapling|UserName|VerifyClient|VerifyDepth)|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadStackSize|ThreadsPerChild|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im,lookbehind:!0,alias:"property"},"directive-block":{pattern:/<\/?\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\b.*>/i,inside:{"directive-block":{pattern:/^<\/?\w+/,inside:{punctuation:/^<\/?/},alias:"tag"},"directive-block-parameter":{pattern:/.*[^>]/,inside:{punctuation:/:/,string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}}},alias:"attr-value"},punctuation:/>/},alias:"tag"},"directive-flags":{pattern:/\[(?:[\w=],?)+\]/,alias:"keyword"},string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}},variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/,regex:/\^?.*\$|\^.*\$?/},!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",o={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},n={bash:o,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!/]|##?|%%?|\^\^?|,,?/,punctuation:/[[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b\w+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+?)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:o}},{pattern:/(^|[^\\](?:\\\\)*)(["'])(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|(?!\2)[^\\`$])*\2/,lookbehind:!0,greedy:!0,inside:n}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},o.inside=e.languages.bash;for(var i=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=n.variable[1].inside,s=0;s>)?=)/],number:o,operator:/[*/%+\-&^|]=?|<<=?|>>=?|[!~_=]/,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \t]*@?)\w+\b(?:"(?:[\\"]"|[^"])*"(?!")|[^"^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,lookbehind:!0,inside:{keyword:/^\w+\b/i,string:s,parameter:n,label:{pattern:/(^\s*):\S+/m,lookbehind:!0,alias:"property"},variable:t,number:o,operator:/\^/}}],operator:/[&@]/,punctuation:/[()']/}}(),Prism.languages.c=Prism.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,function:/[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),Prism.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],comment:Prism.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete Prism.languages.c.boolean,!function(e){function n(e,t){return e.replace(/<<(\d+)>>/g,function(e,n){return"(?:"+t[+n]+")"})}function t(e,t,s){return RegExp(n(e,t),s||"")}function r(e,t){for(var n=0;n>/g,function(){return"(?:"+e+")"});return e.replace(/<>/g,"[^\\s\\S]")}var S="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",l="class enum interface struct",_="add alias and ascending async await by descending from get global group into join let nameof not notnull on or orderby partial remove select set unmanaged value when where",f="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function d(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var g=d(l),u=RegExp(d(S+" "+l+" "+_+" "+f)),T=d(l+" "+_+" "+f),D=d(S+" "+l+" "+f),c=r("<(?:[^<>;=+\\-*/%&|^]|<>)*>",2),C=r("\\((?:[^()]|<>)*\\)",2),o="@?\\b[A-Za-z_]\\w*\\b",p=n("<<0>>(?:\\s*<<1>>)?",[o,c]),i=n("(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*",[T,p]),m="\\[\\s*(?:,\\s*)*\\]",z=n("<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?",[i,m]),a=n("(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?",[n("\\(<<0>>+(?:,<<0>>+)+\\)",[n("[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>",[c,C,m])]),i,m]),s={keyword:u,punctuation:/[<>()?,.:[\]]/},w=`'(?:[^ '\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'`,O=`"(?:\\\\.|[^\\\\" ])*"`;e.languages.csharp=e.languages.extend("clike",{string:[{pattern:t("(^|[^$\\\\])<<0>>",['@"(?:""|\\\\[^]|[^\\\\"])*"(?!")']),lookbehind:!0,greedy:!0},{pattern:t("(^|[^@$\\\\])<<0>>",[O]),lookbehind:!0,greedy:!0},{pattern:RegExp(w),greedy:!0,alias:"character"}],"class-name":[{pattern:t("(\\busing\\s+static\\s+)<<0>>(?=\\s*;)",[i]),lookbehind:!0,inside:s},{pattern:t("(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)",[o,a]),lookbehind:!0,inside:s},{pattern:t("(\\busing\\s+)<<0>>(?=\\s*=)",[o]),lookbehind:!0},{pattern:t("(\\b<<0>>\\s+)<<1>>",[g,p]),lookbehind:!0,inside:s},{pattern:t("(\\bcatch\\s*\\(\\s*)<<0>>",[i]),lookbehind:!0,inside:s},{pattern:t("(\\bwhere\\s+)<<0>>",[o]),lookbehind:!0},{pattern:t("(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>",[z]),lookbehind:!0,inside:s},{pattern:t("\\b<<0>>(?=\\s+(?!<<1>>)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))",[a,D,o]),inside:s}],keyword:u,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:ul|lu|[dflmu])?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:t("([(,]\\s*)<<0>>(?=\\s*:)",[o]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:t("(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])",[o]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:t("(\\b(?:default|typeof|sizeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))",[C]),lookbehind:!0,alias:"class-name",inside:s},"return-type":{pattern:t("<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))",[a,i]),inside:s,alias:"class-name"},"constructor-invocation":{pattern:t("(\\bnew\\s+)<<0>>(?=\\s*[[({])",[a]),lookbehind:!0,inside:s,alias:"class-name"},"generic-method":{pattern:t("<<0>>\\s*<<1>>(?=\\s*\\()",[o,c]),inside:{function:t("^<<0>>",[o]),generic:{pattern:RegExp(c),alias:"class-name",inside:s}}},"type-list":{pattern:t("\\b((?:<<0>>\\s+<<1>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>)(?:\\s*,\\s*(?:<<3>>|<<4>>))*(?=\\s*(?:where|[{;]|=>|$))",[g,p,o,a,u.source]),lookbehind:!0,inside:{keyword:u,"class-name":{pattern:RegExp(a),greedy:!0,inside:s},punctuation:/,/}},preprocessor:{pattern:/(^\s*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(\s*#)\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var x=O+"|"+w,v=n(`/(?![*/])|//[^ diff --git a/index.html b/index.html index 807d046..46b6118 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ -Hi, Im ninelore! — Just a human being... +<!doctype html><html lang=en><head><meta name=generator content="Hugo 0.121.1"><meta charset=UTF-8><meta http-equiv=X-UA-Compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=author content><meta name=description content="Just a human being..."><meta name=keywords content="homepage,personal,blog"><meta name=robots content="noodp"><meta name=theme-color content><link rel=canonical href=https://ninelore.org/><title>Hi, Im ninelore! — Just a human being...

Hi, Im ninelore!

Just a human being...

            
\ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file diff --git a/posts/001-my-first-post/index.html b/posts/001-my-first-post/index.html index 87c824c..8587815 100644 --- a/posts/001-my-first-post/index.html +++ b/posts/001-my-first-post/index.html @@ -6,4 +6,4 @@ experience i made opinions i need to share tutorials whatever else could come in my mind Why i decided to start a Blog It was the recent Post of the Lutris founder Mathieu that ignited an uge inside me that i should share my thoughs. I dont really know what anything else to say besides that.">

Welcome to ninelore’s Blog

Welcome to my new Blog

I decided to make this Blog to write about my thoughs, how random they may be. Possible Topics could be:

  • experience i made
  • opinions i need to share
  • tutorials
  • whatever else could come in my mind

Why i decided to start a Blog

It was the recent Post of the Lutris founder Mathieu that ignited an uge inside me that i should share my thoughs. I dont really know what anything else to say besides that.

I hope that you will like my content ;)



\ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file diff --git a/posts/002-why-i-stopped-using-linux/index.html b/posts/002-why-i-stopped-using-linux/index.html index 82c141f..1c5369f 100644 --- a/posts/002-why-i-stopped-using-linux/index.html +++ b/posts/002-why-i-stopped-using-linux/index.html @@ -12,4 +12,4 @@ Lets talk politics (german) Welcome to ninelore's Blog \ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file diff --git a/posts/003-lets-talk-politics/index.html b/posts/003-lets-talk-politics/index.html index 3727e54..5b4b8d8 100644 --- a/posts/003-lets-talk-politics/index.html +++ b/posts/003-lets-talk-politics/index.html @@ -12,4 +12,4 @@ Manjaro Linux' problems Why I stopped Using Linux \ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file diff --git a/posts/004-manjaro/index.html b/posts/004-manjaro/index.html index 7ef81d9..6133d56 100644 --- a/posts/004-manjaro/index.html +++ b/posts/004-manjaro/index.html @@ -28,4 +28,4 @@ Ping Lets talk politics (german) \ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file diff --git a/posts/005/index.html b/posts/005/index.html index a6c2b39..1d4b54d 100644 --- a/posts/005/index.html +++ b/posts/005/index.html @@ -10,4 +10,4 @@ Stay safe everyone">

Ping

Its been a while

…and I dont got anything to write about tbh.

Jut wanna let y’all know that I am aive

Stay safe everyone



\ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file diff --git a/posts/index.html b/posts/index.html index bc1c2c7..d6ca41c 100644 --- a/posts/index.html +++ b/posts/index.html @@ -6,4 +6,4 @@ Dec 11
  • Why I stopped Using Linux Mar 30
  • Welcome to ninelore's Blog Mar 22
  • \ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file diff --git a/project/aaps-term-build/index.html b/project/aaps-term-build/index.html index 8a61725..cdf4432 100644 --- a/project/aaps-term-build/index.html +++ b/project/aaps-term-build/index.html @@ -46,4 +46,4 @@ # (optional) verify successful signing apksigner verify --verbose wear-full-release-signed.apk

    Install app

    Copy the apk to your phone via your preferred way and install it.

    Tips for WSL:

    • run explorer.exe . to open the Windows Explorer in the current directory
    • run code <file> to open a file in Visual Studio Code
    • run code . to open the current directory in Visual Studio Code

    \ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file diff --git a/project/armaonlinux/index.html b/project/armaonlinux/index.html index 156a47c..e669d1c 100644 --- a/project/armaonlinux/index.html +++ b/project/armaonlinux/index.html @@ -1,7 +1,7 @@ Play Arma on Linux :: Hi, Im ninelore! — Just a human being...

    Play Arma on Linux

    Preamble

    A few months and improvements to Proton after its first release, i had the first known, good working Arma installation on Linux.

    Since Proton 4.11 as good as all tweaks needed to run Arma became obsolete, and it became as easy as never before to play not only Arma and Steam Games, but also non-Steam games because of many Proton improvements being up streamed to Wine. You can check if your games are working on the Lutris website, the WineHQ and the ProtonDB websites.

    With the release of Proton 6.3-8, the last major burden, BattleEye, is now working and we can play Arma 3 on Linux without any restriction! @@ -10,5 +10,5 @@

    Now go into the Steam game settings menu and add the %command% -nolauncher to the launch options

    Then go into the “Compatibility” Tab and set the Proton version again

    Now you can start the downlaod of Arma 3.

    3. Starting and playing the Game

    When the download is finished, start the game once and exit it again after reaching the main menu.

    Now you need a launcher to manage Mods and launch options. I highly recommend using the Arma 3 Unix Launcher by muttleyxd instead of the official launcher. -Download: Arch Linux AUR | as .deb or .AppImage

    This is everything you need to play Arma 3 on Linux without ACRE2 or TFAR. Congratulations to get this far. ;)

    4. The Helper script and ACRE2 / TFAR

    Important: Make sure to start Arma at least once into the main menu before moving on!

    4.1 The Helper script

    The Arma3Helper Script (formerly Arma3TS.sh) is reqired to run ACRE2 or TFAR on Linux. It also provides utility to make some troubleshooting (see Chapter 5) easier.

    Place the Arma3Helper.sh provided here (click me) in your home directory for easy access.
    Edit the file and adjust the settings inside the marked area in that file according to the comments.

    4.2 Preperation for ACRE2 / TFAR

    The Arma3Helper script provides a wrapper for winetricks that will set the wineprefix to Arma’s compatdata folder after you adjusted the settings inside the script.
    To install a variety of DLLs/features that are required for ACRE2 / TFAR as well as fix alot of common issues, run the following command.
    ./Arma3Helper.sh winetricks Arma
    For transparency: The DLLs/features installed are d3dcompiler_43, d3dx10_43, d3dx11_43, mfc140 and xact_x64.

    4.3 ACRE2 / TFAR

    Download Teamspeak 3 for Windows x64(!).
    Install Teamspeak into the compatdata directory of Arma by running
    ./Arma3Helper.sh install path/to/TS3-Installer.exe.
    IMPORTANT: In the Teamspeak installer, select “Install for all Users” and leave the default path!!!

    After the insallation you can start TeamSpeak by just running ./Arma3Helper.sh After you have started Arma.

    Before joining a TeamSpeak server, disable the “Gamepad and Joystick Hotkey Support” plugin to prevent it from crashing.

    For TFAR you need to manually copy the plugin dll’s folders into your Teamspeak path (c/Program Files/TeamSpeak 3 Client/plugins/). Note that a .ts3plugin file is nothing but a ZIP with a different extension. Just unzip it with the tool of your choice.

    5. TroubleshTeamSpeak Gamepad plugin notice, the official launcher is now usableooting

    Note: Some troubleshooting steps require the Arma3Helper script. See Chapter 4.1 for more info. Alternatively you can use protontricks.

    5.1 I have problems with sound and/or thermal vision

    See Chapter 4.2

    5.2 I still have problems with sound (only for Proton 6.3 and older!)

    You have 2 options to achieve the same fix.
    You can set the enviromental variable WINEDLLOVERRIDES="xaudio2_7=n" in the Steam startup options (or via the Arma 3 Unix Launcher).

    The other way is to set it via ./Arma3Helper.sh winecfg and then under “Libraries”.

    5.3 Arma doesnt open or crashes instantly

    Run the following command depending on your linux distro to install possibly missing dependencies
    Arch Linux based: sudo pacman -S vulkan-tools
    Debian/Ubuntu based: sudo apt install mesa-vulkan-drivers vulkan-utils
    Fedora: sudo dnf install mesa-vulkan-drivers vulkan-tools

    5.4 Command X returns error Y

    Double check for software and driver updates as well as the spelling of the commands and the settings. If you still got errors continue to Chapter 5.99

    5.99 I still have a problem

    More help is available on the ArmaOnUnix Discord
    Important: Do not open a issue in ninelore/armaonunix before asking on the Discord!

    6. Increasing Performance

    6.1 Additional Launch Parameters

    Try a combination of one or more of the following to see what works for you the best. Set them as desired via the Arma 3 Unix Launcher or add them to the Steam command line.

    • -noSplash No splash screens. Game startup speedup.
    • -skipIntro Static Background for main manu. Minor game startup speedup.
    • -world=empty Load an empty world for main menu background. Significant game startup speedup.
    • -exThreads=3 for 2 CPU cores or -exThreads=7 for 4 cores or more; Offloads some work onto different threads. Usually a minor FPS Increase.
    • -enableHT enables use of logical cores instead of only physical cores. May improve or harm FPS depending of your PC. Try if it works for you. This is overwritten by -cpuCount.
    • -hugepages Enable huge page size for memory allocation. Try if it works for you.
    • -noLogs Not having to write logs may increase performance, but be sure to disable this if you need to troubleshoot problems.
    • -malloc=<string> Use a particular Memory Allocator (for advanced users, more info here).
    • -cpuCount=1 Reportedly solves some issure for some people but might decrease performance. NOTE: This should be fixed on the arma perf branch and will find its way into the release branch of Arma soon.

    6.2 General Linux gaming optimizations

    Note: These Tips aren’t exclusive to Arma, but will apply to almost all Linux gaming.

    • Use a non-standard kernel:

      • Arch Linux oficially supports the linux-zen kernel in its repositories
      • Debian / Ubuntu users can try the Liquorix or XanMod kernels
      • Advanced users can build a customized kernel for their system with the help of linux-tkg
    • Use different desktop enviroment or optimize a slow one:

      • KDE Plasma users can replace kwin with kwin-lowlatency
      • You might want to switch to a slimmer desktop enviroment like XFCE, LXQt or a bare window manager setup (advanced users)

    Epilogue

    This Guide was first released in the Armaworld Forums by me. If you have Feedback or Questions dont hesitate to open a Issue.


    \ No newline at end of file +Download: Arch Linux AUR | as .deb or .AppImage

    This is everything you need to play Arma 3 on Linux without ACRE2 or TFAR. Congratulations to get this far. ;)

    4. The Helper script and ACRE2 / TFAR

    Important: Make sure to start Arma at least once into the main menu before moving on!

    4.1 The Helper script

    The Arma3Helper Script (formerly Arma3TS.sh) is reqired to run ACRE2 or TFAR on Linux. It also provides utility to make some troubleshooting (see Chapter 5) easier.

    Place the Arma3Helper.sh provided here (click me) in your home directory for easy access.
    Edit the file and adjust the settings inside the marked area in that file according to the comments.

    4.2 Preperation for ACRE2 / TFAR

    The Arma3Helper script provides a wrapper for winetricks that will set the wineprefix to Arma’s compatdata folder after you adjusted the settings inside the script.
    To install a variety of DLLs/features that are required for ACRE2 / TFAR as well as fix alot of common issues, run the following command.
    ./Arma3Helper.sh winetricks Arma
    For transparency: The DLLs/features installed are d3dcompiler_43, d3dx10_43, d3dx11_43, mfc140 and xact_x64.

    4.3 ACRE2 / TFAR

    Download Teamspeak 3 for Windows x64(!).
    Install Teamspeak into the compatdata directory of Arma by running
    ./Arma3Helper.sh install path/to/TS3-Installer.exe.
    IMPORTANT: In the Teamspeak installer, select “Install for all Users” and leave the default path!!!

    After the insallation you can start TeamSpeak by just running ./Arma3Helper.sh After you have started Arma.

    Before joining a TeamSpeak server, disable the “Gamepad and Joystick Hotkey Support” plugin to prevent it from crashing.

    For TFAR you need to manually copy the plugin dll’s folders into your Teamspeak path (c/Program Files/TeamSpeak 3 Client/plugins/). Note that a .ts3plugin file is nothing but a ZIP with a different extension. Just unzip it with the tool of your choice.

    5. Troubleshooting

    Note: Some troubleshooting steps require the Arma3Helper script. See Chapter 4.1 for more info. Alternatively you can use protontricks.

    5.1 I have problems with sound and/or thermal vision

    See Chapter 4.2

    5.2 I still have problems with sound (only for Proton 6.3 and older!)

    You have 2 options to achieve the same fix.
    You can set the enviromental variable WINEDLLOVERRIDES="xaudio2_7=n" in the Steam startup options (or via the Arma 3 Unix Launcher).

    The other way is to set it via ./Arma3Helper.sh winecfg and then under “Libraries”.

    5.3 Arma doesnt open or crashes instantly

    Run the following command depending on your linux distro to install possibly missing dependencies
    Arch Linux based: sudo pacman -S vulkan-tools
    Debian/Ubuntu based: sudo apt install mesa-vulkan-drivers vulkan-utils
    Fedora: sudo dnf install mesa-vulkan-drivers vulkan-tools

    5.4 Command X returns error Y

    Double check for software and driver updates as well as the spelling of the commands and the settings. If you still got errors continue to Chapter 5.99

    5.99 I still have a problem

    More help is available on the ArmaOnUnix Discord
    Important: Do not open a issue in ninelore/armaonunix before asking on the Discord!

    6. Increasing Performance

    6.1 Additional Launch Parameters

    Try a combination of one or more of the following to see what works for you the best. Set them as desired via the Arma 3 Unix Launcher or add them to the Steam command line.

    • -noSplash No splash screens. Game startup speedup.
    • -skipIntro Static Background for main manu. Minor game startup speedup.
    • -world=empty Load an empty world for main menu background. Significant game startup speedup.
    • -exThreads=3 for 2 CPU cores or -exThreads=7 for 4 cores or more; Offloads some work onto different threads. Usually a minor FPS Increase.
    • -enableHT enables use of logical cores instead of only physical cores. May improve or harm FPS depending of your PC. Try if it works for you. This is overwritten by -cpuCount.
    • -hugepages Enable huge page size for memory allocation. Try if it works for you.
    • -noLogs Not having to write logs may increase performance, but be sure to disable this if you need to troubleshoot problems.
    • -malloc=<string> Use a particular Memory Allocator (for advanced users, more info here).
    • -cpuCount=1 Reportedly solves some issure for some people but might decrease performance. NOTE: This should be fixed on the arma perf branch and will find its way into the release branch of Arma soon.

    6.2 General Linux gaming optimizations

    Note: These Tips aren’t exclusive to Arma, but will apply to almost all Linux gaming.

    • Use different desktop enviroment or optimize a slow one:

      • KDE Plasma users can replace kwin with kwin-lowlatency
      • You might want to switch to a slimmer desktop enviroment like XFCE, LXQt or a bare window manager setup (advanced users)
    • Advanced users can build a customized kernel for their system with the help of linux-tkg for performance gains

    Epilogue

    This Guide was first released in the Armaworld Forums by me. If you have Feedback or Questions dont hesitate to open a Issue.


    \ No newline at end of file diff --git a/project/index.html b/project/index.html index b898216..6bd10b9 100644 --- a/project/index.html +++ b/project/index.html @@ -3,4 +3,4 @@ \ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file diff --git a/projects/index.html b/projects/index.html index 0bbebf9..324436e 100644 --- a/projects/index.html +++ b/projects/index.html @@ -1,4 +1,4 @@ My Projects :: Hi, Im ninelore! — Just a human being... \ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file diff --git a/series/index.html b/series/index.html index 01749d3..d3cb3da 100644 --- a/series/index.html +++ b/series/index.html @@ -1,4 +1,4 @@ Series :: Hi, Im ninelore! — Just a human being... \ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file diff --git a/tags/index.html b/tags/index.html index 4f7b08b..8e0761e 100644 --- a/tags/index.html +++ b/tags/index.html @@ -1,4 +1,4 @@ Tags :: Hi, Im ninelore! — Just a human being... \ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file diff --git a/twitter/index.html b/twitter/index.html index bf887b1..64c1420 100644 --- a/twitter/index.html +++ b/twitter/index.html @@ -2,4 +2,4 @@ \ No newline at end of file +CC BY-NC-SA 4.0 \ No newline at end of file