Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Summer Special
      2. The Diamond Casino Heist
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Frontier Pursuits
      2. Find Lobbies & Outlaws
      3. Help & Support
    3. Crews

    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. Grand Theft Auto Series

    2. GTA VI

      1. St. Andrews Cathedral
    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
    6. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
    7. GTA III

      1. Guides & Strategies
      2. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    3. Gangs

    1. Announcements

    2. Support

    3. Suggestions

Pakulichev

Simple Lua Multiplayer [SLMP]

Recommended Posts

Pakulichev

 

head.png

 

DEVELOPERS: @Pakulichev & @S_E_V_E_N

THANKS TO @BH Team, @imring and others

 

WHAT IS SIMPLE LUA MULTIPLAYER

Simple Lua Multiplayer is kind of GTA: San Andreas Multiplayer powered by Lua & MoonLoader. It's important to tell that SLMP is fan-made project and it works only on its developers enthusiasm. Well, now SLMP in state of beta testing and everyone have a chance to become a part of this development. We`re searching young and enthusiastic developers who are interested in this kind of projects. So, the whole modification is powered on Lua with the exception of launcher, it's powered by Java. We invented and implemented methods to synchronize different GTA:SA actions such as players walking and vehicles riding. The whole GUI is powered by ocornut`s ImGUI Library. We thanks FYP from BH Team for transferring ImGUI from C++ to Lua Language. So, and here is a declaimer - this project is made by Russians, so this topic might be written with some language mistakes, so we ask you to forgive us for that. We`re trying to use "native" language without using any translators to make this text readable to you, and I am building this text only on my knowledge, well I ask you to estimate the quality of this text. Thanks for that. 

 

STORY OF MODIFICATION CREATION

On August 24, 2020, we came up with the idea of creating our own multiplayer based on MoonLoader. The prerequisite for this was a discussion of how sockets work and the LuaSocket library for Lua in general. Initially, the multiplayer was planned as a small experiment and it was supposed to work exclusively on the basis of SA:MP. With the course of development, we completely abandoned this dependency and the multiplayer became independent and quietly worked on a clean assembly of GTA: San Andreas with only one MoonLoader. A server was also developed, which in turn worked using a luajit compiled for Windows or Linux. The data exchange was carried out using the UDP (User Datagram Protocol) protocol: first, a compressed JSON table was transmitted, then they began to transmit a Lua table, the values of which were shared using a divider, well, and later switched to SL:NET (Simple Lua Networking) - a system running on a kind of BitStream, the encoder for which was written by Akionka (one of developers). All of these improvements have played a role in development.

 

MULTIPLAYER FUNCTIONALITY

At the moment, multiplayer has a lot of features, and its source code is filled with many examples of how you can patch certain functions of GTA: San Andreas using the built-in memory library and Lua FFI. Some multiplayer testers have already written their own game modes, which could claim to be the standard for how it is recommended to write mods.

  • Implemented OnFoot synchronization of players: players see each other on the map, being in a certain area - the so-called stream zone, this area is limited by the server configuration. All data is updated dynamically, during testing of one of the old versions, we found that the server can easily withstand up to 10 people online, who are very close to each other.
  • Implemented InCar synchronization of players: players can get into vehicles, both in the driver's seat and in the passenger, and the rest of the players see how they move in the car. By the way, the area of drawing (stream) also works for cars.
  • Dialog boxes of different types: informational, for entering information and with a possible listing; the possibility of placing pickups on the territory of the map, including inside the interiors; change of virtual worlds for players, interiors and much more.

The multiplayer functionality is constantly expanding and improving, this can be seen in our GitHub repository.

 

MULTIPLAYER INSTALLATION

Installing the client of multiplayer

  • Go to the GitHub repository, the link to which is located above, go to the releases section, download the latest version.
  • Install a clean GTA: San Andreas version 1.0 US, install the latest MoonLoader on top of the game.
  • Transfer all files from the archive downloaded from the GitHub releases to the directory with your game.
  • Start the game using the default game launch file, wait for the game to load, you're done.

Installing the server for multiplayer

  • Go to the GitHub repository, the link to which is located above, go to the releases section, download the latest version.
  • Create a directory on your hard disk in any convenient place, unpack the files from the archive into this directory.
  • Open the server.cfg file, make the necessary changes to the server settings, save it.
  • Make sure that you have open and filtered the required UDP port specified in the server configuration.
  • Start the server using the start.bat or start.sh file, depending on your system.

 

ADDITIONAL INFORMATION

If you want to support our development, you can leave a reaction on this topic in order to promote it on BlastHack, as well as put a star in our GitHub repository, thereby providing maximum support for our project. You can also become a project tester, and possibly add to the list of those people who are actively helping in the development of this modification. We are looking for enthusiasts who have experience in the development of modular systems with the possibility of further integration into the finished product.

 

Chat for testers of the modification and its developers on VK: Invitation Link
SL-Team Developer Chat for Supporter Developers on VK: Invitation Link
Latest Modifications on GitHub Releases: View Releases
SLMP Channel in Telegram with the ability to discuss releases: Invitation Link

BlastHack Original Topic (Russian Language): Visit Topic

 

If you have any questions or ideas, you`re welcome.

We`re ready to answer everything. Have a nice day!

  • Like 7

Share this post


Link to post
Share on other sites
Davve95

Sounds really cool! That's something I have to test!

Share this post


Link to post
Share on other sites
Pakulichev

SL:MP External Launcher Design

We will present our application soon

 

69206

  • Like 2

Share this post


Link to post
Share on other sites
AliceTG

Awesome! Looking forward to see more of this.

Share this post


Link to post
Share on other sites
arashi

I am very excited about this project, I hope it will be completed soon, and I hope it supports Vietnamese language, me and my friends can help with this translation

  • Like 1

Share this post


Link to post
Share on other sites
Pakulichev
On 9/24/2020 at 5:47 PM, arashi said:

I am very excited about this project, I hope it will be completed soon, and I hope it supports Vietnamese language, me and my friends can help with this translation

Great idea, we`re thinking about realization of multilanguage system in the client. I`m not sure that first release will have it but I`m sure that in future this feature will be there. Thanks for the offer.

This message is for everyone who interested in multiplayer: I check GTA Forums not so often, so if you have some cool ideas, I recommend you to contact me via email: [email protected]

Share this post


Link to post
Share on other sites
Pakulichev

Hey! We created Discord Server for those who interested in this project: https://discord.gg/97UVrPd

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.