Search the Community

Showing results for tags 'MySql'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • RAGE Multiplayer
    • Announcements
    • Discussion
    • Suggestions
  • Scripting
    • Scripting
    • Resources
  • Community
    • Support
    • Servers
    • Media Gallery
  • Non-English
    • Русский - Russian
    • Français - French
    • Deutsch - German
    • Espanol - Spanish
    • Română - Romanian
    • Portuguesa - Portuguese
    • Polski - Polish


  • Scripts
  • Gamemodes
  • Libraries
  • Plugins
  • Maps
  • Tools

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start








Found 14 results

  1. Version 0.0.2


    This resource will help many newcomers in the development of the server. At this gamemode, used the sequelize framework, for easy work with the database. Also used frameworks ReactJS + ReduxJS special for CEF. GitHub URL: Installing 1. Download this archive, unpack it in RAGE:MP new server folder. 2. To work with the database locally I suggest using Denwer. 3. Config connection data at packages\sequelize\modules\db.js 4. Import example database into phpMyAdmin 5. Then start server, and test it !) Needed node modules 1. MySQL2 - [ npm install mysql2 -save ] 2. Sequelize - [ npm install sequelize -save ] - Thanks @kemperrr for make "pleaseCallCEF" function and event on ReactJS!! This is first version, During the time there can be changes and improvements!!
  2. This tutorial will only work if you already have your MySQL + RAGE project set up. Step 1 Right-click on your project and select 'Manage NuGet Packages...'. Browse for the following packages and make sure you install the same version for all! (this example uses version 2.2.0) Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.Tools Pomelo.EntityFrameworkCore.MySql Step 2 Create a Player.cs class with the following code: Step 3 Create a new class called '<myProject>Context.cs', in this example we will use TutorialContext.cs Paste the following code: Step 4 To make things easier for future classes, we will make an interface called IRepository.cs. This is not part of EF Core but it's a nice programming pattern to use with it. Copy-paste the code below into your interface: Step 5 Create a class called PlayerRepository.cs Now we will implement the interface we just created in our PlayerRepository.cs Step 6 Create a class called Main.cs so we can test our code on ResourceStart event. Paste the following code Step 7 Build and run your server You may get an error like: This means that in your RAGE runtime folder (D:\RAGEMP\server-files\bridge\runtime) you are missing the necessary dlls. Head over to (for example) A:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.entityframeworkcore\2.2.0\lib\netstandard2.0 and copy the needed .dll to the runtime folder of RAGE. You might have to do this for a couple of dlls. Just go back to the NuGetFallbackFolder and find the right one. If you fixed these errors, this should be the result: Step 8 (Extra) If you're adding more and more classes and you want to add changes to your database, use the following method: Create your new class (House.cs for example) and go back to your TutorialContext.cs and add public DbSet<House> Houses { get; set; } under Players (which we did in this tutorial). On the top left of your Visual Studio you will see a tab called 'View'. Click on it, go to 'Other Windows' and select 'Package Manager Console'. In the Package Manager Console, type: Add-Migration addedHouse Wait for the console to finish and type: Update-Database Your house class has now been added to the database. Enjoy.
  3. Hello everyone! Many of you have decided to use Entity Framework instead of raw SQL but failed somehow in the process (myself included)! This is why I am creating this quick guide with some examples on how to use Entity Framework Core with MySQL database in RAGEMP C# gamemode. It's not perfect, but it will work just fine. If you find a mistake or have a better way of doing something, please let me know! Let's start! Requirements: - Visual Studio 17 - Net Core 2.2 - Latest RageMP and C# Bridge files - MySQL database (I use XAMPP) 1. First, you will need some dependencies. Open up the nuget package manager and add these dependencies to your project: Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.Tools Pomelo.EntityFrameworkCore.MySql Pomelo.EntityFrameworkCore.MySql.Design Microsoft.Extensions.Configuration Microsoft.Extensions.Configuration.Json Pomelo.EntityFrameworkCore.MySql is a MySQL provider. There are many more providers, but Pomelo's is just fine. Microsoft.Extensions.Configuration.Json is used for appsettings.json. How it looks when everything's added: 2. Now we are ready to create a DbContext class. I will just copy and paste and explain needed with comments! using System; using System.Collections.Generic; using System.Reflection; using System.Text; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Design; namespace EFCoreTutorial { public class DefaultDbContext : DbContext { // Base constructor public DefaultDbContext(DbContextOptions options) : base(options) { } // Account model class created somewhere else public DbSet<Account> Accounts { get; set; } } public class ContextFactory : IDesignTimeDbContextFactory<DefaultDbContext> { private static DefaultDbContext _instance; private static string _connectionString; public DefaultDbContext CreateDbContext(string[] args) { var builder = new DbContextOptionsBuilder<DefaultDbContext>(); // Load the connection string for the first time if (string.IsNullOrEmpty(_connectionString)) { LoadConnectionString(); } // Use it to init the connection builder.UseMySql(_connectionString, optionsBuilder => optionsBuilder.MigrationsAssembly(typeof(DefaultDbContext).GetTypeInfo().Assembly.GetName().Name)); return new DefaultDbContext(builder.Options); } public static DefaultDbContext Instance { get { if (_instance != null) return _instance; return _instance = new ContextFactory().CreateDbContext(new string[] { }); } private set { } } private static void LoadConnectionString() { var builder = new ConfigurationBuilder(); builder.AddJsonFile("appsettings.json", optional: false); var configuration = builder.Build(); // Get the connection string located inside the appsettings.json file under the name "DefaultConnection" _connectionString = configuration.GetConnectionString("DefaultConnection"); } } } 2a. And now the appsettings.json file which is used for the connection string. You actually don't have to do it this way, but it's considered better practice and it will help you in the long run. You can place the file everywhere you want. For the simplicity I created it inside the project root. Write this short code inside: { "ConnectionStrings": { "DefaultConnection": "Server=localhost;Database=efcoretutorial;Uid=root;Pwd=" } } Server = the address of the server, in this case localhost Database = name of the database Uid = user accessing the database Pwd = database password, leave empty if none Important! When you have created the file, right click on it and select properties. Change "Copy To Output Directory" to "Copy always". 3. Create a model class, in this case it's called Account using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Text; namespace EFCoreTutorial { public class Account { [Key] public int Id { get; set; } public string Username { get; set; } public string Password { get; set; } } } 4. Let's make a simple registration command. using System; using System.Collections.Generic; using System.Linq; using System.Text; using GTANetworkAPI; namespace EFCoreTutorial { public class Commands : Script { [Command("register")] public void AccountCmdRegister(Client player, string username, string password) { RegisterAccount(player, username, password); NAPI.Chat.SendChatMessageToPlayer(player, "~g~Registration successful!"); } public static void RegisterAccount(Client client, string username, string password) { // create a new Account object var account = new Account { Username = username, Password = password }; // Add this account data to the current context ContextFactory.Instance.Accounts.Add(account); // And finally insert the data into the database ContextFactory.Instance.SaveChanges(); } } } 4a. To check if you are properly connected to the database without going into the game, make a query when a resource starts, for example: using System; using System.Collections.Generic; using System.Linq; using System.Text; using GTANetworkAPI; namespace EFCoreTutorial { public class Main : Script { [ServerEvent(Event.ResourceStart)] public void OnResourceStart() { var playerCount = ContextFactory.Instance.Accounts.Count(); NAPI.Util.ConsoleOutput("Total players in the database: " + playerCount); } } } 5. Before we can test the command or the above example, we need to make a migration. Manual migrations are the only way as of EF Core. To use them in our gamemodes which are most often only libraries (.dlls), we need to "trick the system" into thinking our gamemode is executable. The easiest way is to "create" a console application. First, open your project properties, ALT + F7. Change output type to "Console Application" Save with CTRL + S! Create a new class called Program.cs with the code below: using System; using System.Collections.Generic; using System.Text; namespace EFCoreTutorial { public class Program { public static void Main(string[] args) { } } } Yes, that's right. You only need the Main method. It's because the console app approach looks for "Main" as a starting point. Save and build the project! Now let's make the first migration. Open up the Package Manager Console and type "add-migration FirstMigration" (FirstMigration is only the name). After the migration class has been created, type once again into the console "update-database". The very first migration is now added and inside your database you will find Accounts table: Note: If there are any errors by this stage, then you are most likely not connected to your Database. This guide will not cover that! 6. We are almost done. For server to properly work, it will need runtime dlls. When you first start RAGEMP client, you will download some runtime files. Those are not enough and you have to take some extra steps. Go to the "RAGEMP" root folder, then "dotnet" folder and copy everything. Paste it inside the "runtime" folder (RAGEMP\server-files\bridge\runtime). When you build your project, it will also give you runtime files. Copy everything from bin/debug/netcoreapp2.2 (default build path) except Bootstrapper.dll , Newtonsoft.Json.dll and everything that starts with YourProjectName (EFCoreTutorial in my case). Paste it once again inside the "runtime" folder (RAGEMP\server-files\bridge\runtime). Finally, open YourProjectName.csproj with notepad and add this line <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> like so: Save and close. 7. You are all set up! From now on you don't have to worry about missing runtimes, errors and whatnot. This is everything Entity Framework Core requires to work properly in RAGEMP. Changelog: - Added appsettings.json, a better way of handling connection strings. Thanks @horseyhorsey! - Some clarification This was my first tutorial/guide. Leave feedback and opinions. Thank you for reading! xForcer
  4. (username is normally just changed it to test something, with its the same error. so username = Server Side Code: Console Error Message: Help would be awesome, thanks in advantage.
  5. [BCRP]Jeff


    Hey, ich bin ziemlich neu im C# Programmieren, belege derzeitig noch einen Video Kurs auf und programmiere nebenbei kleinweise eine RP Resource. Ich stehe nun kurz davor das ganze mit einer Datenbank zu verbinden. Nun wollte ich fragen, ob es egal ist das ganze einfach nur via Mysql mit der Datenbank zu verbinden oder gibt es noch bessere Wege. Nebenbei wollte ich fragen, ob eine Verbindung mit der Datenbank alleine via C# möglich wäre und ob's empfehlenswert ist. Liebe Grüße, Jeff
  6. SupperCraft5000

    A question about tuning

    Hey is it possible to spawn vehicles with tuning modification. And how to save Tuning modifications in mysql and load them when a player join the server.
  7. Xendom

    Simple Register / Login

    Version 1.0.0


    Nothing special, just a small Register / Login. Let me know, if something doesn't work correctly or I could do something better.
  8. DjEnzo

    How to use MySQL

    Hi guys! Am about to start programming my new server, but I cannot use MySQL. I started with this tutorial -> This is how my code looks like: using System; using System.Data; using GTANetworkAPI; using MySql.Data.MySqlClient; namespace GTV { class MySQL { private string connectionString = "SERVER=localhost;" + "DATABASE=gtv;" + "UID=root;" + "PASSWORD=;" + "SslMode=none"; public bool FirstConnect() { MySqlConnection db = new MySqlConnection(connectionString); db.Open(); string state = db.State.ToString(); NAPI.Util.ConsoleOutput(state); if (db.State == ConnectionState.Open) return true; else return false; } } } And here my pretty long exception: What did I do wrong? Thank you for your help.
  9. MrPancakers

    Basic MySQL Gamemode

    Version 1.2


    Basic MySQL Gamemode Github Link: Resource Thread: Discord: MrPancakers#9283 This is a template of a very basic login/registration system you can implement into your game mode to get started. This template only stores usernames, passwords(encrypted with BCrypt), position and money so anything extra will need to be implemented yourself. This is intended for beginners so the code is pretty basic and nothing fancy has been done so it is easily readable. If you find any issues, leave a comment on my thread or leave a comment on this resource. Installation You'll need to have a MySQL server setup, either using WAMP/XAMPP/or from a server. To keep this short I will not go through setting these up, simply Google 'How to set up WAMP' for example to get it set up. Unzip the source and place it inside of your server files folder. Open your command prompt and change your directory to your server folder. Then do 'npm install' to install the required node_modules. Create a new database and call it whatever you want (Inside the script it is called 'ragemp-mysql'). Once created, import the ragemp-mysql.sql into your newly created database. Go to packages/mysql/mysql.js and open it. At the top is the connection info, change this to whatever your IP and MySQL username/password is. If you're hosting this locally and you haven't made/changed the MySQL info, the default should be fine. You're all set to go.
  10. On GameHosting we have following locations. Montreal Canada, Dallas USA, Paris France, then we have VPS Servers Canada and France. Game Servers are hosted on TC Admin panel that has live command line access. Game Servers have from 16 to 42 Cores and 96 to 256 GB of Memory. The ultimate performance. Rage Multiplayer Game Server Hosting Game Panel MySQL Database for Game Server Full Control of Game Server Game Panel Features Summary Server Information Control Start , Stop , Restart , RCON Backups You can create your own Backups and Restore them anytime. Sub-Users Allow start/stop/restart Reinstall server FTP Access Edit Settings Install updates Install addons Statistics Slots Uptime Resources Settings Everything from Server Name to Resources. (Automatically saves to config no need to manually edit server config via FTP) Addons Public user released resources/plugins on forum will be added here for one click install for your server. Updates Every new release of RAGE MP will be added for easy update of your server files. FTP Web FTP for quick browsing and editing allowed files Full FTP to access your server. QuickEdit Editing Server Config (Disabled by default it can be under Settings) Scheduler Start Restart Stop Backup You can automate your tasks and set them by minute, hour , day , week , month , year, at decided time to complete. Management Reinstall server to the default stage (All curent data will be ERASED) Pricing 30 slots starting at $8.90 $0.15 per additional slot Website GameHosting.Co Discord: Channel Gaming VPS: Thank you.
  11. При использование базы данных, сервер через пару минут после запуска выдаёт исключения: ==================[14.07.2018 4:32:29]================== System.Net.Sockets.SocketException (0x80004005): Программа на вашем хост-компьютере разорвала установленное подключение at void System.Net.Sockets.NetworkStream.Write(byte[] buffer, int offset, int size) ========================================================= ==================[14.07.2018 4:32:29]================== System.IO.IOException: Unable to write data to the transport connection: Программа на вашем хост-компьютере разорвала установленное подключение. ---> System.Net.Sockets.SocketException: Программа на вашем хост-компьютере разорвала установленное подключение at void System.Net.Sockets.NetworkStream.Write(byte[] buffer, int offset, int size) --- End of inner exception stack trace --- at void System.Net.Sockets.NetworkStream.Write(byte[] buffer, int offset, int size) ========================================================= ==================[14.07.2018 4:32:29]================== System.IO.IOException: Unable to write data to the transport connection: Программа на вашем хост-компьютере разорвала установленное подключение. ---> System.Net.Sockets.SocketException: Программа на вашем хост-компьютере разорвала установленное подключение at void System.Net.Sockets.NetworkStream.Write(byte[] buffer, int offset, int size) --- End of inner exception stack trace --- at void System.Net.Sockets.NetworkStream.Write(byte[] buffer, int offset, int size) at void MySql.Data.MySqlClient.TimedStream.Write(byte[] buffer, int offset, int count) ========================================================= Метод подключения к базе данных: private const string connectionString = "Server=localhost;Database=db;port=3306;User Id=root;password=;SslMode=none"; public static void TestConnection() { MySqlConnection conn = new MySqlConnection(connectionString); try { NAPI.Util.ConsoleOutput("[Database] Connection to MySQL ..."); conn.Open(); } catch (Exception ex) { NAPI.Util.ConsoleOutput("[Database] " + ex.ToString()); } conn.Close(); NAPI.Util.ConsoleOutput("[Database] Done"); } Порты 22005 и 22006 открыты, отключение файервола изменений не принесло
  12. Добрый день. Я начинающий скриптер. Как реализовать авторизацию и Регистрацию в игре через MYSQL? прошу дать пошаговую инструкцию. Благодарю.
  13. Goshan

    C# MySQL

  14. radmir745


    Появилась проблема с MySQL. Куда надо установить node mysql и где его подключать?