Allan McGregor – Pulled off an excellent first-half stop and was left exposed for the equaliser. Beaten by five excellent penalties in the shoot-out. 7
James Tavernier – Delivery was not at its usual standard and could not get into the type of positions that helped him become Europa League top goalscorer. Lost possession a few times in the first half but improved after the interval. 6
Connor Goldson – Fortunate not to concede a penalty and gifted the Germans a chance to equalise before they did, when he failed to cut out the cross. 5
Manx Grand Prix: Michael Dunlop gears up for Classic Superbike victory bid on new Team Classic Suzuki GSX-R750
Paul Doolin's focus shift from firefighting to foundations
‘Remember the sabbath day...’: Northern Ireland’s biggest Protestant church voices worries over Sunday football as Linfield gets ready to clash with Portadown
Organisers hope returning Mid-Antrim 150 will become permanent fixture on Irish road racing calendar again
James Singleton soaking up every minute of Glentoran life
Calvin Bassey – The centre-back produced a series of strong and well-timed challenges and made a great recovery after a tired slip in extra-time. A brilliant display in general but he was beaten to the low cross as Rafael Borre knocked home. 8
Borna Barisic – Looked hesitant early on and McGregor came to his rescue after he backed off Ansgar Knauff. Settled down and forced a save in extra-time before going off injured. 6
John Lundstram – Would have been relieved to escape a card after a high boot left his opponent with a head wound. Dropped into a back three for a spell before pushing forward. 6
Ryan Jack – Brought some much-needed composure to Rangers’ play as Frankfurt dominated the opening quarter. 6
Glen Kamara – Some nice touches without imposing himself on the game. 6
Scott Wright – Produced a few positive moments on the ball and set up a chance for Joe Aribo. 6
Ryan Kent – Looked Rangers’ main threat in the first half but sliced badly wide from a chance early in the second. Close control always gave Frankfurt something to think about and found the energy to get into the six-yard box in the closing moments only to be denied by the goalkeeper. 7
Joe Aribo – The makeshift centre-forward came close with a first-half curler but balls forward were not sticking to him. However, he kept his nerve to slot the opener after being gifted a one-on-one. 6
Steven Davis (for Jack, 74) – The veteran of the 2008 UEFA Cup final gave Rangers more assurance in possession and was denied a dream winner by a goalmouth clearance.
Fashion Sakala (for Wright, 74) – Took time to find his touch before posing a threat with his pace down the right wing.
Scott Arfield (for Kamara, 90) – Came close from long range just after coming on and helped Gers get on top in extra-time.
James Sands (for Aribo, 101) – A surprise introduction, he slotted into the back three.
Kemar Roofe (for Barisic, 117) – Out for a month with a knee injury, he almost made the difference when he set up a brilliant chance for Kent with a good run and cross. Netted his penalty.
Aaron Ramsey (for Sakala, 117) – Surprisingly left on the bench until the dying stages. Presumably brought on to take a penalty but saw his central effort saved by the goalkeeper’s foot.