Jump to content
Notícia
  • News ticker sample
  • News ticker sample

Search the Community

Showing results for tags 'server'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Anunciantes
    • Advertise here
    • silvaBR Cheats
    • Astaroth Medium
  • ################## WEB CHEATS ##################
  • Anúncios/Eventos
    • Regras
    • Anúncios
    • Eventos do fórum
  • Feedback & Suporte
    • Tutoriais WC
    • Suporte
    • Sugestões
    • Denúncias e Reclamações
    • Depósito
  • WebCheats Premium
    • Trackers & Warez
    • Download
    • Cracking & Serviços Pagos
    • MarketPlace
    • Conteúdo Adulto
    • Taverna WebCheats Premium
    • WebCheats Premium - Lixeira
  • Shooter Zone
  • RPG/MOBA Zone
  • Outros Games Zone
  • Design Zone
  • Info Zone
  • Video Games Zone
  • ################## WEB CHEATS ##################
  • Entretenimento & Diversão
  • 【FREE FIRE】▄︻┻┳═一's Fórum do Clube
  • teste's Tópicos

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Discord


Idade

 
or  

Found 66 results

  1. - Servidor Médium Easy - Episódio 22 Server Info XP 1000x SkiLL 1000x Craft 10x Alzes 100x Drop Rate 2x Drop por Mob 2x Pet XP 50x TG a Cada 3 Horas Não vendemos Set Cash, Não vendemos Armas Cash - Lv Inicial 1 - Grau de Classe Inicial 20 - Aprimora até +10 sem Falha - NPC Editados Em Deserto - Criando Personagem começa Transcedente - Criando Personagem começa com 2005 Pontos - Compre Amuleto Arionel com alzes e sole dgs etc... Buff de GM Automático relogue e ganhe Buff de GM - Eventos Ativos - Token - Aprimorar SigMetal - Feliz Natal derrote noel e drope items e troque por fantasias etc... - Natalino drop x3 no canal 1, drope 3 items por mob, derrote boneco de neve e casal boneco de neve e drope items, Wexp, troque por fantasias etc... Novas Fantasias Novos Pets Novas Dgs e Dx Novo Mapa Floresta Mutante 2 Novo Mapa Senillinia Novos Buffs Novas Skills Classes Balanceadas Farme de Alzes na Estação Ruina (Tropa) no canal 2 dropa Moeda de Prata Grupo do facebook: https://www.facebook.com/groups/728951550947519/ Página do facebook: https://www.facebook.com/cabal.revenge/ Site: http://revenge-cabal.ml/site
  2. Algum server parecido com EXTREME? OU TWO BR? OU REALESE DISPONIVEL PORFAVOOOOR Pelo amor de Deus to com mt sdd de server desse estilo era 6,58 muito foda mt mesmo queria algo parecido Antiga divulgaçao deles wyd twobr : https://www.webcheats.com.br/topic/1934313-wyd-two-br-658/ https://www.webcheats.com.br/topic/1771342-wyd-two-br/ wyd xtreme: https://www.webcheats.com.br/topic/629813-wyd-xtreme-659/?tab=comments#comment-3163204
  3. Welcome to Cortex! Our community was founded in 2018 with the aim of providing a fun and quality game that we are guaranteed to provide to all of our servers with a very high quality and serious administrative team. Why Cortex ? Our servers have the lowest ping at balkan, custom worked plugins and modules for the best gameplay. Our servers has full support for steam beta cs 1.6 visit and enjoy the newspapers available only with us. Each admin after two months spent with us he gets steam cs (if has not). Each steam player get auto slot on connect. Visit our forum if you want admin, slot, or unban request. Forum: https://cortex-cs.com/ Join our teamspeak3, talk/chat with our admin team! TS3 address: cortex.teamspeak.network Join our discord channel, talk/chat with our admin team! Servers: Name: Cortex Industry 1000FPS Mod: Public Server status: Slots: 32 IP address: 193.105.163.202:27052 Name: Cortex AWPro Arena [1000FPS] Mod: AWP Server status: Slots: 20 IP address: 193.105.163.202:27036 Name: Cortex Zombie BaseBuilder 6.5.1 [FDL+Points+VIP+LEVEL] Mod: BaseBuilder Server status: Slots: 32 IP address: 176.57.188.43:27017 Name: Cortex CoD:MW4 [VIP+FDL+CLASSES 00-09] Mod: CoD Server status: Slots: 32 IP address: 176.57.188.42:27016 Name: Cortex KREEDZ Mod: KreedZ Server status: Slots: 12 IP address: 91.150.80.61:27101 Name: [BlaBla] DM+HS FFA | www.cortex-cs.com Mod: DeathMatch Server status: Slots: 22 IP address: 193.105.163.202:27027
  4. Server Novo de rankup 1.8.x precisando de novos membros, staff, yt. Ip: nevernetwork.pvp.host discord: discord.gg/FEa4VVc -RankUP - Sitema de PETS -Sistema de Máquinas -Encantamentos ops -Eventos Diários -Economia Baseada em máquinas/plantações
  5. Servidor 100% Brasileiro, Com Slimefun Pets Ranks McMMO e Muito Mas, Staff dedicada a Ajudar a Todos, em todos os detalhes. Nosso Servidor é 1 Survival-RPG c... Ip do server 1.12.2: BrasilCraft.reis.host https://discordapp.com/invite/tGaPJ9R Entre Também em Nossas Redes Sociais. Youtube: https://www.youtube.com/channel/UCqSgKM56TZTQZln-FAzSZdA Facebook: https://www.facebook.com/BrasilCraft/ Instagram: https://www.instagram.com/servidor_brasilcraft/Instagram: https://www.instagram.com/servidor_brasilcraft/ Site De Voto: https://minecraft-mp.com/server-s217164
  6. Olá, hoje venho apresentar a vocês o meu servidor Pixelmon, tanto para quem tem client crackeado, quanto o original. • Nome do Servidor - Os Camaradas • IP - oscamaradas.reis.host • Anti-Griefing • Servidor 24/7 • Starter Shiny • Discord com Regras, comandos e ajuda • Eventos todos os dias • Economia e Trabalhos REGRAS: 1- NÃO DESTRUIR SPAWN OU QUALQUER CONSTRUÇÃO RELACIONADA A ÁREAS PÚBLICAS(COMO A MESA DE ENCANTAMENTO) 2- NÃO FLOODAR 3- NÃO ROUBAR DE NINGUÉM 4- NÃO PEDIR ITENS 5- NÃO PEDIR CARGOS 6- NÃO XINGAR NINGUÉM 7- NÃO CONSTRUA PLANTAÇÕES OU ÁREAS GRANDES PERTO DO SPAWN ISSO PODE DAR LAG E COMPROMETER A EXPERIÊNCIA DE ALGUNS. Caso você seja um fã de Pokémon, mas não sabe como conseguir o Technic, nós ajudamos em nosso discord. https://discord.gg/TFzzAJN
  7. - Servidor Médio / Easy - Servidor Episódio 8 com modificações - Servidor a quase 6 meses ONLINE Server Info XP 300x SkiLL 300x Craft 30x Alzes 50x Drop Rate 2x Drop por Mob 2x Pet XP 80x WEXP 90x - Grau de Classe Inicial 20 - Aprimora até +9 sem Falha - NPC Editados Em Tundra - Kit Iniciante Ósmio 7% Amp +9, Elmos, Armas com 31% Danos no NPC em Tundra - Eventos Ativos - Aprimorar é Preciso SigMetal - Modo de Batalha 3 (BM3) - Local de Farme de Alzes na Floresta Mutante dropa 800 k de alzes no mob Ectofolha Santuario Profano dropa 800 k de alzes no mob Duelista Fantasma Página do facebook: https://www.facebook.com/Cabal.Infinity.Online/ Grupo do facebook: https://www.facebook.com/groups/125542244905250/ Site: http://cabalinfinity.ml/site
  8. Basilios UP - RankUP OP *1.8* * Sistemas Inovadores mais de 80 Plugins ativos * Mais de 70 Ranks para você se divertir * 4 Tipos de Vips com preços justos * Eventos: SorteioVip, Drop, PvP, GvG, etc * Servidor criado dia 10/09 * Em Constante atualização, dia apos dia * Possuímos Vagas na STAFF * Mina OP sendo criada com Maquinas free, porem o PvP rola junto, seja forte e defenda seu loot * Maquinas e Spawners * Loja exclusiva com venda de spawners por itens * Areá VIP + Loja ( Loja sendo Config ) * R$1,00 = 1 Ponto Cash * IP: basiliosup.reis.host * Links: Loja: http://pagcraft.com.br/basiliosup/ Discord: https://discord.gg/jguwjsX
  9. Olá! Estão bem? Eu to Então Vc que curte um bom server de full pvp você acabou de achar!!!!! Seguinte o Server Roda na 1.7x e 1.8x Em Por enquanto FullPvP Logo Logo SkyWars Aberto Pra Vcs! Estamos a Comprar Uma Host Nova! Para Melhorar O Server Para Vocês, Estamos Buscando Trazer O Melhor Possivel Para Os Nossos Players! O Servidor Logo Logo Tera Um WebSite Para Poderem Comprar Vips e Tudo mais! Estamos Trabalhando para Desenvolver Um Servidor Otimo Para Vocês! O Server Ta Vindo Pra Competir Com Muitos! Estamos Com Uma Equipe De Qualidade empenhando o Maximo Possivel Para Fazer O Server O Melhor! Venham Conhecer Nossa Network! Espero Por Vocês! Atenciosamente: Rdsz IP: beardcraft.batt.host Venham Participar Desse Server Maravilhoso! <3
  10. Recrutamento de Equipe Bom momento, meus amigos. Entrei no fórum somente com o objetivo de recrutar uma pequena equipe para o desenvolvimento de um servidor de Minecraft. Eu já não estou envolvido com o mundo dos games há muito tempo - desde que comecei a faculdade há 3 anos - mas desejo retornar. No entanto, por ter pouco tempo disponível estarei dessa vez entrando como investidor e administrador. A equipe ficará responsável pelas tarefas restantes e por isso terão recompensas pelos seus serviços. Deixo claro que não busco desenvolver o servidor para lucro próprio. Se o mesmo for capaz de pagar a hospedagem e os funcionários (equipe) por mim já estará ótimo. Qualidades necessárias: Conhecimentos à respeito de desenvolvimento e hospedagem (JAR, plugins, FTP, etc) Noções de marketing (promoções, divulgação, comunicação, gestão, etc) Noções de webdesign (desenvolvimento de fórum, website, arte promocional, etc) Conhecimentos práticos à respeito do game em questão (comandos, gestão in game, etc) Capacidade analítica (necessária para análise prévia das possibilidades de desenvolvimento e outras questões para melhor rendimento no futuro) Deixo claro que não é necessário ter todas as qualidades, mas quanto maior a quantidade de áreas que a pessoa conseguir abranger maiores as possibilidades de entrar para a equipe. Então, se você é suficientemente qualificado em uma das áreas citadas entre em contato comigo. O contato deve ser realizado através do meu Skype (snoking.daisuke) ou Discord (sn0#4543). Lembrando que sou bem rigoroso e cuidadoso, logo, venha preparado.
  11. Busco interessados em abrir um servidor wyd profissional : Mantenedores de server, preciso de apenas 2, cada um contribuindo com o valor minimo de R$ 50 reais mês, o dinheiro que entrar no donate vai ser dividido entre os mantenedores. ( eu vou entrar como mantenedor também ). (1) Um programador, vai receber conforme a carga do server. Obs: Apenas entrem em contato pessoas sérias que desejam trabalhar pesado no server, não aceito inexperientes. Apenas maiores de 18 anos Enviar sua experiência no email : [email protected]
  12. >> Lineage 2 Tormenta << Inauguração em breve! Medium Rates (15x) Max Enchant 20! Versão Interlude Classic balanceado! Curta nossa página para ficar por dentro da inauguração! https://www.facebook.com/l2tormenta/
  13. » Nome: Perfect World Dissidia » Versão: 1.5.3 » Rate: Média » Inicia com: ..: Nível: 105 ..: Moeda: 200.000.000 ..: Cultivo: Demoníaco [ Evil 3 ] ..: Alma: Free ..: Cubi Gold: 9999999 (Gold Evento) » Equipamentos: ..: Dusk: Grátis ..: Nirvana UP2: Farme ..: Fama 200K: Farme » Nao contem: ..: Classes Novas ..: War Avatar ..: Astrolábio ..: Desequilibrio » Informações Gerais do Servidor: ..: UP até 9x em 'Boneco de Neve' ..: UP 9x+ em 'Frost' ..: Renascimento[2] 100% Free ..: Todas as Skills Free ..: Refino +12 Free ..: Pedras +12 Free ..: Gshop Completo ..: Farme na DG Toca dos Lobos ..: Farme no Túmulo do Herói ..: Farme na DG Terra dos Imortais ..: Farme de Cristais Nirvana DG 51 Salões Congelados ..: Eventos Diferenciados ..: Invasões na Cidade do Dragão » Facebook ..: https://www.facebook.com/pwdissidia
  14. Preciso de um pessoal pra ajuda a construir só mandar msg aqui ou entrar la e pedir pra ser builder ip: luckrpg.reis.host Slots disponiveis: 150 Só falta a arena e o mundo para as quests tudo configurado ja, é só construir!
  15. Eden Eternal foi um mmorpg de vida curta da Aeria Games. Não é um game muito conhecido mas quem joga sabe o quanto é bom. Vou explicar um pouco do jogo mais abaixo depois dos links ;D Site: https://ee.vendettagn.com/ Fórum: https://forum.vendettagn.com/ OBS: O servidor não é meu, sou apenas um jogador comum :b É um mmorpg multiclassing, ou seja, vc pode alterar sua classe a qualquer momento (61 classes). É justo: não é aqueles private sem graça q vc ja entra e pega tudo, ele é sim mais fácil que o original, mas ainda assim tem seus desafios. Nível não é problema: o server possui bons rates e quando vc chega a um nível alto, ainda terá muita coisa para fazer. O jogo é bonito, e pra quem gosta de items de cosmética vai adorar o que esse jogo tem a oferecer. Não é lagado e tem jogadores de todos os paises (ingles, portugues, espanhol, francês, etc) Possui conteúdo custom (conteúdo adcionado pela staff do servidor). PvP frenético: é aquele pvp que desperta a adrenalina e as vezes faz saltar as veia (pelo menos em Guild vs Guild) Em relação a conteúdo custom, isso é um dos principais motivos para jogarem neste servidor, pois nem o original é melhor... contém novos mapas, dungeons, equipamentos, pets, montarias, trajes, e até as próprias classes são reformadas e re-balanceadas. Bom, não som bom nisso de apresentar um servidor (com certeza ja notaram nisso :b), mas estão todos convidados a jogar comigo, a comunidade BR nesse jogo é muito amigável (só tretam esses fdp, mas tb tem uns gente boa u.u). E quem se interessar no game, pode deixar que acolheremos a todos novos membros e ajudaremos no que for necessário (no jogo é claro). Entre no nosso discord pra bater um papo: https://discord.gg/DxNM94f Um abraço do mano SaaY o/
  16. https://i.imgur.com/se0OFXw.png https://www.facebook.com/OrnosDesigner/
  17. Alguem poderia me ajudar a tirar esse [world] que aparece antes do meu nome olhem ai https://prnt.sc/hl91bn
  18. Olá, Está cansado de jogar Minecraft Vanilla? Está cansado de, monotonamente, ir ao Nether? Apresento-lhe o servidor Modern Age, um modpack survival com mais de 80 mods inclusos, entre eles: Atum Draconic Evolution BigReactors The Twilight Forest ThaumCraft Tinkers Mekanism Botania Clique aqui para a lista completa. SPAWN Informações básicas Servidor Modern Age Versão 1.7.10 Server IP 45.35.54.55:25577 Inauguração 13/11/2017 Fundador SssDk Contato https://discord.gg/JsvsXhd Interessado? Clique aqui para o tutorial de como instalar o modpack. Entre AGORA e garanta sua CAIXA DE LOOT podendo ganhar os seguintes itens:
  19. ~SERVIDOR DE SAMP [RPG] NOVO COM VAGAS DE ADM/HELPER!!!! 11/11 ~ TS: 149.56.93.149:30709 ~ IP: 198.50.207.32:7730 ~ SITE/FÓRUM: http://unitedplay.forumeiros.com/forum
  20. L2 Order VS Chaos Interlude Factions Server Website: http://l2ovc.com Forum: http://l2ovc.com/forums Facebook: https://www.facebook.com/L2OvC/ Opening Date: 07/10/2017 17:00 GMT+3 Promotion Clip: The game play is based on a routine of events which will run constantly one after another, each event has its own unique set of features. The event routine includes Maps, Instances, Mini Events and a chance for a Boss Event at the end of each routine. Players can view Territory Control, Event Statistics, Toplistis and more through the Tablet of Information NPC in town. In addition to the regular events, players can participate in Farm Zone, Mini Games, Olympiad, Siege, World Events and Holiday Events. Maps Longest time events with biggest kind of goals to accomplish. Maps will end faster if their goal is achieved. A raid boss will spawn 5 minutes before the map ends. New Feature : Winning faction will own the map, owning all maps in a certain territory grants special rewards. Instance Events After a map ends an instance event will start. Instance events are divided into 2 realms, each team will get its own realm. The teams are not able to see each other, the first team to complete the instance wins. If none of the team completes the instance in time, the team that made more progress wins. The score bar will show both teams the progression of each team. Mini Events A mini event will start after an instance event. These are usually short time events with small objectives to complete. Boss Events After every mini event there's a chance a grand boss event will start. Chance depends on amount of players online and day of week. There are 2 types of boss events: Team VS Team and Free for All. World Events These type of events are a mimic of the retail ones. World events will run 24/7 and will switch every Friday and Monday. These events will grant extra boost and fun to everyone. Events List :Change of Heart,Heavy Medals,Letter Collector,Master of Enchanting,Playing with Fire,Power of Love,Squish the Squash,Zaken's Curse. Aden Siege Aden Castle will be used as a retail like castle siege, the only one on the server. All clans can participate, the castle siege will take place every Sunday. The siege area is a free for all PvP zone, regardless of player's faction. The clan who will own Aden Castle will receive the following benefits: * +25% XP, +50% SP. * +1 Clan Reputation Point per kill. * Access to Gigantic Chaos Golem Raid Boss. * Castle Crowns and Circlets. * Members who are rank 10 or above can ride a Strider. * Members get special passive skills depending on the territories their faction owns. Holiday Events These type of events will run through holiday seasons. These events will grant extra boost and fun to everyone. Farm Zone Players will be able to join a farm zone (solo or with party) at any time of the day. The farm zone is a free for all PvP zone, so choosing the right time to join is vital. Once joining, players can stay inside until they die once or 1 hour have passed. Besides of being full of monsters, there's also a boss free for all to farm. Buffs * AIO buffer with 7 premade editable schemes. * Option to restore default schemes. * 4 hours buff duration. * Buff slots 20+4. * Summons restore buffs when resummoned. * Buffs kept after death (including toggles). * Cubics casted on self are kept after death and last for 4 hours. * Anti buff griefing system. * Symbols and Event buffs do not take a buff slot. * Cancelled buffs return after 7 seconds. Holiday Events These type of events will run through holiday seasons. These events will grant extra boost and fun to everyone. PvP * PvP rewards with EXP/SP/Adena/Items which players can use to make progress ingame. * Players get rewarded according to damage done on enemies when they die. * Players can be spoiled for extra rewards. * Debuffs and heals also count as damage. * Players get rewarded for resurrecting (limited to 5 minutes per player). Features * Starting level 76 with 3rd class (including sub classes). * Max level 80 (including sub classes). * Free class change and subclass. * Starting gear B-grade. * Unique rank system with rewards. * Global vote reward system for Adena. * Personal vote reward system for temporary passive skill. * Double EXP/SP event at random times during the day. * Killing spree system. * Events voting system. * Full GM shop with gifts system. * Toggles for CP/HP/MP instead of potions. * Offline shops with dedicated store zone. * Trade chat is faction only chat. * Shout and Hero chats will show player's faction. * Free warehouse and freight. * 10 seconds spawn protection. * Increased weight/inventory/private store slots. Website: http://l2ovc.com Forum: http://l2ovc.com/forums Facebook: https://www.facebook.com/L2OvC/
  21. PAULISTAOT! Um novo servidor foi lançado ultimamente; Ainda contamos com pouquíssimos players, e é por isso que venho chamar vocês para curtir conosco! O servidor conta com todo o sistema de imbuement, refinamento, prey, montaria, etc. Tudo 100%, sem bugs! Acessos liberados à Goroma, Roshamuul, Oramond e muito mais! Eventos frequentes e Staff ativa! SITE: http://paulistaot.com/
  22. Servidor está 90% pronto, mas precisamos colocar loja de cash e evento dentro do jogo no client ingame. Alguem se disponibilizar em ajudar agradeceria muito. Vagas na equipe. Ja temos capture the flag - modo infected - antilead - antihack - itens - website - entrada web - designer - divulgadores. Forum também está pronto. Skype: correnooboficial Obrigado.
  23. Visão geral Vamos analisar quatro aplicações de rede, escritas completamente a partir do zero em Java. Veremos que podemos escrever esses programas sem qualquer conhecimento das tecnologias (que incluem recursos do sistema operacional, roteamento entre redes, pesquisa de endereços, mídia de transmissão física, etc.) Cada um desses aplicativos usa o paradigma cliente-servidor, que é Um programa, chamado de blocos de servidor à espera de um cliente para se conectar a ele Um cliente conecta-se O servidor e o cliente trocam informações até que elas estejam concluídas O cliente e o servidor fecham a conexão As únicas informações de fundo que você precisa são: Os hosts têm portas, numeradas de 0-65535. Os servidores ouvem em uma porta. Alguns números de porta são reservados para que você não possa usá-los quando você escreve seu próprio servidor. Vários clientes podem se comunicar com um servidor em uma determinada porta. Cada conexão de cliente é atribuída um soquete separado nessa porta. Os aplicativos cliente obtêm uma porta e um soquete na máquina cliente quando se conectam com êxito a um servidor. As quatro aplicações são Um servidor de data trivial e cliente, ilustrando a comunicação unidirecional simples. O servidor envia dados somente para o cliente. Um servidor de capitalização de cliente, ilustrando comunicação bidirecional. Uma vez que o diálogo entre o cliente e o servidor pode compreender um número ilimitado de mensagens para frente e para trás, o servidor é encadeado para atender a vários clientes de forma eficiente. Um jogo da velha de dois jogadores, ilustrando um servidor que precisa acompanhar o estado de um jogo, e informar cada cliente dele, para que eles possam atualizar seus próprios monitores. Um aplicativo de bate-papo multiusuário, no qual um servidor deve transmitir mensagens para todos os seus clientes. Um Servidor de Client O Server [spoiler=DateServer.java] package edu.lmu.cs.networking; import java.io.IOException; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Date; /** * A TCP server that runs on port 9090. When a client connects, it * sends the client the current date and time, then closes the * connection with that client. Arguably just about the simplest * server you can write. */ public class DateServer { /** * Runs the server. */ public static void main(String[] args) throws IOException { ServerSocket listener = new ServerSocket(9090); try { while (true) { Socket socket = listener.accept(); try { PrintWriter out = new PrintWriter(socket.getOutputStream(), true); out.println(new Date().toString()); } finally { socket.close(); } } } finally { listener.close(); } } } O cliente [spoiler=DateClient.java] [spoiler=DateClient.java] package edu.lmu.cs.networking; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.Socket; import javax.swing.JOptionPane; /** * Trivial client for the date server. */ public class DateClient { /** * Runs the client as an application. First it displays a dialog * box asking for the IP address or hostname of a host running * the date server, then connects to it and displays the date that * it serves. */ public static void main(String[] args) throws IOException { String serverAddress = JOptionPane.showInputDialog( "Enter IP Address of a machine that is\n" + "running the date service on port 9090:"); Socket s = new Socket(serverAddress, 9090); BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream())); String answer = input.readLine(); JOptionPane.showMessageDialog(null, answer); System.exit(0); } } Um servidor de capitalização e cliente O Server [spoiler=CapitalizeServer.java] package edu.lmu.cs.networking; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; /** * A server program which accepts requests from clients to * capitalize strings. When clients connect, a new thread is * started to handle an interactive dialog in which the client * sends in a string and the server thread sends back the * capitalized version of the string. * * The program is runs in an infinite loop, so shutdown in platform * dependent. If you ran it from a console window with the "java" * interpreter, Ctrl+C generally will shut it down. */ public class CapitalizeServer { /** * Application method to run the server runs in an infinite loop * listening on port 9898. When a connection is requested, it * spawns a new thread to do the servicing and immediately returns * to listening. The server keeps a unique client number for each * client that connects just to show interesting logging * messages. It is certainly not necessary to do this. */ public static void main(String[] args) throws Exception { System.out.println("The capitalization server is running."); int clientNumber = 0; ServerSocket listener = new ServerSocket(9898); try { while (true) { new Capitalizer(listener.accept(), clientNumber++).start(); } } finally { listener.close(); } } /** * A private thread to handle capitalization requests on a particular * socket. The client terminates the dialogue by sending a single line * containing only a period. */ private static class Capitalizer extends Thread { private Socket socket; private int clientNumber; public Capitalizer(Socket socket, int clientNumber) { this.socket = socket; this.clientNumber = clientNumber; log("New connection with client# " + clientNumber + " at " + socket); } /** * Services this thread's client by first sending the * client a welcome message then repeatedly reading strings * and sending back the capitalized version of the string. */ public void run() { try { // Decorate the streams so we can send characters // and not just bytes. Ensure output is flushed // after every newline. BufferedReader in = new BufferedReader( new InputStreamReader(socket.getInputStream())); PrintWriter out = new PrintWriter(socket.getOutputStream(), true); // Send a welcome message to the client. out.println("Hello, you are client #" + clientNumber + "."); out.println("Enter a line with only a period to quit\n"); // Get messages from the client, line by line; return them // capitalized while (true) { String input = in.readLine(); if (input == null || input.equals(".")) { break; } out.println(input.toUpperCase()); } } catch (IOException e) { log("Error handling client# " + clientNumber + ": " + e); } finally { try { socket.close(); } catch (IOException e) { log("Couldn't close a socket, what's going on?"); } log("Connection with client# " + clientNumber + " closed"); } } /** * Logs a simple message. In this case we just write the * message to the server applications standard output. */ private void log(String message) { System.out.println(message); } } } O Cliente [spoiler=CapitalizeClient.java] package edu.lmu.cs.networking; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; /** * A simple Swing-based client for the capitalization server. * It has a main frame window with a text field for entering * strings and a textarea to see the results of capitalizing * them. */ public class CapitalizeClient { private BufferedReader in; private PrintWriter out; private JFrame frame = new JFrame("Capitalize Client"); private JTextField dataField = new JTextField(40); private JTextArea messageArea = new JTextArea(8, 60); /** * Constructs the client by laying out the GUI and registering a * listener with the textfield so that pressing Enter in the * listener sends the textfield contents to the server. */ public CapitalizeClient() { // Layout GUI messageArea.setEditable(false); frame.getContentPane().add(dataField, "North"); frame.getContentPane().add(new JScrollPane(messageArea), "Center"); // Add Listeners dataField.addActionListener(new ActionListener() { /** * Responds to pressing the enter key in the textfield * by sending the contents of the text field to the * server and displaying the response from the server * in the text area. If the response is "." we exit * the whole application, which closes all sockets, * streams and windows. */ public void actionPerformed(ActionEvent e) { out.println(dataField.getText()); String response; try { response = in.readLine(); if (response == null || response.equals("")) { System.exit(0); } } catch (IOException ex) { response = "Error: " + ex; } messageArea.append(response + "\n"); dataField.selectAll(); } }); } /** * Implements the connection logic by prompting the end user for * the server's IP address, connecting, setting up streams, and * consuming the welcome messages from the server. The Capitalizer * protocol says that the server sends three lines of text to the * client immediately after establishing a connection. */ public void connectToServer() throws IOException { // Get the server address from a dialog box. String serverAddress = JOptionPane.showInputDialog( frame, "Enter IP Address of the Server:", "Welcome to the Capitalization Program", JOptionPane.QUESTION_MESSAGE); // Make connection and initialize streams Socket socket = new Socket(serverAddress, 9898); in = new BufferedReader( new InputStreamReader(socket.getInputStream())); out = new PrintWriter(socket.getOutputStream(), true); // Consume the initial welcoming messages from the server for (int i = 0; i < 3; i++) { messageArea.append(in.readLine() + "\n"); } } /** * Runs the client application. */ public static void main(String[] args) throws Exception { CapitalizeClient client = new CapitalizeClient(); client.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); client.frame.pack(); client.frame.setVisible(true); client.connectToServer(); } } Um jogo da velha de dois jogadores O Server [spoiler=TicTacToeServer.java] package edu.lmu.cs.networking; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; /** * A server for a network multi-player tic tac toe game. Modified and * extended from the class presented in Deitel and Deitel "Java How to * Program" book. I made a bunch of enhancements and rewrote large sections * of the code. The main change is instead of passing *data* between the * client and server, I made a TTTP (tic tac toe protocol) which is totally * plain text, so you can test the game with Telnet (always a good idea.) * The strings that are sent in TTTP are: * * Client -> Server Server -> Client * ---------------- ---------------- * MOVE <n> (0 <= n <= 8) WELCOME <char> (char in {X, O}) * QUIT VALID_MOVE * OTHER_PLAYER_MOVED <n> * VICTORY * DEFEAT * TIE * MESSAGE <text> * * A second change is that it allows an unlimited number of pairs of * players to play. */ public class TicTacToeServer { /** * Runs the application. Pairs up clients that connect. */ public static void main(String[] args) throws Exception { ServerSocket listener = new ServerSocket(8901); System.out.println("Tic Tac Toe Server is Running"); try { while (true) { Game game = new Game(); Game.Player playerX = game.new Player(listener.accept(), 'X'); Game.Player playerO = game.new Player(listener.accept(), 'O'); playerX.setOpponent(playerO); playerO.setOpponent(playerX); game.currentPlayer = playerX; playerX.start(); playerO.start(); } } finally { listener.close(); } } } /** * A two-player game. */ class Game { /** * A board has nine squares. Each square is either unowned or * it is owned by a player. So we use a simple array of player * references. If null, the corresponding square is unowned, * otherwise the array cell stores a reference to the player that * owns it. */ private Player[] board = { null, null, null, null, null, null, null, null, null}; /** * The current player. */ Player currentPlayer; /** * Returns whether the current state of the board is such that one * of the players is a winner. */ public boolean hasWinner() { return (board[0] != null && board[0] == board[1] && board[0] == board[2]) ||(board[3] != null && board[3] == board[4] && board[3] == board[5]) ||(board[6] != null && board[6] == board[7] && board[6] == board[8]) ||(board[0] != null && board[0] == board[3] && board[0] == board[6]) ||(board[1] != null && board[1] == board[4] && board[1] == board[7]) ||(board[2] != null && board[2] == board[5] && board[2] == board[8]) ||(board[0] != null && board[0] == board[4] && board[0] == board[8]) ||(board[2] != null && board[2] == board[4] && board[2] == board[6]); } /** * Returns whether there are no more empty squares. */ public boolean boardFilledUp() { for (int i = 0; i < board.length; i++) { if (board[i] == null) { return false; } } return true; } /** * Called by the player threads when a player tries to make a * move. This method checks to see if the move is legal: that * is, the player requesting the move must be the current player * and the square in which she is trying to move must not already * be occupied. If the move is legal the game state is updated * (the square is set and the next player becomes current) and * the other player is notified of the move so it can update its * client. */ public synchronized boolean legalMove(int location, Player player) { if (player == currentPlayer && board[location] == null) { board[location] = currentPlayer; currentPlayer = currentPlayer.opponent; currentPlayer.otherPlayerMoved(location); return true; } return false; } /** * The class for the helper threads in this multithreaded server * application. A Player is identified by a character mark * which is either 'X' or 'O'. For communication with the * client the player has a socket with its input and output * streams. Since only text is being communicated we use a * reader and a writer. */ class Player extends Thread { char mark; Player opponent; Socket socket; BufferedReader input; PrintWriter output; /** * Constructs a handler thread for a given socket and mark * initializes the stream fields, displays the first two * welcoming messages. */ public Player(Socket socket, char mark) { this.socket = socket; this.mark = mark; try { input = new BufferedReader( new InputStreamReader(socket.getInputStream())); output = new PrintWriter(socket.getOutputStream(), true); output.println("WELCOME " + mark); output.println("MESSAGE Waiting for opponent to connect"); } catch (IOException e) { System.out.println("Player died: " + e); } } /** * Accepts notification of who the opponent is. */ public void setOpponent(Player opponent) { this.opponent = opponent; } /** * Handles the otherPlayerMoved message. */ public void otherPlayerMoved(int location) { output.println("OPPONENT_MOVED " + location); output.println( hasWinner() ? "DEFEAT" : boardFilledUp() ? "TIE" : ""); } /** * The run method of this thread. */ public void run() { try { // The thread is only started after everyone connects. output.println("MESSAGE All players connected"); // Tell the first player that it is her turn. if (mark == 'X') { output.println("MESSAGE Your move"); } // Repeatedly get commands from the client and process them. while (true) { String command = input.readLine(); if (command.startsWith("MOVE")) { int location = Integer.parseInt(command.substring(5)); if (legalMove(location, this)) { output.println("VALID_MOVE"); output.println(hasWinner() ? "VICTORY" : boardFilledUp() ? "TIE" : ""); } else { output.println("MESSAGE ?"); } } else if (command.startsWith("QUIT")) { return; } } } catch (IOException e) { System.out.println("Player died: " + e); } finally { try {socket.close();} catch (IOException e) {} } } } } O Cliente [spoiler=TicTacToeClient.java] package edu.lmu.cs.networking; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; /** * A client for the TicTacToe game, modified and extended from the * class presented in Deitel and Deitel "Java How to Program" book. * I made a bunch of enhancements and rewrote large sections of the * code. In particular I created the TTTP (Tic Tac Toe Protocol) * which is entirely text based. Here are the strings that are sent: * * Client -> Server Server -> Client * ---------------- ---------------- * MOVE <n> (0 <= n <= 8) WELCOME <char> (char in {X, O}) * QUIT VALID_MOVE * OTHER_PLAYER_MOVED <n> * VICTORY * DEFEAT * TIE * MESSAGE <text> * */ public class TicTacToeClient { private JFrame frame = new JFrame("Tic Tac Toe"); private JLabel messageLabel = new JLabel(""); private ImageIcon icon; private ImageIcon opponentIcon; private Square[] board = new Square[9]; private Square currentSquare; private static int PORT = 8901; private Socket socket; private BufferedReader in; private PrintWriter out; /** * Constructs the client by connecting to a server, laying out the * GUI and registering GUI listeners. */ public TicTacToeClient(String serverAddress) throws Exception { // Setup networking socket = new Socket(serverAddress, PORT); in = new BufferedReader(new InputStreamReader( socket.getInputStream())); out = new PrintWriter(socket.getOutputStream(), true); // Layout GUI messageLabel.setBackground(Color.lightGray); frame.getContentPane().add(messageLabel, "South"); JPanel boardPanel = new JPanel(); boardPanel.setBackground(Color.black); boardPanel.setLayout(new GridLayout(3, 3, 2, 2)); for (int i = 0; i < board.length; i++) { final int j = i; board[i] = new Square(); board[i].addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { currentSquare = board[j]; out.println("MOVE " + j);}}); boardPanel.add(board[i]); } frame.getContentPane().add(boardPanel, "Center"); } /** * The main thread of the client will listen for messages * from the server. The first message will be a "WELCOME" * message in which we receive our mark. Then we go into a * loop listening for "VALID_MOVE", "OPPONENT_MOVED", "VICTORY", * "DEFEAT", "TIE", "OPPONENT_QUIT or "MESSAGE" messages, * and handling each message appropriately. The "VICTORY", * "DEFEAT" and "TIE" ask the user whether or not to play * another game. If the answer is no, the loop is exited and * the server is sent a "QUIT" message. If an OPPONENT_QUIT * message is recevied then the loop will exit and the server * will be sent a "QUIT" message also. */ public void play() throws Exception { String response; try { response = in.readLine(); if (response.startsWith("WELCOME")) { char mark = response.charAt(8); icon = new ImageIcon(mark == 'X' ? "x.gif" : "o.gif"); opponentIcon = new ImageIcon(mark == 'X' ? "o.gif" : "x.gif"); frame.setTitle("Tic Tac Toe - Player " + mark); } while (true) { response = in.readLine(); if (response.startsWith("VALID_MOVE")) { messageLabel.setText("Valid move, please wait"); currentSquare.setIcon(icon); currentSquare.repaint(); } else if (response.startsWith("OPPONENT_MOVED")) { int loc = Integer.parseInt(response.substring(15)); board[loc].setIcon(opponentIcon); board[loc].repaint(); messageLabel.setText("Opponent moved, your turn"); } else if (response.startsWith("VICTORY")) { messageLabel.setText("You win"); break; } else if (response.startsWith("DEFEAT")) { messageLabel.setText("You lose"); break; } else if (response.startsWith("TIE")) { messageLabel.setText("You tied"); break; } else if (response.startsWith("MESSAGE")) { messageLabel.setText(response.substring(8)); } } out.println("QUIT"); } finally { socket.close(); } } private boolean wantsToPlayAgain() { int response = JOptionPane.showConfirmDialog(frame, "Want to play again?", "Tic Tac Toe is Fun Fun Fun", JOptionPane.YES_NO_OPTION); frame.dispose(); return response == JOptionPane.YES_OPTION; } /** * Graphical square in the client window. Each square is * a white panel containing. A client calls setIcon() to fill * it with an Icon, presumably an X or O. */ static class Square extends JPanel { JLabel label = new JLabel((Icon)null); public Square() { setBackground(Color.white); add(label); } public void setIcon(Icon icon) { label.setIcon(icon); } } /** * Runs the client as an application. */ public static void main(String[] args) throws Exception { while (true) { String serverAddress = (args.length == 0) ? "localhost" : args[1]; TicTacToeClient client = new TicTacToeClient(serverAddress); client.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); client.frame.setSize(240, 160); client.frame.setVisible(true); client.frame.setResizable(false); client.play(); if (!client.wantsToPlayAgain()) { break; } } } } Um aplicativo de bate-papo para vários usuários O Server [spoiler=ChatServer.java] package edu.lmu.cs.networking; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.HashSet; /** * A multithreaded chat room server. When a client connects the * server requests a screen name by sending the client the * text "SUBMITNAME", and keeps requesting a name until * a unique one is received. After a client submits a unique * name, the server acknowledges with "NAMEACCEPTED". Then * all messages from that client will be broadcast to all other * clients that have submitted a unique screen name. The * broadcast messages are prefixed with "MESSAGE ". * * Because this is just a teaching example to illustrate a simple * chat server, there are a few features that have been left out. * Two are very useful and belong in production code: * * 1. The protocol should be enhanced so that the client can * send clean disconnect messages to the server. * * 2. The server should do some logging. */ public class ChatServer { /** * The port that the server listens on. */ private static final int PORT = 9001; /** * The set of all names of clients in the chat room. Maintained * so that we can check that new clients are not registering name * already in use. */ private static HashSet<String> names = new HashSet<String>(); /** * The set of all the print writers for all the clients. This * set is kept so we can easily broadcast messages. */ private static HashSet<PrintWriter> writers = new HashSet<PrintWriter>(); /** * The appplication main method, which just listens on a port and * spawns handler threads. */ public static void main(String[] args) throws Exception { System.out.println("The chat server is running."); ServerSocket listener = new ServerSocket(PORT); try { while (true) { new Handler(listener.accept()).start(); } } finally { listener.close(); } } /** * A handler thread class. Handlers are spawned from the listening * loop and are responsible for a dealing with a single client * and broadcasting its messages. */ private static class Handler extends Thread { private String name; private Socket socket; private BufferedReader in; private PrintWriter out; /** * Constructs a handler thread, squirreling away the socket. * All the interesting work is done in the run method. */ public Handler(Socket socket) { this.socket = socket; } /** * Services this thread's client by repeatedly requesting a * screen name until a unique one has been submitted, then * acknowledges the name and registers the output stream for * the client in a global set, then repeatedly gets inputs and * broadcasts them. */ public void run() { try { // Create character streams for the socket. in = new BufferedReader(new InputStreamReader( socket.getInputStream())); out = new PrintWriter(socket.getOutputStream(), true); // Request a name from this client. Keep requesting until // a name is submitted that is not already used. Note that // checking for the existence of a name and adding the name // must be done while locking the set of names. while (true) { out.println("SUBMITNAME"); name = in.readLine(); if (name == null) { return; } synchronized (names) { if (!names.contains(name)) { names.add(name); break; } } } // Now that a successful name has been chosen, add the // socket's print writer to the set of all writers so // this client can receive broadcast messages. out.println("NAMEACCEPTED"); writers.add(out); // Accept messages from this client and broadcast them. // Ignore other clients that cannot be broadcasted to. while (true) { String input = in.readLine(); if (input == null) { return; } for (PrintWriter writer : writers) { writer.println("MESSAGE " + name + ": " + input); } } } catch (IOException e) { System.out.println(e); } finally { // This client is going down! Remove its name and its print // writer from the sets, and close its socket. if (name != null) { names.remove(name); } if (out != null) { writers.remove(out); } try { socket.close(); } catch (IOException e) { } } } } } O Cliente [spoiler=ChatClient.java] package edu.lmu.cs.networking; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; /** * A simple Swing-based client for the chat server. Graphically * it is a frame with a text field for entering messages and a * textarea to see the whole dialog. * * The client follows the Chat Protocol which is as follows. * When the server sends "SUBMITNAME" the client replies with the * desired screen name. The server will keep sending "SUBMITNAME" * requests as long as the client submits screen names that are * already in use. When the server sends a line beginning * with "NAMEACCEPTED" the client is now allowed to start * sending the server arbitrary strings to be broadcast to all * chatters connected to the server. When the server sends a * line beginning with "MESSAGE " then all characters following * this string should be displayed in its message area. */ public class ChatClient { BufferedReader in; PrintWriter out; JFrame frame = new JFrame("Chatter"); JTextField textField = new JTextField(40); JTextArea messageArea = new JTextArea(8, 40); /** * Constructs the client by laying out the GUI and registering a * listener with the textfield so that pressing Return in the * listener sends the textfield contents to the server. Note * however that the textfield is initially NOT editable, and * only becomes editable AFTER the client receives the NAMEACCEPTED * message from the server. */ public ChatClient() { // Layout GUI textField.setEditable(false); messageArea.setEditable(false); frame.getContentPane().add(textField, "North"); frame.getContentPane().add(new JScrollPane(messageArea), "Center"); frame.pack(); // Add Listeners textField.addActionListener(new ActionListener() { /** * Responds to pressing the enter key in the textfield by sending * the contents of the text field to the server. Then clear * the text area in preparation for the next message. */ public void actionPerformed(ActionEvent e) { out.println(textField.getText()); textField.setText(""); } }); } /** * Prompt for and return the address of the server. */ private String getServerAddress() { return JOptionPane.showInputDialog( frame, "Enter IP Address of the Server:", "Welcome to the Chatter", JOptionPane.QUESTION_MESSAGE); } /** * Prompt for and return the desired screen name. */ private String getName() { return JOptionPane.showInputDialog( frame, "Choose a screen name:", "Screen name selection", JOptionPane.PLAIN_MESSAGE); } /** * Connects to the server then enters the processing loop. */ private void run() throws IOException { // Make connection and initialize streams String serverAddress = getServerAddress(); Socket socket = new Socket(serverAddress, 9001); in = new BufferedReader(new InputStreamReader( socket.getInputStream())); out = new PrintWriter(socket.getOutputStream(), true); // Process all messages from server, according to the protocol. while (true) { String line = in.readLine(); if (line.startsWith("SUBMITNAME")) { out.println(getName()); } else if (line.startsWith("NAMEACCEPTED")) { textField.setEditable(true); } else if (line.startsWith("MESSAGE")) { messageArea.append(line.substring(8) + "\n"); } } } /** * Runs the client as an application with a closeable frame. */ public static void main(String[] args) throws Exception { ChatClient client = new ChatClient(); client.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); client.frame.setVisible(true); client.run(); } } Fonte: http://cs.lmu.edu/~ray/notes/javanetexamples/
  24. Pessoal trabalho com WebDesigner e sou fã de wyd desde pequeno. Estou a procura de alguém que tenha um server pra que juntos possamos desenvolver um site para o server e melhorar cada vez mais nosso tão estimado with Your Destiny
  25. [/url] [/url] [/url] O Arda Project é um servidor com uma proposta ousada: Trazer o recomeço da história! De uma maneira inovadora, estamos construindo um servidor hard e que desejamos um número alto de jogadores. Na versão 7.55, o Arda contará com uma equipe competente, experiente e principalmente ética e transparente com todos os jogadores. Além disso, garantimos uma experiência de um servidor que não será Pay2Win (Pagar para ganhar) e livre de hacks. O Arda possui uma dinâmica estratégica, em que todos os sistemas são planejados de forma criteriosa, além de serem avaliados todos os riscos possíveis, deixando um PvP equilibrado. Os sistemas originais também foram repensados, podendo assim oferecermos uma melhor experiência no jogo. Teremos eventos periódicos exclusivos, permitindo a todos os jogadores conseguirem uma ascensão no jogo de forma justa. Para nós da equipe Arda, não há nada mais gratificante e principalmente eficaz do que conhecer o feedback de nossos jogadores. Sendo assim, para que possamos estar sempre crescendo a qualidade de nosso servidor, entrem em contato com a gente pela página do Facebook já disponibilizada acima, estamos abertos a qualquer tipo de crítica construtiva ou sugestão. O Arda é um projeto planejado com dedicação e que está sendo desenvolvido diariamente com muito empenho. Até o presente momento, não temos data para lançamento. Contudo, peço para ficarem atentos a nossa Fanpage, que será nosso canal de comunicação principal durante todo esse processo de projeto. O presente tópico também será periodicamente atualizado.
×
×
  • Create New...