# Configuring the Mod

Information

Simple RPC uses a universal TOML based config system, with a well named Layout and comments. You can use the same config file on Forge/Fabric, without having to redo it.

In addition to the basic Rich Presence options, the mod also includes features such as Server Side config Overrides, Defining a custom Rich Presence based on the server you're connected to as well as including a translated Rich Presence, based on the language of the player.


# Understanding the Configs

This is the default config, generated by the mod when you run it for the first time. To have a value ignored, just leave it blank. ApplicationID is required though.

#General Config Section
[general]
	#The Application ID of the Discord App to use
	clientID = 762726289341677668
	#Enable/Disable the mod
	enabled = true
	#Enable/Disable debugging mode. WARNING: MAY CAUSE LOG SPAM!
	debugging = false
	#Enable/Disable the in game config screen
	configScreen = true
	#Display the Icon and Pack Name in place of LargeImage from compatible launchers. DOES NOT WORK WITH CUSTOM APPS! ONLY THE DEFAULT ONE!
	launcherIntegration = false
	#Internal Version Number. NO TOUCHY!
	version = 13

#The Game Loading event
[init]
	#Enable/Disable the Game Loading Event
	enabled = true
	#The first line of text under the app name
	description = "Minecraft is loading"
	#The second line of text under the app name
	state = "Game Starting..."
	#The Asset ID of the image to display as the large image
	largeImageKey = "mclogonew"
	#The text that gets displayed when the large image is hovered
	largeImageText = "It's Minecraft %mcver%, but modded"
	#The Asset ID of the image to display as the small image
	smallImageKey = "mclogo"
	#The text that gets displayed when the small image is hovered
	smallImageText = "%mods% mods installed"
	#The buttons to display on Discord
	buttons = []

#The Main Menu event
[main_menu]
	#Enable/Disable the Main Menu Event
	enabled = true
	#The first line of text under the app name
	description = "%player% is currently lazy"
	#The seconds line of text under the app name
	state = "Chilling in the menu"
	#The Asset ID of the image to display as the large image
	largeImageKey = "mclogonew"
	#The text that gets displayed when the large image is hovered
	largeImageText = "It's Minecraft %mcver%, but modded"
	#The Asset ID of the image to display as the small image
	smallImageKey = "mclogo"
	#The text that gets displayed when the small image is hovered
	smallImageText = "%mods% mods installed"
	#The buttons to display on Discord
	buttons = []

#The Server List event
[server_list]
	#Enable/Disable the Server List Event
	enabled = true
	#The first line of text under the app name
	description = "%player% is looking for a server"
	#The second line of text under the app name
	state = "Searching for friends"
	#The Asset ID of the image to display as the large image
	largeImageKey = "mclogonew"
	#The text that gets displayed when the large image is hovered
	largeImageText = "It's Minecraft %mcver%, but modded"
	#The Asset ID of the image to display as the small image
	smallImageKey = "mclogo"
	#The text that gets displayed when the small image is hovered
	smallImageText = "%mods% mods installed"
	#The buttons to display on Discord
	buttons = []

#The Realms Screen event
[realms_list]
	#Enable/Disable the Realms Screen Event
	enabled = true
	#The first line of text under the app name
	description = "%player% is looking for a Realm"
	#The second line of text under the app name
	state = "Browsing Realms"
	#The Asset ID of the image to display as the large image
	largeImageKey = "mclogonew"
	#The text that gets displayed when the large image is hovered
	largeImageText = "It's Minecraft %mcver%, but modded"
	#The Asset ID of the image to display as the small image
	smallImageKey = "mclogo"
	#The text that gets displayed when the small image is hovered
	smallImageText = "%mods% mods installed"
	#The buttons to display on Discord
	buttons = []

#The Join Game Event
[join_game]
	#Enable/Disable the Join Game Event
	enabled = true
	#The first line of text under the app name
	description = "%player% is joining a game"
	#The second line of text under the app name
	state = "Joining Game"
	#The Asset ID of the image to display as the large image
	largeImageKey = "mclogonew"
	#The text that gets displayed when the large image is hovered
	largeImageText = "It's Minecraft %mcver%, but modded"
	#The Asset ID of the image to display as the small image
	smallImageKey = "mclogo"
	#The text that gets displayed when the small image is hovered
	smallImageText = "%mods% mods installed"
	#The buttons to display on Discord
	buttons = []

#The Single Player Event
[single_player]
	#Enable/Disable the Single Player Event
	enabled = true
	#The first line of text under the app name
	description = "Currently In %world%"
	#The second line of text under the app name
	state = "Playing lonely mode"
	#The Asset ID of the image to display as the large image
	largeImageKey = "mclogonew"
	#The text that gets displayed when the large image is hovered
	largeImageText = "It's Minecraft %mcver%, but modded"
	#The Asset ID of the image to display as the small image
	smallImageKey = "mclogo"
	#The text that gets displayed when the small image is hovered
	smallImageText = "%mods% mods installed"
	#The buttons to display on Discord
	buttons = []

#The Multi Player Event
[multi_player]
	#Enable/Disable the Multi Player Event
	enabled = true
	#The first line of text under the app name
	description = "Playing on %servername% with %players% players"
	#The second line of text under the app name
	state = "Playing online"
	#The Asset ID of the image to display as the large image
	largeImageKey = "mclogonew"
	#The text that gets displayed when the large image is hovered
	largeImageText = "It's Minecraft %mcver%, but modded"
	#The Asset ID of the image to display as the small image
	smallImageKey = "mclogo"
	#The text that gets displayed when the small image is hovered
	smallImageText = "%mods% mods installed"
	#The buttons to display on Discord
	buttons = []

#The Realms Game Event
[realms]
	#Enable/Disable the Realms Game Event
	enabled = true
	#The first line of text under the app name
	description = "Playing on %realmname%"
	#The second line of text under the app name
	state = "Playing on a Realm"
	#The Asset ID of the image to display as the large image
	largeImageKey = "mclogonew"
	#The text that gets displayed when the large image is hovered
	largeImageText = "It's Minecraft %mcver%, but modded"
	#The Asset ID of the image to display as the small image
	smallImageKey = "mclogo"
	#The text that gets displayed when the small image is hovered
	smallImageText = "%realmdescription%"
	#The buttons to display on Discord
	buttons = []

#Fallback event for disabled events
[generic]
	#The first line of text under the app name
	description = "Playing Minecraft"
	#The second line of text under the app name
	state = ""
	#The Asset ID of the image to display as the large image
	largeImageKey = "mclogonew"
	#The text that gets displayed when the large image is hovered
	largeImageText = "It's Minecraft %mcver%, but modded"
	#The Asset ID of the image to display as the small image
	smallImageKey = "mclogo"
	#The text that gets displayed when the small image is hovered
	smallImageText = "%mods% mods installed"
	#The buttons to display on Discord
	buttons = []

#Dimension Information Overrides
[dimension_overrides]
	#Allows you to override the displayed values for dimensions
	enabled = false

	#The Dimensions to override
	[[dimension_overrides.dimensions]]
		name = "overworld"
		description = "%player% is in The Overworld"
		state = ""
		largeImageKey = "overworld"
		largeImageText = "In the Overworld"
		smallImageKey = "mclogo"
		smallImageText = "%mods% mods installed"

	[[dimension_overrides.dimensions]]
		name = "the_nether"
		description = "%player% is in The Nether"
		state = ""
		largeImageKey = "nether"
		largeImageText = "In the Nether"
		smallImageKey = "mclogo"
		smallImageText = "%mods% mods installed"

	[[dimension_overrides.dimensions]]
		name = "the_end"
		description = "%player% is in The End"
		state = ""
		largeImageKey = "end"
		largeImageText = "In the End"
		smallImageKey = "mclogo"
		smallImageText = "%mods% mods installed"

Simple RPC allows for language detection in Minecraft, so If you decide you wanna play Minecraft in a different language, your discord status can now be shown in that language. But it requires some setup, which is why this section exists.

When launching the game for the first time with 1.4+ installed, you will find a new folder called simple-rpc inside your .minecraft folder. This is the folder in which you will place your translated config files.

To create a translated config file, copy simple-rpc.toml from your config folder to the simple-rpc folder. To make sure the mod loads the correct config file, you need to rename the file a bit. The new name of your file will now be simple-rpc_lang_code.toml.

Once you have created this file, you can change all "state", "description", "largeimagetext" and "smallimagetext" fields. You cannot translate the imagekeys!

Some name examples of languages:

  • American English -> "simple-rpc-en_us.toml"
  • Dutch -> "simple-rpc-nl_nl.toml"

Since Simple RPC Version 2.5, it's now possible to add "custom server entries", that allow you to change the Rich Presence display data based on the IP of the server you are connected to. This allows modpack makers to include a rich presence when someone is playing on one of their official servers, instead of just having Playing on djghksdjh.

This file can be found in the dedicated simple-rpc folder and is called server-entries.toml. This file, like the normal config file also supports translations, so, you can for example use server-entries-en_us.toml for english.

This file has a very basic layout, and is easy to work with. By default, the config file looks like this:

enabled = false
version = 1
entries = []

To add a custom server entry, simply replace entries = [] with the following:

[[entry]]
	ip = "yourserverip"
	description = "Look mom, I have a server!"
	state = "Playing on the best damn mc server ever"
	largeImageKey = "server_log"
	largeImageText = "Find us at https://myawesomeserver.com"
	smallImageKey = ""
	smallImageText = ""

As an example, a complete config file would look like this:

enabled = true
version = 1

[[entry]]
	ip = "hypherionmc.me:3008"
	description = "Testing Server Overrides"
	state = "Playing on a local server"
	largeImageKey = "hypherion_2"
	largeImageText = "It works"
	smallImageKey = ""
	smallImageText = ""

# Configuration Variables

Information

Variables are pieces of text added to the config file that allows you to display data from the game on your status.

These variables can used inside any 'state', 'description', 'largeImageText', 'smallImageText' and inside buttons.

Some variables can also be used inside 'largeImageKey' and 'smallImageKey'. These are marked with IMAGE

These variables can be used with Single Player, Multi Player and Realms.

Variable Description
%player% Shows the Minecraft name of the player
%world% Shows the current world (Dimension): For example overworld/nether/etc
%mods% Shows the total amount of installed mods
%difficulty% Shows the difficulty of the current game
%position% Shows the position of the player
%biome% Show the name of the biome you're in
%mcver% Show the Minecraft Version: For example 1.16.5
%instance% Shows the name of the Instance on supported launchers
%launcher% Shows the name of the Launcher on supported launchers
%server% IMAGE Returns the server IP with _ instead of . So 127.0.0.1 becomes 127_0_0_1. Can be used to change the image key based on the server address
%launchername% Get the name of the launcher (if supported) in lower-case
%savename% Shows the name of your world Since 2.6
%playerhead% IMAGE Uses the Face of the player as an Image Key. No need to have them uploaded
%gametime12% Returns the In-Game time, in 12 Hour Format. For example: 01:00 PM
%gametime% Returns the In-Game time in 24 Hour Format. For example: 13:00
%day% Returns the In-Game day as shown in F3
%weather Returns the current weather of the biome the player is in

These variables can only be used in a Multiplayer/Lan game, in addition to the other variables

Variable Description
%serverip% Shows the IP/Address of the server the player is playing on (Deprecated. Will be removed soon)
%servername% Shows the name of the server
%players% Shows the amount of online players
%maxplayers% Shows the max amount of players on the server
%motd% Show the Message of the day of the server
%servericon% IMAGE Returns the Icon of the server for use as an Image Key. No need to have it uploaded

These variables can only be used when connected to a REALM, in addition to the existing single player variables.

Variable Description
%realmname% Returns the name of the realm
%realmdescription% Returns the description of the realm
%realmgame% Returns the name of the active mini-game, if any
%realmicon% IMAGE Returns the Icon of the mini-game, if any
%players% Returns the amount of online players in the realm
%maxplayers% Returns the maximum number of slots on the realm. Hardcoded to 10