{"id":49,"date":"2025-08-13T16:25:43","date_gmt":"2025-08-13T16:25:43","guid":{"rendered":"https:\/\/ayoocloud.com.br\/blog\/?p=49"},"modified":"2025-08-17T00:07:16","modified_gmt":"2025-08-17T00:07:16","slug":"problema-otserv-tfs-1-3x-abre-e-fecha-imediatamente-no-windows-server-2022-ou-vps","status":"publish","type":"post","link":"https:\/\/ayoocloud.com.br\/blog\/2025\/08\/13\/problema-otserv-tfs-1-3x-abre-e-fecha-imediatamente-no-windows-server-2022-ou-vps\/","title":{"rendered":"Problema: OTServ (TFS 1.3x) Abre e Fecha Imediatamente no Windows Server 2022 (ou VPS)"},"content":{"rendered":"<h3><strong><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\"><span class=\"mycode_b\">O problema<\/span><\/span><\/span><\/span><\/strong><\/h3>\n<p><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">Voc\u00ea tenta abrir seu servidor OTServ (TFS 1.3x) no Windows (geralmente em uma VPS), mas ele fecha sozinho em segundos, sem mostrar erro no console, nos logs ou no sistema.<\/span><\/span><\/span><br \/>\n<span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">Outros servidores at\u00e9 rodam, mas este espec\u00edfico n\u00e3o abre de jeito nenhum.<\/span><\/span><\/span><\/p>\n<h3><span class=\"mycode_size\">A verdadeira causa<\/span><\/h3>\n<p><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">Ao verificar o <span class=\"mycode_b\">Visualizador de Eventos<\/span> do Windows, aparece o erro:<br \/>\n<\/span><\/span><\/span><\/p>\n<blockquote><p>Exce\u00e7\u00e3o de c\u00f3digo: 0xc000001d \u2013 Instru\u00e7\u00e3o ilegal<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<p><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">Isso significa que o OTServ foi\u00a0<span class=\"mycode_b\">compilado com otimiza\u00e7\u00f5es de CPU<\/span>\u00a0que usam instru\u00e7\u00f5es avan\u00e7adas como\u00a0<span class=\"mycode_b\">AVX, AVX2, FMA<\/span>, etc.<\/span><\/span><\/span><br \/>\n<span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">Essas instru\u00e7\u00f5es existem no processador do PC onde voc\u00ea compilou (Windows 10 moderno), mas\u00a0<span class=\"mycode_b\">n\u00e3o existem<\/span>\u00a0no processador da sua VPS (mais antigo ou limitado pela virtualiza\u00e7\u00e3o).<\/span><\/span><\/span><br \/>\n<span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">Resultado: o Windows tenta rodar e&#8230;\u00a0<span class=\"mycode_i\">instru\u00e7\u00e3o ilegal \u2192 fecha o programa<\/span>.<\/span><\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<h3>Como corrigir<\/h3>\n<p><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">Voc\u00ea precisa recompilar o OTServ para que ele use um conjunto de instru\u00e7\u00f5es\u00a0<span class=\"mycode_b\">mais compat\u00edvel<\/span>\u00a0com CPUs antigas.<\/span><\/span><\/span><br \/>\n<span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">Passos no Visual Studio:<\/span><\/span><\/span><\/p>\n<ol class=\"mycode_list\" type=\"1\">\n<li><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">Abra o projeto do OTServ no\u00a0<span class=\"mycode_b\">Visual Studio<\/span><\/span><\/span><\/span><\/li>\n<li><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">No menu, v\u00e1 em\u00a0<span class=\"mycode_b\">Propriedades do Projeto<\/span><\/span><\/span><\/span><\/li>\n<li><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">Escolha:<br \/>\n<\/span><\/span><\/span><\/p>\n<ul class=\"mycode_list\">\n<li><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\"><span class=\"mycode_b\">Configura\u00e7\u00e3o:<\/span>\u00a0Release<\/span><\/span><\/span><\/li>\n<li><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\"><span class=\"mycode_b\">Plataforma:<\/span>\u00a0x64<\/span><\/span><\/span><\/li>\n<\/ul>\n<\/li>\n<li><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">V\u00e1 em\u00a0<span class=\"mycode_b\">Configura\u00e7\u00f5es de C\/C++ \u2192 Gera\u00e7\u00e3o de C\u00f3digo<\/span><\/span><\/span><\/span><\/li>\n<li><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">Localize\u00a0<span class=\"mycode_b\">Habilitar Conjunto de Instru\u00e7\u00f5es Aprimorado<\/span>\u00a0(<span class=\"mycode_i\">Enable Enhanced Instruction Set<\/span>)<\/span><\/span><\/span><\/li>\n<li><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">Altere para:\u00a0<\/span><\/span><\/span><br \/>\nStreaming SIMD Extensions 2 (SSE2) (\/arch:SSE2)Essa \u00e9 a op\u00e7\u00e3o mais compat\u00edvel com praticamente todos os processadores x64 modernos e antigos.<\/li>\n<li><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\"><span class=\"mycode_b\">N\u00e3o use<\/span>\u00a0AVX, AVX2, FMA, etc. \u2014 elas causam exatamente esse erro em CPUs mais antigas.<\/span><\/span><\/span><\/li>\n<li><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">Recompile e envie o novo .EXE\u00a0para a VPS.<\/span><\/span><\/span><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h3><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\"><span class=\"mycode_b\">Por que SSE2 funciona?<\/span><\/span><\/span><\/span><\/h3>\n<p><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">O\u00a0<span class=\"mycode_b\">SSE2<\/span>\u00a0\u00e9 suportado por praticamente todos os processadores x64 desde 2003.<\/span><\/span><\/span><br \/>\n<span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">Ao limitar a compila\u00e7\u00e3o a esse conjunto de instru\u00e7\u00f5es, voc\u00ea garante que o execut\u00e1vel vai rodar tanto em m\u00e1quinas modernas quanto em VPS antigas, evitando o erro de \u201cInstru\u00e7\u00e3o Ilegal\u201d.<\/span><\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\"><span class=\"mycode_b\">Por que SSE2 funciona?<\/span><\/span><\/span><\/span><\/h3>\n<pre><span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">O\u00a0<span class=\"mycode_b\">SSE2<\/span>\u00a0\u00e9 suportado por praticamente todos os processadores x64 desde 2003.<\/span><\/span><\/span>\r\n<span class=\"mycode_color\"><span class=\"mycode_size\"><span class=\"mycode_font\">Ao limitar a compila\u00e7\u00e3o a esse conjunto de instru\u00e7\u00f5es, voc\u00ea garante que o execut\u00e1vel vai rodar tanto em m\u00e1quinas modernas quanto em VPS antigas, evitando o erro de \u201cInstru\u00e7\u00e3o Ilegal\u201d.<\/span><\/span><\/span><\/pre>\n<h3><strong>Como cheguei no problema?.<\/strong><\/h3>\n<pre><span class=\"mycode_size\"><span class=\"mycode_b\">Por que usar o Log de Eventos?<\/span>\r\nQuando um programa fecha inesperadamente, o Windows normalmente registra informa\u00e7\u00f5es detalhadas sobre o motivo, mesmo que o console do programa n\u00e3o mostre nada.\r\nEsses registros ficam no\u00a0<span class=\"mycode_b\">Visualizador de Eventos<\/span>\u00a0(<span class=\"mycode_i\">Event Viewer<\/span>).\r\n<\/span><\/pre>\n<h3><span class=\"mycode_size\"><span class=\"mycode_b\">Onde procurar?<\/span><\/span><\/h3>\n<p><span class=\"mycode_size\">No Visualizador, existem categorias chamadas <span class=\"mycode_b\">Logs do Windows \u2192 Aplicativo<\/span>\u00a0e\u00a0<span class=\"mycode_b\">Logs do Windows \u2192 Sistema<\/span>.<br \/>\n\u00c9 nesses dois lugares que aparecem erros como:<\/span><\/p>\n<ul class=\"mycode_list\">\n<li><span class=\"mycode_size\">Falta de DLLs<\/span><\/li>\n<li><span class=\"mycode_size\">Acesso negado<\/span><\/li>\n<li><span class=\"mycode_size\">Erro de instru\u00e7\u00e3o ilegal (0xc000001d<\/span><span class=\"mycode_size\">)<\/span><\/li>\n<li><span class=\"mycode_size\">Travamentos inesperados<\/span><\/li>\n<\/ul>\n<h3><span class=\"mycode_size\"><span class=\"mycode_b\">O que voc\u00ea vai encontrar?<\/span><\/span><\/h3>\n<p><span class=\"mycode_size\">Mensagens com:<\/span><\/p>\n<ul class=\"mycode_list\">\n<li><span class=\"mycode_size\">Nome do programa (por exemplo,<\/span><span class=\"mycode_size\">otserv.exe<\/span><span class=\"mycode_size\">)<\/span><\/li>\n<li><span class=\"mycode_size\">Nome de DLLs ou arquivos que ele tentou carregar<\/span><\/li>\n<li><span class=\"mycode_size\">C\u00f3digos de erro que indicam a causa do crash<br \/>\n<\/span><\/li>\n<\/ul>\n<h3><span class=\"mycode_size\"><span class=\"mycode_b\">Como isso ajuda no caso do OTServ?<\/span><\/span><\/h3>\n<p><span class=\"mycode_size\">No problema que voc\u00ea descreveu, foi justamente olhando nesse log que apareceu o c\u00f3digo de exce\u00e7\u00e3o <span class=\"mycode_b\">0xc000001d<\/span>, revelando que o execut\u00e1vel estava usando instru\u00e7\u00f5es de CPU incompat\u00edveis com a VPS.<\/span><\/p>\n<h3>Caso for problema de Dll baixe esse Back que ira resolver<\/h3>\n<h3><a class=\"mycode_url\" href=\"https:\/\/mega.nz\/file\/Nr8ABQiB#89hBuZP00gM3uJtlpDXNLO5EF1hbGTJoQeGJIhg5r9M\" target=\"_blank\" rel=\"noopener\">Visual-C-Runtimes-All-in<\/a><\/h3>\n","protected":false},"excerpt":{"rendered":"<p>O problema Voc\u00ea tenta abrir seu servidor OTServ (TFS 1.3x) no Windows (geralmente em uma VPS), mas ele fecha sozinho em segundos, sem mostrar erro no console, nos logs ou [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[49,26,29,11,22],"tags":[54,51,53,52],"class_list":["post-49","post","type-post","status-publish","format-standard","hentry","category-ot-server","category-problemas","category-servidor-dedicado","category-servidor-vps","category-tibia","tag-exe-abre-e-fecha","tag-otserv","tag-tfs","tag-tibia"],"_links":{"self":[{"href":"https:\/\/ayoocloud.com.br\/blog\/wp-json\/wp\/v2\/posts\/49","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ayoocloud.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ayoocloud.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ayoocloud.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ayoocloud.com.br\/blog\/wp-json\/wp\/v2\/comments?post=49"}],"version-history":[{"count":5,"href":"https:\/\/ayoocloud.com.br\/blog\/wp-json\/wp\/v2\/posts\/49\/revisions"}],"predecessor-version":[{"id":98,"href":"https:\/\/ayoocloud.com.br\/blog\/wp-json\/wp\/v2\/posts\/49\/revisions\/98"}],"wp:attachment":[{"href":"https:\/\/ayoocloud.com.br\/blog\/wp-json\/wp\/v2\/media?parent=49"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ayoocloud.com.br\/blog\/wp-json\/wp\/v2\/categories?post=49"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ayoocloud.com.br\/blog\/wp-json\/wp\/v2\/tags?post=49"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}