-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
212 lines (193 loc) · 7.49 KB
/
Copy path.env.example
File metadata and controls
212 lines (193 loc) · 7.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
# =============================================================================
# Copy to .env next to package.json. Do not commit .env.
# Variable names match src/config.ts (IRPG_*).
# =============================================================================
# Public site URL (https, no trailing slash) — used for canonical & Open Graph in public/index.php
# IRPG_PUBLIC_URL=https://your-domain.example
# --- IRC server the bot connects TO (hostname or IP of the IRC network) ---------
IRPG_IRC_HOST=chat.netirc.eu
# IRPG_IRC_HOST=192.0.2.10
# IPv6: IRPG_IRC_HOST=2001:db8::1 or IRPG_IRC_HOST=[2001:db8::1]
IRPG_IRC_PORT=6667
# For TLS on your network use e.g. 6697 and IRPG_IRC_TLS=true
IRPG_IRC_TLS=false
IRPG_IRC_PASSWORD=
# Optional server pass (not SASL): leave empty if not needed
# --- Outgoing socket: which LOCAL IP this machine uses (only if you have several NICs) ---
# If unset, the OS picks the route. This is NOT the IRC server address.
# IRPG_IRC_BIND=203.0.113.10
# IRPG_IRC_BIND=2001:db8::42
# SASL PLAIN (registered account on the network). Both vars required to enable.
# IRPG_IRC_SASL_ACCOUNT=YourRegisteredAccount
# IRPG_IRC_SASL_PASSWORD=your_sasl_password
IRPG_IRC_NICK=IdleRPG
# IRPG_IRC_ALT_NICKS=IdleRPG2,IRPG-Bot
# IRPG_IRC_NICK_SUFFIX_MAX=12
# IRPG_IRC_NICK_MAX_LEN=27
IRPG_IRC_USER=idle
# Real name / WHOIS field; keep in sync with IDLE_RPG_VERSION in src/config.ts
IRPG_IRC_GECOS=IdleRPG V3.0 NetIRC
IRPG_IRC_CHANNEL=#IdleRPG
# If you omit # here, it is added automatically.
# IRPG_IRC_CHANNEL_KEY=channel-key-if-plus-k
# After server registration (001), one raw IRC line — quote if your shell strips spaces:
# IRPG_IRC_CONNECT_CMD=PRIVMSG X@channels.netirc.eu :login botaccount yourpassword
IRPG_IRC_CONNECT_CMD=
# PM flood: max private (non-VERSION) lines per nick per sliding window; 0 = off
# IRPG_PM_FLOOD_MAX=18
# IRPG_PM_FLOOD_WINDOW_MS=10000
# Netsplit grace for likely split QUITs (seconds). 0 = disabled; e.g. 600 keeps session_open for 10 minutes.
# IRPG_NETSPLIT_GRACE_SEC=0
# Timers (classic IdleRPG-style)
IRPG_RPBASE=600
IRPG_RPSTEP=1.16
IRPG_RPPENSTEP=1.14
IRPG_LIMITPEN=604800
IRPG_SELF_CLOCK_MS=1000
IRPG_CASE_SENSITIVE_NAMES=true
# SQLite — bot creates data/idlerpg.db; site.config.php db_path on PHP host must match
IRPG_DB_PATH=./data/idlerpg.db
# Owner character name (gets is_admin; optional)
IRPG_OWNER_ACCOUNT=
# PM admin without a game session: comma-separated IRC nicks (status prefixes ignored)
# IRPG_ADMIN_IRC_NICKS=OperNick,StaffNick
# Require ADMIN over PM to come from a nick currently present in IRPG_IRC_CHANNEL.
IRPG_ADMIN_REQUIRE_IN_CHANNEL=true
# Hand of God chance per server tick (0..1)
IRPG_HOG_CHANCE=0.0008
# Quests & Lucky Hour (optional toggles)
# IRPG_QUEST_ENABLED=true
# IRPG_QUEST_MIN_PLAYERS=4
# IRPG_QUEST_DURATION_SEC=600
# IRPG_QUEST_COOLDOWN_SEC=2700
# IRPG_QUEST_START_CHANCE=0.00035
# IRPG_QUEST_WINNER_MULT=3.5
# IRPG_QUEST_LOSER_MULT=2
# IRPG_LUCKY_HOUR_ENABLED=true
# IRPG_LUCKY_HOUR_DURATION_SEC=540
# IRPG_LUCKY_HOUR_CHANCE=0.1
# V3 expansion mechanics (all optional, feature-flagged)
# IRPG_V3_MODE_ENABLED=false
# IRPG_V3_DAILY_TRIAL_ENABLED=false
# IRPG_V3_DAILY_TRIAL_COOLDOWN_SEC=86400
# IRPG_V3_DAILY_TRIAL_REWARD_SEC=180
# IRPG_V3_DAILY_TRIAL_PENALTY_SEC=90
# IRPG_V3_STREAK_ENABLED=false
# IRPG_V3_STREAK_STEP_SEC=1800
# IRPG_V3_STREAK_REWARD_SEC=15
# IRPG_V3_BOUNTY_ENABLED=false
# IRPG_V3_BOUNTY_TARGET_SEC=5400
# IRPG_V3_BOUNTY_REWARD_SEC=180
# IRPG_V3_BOUNTY_QUIET_SEC=120
# IRPG_V3_SEASON_ENABLED=true
# IRPG_V3_SEASON_EPOCH_SEC=1767225600
# IRPG_V3_SEASON_LENGTH_DAYS=30
# IRPG_V3_SEASON_PASS_XP_PER_MINUTE=6
# IRPG_V3_SEASON_TIER_XP=600
# IRPG_V3_WORLD_BOSS_ENABLED=true
# IRPG_V3_WORLD_BOSS_INTERVAL_SEC=21600
# IRPG_V3_WORLD_BOSS_DURATION_SEC=5400
# IRPG_V3_WORLD_BOSS_HP_PER_LEVEL=140
# IRPG_V3_WORLD_BOSS_REWARD_SEC=240
# IRPG_V3_GUILD_ENABLED=true
# IRPG_V3_GUILD_IDLE_BONUS_PCT=0.01
# IRPG_V3_RELIC_ENABLED=true
# IRPG_V3_RELIC_QUEST_LEVY_REDUCTION_PCT=0.08
# IRPG_V3_RELIC_OMEN_LUCK_BONUS_PCT=0.07
# IRPG_V3_RELIC_STREAK_BONUS_PCT=0.15
# IRPG_V3_PRESTIGE_ENABLED=true
# IRPG_V3_PRESTIGE_MIN_LEVEL=60
# IRPG_V3_PRESTIGE_IDLE_RATE_BONUS_PCT=0.01
# IRPG_V3_QUEST_VARIANTS_ENABLED=true
# IRPG_WEB_CHRONICLE_FILTERS_ENABLED=true
# ---------------------------------------------------------------------------
# V3 gameplay presets (copy one block into your real .env)
# ---------------------------------------------------------------------------
# Recommended start: BALANCED for the first week, then tune by average online population.
#
# [ULTRA_SOFT - best for ~2-8 average online heroes]
# IRPG_V3_MODE_ENABLED=true
# IRPG_V3_DAILY_TRIAL_ENABLED=true
# IRPG_V3_DAILY_TRIAL_COOLDOWN_SEC=86400
# IRPG_V3_DAILY_TRIAL_REWARD_SEC=240
# IRPG_V3_DAILY_TRIAL_PENALTY_SEC=60
# IRPG_V3_STREAK_ENABLED=true
# IRPG_V3_STREAK_STEP_SEC=1200
# IRPG_V3_STREAK_REWARD_SEC=25
# IRPG_QUEST_MIN_PLAYERS=3
# IRPG_QUEST_START_CHANCE=0.00045
# IRPG_QUEST_WINNER_MULT=4
# IRPG_QUEST_LOSER_MULT=1.4
# IRPG_LUCKY_HOUR_DURATION_SEC=660
# IRPG_LUCKY_HOUR_CHANCE=0.11
# IRPG_V3_BOUNTY_ENABLED=true
# IRPG_V3_BOUNTY_TARGET_SEC=4200
# IRPG_V3_BOUNTY_REWARD_SEC=240
# IRPG_V3_BOUNTY_QUIET_SEC=90
#
# [BALANCED - best for ~8-20 average online heroes]
# IRPG_V3_MODE_ENABLED=true
# IRPG_V3_DAILY_TRIAL_ENABLED=true
# IRPG_V3_DAILY_TRIAL_COOLDOWN_SEC=86400
# IRPG_V3_DAILY_TRIAL_REWARD_SEC=600
# IRPG_V3_DAILY_TRIAL_PENALTY_SEC=240
# IRPG_V3_STREAK_ENABLED=true
# IRPG_V3_STREAK_STEP_SEC=1500
# IRPG_V3_STREAK_REWARD_SEC=25
# IRPG_QUEST_MIN_PLAYERS=3
# IRPG_QUEST_START_CHANCE=0.0004
# IRPG_QUEST_WINNER_MULT=3.5
# IRPG_QUEST_LOSER_MULT=2
# IRPG_LUCKY_HOUR_DURATION_SEC=600
# IRPG_LUCKY_HOUR_CHANCE=0.09
# IRPG_V3_BOUNTY_ENABLED=true
# IRPG_V3_BOUNTY_TARGET_SEC=5400
# IRPG_V3_BOUNTY_REWARD_SEC=240
# IRPG_V3_BOUNTY_QUIET_SEC=120
# IRPG_V3_WORLD_BOSS_REWARD_SEC=360
#
# [HARD - best for 20+ average online heroes]
# IRPG_V3_MODE_ENABLED=true
# IRPG_V3_DAILY_TRIAL_ENABLED=true
# IRPG_V3_DAILY_TRIAL_COOLDOWN_SEC=86400
# IRPG_V3_DAILY_TRIAL_REWARD_SEC=120
# IRPG_V3_DAILY_TRIAL_PENALTY_SEC=150
# IRPG_V3_STREAK_ENABLED=true
# IRPG_V3_STREAK_STEP_SEC=2400
# IRPG_V3_STREAK_REWARD_SEC=10
# IRPG_QUEST_MIN_PLAYERS=5
# IRPG_QUEST_START_CHANCE=0.0003
# IRPG_QUEST_WINNER_MULT=3
# IRPG_QUEST_LOSER_MULT=2.5
# IRPG_LUCKY_HOUR_DURATION_SEC=480
# IRPG_LUCKY_HOUR_CHANCE=0.08
# IRPG_V3_BOUNTY_ENABLED=true
# IRPG_V3_BOUNTY_TARGET_SEC=7200
# IRPG_V3_BOUNTY_REWARD_SEC=120
# IRPG_V3_BOUNTY_QUIET_SEC=180
# Ambient channel lines from the bot (ms between messages, 0 = off). Default ~7 min.
# IRPG_IRC_CHAN_BANTER_MS=420000
# IRPG_IRC_CHAN_BANTER_MS=0
# Update channel TOPIC only on season/boss state changes (requires +t/topic privileges).
# IRPG_IRC_TOPIC_ENABLED=true
# Kept for backward compatibility; topic refresh is now event-driven (season/boss state changes).
# IRPG_IRC_TOPIC_INTERVAL_SEC=180
# Optional AI lore (Groq) — assistive text only, never gameplay-critical.
# IRPG_AI_ENABLED=false
# Preferred key variable for this project:
# IRPG_AI_GROQ_API_KEY=
# Or use provider-native variable name:
# GROQ_API_KEY=
# Model defaults to a low-cost fast option; override if desired.
# IRPG_AI_GROQ_MODEL=qwen/qwen3.6-27b
# IRPG_AI_TIMEOUT_MS=8000
# IRPG_AI_MAX_TOKENS=120
# IRPG_AI_LORE_COOLDOWN_SEC=45
# IRPG_AI_BANTER_COOLDOWN_SEC=900
# Express API (local dev). Production site usually uses PHP public/api/ only.
IRPG_API_PORT=3847
IRPG_API_HOST=127.0.0.1
IRPG_CORS_ORIGIN=http://localhost:5173
# Web diagnostics endpoint guard (public/api/php-diag.php):
# default local-only; set true only for short, controlled troubleshooting windows.
# IRPG_PHP_DIAG_ENABLED=false