-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
115 lines (97 loc) · 2.92 KB
/
.env.example
File metadata and controls
115 lines (97 loc) · 2.92 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
### Testing ###
TESTING=False
TEST_EMAIL_TOKEN="test_email_token"
TEST_DB_USER=postgres
TEST_DB_PASSWORD=your-secret-db-password
TEST_DB_NAME=beatcode_test
TEST_DB_HOST=localhost
TEST_DATABASE_URL=postgresql://${TEST_DB_USER}:${TEST_DB_PASSWORD}@${TEST_DB_HOST}/${TEST_DB_NAME}
### Signup ###
USERNAME_MIN_LENGTH=3
USERNAME_MAX_LENGTH=20
USERNAME_REGEX="^[a-zA-Z0-9_-]+$"
DISPLAY_NAME_MIN_LENGTH=3
DISPLAY_NAME_MAX_LENGTH=20
DISPLAY_NAME_REGEX=".*"
PASSWORD_MIN_LENGTH=8
### Email ###
RESEND_API_KEY=your-resend-api-key
FROM_EMAIL=noreply@beatcode.dev
FRONTEND_URL=http://localhost:3000
PASSWORD_RESET_TOKEN_EXPIRE=30
### Google OAuth ###
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_REDIRECT_URI=your-client-redirect-uri
### Database ###
DB_USER=postgres
DB_PASSWORD=your-secret-db-password
DB_NAME=beatcode
DB_HOST=localhost
DATABASE_URL=postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}/${DB_NAME}
### JWT ###
SECRET_KEY=your-secret-jwt-key
ACCESS_TOKEN_EXPIRE_MINUTES=15
REFRESH_TOKEN_EXPIRE_DAYS=7
ALGORITHM=HS256
### Code Execution ###
MAX_CONCURRENT="20, 10, 5"
OPENAI_API_KEY="your_api_key_here"
### Docker Settings ###
DOCKER_IMAGE=python:3.11-alpine
DOCKER_IMAGE_PYTHON=beatcode-python:latest
DOCKER_IMAGE_JAVA=beatcode-java:latest
DOCKER_IMAGE_CPP=beatcode-cpp:latest
DOCKER_PYTHON_MEMORY_LIMIT="128, 256, 512"
DOCKER_JAVA_MEMORY_LIMIT="128, 256, 512"
DOCKER_CPP_MEMORY_LIMIT="128, 256, 512"
DOCKER_PYTHON_TIME_LIMIT="2000, 3000, 5000"
DOCKER_JAVA_TIME_LIMIT="15000, 20000, 30000"
DOCKER_CPP_TIME_LIMIT="15000, 20000, 30000"
DOCKER_CPU_LIMIT=0.5
### Game Settings ###
SUBMISSION_COOLDOWN=10
STARTING_HP=100
MATCH_PROBLEM_COUNT=3
MATCH_TIMEOUT_MINUTES=30
STARTING_SP=100
STARTING_MP=100
MANA_RECHARGE=50
# Unranked Problem Distribution #
UNRANKED_PROBS="0.4, 0.3, 0.3"
# HP Deduction Settings
HP_DEDUCTION_BASE=4
HP_MULTIPLIER="1.0, 1.5, 2.0"
### Ranked Settings ###
RATING_K_FACTOR=32
RANK_THRESHOLDS="0, 100, 200, 500, 1200, 1600, 2400"
RANK_NAMES="O(n!), O(2ⁿ), O(n²), O(nlogn), O(n), O(logn), O(1)"
RANK_PROBLEM_DISTRIBUTION="3-0-0, 2-1-0, 1-2-0, 0-3-0, 0-2-1, 0-1-2, 0-0-3" # Only 3 problems per match
### Custom Room Settings ###
ROOM_CODE_LENGTH=6
ROOM_PROBLEM_COUNT=3
ROOM_STARTING_HP=100
ROOM_HP_MULTIPLIER="1.0, 1.5, 2.0"
ROOM_DISTRIBUTION="auto"
ROOM_PROBLEM_DISTRIBUTION="0.4, 0.3, 0.3"
ROOM_UPDATE_THROTTLE=0
ROOM_BASE_HP_DEDUCTION=4
ROOM_STARTING_SP=100
ROOM_STARTING_MP=100
ROOM_MANA_RECHARGE=50
### Practice Mode Settings ###
PRACTICE_DAMAGE_PER_PROBLEM=120
PRACTICE_MAJOR_DAMAGE_MIN=20
PRACTICE_MAJOR_DAMAGE_MAX=40
PRACTICE_MINOR_DAMAGE_MIN=5
PRACTICE_MINOR_DAMAGE_MAX=15
PRACTICE_HEALING_THRESHOLD=80
PRACTICE_HEAL_CHECK_INTERVAL=2
PRACTICE_ACTION_INTERVAL=45
PRACTICE_ADDITIONAL_INTERVAL=15
PRACTICE_READING_SPEED=500
PRACTICE_THINKING_TIME=30
BOT_THINKING_MULTIPLIER="1.0, 2.0, 3.0"
BOT_ACTION_INTERVAL_MULTIPLIER="1.2, 1.0, 0.7"
BOT_DAMAGE_MULTIPLIER="0.8, 1.0, 1.2"
BOT_ABILITY_USE_CHANCE="0.5, 0.4, 0.3"