diff --git a/frontend/content/ka/blog/10k-members.mdx b/frontend/content/ka/blog/10k-members.mdx
new file mode 100644
index 00000000000..f8b1cd2c69c
--- /dev/null
+++ b/frontend/content/ka/blog/10k-members.mdx
@@ -0,0 +1,38 @@
+---
+title: 10,000 Members!
+date: "2021-07-16T02:51:00"
+author: Potassium
+---
+
+მოგესალმებით ყველას !
+
+ჩვენ ახლახან მივაღწიეთ საოცარ ეტაპს: ოფიციალურად მივაღწიეთ 10,000 მომხმარებელს ჩვენს Discord-ში! 🥳🔟🥳
+
+ჩვენ ვიფიქრეთ, რომ გამოვიყენებდით ამ შესაძლებლობას მცირე განახლებისთვის, რადგან ვიცით, რომ დიდი დრო გავიდა და ყველას აინტერესებს რა ხდება!
+
+ვინაიდან დეველოპერის ყველა გუნდს აქვს სრულ განაკვეთზე სამუშაოები და სხვა ვალდებულებები, ჩვენ ყველანი ნამდვილად არეულობთ COVID-ის ვითარებაში. ეს იმას ნიშნავს, რომ დიდი დრო არ გვქონდა, რომ დაეთმოთ open.mp-ისთვის.
+
+მაგრამ ბოლო დროს ყველაფერი კვლავ განვითარდა, ჩვენ ჯერ კიდევ ცოცხლები ვართ, პროექტი მართლაც უფრო სწრაფად მიიწევს, ვიდრე ოდესმე, და ბოლო რამდენიმე კვირაში უფრო მეტი პროგრესი მივიღეთ, ვიდრე დიდი ხნის განმავლობაში!
+
+ჩვენ ძალიან ვამაყობთ ამ საქმით და ჩვენი საოცარი დახვეწილი გუნდით.
+
+ჩვენ მოგცემთ უფრო დეტალურ ინფორმაციას უახლოეს თვეებში, მაგრამ ჩვენ უბრალოდ გვინდოდა დავრწმუნდეთ, რომ ყველამ იცის, რომ ჩვენ არ მივატოვეთ open.mp, ვნება ჯერ კიდევ არსებობს და ჩვენ ვაკეთებთ მაქსიმუმს, რაც შეგვიძლია. ასე რომ, გთხოვთ, დაგვიკავშირდეთ, რადგან ძალიან მალე გვექნება სიახლეები და რამდენიმე ეკრანის სურათი და ვიდეო!
+
+ამასობაში მოდი ჩვენთან ერთად Discord-ზე! მადლობა 10,000+ თქვენგანს 🥰
+
+ჩვენი Discord სერვერი თბილი და მისასალმებელი ადგილია სან ანდრეასის ყველა მულტიპლეიერის რეჟიმისა და თემის მოთამაშეებისა და მეგობრებისთვის! ზოგიერთი რამ, რასაც ჩვენ ხელს ვუწყობთ არის:
+
+✅ საზოგადოება: გაერთეთ რეგულარებთან, შეხვდით ახალ ადამიანებს, იპოვეთ ძველი მეგობრები და ვეტერანი მოთამაშეები, იპოვნეთ ხალხი თქვენი ქვეყნის/რეგიონიდან ენის სპეციფიკურ არხებში, შეხვდით ხალხს SA-MP / MTA / სხვა მულტიფლეიერ მოდებიდან.
+
+✅ სკრიპტინგი: ისწავლეთ დამწერლობა, მიიღეთ დახმარება თქვენი სკრიპტების შესახებ, დაეხმარეთ სხვებს
+
+✅ სერვერის რეკლამები: აჩვენეთ თქვენი SA-MP სერვერი სპეციალურ არხებში
+
+✅ პროგრამირება და ტექნიკა: განიხილეთ და მიიღეთ დახმარება სხვა პროგრამირების ენებთან და პროგრამული უზრუნველყოფის შემუშავებასთან, ტექნიკურ მხარდაჭერასთან, შეხვდით სხვა თანამოაზრეებთან მუშაობას
+
+✅ თამაშები: იპოვეთ ადამიანები, რომლებთანაც შეგიძლიათ ითამაშოთ თამაშები (არა მხოლოდ SA!), განიხილეთ თამაშების სიახლეები და განახლებები
+
+✅ გამოფენა: YouTuber ხართ? სტრიმერი? მხატვარი? მაგარი მუსიკის გაკეთება? შეფ-მზარეული ხარ? იქნებ თევზაობ? ან ავაშენოთ მანქანები? რითაც ამაყობ, აჩვენე!
+
+✅ open.mp: იყავით განახლებული open.mp-ის განვითარების უახლესი პროგრესისა და GitHub მოძრაობების შესახებ, გაერთეთ გუნდთან, უყურეთ ჩვენს Discord VIP-ს ექსკლუზიურ დეველოპერის ნაკადებს, როდესაც ისინი სარეზერვო და გაშვებული იქნება!
+
diff --git a/frontend/content/ka/blog/debugging.mdx b/frontend/content/ka/blog/debugging.mdx
new file mode 100644
index 00000000000..666bccf40c6
--- /dev/null
+++ b/frontend/content/ka/blog/debugging.mdx
@@ -0,0 +1,139 @@
+---
+title: Testing in open.mp
+date: "2020-04-06T23:47:00"
+author: Y_Less
+---
+
+Testing in SA:MP is not very easy. For the most part it is just connecting to the server and placing prints everywhere. Libraries such as y_testing make writing unit tests much easier, but only for fairly "pure" code - that is, code that runs on the server without much player interaction. You can test a surprising amount of behaviour like this, but it is still limited and doesn't help narrow down issues when they do crop up.
+
+So how does open.mp address this? Well to begin with, the code is open-source, so you have the full range of existing debugging tools such as GDB and Visual Studio available to you for stepping through and inspecting code. We also have plans to add similar tools for pawn scripts themselves.
+
+But the biggest addition is the "mock" library. Very simply, this allows you to create fake players that act exactly like real players, but without any connected client. So any actions performed on them by a script can be read and analysed by another script. Let's take the most simple example possible for a first demonstration - showing a player a checkpoint, and confirming it was sent. With y_testing you do the action and then have to actually ask the player if it happened, which is slow, not repeatable, and just tedious:
+
+```pawn
+PTEST__ SetPlayerCheckpoint(playerid)
+{
+ SetPlayerCheckpoint(playerid, 0.0, 0.0, 4.0, 5.0);
+ ASK("Do you see a checkpoint in the middle of the world?");
+}
+```
+
+Using a library like "Pawn.RakNet" can remove the question, by automating the checking of outgoing packets, but still requires a connected player so can't be automated and repeated:
+
+```pawn
+static
+ gCheckpointPlayer,
+ Float:gX,
+ Float:gY,
+ Float:gZ,
+ Float:gS;
+
+PTEST__ SetPlayerCheckpoint(playerid)
+{
+ SetPlayerCheckpoint(playerid, 0.0, 0.0, 4.0, 5.0);
+ ASSERT(gX == 0.0);
+ ASSERT(gY == 0.0);
+ ASSERT(gZ == 4.0);
+ ASSERT(gS == 5.0);
+ ASSERT(gCheckpointPlayer == playerid);
+}
+
+OPacket:107(playerid, BitStream:bs)
+{
+ gCheckpointPlayer = playerid;
+
+ BS_IgnoreBits(bs, 8);
+ BS_ReadFloat(bs, gX);
+ BS_ReadFloat(bs, gY);
+ BS_ReadFloat(bs, gZ);
+ BS_ReadFloat(bs, gS);
+
+ return 1;
+}
+```
+
+With open.mp, we have an API similar to that of Pawn.RakNet, but with fake players. So you create a player, without a game instance, and use that exactly like a normal player:
+
+```pawn
+TEST__ SetPlayerCheckpoint()
+{
+ new playerid = Mock_CreatePlayer("Mr Mock");
+
+ // Clear all existing packets, for ease of searching.
+ Mock_PurgeSent(playerid);
+
+ // Show a checkpoint normally.
+ SetPlayerCheckpoint(playerid, 0.0, 0.0, 4.0, 5.0);
+
+ // Check a "SetCheckpoint" packet was seen.
+ new MockPacket:packet = Mock_GetPacket(playerid, "SetCheckpoint");
+ ASSERT(packet);
+ if (!packet) return;
+
+ // Check the packet has 4 components, each 32 bits.
+ ASSERT(MockPacket_Components(packet) == 4);
+ ASSERT(MockPacket_Bits(packet) == 4 * 32);
+
+ // Check the various components.
+ new Float:tmp;
+ ASSERT(MockPacket_ReadFloat(packet, 0, tmp));
+ ASSERT(tmp == 0.0);
+ ASSERT(MockPacket_ReadFloat(packet, 1, tmp));
+ ASSERT(tmp == 0.0);
+ ASSERT(MockPacket_ReadFloat(packet, 2, tmp));
+ ASSERT(tmp == 4.0);
+ ASSERT(MockPacket_ReadFloat(packet, 3, tmp));
+ ASSERT(tmp == 5.0);
+}
+```
+
+This code is entirely repeatably testable, self-contained (no global variables and extra callbacks), and simple to expand upon.
+
+But sometimes it isn't quite this simple. If you create an object you can't just check that it was instantly sent to a player, because they might not be anywhere near it and thus the in-built streamer hasn't sent them it yet. To solve this, we first need to go on a slight tangent to explain how basic sync works for things like `SetPlayerPos`. When you set a player's position with `SetPlayerPos` the server does NOT update their position internally and for all other players straight away. Instead a `SET POSITION` command is sent to that one player being moved, they are teleported to the new position, and then report the new position back to the server in their next sync packet. The reason why is basically lag - there may be one or more sync packets still in flight with the old position after setting the new position. So what does this mean for mock players? It means you can't actually set their position, at least not in the normal way. There's no real client, so there's nothing receiving packets (i.e. the set position command), and there's nothing syncing that data back to the server again.
+
+We can generate any mock sync data for the server from mock players, so that is one way to update their position, but it can be a little cumbersome for just one common operation, so there is `Mock_SetPlayerPos` for exactly this one use-case. But this still isn't quite the whole story, because we need the streamer to run and update with their new position, which happens only periodically (every few milliseconds, depending on the server tick rate). For this we have another mock function - `Mock_Tick`, which jumps the server time forward by a given number of microseconds (NOT milliseconds). This should absolutely not be used on live servers as it can create all sorts of weirdness with timers and other time sensitive code, but can be used to fake time passing in tests. Note that `Mock_Tick(10000)` will not delay for 10ms, it will instead jump time forward by 10 milliseconds instantly.
+
+```pawn
+TEST__ SetPlayerCheckpoint()
+{
+ new playerid = Mock_CreatePlayer("Mr Mock");
+
+ // Clear all existing packets, for ease of searching.
+ Mock_PurgeSent(playerid);
+
+ // Create an object.
+ CreateObject(1337, 100.0, 100.0, 4.0);
+
+ // Fake the mock player's position updating to the server, near the object.
+ Mock_SetPlayerPos(playerid, 105.0, 105.0, 4.0);
+
+ // Now FAKE pass some time, so the streamer can run (50ms should do).
+ Mock_Tick(50000);
+
+ // Check a "CreateObject" packet was seen.
+ new MockPacket:packet = Mock_GetPacket(playerid, "CreateObject");
+ ASSERT(packet);
+ if (!packet) return;
+
+ // Check the packet has 4 components, each 32 bits.
+ ASSERT(MockPacket_Components(packet) > 5);
+
+ // Check some of the packet components.
+ new int;
+ new Float:tmp;
+ ASSERT(MockPacket_ReadInt32(packet, 1, int));
+ ASSERT(int == 1337);
+ ASSERT(MockPacket_ReadFloat(packet, 2, tmp));
+ ASSERT(tmp == 100.0);
+ ASSERT(MockPacket_ReadFloat(packet, 3, tmp));
+ ASSERT(tmp == 100.0);
+ ASSERT(MockPacket_ReadFloat(packet, 4, tmp));
+ ASSERT(tmp == 4.0);
+}
+```
+
+An important note about `Mock_Tick`. If you call it as, say `Mock_Tick(100000)` and have a 1ms timer running, this will instantly trigger the timer to run, but the timer will think it missed its time by a long way (100ms) and will queue itself up again. During the call to `Mock_Tick` the timer will fire once, but after the current test ends the timer will be queued up a further 99 times, one per tick because it thinks it missed 100 invocation times.
+
+Later we'll cover some higher-level debugging techniques so you can read and write fake packets more easily, instead of one component at a time as in that code, but this introduces the basics on which everything else is built. Hopefully it will make developing and testing code easier for everyone (and ensure the server is more stable as well).
+
+We'll also go much more in to the API design for open.mp tomorrow. It is fully backwards- compatible with SA:MP, but that doesn't mean there isn't parallel room for improvement.
diff --git a/frontend/content/ka/blog/how-to-join-the-team.mdx b/frontend/content/ka/blog/how-to-join-the-team.mdx
new file mode 100644
index 00000000000..8da72237fb6
--- /dev/null
+++ b/frontend/content/ka/blog/how-to-join-the-team.mdx
@@ -0,0 +1,32 @@
+---
+title: How can I join the team?
+date: "2021-08-29T01:24:09"
+author: Potassium
+---
+
+➖ HOW CAN I JOIN THE TEAM?
+
+We get asked this question a LOT, so we thought we should make a post about it!
+
+Firstly, thanks so much for being interested in contributing!
+
+As you know, we are all veteran SA-MP players who came together to keep the world of SA multiplayer alive. We are passionate about the project being FOR the players and BY the players, and this is why it will eventually be open-source.
+
+DEVELOPMENT:
+
+We are currently working on the finishing touches for the beta release, and once that is live we would greatly appreciate and welcome contributions from the community! We will need help testing functionalities and edge cases, and of course looking for bugs and other issues that need work.
+
+The beta test will be an extremely important part of the development journey, and we would love for everyone to be involved, so please stay tuned for the announcement of the beta test, which we promise is going to be really, really soon!
+
+REGIONAL CO-ORDINATORS:
+
+Do you speak English AND another language, both fluently? We would love your help to translate our Wiki pages, our blog posts, and our social media posts, and to help moderate the language sections of our Discord and our forum.
+
+Applications for these positions are currently closed while we make some changes, but they will be open again soon!
+
+OTHER WAYS TO HELP:
+
+- SHARE our social media posts
+- INVITE other SA players to our Discord (discord.gg/samp)
+- ENGAGE in our community on Discord
+- HELP other players on Discord (scripting, tech, whatever!)
diff --git a/frontend/content/ka/blog/interview.mdx b/frontend/content/ka/blog/interview.mdx
new file mode 100644
index 00000000000..2c3069d7fe2
--- /dev/null
+++ b/frontend/content/ka/blog/interview.mdx
@@ -0,0 +1,2002 @@
+---
+title: Live Podcast
+date: "2020-11-23T01:10:00"
+author: Potassium
+---
+
+On the 24th of October we had a dev Q&A podcast, which is recorded for you below:
+
+## Video
+
+https://www.youtube.com/watch?v=bTYWWsXkcDo
+
+## Transcript
+
+Potassium:
+
+hello everyone welcome to our very first live stream for open multiplayer
+
+um can i get a mic check can someone tell me if this is working please? jamie?
+
+e
+v
+e
+r
+y
+o
+n
+e:
+
+it's working
+
+it's working
+
+okay
+
+yeah
+
+yeah i heard it coming through on the other side
+
+yeah it's quite a delay
+
+yeah that's okay
+
+Potassium:
+
+alright um hello uh what's up
+
+we're finally here and doing this i guess, um
+
+Southclaws:
+
+many days of planning
+
+Potassium:
+
+yes
+
+maybe we should start by introducing ourselves, so... Southclaws:?
+
+Southclaws:
+
+that's me
+
+Potassium:
+
+tell everyone a little bit about yourself and what you do here
+
+Southclaws:
+
+uh yeah i think i've been around SAMP for like um since 2008 or 2007 i can't remember... a long time ago... um i just kind of do the website stuff at the moment, i manage the wiki and do a tiny bit of coding, but not too much, these guys are far better at that than i am. but yeah i do the wiki stuff mainly, and the website so that's kind of my area
+
+Potassium:
+
+and Y_Less:?
+
+_stream alert CJ's "here we go again"_
+
+Y_Less:
+
+hi i'm Y_Less:
+
+i've been in SAMP longer than you have
+
+i made my way onto the beta team before it was even released so there we go, it's been a while. i'm a former dev, i'm not entirely sure if i need to introduce myself but there we go
+
+Southclaws:
+
+no probably not
+
+Potassium:
+
+probably not
+
+Southclaws:
+
+i'm sure everybody knows you
+
+Potassium:
+
+just in case
+
+Y_Less:
+
+scripters know me, but not necessarily players
+
+Potassium:
+
+no i'm pretty sure everyone does
+
+Y_Less:
+
+i'm also the only form of dev currently not purged from the client "about" page
+
+Potassium:
+
+uhhh... nice... i guess?
+
+BigETI:
+
+that's an achievement
+
+Potassium:
+
+that's an achievement, yeah
+
+ok, josh, your turn
+
+j0sh.../alasnkz:
+
+well i'm josh and i'm one of the main developers of open.mp
+
+i've been in samp for at least seven years now
+
+started programming six years because of samp
+
+and if you've been on the discord you know who i am, i'm always there, and always able to talk to you if you need any help for anything
+
+Potassium:
+
+oh that was very wholesome
+
+who are you and what have you done with josh?
+
+ok, Amir?
+
+iAmir:
+
+well i'm Amir and i've been around since 2010 i guess, that's the time i started playing samp actually. i'm just part of open.mp development team and i just kind of help the coding and stuff like that
+
+Potassium:
+
+nice! and bigETI?
+
+BigETI:
+
+yeah i'm bigeti, i'm 27 years old, i started playing samp around 2009, and contributed to projects, had my own servers, etc, and also i'm a contributor to
+
+open.mp now
+
+Potassium:
+
+awesome, and michael?
+
+JustMichael:
+
+i'm JustMichael:, i've been around since 2007, owned a few communities, fought my way up, these days though i pretty much just follow Southclaws: and manage all his projects that he's abandoned! and other than that i just work in free time on open.mp
+
+Southclaws:
+
+he's the surrogate father to everything i've created
+
+_everyone laughs_
+
+Potassium:
+
+awesome!
+
+Y_Less:
+
+who are you Potassium?
+
+Potassium:
+
+that is a good question! so i'm Potassium, obviously, i've been in the samp community since about 2008/2009 maybe... so like 10 years... or more i guess... maths!
+
+i'm not a scripter, i keep telling everyone that i will be maybe one day, i probably won't be, but anyway! i don't really have a backstory i'm just some random from the samp forum and i just, i don't know, i just love this community and want to be a part of keeping it alive so i kind of just invited myself to this team... so yay!
+
+Y_Less:
+
+that's fine, you do a fairly important job
+
+BigETI:
+
+you're definitely welcome!
+
+Potassium:
+
+i can't do any technical things, they're completely over my head, so we just named my role "public relations" and i just post stupid memes every now and again... but that's okay! someone needs to!
+
+Potassium:
+
+so is there any point in quickly explaining what openmp is actually about or? i guess, yeah i guess we should, just in case anyone's listening and isn't quite sure. so basically we're all old school players of san andreas as you just heard, and we're all part of a community
+
+called san andreas multiplayer, it's a multi-player modification for san andreas and it's a little bit outdated now i guess you could say, so we're just kind of trying to breathe some more life back into it because we're not ready to let our little community die yet. is that is that a fair summary?
+
+e
+v
+e
+r
+y
+o
+n
+e:
+
+i think so
+
+yeah
+
+Y_Less:
+
+i want to kind of address the big question to start with, about WHY. in some respects
+
+we don't really want to create open.mp - we were perfectly happy playing samp, it's a nice little game, it does everything we want, but kalcor wrote it, he has the source code and
+
+things, he had some help, and in short he was no longer interested in maintaining it which is fine and happens to everybody, and i just want to make that clear that i've no hard feelings to him for that because everybody moves on eventually, you get new interests but
+
+he decided that he wanted to just take everything down with him. he didn't want to pass on the source code, he just wanted to stop so he felt everyone else should stop as well. and we quite liked it here so we didn't stop.
+
+Potassium:
+
+correct
+
+JustMichael:
+
+yeah that sounds fine
+
+Y_Less:
+
+as i said, if he wants if he wants to move on and move on to other things that's only his prerogative
+
+Potassium:
+
+yes that's right, we're not judging, we're just a little bit sad. but that's okay, because we're gonna fix it. we can do something about it so we will!
+
+JustMichael:
+
+yeah let's move on to the next bigger things
+
+Potassium:
+
+yeah that's right. alright so we had a bunch of questions on our forum, which by the way is
+
+http://burgershot.gg so sign up there!
+
+so i guess let's just get into them.
+
+the most pressing question right now obviously is regarding the recent samp drama. so for those who don't know the samp forum and the samp wiki have been offline for a few weeks now, and we don't want to make assumptions but it doesn't look like they're coming
+
+back anytime soon. i think that's a pretty fair assumption to make.
+
+Y_Less:
+
+the links have been removed from the home page, if it was just a temporary thing he
+
+would have probably not removed the links.
+
+Potassium:
+
+yeah that's right, so it doesn't look like they're coming back. so people just kind of want to know what our thoughts are on this, what do we think actually happened? so... open mic... Southclaws:? anyone?
+
+Y_Less:
+
+it's basically what i just said, kalcor has for years been uninterested, that's why there's
+
+just been zero development, and several of us when i was in the beta team kept trying to push him along and release updates and things, and actually the whole community was screaming for updates, he didn't want to because he'd lost interest, he wanted to move on and that's... as i already said that's fine, we don't mind people moving on and leaving
+
+projects, it was the fact that he refused to hand over the reins to anybody else, this is just a
+
+continuation of that, the forums were pretty huge, they were not easy to run, it's close to a full-time job just moderating them. and i suspect he's just totally lost interest and decided he no longer wants to do it, but does not want anybody else to continue his legacy, so he's just taking everything down. i'm slightly confused that the home page is still there.
+
+Southclaws:
+
+i'd imagine that's probably just because the home page probably costs next to nothing to actually keep online, whereas the forum probably took a bit of time and expense to
+
+actually run. i'd imagine that's why.
+
+BigETI:
+
+you can still download samp from the main home page
+
+JustMichael:
+
+yeah that's good, at least they can do that. but if we complete our mission
+
+they won't have to!
+
+Potassium:
+
+personally i just hope kalcor is ok! what if he got COVID and he's in the hospital and can't maintain
+
+Southclaws:
+
+that would be really bad
+
+Potassium:
+
+what if it just like ran out and he can't put it back up because he's in hospital
+
+JustMichael:
+
+that would just be extremely unfortunate
+
+Potassium:
+
+and then he comes back and there's just like... a mutiny... anyway
+
+JustMichael:
+
+and while he was in hospital he happened to remove the forum link and wiki...?
+
+Potassium:
+
+oh yeah... fair enough
+
+_everyone laughs_
+
+Y_Less:
+
+i'm just thinking we might have heard about that
+
+Potassium:
+
+yeah we probably would've heard about that, you're right
+
+Y_Less:
+
+or maybe not because even beta testers barely hear anything, i can speak from
+
+personal experience, people kept asking me when is the next version coming out?
+
+i know just as little as you do. but we have our own private forum and it's dead.
+
+JustMichael:
+
+he ended up being pretty bad at communicating anything to any of the devs
+
+Potassium:
+
+time to move on. on the subject of forums, our forum and our wiki seem to be quite popular replacements for the samp ones so feel free to check them out
+
+Y_Less:
+
+they are not dead
+
+JustMichael:
+
+they're very active and maintained, more than i've ever seen
+
+Potassium:
+
+yeah, particularly for scripting help
+
+Southclaws:
+
+yeah the wiki contributions have been great, when the wiki went down, having
+
+loads of people just copying pages from the old wiki onto the new one was really good, so shout out to everyone who contributed, thank you, that was really cool. the translation stuff is great because i think that's one thing that the old wiki definitely lacked, it had a handful of pages that were translated but not many i think.
+
+JustMichael:
+
+i think it was like polish, brazilian, and... yeah... we lacked a lot.
+
+Southclaws:
+
+yeah translating that is a definitely a priority and we've got some good people to help us with that so that's brilliant
+
+Potassium:
+
+yeah that's awesome. just for the record, http://burgershot.ggg is our forum and http://open.mp docs is our wiki, so go there!
+
+so obviously the next _discord alert noise_ that scared me, sorry! the next most frequently asked question is and always will be is the release date. so obviously we don't have a date, we will never give a specific date because we're all volunteers and do this in our free time, but do we have a rough idea of maybe like a percentage of how far along we are before we can make it public? are 1% through? are we halfway through? are we 90% through? what do you think?
+
+JustMichael:
+
+i mean, we're pretty close aren't we?
+
+Y_Less:
+
+yeah i think most of our big systems, the bulk of it, is done. they say that the first 90% takes 90% of the time, and the last 10% takes the other 90% of the time because it's all that kind of tweaking, and there's bugs, and when this and this and this and this happen together, suddenly everything breaks. most of what we've called "modules" are done now, i can explain modules later, but essentially the large chunks of code are done now. it's just connecting them making sure all the little extra features are there. it's progressing fairly steadily, now especially recently,
+
+JustMichael:
+
+yeah we've had quite a bit of a big boost of active development recently which is very nice
+
+Potassium:
+
+i was just gonna ask if anyone else had anything else to add to that
+
+j0sh...:
+
+i think it depends on what you define as public, i can pretty much say that we're fairly close
+
+to having a beta test server, i'm sure we're near that. but a public release as in everyone else having the executable is obviously a bit further off, but i think a test server will be coming fairly shortly.
+
+Potassium:
+
+woohoo!
+
+JustMichael:
+
+yeah we need a fair amount of time to test all the progress so far because there's still gonna be edge cases
+
+Potassium:
+
+did you hear that chat?! a test server is coming fairly shortly! mark his words!
+
+alright so most of the questions from this point on are from a scripting point of view, so obviously i have no idea about that stuff so this is where you guys shine! so you mentioned modules just before, did you want to explain that a little bit? or did you not want to?
+
+Y_Less:
+
+yeah basically modules is an extension of kind of a general trend in library development and stuff that has developed over years, for code isolation, so all the objects, all the code related to objects, that's a module. all the code related to checkpoints, that's a module. vehicles is a separate module.
+
+Potassium:
+
+so in terms of plugins and filter scripts like we have in samp, is that what we're... are we renaming them to modules? i think i saw something about that before but i don't understand that stuff!
+
+Y_Less:
+
+not quite, modules are more like a chunk of code that provides some functionality, so your filter scripts... i mean, we don't really have filter scripts anymore, we just have scripts, because game modes and filter scripts was an arbitrary pointless distinction in the first place. we do still have plugins but there's legacy plugins which is all existing ones,
+
+most of them should work, some of them won't.
+
+JustMichael:
+
+any memory hacking ones won't
+
+Y_Less:
+
+yes, if they use memory hacking they won't work because that's just changing values in memory at very specific locations, but because it's completely different code, everything's
+
+moved
+
+BigETI:
+
+yeah but then but then if someone wants to make let's say a memory hacking plug-in to work on openmp, they can just use the existing api in openmp instead of hacking memory
+
+JustMichael:
+
+yeah you won't need to go about that route anymore
+
+Y_Less:
+
+yeah so we have a full C API, so legacy plugins had about 3 functions that they could call in the server, and that was it. and there were all sorts of workarounds and horrible ways to
+
+put natives from plugins, now you can do that directly so 90% of the need for memory
+
+hacking plugins is just gone. things like samp gdk, that was just pulling pawn
+
+functions from plugins, that's gone. the plugins are all these legacy ones, and modules are basically the replacements. like plugins, but far more powerful.
+
+Potassium:
+
+cool. i'm just smiling and nodding because i don't understand but i'm sure most of our viewers do so that's awesome!
+
+Y_Less:
+
+if anybody wants any clarification on that, just ask! maybe you're in the same boat as Potassium
+
+Potassium:
+
+correct! so obviously we've got our forum for questions like that, but also we're going to have a little live question session at the end so stick around!
+
+JustMichael:
+
+it's also not like we won't document the code when it's actually released, so you know if you are struggling to understand what any of this is, we will have some kind of explanation that just tells you what it is.
+
+Potassium:
+
+so we got a few questions about limits, i know that we've we talked about that in our last Q&A, and i think you guys said there won't be limits on things like vehicles and objects, is that right?
+
+BigETI:
+
+there is no reason to have arbitrary limits, but right now openmp will be just a server release for now
+
+Potassium:
+
+server release
+
+BigETI:
+
+so you have to make it competitive with san andreas multiplayer, therefore we
+
+have to emulate limits, but then internally in openmp there are no server-sided limits. it just depends on how much your machine is capable to do
+
+JustMichael:
+
+yeah so it does appear that in the very first version that the limits will be have to be in place
+
+until we get our own client out
+
+Y_Less:
+
+an internal streamer
+
+BigETI:
+
+we can't go over game limits right now
+
+JustMichael:
+
+yeah that's true yeah
+
+Y_Less:
+
+there was one interesting issue with limits that we were discussing last week, the server itself can stream players as well, so in theory you could have unlimited players on the server even with this legacy samp client, basically we just send the players closest to you, sync them, and then when you move further away we change which players are synced. but we've had to disable that by default because it means that everybody's constantly
+
+changing IDs, so i would connect to the server and have a server ID of 27, but when i'm streamed to you i have your local ID of 3. i'm streaming to somebody else and i have a
+
+local ID for them of 17. so you as an admin see that i'm cheating and type /ban 5 because you think that i'm ID 5 but the server thinks i'm ID 27. and translating those when people are just using raw IDs instead of names is tricky. we've decided to disable that for now and
+
+make it optionally enabled if people want it, but with the caveat that their script will need to be aware of this and for example if in a command they just use strval to get typed ID, don't do that because it would probably be wrong, or do do that and then translate it to from local ID to server ID. sscanf will probably support that already, but if you do type "u", if you
+
+use sscanf with "u" already it will auto translate. some scripts will need updating to support that.
+
+Potassium:
+
+actually the next question was "will we still be limited to 1000 player slots?" so i guess that kind of ties in.
+
+JustMichael:
+
+the answer for that is no!
+
+Y_Less:
+
+if you enable it
+
+BigETI:
+
+i wanted to add to that, so our idea is to have like, you can configure what you want to limit
+
+for yourself, because for example you don't want a server where you can spawn infinite entities, because someone could abuse it and just down your server, so there should be some configuration you can do to limit stuff, like players or vehicles or something else.
+
+Southclaws:
+
+yeah fair enough
+
+Y_Less:
+
+i just want to say that's not me in the twitch chat
+
+Potassium:
+
+it's ok i banned them, that is not the real Y_Less: in chat, THIS is the real Y_Less:!
+
+BigETI:
+
+what is your twitch account Y_Less:?
+
+Potassium:
+
+it's ok, it's not important. so moving on with the community questions, people want to know which languages other than pawn we can script our servers in.
+
+JustMichael:
+
+that's completely dependent on plug-in developers, we already have quite a few already which can be easily ported over, and some already do work, i think bigeti you were working on or at least you were thinking about writing another C# one right?
+
+BigETI:
+
+i was thinking to implement some module that implements another language like for example C# because nowadays C#... well first of all i don't want to say that it will be officially supported, but i'm thinking about making a module so it will be released under my name.
+
+JustMichael:
+
+i know there's the sampnodes, that's amir, and i also help on that sometimes so that should be easy to poty over if it doesn't already work.
+
+BigETI:
+
+i think it already works with openmp, it would be better and faster if we use the C API that we are providing for openmp so it's better than going through the pawn layer
+
+JustMichael:
+
+yeah well we'll have to find a way to translate the rust plug in over somehow, or the rust sdk, to make that work
+
+Y_Less:
+
+samp gdk?
+
+JustMichael:
+
+yeah we're gonna find a way to support the current rust plugins
+
+BigETI:
+
+no more fake amx bollocks
+
+Y_Less:
+
+a lot of those plugins use samp gdk to access pawn, we just need to change the lowest
+
+level in there
+
+JustMichael:
+
+yeah the rust one doesn't... he just kind of tried to reinvent it in his own way
+
+Southclaws:
+
+i don't think the rust community is that big
+
+JustMichael:
+
+there are a couple of plugins that people do rely on
+
+Southclaws:
+
+yeah i might take a crack at that, i don't know, but it'd be cool to write modules in rust i think, shouldn't be too difficult.
+
+Potassium:
+
+cool, ok, next question: will sampCTL/openCTL be the official package manager for open multiplayer?
+
+Southclaws:
+
+that's my ballpark! yes it will, it will be renamed of course, yeah it's going to
+
+be Open Packet Manager - OPM.
+
+JustMichael:
+
+that's what we decided on
+
+Southclaws:
+
+that's what i decided on!
+
+JustMichael:
+
+i gave you the name!
+
+Southclaws:
+
+we're kind of working on experimental features at the moment, i've sort of just built a couple of quick interesting experimental things for that, they're coming in the recent days, i've been coding, so yeah i'm thinking mainly about developer experience type things so
+
+things like logging and command line interface environment variables, you know, all the stuff that helps you kind of build game modes faster and deploy them faster and automate as many things as you can. such as the deployment process and that sort of thing so
+
+yeah that's where my head is at really. some CTL will remain compatible and will basically just add openmp support. so you can switch to it just by changing a string, in theory, and changing your includes and then recompile and it'll just work. that's the plan anyway!
+
+JustMichael:
+
+that's gonna be a lot of fun!
+
+Southclaws:
+
+and then it'll eventually have a bunch of new features as well, better log handling, better docker support, better deployment automation, stuff like that, some of which will be implemented into openmp itself, a lot of the things that sampCTL does is actually to
+
+get around awkward design choices with the samp server, so a few of those things
+
+won't need to happen, a few of them will just be implemented directly into openmp. so yeah hopefully that answers that
+
+Y_Less:
+
+yes sampCTL/openCTL is officially supported, officially endorsed, probably distributed with it, but that doesn't mean it's required, you can write scripts without it, if you don't know how then you don't have to start using it
+
+Southclaws:
+
+yeah it's kind of like how you can use node.js without npm
+
+Potassium:
+
+cool, ok, next question: what are openmp's current build times?
+
+Southclaws:?
+
+does that mean the C++ build times or script?
+
+Potassium:
+
+i don't know
+
+Southclaws:
+
+we could just do both because they're both questions we can answer
+
+BigETI:
+
+if you rebuild the entire project, make sure to make a coffee then! click compile, make a coffee, come back and it will be done.
+
+Y_Less:
+
+it's gotten way better, it used to be like half an hour, now it's about eight minutes.
+
+i spent a lot of time improving that. the player module used to be everywhere, included by everything, if you accidentally touch that file that's a full rebuild. change one line, that's a full
+
+rebuild.
+
+Southclaws:
+
+as for scripts, that shouldn't change too much really. we have a compatibility layer, scripts will just be the same, i think there is a question about that later on so i'll leave that until then.
+
+Potassium:
+
+alright, cool, thank you. next question is: a lot of people wanted to know if we'll have a built-in anti-cheat?
+
+JustMichael:
+
+no, i think we'll have a kind of very small... not really an anti-cheat but more of
+
+just like we will try to block a few known issues, exploits, stuff like that, but i think we're going to leave it to other developers
+
+Southclaws:
+
+we'll provide people the tools to build good anti-cheats, that's probably the most efficient way because then the community can come together and build solutions for specific cheats. because if the community is dependent on us for doing that then it's just going to get overtaken because the amount of people developing cheats is going to outnumber the amount of people developing openmp
+
+Y_Less:
+
+i'll probably post an official kind of repo for one where anybody can contribute, and serve it as a module, because the idea is that eventually... well, it's called openmp, it's meant to be open source. it's not currently because we've not finished the first release, but once it is,
+
+then we can release it and other people can contribute, and that's one of the major areas where we're hoping they will do. so will it have an officially included anti cheat? yes, if you help us!
+
+Potassium:
+
+yeah, that's what it comes down to really, if the community helps then yeah we'll have things like that!
+
+Y_Less:
+
+a lot of people forget that samp did have one, they experimented with an anti cheat for a while, and by a while i mean about a month, before it just became completely unfeasible because oh look they've blocked this cheat, it took us seven seconds to get around it, now
+
+you have a new cheat. it's a constant game of cat and mouse.
+
+JustMichael:
+
+i feel the anti cheat should be separate, because we won't be updating the mod that much, we don't want to be updating every day or every week, it's going to be more of a long-term thing, but an anticheat needs to be updated quite frequently to combat the cheats so
+
+having it as a separate module or something like that would probably be better for servers than having to rely on us waiting for us to release at the end of the month or however
+
+long our update process will be
+
+Y_Less:
+
+yeah that's kind of what i meant about boosting it centrally
+
+Potassium:
+
+so if we just have it open then everyone can contribute and then it's not entirely on you guys to keep it updated and stuff. and then on that note, CLEO mods, a lot of people want to know if they'll still work, or mods in general
+
+JustMichael:
+
+they're all client-side
+
+j0sh...:
+
+there'll be no changes
+
+JustMichael:
+
+not in this version anyway
+
+Y_Less:
+
+um so unless they start cheating in a way that the server can detect
+
+Potassium:
+
+ok, people wanted to know if openmp will have a fixed GPCI function like a serial in MTA
+
+JustMichael:
+
+the problem with that is it's never going to be a 100% guaranteed way of banning someone or finding out if that player is that player, because anyone with any kind of skills at all will just use some kind of modifier for their system and they will just change some information and then they've got a brand new ID so there's not really much we can do with
+
+that, we can we can provide you the tools, but i can't say they're ever gonna be 100% working.
+
+Potassium:
+
+cool, anyone got anything else to add to that? nope? okay cool
+
+Y_Less:
+
+i do have something to add on the AC side of things since people are asking about that a bit more. so we definitely can't have a general ban system because servers are independent. if one server wants to keep you and one sever wants to ban you, that's
+
+up to the server. if one server wants to let you keep cheating that's up to the server.
+
+Southclaws:
+
+i used to play a cheating server and it was really fun, i just want to add that
+
+Potassium:
+
+yeah so a global ban list wouldn't work for reasons like that
+
+Y_Less:
+
+oh that's a terrible idea, i know other mods have done it, that doesn't mean it's a
+
+good idea. as for the anticheat itself, it will be separate and yeah you can update it at any rate you like.
+
+Potassium:
+
+awesome. alright we got a lot of questions about raknet, i think people just want to know what your thoughts are on it, if openmp will use the same version that samp uses, blah blah blah
+
+j0sh...:
+
+there's a minor difference but nothing extraordinary, we need basically the same major version for it to actually communicate with samp perfectly
+
+Y_Less:
+
+yeah the compatibility layer for communicating with existing samp clients is basically the same.
+
+iAmir:
+
+it's going to be changed, right? so it's going to be changed later, for example when openmp client gets developed we're going to add a new networking library so for example other networking library out there, each one of them is probably better than raknet, especially the version that we are using right now. so yeah for now we're going to use
+
+raknet as the same version that samp is using, only to keep the backward compatibility. other than that for example for NPCs that josh is working on right now, i mean not right now but he was working on it, but he was using enet, that's probably, our first choice and it's way much better than raknet, and it gets contributed to more frequently, so we do not have issues with exploits or stuff that come up later because we all know that raknet project is
+
+dead, the latest version is probably six years old by now. so that's the only reason that we're using raknet now, we're gonna change that.
+
+Potassium:
+
+cool, i don't understand any of that, but thank you. so there was a lot of discussion in
+
+the thread about sync and c-bug and stuff like that, so i guess people want to know what the sync will be like compared to samp
+
+JustMichael:
+
+the exact same
+
+j0sh...:
+
+exactly the same yeah. we'll see, but we can't do that until the client comes out, and i'm probably not going to do that because that's ruining the experience of samp.
+
+Potassium:
+
+yeah so there was a lot of debate about that, and obviously there is within the team
+
+as well.
+
+JustMichael:
+
+yeah i wouldn't agree with that because my server literally relies on those bugs
+
+Southclaws:
+
+people enjoy that stuff and there's already ways to stop it and prevent it anyway so i don't really think it's our prerogative to get involved in that
+
+JustMichael:
+
+i think that in the client we should probably have a way to disable those kind of bugs if the server owner wants to, but it should be an option
+
+Southclaws:
+
+you can disable it via pawn scripts anyway
+
+JustMichael:
+
+yeah you can
+
+Potassium:
+
+so the consensus on that, just to clarify, is that we are just going to leave it how it is and
+
+each server can choose what they do with it. is that right?
+
+Southclaws:
+
+pretty much yeah
+
+JustMichael:
+
+yeah pretty much
+
+Southclaws:
+
+it's one of those things where you're damned if you do, and you're damned if you don't, so yeah
+
+Y_Less:
+
+again it's up to servers. servers are different so if they want it, they can have it
+
+Southclaws:
+
+kind of like lag comp, some people like lag shot, some people don't like lag shot, which is why it was an option you could turn on and off
+
+Potassium:
+
+that's right yeah, i think that's the best way to go about it. ok so a very popular question both on the forum and in this chat which i know you guys don't want to answer but we're gonna do it... samp for android. what are your thoughts on that?
+
+JustMichael:
+
+we're not gonna support it directly, but we're gonna give the tools so that anyone else
+
+can do it
+
+Southclaws:
+
+we don't want to support the existing samp mobile, because the existing current
+
+version of samp mobile is based on stolen code. it's very not legal.
+
+BigETI:
+
+someone here probably wants to use openmp and then make their own android clients
+
+Potassium:
+
+so officially as open multiplayer developers, NO is the answer?
+
+iAmir:
+
+there is actually some stuff blocking us, for example to implement our own library into an APK file we need to modify that, so that means we need to modify GTA SA apk
+
+file for android, and that actually has legal issues. so besides that, we'd actually need
+
+to modify some code in gta apk file too, so either going to be the java assembly or
+
+we'd patch the current gta sa code, so that would load our own library which would be openmp client, so for that as i said we'd need to modify the game. and we'd need to give people the modified version, which is not legal, so we would have issues legal issues later, copyright issues later.
+
+Southclaws:
+
+technically we could legally distribute the binary to players and then let them add it to their apk
+
+Y_Less:
+
+there is stolen versions of the source code out and about, so that's what the android
+
+version is based on. if we wanted to use that we could have used that, we could have
+
+started from that code, updated the server, and written openmp using stolen code,
+
+and it would have been very illegal and that's entirely the reason why we started openmp from scratch, zero old source code in it, you can compare them and they are absolutely nothing alike. because we do not in any way condone stealing.
+
+Potassium:
+
+correct, that's a very important point to reiterate, we do not support stolen code
+
+Y_Less:
+
+and there is NONE in this mod.
+
+JustMichael:
+
+it would potentially put us in a really bad spot with legal issues if we were to go down that route anyway
+
+Y_Less:
+
+it would've been out years ago if we did!
+
+Potassium:
+
+now along a similar path of questions, people want to know why they should play openmp instead of mta. so without without insulting other mods, what's different?
+
+JustMichael:
+
+well we're still offering the same samp experience that everyone loves, but i guess we're now offering an upgrade path. more features down the line, a possible path for everyone to kind of like move forward, even add the stuff that everyone's wanted from samp for years. a lot of people have left samp because samp has been down the same path for a very long time, it's not gone anywhere, very little has been added. but now we're giving people the opportunity to add what they want now, after we've released it, they can add stuff you and that path's open now.
+
+Potassium:
+
+anyone got anything else to add?
+
+Southclaws:
+
+mta is great, i like mta. mta's not a bad software, there's no beef there, the map editor is great! i always used to use it. but there is a cultural difference between mta and samp, and i don't think anyone's really managed to figure out what it is exactly. mta definitely has better features, it is an objectively better thing than samp, but people just kind of like samp more, i guess it stays close to the game.
+
+JustMichael:
+
+they have different goals
+
+Southclaws:
+
+yeah different goals, mta kind of feels more like garry's mod in a way. it's more of a sandbox type create your own crazy multiplayer game type thing
+
+Hual:
+
+people like simplicity
+
+Southclaws:
+
+and the ability to join the server without downloading 500 megabytes of anime skins is always a good thing!
+
+Y_Less:
+
+i guess samp and mta serve slightly different markets, why you'd use this one instead of mta is the same reason why you'd use samp instead of mta - it's essentially samp.
+
+Potassium:
+
+the next lot of questions are more about the structure of the mod and the community rather than scripting. so people would like to know if it will be compatible with the steam version of san andreas because obviously, as we know, samp is not.
+
+Hual:
+
+it should be.
+
+Southclaws:
+
+yeah, mta does it, i'm sure we can do it
+
+j0sh...:
+
+it will just take a lot of work.
+
+Y_Less:
+
+there's no reason not to.
+
+Southclaws:
+
+but if not, there are downgraders anywa,y and there's been downgraders for years. so either way it's not a huge issue i don't think.
+
+Y_Less:
+
+no but we should be able, there's really no reason not to
+
+Potassium:
+
+well that's that's exciting!
+
+ok now the master list. people want to know what's going to happen with that, will we have a
+
+paid list, etc. etc. - the server list
+
+JustMichael:
+
+we have a few ideas for it but i'm not sure, we've not gotten to that point where we've gone "okay this is what we're doing"
+
+Southclaws:
+
+i want to reiterate that this is not a for-profit project at all. there have been ideas thrown around, because people actually do genuinely want a way to... you know, if they run a big server and it is kind of like a business, then they do want a way to kind of bump it to the top like an investment kind of thing, and i appreciate that and i've actually talked to quite a few people about that desire from the sort of larger server community, there are ideas and i don't think we're quite ready to discuss them all yet because they're not really fleshed out. but i have been working on the new server index which is currently being deployed. it's essentially going to be like samp-servers.net but with an updated backend, and it'll support samp servers and in future openmp servers, and it's kind of going to be like the advertisements board from the forum, but better because it's not on a forum, but yeah it'll be like a dedicated website and it'll be openmp servers or something like that, and that will come soon. the first version is kind of done, and that will be open source as well, so you kind of follow along the development of that and eventually that will turn into the list. as i said we're quite early on decisions like that, and i don't really know what the team's consensus is, but i think we're probably not going to split servers into two separate lists because that just kind of separates people into the bad ones and the good ones in a way, and it kind of creates us versus them sort of... not a conflict, but just like a, you know, it's kind of like a separation
+
+Y_Less:
+
+a divide
+
+Southclaws:
+
+and i think giving the smaller servers a chance to kind of get some visibility is good as well because sometimes people make a really cool project and maybe they can't pay to go onto the hosted list or whatever, so one of my goals in that is to kind of surface potentially interesting servers that don't have reach. but at the moment it's just going to be like a list and you can sort it by whatever you want and find servers. that'll be the first version.
+
+JustMichael:
+
+yeah samp at the moment is very biased for its hosted tab
+
+Southclaws:
+
+yeah, and it's limited and expensive
+
+BigETI:
+
+yeah and it's a horrible name
+
+iAmir:
+
+for our own server list we can actually add some options like ratings, voting and stuff like that, so like there can be two sections for example uh one could be the ones with most ratings, and the other could be for example a server that got rated frequently, in recent days, so we can actually see the trends and stuff like that. so new servers can go up and can be seen by other players. so that's actually a good way for new servers that have actually a unique idea so they can actually be seen by other players and get famous, it's actually a better way than spending money on some other lists or stuff like that.
+
+Potassium:
+
+so i think the really important thing to take away from that is that we are a not-for-profit project, so we're not gonna create a server list purely for the intention of making money off of it.
+
+Y_Less:
+
+but that doesn't mean there won't be ways to advertise. and if you have ideas about thatm post on the forums!
+
+Potassium:
+
+yes, and that is http://burgershot.gg - sign up!
+
+Y_Less:
+
+that's something we've discussed for like two years and we have no conclusion
+
+Potassium:
+
+ok, someone asked: does the openmp server actually include any kind of performance upgrade compared to the samp server? i think we sort of answered that before in the mta question but if anyone has anything else to add to that...
+
+Hual:
+
+yeah can i just say i've actually run it on a raspberry pi zero, so yeah
+
+iAmir:
+
+yeah you can host your own server while you're walking down the street, you have your raspberry pi in your pocket and still running your samp server so yeah it should be fast that this can be possible
+
+JustMichael:
+
+should we mention because we're using C++17 and there is like a minimum deployment for that, right?
+
+Hual:
+
+what do you mean?
+
+Y_Less:
+
+no? depends how you build it
+
+JustMichael:
+
+i mean like library requirements as in like system operating system libraries and stuff like that
+
+Southclaws:
+
+Glibc and stuff like that
+
+BigETI:
+
+it shouldn't be a problem
+
+Y_Less:
+
+yeah there's no reason why you can't build it for a different system
+
+JustMichael:
+
+yeah you're probably right yeah i'm thinking of edge cases like ark and stuff, but that'll probably work anyway... wait didn't someone actually build it for ark already? oh maybe that was you Hual? maybe that was you doing it for me?
+
+Southclaws:
+
+oh you mean arm?
+
+JustMichael:
+
+sorry yeah i said ark didn't i?
+
+Hual:
+
+so yeah performance isfine, compatibility is fine
+
+Potassium:
+
+now the question everyone hates... 0.3 DL. a lot of people, a lot of server owners asked if
+
+if it will be compatible on first release so they can instantly switch their servers over.
+
+e
+v
+e
+r
+y
+o
+n
+e:
+
+yes
+
+BigETI:
+
+that was easy
+
+Potassium:
+
+that WAS easy because the last time we talked about it we had very divided opinions and we kind of just asked the community what their opinions were,
+
+JustMichael:
+
+yeah well we already know it's possible because adrian graber wrote that plugin that literally tricks the client into connecting so we know we can do it
+
+Potassium:
+
+and then, on a similar path, i know we're not taking live questions yet but someone in chat had a really good question: have you guys thought about making a workshop for openmp something like how mta has for maps, scripts, plugins, etc?
+
+Southclaws:
+
+uh that would be really cool!
+
+JustMichael:
+
+yeah that would be cool!
+
+Y_Less:
+
+the question is have we thought about it? the answer is no. but now we will!
+
+Potassium:
+
+so thank you! moving on, people wanted to know more about future plans. so a specific question was "what's the next step for openmp after it reaches samp flow" - so once we've we've got it to compatibility and where we want it to be, what are your future plans and ideas?
+
+JustMichael:
+
+i think after release we're just going to try and start with the client, just head for the second release i guess. we haven't really thought about it too much.
+
+Hual:
+
+we should probably fix up the server first
+
+JustMichael:
+
+we'll probably have a time frame after we've released where we wait for bug reports
+
+and stuff and handle that, because in any software there's always going to be those edge cases that need to be sorted, and no software that comes out the gates on the first try is
+
+ever going to be perfect.
+
+Potassium:
+
+so is it fair to say the the initial release, and for a while after, won't really see any new features, they'll come later in the future maybe?
+
+JustMichael:
+
+oh yeah probably not straight away
+
+j0sh:
+
+we're basically limited by the client so without our own client we can't really do much
+
+Y_Less:
+
+we can do some clever things, we've got some tricks up our sleeves
+
+Potassium:
+
+watch this space, basically!
+
+BigETI:
+
+but most of them have already been done in one way or another
+
+Potassium:
+
+well there's always something new i think. on that note, what kind of things would you guys like to eventually add once it's all compatible and bugs are all sorted and everything, new things that you guys would like to see?
+
+Southclaws:
+
+sex animations.
+
+Potassium:
+
+oh my god.
+
+_everyone laughs_
+
+j0sh...:
+
+I want unicode. I want the clown emoji in chat.
+
+Potassium:
+
+oh yeah emojis in chat!!!
+
+Southclaws:
+
+the ability for russian people to talk to english people on the same server without having to change the code page
+
+JustMichael:
+
+yeah that would be nice
+
+Southclaws:
+
+that would be great
+
+j0sh...:
+
+that's revolutionary
+
+Potassium:
+
+that is revolutionary!
+
+Southclaws:
+
+multi-server clustering would be cool, there's a lot of russian servers out there that run like 20 servers and they're all connected and you can imagine it's very janky in the back end. i think facilitating that would be kind of neat, to be able to switch server in game and stuff like that.
+
+Potassium:
+
+someone in chat just asked: voice chat in openmp?
+
+_everyone laughs_
+
+Southclaws:
+
+do you want 12 year olds shouting at you down the street? i don't think so. there are plugins out there, and of course with the client and the server out in the future, if you want to do voice chat like plug-ins then go wild!
+
+JustMichael:
+
+there are quite a few on there already, i think i know two already
+
+Southclaws:
+
+i think they're closed source though so it's kind of sketchy
+
+JustMichael:
+
+no i think i think one of them is open sourced
+
+Y_Less:
+
+there's one actually open source
+
+Southclaws:
+
+well there you go, that's the solution. i think one thing i do want to say though is just because we're making a from scratch new multiplayer mod platform to build on, that doesn't mean that the actual mod itself has to have every single possible feature crammed
+
+into it. we're making a better plugin api for a reason, we get questions like are you going to add mysql or are you going to add sscanf, or are you going to add this plug-in to that plug-in, and most of the answer to those questions is no, because there's no reason to. in fact there's more reason to build more things as plugins because then they're modular, you can add and remove them when you don't need them. so i think the same goes for things like
+
+voice chat and client things. we'll provide a better set of tools for people to actually augment the experience and add new things to it, and i think that's better than cramming
+
+it full of features that maybe most people won't actually use.
+
+Hual:
+
+yeah but also since installing plugins in samp is kind of annoying, we probably should think about having an official plugin registry where servers can actually specify what client plugins the clients download
+
+Southclaws:
+
+yeah like a client version of sampctl i suppose. and of course the worry there is always about being able to run arbitrary code on a user's computer so you know i think having a repository would be kind of good
+
+Y_Less:
+
+just something to bear in mind, half of the big plugins that everybody uses like mysql, streamers, sscanf, all that, the developers for those plugins are ON THIS TEAM! we're not just going to stop developing them and say you can't get my plug in now because i wrote
+
+something else.
+
+Potassium:
+
+so can we just clarify for some people asking in chat about making a client. so that's
+
+that's a future plan, right? making our own client?
+
+e
+v
+e
+r
+y
+o
+n
+e:
+
+yes, that's the second version
+
+Southclaws:
+
+that's the fun part
+
+Potassium:
+
+people were asking about other communities that speak different languages and such, and they kind of want to know what we're doing to work with those communities and how we plan on spreading the word to those communities. i think it's fair to say that we're working on that, we're recruiting volunteers i guess to translate our wiki pages and whatever else to other languages, to moderate language sections on the forum, http://burgershot.gg by the way, and generally just to be the point of contact between our team and the other communities i guess
+
+JustMichael:
+
+we've made a huge effort already to translate the wiki, so we're making an improvement to
+
+make it easier for those communities to combine with the larger community. i myself
+
+have already talked to quite a few because i know quite a lot of balkan area servers, i
+
+actually run one even though i don't speak the language, but there you go. i actually run a second one now, and a role play server, so i've been in touch with quite a few of their areas and tried to get quite a few of them over and a lot of them are on board, a lot of server owners from those areas are on board, so that's that's always good
+
+Southclaws:
+
+i was surprised to know there's quite a big chinese, japanese, taiwanese community as well that i didn't even know about, so i've been talking to people in those communities
+
+and helping translate and stuff.
+
+Y_Less:
+
+i found out that there was a big chinese and japanese community about seven seconds ago when you said that
+
+Southclaws:
+
+i've mentioned it before in the discord but yeah there is actually a big community, the problem's always been the language barrier, but the translation stuff is really helping with that the fact, that you can actually do it, because the old wiki you couldn't create an
+
+account for many years for some reason, so no one could translate the wiki
+
+Y_Less:
+
+the reason is kalcor
+
+Southclaws:
+
+so people usually make their own wikis and stuff and they got outdated and yeah, problems and problems. i have heard apparently in thailand there's actually a single translated version of the godfather game mode that everybody copies and uses
+
+Y_Less:
+
+there are already multiple language sections on discord, and the forums. the big issue that we had, because the samp forums used to have language sections as well, the problem
+
+was moderating them because if we don't speak the language we don't know what you're saying. if there's issues people make reports like oh this person's doing something bad.
+
+well we don't know, we can't review that really, so we'd love to reach out to communities,
+
+we kind of need people within those communities that speak english to liaise with, but we're very interested in finding those people who are involved in one of the foreign
+
+language communities, and speak english, please speak to us!
+
+Potassium:
+
+yeah so if you know trustworthy members of the community who speak other languages and want to help us out, tell them to get in touch with us on our forum, our discord, wherever, um because we would love that
+
+Y_Less:
+
+i mean we already do have several languages in the team, we speak english or german or
+
+persian or...
+
+Potassium:
+
+australian
+
+Y_Less:
+
+that's about it, yeah, australian, that's a unique language... yorkshire...
+
+Hual:
+
+also we're pretty close with the turkish and romanian communities as well,
+
+they're pretty big
+
+Y_Less:
+
+and i do have contacts in the russian community as well.
+
+Potassium:
+
+so we are trying.
+
+Y_Less:
+
+it's tricky, it's hard, that's why it's not worked before.
+
+Potassium:
+
+yeah and lack of effort. so the last kind of pre-loaded question from the forum today
+
+is: what are you most looking forward to about openmp? and i just thought this was
+
+really wholesome.
+
+e
+v
+e
+r
+y
+o
+n
+e:
+
+the release.
+
+Potassium:
+
+after the release, just in general. it's a nice question because i'm glad that people can see that we're happy to be doing this and excited to be doing it. so yeah what are you looking forward to?
+
+JustMichael:
+
+just looking forward to getting to a state where either players are finally enjoying the
+
+features, or we get to a point where the rest of the community can take over, pretty much that to be honest
+
+Potassium:
+
+anyone else want to add anything?
+
+j0sh...:
+
+no bug reports
+
+Potassium:
+
+i just i'm honestly just kind of looking forward to bringing together the community again
+
+because we all kind of separated and went off
+
+JustMichael:
+
+it'd be nice to have a big increase of players, especially now that we talked
+
+about including the other communities that have gone their own ways, it'd be
+
+nice to have them then because yeah you know more players are better
+
+Potassium:
+
+not even just player count, just in general, bringing the community back together
+
+Y_Less:
+
+yeah we're not doing this for the sake of a 15 year old game because the game is the greatest game ever, we're doing it because of the community
+
+Potassium:
+
+yeah that's right
+
+Southclaws:
+
+HOWEVER, it IS the greatest game ever!
+
+JustMichael:
+
+can confirm!
+
+Y_Less:
+
+uhhhh vice city is better.
+
+Potassium:
+
+liberty city is my home, i'll always love gta 3.
+
+JustMichael:
+
+so the team is completely split
+
+Potassium:
+
+yes. but on that note, we get a lot of questions asking like san andreas is such an old game, why are you bothering, why do you care, kind of thing. and i just want to answer
+
+that one, or start by answering that one, and say that i think it's important to remember that a large portion of the samp player base come from countries where technology isn't necessarily as up-to-date or as high priority as it is where some of us live, and a lot of our players play samp because it's one of the only games that can run on their pcs or that they can afford, so i don't know i just absolutely love the fact that we can give them the ability to play and create their own game modes like battle royales or racing modes or whatever,
+
+so that everyone can still experience these kind of games even though they can't afford like pubg or call of duty or you know, like they can't run those things
+
+Southclaws:
+
+a side thing to add to that i think is the the scripting side of it, it's like a gateway drug in a way, it's a gateway for people to learn how to code, and if you learn how to code that can be great because you can make things and you can make games and you can have fun but you can also get a job doing it
+
+Potassium:
+
+there are a LOT of people-
+
+Southclaws:
+
+a lot of people here actually got jobs because of samp, i'm one of them. it's definitely a
+
+great gateway to learning how to code because pawn is quite a simple language, and then you might move into C++ to build plugins and that's kind of a more complex language, and then you might move to doing web stuff like php and javascript because of user
+
+control panels and forums and stuff, and it just goes out from there and that's one of the main things i love about it, i don't really play the game anymore and i haven't really written much code for a few years, but i just love the community, i love helping people with that side of things, so that's why i'm in it
+
+Y_Less:
+
+i think you can track the history of games over the last 15 years through samp modes.
+
+whatever the current popular games is, there's a samp version of it
+
+Potassium:
+
+yeah absolutely, and i love that!
+
+Y_Less:
+
+pubg - samp. battle royale - samp. microsoft flight simulator samp.
+
+iAmir:
+
+among us...
+
+Southclaws:
+
+i've always wanted to write a Trouble in Terrorist Town style game mode... maybe that's our next stream, making a TTT gamemode.
+
+Potassium:
+
+but yeah just back on that note, i don't think there are many games or communities where you can do that kind of thing, where you can have different modes, maybe roblox...
+
+Southclaws:
+
+garry's mod is like the closest thing, and even that you need a semi-modern pc to actually run it, and when you join the server you usually download 500 megabytes of anime skins
+
+Potassium:
+
+every time i play garry's mod i get texture errors and stuff, and i have a good pc. so anyway i think we will go ahead and take some live questions from chat, so you guys listening...
+
+Y_Less:
+
+just quickly before you do that, one other thing related to that point we were saying lots of people have got started in samp learning to code through pawn, it's quite a simple
+
+language, and a lot of people always ask why we are using pawn when it's such a simple
+
+language... and that is the answer, we use it because it's a simple language, anybody can pick it up. it's an 18+ game but let's face it we have a lot of kids playing, they come along and go okay i want to make my own server how do i do that? well first you need to download this editor and these plugins, and then you download this other compiler and these other things and do this and this and this, and then this and then this and this, and
+
+then you can start writing your first code in this horribly conflicted language. they just go
+
+oh... whereas with samp it was how do i start coding? open this, done.
+
+Southclaws:
+
+and you've already got a piece of code to start with as well.
+
+Y_Less:
+
+the barrier to entry is zero
+
+Potassium:
+
+put it this way, if i can do it anyone can do it. and that is not an exaggeration!
+
+Southclaws:
+
+Potassium learns to code - the video series. when's that happening?
+
+Potassium:
+
+yes, i'm so down for that! but you guys are going to get very angry.
+
+Y_Less:
+
+i actually think that would be a realy good series.
+
+Potassium:
+
+i'm very hard to teach, and also i will cry. but that's okay, that's good content i guess! anyway we're gonna take some live questions from chat, so if you guys in the chat have any questions, which i know you do...
+
+JustMichael:
+
+someone just asked about GetAsyncKeyState
+
+iAmir:
+
+i'm not sure actually having that is actually a good idea because what samp actually does right now is listening to key events, so what player has mapped it to the gta game itself, so for example when you press F, if you change the F button to i don't know G for example, for interim vehicles when they press G, it's gonna get called on the server side, so what they want and what they were asking is actually sending all the keys, all the key events to the server, which is actually not um a good idea because you can actually run a key logger or stuff like that, and you're gonna have some security issues
+
+Southclaws:
+
+it also proves the key layout is then controlled by the server and not the player, and that's kind of weird because if you like using a different keyboard layout, like maybe you like using ESDF which i know some fps players actually use things like that and other layouts for WASD, if you join a server and suddenly all your buttons are kind of different then
+
+it can be kind of confusing. so i mean we could add more keys that can be rebound, but
+
+i think using the games keys actually gives players the ability to customize their sort of
+
+layout and stuff to match them, not the server forcing them to press F if they want to use E for entering cars or something, picking up items, stuff like that
+
+iAmir:
+
+i think how we should handle it is add some actions not keys just a bunch of actions so anyone can bind anything to them
+
+Southclaws:
+
+we have Y and N as well that were added at some point, was it H? i can't remember, there were some new keys added at one point. we could do stuff like that, there was a there was actually a key i use... tab is actually a key action, but it's also the scoreboard, so users can't really use it, but if you rebind tab to like something like R, suddenly you've got a new key to
+
+actually rebind on the server side. so there's there's potential there.
+
+Y_Less:
+
+yeah a better way is just to have the server define actions and then the client can get that
+
+list of actions and just assign their own keys but then still it's just they've triggered this action they've pressed this key.
+
+Southclaws:
+
+yeah and also not allow people to bind every single key on the keyboard and then keylog people.
+
+Y_Less:
+
+it won't work because they if they're allowed to bind their own keys they can change it so the keylogger is useless, but they've triggered these actions in this order, what key is that?i don't know
+
+JustMichael:
+
+i'm not sure if this is a direct question to us but it just says what is the recommended amount of dedicated rams
+
+_everyone laughs_
+
+Potassium:
+
+that's jamie
+
+JustMichael:
+
+bloody troll
+
+Southclaws:
+
+get trolled bro
+
+iAmir:
+
+so i've listed some questions, one of them was about ddos and people attacking other servers which is very common in the spanish community
+
+Potassium:
+
+all communities
+
+iAmir:
+
+yeah, kind of all communities, but in the spanish community there's some guy, stuff like that
+
+Southclaws:
+
+oh yeah Graber had to write a weird proxy thing
+
+iAmir:
+
+yyeah and people are now asking about that, for ddos protection
+
+JustMichael:
+
+there's nothing we can do about ddos itself
+
+Southclaws:
+
+the thing that Graber wrote and, something that i've worked on, and actually you've
+
+worked on this michael, is a proxy, which is kind of awkward to get working because
+
+of how samp quote unquote encrypts data, it uses the ports like a very simple cipher but if you can put a proxy on another server and then use round robin dns or something then that can be a good mitigation technique, so i think providing the tools to do that would be a good thing
+
+JustMichael:
+
+there would be a problem though if someone was to ddos the actual load balance or proxy itself then that would ruin it for all servers
+
+Southclaws:
+
+yeah but a proxy load balancer is a lot lighter than the game server so you can dedicate multiple threads to actually handle that load, it's kind of how cloudflare and all those proxy services work so you know if you're a big server and you've got the budget then you can
+
+you know rent a bunch of vps's, roundup and dns and put proxies on all of them, and then that kind of takes the load and then your actual real server you can just hide the ip address a bit and no one can ddos it directly
+
+iAmir:
+
+the results of our discussion is if they are actually targeting the server itself not the openmp server for example like the machine itself, if they are targeting that with
+
+a stressor or some kind of exploits, stuff like that, you cannot actually do anything about it. we can fix our job but we can't fix details because that's just how the internet works. if those are exploits or stressor or some kind of ddos tools, stuff like that, if they are
+
+actually targeting openmp server we can find the issue and fix it as soon as possible that
+
+we figure it out, but about the server itself, the machine, there's actually no way we can handle that because there's nothing for us to fix, so that's actually other people's work buying ddos protection, having good servers, paying more
+
+JustMichael:
+
+that comes with anyone running any kind of application in production, any kind of server, that's not a specific issue to us
+
+iAmir:
+
+yeah even just a simple website, people can target a website for that to take down the servers
+
+Southclaws:
+
+they can target your home router
+
+Y_Less:
+
+you just can't stop ddos in software, it's just not possible, they keep saying how can we stop ddos, buy ddos protection, that's it.
+
+Hual:
+
+basically we can stop it if it's abusing an openmp exploit, otherwise nothing we can do.
+
+JustMichael:
+
+it would also be good if we had the community report these to make sure they actually report these issues immediately when they find them because that would just help us
+
+to fix them if something's gonna be on
+
+iAmir:
+
+yeah one of the biggest issues that we had in samp was people couldn't report bugs, there was like some thread or discussions stuff like that and people were reporting bugs or adding suggestions and those messages were get lost in a day.
+
+JustMichael:
+
+i remember there was a bug thread that got deleted like three hours after it was created when it had i think it was like 27 or 30 different replies in it, but all bugs, and it was just gone
+
+Southclaws:
+
+i found a bug where you could read logs from remotely and no one cared about it and i got no reply
+
+Potassium:
+
+i don't understand this question but Southclaws: sent it to me so it says: samp doesn't support ip failover/alias - will openmp support it?
+
+Southclaws:
+
+the reason the reason samp doesn't support that is because it uses the actual port and the address to encrypt its packets, but you can just not do that when the client is out. while we've got to use the samp server we'll be kind of bound to the weird encryption that exists, but after that we can do like a regular udp proxy type thing. and yeah you can do failover
+
+for dns as well.
+
+iAmir:
+
+uh there's also another question that i have in my list that people ask in chat, someone's asked more like a suggestion, can we consider giving servers the ability to add their favicon that is shown on the client next to the server title for example in launcher. we could we can actually do that right now with having even some client or some launcher i mean
+
+yeah with a custom launcher we can actually add a custom rule to the query so we read that in our own launcher
+
+Southclaws:
+
+there's servers.net which i wrote three years ago or two years ago or something, i can't remember, i think that actually had the support for a field called "banner" which was meant to be an image that would like be like a graphic you could put in the background of your server page or the server list or something
+
+JustMichael:
+
+there is also the fact that now that we've got the indexer you've added login support for users so they could easily even without it being on the server they could technically just log into that and put it on the index and then yeah all the launchers could just go off the indexer
+
+Southclaws:
+
+the the plan with the indexer is to basically launch a server and you log into the indexer and the indexer will give you a token like an api token and you put that token into your server config file and now the indexer has verified that you own that server, so then on the indexer's web interface you can go and edit the description, the icon, the image, whatever whatever we end up adding, gifs, i don't know. then you don't have to modify a config file that is on a vps, log in and upload ssh, whatever, you just go to a website and you can just edit it with your browser and it's a lot simpler.
+
+Potassium:
+
+alright before we end for today, people keep asking us to show videos of the progress. so
+
+we don't have that, we don't have videos because there's not really anything to show at
+
+the moment, right?
+
+JustMichael:
+
+we have been live streaming recently and showing openmp progress
+
+iAmir:
+
+there's actually nothing to show on a stream or as a video because it's just a simple server application which is like a console
+
+Hual:
+
+development is occasionally streamed on discord
+
+Potassium:
+
+so if you guys join our discord server Southclaws: and other people do often stream their development and stuff, their progress, in discord, so you just kind of join the discord channel and you watch the stream and you can just join the talk as well and chat and ask questions. we are quite open with it and do a lot of public stuff that you guys can join.
+
+JustMichael:
+
+someone just asked about custom ui servers using htmlcs and js. and we have
+
+talked about this a lot and CEF will not be part of it.
+
+um google adsense um sources of
+
+nonsense on your screen yeah also good
+
+looking
+
+so you have to work on xp oh yeah yeah
+
+yeah also cef isn't small
+
+yeah keyboard yeah
+
+there's gonna be a problem with people
+
+who have low end computers
+
+people who have like weak computers to
+
+play
+
+that game so if you want to
+
+know you can just play mta
+
+it's fine like we want judge
+
+i mean eventually i guess we're gonna
+
+have um client-side
+
+c api too right so if we actually add
+
+that
+
+and having that yeah josh i mean
+
+we haven't talked about it yes but
+
+actually having that is actually a good
+
+idea because
+
+uh people can add voice chat by
+
+themselves by interacting
+
+our own api and um
+
+for cef stuff like that they can edit
+
+themselves
+
+if we add c api
+
+so yeah it's probably uh possible
+
+for later users
+
+well we probably won't ever have cef
+
+yeah we're not going to have that built
+
+in not officially
+
+someone else could edit it unofficially
+
+yeah
+
+yeah but i'm not sure we will accept it
+
+in the
+
+registry of official plugins also so
+
+i don't know yeah there are things
+
+someone asked if we have a official map and model editor
+
+uh yeah we have a mirror working a model
+
+viewer
+
+uh not sure
+
+yeah cool
+
+all right uh and we've not really
+
+discussed it so
+
+we could say oh we would like one which
+
+is true but there's no plans to make one
+
+because there are ones already and they
+
+work and they're fine and everyone
+
+knows them
+
+Potassium:
+
+I think we will end it there because i think we answered a lot of questions, but you know if you have more questions please go to our forum or our discord and ask there, because we do want to answer them.
+
+Y_Less:
+
+some people are concerned about not being not native speakers and not understanding what we've talked about so we'll try and write it up
+
+Potassium:
+
+yeah i'll try and get a transcript up and then our awesome contacts in other communities can translate for us, that would be great
+
+BigETI:
+
+i mean if you upload it on youtube that should be fairly easy
+
+Potassium:
+
+yeah that's the plan, we're gonna put this on youtube, and i'm gonna try to put it on some
+
+kind of podcast platform too so people can listen to it
+
+Southclaws:
+
+i'm sure youtube will generate some very hilarious captions as well
+
+Potassium:
+
+so like we said we do intend to stream regularly from now on, not just q&a sessions but we
+
+would like to stream development progress, i think we talked about doing some community games like stuff like among us and other games that we could all play together, so make sure you follow this channel, join our discord, subscribe on youtube, follow our twitter,
+
+facebook, instagram, sign up to our forum, all that good stuff, everything is linked
+
+iAmir:
+
+you forgot vk
+
+Potassium:
+
+yes vk
+
+Southclaws:
+
+there's a reddit as well
+
+Potassium:
+
+everything should be linked below, otherwise we do have a linktree, it's linktr.ee/openmultiplayer i believe, everything is linked on that, but yeah i guess thank you guys for your time, thank you to all the viewers for watching, or listening rather, the link tree link is in the twitch chat right now, uh one more question quickly, are there plans to open a patreon for people wanting to support the project?
+
+e
+v
+e
+r
+y
+o
+n
+e:
+
+we haven't really discussed anything like that
+
+donations are always good but we don't really need them right now
+
+yeah at the moment we don't need them
+
+i think yeah i mean stuff like the server costs and whatever it would be nice
+
+they're fairly cheap
+
+the indexer probably costs like five dollars a month it's like nothing
+
+yeah yeah and the websites are all hosted for free
+
+yeah maybe maybe in the future we'll open up some kind of way that you guys can
+
+support the project if you want to, but you know we're not we're not doing it to make money so that's something we'll discuss
+
+also it's kind of like you're committing even more and i don't think we can just do that
+
+because we all work for a living
+
+Potassium:
+
+alright well thank you guys so much for being here and for answering all these questions,
+
+and thank you twitch chat for being here and for following and everything, we'll see you on discord
+
+e
+v
+e
+r
+y
+o
+n
+e:
+
+thank you for hosting us
+
+Potassium:
+
+you're welcome, see you guys!
diff --git a/frontend/content/ka/blog/porting.mdx b/frontend/content/ka/blog/porting.mdx
new file mode 100644
index 00000000000..16b4fd09a25
--- /dev/null
+++ b/frontend/content/ka/blog/porting.mdx
@@ -0,0 +1,232 @@
+---
+title: Porting to open.mp
+date: "2024-03-06T14:01:00"
+author: Y_Less
+---
+
+It has been clear for a long time that Kalcor was no longer interested in maintaining SA:MP; which in itself is fine, but as the only person with official source code access this made him a bottleneck to new updates. Both YSF and fixes.inc were created to fill this void - fix the bugs and inconsistencies in the server without having source code access; the former as a plugin and the latter as an include. Despite some monumental efforts to make these (and other) projects as stable, comprehensive, and easy to use as possible, they naturally started hitting their limits and a new generation of fixes were required. This is where open.mp comes in.
+
+Founded on the same principles, and taking all the myriad improvements developed over a decade by the community, open.mp is a ground-up rewrite of the original SA:MP server with all the fixes from its direct predecessors, and many more that were either unmanageable or outright impossible. Granted this approach was not without controversy - some servers had developed their own private methods of dealing with SA:MP's quirks independent of the community's efforts, but these are not techniques that every scripter should have to develop for themselves, and this article will help with porting over existing code.
+
+We hope to address the major sticking points, but if there are any we miss, feel free to reach out via discord or github and we'll be happy to ammend the guide.
+
+The alternative option is to undo the fixes using a library which is the twin of fixes.inc - breaks.inc:
+
+https://github.com/pawn-lang/sa-mp-fixes/blob/master/breaks.inc
+
+So feel free to install that to revert to all the old behaviours transparently via hooks.
+
+## `Tags`
+
+The open.mp includes add many new tags to functions, though still trying to strike a balance between much needed upgrades and invasiveness. Due to how wide-spread these changes can be we wrote a tool to automate a lot of it:
+
+## `HideMenuForPlayer`
+
+This function has always taken a menu ID parameter, but in SA:MP this ID was not used. So whatever value was given the player's current menu would be closed, even if they weren't looking at the one you said to close.
+
+Old code may have looked like:
+
+```pawn
+gShopMenu = CreateMenu("text", 2, 100.0, 30.0, 7.0);
+
+HideMenuForPlayer(gShopMenu, playerid);
+```
+
+That would always close the player's current menu, regardless of which one they were actually looking at. Now you will need to remember which one they are looking at, or just get it:
+
+```pawn
+gShopMenu = CreateMenu("text", 2, 100.0, 30.0, 7.0);
+
+HideMenuForPlayer(GetPlayerMenu(playerid), playerid);
+```
+
+## `SetPlayerAttachedObject`
+
+Attached objects in SA:MP would survive a gamemode change, but in open.mp they do not. If you want a player to keep their objects over a mode restart you will have to re-add them in `OnPlayerConnect`:
+
+```pawn
+enum E_ATTACHMENT_DATA
+{
+ E_ATTACHMENT_DATA_MODEL,
+ E_ATTACHMENT_DATA_BONE,
+ E_ATTACHMENT_DATA_OFFSET_X,
+ E_ATTACHMENT_DATA_OFFSET_Y,
+ E_ATTACHMENT_DATA_OFFSET_Z,
+ E_ATTACHMENT_DATA_ROT_X,
+ E_ATTACHMENT_DATA_ROT_Y,
+ E_ATTACHMENT_DATA_ROT_Z,
+ E_ATTACHMENT_DATA_SCALE_X,
+ E_ATTACHMENT_DATA_SCALE_Y,
+ E_ATTACHMENT_DATA_SCALE_Z,
+ E_ATTACHMENT_DATA_COLOUR_1,
+ E_ATTACHMENT_DATA_COLOUR_2,
+}
+
+public OnPlayerConnect(playerid)
+{
+ for (new i = 0; i != MAX_OBJECT_ATTACHMENT_SLOTS; ++i)
+ {
+ SetPlayerAttachedObject(
+ playerid,
+ i,
+ gAttachementData[playerid][E_ATTACHMENT_DATA_MODEL],
+ gAttachementData[playerid][E_ATTACHMENT_DATA_BONE],
+ gAttachementData[playerid][E_ATTACHMENT_DATA_OFFSET_X],
+ gAttachementData[playerid][E_ATTACHMENT_DATA_OFFSET_Y],
+ gAttachementData[playerid][E_ATTACHMENT_DATA_OFFSET_Z],
+ gAttachementData[playerid][E_ATTACHMENT_DATA_ROT_X],
+ gAttachementData[playerid][E_ATTACHMENT_DATA_ROT_Y],
+ gAttachementData[playerid][E_ATTACHMENT_DATA_ROT_Z],
+ gAttachementData[playerid][E_ATTACHMENT_DATA_SCALE_X],
+ gAttachementData[playerid][E_ATTACHMENT_DATA_SCALE_Y],
+ gAttachementData[playerid][E_ATTACHMENT_DATA_SCALE_Z],
+ gAttachementData[playerid][E_ATTACHMENT_DATA_COLOUR_1],
+ gAttachementData[playerid][E_ATTACHMENT_DATA_COLOUR_2]
+ );
+ }
+}
+```
+
+## `ClearAnimations`
+
+`ClearAnimations` is the dual of `ApplyAnimation` to stop a player performing the action previously requested. However, when used on a player in a vehicle this would also cause the player to be removed from the vehicle. This is a useful function, as it happens instantly, but is not within the purview of the `ClearAnimations` function. To force remove a player from a vehicle instantly use:
+
+```pawn
+RemovePlayerFromVehicle(playerid, true);
+```
+
+## Death money
+
+When a player dies in San Andreas they get $100 deducted from them to cover hospital bills automatically. This feature remains in SA:MP, but is removed from open.mp to allow scripts to manage all their own money. Several scripts attempt to fix this already by adding $100 to a player after death, or on spawn. If this is your script simply delete the additional fix, although the code in open.mp does attempt to account for scripts that do this. If your script relied on this feature, simply add the following code to `OnPlayerDeath`:
+
+```pawn
+GivePlayerMoney(playerid, -100);
+```
+
+## OnPlayerConnect
+
+When a gamemode starts or restarts in SA:MP `OnPlayerConnect` is immediately called for all players already connected to the server, but it isn't when a filterscript starts or restarts. While the latter behaviour more closely matches the name, the former behaviour is extremely widely exploited in scripts, and so was extended to all script types in open.mp to maintain consistency.
+
+Scripts which initialise data for a player no longer need to perform this code in two different locations:
+
+```pawn
+public OnFilterScriptInit()
+{
+ for (new playerid = 0; playerid != MAX_PLAYERS; ++playerid)
+ {
+ if (IsPlayerConnected(playerid))
+ {
+ InitialisePlayer(playerid);
+ }
+ }
+}
+
+public OnPlayerConnect(playerid)
+{
+ InitialisePlayer(playerid);
+}
+```
+
+The loop in `OnFilterScriptInit` can now be removed:
+
+```pawn
+public OnPlayerConnect(playerid)
+{
+ InitialisePlayer(playerid);
+}
+```
+
+If a script exploited this fact to only run code for new players joining the server after the scripts starts, and not for those who were on before, this will no longer work, but is again easilly fixed:
+
+```pawn
+static bool:gAlreadyHere[MAX_PLAYERS];
+
+public OnFilterScriptInit()
+{
+ for (new playerid = 0; playerid != MAX_PLAYERS; ++playerid)
+ {
+ gAlreadyHere[playerid] = IsPlayerConnected(playerid);
+ }
+}
+
+public OnPlayerConnect(playerid)
+{
+ if (gAlreadyHere[playerid])
+ {
+ gAlreadyHere[playerid] = false;
+ }
+ else
+ {
+ SendClientMessage(playerid, COLOUR_WARN, "You're late!");
+ }
+}
+```
+
+This may look to simply trade one loop in `OnFilterScriptInit` off for another one, but wanting to exclude current players from some code is a less common use-case than wanting to do something for everyone, so this is overall a net improvement; and as stated before vastly less invasive than not calling `OnPlayerConnect` in gamemodes.
+
+## Game texts
+
+SA:MP has six different game text styles, but several of them are basically unusable. One fades in and out constantly, one disappears after a set time regardless of the time you put, and one never disappears regardless of the time selected. However it turns out that all of these game text styles can be accurately\* reproduced using text draws. Thus fixes.inc and subsequently open.mp did so. The appearance of the game texts is the same as before, the advantage being that all styles are usable, with the downside being that they no longer fade in and out.
+
+There is currently no way to bypass this feature to get the fading back, except for using Pawn.RakNet and sending the game text messages directly:
+
+```pawn
+FadingGameTextForPlayer(playerid, const format[], time, style)
+{
+ if (style > 6)
+ {
+ // There's no fading version of these styles.
+ GameTextForPlayer(playerid, format, time, style)
+ }
+ else
+ {
+ // Send a raw message via Pawn.RakNet
+ }
+}
+```
+
+\* With one notable exception - the new clock game text style. For some unknown reason the colour of the clock is different for different people, which led to a lot of back-and-forth discussion on how best to replicate this style until the discrepancy was found. We had to pick one of the two for consistency.
+
+## Pool sizes
+
+`GetPlayerPoolSize`, `GetActorPoolSize`, and `GetVehiclePoolSize` were somewhat pointless when they were first introduced; returning the highest connected ID, which bears no relation to the number of connected players, and long after much better looping methods already existed. Being a bit silly is not in itself a reason to remove the functions, but unfortunately they are also broken and return incorrect data when there are no connected players. There is no way to fix these return values in a way that is both backwards compatible and correct going forward (believe me, we tried). Given these facts, we opted to simply remove the functions. Just use a normal loop or `foreach`:
+
+```pawn
+foreach (new i : Player)
+{
+}
+```
+
+Some scripts did crash when this change was introduced, but only when using the following loop form:
+
+```pawn
+for (new i = 0; i != GetPlayerPoolSize(); ++i)
+{
+}
+```
+
+Though since the highest value is a real player when there are people online this code is wrong anyway - it misses out a person.
+
+## Spellings
+
+SA:MP is very inconsistent in its code spellings - some things use English, some things use American:
+
+* `Bumper` - English
+* `Hood` - American
+* `Armour` - English
+* `Stereo` - American
+
+We have unified these, and settled on English spellings. So for example:
+
+```pawn
+TextDrawBoxColor(Text:textid, boxColor);
+```
+
+Is now:
+
+```pawn
+TextDrawBoxColour(Text:textid, boxColour);
+```
+
+The upgrade tool will take care of most of these automatically.
+
diff --git a/frontend/content/ka/blog/release-candidate-1.mdx b/frontend/content/ka/blog/release-candidate-1.mdx
new file mode 100644
index 00000000000..59aa004dae5
--- /dev/null
+++ b/frontend/content/ka/blog/release-candidate-1.mdx
@@ -0,0 +1,155 @@
+---
+title: Release Candidate 1
+date: "2023-01-05T01:10:00"
+author: Y_Less
+---
+
+It's here!
+
+It's finally here!
+
+After four years, two rewrites, arguments and drama, and countless other hurdles; it is finally here!
+
+Release Candidate 1 (RC1) of the open.mp server.
+
+This, hopefully, represents the final version of the code for our 1.0 release, and if everything goes smoothly with this version we will be able to finally **open** the so-called **open**.mp in just a few days from now.
+
+Before I get in to the meat of the release I want to first sincerely thank every member of the open.mp team for helping the mod get this far. It has not been easy, mostly because of how invested everyone truly was - we all wanted what was best for the mod, for the community, for SA:MP, for our servers, and for our players; we wouldn't have embarked on this journey if that wasn't the case. Unfortunately strong differing opinions on what is **best** sometimes causes friction. But we're here now. So to all, a huge thank you:
+
+* Amir
+* Cheaterman
+* Freaksken
+* Graber
+* Hual
+* Josh
+* JustMichael
+* kseny
+* Nexius
+* pkfin
+* Potassium
+* Southclaws
+* TommyB
+* Y_Less
+* Zeex
+* And probably more...
+
+Anyway, now the bit you actually care about...
+
+Now we're out of beta, we're (if all goes well this week) releasing on time. So along with the server itself, which you've seen a dozen times before, we have some new goodies for you:
+
+## Pawn
+
+The download has the official includes, no more patching the old SA:MP includes with `omp.inc`, now we're doing it properly! It also has a new compiler. Ever wonder when 3.10.11 was coming? Well wait no longer (if you built it yourself, you could think of this one as 3.10.12)! With this combination you'll probably get loads of new warnings, but worry not - we have a tool for that as well, to automatically upgrade a load of code, adding well-defined symbol names, `const`, and more in all the right places. Maybe you already noticed this, you've been using it for months, but the virtual machine (the bit inside the server) has been updated as well! Oh, and all those string natives you know and love, like `SendClientMessage` and `AddMenuItem`? They all format now. All of them\*.
+
+A full list of what's available:
+
+* Symbol length limit increased to 64, no more `OnPlyrDoTheTing` to try and fit your names in. Leading to...
+* Multiple natives decompressed - is `Col` short for `Colour` or `Collision`? Now you know!
+* Tags. Tags everywhere. See the included documentation.
+* The official includes are finally const-correct. No more complaining that some people might not have them.
+* Compiler version updated: `__nameof`, `__addressof`, fixes, and too many more things to go in to here.
+* `switch` is way faster.
+* More warnings for previously undetected issues. The more problems the compiler can find, the fewer you need to.
+* An *upgrader* tool to add tags and `const` to user-code and fix several new warnings.
+* More consistent naming. Every native has been closely examined and compared to ensure the maximum level of similarity and intuitiveness in naming.
+* Added `{Float, _}:...` everywhere. What does this mean? It means no more `format()`\*\* - think y_va but natively.
+* `-O2`, the highest pawn optimisation level, works when using the new compiler and VM. Some includes may need to be updated, but some already have. To help with that...
+* The `__optimisation` macro was added so code can configure itself when compiled with `-O2`.
+
+Documentation on the updated includes:
+
+https://github.com/openmultiplayer/omp-stdlib
+
+Documentation on the new compiler:
+
+https://github.com/openmultiplayer/compiler/
+https://github.com/pawn-lang/compiler/
+
+Documentation on qawno:
+
+https://github.com/openmultiplayer/qawno/
+
+Documentation on the upgrader tool:
+
+https://github.com/openmultiplayer/upgrade
+
+\* Almost all of them.
+\*\* Almost no more `format()`.
+
+## SDK
+
+Pawn is the long-standing, and still official, way to write modes for your server. It isn't going away, but for those of you who want more control we are finally releasing the full SDK (the *S*oftware *D*evelopment *K*it). This is a C++ interface to the server, the same one used by all the components that make up the core open.mp code. Anything they can do you can do too (compared to plugins, which were only designed to provide functions to pawn, not write modes).
+
+We have some documentation under way, it takes time unfortunately. But in the meantime have several example components for those of you who want to get straight stuck in. These are all templates you can build upon, and go from basically nothing to a fully working component with most common features:
+
+https://github.com/openmultiplayer/empty-template
+https://github.com/openmultiplayer/basic-template
+https://github.com/openmultiplayer/pawn-template
+https://github.com/openmultiplayer/full-template
+
+A few terms to get you started, so you can start to understand what it is that you're reading:
+
+* *Component* - A logical individual piece of the server, like objects or pickups. Ones you don't need don't need to be loaded.
+* *Extension* - Code that extends another bit of code. You can write component extensions, but the most common ones are player extensions, which define some structure of data to be associated with a player in addition to all their normal data like health and weapons.
+* *UID* - *U*nique *ID*entifier, a number that represents your component, and your component alone. This ia always required and can be got here: http://open.mp/uid
+* *Entity* - A thing, usually a thing a player can interact with, and which you might have a lot of. Objects are entities, but other players are also entities, even commands in a processor could be called entities.
+* *Pool* - Something that holds entities. When you have a lot you need to be able to access them by name or ID in some way, this is what a pool does.
+* *Interface* - Components use an abstract base class as an interface. This declares which methods a component has, but doesn't contain the code for the methods. Interfaces are passed around so that components can communicate with each other, but implementations are kept private.
+* *SDK* - The collection of all the interfaces defined by the core server.
+* *ABI* - An *A*pplication *B*inary *I*nterface is the way compiled code talks to other compiled code. The interfaces exported by the SDK are *ABI stable*, which means that using two components compiled at different times will still work together.
+* *pawn-natives* - The library on which all native declarations are built. Useing a wrapper called `SCRIPT_API` around this library: https://github.com/openmultiplayer/pawn-natives
+* *Event* - Something that happens externally. Things like players connecting and typing commands are events. Any component can define events and tell other components when those events happen.
+* *Handler* - A component that wants to know when an event happens.
+
+If you have questions, the best place is probably the brand new (revived) forums:
+
+https://forum.open.mp/
+
+## Features
+
+Beside all the new features announced for pawn, there are several new (and newly announced) features in the server:
+
+* Per-player gang zones, as were in YSF.
+* Per-player pickups, also as in YSF.
+* `AttachPlayerObjectToPlayer`.
+* Better PawnPlus support.
+* `:memory:`, and other special names support in SQLite.
+* SQLite open flags.
+* `exclude` config option to not load certain components.
+* Show config parse errors, don't just silently fail.
+* SDK major version check, just in case we ever make major server changes (hopefully we won't).
+
+## Fixes
+
+There were a few new bugs introduced in beta 11, and a few minor ones left over from before. The ones fixed include:
+
+* `funcidx` already registered warning.
+* GDK plugins (streamer etc) missing natives.
+* Random crash on GMX.
+* GDK callbacks sometimes not called.
+* No logging when requested in SQLite component.
+* Some settings not reset on GMX.
+* NPCs were connecting when there were a lot done at once.
+* `.so` was still needed in Linux legacy plugin names.
+
+## Links
+
+Firstly, of course, is the new server version:
+
+https://github.com/openmultiplayer/open.mp/releases
+
+Secondly, the forums are back up. Head there for all your questions:
+
+https://forum.open.mp/
+
+Or if you prefer:
+
+https://vk.com/open_mp
+
+Next, despite it being offered a few times, we have explicitly resisted any money up to this point; because we didn't feel it was right until we had proven ourselves with a release. With this post, that time is now, so if anyone wants to help support us (all donations will go towards infrastructure and future client dev work), it would be most appreciated:
+
+https://www.patreon.com/open_mp
+https://opencollective.com/openmultiplayer
+
+And of course everything is still in active development, so please do check all the links above regularly to see what's new that we have.
+
diff --git a/frontend/content/ka/blog/samp-mobile.mdx b/frontend/content/ka/blog/samp-mobile.mdx
new file mode 100644
index 00000000000..d073e636385
--- /dev/null
+++ b/frontend/content/ka/blog/samp-mobile.mdx
@@ -0,0 +1,27 @@
+---
+title: SA-MP Android (Mobile Version)
+date: "2021-01-30T12:46:46"
+author: Potassium
+---
+
+The open.mp team's views on SA-MP for Android
+
+Hi everyone,
+
+We just wanted to write a quick blog post about our views on SA-MP for Android, because we have been getting a lot of comments about it on our YouTube videos and on Discord.
+
+As we stated in our YouTube video, we do not support the current version of SA-MP for Android. This app was created using source code which was stolen from the SA-MP team, which makes the app illegal.
+
+We do not condone the theft of other people's code, and we do not condone the use of stolen code. We also do not associate with illegal activities.
+
+We see that GTA SA multiplayer for mobile has a large community, and we would like to welcome this community into open.mp.
+
+We are currently discussing how we can create our own multiplayer mod for SA mobile, so that it will be done legally and fairly! :)
+
+This means that it is very possible that there will be open.mp for mobile in the future, so please keep supporting us while we figure it out!
+
+We invite the mobile community to join our official Discord with over 7000 members, we have created a channel for you at #samp-android and we look forward to hearing your thoughts and opinions!
+
+See you there!
+
+https://discord.gg/samp
diff --git a/frontend/content/ka/blog/scripting-api.mdx b/frontend/content/ka/blog/scripting-api.mdx
new file mode 100644
index 00000000000..f7919c3b1f8
--- /dev/null
+++ b/frontend/content/ka/blog/scripting-api.mdx
@@ -0,0 +1,464 @@
+---
+title: open.mp API design
+date: "2020-04-14T20:01:00"
+author: Y_Less
+---
+
+## Introduction
+
+Firstly, a VERY important clarification - existing scripts will still work as-is. We have worked very hard on backwards compatibility and bear it in mind for every decision. There are many improvements we'd like to make that we simply can't for this reason, and other code that is greatly complicated by this compatibility requirement.
+
+That said, there are improvements that can be made all over the place. Let's look at some examples of the inconsistencies in SA:MP scripting:
+
+### Tags
+
+- `Menu:CreateMenu` - Tagged.
+- `DB:db_open` - Tagged.
+- `CreateVehicle` - Untagged.
+- `CreateActor` - Untagged.
+
+```pawn
+#define SELECT_OBJECT_GLOBAL_OBJECT 1
+#define SELECT_OBJECT_PLAYER_OBJECT 2
+
+forward OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ);
+```
+
+`type` is untagged, as are ALL SA:MP defined constants; unlike pawn default constants:
+
+```pawn
+native File:fopen(const name[], filemode:mode = io_readwrite);
+```
+
+### Naming
+
+- `SetVehiclePos` - "Vehicle" in the middle of the function name.
+- `TextDrawTextSize` - "TextDraw" at the start.
+- `db_open` - "db" at the start and lower-case.
+- `fread` - "file" at the start, and shortened.
+- `asin` - A SA:MP added function without camel/pascal case.
+
+Consistency:
+
+- `GetVehicleZAngle` - "Z-Angle"
+- `GetVehicleRotationQuat` - "Rotation"
+- `SetPlayerFacingAngle` - "Facing Angle"
+- `SetObjectRot` - "Rot"
+
+And despite all this, most libraries have now settled on the `Module_Method` naming convention.
+
+### Constants
+
+- `65535`
+
+Value for invalid players, actors, TDs and a few other things. It is also the value for invalid vehicles, but `0` is ALSO an invalid vehicle ID sometimes returned.
+
+- `0`
+
+Value for invalid files, sometimes vehicles (as well as `65535`). Also the value for missing many things such as action states and weapons.
+
+- `255`
+
+Value for invalid teams and menus.
+
+- `-1`
+
+Value for invalid gang zones and weapon states.
+
+Additionally many libraries use `0x80000000` and `-1` for invalid states because they are far less likely to eventually be a valid ID. 65535 is quite a large number, but a big server can easily have more objects than that.
+
+### Per-Player Functions
+
+- `CreateObject` and `CreatePlayerObject`
+
+Has global and per-player versions.
+
+- `SetPlayerMapIcon`
+
+Has no global version.
+
+- `SetGravity`
+
+No per-player version, despite being possibly one of the most requested per-player functions, and added almost instantly by YSF and other plugins.
+
+- `CreateVehicle`
+
+No per-player version, despite also being repeatedly requested. But also not added by any (public) plugin, not even the streamer plugin.
+
+- `SendClientMessage` and `SendClientMessageToAll`
+
+Has global and per-player versions, but the per-player version is the default unlike most other functions.
+
+- `GangZoneShowForPlayer` and `GangZoneShowForAll`
+
+Menus, Gang Zones, and Text Draws are the only default SA:MP functions where you can specify exactly which players can see them. All others are either everyone or just one person. Of course, libraries and plugins have since vasly expanded on this model and most good ones now allow very fine-grained control over which subsets of players (groups) can use any given entity.
+
+### IDs
+
+- `CreateObject` and `CreatePlayerObject`
+
+The IDs pool for these functions are shared. If a global object has ID `4` no player object can ever have ID `4`, but multiple players could have different objects all with ID `5`.
+
+- `Create3DTextLabel` and `CreatePlayer3DTextLabel`
+
+The ID pool is split - the first `1024` IDs are globals, the second `1024` are per-player. Each player can have up to `2048` 3D texts, but only `1024` of each type despite the fact that it makes no difference client-side.
+
+- `SetPlayerMapIcon`
+
+IDs are manually specified, up to a limit of 32. For a while this limit was not checked client- side, leading to a potential ACE exploit.
+
+- `ShowPlayerDialog`
+
+IDs are manually specified, with no limit at all. The IDs are also totally pointless since a player can only ever see one dialog at once.
+
+- `SetTimer`
+
+IDs wrap around, with no checking that an existing timer has the same ID. You would have to start over 4,000,000,000 timers at some point to encounter this issue, but it could happen - they don't even have to all remain running.
+
+And of course some people rely on IDs being allocated in very specific orders, then wonder why their whole mode breaks when they for example add or remove a single vehicle.
+
+## Compatibility
+
+So, again, we must make it very clear that all existing _"SA:MP code"_ will work. What does that mean exactly? Any code that is:
+
+- Written in pawn.
+- Uses the original SA:MP API without plugins.
+- Is recompiled with our includes.
+- Already uses the community compiler.
+
+Will work.
+
+However:
+
+- If you use a plugin to write in a language other than pawn, that plugin will probably need to be ported first. So your code won't work immediately.
+
+- If you use other plugins such as the streamer, YSF, audio, etc; they may already work, may need porting, or may be entirely superfluous because their functionality has been integrated in to the core server. So your code may work.
+
+- If you only have the .AMX of your mode not the original source, why? Anyway, while all SA:MP functions exist, some have been redone or replaced by pawn code or macros and you MUST recompile. So if you can't, your code won't work at all.
+
+## Building
+
+### Eample
+
+Let's look at an insanely simple SA:MP mode to begin with.
+
+```pawn
+#include
+
+main() {}
+
+public OnGameModeInit()
+{
+ SetGameModeText("Example Script");
+ AddPlayerClass(0, 0.0, 0.0, 4.0, 0.0, 0, 0, 0, 0, 0, 0);
+ return 1;
+}
+
+public OnPlayerSpawn(playerid)
+{
+ SetPlayerCheckpoint(playerid, 20.0, 20.0, 4.0, 2.0);
+ return 1;
+}
+
+public OnPlayerEnterCheckpoint(playerid)
+{
+ SendClientMessage(playerid, 0xFF0000AA, "You won!");
+ return 1;
+}
+```
+
+You spawn. You go to the checkpoint. You win.
+
+### Conversion
+
+To build this for open.mp, we need to change just the first include and add one define.
+
+This:
+
+```pawn
+#include
+
+main() {}
+```
+
+Becomes:
+
+```pawn
+#define OPENMP_COMPAT
+#include
+
+main() {}
+```
+
+The first error you might get is:
+
+`open.mp scripts require the community compiler from: git.io/pawn-compiler`
+
+If you get this, go to https://git.io/pawn-compiler and download compiler version 3.10.10 or later. For the release we would like a pawno-equivalent tool with this compiler integrated already, but haven't done that yet. I STRONGLY suggest trying to compile your mode with this compiler first as it re-enabled const correctness warnings so you're likely to have a load of new warnings straight away (this is NOT a problem with the compiler, these are problems in your code that always existed, but were previously ignored). You will also probably want to replace your includes with these ones:
+
+https://github.com/pawn-lang/pawn-stdlib
+
+https://github.com/pawn-lang/samp-stdlib
+
+That's a good thing to do even if you don't use open.mp, as they fix a load of tag and const issues in the original includes.
+
+### Warnings
+
+If you don't get any warnings using the new compiler with the new version of _a_samp_, you will now see a load of new warnings along the lines of:
+
+`warning 234: function is deprecated (symbol "AddPlayerClass") Use "Class_Add" instead.`
+
+You have three options - and they're all supported:
+
+- **Ignore the warnings:** The code will still work.
+
+- **Suppress the warnings:** Change `OPENMP_COMPAT` to `OPENMP_QUIET`:
+
+```pawn
+#define OPENMP_QUIET
+#include
+
+main() {}
+```
+
+- **Fix the warnings:** Some functions have changed names for consistency with each other; some functions have changed parameters because the old ones evolved and didn't fully expose the capabilities of open.mp. There's no simple way to convert every function yet, but you can leave the warnings on while slowly converting code - the old functions will continue to work perfectly well.
+
+There are three stages to conversion:
+
+### `#define OPENMP_QUIET`
+
+Using this define allows your mode to compile with no new warnings from deprecated functions. But you shouldn't stick to this define, and the implicit conversions will only work for pawn code. You can convert code in this mode, as the new API will also work, but you can't use the compiler to see where problems remain.
+
+### `#define OPENMP_COMPAT`
+
+This is the second stage. Once you want to start taking advantage of all the improved features of open.mp like fine-grained per-player entity controls and removed limits you need to start using the new versions of the functions. The new functions are always available, but you might not know everywhere that needs converting. This will give warnings for the old functions, but they will still work, allowing you to convert parts of your mode one at a time.
+
+### No define
+
+Once you think you've finished converting your code, you remove the defines:
+
+```pawn
+#include
+
+main() {}
+```
+
+Now you get errors instead of warnings for any old code still in use.
+
+## New API
+
+So now we've seen what the problems were with the old API, and how to find where you need to apply the new API, we should actually look at said new API in terms of the previously identified issues:
+
+### Tags
+
+Functions now use tags almost everywhere. We have tried to find a balance between too many tag warnings and not enough useful information, but warnings are there for a reason and can help find problems you may have missed. For example passing a vehicle as a parameter to an object function, or giving someone a weapon that doesn't exist:
+
+```pawn
+// No warnings for this code, despite it being clearly wrong.
+new object = CreateObject(various, parameters, here);
+PutPlayerInVehicle(playerid, object);
+
+// Same here - there's no weapon 20, despite it being amongst valid weapon IDs.
+GivePlayerWeapon(playerid, 20, 200);
+```
+
+It would be much better if all pieces of clearly wrong code could give warnings. This is the power of a type-safe language, and while pawn isn't fully type-safe, we can get close with tags. Those examples become:
+
+```pawn
+// warning 213: tag mismatch: expected tag "Vehicle", but found "Object"
+new Object:object = Object@Create(various, parameters, here);
+Player_PutInVehicle(playerid, object);
+
+// warning 213: tag mismatch: expected tag "WeaponType", but found but found none ("_")
+GivePlayerWeapon(playerid, 20, 200);
+
+// This doesn't give a warning:
+GivePlayerWeapon(playerid, WEAPON_COLT45, 200);
+```
+
+### Naming
+
+Most new functions use a refinement of the naming scheme already adopted by many libraries and plugins - `Module_VerbNoun`. Some don't, when they are a one-off that doesn't fit in to any larger module, but for the most part you can possibly guess the name of a function you need. No more wondering if it was "Rot" or "Rotation" for this type of element, there's no abbreviations unless the function name is otherwise too long (32+ characters, the compiler won't accept them). Want to change the model of an object? `Object_SetModel`. Want to show text to a player? `Text_Show`.
+
+There are a limited set of verbs - `Get`, `Set`, `Create`, `Destroy`, `Add`, `Remove`, `Show`, `Hide`, `Run`, `Move`, `Stop`, and `Count`. More may be added and may show up in special situations, but generally if one of these fits, it's probably that one. By far the most common are `Get` and `Set`, which unlike in SA:MP now always come in pairs - if you can set any parameter you can get it as well later. They are also the verbs that most commonly come with a noun - you need to specify what to get or set - `Health`, `Position`, `Model`, `Width`, etc.
+
+Some examples:
+
+```pawn
+native bool:Menu_SetDisabled(Menu:menuid, bool:disabled);
+native bool:Menu_GetDisabled(Menu:menuid);
+
+native bool:Text_SetAlignment(Text:text, alignment);
+native Text_GetAlignment(Text:text);
+
+native bool:Object_Move(Object:objectid, Float:posX, Float:posY, Float:posZ, Float:speed, Float:rotX = FLOAT_NAN, Float:rotY = FLOAT_NAN, Float:rotZ = FLOAT_NAN);
+
+native DBResult_CountRows(DBResult:dbresult);
+
+native Player_Spawn(Player:playerid);
+```
+
+Note that the module and tag names always match - `Vehicle`, `DB`, `Player` etc. [There are reasons besides consistency for this](https://github.com/pawn-lang/compiler/issues/234) - it gives a more OO -like interface, and is easier to remember. However, you might have noticed in an earlier example the function `Object@Create`, not `Object_Create`. The reason for this is what is in the first parameter.
+
+In all seven of the examples immediately above the first parameter is the entity (object, vehicle, player, etc) being operated on. You want to get the position of a specific entity. You want to move a specific entity. You want to get the remaining time of a specific entity. This again maps to the OO-like API - `Player_Spawn(playerid)` can be thought of as `player.Spawn()`. PAWN can't do that, but that doesn't mean other languages plugging in to this API can't. In C++ terms - `_` is `.` or `->` and always needs a valid ID given as the first parameter. However, the function `Dialog_IsValid(Dialog:id)` by definition may not have a valid ID as the first parameter (or what's the point of it\*?), and `Icon_Create(image, Float:x, Float:y, Float:z)` doesn't even take an ID at all. These thus become `@` instead - `::` in C++ syntax. They might not take an ID at all, and absolutely don't need a valid one (`@Destroy` also comes under this group of functions, as destroying an entity is an operation logically external to an entity, not an operation on the entity).
+
+### Constants
+
+To start with, instead of `#define` for everything we use `const` and `enum` as much as possible, except where we expect things to be overridden (`MAX_PLAYERS`):
+
+```pawn
+// Defining this first didn't previously work, now it does.
+#define MAX_PLAYERS 100
+#include
+
+// The override method still works as well.
+#undef MAX_PLAYERS
+#define MAX_PLAYERS 200
+```
+
+Using enums means that constants have tags for compile-time checking:
+
+```pawn
+enum ObjectMaterialTextAlignment
+{
+ MATERIAL_TEXT_ALIGN_LEFT,
+ MATERIAL_TEXT_ALIGN_CENTRE,
+ MATERIAL_TEXT_ALIGN_RIGHT,
+};
+```
+
+`Object_SetMaterialText` will now only accept one of those three values, and nothing else.
+
+What about invalid IDs? We have made those consistent as well. All entities now use the same invalid value, well outside the range of possibly valid values - open.mp has removed almost all limits, so making a value like `65536` invalid just won't work. What is this new invalid value? We haven't decided... There are two main contenders both with pros and cons, and the decision isn't as easy as it might at first appear. But fortunately it doesn't make a big difference to the internal work as we can switch almost instantly.
+
+The two choices are explained below, and we'd appreciate some feedback on this if possible:
+
+#### `0`
+
+Using `0` as an invalid value has a few advantages:
+
+- it isn't an invalid index, so when returned and not correctly checked your code won't crash. It might not work perfectly, but it will keep doing something at least.
+
+- It is very easy to check, and intent becomes obvious with it:
+
+```pawn
+new Object:object = Object@Create(various, parameters, here);
+if (object)
+{
+ Object_SetMaterialText(object, "Hello");
+}
+else
+{
+ printf("Couldn't create the object.");
+}
+```
+
+- A newly declared variable is by default an invalid value:
+
+```pawn
+new Dialog:d;
+```
+
+One of the most common bugs people get is their code only working for player 0, because they forgot to intialise a variable. If there's no player/object/vehicle 0, the code won't apply to anyone - it is better to have no player promoted to admin than the wrong player.
+
+#### `-1`
+
+Using `-1` as an invalid value has a few advantages:
+
+- It IS an invalid index. Not being one was listed as an advantage for `0` because your code will often keep going instead of crashing, but with crashdetect that can be a good thing - there's a bug in your code and the crash will tell you exactly where it is, sometimes to the exact source code line. Which is better, silently continuing, or ending loudly?
+
+- People are used to `0` as a valid value most of the time. Programmers start counting at `0`, so it should be valid and something outside the realm of positive integers should be invalid.
+
+- In unsigned maths it is the largest possible integer - `0xFFFFFFFF`, `4294967295`. This means the internal hard limit for any entity type is the highest it can possibly be - `4,294,967,295` items before running out of IDs (and memory).
+
+### Per-Player Functions
+
+In short, these are no more. Every `ForPlayer`, `ForAll`, `CreatePlayerX` etc. function has been replaced by one simple function - `X_Display` (where `X` is any entity), and `X_Has` for checking:
+
+```pawn
+Object_Display(objectid, playerid, true); // Show it.
+Object_Display(objectid, playerid, false); // Hide it.
+
+Text_Display(textid, true); // Show it to everyone.
+
+if (Zone_Has(zoneid, playerid))
+{
+ // The player is ALLOWED to see the gang zone.
+}
+```
+
+YSI used `X_SetPlayer`, but showing things to players is the most fundamental thing to do, so it deserves its own verb. Some libraries use `X_Show` and `X_Hide`, but that's two functions which just leads to excess code when checking which to do:
+
+```pawn
+if (var) Checkpoint_Show(cpid, playerid);
+else Checkpoint_Hide(cpid, playerid);
+```
+
+vs:
+
+```pawn
+Checkpoint_Display(cpid, playerid, var);
+```
+
+Note that just calling `X_Display` might not actually show the item. An object on the far side of the world still won't be visible. A checkpoint in a different virtual world won't be visible even if it is right next to you. For world entities this just says that the player is allowed to see it, not that they are currently able to. Conversely, for HUD elements such as menus and dialogs this does show them instantly, and may hide others when only one is allowed.
+
+### IDs
+
+With the removal of per-player pools, and unification of invalid IDs, this is no longer an issue.
+
+## Smarter functions.
+
+The `X_Display` functions shown above can take two parameters - entity and display state, to enable every player to see them; or alternatively three parameters - entity, player, and display state. There are other functions that are smart about their parameters as well. One set of examples is the various rotation functions. As mentioned in the introduction, there are at least four different ways to get and set rotations on for different entities. Now there's one - `X_SetRotation` and `X_GetRotation`. For example:
+
+```pawn
+// Just get `z`.
+z = Player_GetRotation(playerid);
+
+// Get x, y, and z Euler angles.
+Object_GetRotation(objectid, x, y, z);
+
+// Get w, x, y, and z quaternion angles.
+Vehicle_GetRotation(vehicleid, w, x, y, z);
+```
+
+Which is used for which entity? All of them:
+
+```pawn
+// Just get `z`.
+z = Object_GetRotation(objectid);
+
+// Get x, y, and z Euler angles.
+Object_GetRotation(objectid, x, y, z);
+
+// Get w, x, y, and z quaternion angles.
+Object_GetRotation(objectid, w, x, y, z);
+```
+
+The parameter and return meanings are determined by the number of parameters given. Also for `Set`:
+
+```pawn
+// Just set `z`.
+Vehicle_SetRotation(vehicleid, z);
+
+// Set x, y, and z Euler angles.
+Vehicle_SetRotation(vehicleid, x, y, z);
+
+// Set w, x, y, and z quaternion angles.
+Vehicle_SetRotation(vehicleid, w, x, y, z);
+```
+
+## Conclusion
+
+We have tried very hard to make an API that's easy to use, easy to learn, but also backwards- compatibile. A lot of the success of SA:MP comes from it's ease of use, and we want to keep that, but are also aware that there are power users as well who want to get far more out of their code. Striking this balance is always hard, especially when the ones who comment the most are the most experienced - the ones who know the language inside and out and want to push it further. This creates a system that self-selects for advanced features at the expense of beginners. We don't want this, but we do still want to hear your thoughts. Which language and API features do you like, which do you not? What functions would help you get the most out of your code? Do you think the new design is simple, or too complicated? Are you fine with the haphazard names of the current functions? They serve their purpose, so why change them? Would you as a beginner have appreciated anything being done differently?
+
+Please share any feedback you might have here in the burgershot topic below. We'd love to hear from you:
+
+https://forum.open.mp/showthread.php?tid=1036
+
+\* Interesting side note. Thanks to the way we've abstracted the scripting API code, `Dialog_IsValid` is implemented as:
+
+```cpp
+SCRIPT_API(Dialog_IsValid, bool(Dialog_s)) { return true; }
+```
+
+That's literally it. No actual implementation needed because for the function to be called the entity lookup must have succeeded, and thus we can return `true` instantly.
diff --git a/frontend/content/ka/blog/server-beta-9.mdx b/frontend/content/ka/blog/server-beta-9.mdx
new file mode 100644
index 00000000000..1a7be1ba70a
--- /dev/null
+++ b/frontend/content/ka/blog/server-beta-9.mdx
@@ -0,0 +1,73 @@
+---
+title: SA-MP 0.3DL compatibility plus other added features and bug fixes - SERVER BETA RELEASE 9
+date: "2022-09-08T03:28:00"
+author: Potassium
+---
+
+Posted in our Discord server announcements channel by kseny (discord.gg/samp)
+
+Hello everyone
+
+We have just released open.mp server beta 9, fixing several reported issues and adding several new features.
+The most notable change being - SA:MP 0.3DL support.
+You can now run 0.3.7 and 0.3.DL compatible servers from the same binary.
+
+Other Changes
+-------------
+
+- Dynamic tick rate. Specify a target tickrate, rather than a fixed sleep time.
+ * Use the tickrate console command to set the rate.
+ * sleep can now be a float to accomodate precise tick rates.
+- More plugin compatibility - fsutil, Discord connector (only with non static build)
+- SetSpawnInfo return fixed.
+- Fix weather and time not resetting after GMX.
+- Fix various GMX bugs.
+- Fix various console commands.
+- Fix GetPlayerClass.
+- Fix GetVehicleLastDriver.
+- Add GetVehicles native.
+- Add GetPlayers native.
+- Add GetActors native.
+- All lagcomp modes are now available through config.
+- Fix trailer sync.
+- Fix GetVehicleLastDriver.
+- Fix GetPlayerRotationQuat.
+- Fix crash in vehicle component.
+
+ SA:MP DL
+----------
+
+This is the big news obviously, and comes with a whole host of new settings:
+
+- Implemented all DL natives and callbacks (AddSimpleModel, AddSimpleModelTimed, GetPlayerCustomSkin, OnPlayerFinishedDownloading, OnPlayerRequestDownload):
+ * RedirectDownload native and OnPlayerRequestDownload callback are now deprecated in favour of CDN config options.
+- Add artwork.enable (legacy: useartwork) config option.
+- Add artwork.models_path (legacy: artpath) config option.
+ * Server can load custom models from artconfig.txt file like SA:MP does.
+- 0.3.7 compatibility is preserved and can be configured by network.allow_037_clients config option (true by default).
+- open.mp server comes now with a built in webserver used to serve custom models
+ * Webserver is using open.mp server bind address and port. Please allow TCP connections on your port in firewall if you plan to use it.
+ * If your public IP address is different than bind address (ex: you're behind a router) you'll need to set it in network.public_addr config option.
+
+
+### Notes
+
+- Due to few changes old config.json files may not work properly. Please use ./omp-server --default-config to generate a new one
+- server.cfg users are not affected.
+- While allowing 0.3.7 connections only 1000 objects can be created
+- open.mp server now provides two types of Linux builds, standard and static. You are encouraged to use the standard build if possible, it will minimize incompatibilities with various plugins; however, it will require openssl 1.1 installed on your system. If you can't install modern openssl on your system (typically if it's very old), you can use the static build, but some plugins or components might fail to load and crash the server.
+
+
+ Official Includes
+-------------------
+
+Preparing a full release is not just having a working server, but all the other peripherals as well - libraries, tools, documentation, and more. On the pawn side open.mp is a significant upgrade, with many QoL improvements already seen through fixes and new functions, and more to come. A big part of this push is more compiler diagnostics to find code problems ahead of time, mostly through more tags and const-correctness. While the offical versions aren't out yet you can still help in the meantime by testing your code with the following includes and tools:
+
+https://github.com/pawn-lang/samp-stdlib/tree/consistency-overhaul
+https://github.com/pawn-lang/pawn-stdlib/tree/backported-natives
+https://github.com/openmultiplayer/upgrade
+https://github.com/pawn-lang/compiler
+
+These were originally developed to improve the default SA:MP includes, but never fully released (i.e. never merged to master, despite the PR being accepted). The open.mp includes build on the foundation established here so think of these as a stepping-stone to full open.mp tag and const safety; and important feedback on their direction. See the links above for far more information and documentation on pugrading.
+
+As ever, if you don't want to upgrade old code and includes will still work (at least for the first release).
diff --git a/frontend/content/ka/blog/timers.mdx b/frontend/content/ka/blog/timers.mdx
new file mode 100644
index 00000000000..822d7ea130b
--- /dev/null
+++ b/frontend/content/ka/blog/timers.mdx
@@ -0,0 +1,46 @@
+---
+title: Timers module
+date: "2019-05-22T03:15:00"
+author: Y_Less
+---
+
+ეს არის ერთ-ერთი გაუმჯობესებული მოდული, რომელიც ჩვენ გავაკეთეთ, ტაიმერებისთვის open.mp-ში:
+
+```pawn
+native SetTimer(const func[], msInterval, bool:repeat) = SetTimerEx;
+native SetTimerEx(const func[], msInterval, bool:repeat, const params[], GLOBAL_TAG_TYPES:...);
+native KillTimer(timer) = Timer_Kill;
+
+// CreateTimer
+native Timer:Timer_Create(const func[], usDelay, usInterval, repeatCount, const params[] = "", GLOBAL_TAG_TYPES:...);
+
+// KillTimer
+native bool:Timer_Kill(Timer:timer);
+
+// აბრუნებს დროს შემდეგ ტაიმერამდე
+native Timer_GetTimeRemaining(Timer:timer);
+
+// დარჩენილი გამოძახების რაოდენობა (0 = ულიმიტო).
+native Timer_GetCallsRemaining(Timer:timer);
+
+// `repeatCount` პარამეტრი.
+native Timer_GetTotalCalls(Timer:timer);
+
+// `usInterval` პარამეტრი.
+native Timer_GetInterval(Timer:timer);
+
+// შემდეგ გამოძახებამდე დარჩენილი დროის გადატვირთვა `usInterval`-ზე.
+native bool:Timer_Restart(Timer:timer);
+```
+
+პირველი ორი არის მხოლოდ უკუთავსებადობისთვის, დანარჩენი გაუმჯობესებული APIა:
+
+```pawn
+native Timer:Timer_Create(const func[], usDelay, usInterval, repeatCount, const params[] = "", GLOBAL_TAG_TYPES:...);
+```
+
+- `func` - საკმაოდ აშკარაა; რა დარეკო.
+- `usDelay` - ისევ აშკარაა, შეფერხება გამოძახებამდე (მიკროწამებში).
+- `usInterval` - რაზე გადავაყენოთ `usDelay` პირველი ზარის შემდეგ. ასე რომ, თუ გინდოდათ საათის ტაიმერი ყოველ საათში, მაგრამ ახლა დილის 8:47 საათი იყო, ზარი იქნებოდა `Timer_Create("OnTheHour", 780 SECONDS, 3600 SECONDS, 0);`
+- `repeatCount` - ძველი ფუნქციებისგან განსხვავებით, რომლებიც მხოლოდ "ერთხელ" ან "სამუდამოდ" არიან, ამის ნაცვლად ფუნქციის გამოძახების რაოდენობა სჭირდება. "ერთხელ" იქნება `1`, `500` ჩერდება 500 ზარის შემდეგ და (ძველი API-დან უკან) `0` ნიშნავს "სამუდამოდ".
+- `GLOBAL_TAG_TYPES` - მოსწონს `{Float, ...}`, მაგრამ მეტი ტეგით.
diff --git a/frontend/content/ka/blog/turfs-formerly-gangzones-module.mdx b/frontend/content/ka/blog/turfs-formerly-gangzones-module.mdx
new file mode 100644
index 00000000000..1fbec2dc41d
--- /dev/null
+++ b/frontend/content/ka/blog/turfs-formerly-gangzones-module.mdx
@@ -0,0 +1,35 @@
+---
+title: Turfs (formerly gangzones) module
+date: "2019-10-19T04:20:00"
+author: J0sh
+---
+
+გამარჯობა! მე ახლა დავასრულე ჩვენი Turf-ის დანერგვა სერვერზე და ვიფიქრე ამ მოდულის მიმოხილვა გამომექვეყნებინა და მეჩვენებინა, რომ ჩვენ არ დავტოვეთ ან არაფერი!
+
+```pawn
+// ქმნის Turf. მოთამაშეაიდის გავლა შესაძლებელია, რათა ის გახდეს მოთამაშის Turf.
+native Turf:Turf_Create(Float:minx, Float:miny, Float:maxx, Float:maxy, Player:owner = INVALID_PLAYER_ID);
+
+// შლის Turf-ს
+native Turf_Destroy(Turf:turf);
+
+// უჩვენებს Turf-ს მოთამაშეს ან მოთამაშეებს.
+// გაეგზავნება ყველა მოთამაშეს, თუ მოთამაშის ნომერია = INVALID_PLAYER_ID.
+native Turf_Show(Turf:turf, colour, Player:playerid = INVALID_PLAYER_ID);
+
+// მალავს Turf-ს მოთამაშისგან ან მოთამაშეებისგან.
+// გაეგზავნება ყველა მოთამაშეს, თუ მოთამაშის ნომერია = INVALID_PLAYER_ID.
+native Turf_Hide(Turf:turf, Player:playerid = INVALID_PLAYER_ID);
+
+// ანათებს Turf-ს მოთამაშისთვის ან მოთამაშეებისთვის.
+// გაეგზავნება ყველა მოთამაშეს, თუ მოთამაშის ნომერია = INVALID_PLAYER_ID.
+native Turf_Flash(Turf:turf, colour, Player:playerid = INVALID_PLAYER_ID);
+
+// აჩერებს Turf-ის ციმციმს მოთამაშეებისთვის.
+// გაეგზავნება ყველა მოთამაშეს, თუ მოთამაშის ნომერია = INVALID_PLAYER_ID.
+native Turf_StopFlashing(Turf:turf, Player:playerid = INVALID_PLAYER_ID);
+```
+
+ეს აშკარად განსხვავდება ტრადიციული API-სგან, მაგრამ არ ინერვიული, იქნება შეფუთვები ამ ტიპის ნივთებისთვის, რათა დარწმუნდეთ, რომ ნორმალური სკრიპტის ხელახალი კომპილაცია შესაძლებელია პრობლემების გარეშე და რედაქტირების გარეშე.
+
+კიდევ ერთი მნიშვნელოვანი ფაქტი, რომლის ცოდნაც შეიძლება გსურდეთ, არის ის, რომ ყველა Turf გაერთიანებულია და სკრიპტიდან უნდა შეიქმნას მაქსიმუმ 4,294,967,295 Turf. თუმცა, კლიენტს შეუძლია მხოლოდ 1024 Turf დამუშავება ერთდროულად.
diff --git a/frontend/content/ka/blog/update-2022.mdx b/frontend/content/ka/blog/update-2022.mdx
new file mode 100644
index 00000000000..e32d49ef8a9
--- /dev/null
+++ b/frontend/content/ka/blog/update-2022.mdx
@@ -0,0 +1,33 @@
+---
+title: 2022 Update - cross-play and beta testing (Happy New Year 🎉)
+date: "2022-01-01T02:51:00"
+author: iAmir
+---
+Hey there everyone!
+
+After 3 years since open.mp's exposure, through experiments and rewrites, trying and attempting different approaches throughout the years to find what's the best for us and the community, we are finally here. But first, a little back story would be nice to tell:
+
+We started open.mp in early 2019, and gained lots of attention after the exposure. Instead of doing our job in peace we had to rush things a little bit, which raised some problems in our management, team, and codebase. We were far from what we were aiming for. Our implementation was powerful but at the same time complex and hard to continue with. This made it hard for us to follow our roadmap, so decisions had to be made, We started a rewrite.
+
+Rewrite
+In June 2021, after months of inactivity, the open.mp team decided to start a rewrite, aiming to build a 1:1 SA:MP server replacement (making everything backwards compatible) and add fixes with some new features. Focusing on more important things, and let us add extra features later.
+
+Beta Testing Program
+And now here we are, starting our first semi-public beta testing program. We're inviting server developers with Pawn skills to help us go through testing everything by checking all natives and expected responses as well as stress testing with their current SA:MP scripts and player-bases.
+We will link to a beta tester application form after the announcement, feel free to sign up if you think you can help us in this process :)
+
+GTA SA Definitive Edition
+And last but not least, we are hyped to announce our team started working on a client for Grand Theft Auto: San Andreas Definitive Edition!
+The Definitive Edition client for open.mp will be compatible with open.mp servers! So you can host a server and let people decide which game they want to join the server with! Imagine a single open.mp server, with players using the original San Andreas, Android San Andreas, and San Andreas Definitive Edition, all three together, in the same server, playing with each other.
+This is our last and hardest attempt to make everything compatible with each other to bring cross-play to the community. So this way - as a server owner - you don't have to worry about a new platform to move to, start over and split your community. Because we let everyone to use their SA:MP scripts on a server where players can decide which game to use to connect to!
+
+Thank you everyone to stay with us in this long exhausting journey, we are proud of this big community we have!
+Happy New Years 🎉, 2022 is going to be a great year for us, and a change in our beloved multiplayer mod, SA:MP. Love from all of us ❤️
+
+Here is a video of our very first attempt of testing very first version of open.mp GTA San Andreas Definitive Edition client, with SA:MP PC and SA:MP Android client, all three in open.mp server:
+https://www.youtube.com/watch?v=-PWXXvHe35M
+
+Our beta tester application form can be found here:
+https://airtable.com/shrjqca2tpgYa9sQL
+
+Reminder that we are looking for beta testers for our open.mp SERVER project currently, it is not related to the CLIENT. This is for scripters/developers, NOT regular players at this time. Please do not send us messages about the client, and do not fill the form if you can't help us test the SERVER side of open.mp. You need to be somewhat good with Pawn and familiar with samp scripting.
diff --git a/frontend/content/ka/blog/vehicle-sync.mdx b/frontend/content/ka/blog/vehicle-sync.mdx
new file mode 100644
index 00000000000..9599e00c410
--- /dev/null
+++ b/frontend/content/ka/blog/vehicle-sync.mdx
@@ -0,0 +1,22 @@
+---
+title: Vehicle Sync
+date: "2019-11-09T11:33:00"
+author: Southclaws
+---
+
+პატარა პოსტი, რომელიც აჩვენებს მანქანის სინქრონიზაციის ევოლუციას.
+
+
+
+
+
+
diff --git a/frontend/content/ka/faq.mdx b/frontend/content/ka/faq.mdx
index 0702f287e62..856f997245f 100644
--- a/frontend/content/ka/faq.mdx
+++ b/frontend/content/ka/faq.mdx
@@ -4,65 +4,47 @@
## რა არის open.mp?
-open.mp (Open Multiplayer) არის ერთ-ერთი მოდიფიკაცია San Andreas-ის თვის, რომლის შექმნის ინიციატივა გამოიწვია პრობლემების ზრდამ განახლებებსა და მენეჯმენთზე SA:MP-ში. პირველი ვერსიის მიზანი იქნება მხოლოდ და მხოლოდ სასერვერო პროგრამის ჩანაცვლება. ამჟამინდელი SA:MP-ის კლიენტით შესაძლებელი იქნება open.mp სერვერთან დაკავშირება. მომავალში კი open.mp-ის კლიენტი იქნება ხელმისაწვდომი, რომელიც მეტ შესაძლებლობებს შემოგვთავაზებს.
+open.mp (Open Multiplayer, OMP) არის სან ანდრეასის შემცვლელი მულტიფლეიერ რეჟიმი, ინიცირებულია SA:MP-ის განახლებებისა და მართვის პრობლემების სამწუხარო ზრდის საპასუხოდ. საწყისი რეილიზი არის მხოლოდ სერვერის ჩანაცვლება. არსებულ SA:MP კლიენტებს შეუძლიათ ამ სერვერთან დაკავშირება. მომავალში, ახალი open.mp კლიენტი გახდება ხელმისაწვდომი, რომელიც იძლევა უფრო საინტერესო განახლებების გამოშვების საშუალებას.
-## არის თუ არა ეს განშტოება?
+## ეს არის გადაკეთებული?
-არა. ეს არის კოდის აბსოლუტურად ხელახლა გადაწერა დიდხნიანი ცოდნისა და გამოცდილების გამოყენებით. უკვე იყო SA:MP განშტოებების შექმნის მცდელობები, მაგრამ ჩვენ გვჯერა, რომ მათ ჰქონდათ ორი ძირითადი პრობლემა:
+არა. ეს სრულიად ახალი გაკეთებულია, ბევრი ცოდნისა და გამოცდილების გამოყენებით. ადრეც ყოფილა SA:MP გადაკეთების მცდელობები, მაგრამ ჩვენ ვიცით, რომ მათ ჰქონდათ ორი ძირითადი პრობლემა:
-- ისინი დაფუძნებული იყვნენ "გაჟონილი" SA:MP-ის კოდზე. ამ მოდიფიკაციების ავტორებს არ ჰქონდათ ამ კოდის გამოყენების უფლება; ისინი მორალურადაც და ლეგალურადაც ყოველთვის უკანა ფლანგზე იყვნენ. ჩვენ, რა თქმა უნდა, უარს ვამბობთ ამ კოდის გამოყენებაზე. ეს ოდნავ აფერხებს განვითარების სისწრაფეს, თუმცა, ეს სწორი ნაბიჯია სტაბილური გაშვებისთვის.
-- მათ სცადეს თავიდან გამოეგონებინათ ძალიან ბევრი რამ ერთ ჯერზე: სკრიპტინიგ ძრავის შეცვლა, შესაძლებლობების მოშორება სხვა შესაძლებლობების დამატებისას, სხვადასხვა რაღაცების ერთმანეთთან შეუთავსებლად დაკავშირება. ეს იწვევს იმ სერვერების განვითარების შეფერხებას, რომლებსაც დიდი რაოდენობის მოთამაშეები და კარგად დამუშავებული სკრიპტი აქვთ, რადგან მათ მოუწევდათ თავიდან დაეწერათ ბევრი რამ. ჩვენ სერიოზულად ვაპირებთ დავამატოთ ბევრი ახალი რამ, ამასთანავე ვზრუნავთ მიმდინარე სერვერებზე: ვუწყობთ ხელს, რომ გამოიყენონ ჩვენი პროდუქტი თავიანთი კოდის შეცვლის გარეშე.
+1. ისინი ეფუძნებოდა გაჟონილ SA:MP source კოდს. ამ რეჟიმების ავტორებს არ ჰქონდათ ამ კოდზე ლეგალური უფლება, და ისი ყოველთვის უკან იყვნენ, მორალურადაც და ლეგალურადაც. ჩვენ კატეგორიულად უარს ვამბობთ ამ კოდის გამოყენებაზე. ეს ოდნავ აფერხებს განვითარების სიჩქარეს, მაგრამ გრძელვადიან პერსპექტივაში სწორი ნაბიჯია.
+2. ისინი ერთდროულად ცდილობდნენ ძალიან ბევრის ხელახლა გამოგონებას. ან ჩანაცვლებას ყველა სკრიპტირების ძრავას, ან ფუნქციების წაშლის ახლის დამატებისას, ან უბრალოდ კოდების შესწორება შეუთავსებელი გზებით. ეს ხელს უშლის არსებულ სერვერებს უზარმაზარი კოდების ბაზებით და მოთამაშეთა ბაზებით გადაადგილებისგან, ამიტომ მათ მოუწევდათ ზოგიერთი კოდის თავიდან დაწერა, თუ ყველა კოდის არა, მათი კოდი - პოტენციურად მასიური წამოწყებაა. ჩვენ ვაპირებთ ფუნქციების დამატებას, და შესწორებას, დროთა განმავლობაში, მაგრამ ჩვენ ასევე ორიენტირებული ვართ არსებული სერვერების მხარდაჭერაზე, საშუალებას ვაძლევთ მათ გამოიყენონ ჩვენი კოდი მათი შეცვლის გარეშე.
-## რატომ ვაკეთებთ ჩვენ ამას?
+## რატომ აკეთებთ ამას??
-მიუხედავად დიდი მცდელობებისა SA:MP-ის დეველოფმენთში ოფიციალურად ჩართვისა სხვადასხვა ფორმებით (რჩევებით, სიახლეების მოთხოვნით, ბეტა ტესტერის პოზიციაზე ყოფნის ინიციატივის გამოჩენით) ჩვენ არანაირი პროგრესი არ დაგვინახავს. ეს ყოველივე მიჩნეული იყო როგორც ინტერესის კარგვა ამ მოდის გაუმჯობესებაში, რაც თავის მხრივ პრობლემა არაა, მაგრამ არც წარმატებაა. იმის მაგივრად, რომ განვითარება გაგრძელებულიყო თუნდაც იმ ხალხის მიერ ვისაც ეს უნდოდა, დამაარებელს სურდა მიექცია ყურადღება: აკავშირებდა სხვადასხვა საქმეებს მინიმალური შედეგის მისაღებად. ზოგი ფიქრობს, რომ ეს დაბალი შემოსავლის ბრალია, თუმცა ამის არანაირი მტკიცებულება არ არსებობს. მიუხედავად დიდი ინტერესისა და მზარდი მოთამაშეების რიცხვისა, მას სჯეროდა, რომ მხოლოდ 1 ან 2 წელი ჰქონდა დარჩენილი ამ მოდს, და ის საზოგადოება, რომელმაც წვლილი შეიტანა, გაეხადა SA:MP-ი ის, რაც დღეს არის, არ იმსახურებდა ამ საქმის გაგრძელებას.
+მიუხედავად მრავალი მცდელობისა, რომ SA:MP-ის განვითარება ოფიციალურად წინ წაიწიოს, წინადადებების, რჩევისა და ბეტა გუნდის დახმარების შეთავაზებების სახით; პროგრესი საერთოდ არ შეინიშნება. საყოველთაოდ მიჩნეული იყო, რომ ეს უბრალოდ მოდის ხელმძღვანელობის მხრიდან ინტერესის ნაკლებობის გამო, რაც თავისთავად პრობლემას არ წარმოადგენს, მაგრამ არ არსებობდა წარმეტების ხაზი. იმის ნაცვლად, რომ განვითარება გადასცეს მათ, ვინც დაინტერესებულია მოდზე მუშაობის გაგრძელებით, დამფუძნებელს უბრალოდ სურდა ყველაფერი თავის თავთან დაემხობა, ამასთანავე, როგორც ჩანს, ყველაფერი რაც შეიძლება დიდხანს ეჭირა მინიმალური ძალისხმევით. ზოგი ამტკიცებს, რომ ეს არის პასიური შემოსავლის მიზეზი, მაგრამ ამის არანაირი მტკიცებულება არ არსებობს. მიუხედავად დიდი ინტერესისა და ძლიერი საზოგადოებისა, მას სჯეროდა, რომ სამპს მხოლოდ 1-2 წელი ქონდა დარჩენილი და რომ საზოგადოება, რომელიც ამდენი მუშაობდა SA:MP-ის შესაქმნელად, როგორიც არის დღეს, არ სჯობდა მისი გაგრძელება.
ჩვენ არ ვეთანხმებით.
-## რა არის თქვენი აზრი კალკორის/SA:MP/სხვა რამის შესახებ?
+## რას ფიქრობთ Kalcor/SA:MP/whatever ზე?
-ჩვენ გვიყვარს SA:MP-ი, რაც არის ჩვენი აქ ყოფნის პირველი მიზეზი და ჩვენ ვალში ვართ Kalcor-თან მისი შექმნისთვის. მას მრავალწლიანი ღვაწლი მიუძღვის ამ მოდისთვის, რომელიც არ უნდა იყოს დავიწყებული ან/და დაიგნორებული. ქმედებები, რომლებიც მიუძღვის open.mp-ს წინ, გამოწვეულია იმის გამო, რომ ჩვენ არ ვეთანხმებით მის რამდენიმე გადაწყვეტილებას და ასევე მის ერთსა და იმავე მცდელობას, რომელიც მოდიფიკაციის არასწორი მიმართულებით წაყვანას ცდილობს, ეს მცდელობები კი პრობლემებს არ ჭრის. ამის გამო, ჩვენ ვალდებულები ვართ, რომ მივიღოთ ასეთი გადაწყვეტილება და განვაგრძოთ SA:MP-ი Kalcor-ის გარეშე. ჩვენი ეს გადაწყვეტილება არ არის მიღებული პირადი მიზნებისთვის და არც არავის შეურაცხყოფა არაა, როგორც ეს შეიძლება ზოგმა გაიგოს.
+ჩვენ გვიყვარს SA:MP, ამიტომ ჩვენ აქ ვართ პირველ რიგში - და ამის შექმნას ვაგრძელებთ. მან წლების განმავლობაში დიდი თანხა გააკეთა მოდისთვის და ეს წვლილი არ უნდა იყოს დავიწყებული ან იგნორირებული. Open.mp-ისკენ მიმავალი ქმედებები განხორციელდა იმის გამო, რომ ჩვენ არ ვეთანხმებოდით რამდენიმე ბოლო გადაწყვეტილებას და მიუხედავად განმეორებითი მცდელობისა, რომ მოდი სხვა მიმართულებით წარმართულიყო, გამოსავალი არ იყო. ამრიგად, ჩვენ იძულებული გავხდით სამწუხარო გადაწყვეტილება მიგვეღო, რომ ვეცადოთ და გაგვეგრძელებინა SA:MP Kalcor-ის გარეშე. ეს არ არის პირადად მის წინააღმდეგ განხორციელებული ქმედება და არ უნდა განიხილებოდეს როგორც პირადად მასზე თავდასხმა. ჩვენ არ შევეგუებით არავის მიმართ პირად შეურაცხყოფას - მიუხედავად იმისა, თუ სად დგანან ისინი open.mp საკითხზე; ჩვენ უნდა შეგვეძლოს გონივრული დებატები ad-hominem თავდასხმების გამოყენების გარეშე.
-## არ არის ეს საზოგადოების გაყოფა?
+## ეს მომხმარებლების გაყოფა არ არის?
-ეს არ არის ჩვენი მიზანი. ჩვენი იდეების თანახმად, ეს არ არის მომხმარებლების გაყოფა, მაგრამ რაღაციდან გამოცალკევება და სხვა რამის გადარჩენა უკეთესია, ვიდრე არაფერი. ფაქტის თანახმად, ვინაიდან ამ მოდს ჰყავს დიდი რაოდენობით არაინგლუსურენოვანი მომხმარებელი, მათ მაინც მიიღეს ინგლისურენოვანი მომხმარებლების საზოგადოება. მომხმარებლები ნელ-ნელა იყოფოდნენ ერთმანეთისგან და, მაშასადამე, ჩვენი იდეა იმაშიც მდგომარეობს, რომ ისევ გავაერთიანოთ მოთამაშეები და დავაბრუნოთ მათი ერთობა. ბევრი მომხმარებელი იყო დაბლოკილი ოფიციალური SA:MP-ის ფორუმიდან ( და რამდენიმე შემთხვევაში მათი პოსტებისა და კომენტარების ისტორიაც წაიშალა), მაგრამ Kalcor-მა განაცხადა, რომ SA:MP-ის ოფიციალური ფორუმი არ არის SA:MP-ი, და არც მისი ნაწილი. ბევრ მოთამაშესა და სერვერის მფლობელს არ აქვთ დაპოსტილი ამ ფორუმზე, უფრო მეტიც: არც არიან დარეგისტრირებულნი.
+ეს არ არის ჩვენი ჩანაფიქრი. იდეალურ შემთხვევაში, გაყოფა საერთოდ არ იქნება საჭირო, მაგრამ ზოგიერთის გაყოფა და ამ ნაწილის შენახვა უკეთესია, ვიდრე მთლიანად გაქრობის ყურება. სინამდვილეში, მას შემდეგ, რაც ეს რეჟიმი გამოცხადდა, არაინგლისური თემების დიდი რაოდენობა ხელახლა ჩაერთო ინგლისურ საზოგადოებასთან. ეს საზოგადოებები ნელ-ნელა გააძევეს და გვერდით მიიჩნიეს ადრე, ამიტომ მათი ხელახალი ჩართვა რეალურად აბრუნებს გაყოფილ საზოგადოებას. ადამიანების დიდ რაოდენობას აეკრძალათ ოფიციალური SA:MP ფორუმებიდან (და ზოგიერთ შემთხვევაში, მათი პოსტების მთელი ისტორია გასუფთავდა), მაგრამ კალკორმა თავად აღნიშნა, რომ ოფიციალური ფორუმები არ არის SA:MP, მხოლოდ SA:MP-ის ნაწილი. ბევრ მოთამაშეს და სერვერის მფლობელს არასოდეს გამოუქვეყნებია პოსტი და არც შეუერთდა ამ ფორუმებს; ასე რომ, ამ ადამიანებთან ხელახლა საუბარი საზოგადოების კიდევ უფრო მეტ ნაწილს აერთიანებს.
-## ვინაიდან და რადგანაც ის არის "Open" Multiplayer, იქნება თუ არა მისი კოდი ყველასათვის ხელმისაწვდომი?
+## როგორ შემიძლია დაგეხმაროთ?
-დიახ, არის ჩვენი პასუხი, თუმცა ამჟამად ჩვენ ვცდილობთ, დავამყაროთ ღია კომუნიკაცია და გამჭირვალობა დეველოფმენთის შესახებ (რომელიც უკვე გაუმჯობესებაა). მომავალში კი, როცა ყველაფერი თავის ადგილას დალაგდება, გავხდით კოდს ხელმისაწვდომს.
+თვალი ადევნეთ ფორუმებს. ჩვენ გვაქვს თემა ზუსტად ამისთვის და გავაახლებთ მას, როგორც მეტი სამუშაო გახდება ხელმისაწვდომი. მიუხედავად იმისა, რომ პროექტი გამოვლინდა ცოტა ადრე, ვიდრე დაგეგმილი იყო, ჩვენ უკვე კარგად ვართ პირველი რელიზის გამოშვებაზე, მაგრამ ეს არ ნიშნავს იმას, რომ მეტი დახმარება ყოველთვის არ არის მასიურად დაფასებული. წინასწარ გმადლობთ პროექტისადმი დაინტერესებისთვის და რწმენისთვის:
-
-
-## როდის გაეშვება?
-
-ეს საკმაოდ რთული შეკითხვაა, რომელსაც ერთი, თუმცა არასრული პასუხი აქვს: როცაც მზად იქნება. არ არსებობს გზა, რომელიც მიგვითითებს, თუ რამდენი ხანი დასჭირდება მსგავსი პროექტის დასრულებას. დიდი ხანია მიმდინარეობს პროექტზე მუშაობა და მისი აქტივობა სამწუხაროდ ცვალებადია, ამის ფაქტორი კი იმ ხალხის შეზღუდული თავისუფალი დრო გახლავთ, რომლებიც პროექტზე მუშაობენ. თუმცა, აღსანიშნავია, რომ პროექტი სწრაფად პროგრესირებს გარკვეული მიზეზების გამო, რომლებზეც დეტალურად მომავალში ვისაუბრებთ.
-
-
-
-## როგორ შეგიძლია დაგვეხმარო?
-
-თვალი ადევნე ფორუმს. ჩვენ გვაქვს გახსნილი სტატია ამ თემაზე, რომელსაც მაშინვე ვანახლებთ, როგორც კი განახლებას ვაკეთებთ პროდუქტზე. მიუხედავად იმისა, რომ პროექტი დაგეგმიზლე ადრე გამჟღავნდა საზოგადოებაში, ჩვენ უკვე ახლოს ვართ პირველი ვერსიის გამოშვებასთან. თუმცა, ეს არ ნიშავს, რომ მეტი დახმარება არ დაფასდება. მადლობა ყველას წინასწარ ამ პროექტში დაინტერესებისთვის და იმედის ქონისთვის:
-
-[სტატია - "How to help"](https://forum.open.mp/showthread.php?tid=99)
-
-
-
-## რა არის burgershot.gg?
-
-burgershot.gg არის გეიმინგ ფორუმი და არაფერი სხვა. ბევრი მომხმარებელი არის ჩართული ორივე პროექტში და გარკვეული open.mp-ს განვითარება-განახლება იპოსტება აქ, თუმცა, ეს ორი სხვადასხვა დამოუკიდებელი პროექტია. burgershot.gg არ არის OMP ფორუმი, არც OMP არის burgershot-ის საკუთრება. როცა OMP საიტი სრულად გაეშვება, ეს ორიც განთავისუფლდება ერთმანეთისგან (SA:MP-იც დაჰოსტილი იყო GTAForums მიერ სანამ საკუთარ საიტს გაუშვებდა).
+["How to help" topic](https://forum.open.mp/showthread.php?tid=99)
-## რას ვფიქრობთ OpenMP -ზე?
+## რაც შეეხება OpenMP-ს?
-Open Multi-Processing პროექტი არის "OpenMP", ჩვენ ვართ "open.mp" - აბსოლუტურად სხვადასხვა.
+The Open Multi-Processing პროექტი არის "OpenMP", ჩვენ ვართ "open.mp". სულ სხვანაირი.
diff --git a/frontend/content/ka/hello.txt b/frontend/content/ka/hello.txt
new file mode 100644
index 00000000000..cc8dc8ed743
--- /dev/null
+++ b/frontend/content/ka/hello.txt
@@ -0,0 +1 @@
+ჰეი, რა ხდება?
\ No newline at end of file
diff --git a/frontend/content/ka/index.mdx b/frontend/content/ka/index.mdx
index f7be83862d4..3a9c330e018 100644
--- a/frontend/content/ka/index.mdx
+++ b/frontend/content/ka/index.mdx
@@ -1,13 +1,11 @@
# Open Multiplayer
-მომავალი multiplayer მოდიფიკაცია თამაშისთვის - _Grand Theft Auto: San Andreas_ - რომელიც იქნება უკუთავსებადი ერთ-ერთ ამჟამინდელ მოდიფიკაციასთან - _San Andreas Multiplayer_.
+მულტიფლეიერ რეჟიმი _Grand Theft Auto: San Andreas_ 'ისთვის რომელიც სრულიად თავსევადია არსებულ მულტიფლეიერ რეჟიმთან _San Andreas Multiplayer._
-ეს ნიშნავს, რომ **მიმდინარე SA:MP კლიენტი და მისი არსებული სკრიპტები უპრობლემოდ იმუშავებს open.mp-ზეც**.
+ეს ნიშნავს რომ **არსებული სამპის კლიენტი და ყველა სამპის სკრიპტები იმუშავებს open.mpზე** და დამატებით, ბევრი ხარვეზი გასწორებულია სერვერის პროგრამაში.
-ამასთანავე, ბევრი ბაგი იქნება გასწორებული სასერვერო პროგრამაშივე. შესაბამისად, აღარ მოგიწევთ დამატებითი პროგრამების გამოყენება.
-
-გაინტერესებთ როდის არის დაგეგმილი პირველი საჯარო გამოშვება ან გსურთ დაეხმაროთ პროექტს? - დამატებითი ინფორმაციისთვის წაიკითხეთ ეს სტატია.
+თუ გაინტერესებს როგორ გადმოწერო, ან როგორ დაეხმარო პროექტს განვითარებაში, გთხოვთ იხილოთ [this forum thread](https://forum.open.mp/showthread.php?tid=99) მეტი ინფორმაციისთვის.
# [FAQ](/faq)
diff --git a/frontend/content/ka/missing-sites.mdx b/frontend/content/ka/missing-sites.mdx
new file mode 100644
index 00000000000..2d3d439791f
--- /dev/null
+++ b/frontend/content/ka/missing-sites.mdx
@@ -0,0 +1,34 @@
+---
+title: ფორუმი და ვიკი გათიშულია
+description: გაინტერესებს რატოა სამპის ფორუმი და ვიკი გათიშული? წაიკითხე ეს ინფორმაცია.
+---
+
+# რატომაა ფორუმი და ვიკი გათიშული?
+
+2020 წლის 25 სექტემბერს, forum.sa-mp.com და wiki.sa-mp.com გაუვიდა ვადა. ბევრმა მომხმარებელმა შეამჩნია და მოგვწერეს დისქორდზე.
+
+მიუხედავად იმისა, რომ საიტი ჯერ კიდევ ხელმისაწვდომი იყო HTTPS-ის უსაფრთხოების გვერდის ავლით, აშკარა იყო, რომ რაღაც უფრო დიდი იყო.
+
+მეორე დღეს, მომხმარებლებმა დაადგინეს, რომ ორივე საიტი სრულიად გათიშული იყო, ბრაუზერში ნაჩვენები მონაცემთა ბაზის შეცდომებით.
+
+
+
+ახლა, ეს შეცდომა საკმაოდ გავრცელებულია, ის ჩვეულებრივ მიუთითებს მონაცემთა ბაზის სარეზერვო ასლზე. მაგრამ SSL ინციდენტის გათვალისწინებით, ეს სხვა რამეზე მიუთითებდა.
+
+მოგვიანებით ამ დღეს, ორივე საიტი სრულიად გათიშული იყო, შეცდომას კი არ პასუხობდა.
+
+
+
+## ეს რას ნიშნავს?
+
+SA-MP საზოგადოებაში ბევრი სპეკულაციაა, მაგრამ არ არის ოფიციალური ინფორმაცია იმის შესახებ, თუ რა მოხდა. როგორც წარსულში ვისწავლეთ, თუმცა, უმჯობესია ვივარაუდოთ ყველაზე უარესი.
+
+ფორუმი და ვიკი ალბათ არ აღდგება. მშვენიერი იქნება, თუ ამაში ვცდებით.
+
+## ალტერნატივა
+
+ამ დროისთვის, ვიკის კონტენტი ისევ ხელმისაწვდომია [the Archive.org copies](http://web-old.archive.org/web/20200314132548/https://wiki.sa-mp.com/wiki/Main_Page).
+
+ეს აშკარად არ არის გამოსავალი. ამ გვერდების ჩატვირთვას დიდი დრო სჭირდება და ეს ხაზს უსვამს Archive.org-ის სერვისს (რომელიც ისედაც არასაკმარისია და ინტერნეტის ისტორიის ძალიან მნიშვნელოვანი ნაწილია).
+
+[The recovered SA-MP Wiki](/docs) არის შესანიშნავი თანამედროვე ალტერნატივა. ის იყენებს Markdown-ს, GitHub და Vercel-ს. ჩვენ მოვუწოდებთ მომხმარებლებს შეძლებისდაგვარად წვლილი შეიტანონ ყველა არსებული ვიკი გვერდის ახალ ვიკიში გადატანაში. მეტი შეგიძლიათ გაიგოთ აქ: https://github.com/openmultiplayer/wiki/issues/27