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
|
{
"gameLocation": "./game/",
"secret": "38F7E3B816EF9F31BFAB8F4C9716C90D106BD85E9D6913FBB4D833C866F837B0",
"simNFS": "./nfs",
"database": {
"connectionString": "server=127.0.0.1;uid=fsoserver;pwd=password;database=fso;"
},
"services": {
"tasks": {
"enabled": true,
"call_sign": "callisto",
"binding": "0.0.0.0:35100",
"internal_host": "127.0.0.1:35",
"public_host": "127.0.0.1:35",
// "certificate": "auth.east.ea.com.pfx",
"schedule": [
{
"cron": "0 3 * * *",
"task": "prune_database",
"timeout": 3600,
"parameter": {}
},
{
"cron": "0 4 * * *",
"task": "bonus",
"timeout": 3600,
"shard_id": 1,
"parameter": {}
},
{
"cron": "0 4 * * *",
"task": "job_balance",
"timeout": 3600,
"parameter": {}
},
{
"cron": "0 9 * * *",
"task": "shutdown",
"timeout": 3600,
"parameter": {}
},
{
"cron": "0 0 * * *",
"task": "neighborhood_tick",
"timeout": 3600,
"run_if_missed": true,
"parameter": {}
},
{
"cron": "0 0 * * *",
"task": "birthday_gift",
"timeout": 3600,
"run_if_missed": true,
"parameter": {}
}
],
"tuning": {
"bonus": {
"property_bonus": {
"per_unit": 10,
"overrides": {
"1": 1500,
"2": 1250,
"3": 1000
}
},
"visitor_bonus": {
"per_unit": 8
}
},
"birthdayGift": {
"items": [
{
"age": 1000,
"guid": 1303919565,
"mail_subject": "1000 Days!",
"mail_message": "This is an example gift that shows how birthday gifts can be awarded by the server at different milestones - this one is for 1000 days. Please change this message. Or leave it the same, I don't mind.\n - Rhys",
"mail_sender_name": "FreeSO Developers"
}
]
}
}
},
"userApi": {
"enabled": true,
"bindings": [
"http://+:9000/"
],
// "cdnUrl": "http://0.0.0.0:9000",
"maintenance": false
},
"cities": [
{
"call_sign": "ganymede",
"id": 1,
"binding": "0.0.0.0:33100",
"internal_host": "127.0.0.1:33",
"public_host": "0.0.0.0:33",
// "certificate": "auth.east.ea.com.pfx",
"neighborhoods": {
"mayor_elegibility_limit": 4,
"mayor_elegibility_falloff": 4,
"min_nominations": 2,
"election_week_align": true,
"election_move_penalty": 14
}
}
],
"lots": [
{
"call_sign": "europa",
"binding": "0.0.0.0:34100",
"internal_host": "127.0.0.1:34",
"public_host": "0.0.0.0:34",
// "certificate": "auth.east.ea.com.pfx",
"max_lots": 25,
"cities": [
{
"id": 1,
"host": "127.0.0.1:33100"
}
]
}
]
}
}
|