159 lines
7.0 KiB
C#
159 lines
7.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
using Nettention.Proud;
|
|
using Google.Protobuf.WellKnownTypes;
|
|
|
|
|
|
using ServerCore;
|
|
using ServerBase;
|
|
|
|
|
|
namespace ServerCommon;
|
|
|
|
public static class Constant
|
|
{
|
|
public static readonly System.Guid Version = new("{ 0x3ae33249, 0xecc6, 0x4980, { 0xbc, 0x5d, 0x7b, 0xa, 0x99, 0x9c, 0x7, 0x39 } }");
|
|
|
|
|
|
public static int g_MaxUser { get; set; } = 2000;
|
|
|
|
public static readonly UInt16 SERVER_INFO_NOTIFY_INTERVAL_MSEC = 5000;
|
|
|
|
public static readonly UInt16 ENTITY_UPDATE_INTERVAL_MSEC = 1000;
|
|
public static readonly UInt16 EVENT_UPDATE_INTERVAL_MSEC = 1000;
|
|
public static readonly UInt16 EVENT_UPDATE_INTERVAL_MMIN = 60_000;
|
|
public static readonly UInt16 EVENT_UPDATE_INTERVAL_3_SEC = 3_000;
|
|
public static readonly UInt16 EVENT_UPDATE_INTERVAL_5_SEC = 5_000;
|
|
|
|
// 가방내의 슬롯 버퍼 갯수
|
|
public static readonly Int32 BagSlotDefaultMaxCount = 1000;
|
|
|
|
public static readonly int MAX_SOCIAL_ACTION_SLOT = 6;
|
|
public static readonly int MAX_EMOTION_SLOT = 6;
|
|
public static readonly int MAX_TOOL_SLOT = 4;
|
|
public static readonly int MAX_TATTOO_SLOT = 3;
|
|
|
|
public static readonly int LOGIN_QUEUE_INTERVAL_MSEC = 10;
|
|
public static readonly int RESERVATION_INTERVAL_MSEC = 1_000;
|
|
|
|
public static readonly int COMMON_ITEM_ATTRIBUTE_COUNT = 1;
|
|
public static readonly int RARE_ITEM_ATTRIBUTE_COUNT = 2;
|
|
public static readonly int EPIC_ITEM_ATTRIBUTE_COUNT = 3;
|
|
public static readonly int LEGEND_ITEM_ATTRIBUTE_COUNT = 4;
|
|
|
|
public static readonly int MAX_READ_MAIL_DB_COUNT = 100;
|
|
public static readonly int MAX_MAILSEND_COUNT = 20;
|
|
|
|
public static readonly int KEEP_LOGIN_UPDATE_TIME = (30 * 60 * 1000);
|
|
public static readonly int CHANNEL_UPDATE_TIME = (10 * 1000);
|
|
|
|
public static readonly int NOTICE_CHAT_UPDATE_TIME = 1000;
|
|
|
|
public static readonly int INSTANCE_ROOM_CACHE_REFRESH_INTERVAL_MSEC = (30 * 1000);
|
|
public static readonly int KEEP_LAST_POSITION_TIME = (60 * 1000);
|
|
public static readonly string BOT_CLIENT = "BotClient";
|
|
public static readonly int SEND_MAX_GRID_USER = 100;
|
|
|
|
public static readonly int CHARACTER_RADIUS = 40;
|
|
|
|
public static readonly double WATIQUEUE_PERIOD_SECOND = 1;
|
|
|
|
public static readonly string FRIEND_FOLDER_DEFUALT_NAME = "";//기본 폴더는 빈값으로;
|
|
|
|
public static readonly Timestamp unixEpochTimestamp = Timestamp.FromDateTime(DateTime.SpecifyKind(new DateTime(1970, 1, 1), DateTimeKind.Utc));
|
|
public static readonly DateTime SHOP_DEFINE_TIME = new DateTime(2023, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
|
|
|
public static readonly int SHOP_PRODUCT_CHECK_INTERVAL_MSEC = 100;
|
|
public static readonly int CALIUM_EVENT_CHECK_INTERVAL_MSEC = 100;
|
|
public static readonly int CALIUM_RETRY_CHECK_INTERVAL_MSEC = 5 * 60 * 1000;
|
|
|
|
public static readonly int KEEP_INVITEPARTY_TIME = (10 * 60 * 1000);
|
|
public static readonly int KEEP_PARTY_TIME = (5 * 60 * 1000);
|
|
public static readonly int PARTY_INSTANCE_CREATE_ITEM_ID = 12080001;
|
|
public static readonly int PARTY_SUMMON_LIMIT_DISTANCE = 5;
|
|
|
|
public static readonly int UPDATE_SESSION_TIME = 1; //seconds
|
|
|
|
public static readonly int DRESS_ROOM_INSTANCE_META_ID = 10002;
|
|
public static readonly int EDIT_ROOM_INSTANCE_META_ID = 1017018;
|
|
|
|
public static readonly string LAND_NFT_CONTRACT_ADDRESS = "0xa1452eBB117E254b58fc27da24FF56658CAD7B92"; // TODO: 임시임. 실제 주소 적용 해야됨
|
|
|
|
public static readonly int INSTANCE_ROOM_ID_ELEMENT_COUNT = 3;
|
|
public static readonly int MYHOME_INSTANCE_ROOM_ID_ELEMENT_COUNT = 4;
|
|
|
|
public static readonly string PREFIX_INSTANCE_ROOM_ID = "instance";
|
|
public static readonly string PREFIX_MYHOME_INSTANCE_ROOM_ID = "myhome";
|
|
public static readonly string PREFIX_DRESS_ROOM_INSTANCE_ROOM_ID = "dressroom";
|
|
public static readonly string PREFIX_EDIT_ROOM_INSTANCE_ROOM_ID = "editroom";
|
|
public static readonly string PREFIX_PARTY_INSTANCE_ROOM_ID = "party";
|
|
|
|
public static readonly string PREFIX_GAME_INSTANCE_ROOM_ID = "game";
|
|
|
|
public static readonly string POSTFIX_ONLY_ONE_INSTANCE_ROOM_ID = "onlyone";
|
|
|
|
public static readonly int NORMAL_QUEST_CHECK_INTERVAL_MSEC = 1_000;
|
|
public static readonly int LARGE_PACKET_CHECK_INTERVAL_MSEC = 300;
|
|
public static readonly int LARGE_PACKET_CHECK_WAIT_SEC = 10; //라지 패킷 대기시간 10초
|
|
|
|
public static readonly bool IS_LARGE_PACKET_PROTOCOL_ACTIVE = true; //false면 라지 패킷 미사용 //이 값은 GameConfig같은 걸로 빼서 클라랑 같이 써야될수 있다.
|
|
public static readonly Int32 MAX_PACKET_SIZE = 256_000;
|
|
|
|
public static readonly int SYSTEM_MAIL_CHECK_INTERVAL_MSEC = 60_000;
|
|
public static readonly int P2P_PACKET_DATA_CHECK_INTERVAL_MSEC = 30_000;
|
|
|
|
public static readonly int MATCH_SERVER_LIST_INTERVAL_MSEC = 10_000;
|
|
public static readonly string MATCH_ROOM_PREFIX = "game";
|
|
|
|
public static readonly int MYHOME_WARP_ID = 15;
|
|
public static readonly int DRESSROOM_WARP_ID = 16;
|
|
public static readonly int EDITROOM_WARP_ID = 170018;
|
|
|
|
|
|
public static readonly string NPC_INSENTIVE_META_KEY = "Beacon_Insentive";
|
|
public static readonly string AI_CHAT_FREE_POINT = "free";
|
|
public static readonly string AI_CHAT_DEFAULT_MODEL = "gpt-4o";
|
|
|
|
public static readonly string FARMING_REWARD_SYSTEM_MAIL_META_KEY = "Farming_Reward";
|
|
public static readonly string RENTAL_REWARD_SYSTEM_MAIL_META_KEY = "Product_Name_6";
|
|
|
|
public static readonly string UGQ_INPUT_DATA_TYPE_NAME_TEXT = "UGQInput_Dialog_Text";
|
|
public static readonly string UGQ_INPUT_DATA_TYPE_NAME_ATTRIBUTE = "UGQInput_Dialog_Attribute";
|
|
public static readonly string UGQ_INPUT_DATA_TYPE_NAME_EMOTE = "UGQInput_Dialog_Emote";
|
|
public static readonly string UGQ_INPUT_DATA_TYPE_NAME_ITEM = "UGQInput_Dialog_Item";
|
|
|
|
public static readonly int DEFAULT_SOCIAL_ACTION_WEIGHT = 1;
|
|
public static readonly int HABIT_SOCIAL_ACTION_WEIGHT = 2;
|
|
|
|
public static readonly int QUEST_NOTIFY_CHECK_TIME = (30 * 1000); //30초
|
|
|
|
public static readonly string EXCHANGE_ALL_GAME_NAME = "allgameserver";
|
|
public static readonly string EXCHANGE_GAME_EMPTY = "";
|
|
|
|
public static readonly Int32 FARMING_CHECK_INTERVAL_MSEC = 5_000;
|
|
public static readonly Int32 FARMING_LAST_UPDATE_STORE_INTERVAL_MSEC = 10_000;
|
|
|
|
public static readonly UInt32 USER_CREATE_META_DEFAULT_ID = 1;
|
|
|
|
public static readonly int BUILDING_UPDATE_INTERVAL_MSEC = 60_000;
|
|
|
|
public static readonly int STOPWATCH_LOG_LIMIT_MSEC = 100;
|
|
|
|
public static readonly int LAND_AUCTION_RESERVATION_CONFIGURE_INTERVAL_MSEC = 3 * 60_000;
|
|
|
|
public static readonly int LAND_AUCTION_CHECK_INTERVAL_MSEC = 1 * 60_000;
|
|
|
|
public static readonly int RANKING_SCHESULE_CHECK_INTERVAL_MSEC = 60_000;
|
|
|
|
public static readonly int RANKING_CHECK_INTERVAL_MSEC = 60_000;
|
|
|
|
// 게임 이벤트 업데이트 체크 간격
|
|
public static readonly int GAME_EVENT_CHECK_INTERVAL = 30_000;// 30초
|
|
}
|