Pokémon Script Project Forum Index

Manuel | Search
 Information des admins 
Si vous désirez parler de PSP ou obtenir du soutient là dessus, merci d'aller faire un tour sur https://pokemonworkshop.com/forum/index.php Imbécile heureux

Echanges en temps réel v2.1
Goto page: <  1, 2, 3, 4, 5  >
 
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Scripts
Previous topic :: Next topic   
Author Message
Fudo Fuyouki
Membre


Joined: 25 Feb 2012
Posts: 51

PostPosted: Tue 25 Dec - 16:50 (2012)    Post subject: Echanges en temps réel v2.1

Maxime wrote:
Bonjour, pourriez-vous réuploader le fichier svp.
Merci d'avance.
(désoler pour le nécro-post)


ça m'interesse aussi, si quelqu'un les possede
Back to top
Publicité






PostPosted: Tue 25 Dec - 16:50 (2012)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
remy35
Membre


Joined: 23 Apr 2013
Posts: 11

PostPosted: Tue 30 Apr - 12:39 (2013)    Post subject: Echanges en temps réel v2.1

quelqu'un peut réuploader le fichier sur un truc gratuit
Back to top
Deltamir
Membre


Joined: 07 Apr 2013
Posts: 6

PostPosted: Sat 11 May - 12:47 (2013)    Post subject: Echanges en temps réel v2.1

Fudo Fuyouki wrote:
Maxime wrote:
Bonjour, pourriez-vous réuploader le fichier svp.
Merci d'avance.
(désoler pour le nécro-post)


ça m'interesse aussi, si quelqu'un les possede


Je suis également intéressé !
Back to top
Arno00
Membre


Joined: 13 Apr 2013
Posts: 7
Localisation: Bruxelles

PostPosted: Sat 1 Jun - 18:45 (2013)    Post subject: Echanges en temps réel v2.1

Pareil, plus aucun lien de ne fonctionne :(
Back to top
Visit poster’s website Facebook
Otruch
Membre


Joined: 14 Jul 2013
Posts: 32

PostPosted: Wed 17 Jul - 13:39 (2013)    Post subject: Echanges en temps réel v2.1

Pour index.php et l'archive de ressources, ça m'envoie à une page free avec ce message d'erreur :

Erreur 403 - Refus de traitement de la requête (Interdit - Forbidden)



Le serveur a compris la requête, mais refuse de la satisfaire.

Une démarche d'authentification n'y fera rien et cette requête ne doit pas être renouvelée. Si la méthode invoquée est différente de HEAD et le serveur souhaite rendre public la raison pour laquelle il refuse le traitement, il le fera dans l'entité liée à cette réponse. Ce code d'état est souvent utilisé lorsque le serveur ne souhaite pas s'étendre sur les raisons pour lesquelles il refuse un accès, ou parce que c'est la seule réponse qui convienne.

Vous tentez d'accéder à une ressource qui vous est interdite.
Il se peut que le compte concerné soit suspendu (Cf. Console de Gestion)

le lien n'existe plus?
Back to top
Sphinx
Scribe
Scribe


Joined: 07 Jan 2008
Posts: 9,736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

PostPosted: Wed 17 Jul - 21:08 (2013)    Post subject: Echanges en temps réel v2.1

Nop en effet :/ Mon système n'est pas assez blindé, et un essai sur un projet grand public d'il y a maintenant quelques mois (années ?) a conduit à la suspension de mon hébergement pendant 24h ^^" Depuis, j'ai verrouillé cette partie de mon hébergement. Mon système est vulnérable à une attaque des plus basiques et évidentes, j'ignore comment j'ai pas pu prévoir ca :/

Faudrait que je reprenne mon système, mais j'ai plus le temps pour :/
Back to top
Otruch
Membre


Joined: 14 Jul 2013
Posts: 32

PostPosted: Wed 17 Jul - 21:39 (2013)    Post subject: Echanges en temps réel v2.1

ah dommage, j'aurai bien aimé intégrer ce script, et le modifier un peu pour qu'on puisse mettre le lien du serveur sur un fichier texte, histoire qu'il y ait une solution à un éventuel changement de nom de domaine.
Back to top
Sphinx
Scribe
Scribe


Joined: 07 Jan 2008
Posts: 9,736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

PostPosted: Wed 17 Jul - 22:39 (2013)    Post subject: Echanges en temps réel v2.1

Tiens, si tu veux voir comment le modifier pour le blinder un peu : http://www.sendspace.com/file/fqt9qa


^^" C'est fonctionnel en l'état, mais je déconseille vivement l'utilisation normale sans installation d'une protection adéquate (tout l'aspect sécurité a été plus que négligé, ca peut entrainer une attaque ayant pour but de surcharger / neutraliser l'hébergement !)
Back to top
Otruch
Membre


Joined: 14 Jul 2013
Posts: 32

PostPosted: Wed 17 Jul - 22:54 (2013)    Post subject: Echanges en temps réel v2.1

merci ! je verrai par la suite comment mieux le sécuriser, mais c'est pas mon point fort la sécurité ^^
Back to top
Nuri Yuri
Team SDK


Joined: 15 Oct 2008
Posts: 6,383
~Entity~
Localisation: Nancy
Non renseigné (Visible...)
ID Steam: Nuri_Yuri

PostPosted: Wed 17 Jul - 22:58 (2013)    Post subject: Echanges en temps réel v2.1

Le problème réside aussi dans le fait que le stockage se fait sur le disque dur et non dans la mémoire vive... Il faut par ailleurs un limite max de joueurs :b (Ce que j'ai prévu pour le serveur que j'ai intégralement codé en ruby :b)
Code:
# encoding : utf-8
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
$VERBOSE = nil
$LOAD_PATH.push(".")
begin
  require "OnlinePacket"
  sleep 0.001
  require "socket"
  require "Client"
  sleep 0.001
  require "ConsoleColor"
  require "Ini_File"
  sleep 0.001
  require "Configs"
rescue ScriptError, StandardError
  print($!)
  system("pause")
end
system("@Echo off")
Windows::set_console_title("Pok\x82mon Gemme Server by Nyagato Nyuky")
begin
  Configs.init()
  $Server=TCPServer.new("",Configs.port)
  print_color("\e\x02Le serveur a été lancé\e\x07.\n")
  Thread.new do
    loop do
      Thread.new($Server.accept) do |c|
        cc=Client.new(c)
        $Clients_cnt+=1
        0 while cc.update()
        $Clients_cnt-=1
        ps=$Clients.index(cc)
        $Clients[ps]=nil if ps
        print_color("\e\x07[Info] \e\x01Deconnection de #{cc.DO.force_encoding("UTF-8")}:#{cc.ID},#{cc.ip}:#{cc.port}\n\e\x07")
        cc.roomlist_delete
      end
    end
  end
  while(c=gets.chomp)
    Configs.command(c)
  end
rescue Exception => e
  print($!,"\n",$!.backtrace.join("\n"),"\n") unless $!.message=="exit"
  system("pause")
end

Code:
# encoding : utf-8
#>Globales
  $Clients=Array.new
  $Clients_cnt=0
  Dir.mkdir("Config") unless File.exist?("Config")
  Dir.mkdir("Clients") unless File.exist?("Clients")
#>Fin
class Client
  #>Constantes
  Connect=Yuki::OnlinePacket::Connect
  Info=Yuki::OnlinePacket::Info
  Data=Yuki::OnlinePacket::Data
  Kick=Yuki::OnlinePacket::Kick
 
 
  Kick_Invalid_Packet="\x04Paquets invalides."
  Kick_Hack_DO_ID="\x04L'une des informations ne correspond pas. (Hack?)"
  Kick_FC_Unprecised="\x04Vous n'avez pas précisé le code ami de ce compte."
  Kick_FC_Unmaching="\x04Le code Ami ne correspond pas à celui du compte."
  Kick_Hack_Acc="\x04Ce compte n'existe pas."
  Kick_Close="\x04Serveur fermé."
  Kick_Full="\x04Le serveur est plein."
  Kick_Connected="\x04Vous êtes déjà connecté"
 
  Kick_ModeBattle="\x04Le serveur a spécifié qu'il n'acceptait pas les combats."
  Kick_ModeTrade="\x04Le serveur a spécifié qu'il n'acceptais pas les échanges."
 
  Kick_Au_Banned="\x04Vous êtes banni du serveur."
  Kick_Au_WhiteList="\x04Vous ne figurez pas dans la WhiteList."
 
  @@RoomList=Array.new #Liste des joueurs
  attr_reader :ip,:port,:DO,:ID,:FC,:mode,:self,:inst,:choice
  #>Methodes
  def initialize(socket)
    @socket=socket
    if($Clients_cnt>=Configs.max_player)
      return kick(Kick_Full)
    end
   #[...]
Enfin, c'est problématique quand on veut faire une machine dédiée... Donc il faut utiliser la bdd mysql du serveur pour que l'hébergeur ne nous embête pas et coder un moyen de savoir combien il y a de joueurs et avoir un système de comptes.
Back to top
Facebook Twitter
Otruch
Membre


Joined: 14 Jul 2013
Posts: 32

PostPosted: Wed 17 Jul - 23:28 (2013)    Post subject: Echanges en temps réel v2.1

Avec des socket c'est toujours mieux ! Oui, enregistrer en dur est un problème. D'autant plus que tous les hébergeurs ne fournissent pas de base de données. Bon après, une simple requête count pourrait pallier le problème du nombre d'utilisateurs en ligne, si accès à une base de données.
Back to top
Sphinx
Scribe
Scribe


Joined: 07 Jan 2008
Posts: 9,736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

PostPosted: Wed 17 Jul - 23:33 (2013)    Post subject: Echanges en temps réel v2.1

^^ Une table SQL avec timestamp & requête SQL "DELETE FROM `table` WHERE NOW() - `timestamp` > 120 seconds" avant toute autre requête (répétée à chaque étape de l'échange)

C'est pas le plus propre, mais c'est le plus simple pour protéger le serveur d'attaques du genre de celle que j'ai subi

PS : le système est concu pour s'adapter sur une majorité des hébergements gratuits (proposant le plus souvent du PHP & une base MySQL) donc exit les sockets en ruby et toute autre technologie dédiée pour moi :p
Back to top
Otruch
Membre


Joined: 14 Jul 2013
Posts: 32

PostPosted: Wed 17 Jul - 23:43 (2013)    Post subject: Echanges en temps réel v2.1

ah oui pas bête. tu arriverais à uploader l'archive avec l'audio et les graphiques? ou c'est trop lourd et je me débrouille autrement?

EDIT : les socket c'est pas que client/serveur, on pourrait immaginer un cable link, des jeux qui communiquent entre eux depuis l'IP de leur propre machine, m'enfin me demandez pas de le faire ^^

EDIT 2 : m'enfin si il faudrait quand même une "machine directrice", mais je vois les choses comme ça : dans un câble link, ils devraient assigner qui est le player 1 et qui est le player 2 selon le côté branché au port. Le player 1 génère donc le serveur. On pourrait facilement faire un échange et pourquoi pas un battle PVP entre 2 machines distantes sans avoir à s'occuper d'un serveur maître. Cela réglerait quelques soucis aussi bien pour la sécurité que pour le nombre de requêtes assignés au serveur du au nombre de joueurs connectés. Après pour le battle PVP, je sais pas si en ruby il y a les paquets, avec la surcharge des paquets comme dans SFML de C++, qui simplifierait les choses au lieu de jouer avec les flux d'octets...
Back to top
Sphinx
Scribe
Scribe


Joined: 07 Jan 2008
Posts: 9,736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

PostPosted: Thu 25 Jul - 21:45 (2013)    Post subject: Echanges en temps réel v2.1

Voici le fichier index.php : http://www.sendspace.com/file/fqt9qa
Voici le pack de ressources : http://www.sendspace.com/file/nx254l
Back to top
Fudo Fuyouki
Membre


Joined: 25 Feb 2012
Posts: 51

PostPosted: Fri 26 Jul - 00:29 (2013)    Post subject: Echanges en temps réel v2.1

Sphinx wrote:
Voici le fichier index.php : http://www.sendspace.com/file/fqt9qa
Voici le pack de ressources : http://www.sendspace.com/file/nx254l


Merci beaucoup Sphinx! :D
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Scripts All times are GMT + 1 Hour
Goto page: <  1, 2, 3, 4, 5  >
Page 3 of 5

 
Jump to:  

Index | Free forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Thème par Thomas et l'équipe de la refonte PSP 2012 (version 1.0)