-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.env.example
145 lines (126 loc) · 3.04 KB
/
.env.example
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
# Server Configuration
PORT=3000
TCP_PORT=3001
NODE_ENV=development
# Database Configuration
DATABASE_URL=postgresql://user:pass@localhost:5432/surge
# Security Settings
JWT_SECRET=your_jwt_secret_here
SESSION_TIMEOUT=86400 # 24 hours in seconds
# Discord Webhook (Optional)
DISCORD_WEBHOOK_URL=your_webhook_url_here
# Matchmaking Configuration
MATCHMAKING_REGIONS={
"NA": {
"name": "North America",
"gameservers": [
"127.0.0.1",
"127.0.0.2"
],
"port": 7777,
"websocket_port": 8080,
"max_players": 100,
"priority": 1
},
"EU": {
"name": "Europe",
"gameservers": [
"127.0.0.3",
"127.0.0.4"
],
"port": 7777,
"websocket_port": 8080,
"max_players": 100,
"priority": 2
},
"OCE": {
"name": "Oceania",
"gameservers": [
"127.0.0.5",
"127.0.0.6"
],
"port": 7777,
"websocket_port": 8080,
"max_players": 100,
"priority": 3
},
"ASIA": {
"name": "Asia",
"gameservers": [
"127.0.0.7",
"127.0.0.8"
],
"port": 7777,
"websocket_port": 8080,
"max_players": 100,
"priority": 4
}
}
# Game Mode Distribution
GAMEMODE_DISTRIBUTION={
"br_solo": 0.4, # 40% of servers
"br_duos": 0.3, # 30% of servers
"br_squads": 0.2, # 20% of servers
"late_game": 0.05, # 5% of servers
"stw": 0.05 # 5% of servers
}
# Game Server Settings
GAMESERVER_AUTH_KEY=your_secure_key_here
GAMESERVER_HEARTBEAT_INTERVAL=30000 # 30 seconds
GAMESERVER_MAX_PING=100 # Maximum acceptable ping in ms
# Region Failover Settings
REGION_FAILOVER_ENABLED=true
REGION_FAILOVER_ORDER={
"NA": ["EU", "OCE", "ASIA"],
"EU": ["NA", "ASIA", "OCE"],
"OCE": ["ASIA", "NA", "EU"],
"ASIA": ["OCE", "EU", "NA"]
}
# Save the World Settings
STW_MISSION_ROTATION=86400 # 24 hours in seconds
STW_VBUCKS_MISSION_CHANCE=0.2 # 20% chance
STW_MAX_POWER_LEVEL=140
STW_STARTING_ZONE=stonewood
# Shop Configuration
SHOP_ROTATION_INTERVAL=86400 # 24 hours in seconds
CATALOG_PATH=./data/catalog
# Rewards Configuration
KILL_REWARD_VBUCKS=5
WIN_REWARD_VBUCKS=50
MISSION_REWARD_GOLD=100
# Arena Settings
ARENA_POINTS_PER_KILL=10
ARENA_POINTS_PER_WIN=100
ARENA_BUS_FARE={
"OPEN": 0,
"CONTENDER": 20,
"CHAMPION": 40
}
# Tournament Settings
TOURNAMENT_AUTO_START=true
TOURNAMENT_CHECK_INTERVAL=3600 # 1 hour in seconds
# Logging Configuration
LOG_LEVEL=DEBUG # DEBUG, INFO, WARN, ERROR
LOG_FILE_PATH=./logs/surge.log
# XMPP Configuration
XMPP_DOMAIN=your.xmpp.domain
XMPP_HOST=localhost
# Feature Flags
ENABLE_TOURNAMENTS=true
ENABLE_ARENA=true
ENABLE_STW=true
ENABLE_VBUCKS_REWARDS=true
ENABLE_AUTO_ROTATION=true
# Performance Settings
MAX_CONNECTIONS=1000
RATE_LIMIT_WINDOW=60000 # 1 minute in milliseconds
RATE_LIMIT_MAX_REQUESTS=100
# Cache Settings
CACHE_TTL=3600 # 1 hour in seconds
CACHE_CHECK_PERIOD=600 # 10 minutes in seconds
# Metrics Collection
ENABLE_METRICS=true
METRICS_INTERVAL=60000 # 1 minute in milliseconds
# Cleanup Settings
SESSION_CLEANUP_INTERVAL=3600 # 1 hour in seconds
MATCHMAKING_CLEANUP_INTERVAL=300 # 5 minutes in seconds