diff --git a/README.md b/README.md
index fc3e64b..602c9e6 100755
--- a/README.md
+++ b/README.md
@@ -1,95 +1,113 @@
-[](https://api.spiget.org/v2/resources/69872/versions/latest/download)
-[](https://www.spigotmc.org/resources/fraud.69872/)
-[](https://jitci.com/gh/R-Gld/Fraud)
-[](https://status.devgld.fr/status/rapi)
+# Fraud
-
+[](https://api.spiget.org/v2/resources/69872/versions/latest/download)
+[](https://www.spigotmc.org/resources/fraud-alts-finder.69872/)
+[](https://jitci.com/gh/R-Gld/Fraud)
+[](https://status.devgld.fr/status/rapi)
+
+**Fraud** is a Spigot plugin that helps server staff detect alternate accounts by storing players' IP addresses. It can warn when players connect from unusual countries and offers optional geolocation features.
+
+## Features
+
+- Automatic detection of alt accounts using stored IP addresses
+- Configurable alerts when a player connects with too many alts or from a specific country
+- Optional automatic kick when the alt limit is exceeded
+- Detailed information about an IP address (GeoIP) with a built‑in GUI
+- Automatic update checking and optional downloading
+- Data storage via SQLite or MySQL
+- Fully customizable messages through `messages.json`
+
+## Quick Installation
+
+1. Download the latest release from the Spigot page
+2. Place `Fraud.jar` in your server's `plugins` folder
+3. Start the server to generate configuration files
+4. Edit `config.yml` as needed and restart or reload the plugin
+
+## Configuration
+
+The generated `config.yml` (based on `sp-config.yml`) contains the core settings:
+
+```yml
+onJoin alert: true # Show alerts when players join
+alts limit: 2 # Number of alts allowed (-1 to disable)
+ask for review: false # Ask players to review the plugin on Spigot
+geoip-enable: true # Enable GeoIP lookups
+
+data store:
+ type: sqlite # sqlite or mysql/mariadb
+ #parameters:
+ # ip: "localhost"
+ # port: 3306
+ # user: "fraud"
+ # password: "password"
+ # database: "Fraud"
+
+update:
+ check for update: true
+ auto download: false
+
+kick:
+ enabled: false
+ kick reason: "§f§lThe server has detected that you have too many accounts on your ip §7§l({0} accounts)§f§l.\n§f§lYou can not log in with as much of an account as that!\n§f§lContact an administrator if you think this is an error."
+
+countries alert:
+ - "FR"
+ - "BE"
+ - "CH"
+ - "CA"
+ - "MR"
+ - "MC"
+ - "DZ"
+ - "MA"
+```
-# Fraud
-**Fraud** is a French java project of a [Minecraft](https://www.minecraft.net) spigot plugin that allows a server owner / administrator to keep an eye on his players, see if any of them have a double-account.
+## Main Commands
-1. [Installation](#Installation)
-2. [API](#API)
-3. [Contact](#Contact)
-4. [Other Projects](#other-projects)
+Every action is performed through `/fraud` (aliases `/fd` or `/alts`).
-## Installation
+| Subcommand | Description | Permission |
+|----------------------------|-----------------------------------------------|----------------------------|
+| `/fd check ` | Check a player's alts or an IP | `fraud.check.player.one` |
+| `/fd all` | List all online players who have alts | `fraud.check.player.all` |
+| `/fd info ` | Show a player's history and location | `fraud.info` |
+| `/fd geoip ` | Geolocate an IP address | `fraud.geoip` |
+| `/fd alert` | Toggle receiving alerts | `fraud.alert.switch` |
+| `/fd gui` | Open the graphical interface | `fraud.gui` |
+| `/fd reload` | Reload configuration and data files | `fraud.reload` |
+| `/fd download` | Download the latest plugin version | `fraud.download` |
+| `/fd version` | Display the installed version and updates | `fraud.update` |
-- Put the jar on the plugin directory of the server.
-- Restart the server or if you have the [PlugMan](https://www.spigotmc.org/resources/plugmanx.88135/) ([Sources](https://github.com/TheBlackEntity/PlugMan/)) plugin on it, load the plugin with the command `/plugman load Fraud`.
-- Configure the plugin in the file `config.yml`. You can translate or just change the messages in this file.
-- Restart the server or just the plugin if you can.
+Permissions are described in [`plugin.yml`](src/main/resources/plugin.yml).
-## API
+## API Usage
-- Examples ([file](https://github.com/R-Gld/Fraud/blob/master/src/tests/Example.java)):
+A small API is available to retrieve a player's alts or IP information.
```java
-import fr.Rgld_.Fraud.Spigot.Helpers.IPInfo;
-import fr.Rgld_.Fraud.Spigot.Helpers.Utils;
import fr.Rgld_.Fraud.Spigot.api.Data;
-import org.bukkit.Bukkit;
-
-import java.net.InetSocketAddress;
-import java.util.List;
-
-public class Example {
-
- /**
- * Sends in the console the complete list of alts of the player given in parameters.
- *
- * @param pseudo The name in game of the player.
- */
- public void printAltsOf(String pseudo) {
- Data data = new Data();
- List altsOfRgld_ = data.getAlts(pseudo);
- System.out.println("Alts of " + pseudo + ":");
- for (String alt : altsOfRgld_) {
- System.out.println("\t- " + alt);
- }
- }
-
- /**
- * Print in the console the geolocation of a player into the minecraft (spigot) server.
- * @param pseudo (a {@link String}) the name in game of the player that we want to obtain the geolocation.
- * @see Example#getLatitudeAndLongitudeOfAnIp(String)
- * @see Utils#getAddress(InetSocketAddress) to format the {@link InetSocketAddress} object to a string that is conforming to the database.
- */
- public void getLatitudeAndLongitudeOfAPlayer(String pseudo) {
- getLatitudeAndLongitudeOfAnIp(Utils.getAddress(Bukkit.getPlayer(pseudo).getAddress()));
- }
-
- /**
- * Print in the console the geolocation of an ip.
- * @param ip (a {@link String}) the ip that we want to obtain the geolocation.
- * @see Example#getLatitudeAndLongitudeOfAnIp(String)
- */
- public void getLatitudeAndLongitudeOfAnIp(String ip) {
- Data data = new Data();
- IPInfo ipInfoOfRgld_ = data.getIPInfo(ip);
- System.out.println(ip + " is located at these coordinates(lat/lon): " +
- ipInfoOfRgld_.getLatitude() + "/" + ipInfoOfRgld_.getLongitude()
- );
- }
-}
+import fr.Rgld_.Fraud.Spigot.Helpers.IPInfo;
+
+Data data = new Data();
+List alts = data.getAlts("PlayerName");
+IPInfo ipInfo = data.getIPInfo("1.2.3.4");
```
-## Contact
+## Building
-### Discord
-- [*`Romain | Rgld_#5344`*](https://discord.com/users/273162457256558603)
+This project uses Maven. Run:
+
+```bash
+mvn package
+```
-### Emails
-- [*`spigot@rgld.fr`*](mailto:spigot@rgld.fr)
+to generate `Fraud.jar` in the `target/` folder.
-### Twitter
-- [*`RGld_`*](https://twitter.com/RGld_)
+## Support
-## Other Projects
+- Discord: [Romain | Rgld_#5344](https://discord.com/users/273162457256558603)
+- Email: [spigot@rgld.fr](mailto:spigot@rgld.fr)
+- Twitter: [@RGld_](https://twitter.com/RGld_)
-### WeatherBesac
-#### Description
-- It's a Twitter bot that tweets at certain times of the day the current weather in the city of Besançon in France in the Doubs (a French subdivision). This tweet is accompanied by a photo taken at the time of the tweet from a known place in Besançon to be able to look at the state of the sky, for example.
-#### Links
-- [Twitter account](https://twitter.com/BesanconMeteo)
-- [Source-Code](https://github.com/R-Gld/weather_besac_bot_twitter)
\ No newline at end of file
+---
+© Rgld_ – [Spigot page](https://www.spigotmc.org/resources/fraud-alts-finder.69872/)