<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[PlutoniumX Auto Game Launcher]]></title><description><![CDATA[<p dir="auto">Hello gamers!   I made this Launcher to make it 100 times easier to launch any plutonium game. Just drop the EXE into your main Plutonium folder, launch the exe file , enter your gamer name you want and wah lah!   Spent MONTHS making this damn thing!!   Love your work so this is my contribution to the Plutonium community!   Sincerely  MultiplayerX / GESource and Gaming Community Support Administrator   <img src="https://forum.plutonium.pw/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60e.png?v=6b8f0b5ad96" class="not-responsive emoji emoji-android emoji--sunglasses" style="height:23px;width:auto;vertical-align:middle" title="8)" alt="😎" />  <img src="https://forum.plutonium.pw/assets/plugins/nodebb-plugin-emoji/emoji/android/1f61b.png?v=6b8f0b5ad96" class="not-responsive emoji emoji-android emoji--stuck_out_tongue" style="height:23px;width:auto;vertical-align:middle" title=":P" alt="😛" />        Crap need a 1 reputation then I will share he link!!</p>
]]></description><link>https://forum.plutonium.pw/topic/44604/plutoniumx-auto-game-launcher</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Apr 2026 18:31:49 GMT</lastBuildDate><atom:link href="https://forum.plutonium.pw/topic/44604.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Apr 2026 04:10:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to PlutoniumX Auto Game Launcher on Sun, 19 Apr 2026 04:39:47 GMT]]></title><description><![CDATA[<p dir="auto">DrSkum lol   Dude wtf is your problem man?   Grow up 007  <img src="https://forum.plutonium.pw/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=6b8f0b5ad96" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";)" alt="😉" />   Why are you criticizing a bunch of bullshit that makes no sense. Maybe I don't want to use GIT and I don't need to use that because I don't make a lot of projects to justify using that   Seriously there's no need to act like a d#ck and attack me for sharing something that's just an alternative to the lan launcher    BTW This thread can be closed out and deleted  im making a new thread with the Final version now with better features as well</p>
]]></description><link>https://forum.plutonium.pw/post/171237</link><guid isPermaLink="true">https://forum.plutonium.pw/post/171237</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Sun, 19 Apr 2026 04:39:47 GMT</pubDate></item><item><title><![CDATA[Reply to PlutoniumX Auto Game Launcher on Fri, 17 Apr 2026 12:46:58 GMT]]></title><description><![CDATA[<p dir="auto">Bro you don't even know how to use git, your vibe coded UI is pointless because it doesn't add anything, it doesn't even look nice, and all your posts read like you scam senior citizens for a living.</p>
]]></description><link>https://forum.plutonium.pw/post/171160</link><guid isPermaLink="true">https://forum.plutonium.pw/post/171160</guid><dc:creator><![CDATA[DrSkum88]]></dc:creator><pubDate>Fri, 17 Apr 2026 12:46:58 GMT</pubDate></item><item><title><![CDATA[Reply to PlutoniumX Auto Game Launcher on Fri, 17 Apr 2026 03:22:43 GMT]]></title><description><![CDATA[<p dir="auto">Here's the source code for PlutoniumX so you can verify the programs safety  <img src="https://forum.plutonium.pw/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=6b8f0b5ad96" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";)" alt="😉" />    import tkinter as tk<br />
from tkinter import messagebox<br />
from PIL import Image, ImageTk<br />
import subprocess<br />
import os<br />
from pathlib import Path<br />
import configparser<br />
import threading<br />
from typing import Dict, List, Optional, Tuple</p>
<p dir="auto">TITLE = "PlutoniumX"<br />
BOOTSTRAPPER = "plutonium-bootstrapper-win32.exe"<br />
INI_PATH = "PlutoniumX.ini"<br />
GAME_ICONS = {<br />
"World at War": "waw.png",<br />
"Black Ops 1": "bo1.png",<br />
"Black Ops 2": "bo2.png",<br />
"Modern Warfare 3": "mw3.png"<br />
}</p>
<h1>======================================================</h1>
<h1>GAME DEFINITIONS - EACH GAME HAS ITS OWN ISOLATED LOGIC</h1>
<h1>======================================================</h1>
<p dir="auto">GAME_DEFS: Dict[str, Dict[str, object]] = {<br />
"waw": {<br />
"title": "World at War",<br />
"mode_id": "t4mp",<br />
"folder_markers": ["main/iw_00.iwd"],<br />
"exe_markers": ["CoDWaW.exe", "codwaw.exe"],<br />
"storage_markers": ["storage/t4", "storage/pluto_t4_full_game"],<br />
"name_tokens": ["waw", "world", "war", "t4", "codwaw"],<br />
"anti_tokens": ["black ops", "bo1", "bo2", "t5", "t6", "mw3", "iw5"],<br />
"missing_title": "Missing WAW",<br />
"missing_text": "Could not find a valid World at War game root under this Plutonium folder tree."<br />
},<br />
"bo1": {<br />
"title": "Black Ops 1",<br />
"mode_id": "t5mp",<br />
"folder_markers": ["main/iw_00.iwd"],<br />
"exe_markers": ["BlackOps.exe", "BlackOpsMP.exe"],<br />
"storage_markers": ["storage/t5", "storage/pluto_t5_full_game"],<br />
"name_tokens": ["bo1", "black ops", "blackops", "t5", "codbo"],<br />
"anti_tokens": ["world at war", "waw", "t4", "bo2", "t6", "mw3", "iw5"],<br />
"missing_title": "Missing BO1",<br />
"missing_text": "Could not find a valid Black Ops 1 game root under this Plutonium folder tree."<br />
},<br />
"bo2": {<br />
"title": "Black Ops 2",<br />
"mode_id": "t6mp",<br />
"folder_markers": ["zone/all/base.ipak"],<br />
"exe_markers": ["t6mp.exe", "BlackOps2.exe"],<br />
"storage_markers": ["storage/t6"],<br />
"name_tokens": ["bo2", "black ops ii", "black ops 2", "blackops2", "t6"],<br />
"anti_tokens": ["world at war", "waw", "t4", "bo1", "t5", "mw3", "iw5"],<br />
"missing_title": "Missing BO2",<br />
"missing_text": "Could not find a valid Black Ops II game root under this Plutonium folder tree."<br />
},<br />
"mw3": {<br />
"title": "Modern Warfare 3",<br />
"mode_id": "iw5mp",<br />
"folder_markers": ["main/iw_00.iwd"],<br />
"exe_markers": ["iw5mp.exe", "iw5sp.exe"],<br />
"storage_markers": ["storage/iw5"],<br />
"name_tokens": ["mw3", "modern warfare 3", "modernwarfare3", "iw5"],<br />
"anti_tokens": ["world at war", "waw", "t4", "bo1", "t5", "bo2", "t6"],<br />
"missing_title": "Missing MW3",<br />
"missing_text": "Could not find a valid Modern Warfare 3 game root under this Plutonium folder tree."<br />
}<br />
}</p>
<h1>======================================================</h1>
<h1>CONFIG HELPERS</h1>
<h1>======================================================</h1>
<p dir="auto">def load_config() -&gt; configparser.ConfigParser:<br />
config = configparser.ConfigParser()<br />
if os.path.exists(INI_PATH):<br />
config.read(INI_PATH)<br />
return config</p>
<p dir="auto">def save_config(config: configparser.ConfigParser) -&gt; None:<br />
with open(INI_PATH, "w", encoding="utf-8") as f:<br />
config.write(f)</p>
<p dir="auto">def get_saved_value(key: str) -&gt; str:<br />
config = load_config()<br />
return config.get("Paths", key, fallback="").strip()</p>
<p dir="auto">def get_saved_path(key: str) -&gt; Optional[Path]:<br />
value = get_saved_value(key)<br />
if not value:<br />
return None<br />
try:<br />
return Path(value)<br />
except Exception:<br />
return None</p>
<p dir="auto">def save_username() -&gt; None:<br />
username = username_entry.get().strip()<br />
if not username:<br />
return<br />
config = load_config()<br />
if "Paths" not in config:<br />
config["Paths"] = {}<br />
config["Paths"]["username"] = username<br />
save_config(config)</p>
<p dir="auto">def save_detected_paths(launcher_path: Path, game_key: str, game_folder: Path, username: str) -&gt; None:<br />
config = load_config()<br />
if "Paths" not in config:<br />
config["Paths"] = {}<br />
config["Paths"]["launcher"] = str(launcher_path)<br />
config["Paths"][game_key] = str(game_folder)<br />
config["Paths"]["username"] = username<br />
save_config(config)</p>
<h1>======================================================</h1>
<h1>PATH / VALIDATION HELPERS</h1>
<h1>======================================================</h1>
<p dir="auto">def safe_is_file(path: Path) -&gt; bool:<br />
try:<br />
return path.is_file()<br />
except Exception:<br />
return False</p>
<p dir="auto">def safe_is_dir(path: Path) -&gt; bool:<br />
try:<br />
return path.is_dir()<br />
except Exception:<br />
return False</p>
<p dir="auto">def has_rel_file(folder: Path, relpath: str) -&gt; bool:<br />
try:<br />
return (folder / relpath).is_file()<br />
except Exception:<br />
return False</p>
<p dir="auto">def get_root_dir() -&gt; Path:<br />
return Path(<strong>file</strong>).resolve().parent</p>
<p dir="auto">def find_bootstrapper() -&gt; Optional[Path]:<br />
root_dir = get_root_dir()<br />
candidates = [<br />
root_dir / "bin" / BOOTSTRAPPER,<br />
root_dir / BOOTSTRAPPER,<br />
]</p>
<pre><code>saved = get_saved_path("launcher")
if saved:
    candidates.insert(0, saved)

for candidate in candidates:
    if candidate and safe_is_file(candidate):
        return candidate

for current_root, dirs, files in os.walk(root_dir):
    if BOOTSTRAPPER in files:
        found = Path(current_root) / BOOTSTRAPPER
        if found.name.lower() == BOOTSTRAPPER.lower():
            return found

return None
</code></pre>
<p dir="auto">def game_root_is_valid(game_key: str, folder: Path) -&gt; bool:<br />
if not folder or not safe_is_dir(folder):<br />
return False</p>
<pre><code>game_def = GAME_DEFS[game_key]
folder_markers: List[str] = game_def["folder_markers"]  # type: ignore[assignment]
exe_markers: List[str] = game_def["exe_markers"]  # type: ignore[assignment]

if not any(has_rel_file(folder, marker) for marker in folder_markers):
    return False

if not any(has_rel_file(folder, exe) for exe in exe_markers):
    return False

return True
</code></pre>
<p dir="auto">def cached_game_path_is_valid(game_key: str) -&gt; Optional[Path]:<br />
saved = get_saved_path(game_key)<br />
if saved and game_root_is_valid(game_key, saved):<br />
return saved<br />
return None</p>
<p dir="auto">def score_candidate(game_key: str, folder: Path) -&gt; int:<br />
game_def = GAME_DEFS[game_key]<br />
exe_markers: List[str] = game_def["exe_markers"]  # type: ignore[assignment]<br />
folder_markers: List[str] = game_def["folder_markers"]  # type: ignore[assignment]<br />
name_tokens: List[str] = game_def["name_tokens"]  # type: ignore[assignment]<br />
anti_tokens: List[str] = game_def["anti_tokens"]  # type: ignore[assignment]</p>
<pre><code>score = 0
path_lower = str(folder).lower().replace("_", " ").replace("-", " ")
folder_name = folder.name.lower().replace("_", " ").replace("-", " ")

for marker in folder_markers:
    if has_rel_file(folder, marker):
        score += 250

for exe in exe_markers:
    if has_rel_file(folder, exe):
        score += 400

for token in name_tokens:
    if token in folder_name:
        score += 150
    elif token in path_lower:
        score += 60

for bad in anti_tokens:
    if bad in folder_name:
        score -= 180
    elif bad in path_lower:
        score -= 70

# Strong separation rules for the shared iw_00.iwd games.
if game_key == "waw":
    if has_rel_file(folder, "BlackOps.exe") or has_rel_file(folder, "BlackOpsMP.exe"):
        score -= 500
    if has_rel_file(folder, "iw5mp.exe"):
        score -= 500
    if has_rel_file(folder, "zone/all/base.ipak"):
        score -= 800
elif game_key == "bo1":
    if has_rel_file(folder, "CoDWaW.exe") or has_rel_file(folder, "codwaw.exe"):
        score -= 500
    if has_rel_file(folder, "iw5mp.exe"):
        score -= 500
    if has_rel_file(folder, "zone/all/base.ipak"):
        score -= 800
elif game_key == "mw3":
    if has_rel_file(folder, "CoDWaW.exe") or has_rel_file(folder, "codwaw.exe"):
        score -= 500
    if has_rel_file(folder, "BlackOps.exe") or has_rel_file(folder, "BlackOpsMP.exe"):
        score -= 500
    if has_rel_file(folder, "zone/all/base.ipak"):
        score -= 800
elif game_key == "bo2":
    if has_rel_file(folder, "main/iw_00.iwd"):
        score -= 800

depth = len(folder.parts)
score -= depth

return score
</code></pre>
<h1>======================================================</h1>
<h1>SCANNING HELPERS</h1>
<h1>======================================================</h1>
<p dir="auto">def collect_scan_roots() -&gt; List[Path]:<br />
root_dir = get_root_dir()<br />
roots: List[Path] = [root_dir]</p>
<pre><code># Scan the entire Plutonium folder tree first and optionally nearby sibling folders.
parent_dir = root_dir.parent
if safe_is_dir(parent_dir):
    roots.append(parent_dir)

unique: List[Path] = []
seen = set()
for root in roots:
    try:
        resolved = str(root.resolve())
    except Exception:
        resolved = str(root)
    if resolved in seen:
        continue
    seen.add(resolved)
    unique.append(root)
return unique
</code></pre>
<p dir="auto">def iter_candidate_folders(scan_roots: List[Path]):<br />
seen = set()<br />
for base in scan_roots:<br />
if not safe_is_dir(base):<br />
continue</p>
<pre><code>    try:
        base_resolved = str(base.resolve())
    except Exception:
        base_resolved = str(base)

    if base_resolved not in seen:
        seen.add(base_resolved)
        yield base

    for current_root, dirs, files in os.walk(base):
        folder = Path(current_root)
        try:
            resolved = str(folder.resolve())
        except Exception:
            resolved = str(folder)
        if resolved in seen:
            continue
        seen.add(resolved)
        yield folder
</code></pre>
<p dir="auto">def find_game_folder(game_key: str, status_var: Optional[tk.StringVar] = None) -&gt; Optional[Path]:<br />
cached = cached_game_path_is_valid(game_key)<br />
if cached:<br />
return cached</p>
<pre><code>game_def = GAME_DEFS[game_key]
title = str(game_def["title"])
scan_roots = collect_scan_roots()
best_match: Optional[Tuple[int, Path]] = None
checked = 0

for folder in iter_candidate_folders(scan_roots):
    checked += 1
    if status_var and checked % 75 == 0:
        status_var.set(f"Scanning {title}... checked {checked} folders")
        root.update_idletasks()

    if game_root_is_valid(game_key, folder):
        score = score_candidate(game_key, folder)
        if best_match is None or score &gt; best_match[0]:
            best_match = (score, folder)

return best_match[1] if best_match else None
</code></pre>
<h1>======================================================</h1>
<h1>UI HELPERS</h1>
<h1>======================================================</h1>
<p dir="auto">def show_scanning_popup(status_var: tk.StringVar) -&gt; tk.Toplevel:<br />
popup = tk.Toplevel(root)<br />
popup.title("Scanner")<br />
popup.geometry("360x80")<br />
popup.configure(bg="black")<br />
popup.resizable(False, False)<br />
popup.attributes("-topmost", True)<br />
popup.grab_set()</p>
<pre><code>popup.update_idletasks()
x = (popup.winfo_screenwidth() // 2) - 180
y = (popup.winfo_screenheight() // 2) - 40
popup.geometry(f"+{x}+{y}")

label = tk.Label(
    popup,
    textvariable=status_var,
    font=("Segoe UI", 11),
    fg="lime",
    bg="black",
    wraplength=330,
    justify="center"
)
label.pack(expand=True, fill="both", padx=10, pady=10)
return popup
</code></pre>
<p dir="auto">def set_button_state(enabled: bool) -&gt; None:<br />
state = tk.NORMAL if enabled else tk.DISABLED<br />
for button in launch_buttons:<br />
button.config(state=state)<br />
exit_btn.config(state=state)</p>
<h1>======================================================</h1>
<h1>LAUNCH FLOW</h1>
<h1>======================================================</h1>
<p dir="auto">def build_launch_command(launcher_path: Path, mode_id: str, game_folder: Path, username: str) -&gt; List[str]:<br />
return [<br />
str(launcher_path),<br />
mode_id,<br />
str(game_folder),<br />
"+name",<br />
username,<br />
"-lan",<br />
]</p>
<p dir="auto">def run_launch_flow(game_key: str) -&gt; None:<br />
username = username_entry.get().strip()<br />
if not username:<br />
messagebox.showerror("Username Required", "Please enter a username.")<br />
return</p>
<pre><code>save_username()
set_button_state(False)

status = tk.StringVar(value="Initializing scan...")
popup = show_scanning_popup(status)

def worker() -&gt; None:
    game_def = GAME_DEFS[game_key]
    try:
        status.set("Locating Plutonium bootstrapper...")
        launcher_path = find_bootstrapper()
        if not launcher_path:
            raise RuntimeError(f"Could not find {BOOTSTRAPPER} inside this Plutonium folder.")

        status.set(f"Checking cached {game_def['title']} path...")
        game_folder = cached_game_path_is_valid(game_key)
        if not game_folder:
            status.set(f"Scanning for {game_def['title']} game root...")
            game_folder = find_game_folder(game_key, status)

        if not game_folder:
            raise RuntimeError(str(game_def["missing_text"]))

        status.set(f"Saving detected {game_def['title']} path...")
        save_detected_paths(launcher_path, game_key, game_folder, username)

        command = build_launch_command(launcher_path, str(game_def["mode_id"]), game_folder, username)

        status.set(f"Launching {game_def['title']}...")
        subprocess.Popen(command, cwd=str(launcher_path.parent.parent))

        def on_success() -&gt; None:
            try:
                popup.destroy()
            except Exception:
                pass
            set_button_state(True)

        root.after(0, on_success)

    except Exception as e:
        def on_error() -&gt; None:
            try:
                popup.destroy()
            except Exception:
                pass
            set_button_state(True)
            messagebox.showerror("Launch Failed", str(e))

        root.after(0, on_error)

threading.Thread(target=worker, daemon=True).start()
</code></pre>
<p dir="auto">def launch_waw_smart() -&gt; None:<br />
run_launch_flow("waw")</p>
<p dir="auto">def launch_bo1_smart() -&gt; None:<br />
run_launch_flow("bo1")</p>
<p dir="auto">def launch_bo2_smart() -&gt; None:<br />
run_launch_flow("bo2")</p>
<p dir="auto">def launch_mw3_smart() -&gt; None:<br />
run_launch_flow("mw3")</p>
<h1>======================================================</h1>
<h1>UI</h1>
<h1>======================================================</h1>
<p dir="auto">root = <a href="http://tk.Tk" target="_blank" rel="noopener noreferrer nofollow ugc">tk.Tk</a>()<br />
root.title(TITLE)<br />
root.configure(bg="black")<br />
root.geometry("640x640")<br />
root.resizable(True, True)</p>
<p dir="auto">logo_frame = tk.Frame(root, bg="black")<br />
logo_frame.pack(pady=20)</p>
<p dir="auto">try:<br />
logo_img = Image.open("PlutoniumXlogo.png").resize((400, 88))<br />
logo_tk = ImageTk.PhotoImage(logo_img)<br />
logo_label = tk.Label(logo_frame, image=logo_tk, bg="black")<br />
logo_label.image = logo_tk<br />
logo_label.pack(padx=20, anchor="center")<br />
except Exception:<br />
logo_label = tk.Label(logo_frame, text=TITLE, font=("Segoe UI", 28, "bold"), fg="white", bg="black")<br />
logo_label.pack(padx=20, anchor="center")</p>
<p dir="auto">username_frame = tk.Frame(root, bg="black")<br />
username_frame.pack(pady=10)<br />
tk.Label(username_frame, text="Username:", font=("Segoe UI", 12), fg="white", bg="black").pack(side="left")<br />
username_entry = tk.Entry(username_frame, font=("Segoe UI", 12), width=24)<br />
username_entry.pack(side="left", padx=10)</p>
<p dir="auto">saved_username = get_saved_value("username")<br />
if saved_username:<br />
username_entry.insert(0, saved_username)</p>
<p dir="auto">def on_enter(event):<br />
if event.widget.cget("state") != tk.DISABLED:<br />
event.widget.config(bg="white", fg="black")</p>
<p dir="auto">def on_leave(event):<br />
if event.widget.cget("state") != tk.DISABLED:<br />
event.widget.config(bg="gray20", fg="white")</p>
<p dir="auto">launch_buttons: List[tk.Button] = []</p>
<p dir="auto">for game in GAME_ICONS:<br />
frame = tk.Frame(root, bg="black")<br />
frame.pack(pady=12)</p>
<pre><code>icon_path = GAME_ICONS.get(game, "")
try:
    img = Image.open(icon_path).resize((64, 64))
    icon = ImageTk.PhotoImage(img)
    icon_label = tk.Label(frame, image=icon, bg="black")
    icon_label.image = icon
    icon_label.pack(side="left", padx=10)
except Exception:
    icon_label = tk.Label(frame, text="[IMG]", bg="black", fg="white", width=10)
    icon_label.pack(side="left")

command = (
    launch_mw3_smart if game == "Modern Warfare 3"
    else launch_waw_smart if game == "World at War"
    else launch_bo1_smart if game == "Black Ops 1"
    else launch_bo2_smart
)

btn = tk.Button(
    frame,
    text=f"Launch {game}",
    font=("Segoe UI", 12),
    bg="gray20",
    fg="white",
    activebackground="white",
    activeforeground="black",
    width=30,
    command=command,
)
btn.pack(side="left")
btn.bind("&lt;Enter&gt;", on_enter)
btn.bind("&lt;Leave&gt;", on_leave)
launch_buttons.append(btn)
</code></pre>
<p dir="auto">exit_btn = tk.Button(<br />
root,<br />
text="Exit",<br />
font=("Segoe UI", 12),<br />
bg="gray20",<br />
fg="white",<br />
activebackground="white",<br />
activeforeground="black",<br />
width=20,<br />
command=lambda: [save_username(), root.quit()],<br />
)<br />
exit_btn.pack(pady=20)<br />
exit_btn.bind("&lt;Enter&gt;", on_enter)<br />
exit_btn.bind("&lt;Leave&gt;", on_leave)</p>
<p dir="auto">root.mainloop()</p>
]]></description><link>https://forum.plutonium.pw/post/171153</link><guid isPermaLink="true">https://forum.plutonium.pw/post/171153</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Fri, 17 Apr 2026 03:22:43 GMT</pubDate></item><item><title><![CDATA[Reply to PlutoniumX Auto Game Launcher on Fri, 17 Apr 2026 02:53:14 GMT]]></title><description><![CDATA[<p dir="auto">What are you talking about? Closed source?  The program is an executable that bridges to all 4 games and finds your paths for you and saves everything in an INI so you can use it like an INTERFACE. Why the hell would you want to use command prompts and archaeic methods when I made a program that give Plutonium a nice UI and interface. Lol   That doesn't make a lot of sense to be so paranoid aabout malware. I created this using Python and Windows 10 then it is packaged using Windows 10. I will make a Windows 7 / 8 version is there's request for it. Anywho do what you will. Test before you judge  <img src="https://forum.plutonium.pw/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=6b8f0b5ad96" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";)" alt="😉" /></p>
]]></description><link>https://forum.plutonium.pw/post/171151</link><guid isPermaLink="true">https://forum.plutonium.pw/post/171151</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Fri, 17 Apr 2026 02:53:14 GMT</pubDate></item><item><title><![CDATA[Reply to PlutoniumX Auto Game Launcher on Thu, 16 Apr 2026 12:22:56 GMT]]></title><description><![CDATA[<p dir="auto">A closed source UI that doesn't add anything? Sounds like using this is just asking for malware.<br />
Just use the basic cli commands plutonium supports to make game shortcuts if that's what you want. No reason to use this.</p>
]]></description><link>https://forum.plutonium.pw/post/171124</link><guid isPermaLink="true">https://forum.plutonium.pw/post/171124</guid><dc:creator><![CDATA[DrSkum88]]></dc:creator><pubDate>Thu, 16 Apr 2026 12:22:56 GMT</pubDate></item><item><title><![CDATA[Reply to PlutoniumX Auto Game Launcher on Thu, 16 Apr 2026 03:43:14 GMT]]></title><description><![CDATA[<p dir="auto">Oh i did forget to mention. The program will save any new username you enter and any game you launch will save whatever paths the program finds your valid game files inside the .INI file   You can delete the file or edit out the paths using notepad in the INI file if you need to change your name without rescanning for the game but honestly that's not necessary because the program is very fast and doesn't take that long to lock in where your files are as long as you put the program in your main Plutonium folder   <img src="https://forum.plutonium.pw/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60e.png?v=6b8f0b5ad96" class="not-responsive emoji emoji-android emoji--sunglasses" style="height:23px;width:auto;vertical-align:middle" title="8)" alt="😎" />   MultiX</p>
]]></description><link>https://forum.plutonium.pw/post/171113</link><guid isPermaLink="true">https://forum.plutonium.pw/post/171113</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Thu, 16 Apr 2026 03:43:14 GMT</pubDate></item><item><title><![CDATA[Reply to PlutoniumX Auto Game Launcher on Wed, 15 Apr 2026 13:08:02 GMT]]></title><description><![CDATA[<p dir="auto">I understand your concern  PlutoniumX is simply a standalone launcher that makes a nicer interface and makes it faster and easier to launch each game. Instead of having to set paths like the lan launcher PlutoniumX does everything for you. All you do is add the executable into your main Plutonium/  folder and you are ready to go  <img src="https://forum.plutonium.pw/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60e.png?v=6b8f0b5ad96" class="not-responsive emoji emoji-android emoji--sunglasses" style="height:23px;width:auto;vertical-align:middle" title="8)" alt="😎" />   I also added a program I made that finds your ip4 address and makes a connect command for you automatically as well  It's included in the file   BTW I am MultiplayerX from GoldenEye Source and I have been a mapper and gameshark hacker for over 20 years. You are more than safe with anything I release  <img src="https://forum.plutonium.pw/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=6b8f0b5ad96" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=";)" alt="😉" />     Enjoy!   PlutoniumX Auto Launcher :   <a href="https://drive.usercontent.google.com/download?id=1cZYZiJGOinmGv5F4XBcrAUCLuOCtK1ve&amp;export=download&amp;authuser=0" target="_blank" rel="noopener noreferrer nofollow ugc">https://drive.usercontent.google.com/download?id=1cZYZiJGOinmGv5F4XBcrAUCLuOCtK1ve&amp;export=download&amp;authuser=0</a><br />
<img src="/assets/uploads/files/1776258396283-px_ui.png" alt="px_ui.PNG" class=" img-fluid img-markdown" /><br />
<img src="/assets/uploads/files/1776258406076-px_ui2.png" alt="px_ui2.PNG" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.plutonium.pw/post/171089</link><guid isPermaLink="true">https://forum.plutonium.pw/post/171089</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Wed, 15 Apr 2026 13:08:02 GMT</pubDate></item><item><title><![CDATA[Reply to PlutoniumX Auto Game Launcher on Wed, 15 Apr 2026 07:41:43 GMT]]></title><description><![CDATA[<p dir="auto">@MultiplayerXGES I don’t want to bring you down, but I don’t think this is a good way to publish something like this here. The Plutonium launcher is the one that should be used, not one created by some random person when we don’t even know how it’s being executed.</p>
]]></description><link>https://forum.plutonium.pw/post/171081</link><guid isPermaLink="true">https://forum.plutonium.pw/post/171081</guid><dc:creator><![CDATA[Littlegods]]></dc:creator><pubDate>Wed, 15 Apr 2026 07:41:43 GMT</pubDate></item><item><title><![CDATA[Reply to PlutoniumX Auto Game Launcher on Wed, 15 Apr 2026 01:33:28 GMT]]></title><description><![CDATA[<p dir="auto">Thank you! I will post a link for it soon. Just updating one small thing on it tonight</p>
]]></description><link>https://forum.plutonium.pw/post/171072</link><guid isPermaLink="true">https://forum.plutonium.pw/post/171072</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Wed, 15 Apr 2026 01:33:28 GMT</pubDate></item><item><title><![CDATA[Reply to PlutoniumX Auto Game Launcher on Tue, 14 Apr 2026 10:11:07 GMT]]></title><description><![CDATA[<p dir="auto">I got you a rep</p>
]]></description><link>https://forum.plutonium.pw/post/171038</link><guid isPermaLink="true">https://forum.plutonium.pw/post/171038</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Tue, 14 Apr 2026 10:11:07 GMT</pubDate></item></channel></rss>