Config.java 3.95 KB
Newer Older
Melledy's avatar
Melledy committed
1
2
package emu.grasscutter;

Secretboy's avatar
Secretboy committed
3
import java.util.Locale;
4
5
import emu.grasscutter.Grasscutter.ServerDebugMode;
import emu.grasscutter.Grasscutter.ServerRunMode;
筱傑's avatar
筱傑 committed
6
7
import emu.grasscutter.game.mail.Mail;

KingRainbow44's avatar
KingRainbow44 committed
8
public final class Config {
Melledy's avatar
Melledy committed
9
10
	public String DatabaseUrl = "mongodb://localhost:27017";
	public String DatabaseCollection = "grasscutter";
Jaida Wu's avatar
Jaida Wu committed
11

Melledy's avatar
Melledy committed
12
13
14
15
16
	public String RESOURCE_FOLDER = "./resources/";
	public String DATA_FOLDER = "./data/";
	public String PACKETS_FOLDER = "./packets/";
	public String DUMPS_FOLDER = "./dumps/";
	public String KEY_FOLDER = "./keys/";
17
	public String SCRIPTS_FOLDER = "./resources/Scripts/";
KingRainbow44's avatar
KingRainbow44 committed
18
	public String PLUGINS_FOLDER = "./plugins/";
19
	public String LANGUAGE_FOLDER = "./languages/";
20

21
22
	public ServerDebugMode DebugMode = ServerDebugMode.NONE; // ALL, MISSING, NONE
	public ServerRunMode RunMode = ServerRunMode.HYBRID; // HYBRID, DISPATCH_ONLY, GAME_ONLY
23
24
	public GameServerOptions GameServer = new GameServerOptions();
	public DispatchServerOptions DispatchServer = new DispatchServerOptions();
Secretboy's avatar
Secretboy committed
25
	public Locale LocaleLanguage = Locale.getDefault();
26
	public Locale DefaultLanguage = Locale.ENGLISH;
27

28
	public Boolean OpenStamina = true;
29
30
	public GameServerOptions getGameServerOptions() {
		return GameServer;
Melledy's avatar
Melledy committed
31
	}
32
33
34
35

	public DispatchServerOptions getDispatchOptions() { return DispatchServer; }

	public static class DispatchServerOptions {
36
37
		public String Ip = "0.0.0.0";
		public String PublicIp = "127.0.0.1";
38
		public int Port = 443;
39
		public int PublicPort = 0;
40
		public String KeystorePath = "./keystore.p12";
41
		public String KeystorePassword = "123456";
42
		public Boolean UseSSL = true;
43
		public Boolean FrontHTTPS = true;
44
45
		public Boolean CORS = false;
		public String[] CORSAllowedOrigins = new String[] { "*" };
46
47

		public boolean AutomaticallyCreateAccounts = false;
memetrollsXD's avatar
memetrollsXD committed
48
		public String[] defaultPermissions = new String[] { "" };
49
50
51
52
53
54
55
56
57
58
59
60
61

		public RegionInfo[] GameServers = {};

		public RegionInfo[] getGameServers() {
			return GameServers;
		}

		public static class RegionInfo {
			public String Name = "os_usa";
			public String Title = "Test";
			public String Ip = "127.0.0.1";
			public int Port = 22102;
		}
Melledy's avatar
Melledy committed
62
	}
Secretboy's avatar
Secretboy committed
63

64
65
	public static class GameServerOptions {
		public String Name = "Test";
66
67
		public String Ip = "0.0.0.0";
		public String PublicIp = "127.0.0.1";
68
		public int Port = 22102;
xtaodada's avatar
xtaodada committed
69
		public int PublicPort = 0;
70

71
72
73
		public String DispatchServerDatabaseUrl = "mongodb://localhost:27017";
		public String DispatchServerDatabaseCollection = "grasscutter";

74
75
76
77
78
79
80
		public int InventoryLimitWeapon = 2000;
		public int InventoryLimitRelic = 2000;
		public int InventoryLimitMaterial = 2000;
		public int InventoryLimitFurniture = 2000;
		public int InventoryLimitAll = 30000;
		public int MaxAvatarsInTeam = 4;
		public int MaxAvatarsInTeamMultiplayer = 4;
KingRainbow44's avatar
KingRainbow44 committed
81
		public int MaxEntityLimit = 1000; // Max entity limit per world. // TODO: Enforce later.
82
		public boolean WatchGacha = false;
xtaodada's avatar
xtaodada committed
83
		public String ServerNickname = "Server";
xtaodada's avatar
xtaodada committed
84
		public int ServerAvatarId = 10000007;
85
86
87
88
		public int ServerNameCardId = 210001;
		public int ServerLevel = 1;
		public int ServerWorldLevel = 1;
		public String ServerSignature = "Server Signature";
Melledy's avatar
Melledy committed
89
90
		public int[] WelcomeEmotes = {2007, 1002, 4010};
		public String WelcomeMotd = "Welcome to Grasscutter emu";
91
92
93
		public String WelcomeMailTitle = "Welcome to Grasscutter!";
		public String WelcomeMailSender = "Lawnmower";
		public String WelcomeMailContent = "Hi there!\r\nFirst of all, welcome to Grasscutter. If you have any issues, please let us know so that Lawnmower can help you! \r\n\r\nCheck out our:\r\n<type=\"browser\" text=\"Discord\" href=\"https://discord.gg/T5vZU6UyeG\"/>";
筱傑's avatar
筱傑 committed
94
95
96
97
		public Mail.MailItem[] WelcomeMailItems = {
				new Mail.MailItem(13509, 1, 1),
				new Mail.MailItem(201, 10000, 1),
		};
98

Kengxxiao's avatar
Kengxxiao committed
99
		public boolean EnableOfficialShop = true;
100
101
102
103
104
105
106
107
108
109

		public GameRates Game = new GameRates();

		public GameRates getGameRates() { return Game; }

		public static class GameRates {
			public float ADVENTURE_EXP_RATE = 1.0f;
			public float MORA_RATE = 1.0f;
			public float DOMAIN_DROP_RATE = 1.0f;
		}
Melledy's avatar
Melledy committed
110
111
	}
}