Sunucu tanitimi

Add 2 tutorials (2 files)

Browse Source
Daemon666 committed parent 3b1c7a22f2 commit 5967910014a260c21a60a62727af49e5a117de28
2 changed files with 114 additions and 0 deletions
+56 -0 fix-admin-not-recognized/en.md A
@@ -0,0 +1,56 @@
1 +---
2 +title: "Fix: I'm Not Getting Admin Rights (users.ini Ignored)"
3 +excerpt: "Why AMX Mod X does not recognise your admin - SteamID vs name-based auth, Reunion/non-Steam IDs, account flags, and the amx_reloadadmins step - diagnosed the way admins actually break."
4 +category: "errors"
5 +tags: "users.ini, admin"
6 +image: ""
7 +read_time: "8 min read"
8 +---
9 +<p>You added yourself to <code>users.ini</code>, restarted, and you still have no admin. AMX Mod X admin auth is precise about three things: the identity string, the password column, and the account flags that decide <em>how</em> that identity is matched. If any one is off, or if your server authenticates players by a different identity than the one you wrote down, the whole line is ignored. Here is how to diagnose it the way it actually fails.</p>
10 +
11 +<h2>1. Know which file and which format</h2>
12 +<p>Admins live in <code>addons/amxmodx/configs/users.ini</code>. Each line is:</p>
13 +<pre>"identity" "password" "access flags" "account flags"</pre>
14 +<p>A typical SteamID admin with full access and SteamID auth:</p>
15 +<pre>"STEAM_0:1:12345678" "" "abcdefghijklmnopqrstu" "ce"</pre>
16 +<p>The fourth column is the <strong>account flags</strong> and it decides <em>how</em> the identity is matched: <code>c</code> = match by SteamID, <code>d</code> = match by IP, <code>a</code> = no password required, <code>e</code> = the identity is a SteamID. Getting this column wrong is the single most common reason a correct-looking line does nothing.</p>
17 +
18 +<h2>2. Find your real identity string</h2>
19 +<p>Do not guess your SteamID. Connect to the server and, on the server console, run:</p>
20 +<pre>amx_who</pre>
21 +<p>It lists every connected player with the exact <code>authid</code> AMXX sees for them. Copy that string verbatim into column one. On a <strong>non-Steam</strong> server this matters enormously: whether players get a real <code>STEAM_</code> ID or a pending ID depends on your setup. If you run Reunion for non-Steam clients, Reunion must be configured with a <code>SteamIdHashSalt</code> of at least 16 characters or it will not produce stable SteamIDs at all, and everyone shows as pending — no stable ID means SteamID admin auth cannot work.</p>
22 +
23 +<h2>3. Match the auth method to the flags</h2>
24 +<p>If <code>amx_who</code> shows you as <code>STEAM_0:1:...</code>, use SteamID auth:</p>
25 +<pre>"STEAM_0:1:12345678" "" "abcdefghijklmnopqrstu" "ce"</pre>
26 +<p>If your players do not have stable SteamIDs (a non-Steam server without proper Reunion IDs), fall back to name+password auth:</p>
27 +<pre>"MyAdminName" "mypassword" "abcdefghijklmnopqrstu" "a"</pre>
28 +<p>With name+password the admin must set the password client-side with <code>setinfo _pw "mypassword"</code>, and you drop the <code>e</code>/<code>c</code> flags. Mixing the two — a SteamID in column one but an <code>a</code> account flag, or a name with <code>ce</code> — is a guaranteed silent failure.</p>
29 +
30 +<h2>4. Reload without a full restart</h2>
31 +<p>AMXX does not re-read <code>users.ini</code> on its own. After editing, run on the server console:</p>
32 +<pre>amx_reloadadmins</pre>
33 +<p>Then reconnect (the check runs at connect/putinserver). If you edited the file but never reloaded, of course nothing changed.</p>
34 +
35 +<h2>5. Confirm the access flags are the ones you think</h2>
36 +<p>The access-flags string maps to specific powers (kick, ban, slay, cvar, rcon, menu, and so on) plus <code>u</code> for the custom/menu access most plugins require. The letters <code>abcdefghijklmnopqrstu</code> grant everything. If a command "does not work" for you specifically, you may hold admin but lack the flag that command requires — check the command's required flag in that plugin's config rather than assuming your line is broken.</p>
37 +
38 +<h2>6. Are your admins even coming from users.ini?</h2>
39 +<p>AMXX can load admins from a database instead of the flat file. If <code>admin_sql.amxx</code> is in your <code>plugins.ini</code> (and <code>admin.amxx</code> is the file-based one), your admins are read from MySQL/SQLite, and edits to <code>users.ini</code> do nothing at all. Check which admin plugin is active:</p>
40 +<pre>amxx plugins
41 +amx_cvar amx_mode</pre>
42 +<p>If <code>admin_sql</code> is running, add yourself to the <code>admins</code> table (or disable it and use the file). Turning up AMXX's logging also shows exactly why a line was rejected: set the map-config or console to a higher log level and reconnect, and the auth decision is written to <code>addons/amxmodx/logs/</code>.</p>
43 +
44 +<h2>Common errors</h2>
45 +<ul>
46 +<li><strong>Line looks perfect, still no admin</strong> — the account-flags column does not match the identity type (SteamID with <code>a</code>, or name with <code>ce</code>). Align them.</li>
47 +<li><strong>Works on Steam, not on non-Steam</strong> — no stable SteamID. Fix Reunion's <code>SteamIdHashSalt</code> (16+ chars) or switch that admin to name+password.</li>
48 +<li><strong>Changes ignored entirely</strong> — you never ran <code>amx_reloadadmins</code>, or you edited a <code>users.ini</code> in the wrong game folder.</li>
49 +<li><strong>Some commands work, others say no access</strong> — you are an admin but missing the specific flag; not a users.ini bug.</li>
50 +<li><strong>Everyone is admin</strong> — a stray line with an empty identity or a wildcard, or a second admin plugin. Audit the whole file.</li>
51 +</ul>
52 +
53 +<h2>Verification</h2>
54 +<p>Reconnect, then on the server console run:</p>
55 +<pre>amx_who</pre>
56 +<p>Your row should show your access flags filled in rather than empty. In-game, open the admin menu (<code>amx_help</code> lists what you can run) or try a low-risk command like <code>amx_map</code> from <a href="/plugins/csb-admin-menu">the admin menu</a>. If <code>amx_who</code> shows the flags but a command still refuses, it is a per-command flag issue, not an auth failure — and if the flags are still empty, your identity string or account-flags column is still wrong.</p>
+58 -0 fix-steamcmd-no-subscription/en.md A
@@ -0,0 +1,58 @@
1 +---
2 +title: "Fix: SteamCMD 'Failed to install app 90 (No subscription)'"
3 +excerpt: "The 'No subscription' error on app 90 almost always means you logged into SteamCMD with a personal account instead of anonymous. Here is the correct install command and the other causes."
4 +category: "errors"
5 +tags: "steamcmd, appid-90"
6 +image: ""
7 +read_time: "7 min read"
8 +---
9 +<p>You try to download the CS 1.6 dedicated server and SteamCMD stops with:</p>
10 +<pre>Error! App '90' state is 0x... after update job.
11 +Failed to install app '90' (No subscription)</pre>
12 +<p>"No subscription" means the Steam account you are logged in as does not own a licence for App&nbsp;90. The near-universal cause is logging in with your <em>personal</em> Steam account. App&nbsp;90 (Half-Life Dedicated Server) is an anonymous app &mdash; personal accounts generally do not have a subscription to it, so Steam refuses. The fix is to log in anonymously.</p>
13 +
14 +<h2>1. Log in as anonymous, not your account</h2>
15 +<p>Run SteamCMD with <code>+login anonymous</code>. This is the single most common fix:</p>
16 +<pre>./steamcmd.sh +force_install_dir /home/steam/hlds \
17 + +login anonymous \
18 + +app_set_config 90 mod cstrike \
19 + +app_update 90 validate \
20 + +quit</pre>
21 +<p>If you had previously logged in with a personal account, SteamCMD may have cached that session. Force it back to anonymous, and if it still uses the old login, clear the cache (step 3). Note the ordering of arguments too: <code>+login anonymous</code> must come <em>before</em> <code>+app_update 90</code>, because SteamCMD executes them left to right and the app command needs an active session to run against. A command with the login placed after the update authenticates too late and fails.</p>
22 +
23 +<h2>2. Set the mod explicitly</h2>
24 +<p>App&nbsp;90 is a multi-mod app; CS 1.6 ships as the <code>cstrike</code> mod inside it. <code>app_set_config 90 mod cstrike</code> tells SteamCMD which mod to pull. Without it, the anonymous download frequently grabs only the base Half-Life files and skips <code>cstrike/</code>, which looks like a partial "No subscription"-style failure even when it is not. Always include it, and run the whole command <strong>twice</strong> &mdash; App&nbsp;90's anonymous download is notorious for completing the base content on the first pass and filling in <code>cstrike/</code> only on the second.</p>
25 +
26 +<h2>3. Clear a poisoned session or manifest</h2>
27 +<p>If anonymous login still errors, a stale cached login or a broken app manifest is the cause. Remove the cache and retry:</p>
28 +<pre>rm -rf ~/Steam/appcache
29 +rm -f /home/steam/hlds/steamapps/appmanifest_90.acf</pre>
30 +<p>Then re-run the anonymous command from step 1. Deleting <code>appmanifest_90.acf</code> forces SteamCMD to re-evaluate the install from scratch rather than trusting a corrupt state file.</p>
31 +
32 +<h2>4. Rule out a genuinely broken download server</h2>
33 +<p>Occasionally the error is transient &mdash; a Steam content server in your region is failing. Two things help:</p>
34 +<ul>
35 +<li>Re-run the command; <code>app_update</code> resumes and often succeeds on the next attempt.</li>
36 +<li>If it fails repeatedly at the same point, the download is interrupted, not unlicensed &mdash; a state like <code>0x402</code> means the transfer stopped, and re-running resumes cleanly.</li>
37 +</ul>
38 +<p>You can also point SteamCMD at a specific content-server region if your default one is unhealthy, but for App&nbsp;90 that is rarely necessary &mdash; the anonymous login fix resolves the overwhelming majority of "No subscription" reports.</p>
39 +
40 +<h2>5. Not a Steam Guard problem</h2>
41 +<p>Because the error mentions accounts, people sometimes chase Steam Guard, two-factor codes, or password resets. None of that applies here: App&nbsp;90 is an anonymous app and the <em>correct</em> account is no account. If SteamCMD is prompting you for a Steam Guard code, you are still trying to log in with a personal account &mdash; stop, and use <code>+login anonymous</code>. There is no scenario where downloading the CS 1.6 dedicated server requires your personal credentials.</p>
42 +
43 +<h2>6. Do not confuse it with the 32-bit runtime error</h2>
44 +<p>"No subscription" is a <em>download</em> failure. If the download succeeds but the server will not <em>start</em>, that is a different problem &mdash; usually missing 32-bit libraries, not a subscription issue. See <a href="/tutorials/install-cs16-dedicated-server-linux-steamcmd">the full Linux install guide</a> for the multilib packages HLDS needs.</p>
45 +
46 +<h2>Common errors</h2>
47 +<ul>
48 +<li><strong><code>Failed to install app '90' (No subscription)</code></strong> &mdash; you logged in with a personal account. Use <code>+login anonymous</code>.</li>
49 +<li><strong>Downloads Half-Life but no <code>cstrike/</code></strong> &mdash; missing <code>app_set_config 90 mod cstrike</code>, or you only ran the command once. Add it and run twice.</li>
50 +<li><strong>Anonymous still shows old login</strong> &mdash; cached session; delete <code>~/Steam/appcache</code> and retry.</li>
51 +<li><strong><code>0x402</code> after update job</strong> &mdash; interrupted download, not a licence problem; re-run to resume.</li>
52 +</ul>
53 +
54 +<h2>Verification</h2>
55 +<p>The install is complete only when the mod files exist, not when SteamCMD prints "Success". Check:</p>
56 +<pre>ls /home/steam/hlds/cstrike/liblist.gam
57 +ls /home/steam/hlds/hlds_run /home/steam/hlds/hlds_linux</pre>
58 +<p>All three must be present. <code>liblist.gam</code> is what tells the engine which game library to load; if it is missing, the <code>cstrike</code> mod did not download and you must re-run the anonymous command with <code>mod cstrike</code> set. Once those files exist, proceed to <a href="/tutorials/install-rehlds-on-linux">installing ReHLDS</a>.</p>
0 59